{
  "contractName": "WitPriceFeedsUpgradableV3",
  "abi": [
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "_witOracle",
          "type": "address"
        },
        {
          "internalType": "bytes32",
          "name": "_versionTag",
          "type": "bytes32"
        },
        {
          "internalType": "bool",
          "name": "_upgradable",
          "type": "bool"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "constructor"
    },
    {
      "inputs": [],
      "name": "DeviantPrice",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "HotPrice",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "index",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "range",
          "type": "uint256"
        }
      ],
      "name": "IndexOutOfBounds",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "InvalidArgument",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "InvalidGovernanceTarget",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "InvalidInitialization",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "length",
          "type": "uint256"
        }
      ],
      "name": "InvalidLengthEncoding",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "InvalidUpdateData",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "InvalidUpdateDataSource",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "NoFreshUpdate",
      "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": "PriceFeedNotFound",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "PriceFeedNotFoundWithinRange",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "StalePrice",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "read",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "expected",
          "type": "uint256"
        }
      ],
      "name": "UnexpectedMajorType",
      "type": "error"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "by",
          "type": "address"
        },
        {
          "indexed": true,
          "internalType": "address",
          "name": "master",
          "type": "address"
        },
        {
          "indexed": true,
          "internalType": "address",
          "name": "clone",
          "type": "address"
        }
      ],
      "name": "Cloned",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "uint64",
          "name": "version",
          "type": "uint64"
        }
      ],
      "name": "Initialized",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "previousOwner",
          "type": "address"
        },
        {
          "indexed": true,
          "internalType": "address",
          "name": "newOwner",
          "type": "address"
        }
      ],
      "name": "OwnershipTransferStarted",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "previousOwner",
          "type": "address"
        },
        {
          "indexed": true,
          "internalType": "address",
          "name": "newOwner",
          "type": "address"
        }
      ],
      "name": "OwnershipTransferred",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "from",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "IWitPriceFeedsTypes.ID4",
          "name": "id4",
          "type": "bytes4"
        },
        {
          "indexed": false,
          "internalType": "string",
          "name": "caption",
          "type": "string"
        },
        {
          "indexed": false,
          "internalType": "int8",
          "name": "exponent",
          "type": "int8"
        },
        {
          "indexed": false,
          "internalType": "enum IWitPriceFeedsTypes.Mappers",
          "name": "mapper",
          "type": "uint8"
        },
        {
          "indexed": false,
          "internalType": "string[]",
          "name": "dependencies",
          "type": "string[]"
        }
      ],
      "name": "PriceFeedMapper",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "from",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "IWitPriceFeedsTypes.ID4",
          "name": "id4",
          "type": "bytes4"
        },
        {
          "indexed": false,
          "internalType": "string",
          "name": "caption",
          "type": "string"
        },
        {
          "indexed": false,
          "internalType": "int8",
          "name": "exponent",
          "type": "int8"
        },
        {
          "indexed": false,
          "internalType": "enum IWitPriceFeedsTypes.Oracles",
          "name": "oracle",
          "type": "uint8"
        },
        {
          "indexed": false,
          "internalType": "address",
          "name": "oracleAddress",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "bytes32",
          "name": "oracleSources",
          "type": "bytes32"
        }
      ],
      "name": "PriceFeedOracle",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "from",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "IWitPriceFeedsTypes.ID4",
          "name": "id4",
          "type": "bytes4"
        },
        {
          "indexed": false,
          "internalType": "string",
          "name": "caption",
          "type": "string"
        }
      ],
      "name": "PriceFeedRemoved",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "IWitPriceFeedsTypes.ID4",
          "name": "ID4",
          "type": "bytes4"
        },
        {
          "indexed": false,
          "internalType": "Witnet.Timestamp",
          "name": "timestamp",
          "type": "uint64"
        },
        {
          "indexed": false,
          "internalType": "Witnet.TransactionHash",
          "name": "trail",
          "type": "bytes32"
        },
        {
          "indexed": false,
          "internalType": "uint64",
          "name": "price",
          "type": "uint64"
        },
        {
          "indexed": false,
          "internalType": "int56",
          "name": "deltaPrice",
          "type": "int56"
        },
        {
          "indexed": false,
          "internalType": "int8",
          "name": "exponent",
          "type": "int8"
        }
      ],
      "name": "PriceFeedUpdate",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "bytes32",
          "name": "id",
          "type": "bytes32"
        },
        {
          "indexed": false,
          "internalType": "uint64",
          "name": "publishTime",
          "type": "uint64"
        },
        {
          "indexed": false,
          "internalType": "int64",
          "name": "price",
          "type": "int64"
        },
        {
          "indexed": false,
          "internalType": "uint64",
          "name": "",
          "type": "uint64"
        }
      ],
      "name": "PriceFeedUpdate",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "from",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "IWitPriceFeedsTypes.ID4",
          "name": "id4",
          "type": "bytes4"
        },
        {
          "indexed": false,
          "internalType": "string",
          "name": "caption",
          "type": "string"
        },
        {
          "components": [
            {
              "internalType": "uint24",
              "name": "callbackGas",
              "type": "uint24"
            },
            {
              "internalType": "bool",
              "name": "computeEma",
              "type": "bool"
            },
            {
              "internalType": "uint24",
              "name": "cooldownSecs",
              "type": "uint24"
            },
            {
              "internalType": "uint24",
              "name": "heartbeatSecs",
              "type": "uint24"
            },
            {
              "internalType": "uint16",
              "name": "maxDeviation1000",
              "type": "uint16"
            },
            {
              "internalType": "uint16",
              "name": "minWitnesses",
              "type": "uint16"
            }
          ],
          "indexed": false,
          "internalType": "struct IWitPriceFeedsTypes.UpdateConditions",
          "name": "conditions",
          "type": "tuple"
        }
      ],
      "name": "PriceFeedUpdateConditions",
      "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"
    },
    {
      "stateMutability": "nonpayable",
      "type": "fallback"
    },
    {
      "inputs": [],
      "name": "acceptOwnership",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "_curator",
          "type": "address"
        }
      ],
      "name": "clone",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "codehash",
      "outputs": [
        {
          "internalType": "bytes32",
          "name": "_codehash",
          "type": "bytes32"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "consumer",
      "outputs": [
        {
          "internalType": "contract IWitPriceFeedsConsumer",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "string",
          "name": "symbol",
          "type": "string"
        }
      ],
      "name": "createChainlinkAggregator",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "defaultUpdateConditions",
      "outputs": [
        {
          "components": [
            {
              "internalType": "uint24",
              "name": "callbackGas",
              "type": "uint24"
            },
            {
              "internalType": "bool",
              "name": "computeEma",
              "type": "bool"
            },
            {
              "internalType": "uint24",
              "name": "cooldownSecs",
              "type": "uint24"
            },
            {
              "internalType": "uint24",
              "name": "heartbeatSecs",
              "type": "uint24"
            },
            {
              "internalType": "uint16",
              "name": "maxDeviation1000",
              "type": "uint16"
            },
            {
              "internalType": "uint16",
              "name": "minWitnesses",
              "type": "uint16"
            }
          ],
          "internalType": "struct IWitPriceFeedsTypes.UpdateConditions",
          "name": "",
          "type": "tuple"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "footprint",
      "outputs": [
        {
          "internalType": "bytes4",
          "name": "_footprint",
          "type": "bytes4"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "IWitPyth.ID",
          "name": "_id",
          "type": "bytes32"
        }
      ],
      "name": "getEmaPrice",
      "outputs": [
        {
          "components": [
            {
              "internalType": "int64",
              "name": "price",
              "type": "int64"
            },
            {
              "internalType": "uint64",
              "name": "conf",
              "type": "uint64"
            },
            {
              "internalType": "int32",
              "name": "expo",
              "type": "int32"
            },
            {
              "internalType": "uint256",
              "name": "publishTime",
              "type": "uint256"
            }
          ],
          "internalType": "struct IWitPyth.PythPrice",
          "name": "",
          "type": "tuple"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "IWitPyth.ID",
          "name": "_id",
          "type": "bytes32"
        },
        {
          "internalType": "uint64",
          "name": "_age",
          "type": "uint64"
        }
      ],
      "name": "getEmaPriceNotOlderThan",
      "outputs": [
        {
          "components": [
            {
              "internalType": "int64",
              "name": "price",
              "type": "int64"
            },
            {
              "internalType": "uint64",
              "name": "conf",
              "type": "uint64"
            },
            {
              "internalType": "int32",
              "name": "expo",
              "type": "int32"
            },
            {
              "internalType": "uint256",
              "name": "publishTime",
              "type": "uint256"
            }
          ],
          "internalType": "struct IWitPyth.PythPrice",
          "name": "",
          "type": "tuple"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "IWitPyth.ID",
          "name": "_id",
          "type": "bytes32"
        }
      ],
      "name": "getEmaPriceUnsafe",
      "outputs": [
        {
          "components": [
            {
              "internalType": "int64",
              "name": "price",
              "type": "int64"
            },
            {
              "internalType": "uint64",
              "name": "conf",
              "type": "uint64"
            },
            {
              "internalType": "int32",
              "name": "expo",
              "type": "int32"
            },
            {
              "internalType": "uint256",
              "name": "publishTime",
              "type": "uint256"
            }
          ],
          "internalType": "struct IWitPyth.PythPrice",
          "name": "",
          "type": "tuple"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "IWitPyth.ID",
          "name": "_id",
          "type": "bytes32"
        }
      ],
      "name": "getPrice",
      "outputs": [
        {
          "components": [
            {
              "internalType": "int64",
              "name": "price",
              "type": "int64"
            },
            {
              "internalType": "uint64",
              "name": "conf",
              "type": "uint64"
            },
            {
              "internalType": "int32",
              "name": "expo",
              "type": "int32"
            },
            {
              "internalType": "uint256",
              "name": "publishTime",
              "type": "uint256"
            }
          ],
          "internalType": "struct IWitPyth.PythPrice",
          "name": "",
          "type": "tuple"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "IWitPriceFeedsTypes.ID4",
          "name": "_id4",
          "type": "bytes4"
        }
      ],
      "name": "getPrice",
      "outputs": [
        {
          "components": [
            {
              "internalType": "int8",
              "name": "exponent",
              "type": "int8"
            },
            {
              "internalType": "uint64",
              "name": "price",
              "type": "uint64"
            },
            {
              "internalType": "int56",
              "name": "deltaPrice",
              "type": "int56"
            },
            {
              "internalType": "Witnet.Timestamp",
              "name": "timestamp",
              "type": "uint64"
            },
            {
              "internalType": "Witnet.TransactionHash",
              "name": "trail",
              "type": "bytes32"
            }
          ],
          "internalType": "struct IWitPriceFeedsTypes.Price",
          "name": "",
          "type": "tuple"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "IWitPyth.ID",
          "name": "_id",
          "type": "bytes32"
        },
        {
          "internalType": "uint64",
          "name": "_age",
          "type": "uint64"
        }
      ],
      "name": "getPriceNotOlderThan",
      "outputs": [
        {
          "components": [
            {
              "internalType": "int64",
              "name": "price",
              "type": "int64"
            },
            {
              "internalType": "uint64",
              "name": "conf",
              "type": "uint64"
            },
            {
              "internalType": "int32",
              "name": "expo",
              "type": "int32"
            },
            {
              "internalType": "uint256",
              "name": "publishTime",
              "type": "uint256"
            }
          ],
          "internalType": "struct IWitPyth.PythPrice",
          "name": "",
          "type": "tuple"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "IWitPriceFeedsTypes.ID4",
          "name": "_id4",
          "type": "bytes4"
        },
        {
          "internalType": "uint24",
          "name": "_age",
          "type": "uint24"
        }
      ],
      "name": "getPriceNotOlderThan",
      "outputs": [
        {
          "components": [
            {
              "internalType": "int8",
              "name": "exponent",
              "type": "int8"
            },
            {
              "internalType": "uint64",
              "name": "price",
              "type": "uint64"
            },
            {
              "internalType": "int56",
              "name": "deltaPrice",
              "type": "int56"
            },
            {
              "internalType": "Witnet.Timestamp",
              "name": "timestamp",
              "type": "uint64"
            },
            {
              "internalType": "Witnet.TransactionHash",
              "name": "trail",
              "type": "bytes32"
            }
          ],
          "internalType": "struct IWitPriceFeedsTypes.Price",
          "name": "",
          "type": "tuple"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "IWitPyth.ID",
          "name": "_id",
          "type": "bytes32"
        }
      ],
      "name": "getPriceUnsafe",
      "outputs": [
        {
          "components": [
            {
              "internalType": "int64",
              "name": "price",
              "type": "int64"
            },
            {
              "internalType": "uint64",
              "name": "conf",
              "type": "uint64"
            },
            {
              "internalType": "int32",
              "name": "expo",
              "type": "int32"
            },
            {
              "internalType": "uint256",
              "name": "publishTime",
              "type": "uint256"
            }
          ],
          "internalType": "struct IWitPyth.PythPrice",
          "name": "",
          "type": "tuple"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "IWitPriceFeedsTypes.ID4",
          "name": "_id4",
          "type": "bytes4"
        }
      ],
      "name": "getPriceUnsafe",
      "outputs": [
        {
          "components": [
            {
              "internalType": "int8",
              "name": "exponent",
              "type": "int8"
            },
            {
              "internalType": "uint64",
              "name": "price",
              "type": "uint64"
            },
            {
              "internalType": "int56",
              "name": "deltaPrice",
              "type": "int56"
            },
            {
              "internalType": "Witnet.Timestamp",
              "name": "timestamp",
              "type": "uint64"
            },
            {
              "internalType": "Witnet.TransactionHash",
              "name": "trail",
              "type": "bytes32"
            }
          ],
          "internalType": "struct IWitPriceFeedsTypes.Price",
          "name": "",
          "type": "tuple"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes",
          "name": "",
          "type": "bytes"
        }
      ],
      "name": "getUpdateFee",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "pure",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "string",
          "name": "_symbol",
          "type": "string"
        }
      ],
      "name": "hash",
      "outputs": [
        {
          "internalType": "IWitPyth.ID",
          "name": "",
          "type": "bytes32"
        }
      ],
      "stateMutability": "pure",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "_curator",
          "type": "address"
        },
        {
          "components": [
            {
              "internalType": "uint24",
              "name": "callbackGas",
              "type": "uint24"
            },
            {
              "internalType": "bool",
              "name": "computeEma",
              "type": "bool"
            },
            {
              "internalType": "uint24",
              "name": "cooldownSecs",
              "type": "uint24"
            },
            {
              "internalType": "uint24",
              "name": "heartbeatSecs",
              "type": "uint24"
            },
            {
              "internalType": "uint16",
              "name": "maxDeviation1000",
              "type": "uint16"
            },
            {
              "internalType": "uint16",
              "name": "minWitnesses",
              "type": "uint16"
            }
          ],
          "internalType": "struct IWitPriceFeedsTypes.UpdateConditions",
          "name": "_defaultUpdateConditions",
          "type": "tuple"
        }
      ],
      "name": "initializeClone",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "initialized",
      "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": "IWitPriceFeedsTypes.ID4",
          "name": "_id4",
          "type": "bytes4"
        }
      ],
      "name": "lookupPriceFeed",
      "outputs": [
        {
          "components": [
            {
              "internalType": "IWitPyth.ID",
              "name": "id",
              "type": "bytes32"
            },
            {
              "internalType": "int8",
              "name": "exponent",
              "type": "int8"
            },
            {
              "internalType": "string",
              "name": "symbol",
              "type": "string"
            },
            {
              "components": [
                {
                  "internalType": "enum IWitPriceFeedsTypes.Mappers",
                  "name": "class",
                  "type": "uint8"
                },
                {
                  "internalType": "string[]",
                  "name": "deps",
                  "type": "string[]"
                }
              ],
              "internalType": "struct IWitPriceFeedsTypes.Mapper",
              "name": "mapper",
              "type": "tuple"
            },
            {
              "components": [
                {
                  "internalType": "enum IWitPriceFeedsTypes.Oracles",
                  "name": "class",
                  "type": "uint8"
                },
                {
                  "internalType": "address",
                  "name": "target",
                  "type": "address"
                },
                {
                  "internalType": "bytes32",
                  "name": "sources",
                  "type": "bytes32"
                }
              ],
              "internalType": "struct IWitPriceFeedsTypes.Oracle",
              "name": "oracle",
              "type": "tuple"
            },
            {
              "components": [
                {
                  "internalType": "uint24",
                  "name": "callbackGas",
                  "type": "uint24"
                },
                {
                  "internalType": "bool",
                  "name": "computeEma",
                  "type": "bool"
                },
                {
                  "internalType": "uint24",
                  "name": "cooldownSecs",
                  "type": "uint24"
                },
                {
                  "internalType": "uint24",
                  "name": "heartbeatSecs",
                  "type": "uint24"
                },
                {
                  "internalType": "uint16",
                  "name": "maxDeviation1000",
                  "type": "uint16"
                },
                {
                  "internalType": "uint16",
                  "name": "minWitnesses",
                  "type": "uint16"
                }
              ],
              "internalType": "struct IWitPriceFeedsTypes.UpdateConditions",
              "name": "updateConditions",
              "type": "tuple"
            },
            {
              "components": [
                {
                  "internalType": "int8",
                  "name": "exponent",
                  "type": "int8"
                },
                {
                  "internalType": "uint64",
                  "name": "price",
                  "type": "uint64"
                },
                {
                  "internalType": "int56",
                  "name": "deltaPrice",
                  "type": "int56"
                },
                {
                  "internalType": "Witnet.Timestamp",
                  "name": "timestamp",
                  "type": "uint64"
                },
                {
                  "internalType": "Witnet.TransactionHash",
                  "name": "trail",
                  "type": "bytes32"
                }
              ],
              "internalType": "struct IWitPriceFeedsTypes.Price",
              "name": "lastUpdate",
              "type": "tuple"
            }
          ],
          "internalType": "struct IWitPriceFeedsTypes.Info",
          "name": "",
          "type": "tuple"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "IWitPriceFeedsTypes.ID4",
          "name": "_id4",
          "type": "bytes4"
        }
      ],
      "name": "lookupPriceFeedCaption",
      "outputs": [
        {
          "internalType": "string",
          "name": "_symbol",
          "type": "string"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "IWitPriceFeedsTypes.ID4",
          "name": "_id4",
          "type": "bytes4"
        }
      ],
      "name": "lookupPriceFeedExponent",
      "outputs": [
        {
          "internalType": "int8",
          "name": "",
          "type": "int8"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "IWitPriceFeedsTypes.ID4",
          "name": "_id4",
          "type": "bytes4"
        }
      ],
      "name": "lookupPriceFeedID",
      "outputs": [
        {
          "internalType": "bytes32",
          "name": "",
          "type": "bytes32"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "lookupPriceFeeds",
      "outputs": [
        {
          "components": [
            {
              "internalType": "IWitPyth.ID",
              "name": "id",
              "type": "bytes32"
            },
            {
              "internalType": "int8",
              "name": "exponent",
              "type": "int8"
            },
            {
              "internalType": "string",
              "name": "symbol",
              "type": "string"
            },
            {
              "components": [
                {
                  "internalType": "enum IWitPriceFeedsTypes.Mappers",
                  "name": "class",
                  "type": "uint8"
                },
                {
                  "internalType": "string[]",
                  "name": "deps",
                  "type": "string[]"
                }
              ],
              "internalType": "struct IWitPriceFeedsTypes.Mapper",
              "name": "mapper",
              "type": "tuple"
            },
            {
              "components": [
                {
                  "internalType": "enum IWitPriceFeedsTypes.Oracles",
                  "name": "class",
                  "type": "uint8"
                },
                {
                  "internalType": "address",
                  "name": "target",
                  "type": "address"
                },
                {
                  "internalType": "bytes32",
                  "name": "sources",
                  "type": "bytes32"
                }
              ],
              "internalType": "struct IWitPriceFeedsTypes.Oracle",
              "name": "oracle",
              "type": "tuple"
            },
            {
              "components": [
                {
                  "internalType": "uint24",
                  "name": "callbackGas",
                  "type": "uint24"
                },
                {
                  "internalType": "bool",
                  "name": "computeEma",
                  "type": "bool"
                },
                {
                  "internalType": "uint24",
                  "name": "cooldownSecs",
                  "type": "uint24"
                },
                {
                  "internalType": "uint24",
                  "name": "heartbeatSecs",
                  "type": "uint24"
                },
                {
                  "internalType": "uint16",
                  "name": "maxDeviation1000",
                  "type": "uint16"
                },
                {
                  "internalType": "uint16",
                  "name": "minWitnesses",
                  "type": "uint16"
                }
              ],
              "internalType": "struct IWitPriceFeedsTypes.UpdateConditions",
              "name": "updateConditions",
              "type": "tuple"
            },
            {
              "components": [
                {
                  "internalType": "int8",
                  "name": "exponent",
                  "type": "int8"
                },
                {
                  "internalType": "uint64",
                  "name": "price",
                  "type": "uint64"
                },
                {
                  "internalType": "int56",
                  "name": "deltaPrice",
                  "type": "int56"
                },
                {
                  "internalType": "Witnet.Timestamp",
                  "name": "timestamp",
                  "type": "uint64"
                },
                {
                  "internalType": "Witnet.TransactionHash",
                  "name": "trail",
                  "type": "bytes32"
                }
              ],
              "internalType": "struct IWitPriceFeedsTypes.Price",
              "name": "lastUpdate",
              "type": "tuple"
            }
          ],
          "internalType": "struct IWitPriceFeedsTypes.Info[]",
          "name": "_infos",
          "type": "tuple[]"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "owner",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "pendingOwner",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "proxiableUUID",
      "outputs": [
        {
          "internalType": "bytes32",
          "name": "",
          "type": "bytes32"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "components": [
            {
              "internalType": "Witnet.TransactionHash",
              "name": "witDrTxHash",
              "type": "bytes32"
            },
            {
              "internalType": "Witnet.RadonHash",
              "name": "queryRadHash",
              "type": "bytes32"
            },
            {
              "components": [
                {
                  "internalType": "uint16",
                  "name": "witResultMaxSize",
                  "type": "uint16"
                },
                {
                  "internalType": "uint16",
                  "name": "witCommitteeSize",
                  "type": "uint16"
                },
                {
                  "internalType": "uint64",
                  "name": "witUnitaryReward",
                  "type": "uint64"
                }
              ],
              "internalType": "struct Witnet.QuerySLA",
              "name": "queryParams",
              "type": "tuple"
            },
            {
              "internalType": "Witnet.Timestamp",
              "name": "resultTimestamp",
              "type": "uint64"
            },
            {
              "internalType": "bytes",
              "name": "resultCborBytes",
              "type": "bytes"
            }
          ],
          "internalType": "struct Witnet.DataPushReport",
          "name": "report",
          "type": "tuple"
        },
        {
          "internalType": "bytes",
          "name": "proof",
          "type": "bytes"
        }
      ],
      "name": "pushDataReport",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "string",
          "name": "_symbol",
          "type": "string"
        },
        {
          "internalType": "bool",
          "name": "_recursively",
          "type": "bool"
        }
      ],
      "name": "removePriceFeed",
      "outputs": [
        {
          "internalType": "bytes4",
          "name": "_footprint",
          "type": "bytes4"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "renounceOwnership",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "_consumer",
          "type": "address"
        }
      ],
      "name": "settleConsumer",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "components": [
            {
              "internalType": "uint24",
              "name": "callbackGas",
              "type": "uint24"
            },
            {
              "internalType": "bool",
              "name": "computeEma",
              "type": "bool"
            },
            {
              "internalType": "uint24",
              "name": "cooldownSecs",
              "type": "uint24"
            },
            {
              "internalType": "uint24",
              "name": "heartbeatSecs",
              "type": "uint24"
            },
            {
              "internalType": "uint16",
              "name": "maxDeviation1000",
              "type": "uint16"
            },
            {
              "internalType": "uint16",
              "name": "minWitnesses",
              "type": "uint16"
            }
          ],
          "internalType": "struct IWitPriceFeedsTypes.UpdateConditions",
          "name": "_conditions",
          "type": "tuple"
        }
      ],
      "name": "settleDefaultUpdateConditions",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "string",
          "name": "_symbol",
          "type": "string"
        },
        {
          "internalType": "int8",
          "name": "_exponent",
          "type": "int8"
        },
        {
          "internalType": "enum IWitPriceFeedsTypes.Mappers",
          "name": "_mapper",
          "type": "uint8"
        },
        {
          "internalType": "string[]",
          "name": "_deps",
          "type": "string[]"
        }
      ],
      "name": "settlePriceFeedMapper",
      "outputs": [
        {
          "internalType": "bytes4",
          "name": "",
          "type": "bytes4"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "string",
          "name": "_symbol",
          "type": "string"
        },
        {
          "internalType": "int8",
          "name": "_exponent",
          "type": "int8"
        },
        {
          "internalType": "enum IWitPriceFeedsTypes.Oracles",
          "name": "_oracle",
          "type": "uint8"
        },
        {
          "internalType": "address",
          "name": "_oracleAddress",
          "type": "address"
        },
        {
          "internalType": "bytes32",
          "name": "_oracleSources",
          "type": "bytes32"
        }
      ],
      "name": "settlePriceFeedOracle",
      "outputs": [
        {
          "internalType": "bytes4",
          "name": "",
          "type": "bytes4"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "string",
          "name": "_symbol",
          "type": "string"
        },
        {
          "internalType": "int8",
          "name": "_exponent",
          "type": "int8"
        },
        {
          "internalType": "bytes",
          "name": "_radonBytecode",
          "type": "bytes"
        }
      ],
      "name": "settlePriceFeedRadonBytecode",
      "outputs": [
        {
          "internalType": "bytes4",
          "name": "",
          "type": "bytes4"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "string",
          "name": "_symbol",
          "type": "string"
        },
        {
          "internalType": "int8",
          "name": "_exponent",
          "type": "int8"
        },
        {
          "internalType": "Witnet.RadonHash",
          "name": "_radonHash",
          "type": "bytes32"
        }
      ],
      "name": "settlePriceFeedRadonHash",
      "outputs": [
        {
          "internalType": "bytes4",
          "name": "",
          "type": "bytes4"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "string",
          "name": "_symbol",
          "type": "string"
        },
        {
          "components": [
            {
              "internalType": "uint24",
              "name": "callbackGas",
              "type": "uint24"
            },
            {
              "internalType": "bool",
              "name": "computeEma",
              "type": "bool"
            },
            {
              "internalType": "uint24",
              "name": "cooldownSecs",
              "type": "uint24"
            },
            {
              "internalType": "uint24",
              "name": "heartbeatSecs",
              "type": "uint24"
            },
            {
              "internalType": "uint16",
              "name": "maxDeviation1000",
              "type": "uint16"
            },
            {
              "internalType": "uint16",
              "name": "minWitnesses",
              "type": "uint16"
            }
          ],
          "internalType": "struct IWitPriceFeedsTypes.UpdateConditions",
          "name": "_conditions",
          "type": "tuple"
        }
      ],
      "name": "settlePriceFeedUpdateConditions",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "specs",
      "outputs": [
        {
          "internalType": "bytes4",
          "name": "",
          "type": "bytes4"
        }
      ],
      "stateMutability": "pure",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "string",
          "name": "_caption",
          "type": "string"
        }
      ],
      "name": "supportsCaption",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "_newOwner",
          "type": "address"
        }
      ],
      "name": "transferOwnership",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "_id",
          "type": "bytes32"
        }
      ],
      "name": "valueFor",
      "outputs": [
        {
          "internalType": "int256",
          "name": "_value",
          "type": "int256"
        },
        {
          "internalType": "uint256",
          "name": "_timestamp",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "_status",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "witOracle",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "class",
      "outputs": [
        {
          "internalType": "string",
          "name": "",
          "type": "string"
        }
      ],
      "stateMutability": "pure",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "base",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "cloned",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes",
          "name": "_initData",
          "type": "bytes"
        }
      ],
      "name": "initialize",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "_from",
          "type": "address"
        }
      ],
      "name": "isUpgradableFrom",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "version",
      "outputs": [
        {
          "internalType": "string",
          "name": "",
          "type": "string"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    }
  ],
  "metadata": "{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_witOracle\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"_versionTag\",\"type\":\"bytes32\"},{\"internalType\":\"bool\",\"name\":\"_upgradable\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"DeviantPrice\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"HotPrice\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"range\",\"type\":\"uint256\"}],\"name\":\"IndexOutOfBounds\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidArgument\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidGovernanceTarget\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidInitialization\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"}],\"name\":\"InvalidLengthEncoding\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidUpdateData\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidUpdateDataSource\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NoFreshUpdate\",\"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\":\"PriceFeedNotFound\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"PriceFeedNotFoundWithinRange\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"StalePrice\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"read\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"}],\"name\":\"UnexpectedMajorType\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"by\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"master\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"clone\",\"type\":\"address\"}],\"name\":\"Cloned\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"version\",\"type\":\"uint64\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferStarted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"IWitPriceFeedsTypes.ID4\",\"name\":\"id4\",\"type\":\"bytes4\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"caption\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int8\",\"name\":\"exponent\",\"type\":\"int8\"},{\"indexed\":false,\"internalType\":\"enum IWitPriceFeedsTypes.Mappers\",\"name\":\"mapper\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"string[]\",\"name\":\"dependencies\",\"type\":\"string[]\"}],\"name\":\"PriceFeedMapper\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"IWitPriceFeedsTypes.ID4\",\"name\":\"id4\",\"type\":\"bytes4\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"caption\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int8\",\"name\":\"exponent\",\"type\":\"int8\"},{\"indexed\":false,\"internalType\":\"enum IWitPriceFeedsTypes.Oracles\",\"name\":\"oracle\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"oracleAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"oracleSources\",\"type\":\"bytes32\"}],\"name\":\"PriceFeedOracle\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"IWitPriceFeedsTypes.ID4\",\"name\":\"id4\",\"type\":\"bytes4\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"caption\",\"type\":\"string\"}],\"name\":\"PriceFeedRemoved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"IWitPriceFeedsTypes.ID4\",\"name\":\"ID4\",\"type\":\"bytes4\"},{\"indexed\":false,\"internalType\":\"Witnet.Timestamp\",\"name\":\"timestamp\",\"type\":\"uint64\"},{\"indexed\":false,\"internalType\":\"Witnet.TransactionHash\",\"name\":\"trail\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"price\",\"type\":\"uint64\"},{\"indexed\":false,\"internalType\":\"int56\",\"name\":\"deltaPrice\",\"type\":\"int56\"},{\"indexed\":false,\"internalType\":\"int8\",\"name\":\"exponent\",\"type\":\"int8\"}],\"name\":\"PriceFeedUpdate\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"id\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"publishTime\",\"type\":\"uint64\"},{\"indexed\":false,\"internalType\":\"int64\",\"name\":\"price\",\"type\":\"int64\"},{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"\",\"type\":\"uint64\"}],\"name\":\"PriceFeedUpdate\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"IWitPriceFeedsTypes.ID4\",\"name\":\"id4\",\"type\":\"bytes4\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"caption\",\"type\":\"string\"},{\"components\":[{\"internalType\":\"uint24\",\"name\":\"callbackGas\",\"type\":\"uint24\"},{\"internalType\":\"bool\",\"name\":\"computeEma\",\"type\":\"bool\"},{\"internalType\":\"uint24\",\"name\":\"cooldownSecs\",\"type\":\"uint24\"},{\"internalType\":\"uint24\",\"name\":\"heartbeatSecs\",\"type\":\"uint24\"},{\"internalType\":\"uint16\",\"name\":\"maxDeviation1000\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"minWitnesses\",\"type\":\"uint16\"}],\"indexed\":false,\"internalType\":\"struct IWitPriceFeedsTypes.UpdateConditions\",\"name\":\"conditions\",\"type\":\"tuple\"}],\"name\":\"PriceFeedUpdateConditions\",\"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\"},{\"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\":\"class\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_curator\",\"type\":\"address\"}],\"name\":\"clone\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"cloned\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"codehash\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"_codehash\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"consumer\",\"outputs\":[{\"internalType\":\"contract IWitPriceFeedsConsumer\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"symbol\",\"type\":\"string\"}],\"name\":\"createChainlinkAggregator\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"defaultUpdateConditions\",\"outputs\":[{\"components\":[{\"internalType\":\"uint24\",\"name\":\"callbackGas\",\"type\":\"uint24\"},{\"internalType\":\"bool\",\"name\":\"computeEma\",\"type\":\"bool\"},{\"internalType\":\"uint24\",\"name\":\"cooldownSecs\",\"type\":\"uint24\"},{\"internalType\":\"uint24\",\"name\":\"heartbeatSecs\",\"type\":\"uint24\"},{\"internalType\":\"uint16\",\"name\":\"maxDeviation1000\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"minWitnesses\",\"type\":\"uint16\"}],\"internalType\":\"struct IWitPriceFeedsTypes.UpdateConditions\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"footprint\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"_footprint\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"IWitPyth.ID\",\"name\":\"_id\",\"type\":\"bytes32\"}],\"name\":\"getEmaPrice\",\"outputs\":[{\"components\":[{\"internalType\":\"int64\",\"name\":\"price\",\"type\":\"int64\"},{\"internalType\":\"uint64\",\"name\":\"conf\",\"type\":\"uint64\"},{\"internalType\":\"int32\",\"name\":\"expo\",\"type\":\"int32\"},{\"internalType\":\"uint256\",\"name\":\"publishTime\",\"type\":\"uint256\"}],\"internalType\":\"struct IWitPyth.PythPrice\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"IWitPyth.ID\",\"name\":\"_id\",\"type\":\"bytes32\"},{\"internalType\":\"uint64\",\"name\":\"_age\",\"type\":\"uint64\"}],\"name\":\"getEmaPriceNotOlderThan\",\"outputs\":[{\"components\":[{\"internalType\":\"int64\",\"name\":\"price\",\"type\":\"int64\"},{\"internalType\":\"uint64\",\"name\":\"conf\",\"type\":\"uint64\"},{\"internalType\":\"int32\",\"name\":\"expo\",\"type\":\"int32\"},{\"internalType\":\"uint256\",\"name\":\"publishTime\",\"type\":\"uint256\"}],\"internalType\":\"struct IWitPyth.PythPrice\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"IWitPyth.ID\",\"name\":\"_id\",\"type\":\"bytes32\"}],\"name\":\"getEmaPriceUnsafe\",\"outputs\":[{\"components\":[{\"internalType\":\"int64\",\"name\":\"price\",\"type\":\"int64\"},{\"internalType\":\"uint64\",\"name\":\"conf\",\"type\":\"uint64\"},{\"internalType\":\"int32\",\"name\":\"expo\",\"type\":\"int32\"},{\"internalType\":\"uint256\",\"name\":\"publishTime\",\"type\":\"uint256\"}],\"internalType\":\"struct IWitPyth.PythPrice\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"IWitPyth.ID\",\"name\":\"_id\",\"type\":\"bytes32\"}],\"name\":\"getPrice\",\"outputs\":[{\"components\":[{\"internalType\":\"int64\",\"name\":\"price\",\"type\":\"int64\"},{\"internalType\":\"uint64\",\"name\":\"conf\",\"type\":\"uint64\"},{\"internalType\":\"int32\",\"name\":\"expo\",\"type\":\"int32\"},{\"internalType\":\"uint256\",\"name\":\"publishTime\",\"type\":\"uint256\"}],\"internalType\":\"struct IWitPyth.PythPrice\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"IWitPriceFeedsTypes.ID4\",\"name\":\"_id4\",\"type\":\"bytes4\"}],\"name\":\"getPrice\",\"outputs\":[{\"components\":[{\"internalType\":\"int8\",\"name\":\"exponent\",\"type\":\"int8\"},{\"internalType\":\"uint64\",\"name\":\"price\",\"type\":\"uint64\"},{\"internalType\":\"int56\",\"name\":\"deltaPrice\",\"type\":\"int56\"},{\"internalType\":\"Witnet.Timestamp\",\"name\":\"timestamp\",\"type\":\"uint64\"},{\"internalType\":\"Witnet.TransactionHash\",\"name\":\"trail\",\"type\":\"bytes32\"}],\"internalType\":\"struct IWitPriceFeedsTypes.Price\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"IWitPyth.ID\",\"name\":\"_id\",\"type\":\"bytes32\"},{\"internalType\":\"uint64\",\"name\":\"_age\",\"type\":\"uint64\"}],\"name\":\"getPriceNotOlderThan\",\"outputs\":[{\"components\":[{\"internalType\":\"int64\",\"name\":\"price\",\"type\":\"int64\"},{\"internalType\":\"uint64\",\"name\":\"conf\",\"type\":\"uint64\"},{\"internalType\":\"int32\",\"name\":\"expo\",\"type\":\"int32\"},{\"internalType\":\"uint256\",\"name\":\"publishTime\",\"type\":\"uint256\"}],\"internalType\":\"struct IWitPyth.PythPrice\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"IWitPriceFeedsTypes.ID4\",\"name\":\"_id4\",\"type\":\"bytes4\"},{\"internalType\":\"uint24\",\"name\":\"_age\",\"type\":\"uint24\"}],\"name\":\"getPriceNotOlderThan\",\"outputs\":[{\"components\":[{\"internalType\":\"int8\",\"name\":\"exponent\",\"type\":\"int8\"},{\"internalType\":\"uint64\",\"name\":\"price\",\"type\":\"uint64\"},{\"internalType\":\"int56\",\"name\":\"deltaPrice\",\"type\":\"int56\"},{\"internalType\":\"Witnet.Timestamp\",\"name\":\"timestamp\",\"type\":\"uint64\"},{\"internalType\":\"Witnet.TransactionHash\",\"name\":\"trail\",\"type\":\"bytes32\"}],\"internalType\":\"struct IWitPriceFeedsTypes.Price\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"IWitPyth.ID\",\"name\":\"_id\",\"type\":\"bytes32\"}],\"name\":\"getPriceUnsafe\",\"outputs\":[{\"components\":[{\"internalType\":\"int64\",\"name\":\"price\",\"type\":\"int64\"},{\"internalType\":\"uint64\",\"name\":\"conf\",\"type\":\"uint64\"},{\"internalType\":\"int32\",\"name\":\"expo\",\"type\":\"int32\"},{\"internalType\":\"uint256\",\"name\":\"publishTime\",\"type\":\"uint256\"}],\"internalType\":\"struct IWitPyth.PythPrice\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"IWitPriceFeedsTypes.ID4\",\"name\":\"_id4\",\"type\":\"bytes4\"}],\"name\":\"getPriceUnsafe\",\"outputs\":[{\"components\":[{\"internalType\":\"int8\",\"name\":\"exponent\",\"type\":\"int8\"},{\"internalType\":\"uint64\",\"name\":\"price\",\"type\":\"uint64\"},{\"internalType\":\"int56\",\"name\":\"deltaPrice\",\"type\":\"int56\"},{\"internalType\":\"Witnet.Timestamp\",\"name\":\"timestamp\",\"type\":\"uint64\"},{\"internalType\":\"Witnet.TransactionHash\",\"name\":\"trail\",\"type\":\"bytes32\"}],\"internalType\":\"struct IWitPriceFeedsTypes.Price\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"getUpdateFee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_symbol\",\"type\":\"string\"}],\"name\":\"hash\",\"outputs\":[{\"internalType\":\"IWitPyth.ID\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"_initData\",\"type\":\"bytes\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_curator\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"uint24\",\"name\":\"callbackGas\",\"type\":\"uint24\"},{\"internalType\":\"bool\",\"name\":\"computeEma\",\"type\":\"bool\"},{\"internalType\":\"uint24\",\"name\":\"cooldownSecs\",\"type\":\"uint24\"},{\"internalType\":\"uint24\",\"name\":\"heartbeatSecs\",\"type\":\"uint24\"},{\"internalType\":\"uint16\",\"name\":\"maxDeviation1000\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"minWitnesses\",\"type\":\"uint16\"}],\"internalType\":\"struct IWitPriceFeedsTypes.UpdateConditions\",\"name\":\"_defaultUpdateConditions\",\"type\":\"tuple\"}],\"name\":\"initializeClone\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"initialized\",\"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\":[{\"internalType\":\"IWitPriceFeedsTypes.ID4\",\"name\":\"_id4\",\"type\":\"bytes4\"}],\"name\":\"lookupPriceFeed\",\"outputs\":[{\"components\":[{\"internalType\":\"IWitPyth.ID\",\"name\":\"id\",\"type\":\"bytes32\"},{\"internalType\":\"int8\",\"name\":\"exponent\",\"type\":\"int8\"},{\"internalType\":\"string\",\"name\":\"symbol\",\"type\":\"string\"},{\"components\":[{\"internalType\":\"enum IWitPriceFeedsTypes.Mappers\",\"name\":\"class\",\"type\":\"uint8\"},{\"internalType\":\"string[]\",\"name\":\"deps\",\"type\":\"string[]\"}],\"internalType\":\"struct IWitPriceFeedsTypes.Mapper\",\"name\":\"mapper\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"enum IWitPriceFeedsTypes.Oracles\",\"name\":\"class\",\"type\":\"uint8\"},{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"sources\",\"type\":\"bytes32\"}],\"internalType\":\"struct IWitPriceFeedsTypes.Oracle\",\"name\":\"oracle\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"uint24\",\"name\":\"callbackGas\",\"type\":\"uint24\"},{\"internalType\":\"bool\",\"name\":\"computeEma\",\"type\":\"bool\"},{\"internalType\":\"uint24\",\"name\":\"cooldownSecs\",\"type\":\"uint24\"},{\"internalType\":\"uint24\",\"name\":\"heartbeatSecs\",\"type\":\"uint24\"},{\"internalType\":\"uint16\",\"name\":\"maxDeviation1000\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"minWitnesses\",\"type\":\"uint16\"}],\"internalType\":\"struct IWitPriceFeedsTypes.UpdateConditions\",\"name\":\"updateConditions\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"int8\",\"name\":\"exponent\",\"type\":\"int8\"},{\"internalType\":\"uint64\",\"name\":\"price\",\"type\":\"uint64\"},{\"internalType\":\"int56\",\"name\":\"deltaPrice\",\"type\":\"int56\"},{\"internalType\":\"Witnet.Timestamp\",\"name\":\"timestamp\",\"type\":\"uint64\"},{\"internalType\":\"Witnet.TransactionHash\",\"name\":\"trail\",\"type\":\"bytes32\"}],\"internalType\":\"struct IWitPriceFeedsTypes.Price\",\"name\":\"lastUpdate\",\"type\":\"tuple\"}],\"internalType\":\"struct IWitPriceFeedsTypes.Info\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"IWitPriceFeedsTypes.ID4\",\"name\":\"_id4\",\"type\":\"bytes4\"}],\"name\":\"lookupPriceFeedCaption\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"_symbol\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"IWitPriceFeedsTypes.ID4\",\"name\":\"_id4\",\"type\":\"bytes4\"}],\"name\":\"lookupPriceFeedExponent\",\"outputs\":[{\"internalType\":\"int8\",\"name\":\"\",\"type\":\"int8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"IWitPriceFeedsTypes.ID4\",\"name\":\"_id4\",\"type\":\"bytes4\"}],\"name\":\"lookupPriceFeedID\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"lookupPriceFeeds\",\"outputs\":[{\"components\":[{\"internalType\":\"IWitPyth.ID\",\"name\":\"id\",\"type\":\"bytes32\"},{\"internalType\":\"int8\",\"name\":\"exponent\",\"type\":\"int8\"},{\"internalType\":\"string\",\"name\":\"symbol\",\"type\":\"string\"},{\"components\":[{\"internalType\":\"enum IWitPriceFeedsTypes.Mappers\",\"name\":\"class\",\"type\":\"uint8\"},{\"internalType\":\"string[]\",\"name\":\"deps\",\"type\":\"string[]\"}],\"internalType\":\"struct IWitPriceFeedsTypes.Mapper\",\"name\":\"mapper\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"enum IWitPriceFeedsTypes.Oracles\",\"name\":\"class\",\"type\":\"uint8\"},{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"sources\",\"type\":\"bytes32\"}],\"internalType\":\"struct IWitPriceFeedsTypes.Oracle\",\"name\":\"oracle\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"uint24\",\"name\":\"callbackGas\",\"type\":\"uint24\"},{\"internalType\":\"bool\",\"name\":\"computeEma\",\"type\":\"bool\"},{\"internalType\":\"uint24\",\"name\":\"cooldownSecs\",\"type\":\"uint24\"},{\"internalType\":\"uint24\",\"name\":\"heartbeatSecs\",\"type\":\"uint24\"},{\"internalType\":\"uint16\",\"name\":\"maxDeviation1000\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"minWitnesses\",\"type\":\"uint16\"}],\"internalType\":\"struct IWitPriceFeedsTypes.UpdateConditions\",\"name\":\"updateConditions\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"int8\",\"name\":\"exponent\",\"type\":\"int8\"},{\"internalType\":\"uint64\",\"name\":\"price\",\"type\":\"uint64\"},{\"internalType\":\"int56\",\"name\":\"deltaPrice\",\"type\":\"int56\"},{\"internalType\":\"Witnet.Timestamp\",\"name\":\"timestamp\",\"type\":\"uint64\"},{\"internalType\":\"Witnet.TransactionHash\",\"name\":\"trail\",\"type\":\"bytes32\"}],\"internalType\":\"struct IWitPriceFeedsTypes.Price\",\"name\":\"lastUpdate\",\"type\":\"tuple\"}],\"internalType\":\"struct IWitPriceFeedsTypes.Info[]\",\"name\":\"_infos\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pendingOwner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"proxiableUUID\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"Witnet.TransactionHash\",\"name\":\"witDrTxHash\",\"type\":\"bytes32\"},{\"internalType\":\"Witnet.RadonHash\",\"name\":\"queryRadHash\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"uint16\",\"name\":\"witResultMaxSize\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"witCommitteeSize\",\"type\":\"uint16\"},{\"internalType\":\"uint64\",\"name\":\"witUnitaryReward\",\"type\":\"uint64\"}],\"internalType\":\"struct Witnet.QuerySLA\",\"name\":\"queryParams\",\"type\":\"tuple\"},{\"internalType\":\"Witnet.Timestamp\",\"name\":\"resultTimestamp\",\"type\":\"uint64\"},{\"internalType\":\"bytes\",\"name\":\"resultCborBytes\",\"type\":\"bytes\"}],\"internalType\":\"struct Witnet.DataPushReport\",\"name\":\"report\",\"type\":\"tuple\"},{\"internalType\":\"bytes\",\"name\":\"proof\",\"type\":\"bytes\"}],\"name\":\"pushDataReport\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_symbol\",\"type\":\"string\"},{\"internalType\":\"bool\",\"name\":\"_recursively\",\"type\":\"bool\"}],\"name\":\"removePriceFeed\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"_footprint\",\"type\":\"bytes4\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_consumer\",\"type\":\"address\"}],\"name\":\"settleConsumer\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"uint24\",\"name\":\"callbackGas\",\"type\":\"uint24\"},{\"internalType\":\"bool\",\"name\":\"computeEma\",\"type\":\"bool\"},{\"internalType\":\"uint24\",\"name\":\"cooldownSecs\",\"type\":\"uint24\"},{\"internalType\":\"uint24\",\"name\":\"heartbeatSecs\",\"type\":\"uint24\"},{\"internalType\":\"uint16\",\"name\":\"maxDeviation1000\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"minWitnesses\",\"type\":\"uint16\"}],\"internalType\":\"struct IWitPriceFeedsTypes.UpdateConditions\",\"name\":\"_conditions\",\"type\":\"tuple\"}],\"name\":\"settleDefaultUpdateConditions\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_symbol\",\"type\":\"string\"},{\"internalType\":\"int8\",\"name\":\"_exponent\",\"type\":\"int8\"},{\"internalType\":\"enum IWitPriceFeedsTypes.Mappers\",\"name\":\"_mapper\",\"type\":\"uint8\"},{\"internalType\":\"string[]\",\"name\":\"_deps\",\"type\":\"string[]\"}],\"name\":\"settlePriceFeedMapper\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_symbol\",\"type\":\"string\"},{\"internalType\":\"int8\",\"name\":\"_exponent\",\"type\":\"int8\"},{\"internalType\":\"enum IWitPriceFeedsTypes.Oracles\",\"name\":\"_oracle\",\"type\":\"uint8\"},{\"internalType\":\"address\",\"name\":\"_oracleAddress\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"_oracleSources\",\"type\":\"bytes32\"}],\"name\":\"settlePriceFeedOracle\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_symbol\",\"type\":\"string\"},{\"internalType\":\"int8\",\"name\":\"_exponent\",\"type\":\"int8\"},{\"internalType\":\"bytes\",\"name\":\"_radonBytecode\",\"type\":\"bytes\"}],\"name\":\"settlePriceFeedRadonBytecode\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_symbol\",\"type\":\"string\"},{\"internalType\":\"int8\",\"name\":\"_exponent\",\"type\":\"int8\"},{\"internalType\":\"Witnet.RadonHash\",\"name\":\"_radonHash\",\"type\":\"bytes32\"}],\"name\":\"settlePriceFeedRadonHash\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_symbol\",\"type\":\"string\"},{\"components\":[{\"internalType\":\"uint24\",\"name\":\"callbackGas\",\"type\":\"uint24\"},{\"internalType\":\"bool\",\"name\":\"computeEma\",\"type\":\"bool\"},{\"internalType\":\"uint24\",\"name\":\"cooldownSecs\",\"type\":\"uint24\"},{\"internalType\":\"uint24\",\"name\":\"heartbeatSecs\",\"type\":\"uint24\"},{\"internalType\":\"uint16\",\"name\":\"maxDeviation1000\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"minWitnesses\",\"type\":\"uint16\"}],\"internalType\":\"struct IWitPriceFeedsTypes.UpdateConditions\",\"name\":\"_conditions\",\"type\":\"tuple\"}],\"name\":\"settlePriceFeedUpdateConditions\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"specs\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_caption\",\"type\":\"string\"}],\"name\":\"supportsCaption\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_id\",\"type\":\"bytes32\"}],\"name\":\"valueFor\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"_value\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"_timestamp\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_status\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"version\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"witOracle\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Guillermo D\\u00edaz <guillermo@witnet.io>\",\"errors\":{\"DeviantPrice()\":[{\"details\":\"Signature: 0x7b0d2bb5\"}],\"HotPrice()\":[{\"details\":\"Signature: 0x0fbbc581\"}],\"InvalidArgument()\":[{\"details\":\"Signature: 0xa9cb9e0d\"}],\"InvalidInitialization()\":[{\"details\":\"The contract is already initialized.\"}],\"InvalidUpdateData()\":[{\"details\":\"Signature: 0xe69ffece\"}],\"InvalidUpdateDataSource()\":[{\"details\":\"Signature: 0xe60dce71\"}],\"NoFreshUpdate()\":[{\"details\":\"Signature: 0xde2c57fa\"}],\"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.\"}],\"PriceFeedNotFound()\":[{\"details\":\"Signature: 0x14aebe68\"}],\"PriceFeedNotFoundWithinRange()\":[{\"details\":\"Signature: 0x45805f5d\"}],\"StalePrice()\":[{\"details\":\"Signature: 0x19abf40e\"}]},\"events\":{\"Initialized(uint64)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"PriceFeedUpdate(bytes32,uint64,int64,uint64)\":{\"details\":\"Emitted when the price feed with `id` has received a fresh update.\",\"params\":{\"id\":\"The Pyth Price Feed ID.\",\"price\":\"Price of the given price update.\",\"publishTime\":\"Publish time of the given price update.\"}},\"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\":{\"clone(address)\":{\"params\":{\"_curator\":\"Address that will have rights to manage price feeds on the new light-proxy clone.\"}},\"codehash()\":{\"details\":\"Retrieves the immutable codehash of this contract, even if invoked as delegatecall.\"},\"consumer()\":{\"details\":\"If zero, new price updates will not be reported to any other external address.The consumer contract must implement the `IWitPriceFeedsConsumer` interface, and accept this instance as source of truth.It can only be settled by a curator on cloned instances.It can only be settled by a curator, only on cloned instances.\"},\"createChainlinkAggregator(string)\":{\"details\":\"Reverts if symbol is not supported.\"},\"getEmaPrice(bytes32)\":{\"details\":\"Reverts if the EMA price is not available, or if the price feeds is settled with a heartbeat and the price was not recently updated.\",\"params\":{\"_id\":\"The Price Feed ID of which to fetch the EMA price.\"}},\"getEmaPriceNotOlderThan(bytes32,uint64)\":{\"details\":\"This function is a sanity-checked version of `getEmaPriceUnsafe` which is useful in applications that require a sufficiently-recent price. Reverts if the price wasn't updated sufficiently recently.\"},\"getEmaPriceUnsafe(bytes32)\":{\"details\":\"This function returns the same price as `getEmaPrice` in the case where the price is available. However, if the price is not recent this function returns the latest available price. The returned price can be from arbitrarily far in the past; this function makes no guarantees that the returned price is recent or useful for any particular application. Users of this function should check the `timestamp` in the price to ensure that the returned price is sufficiently recent for their application. If you are considering using this function, it may be safer / easier to use either `getEmaPrice` or `getEmaPriceNoOlderThan`.\"},\"getPrice(bytes32)\":{\"details\":\"Reverts if the price has not been updated within the last `heartbeatSecs`. \",\"params\":{\"_id\":\"The Price Feed ID of which to fetch the price.\"}},\"getPrice(bytes4)\":{\"details\":\"Reverts if: - `StalePrice()`: the price feed has not been updated within the last `UpdateConditions.heartbeatSecs`, - `DeviantPrice()`: a deviation greater than `UpdateConditions.maxDeviation1000` was detected upon last update attempt. - `InvalidGovernanceTarget()`: no EMA is curretly settled to be computed for this price feed.\",\"params\":{\"_id4\":\"Unique ID4 identifier of a price feed supported by this contract.\"}},\"getPriceNotOlderThan(bytes32,uint64)\":{\"details\":\"This function is a sanity-checked version of `getPriceUnsafe` which is useful in applications that require a sufficiently-recent price.  Reverts if the price wasn't updated sufficiently recently.\"},\"getPriceNotOlderThan(bytes4,uint24)\":{\"details\":\"Reverts if: - `StalePrice()`: the price feed has not been updated within the last `_age` seconds, \",\"params\":{\"_age\":\"Maximum age of acceptable price value.\",\"_id4\":\"Unique ID4 identifier of a price feed supported by this contract.\"}},\"getPriceUnsafe(bytes32)\":{\"details\":\"This function returns the most recent price update in this contract without any recency checks. This function is unsafe as the returned price update may be arbitrarily far in the past.  Users of this function should check the `timestamp` in the price to ensure that the returned price is sufficiently recent for their application. If you are considering using this function, it may be safer / easier to use either `getPrice` or `getPriceNoOlderThan`.\"},\"getPriceUnsafe(bytes4)\":{\"params\":{\"_id4\":\"Unique ID4 identifier of a price feed supported by this contract.\"}},\"initialize(bytes)\":{\"details\":\"Must fail when trying to upgrade to same logic contract more than once.\"},\"isUpgradable()\":{\"details\":\"Determines whether the logic of this contract is potentially upgradable.\"},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner.\"},\"version()\":{\"details\":\"Retrieves human-redable named version of current implementation.\"}},\"stateVariables\":{\"proxiableUUID\":{\"details\":\"Gets immutable \\\"heritage blood line\\\" (ie. genotype) as a Proxiable, and eventually Upgradeable, contract.      If implemented as an Upgradeable touch, upgrading this contract to another one with a different       `proxiableUUID()` value should fail.\"}},\"title\":\"WitPriceFeedsUpgradableV3: On-demand Price Feeds registry for EVM-compatible L1/L2 chains,  natively powered by the Wit/Oracle blockchain, but yet capable of aggregating price  updates from other on-chain price-feed oracles too, if required.  Price feeds purely relying on the Wit/Oracle present some advantanges, though: - Anyone can permissionless pull and report price updates on-chain. - Updating the price requires paying no extra \\\"update fees\\\". - Prices can be extracted from independent and highly reputed exchanges and data providers. - Actual data sources for each price feed can be introspected on-chain. - Data source traceability in the Wit/Oracle blockchain is possible for every single price update. Instances of this contract may also provide support for \\\"routed price feeds\\\" (computed as the  product or mean average of up to other 8 different price feeds), as well as \\\"cascade price feeds\\\"  (where multiple oracles could be used as backup when preferred ones don't manage to provide  fresh enough updates for whatever reason). Also, this contract allows simple plug-and-play integration from  smart contracts, dapps and DeFi projects currently adapted to operate with other price feed solutions, like Chainlink, or Pyth. \",\"version\":1},\"userdoc\":{\"errors\":{\"DeviantPrice()\":[{\"notice\":\"Requested price deviated too much after previous update.\"}],\"HotPrice()\":[{\"notice\":\"Attempting to update a price before cooldown period expires.\"}],\"InvalidArgument()\":[{\"notice\":\"Function arguments are invalid (e.g., the arguments lengths mismatch)\"}],\"InvalidGovernanceTarget()\":[{\"notice\":\"Either the number of witnesses that solved a price update is not within the settled range in this contract, or an EMA is being asked for a price feed that's not settled for the EMA to be computed. \"}],\"InvalidUpdateData()\":[{\"notice\":\"Update data is invalid (e.g. badly serialized, or bad proof was provided).\"}],\"InvalidUpdateDataSource()\":[{\"notice\":\"Update data is coming from an invalid Wit/Oracle Radon Hash.\"}],\"NoFreshUpdate()\":[{\"notice\":\"There is no fresh update, whereas expected fresh updates.\"}],\"PriceFeedNotFound()\":[{\"notice\":\"Price feed not found or it is not pushed on-chain yet.\"}],\"PriceFeedNotFoundWithinRange()\":[{\"notice\":\"There is no price feed found within the given range or it does not exist.\"}],\"StalePrice()\":[{\"notice\":\"Requested price is stale.\"}]},\"events\":{\"PriceFeedMapper(address,bytes4,string,int8,uint8,string[])\":{\"notice\":\"Emitted when a new routed price feed gets settled.\"},\"PriceFeedOracle(address,bytes4,string,int8,uint8,address,bytes32)\":{\"notice\":\"Emitted when a new oraclized price feed gets settled.\"},\"PriceFeedRemoved(address,bytes4,string)\":{\"notice\":\"Emitted when a price feeds gets removed from the list of supported price feeds.\"},\"PriceFeedUpdateConditions(address,bytes4,string,(uint24,bool,uint24,uint24,uint16,uint16))\":{\"notice\":\"Emitted when the update conditions of some existing price feed get altered.\"},\"Upgraded(address,address,bytes32,string)\":{\"notice\":\"Emitted every time the contract gets upgraded.\"}},\"kind\":\"user\",\"methods\":{\"acceptOwnership()\":{\"notice\":\"=============================================================================================================== --- IWitPriceFeedsAdmin ---------------------------------------------------------------------------------------\"},\"base()\":{\"notice\":\"=============================================================================================================== --- Clonable --------------------------------------------------------------------------------------------------\"},\"class()\":{\"notice\":\"Returns the name of the actual contract implementing the logic of this Witnet appliance.\"},\"clone(address)\":{\"notice\":\"Creates a light-proxy clone to the `base()` contract address, to be owned by the specified `curator` address.  Curators of cloned contracts can optionally settle one single `IWitPriceFeedConsumer` consuming contract.  The consuming contract, if settled, will be immediately reported every time a new Witnet-certified price update gets pushed into the cloned instance. Either way, price feeds data will be stored in the `WitPriceFeeds` storage. \"},\"cloned()\":{\"notice\":\"Tells whether this contract is a clone of `self()`\"},\"consumer()\":{\"notice\":\"Returns the consumer address where all price updates will be reported to.\"},\"createChainlinkAggregator(string)\":{\"notice\":\"Creates a Chainlink Aggregator proxy to the specified symbol.\"},\"defaultUpdateConditions()\":{\"notice\":\"Default update conditions that apply to brand new price feeds.\"},\"footprint()\":{\"notice\":\"Returns a unique hash determined by the combination of data sources being used by  supported non-routed price feeds, and dependencies of all supported routed  price feeds. The footprint changes if any price feed is modified, added, removed  or if the dependency tree of any routed price feed is altered.\"},\"getEmaPrice(bytes32)\":{\"notice\":\"Returns the exponentially-weighted moving average price.\"},\"getEmaPriceNotOlderThan(bytes32,uint64)\":{\"notice\":\"Returns the exponentially-weighted moving average price that is no older than `_age` seconds of the current time.\"},\"getEmaPriceUnsafe(bytes32)\":{\"notice\":\"Returns the exponentially-weighted moving average price of a price feed without any sanity checks.\"},\"getPrice(bytes32)\":{\"notice\":\"Returns the price of given price feed.\"},\"getPrice(bytes4)\":{\"notice\":\"Returns last update price for the specified ID4 price feed. Note: This function is sanity-checked version of `getPriceUnsafe` which is useful in applications and smart contracts that require recentl updated price, and no hint of market deviation being currently excessive. \"},\"getPriceNotOlderThan(bytes32,uint64)\":{\"notice\":\"Returns the price that is no older than `_age` seconds of the current time.\"},\"getPriceNotOlderThan(bytes4,uint24)\":{\"notice\":\"Returns last known price if no older than `_age` seconds of the current time. Note: This function is a sanity-checked version of `getPriceUnsafe` which is useful in applications and smart contracts that require last known non-deviant price, last updated within specified time range.\"},\"getPriceUnsafe(bytes32)\":{\"notice\":\"Returns the price of a price feed without any sanity checks.\"},\"getPriceUnsafe(bytes4)\":{\"notice\":\"Returns last updated price without any sanity checks. Note: This function is unsafe as the returned price update may be arbitrarily far in the past. Users of this function should check the `timestamp` of each price feed to ensure that the returned values  are sufficiently recent for their application. If you need safe access to fresh data, please consider using calling to either `getPrice` or `getPriceNoOlderThan` variants. \"},\"getUpdateFee(bytes)\":{\"notice\":\"Legacy-compliant to get the required fee to update an array of price updates, which would be always 0 if relying from the Wit/Oracle framework.\"},\"hash(string)\":{\"notice\":\"Determines unique ID for specified `symbol` string.\"},\"initialize(bytes)\":{\"notice\":\"Re-initialize contract's storage context upon a new upgrade from a proxy.\"},\"initialized()\":{\"notice\":\"=============================================================================================================== --- Clonable --------------------------------------------------------------------------------------------------\"},\"isUpgradableFrom(address)\":{\"notice\":\"Tells whether provided address could eventually upgrade the contract.\"},\"lookupPriceFeeds()\":{\"notice\":\"Returns last known price updates and deviations for all supported price feeds without any sanity checks.    \"},\"pushDataReport((bytes32,bytes32,(uint16,uint16,uint64),uint64,bytes),bytes)\":{\"notice\":\"=============================================================================================================== --- IWitOracleConsumer ----------------------------------------------------------------------------------------\"},\"specs()\":{\"notice\":\"Returns the ERC-165 id of the minimal functionality expected for this appliance.\"},\"valueFor(bytes32)\":{\"notice\":\"=============================================================================================================== --- IERC2362 --------------------------------------------------------------------------------------------------\"},\"witOracle()\":{\"notice\":\"The Wit/Oracle core address accepted as source of truth.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"project:/contracts/apps/WitPriceFeedsUpgradableV3.sol\":\"WitPriceFeedsUpgradableV3\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol\":{\"keccak256\":\"0xdb4d24ee2c087c391d587cd17adfe5b3f9d93b3110b1388c2ab6c7c0ad1dcd05\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ab7b6d5b9e2b88176312967fe0f0e78f3d9a1422fa5e4b64e2440c35869b5d08\",\"dweb:/ipfs/QmXKYWWyzcLg1B2k7Sb1qkEXgLCYfXecR9wYW5obRzWP1Q\"]},\"@openzeppelin/contracts/access/Ownable.sol\":{\"keccak256\":\"0xff6d0bb2e285473e5311d9d3caacb525ae3538a80758c10649a4d61029b017bb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ed324d3920bb545059d66ab97d43e43ee85fd3bd52e03e401f020afb0b120f6\",\"dweb:/ipfs/QmfEckWLmZkDDcoWrkEvMWhms66xwTLff9DDhegYpvHo1a\"]},\"@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x493033a8d1b176a037b2cc6a04dad01a5c157722049bbecf632ca876224dd4b2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a708e8a5bdb1011c2c381c9a5cfd8a9a956d7d0a9dc1bd8bcdaf52f76ef2f12\",\"dweb:/ipfs/Qmax9WHBnVsZP46ZxEMNRQpLQnrdE4dK8LehML1Py8FowF\"]},\"@openzeppelin/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0x2d9dc2fe26180f74c11c13663647d38e259e45f95eb88f57b61d2160b0109d3e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://81233d1f98060113d9922180bb0f14f8335856fe9f339134b09335e9f678c377\",\"dweb:/ipfs/QmWh6R35SarhAn4z2wH8SU456jJSYL2FgucfTFgbHJJN4E\"]},\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x8891738ffe910f0cf2da09566928589bf5d63f4524dd734fd9cedbac3274dd5c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://971f954442df5c2ef5b5ebf1eb245d7105d9fbacc7386ee5c796df1d45b21617\",\"dweb:/ipfs/QmadRjHbkicwqwwh61raUEapaVEtaLMcYbQZWs9gUkgj3u\"]},\"ado-contracts/contracts/interfaces/IERC2362.sol\":{\"keccak256\":\"0x4df66aa83b94d7c3d52aba3522b6eeafc19f2c45299b7c871ef46eb199ee4f6b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0af92023c38ab97a95fb7e2a196a697cfc1d90bb1b8bfe73e0ba69cbb7a8f5ab\",\"dweb:/ipfs/QmVSBWxe2QCZvAxiuTfEwprK9MbDtFNptoWeMBbmUcwQnx\"]},\"project:/contracts/WitOracle.sol\":{\"keccak256\":\"0x7f20eab15140df459753dfa8e406b826918b56ebe2c46456f9d04345c02629d1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e0573ce3d48200c71d8235a1a8c055b706420b2037bd21336f3c61713c3b8349\",\"dweb:/ipfs/QmY7BnVaNXFtJs1BFdeaa7dQfvUVoZyfwtv9HuToCxUUHU\"]},\"project:/contracts/WitPriceFeeds.sol\":{\"keccak256\":\"0xc12c0f30c241d717f40063c8568d1e0aaaf61ba510f9cccfe4cfed21157f95d4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5fb1e844ee7b4a0aa4fbc5adb64ee3f80aec9b8c8197eccb03d057640198a1fb\",\"dweb:/ipfs/QmQqDUAPCnqSid3DajiUf1QCxqN1SGof7D67fjG7dfwiCU\"]},\"project:/contracts/apps/WitPriceFeedsUpgradableV3.sol\":{\"keccak256\":\"0xfb7c52a3c62b60915bd59df9794be78a2d7d1297005d2a1d282e787ce13da944\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://dd6e30c9309b69b7eee5169f391cc5b92b5ac5dd64bb0c4c16975e67bfb8b02a\",\"dweb:/ipfs/QmTCi9T5LRnjWqPrkdmEqSvrGpfBQh3gRG7g31r5wChnHJ\"]},\"project:/contracts/apps/WitPriceFeedsV3.sol\":{\"keccak256\":\"0x29980dd79bb44f013e05fe62cd16bc033bb175f1311394c56472cfc39aa39231\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ef7e00cb43e5649616206695b63e79d666c3ecd302d21670fb69090096b38230\",\"dweb:/ipfs/QmWHxZzq6HDUPJT8vjjXqVwpXf19o6FX4pcBgwrZWTG4An\"]},\"project:/contracts/data/WitPriceFeedsDataLib.sol\":{\"keccak256\":\"0x6c018724f4a5fdde4c0581bf7e9c25518925fc76f86c8efee9a188da64eaf39a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://143dd8e0cde80a88b4ff2c84f2d2a2b3207fc0201bc7a982689dfc6b90d8a357\",\"dweb:/ipfs/QmcF36BXaHTZ41bJfuukEQ74dksg37XWQ2FhvTd4iVQmNt\"]},\"project:/contracts/interfaces/IWitAppliance.sol\":{\"keccak256\":\"0xd207ca54a1049445a3d99eea497d9b34c6dbdd44d771eee825e4c031bd2f447e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f81de32d868ff2881ed6fe97cc897e40b4b11d23cbe53a0e23cf3e68f9c0f0a3\",\"dweb:/ipfs/QmeeXmzmK5MAzt7Hf5DB2L81efKtTzZg9VbQ8sUiTqEk5c\"]},\"project:/contracts/interfaces/IWitOracle.sol\":{\"keccak256\":\"0x26cbe2074c0b3f545a46d95fad5e2280b67edcd958e4ae0b88f3a018aa11b805\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5324bac61f65e3edb01c88b9b75ca17affd593be88da5753a93b3f5304d3f479\",\"dweb:/ipfs/QmcVmNV6smbFiPaxvuN8ShkqbDZsT1wfjnF7f3qs6ke7QG\"]},\"project:/contracts/interfaces/IWitOracleAppliance.sol\":{\"keccak256\":\"0xcd8e57eca7f8042c85a83264e2ff6d1cd7a9f1521831736d7f57bcc7800642e6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5c639668e9439d60770b5df77436088ae7bd0aeb1d1be446552a98b6c29138f0\",\"dweb:/ipfs/QmbN3f5YuKMSd2j9tjay3VEkiYibGWpbfbwRNyrxA8k4o4\"]},\"project:/contracts/interfaces/IWitOracleConsumer.sol\":{\"keccak256\":\"0x0091b5953897f5bec810d4fa22e43a9dbd5e01600994f6465e3fe14edab02a5b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://61862f8fd20ba0f619c4d6851affd39885c4bbbf1a7bd99e01ac472dae487a1b\",\"dweb:/ipfs/QmXuw1XaQmbSpcrZUhAzTnmnj3Vxna9D1Fg9Zwq5EnZRZK\"]},\"project:/contracts/interfaces/IWitOracleQueriable.sol\":{\"keccak256\":\"0xdb0da1e377a35a7d620f43cb583a876750a52d91da2b888f48042483ad9c4910\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://edfcdf3e96ec3c5de7438f82e3d5a1dc9af9eb29080044213dccb26ff978354c\",\"dweb:/ipfs/Qmap2FzSysh2fug88eortbsTM7itFygRzKc9HfV43ePMik\"]},\"project:/contracts/interfaces/IWitOracleQueriableEvents.sol\":{\"keccak256\":\"0x47c283e931006d35bd2599524f86724e45eae6fad2fdd9cdecd1c85a90ff3f8c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3ad0520f99ec9298536ae9434f58caeb470c10dd3eaab1e4c7ed4cae9a97e2a2\",\"dweb:/ipfs/QmSuYCsSPweZfQc5Fbf9jYDdx4u7gwYCUdjhpcrrxmWZy6\"]},\"project:/contracts/interfaces/IWitOracleRadonRegistry.sol\":{\"keccak256\":\"0x437bbb89129311bd1cc8f6becd333df46109ec53b24d3159be942b225614071f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ef9bcdf4a73cb126885478c994821b7fe2b87d9221b767b4c9342b89b0d6550a\",\"dweb:/ipfs/QmXzZXPMxjSiFpcEnhg6CjLFNxGCpDZt22xpUh7VHxNTGd\"]},\"project:/contracts/interfaces/IWitPriceFeeds.sol\":{\"keccak256\":\"0xb29abe8819699e37e91b41c4cb63273fbb0ab8c482a09c31da6c91d7338cc405\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a9325f3cbd3b396216268ec83d583abd86f44a5d656c375485296e256b3c2f2a\",\"dweb:/ipfs/Qme8pjdacDLa8HLKF7Sm3XZa9uUQn1EL7gANLnAbak8y4f\"]},\"project:/contracts/interfaces/IWitPriceFeedsAdmin.sol\":{\"keccak256\":\"0xd05b103840eeb8a4770e140dbe91bd40dd33d92959d226c57a2ae45a5e615355\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://29e6104b0b62c676bb797ce8d01512550058f5b6de210b2467ba9bb0dfe8c00f\",\"dweb:/ipfs/QmUAgsVJYHqiRFrrnWCYo5vGJRaN4VsZvcBXJWYJUF5QyV\"]},\"project:/contracts/interfaces/IWitPriceFeedsConsumer.sol\":{\"keccak256\":\"0x2c12c7f4502a2953f352b67688cd8841a1198c9b8e8f9f87ab3fc0163b7533e9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d82ec627ac4c38a7336b03541c118d606e107128ba109097857a26d376e92f33\",\"dweb:/ipfs/QmQBmvL5ziD7fY2vDBNpbDbbhnwi8Cwh4XVthUjTd9ZyCF\"]},\"project:/contracts/interfaces/IWitPriceFeedsEvents.sol\":{\"keccak256\":\"0xf8b1a2ca8dd8dc8a5b8debf18f4c32df404709a4b03353c939e57a92a4e41b4e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f755b639781013ae0bae92f063b1f5b440c187bbc9a7f938b6982e579114acfe\",\"dweb:/ipfs/QmZafsjeELGnVdbXvsiXeQ82vR7DBFCrwDLGqeopgxBgyC\"]},\"project:/contracts/interfaces/IWitPriceFeedsTypes.sol\":{\"keccak256\":\"0x68e2189e863f50e8d0aad8394a526df00c1e626886c23aa24c915427e5285e46\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f5ff40355d4144e7c08f033b55e9ef1b5994bbd83bbfbd7a41129b141f164194\",\"dweb:/ipfs/QmXMhM7GXaVXnCQ1VFB4kPhbhbfktuNFKqMGXMtWLgUk3d\"]},\"project:/contracts/interfaces/legacy/IChainlinkAggregatorV3.sol\":{\"keccak256\":\"0x09750da5b74e684e13093320b00c8e95d648ddf58bfdb29b8bc3b90e6853c263\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b08da33fc3e7cbf1f60965f82efdea926f2f62312298be29188eca9d109189ac\",\"dweb:/ipfs/QmR2sJ4dddcDW5q14usqiEeB7pamqHDfqkMDd9hghVMhiJ\"]},\"project:/contracts/interfaces/legacy/IPythChainlinkAggregatorV3.sol\":{\"keccak256\":\"0x768f729a0575850eab9bde8f57bea1f5761e6749b7c2de9a6c580594fad4a1fb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a3f6ca5693bec81a880f4d34e78f8de30bd783e25ae7b628a1a4ced4c73b8894\",\"dweb:/ipfs/QmXjajPrDiW9y1uwEaJhcsonJPWPYCdDegMoCQ6CkGPCL2\"]},\"project:/contracts/interfaces/legacy/IWitPyth.sol\":{\"keccak256\":\"0xa06a34a5e553beae7dbe09a5d1049557190511e696a1b855ab5e1196a06048a2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d2c814b7be5539147c0ba1b55f6cddcad382d5e5e9f9de545d2d428c1989c7de\",\"dweb:/ipfs/QmY8KSV3PW2FBQVzXidLQ21KvDJ1v6y8WHaV8uxsqThJCC\"]},\"project:/contracts/interfaces/legacy/IWitPythChainlinkAggregator.sol\":{\"keccak256\":\"0xd34682fccc3ac1af39ef5f3bea61cd4ae8ee80862649678de5714a51177f4384\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://017eddcbf631cdc3e1a7f2c34478fe98697371b83d1985fa742e46a99c7b7a63\",\"dweb:/ipfs/QmbJ4XH8e2J79kuAtP1CcYftDfDUYf9NqxFDaKvSpzTGV2\"]},\"project:/contracts/interfaces/legacy/IWitPythErrors.sol\":{\"keccak256\":\"0x7d10dfd625a4914e4017cde140397f9f236f726ea82b4feed1d889f852866c1d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5bbf8dc2bbac36cf0a141f7062b6ed8143cffaee7969a1afc3cf0d1971e8cf18\",\"dweb:/ipfs/QmbLiZwggZwhiTLJurBkAu492xAZZ9MXWiknsuGnLYNXhP\"]},\"project:/contracts/interfaces/legacy/IWitPythEvents.sol\":{\"keccak256\":\"0xacca21f4bb4d740de63f4f2e469e8313b1d8f9a7d2340efcc17981c3510c2800\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://da8b0493082593838fbc4df2431c1983a82165ae1f17215e988951c0c1ef3882\",\"dweb:/ipfs/QmNUX9K3UqxiR9igT87iLja8h3u7htp83ZhAGZ6UgD3BZP\"]},\"project:/contracts/libs/Bech32.sol\":{\"keccak256\":\"0x14618323a0efe7586c20906a2e9cee7ad63baa976ff231c57f7f2d7d3707fb8b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a19f05fe84047a7a6d3d6fc39972b432e6e536aa70472386a9d7a6d9aab64a64\",\"dweb:/ipfs/QmcHwUY66yjiotRH4Q3kbRvSzcHyLQ1yHL3KbtQKiMhtZE\"]},\"project:/contracts/libs/Secp256k1.sol\":{\"keccak256\":\"0xbe686002da5004ff39dd70709f3820eba2afe9323ae9cb894009c161e4b1a666\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://18fab91775216de0707cea9ad285b10be09127461a13432fea358bf9cb2a0c2e\",\"dweb:/ipfs/QmeRUGsgstnM4hxM9hpkBf3L6cE5btirEaowcMxmuw3utj\"]},\"project:/contracts/libs/Slices.sol\":{\"keccak256\":\"0x9d046fa558be922c9625a1fdc470f6e68b3c9b5745b6185cb4a4fc59181fa006\",\"license\":\"APACHE-2.0\",\"urls\":[\"bzz-raw://ab19ba09faf83aaa92947f0a0907f6522be89279a9a1b0e53d5393a23085947d\",\"dweb:/ipfs/QmeE9MwhpSFNTwyqDFpMFjftrJKR1edBhLjV3bdKQQHUVm\"]},\"project:/contracts/libs/Witnet.sol\":{\"keccak256\":\"0x1d446c3e534e40e676d1763bfb2897fadfac8afed904ab757843d7d6770b0a6c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://338fb1073f17d64e8d31bfe492d9475ce906788ee08e6489ce30413f91dc1328\",\"dweb:/ipfs/QmPe5QX2AGTnQFjse1Xttq4ZYWwYAiXoySb5VUui3PqPhk\"]},\"project:/contracts/libs/WitnetBuffer.sol\":{\"keccak256\":\"0x8e07aebe2954ab3e6f2d8eceedb12db7cf915c1f3e8630f4fa9999cecb1c78ec\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ed6c54cc901183d61546e8fd15bd5ea8ef238ebc915642946071d435dd7481ea\",\"dweb:/ipfs/Qmcaqta7YjUSBbBUGqoh44bsCS6UqqoyHjBuz4qnKBShXM\"]},\"project:/contracts/libs/WitnetCBOR.sol\":{\"keccak256\":\"0xd99308373575cc10fb7f2ceb0f6a8625f3911275c1fa27811fae498d98d03d97\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b4909a999d7b660a2dc54ca957b6eccfa523e2765fc4d6a2574dee7d5cd67b43\",\"dweb:/ipfs/QmWGQT4KDcfSFe1hcHVoWx6E4PhYMaod5iLpJCWBEeShzh\"]},\"project:/contracts/mockups/WitPythChainlinkAggregator.sol\":{\"keccak256\":\"0xac58a4bb3652a2af7cae48d7463e265945a3b73976fd23b4041638f57ca946e0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://eaa9fb289349935abaa405efbc17d454f926803741fead72f7e2fbdc697ba86d\",\"dweb:/ipfs/QmTUJq2EGBXbovnKNTWE3bGoU1jzAQc7aVdFAu1esANrBJ\"]},\"project:/contracts/patterns/Clonable.sol\":{\"keccak256\":\"0x9a2dbc814306f60263fe736b88aeabc44fc241d3bed132e8dd76a3684dd825f7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e665de5be06c9227c49f9466d24f798d4bed1a2db66d4d1368dcd9fc663c1b3a\",\"dweb:/ipfs/QmRjY2CHTGp1eyi9XPeTKr4WnPCzXbtk2285kdy2bJVCYA\"]},\"project:/contracts/patterns/Initializable.sol\":{\"keccak256\":\"0xaac470e87f361cf15d68d1618d6eb7d4913885d33ccc39c797841a9591d44296\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ef3760b2039feda8715d4bd9f8de8e3885f25573d12ba92f52d626ba880a08bf\",\"dweb:/ipfs/QmP2mfHPBKkjTAKft95sPDb4PBsjfmAwc47Kdcv3xYSf3g\"]},\"project:/contracts/patterns/Ownable.sol\":{\"keccak256\":\"0x494bda32f9a218d9c33ea82112129c0933ab52f57eabfbf0d14a8742a3370800\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6c4cf04ebb052fed9d15cf93ff4523955ee311aa4425ee85f0e80b4489c94e76\",\"dweb:/ipfs/QmfMf4WD7woTaQSTbJxxoan2aXSeY7ovY5NoipSBw5rMPK\"]},\"project:/contracts/patterns/Ownable2Step.sol\":{\"keccak256\":\"0x45ed9d1f98e2a7a5bd1a7040dbd4292f1458fa1cb212d0143718684efa436bd5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://45d347c5ef492b33dcf3953bb3911fe7160a6c812e69ed84d2511f0847e19229\",\"dweb:/ipfs/QmZp3icE2gQBoJp8KorWC1GfGC8mK29sK9fEveKRMNCY1U\"]},\"project:/contracts/patterns/Proxiable.sol\":{\"keccak256\":\"0x86032205378fed9ed2bf155eed8ce4bdbb13b7f5960850c6d50954a38b61a3d8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f89978eda4244a13f42a6092a94ac829bb3e38c92d77d4978b9f32894b187a63\",\"dweb:/ipfs/Qmbc1XaFCvLm3Sxvh7tP29Ug32jBGy3avsCqBGAptxs765\"]},\"project:/contracts/patterns/Upgradeable.sol\":{\"keccak256\":\"0x49d1a83abc7a9b39d224677dde65ead4b7f1104332a94c9e619854b2a6b3a89e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e6a798a953af921a5b4e24e3f78bebae97819a85c90deb12ec505952faa42814\",\"dweb:/ipfs/QmVJhv4x3MXf4aDbMC5Q259K8kZNvxSXzmy8anoow7nS7k\"]}},\"version\":1}",
  "bytecode": "0x6101606040523060e052348015610014575f5ffd5b5060405161602338038061602383398101604081905261003391610312565b8233806100405733610042565b805b3060805283151560c0526001600160a01b03811661007a57604051631e4fbdf760e01b81525f60048201526024015b60405180910390fd5b610083816102a7565b505f826001600160a01b03163b116100dd5760405162461bcd60e51b815260206004820152601560248201527f696e6578697374656e74207769742f6f7261636c6500000000000000000000006044820152606401610071565b5f826001600160a01b031663adb7c3f76040518163ffffffff1660e01b8152600401602060405180830381865afa15801561011a573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061013e9190610361565b90506001600160e01b03198116636d11bc5160e11b148061016f57506001600160e01b031981166304722eaf60e31b145b6101bb5760405162461bcd60e51b815260206004820152601660248201527f756e636f6d706c69616e74207769742f6f7261636c65000000000000000000006044820152606401610071565b50506001600160a01b031661010052506040805160c081018252620f424081525f6020808301829052610384838501526201518060608401526080830191909152600360a0909201919091527fc5354469a5d32189a18f5e79f9508d828fa089087c317bc89792b1c8dba5390480546001600160701b0319166c030000015180000384000f4240179055610120929092528051808201909152601781527f696f2e7769746e65742e707269636566656564732e7633000000000000000000910152507f33f433a1d48c1d0bc6c5dce7fc5ae960b57aa338a1fb7b7ecbcbeaf0cf1deb3d6101405261038f565b600180546001600160a01b03191690556102c0816102c3565b50565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b5f5f5f60608486031215610324575f5ffd5b83516001600160a01b038116811461033a575f5ffd5b6020850151604086015191945092508015158114610356575f5ffd5b809150509250925092565b5f60208284031215610371575f5ffd5b81516001600160e01b031981168114610388575f5ffd5b9392505050565b60805160a05160c05160e051610100516101205161014051615beb6104385f395f6104bf01525f6112c401525f8181610337015281816114a7015281816117ac015261217b01525f818161049601528181611067015281816110bf01528181611c8f01528181611fef0152818161303f01526130ec01525f81816104e3015261168c01525f50505f818161063101528181610f4101528181611009015261109d0152615beb5ff3fe608060405234801561000f575f5ffd5b50600436106102d4575f3560e01c80639474f45b11610180578063c5010d17116100e7578063e36a1d9e116100a0578063f2fde38b1161007a578063f2fde38b1461078e578063f78eea83146107a1578063fa78a971146107cf578063fd91c054146107e2576102d4565b8063e36a1d9e14610755578063e56bd31514610768578063e59a78081461077b576102d4565b8063c5010d17146106ee578063c66f4c0a14610701578063c70f2f7314610714578063d9ea438f14610727578063e27b10881461073a578063e30c39781461074d576102d4565b8063aba146ff11610139578063aba146ff14610656578063adb7c3f714610669578063b411ee9414610676578063b4fd729614610689578063b5dcc9111461044e578063bff852fa146106b9576102d4565b80639474f45b146105f457806396834ad3146105f457806397445409146106075780639d61f28b146103e4578063a04daef014610627578063a9e954b91461062f576102d4565b80635479d9401161023f578063715018a6116101f85780638124b78e116101d25780638124b78e1461058b5780638a416ea91461059e5780638da5cb5b146105cf5780639190795f146105df576102d4565b8063715018a61461056857806379393a8b1461057057806379ba509714610583576102d4565b80635479d940146104e157806354fd4d5014610507578063608921931461051c57806367e559ac1461052f5780636b58960a146105425780636d0d6a7e14610555576102d4565b80633108e1b8116102915780633108e1b81461043957806331d98b3f1461044e578063439fab91146104615780634c7510d0146104745780635001f3b51461049457806352d1902d146104ba576102d4565b80630683bcd2146103095780631014d37514610332578063158ef93e14610371578063238e0a8a1461039e578063274d45db146103bf578063288b5e67146103e4575b610307604051806040016040528060128152602001711d5b9cdd5c1c1bdc9d1959081b595d1a1bd960721b8152506107f5565b005b61031c610317366004613a28565b610866565b6040516103299190613c50565b60405180910390f35b6103597f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610329565b5f516020615b565f395f51905f5254600160601b900461ffff1615155b6040519015158152602001610329565b6103b16103ac366004613ca6565b610bf0565b604051908152602001610329565b6103d26103cd366004613a28565b610bf8565b6040515f9190910b8152602001610329565b6103f76103f2366004613d03565b610c15565b6040516103299190815160070b81526020808301516001600160401b03169082015260408083015160030b908201526060918201519181019190915260800190565b610441610d22565b6040516103299190613d31565b6103f761045c366004613d94565b610de2565b61030761046f366004613e98565b610e40565b610487610482366004613ee9565b611143565b6040516103299190613f3b565b7f0000000000000000000000000000000000000000000000000000000000000000610359565b6103b17f000000000000000000000000000000000000000000000000000000000000000081565b7f000000000000000000000000000000000000000000000000000000000000000061038e565b61050f6112bd565b6040516103299190613f50565b61048761052a366004613f6f565b6112ed565b61048761053d366004614034565b61147d565b61038e6105503660046140c8565b611689565b6103076105633660046140e3565b6116dd565b610307611c0c565b61030761057e3660046140c8565b611c1f565b610307611dc4565b6103596105993660046140c8565b611dcc565b7fc5354469a5d32189a18f5e79f9508d828fa089087c317bc89792b1c8dba5390554600160a01b900460e01b610487565b5f546001600160a01b0316610359565b6105e7611e52565b604051610329919061414e565b6103f7610602366004613d94565b611ed1565b61061a610615366004613a28565b611f17565b604051610329919061415c565b61038e611fb3565b7f00000000000000000000000000000000000000000000000000000000000000003f6103b1565b610307610664366004614180565b61201d565b6363708c9360e01b610487565b6103b1610684366004613e98565b61208d565b7fc5354469a5d32189a18f5e79f9508d828fa089087c317bc89792b1c8dba53905546001600160a01b0316610359565b6040805180820190915260198152785769745072696365466565647355706772616461626c65563360381b602082015261050f565b61038e6106fc366004613ca6565b612097565b61061a61070f366004613a28565b6120f5565b61048761072236600461419a565b612152565b61061a610735366004614202565b61235b565b61050f610748366004613a28565b612407565b6103596124a0565b6103b1610763366004613a28565b6124b3565b610359610776366004613ca6565b6124bd565b61048761078936600461422e565b6125ce565b61030761079c3660046140c8565b612626565b6107b46107af366004613d94565b61263a565b60408051938452602084019290925290820152606001610329565b6103076107dd3660046142b0565b61277c565b6103596107f0366004614300565b6127e6565b6040805180820190915260198152785769745072696365466565647355706772616461626c65563360381b60208201528160405160200161083792919061434b565b60408051601f198184030181529082905262461bcd60e51b825261085d91600401613f50565b60405180910390fd5b61086e61393c565b5f6108788361299c565b6001810154909150600160501b900460ff1660605f82600481111561089f5761089f613a71565b14610a12575f6108b86001600160e01b031987166129d8565b905080516001600160401b038111156108d3576108d3613dab565b60405190808252806020026020018201604052801561090657816020015b60608152602001906001900390816108f15790505b5091505f5b8151811015610a0f575f516020615b765f395f51905f526001015f8383815181106109385761093861436b565b60200260200101516001600160e01b0319166001600160e01b03191681526020019081526020015f205f01805461096e9061437f565b80601f016020809104026020016040519081016040528092919081815260200182805461099a9061437f565b80156109e55780601f106109bc576101008083540402835291602001916109e5565b820191905f5260205f20905b8154815290600101906020018083116109c857829003601f168201915b50505050508382815181106109fc576109fc61436b565b602090810291909101015260010161090b565b50505b600183015460028401546040805160e08101909152600160581b830460ff1692600160601b90046001600160a01b03169080610a4d8a612aa1565b81526001880154600160201b90045f0b602082015287546040909101908890610a759061437f565b80601f0160208091040260200160405190810160405280929190818152602001828054610aa19061437f565b8015610aec5780601f10610ac357610100808354040283529160200191610aec565b820191905f5260205f20905b815481529060010190602001808311610acf57829003601f168201915b505050505081526020016040518060400160405280886004811115610b1357610b13613a71565b81526020018781525081526020016040518060600160405280866003811115610b3e57610b3e613a71565b8152602001846001600160a01b03168152602001858152508152602001610b6788600401612b13565b815260200173__WitPriceFeedsDataLib__________________63974454098b6040518263ffffffff1660e01b8152600401610ba39190613f3b565b60a060405180830381865af4158015610bbe573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610be291906143cd565b905298975050505050505050565b5f5b92915050565b5f610c028261299c565b60010154600160201b90045f0b92915050565b604080516080810182525f808252602082018190528183018190526060820152905163d9ea438f60e01b81526001600160e01b03198416600482015262ffffff83166024820152610d1b9073__WitPriceFeedsDataLib__________________9063d9ea438f906044015b60a060405180830381865af4158015610c9b573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cbf91906143cd565b60408051608080820183525f80835260208084018290528385018290526060938401829052845192830185528581015160070b835282018190528451900b92810192909252918201516001600160401b03169181019190915290565b9392505050565b5f516020615b765f395f51905f528054606091906001600160401b03811115610d4d57610d4d613dab565b604051908082528060200260200182016040528015610d8657816020015b610d7361393c565b815260200190600190039081610d6b5790505b5091505f5b8251811015610ddd57610db8610317838381548110610dac57610dac61436b565b905f5260205f20015490565b838281518110610dca57610dca61436b565b6020908102919091010152600101610d8b565b505090565b604080516080810182525f808252602082018190529181018290526060810191909152610bf273__WitPriceFeedsDataLib__________________63c66f4c0a845b6040518263ffffffff1660e01b8152600401610c809190613f3b565b5f516020615b565f395f51905f5254610e9a90600160601b900461ffff161580610e6f5750610e6d611fb3565b155b6040518060400160405280600d81526020016c6e6f74206f6e20636c6f6e657360981b815250612c8c565b5f546001600160a01b031680610ed05781806020019051810190610ebe91906144b3565b92509050610ecb81612c9e565b610f18565b336001600160a01b03821614610f185760405162461bcd60e51b815260206004820152600d60248201526c3737ba103a34329037bbb732b960991b604482015260640161085d565b5f516020615b965f395f51905f525415801590610f6357505f516020615b965f395f51905f52547f00000000000000000000000000000000000000000000000000000000000000003f145b15610fa65760405162461bcd60e51b8152602060048201526013602482015272185b1c9958591e481a5b9a5d1a585b1a5e9959606a1b604482015260640161085d565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbd546001600160a01b0316611007577f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbd80546001600160a01b031916301790555b7f00000000000000000000000000000000000000000000000000000000000000003f5f516020615b965f395f51905f52557f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031617905561109b82612cb7565b7f00000000000000000000000000000000000000000000000000000000000000003f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166110f85f546001600160a01b031690565b6001600160a01b03167fe73e754121f0bad1327816970101955bfffdf53d270ac509d777c25be070d7f661112a6112bd565b6040516111379190613f50565b60405180910390a45050565b5f61114c612dc0565b5f61119161118e86868080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201919091525061208d92505050565b90565b6040516303e8c70160e51b81526001600160e01b031982166004820152841515602482015290915073__WitPriceFeedsDataLib__________________90637d18e020906044015f6040518083038186803b1580156111ee575f5ffd5b505af4158015611200573d5f5f3e3d5ffd5b50505050336001600160a01b03167f757500535198cca670e5ed07230e87648f077ff0ec74b0cef5df05db58a9961882878760405161124193929190614528565b60405180910390a273__WitPriceFeedsDataLib__________________63fce897db6040518163ffffffff1660e01b8152600401602060405180830381865af4158015611290573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112b4919061454a565b95945050505050565b60606112e87f0000000000000000000000000000000000000000000000000000000000000000612dec565b905090565b5f6112f6612dc0565b6040516301d63b7f60e01b815273__WitPriceFeedsDataLib__________________906301d63b7f90611337908a908a908a908a908a908a906004016145a6565b602060405180830381865af4925050508015611370575060408051601f3d908101601f1916820190925261136d9181019061454a565b60015b6113e35761137c614639565b806308c379a0036113aa5750611390614651565b8061139b57506113ac565b6113a4816107f5565b50611473565b505b3d8080156113d5576040519150601f19603f3d011682016040523d82523d5f602084013e6113da565b606091505b506113a4612e94565b336001600160a01b03167fc15d7f9f6442190dc6f24107279211aeb0c9e831201b7660eb0dee70e439380461144f61118e8b8b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201919091525061208d92505050565b8a8a8a8a8a8a60405161146897969594939291906146d3565b60405180910390a290505b9695505050505050565b5f611486612dc0565b73__WitPriceFeedsDataLib__________________630873d81d87878686897f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316637b1039996040518163ffffffff1660e01b8152600401602060405180830381865afa158015611501573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906115259190614776565b6040518763ffffffff1660e01b815260040161154696959493929190614791565b6040805180830381865af492505050801561157e575060408051601f3d908101601f1916820190925261157b918101906147dd565b60015b6115f15761158a614639565b806308c379a0036115b8575061159e614651565b806115a957506115ba565b6115b2816107f5565b506112b4565b505b3d8080156115e3576040519150601f19603f3d011682016040523d82523d5f602084013e6115e8565b606091505b506115b2612e94565b336001600160a01b03167fae160f4bc68d30bb720cf2faa436df303e1cb02624a87bf4af0a30d51783d87b61165d61118e8b8b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201919091525061208d92505050565b8a8a8a5f30886040516116769796959493929190614809565b60405180910390a2509695505050505050565b5f7f00000000000000000000000000000000000000000000000000000000000000008015610bf25750816001600160a01b03166116cd5f546001600160a01b031690565b6001600160a01b03161492915050565b6020838101355f9081527fc5354469a5d32189a18f5e79f9508d828fa089087c317bc89792b1c8dba53903909152604090205460e01b6001600160e01b0319811661173b5760405163e60dce7160e01b815260040160405180910390fd5b5f6117458261299c565b90505f61175482600401612b13565b60a081015190915061ffff16611770608088016060890161487a565b61ffff161015611793576040516363daeb7760e01b815260040160405180910390fd5b604051633686b53f60e11b81525f906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690636d0d6a7e906117e5908a908a908a90600401614895565b5f604051808303815f875af1158015611800573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526118279190810190614a42565b90505f815160ff81111561183d5761183d613a71565b14801561185f575060048160200151601381111561185d5761185d613a71565b145b61187c5760405163734fff6760e11b815260040160405180910390fd5b600583015460808201516001600160401b03600160c01b90920482169116116118b857604051636f162bfd60e11b815260040160405180910390fd5b604082015160058401546118e19162ffffff1690600160c01b90046001600160401b0316614b11565b6001600160401b031681608001516001600160401b0316101561191757604051630fbbc58160e01b815260040160405180910390fd5b60058301546080820151600160b81b82045f90810b92909161194891600160c01b90046001600160401b0316614b30565b600586015462ffffff919091169150600160401b90046001600160401b03165f61197185612ec5565b90505f61197e8383614b4f565b90505f5f8260060b12156119ba578361199683614b7e565b6119a2906103e8614ba2565b66ffffffffffffff166119b59190614bc1565b6119da565b836119c7836103e8614ba2565b66ffffffffffffff166119da9190614bc1565b9050876080015161ffff165f1480611a035750876080015161ffff16816001600160401b031611155b611a2057604051637b0d2bb560e01b815260040160405180910390fd5b60058901805460808901516001600160401b03908116600160c01b026001600160c01b03918716600160401b026fffffffffffffffff00000000000000001966ffffffffffffff8816600160801b021676ffffffffffffffffffffffffffffff000000000000000019909416939093179290921716179055604087015160068a01555f611ab75f516020615b765f395f51905f5290565b600501546001600160a01b031603611b46576080808801516040808a015181516001600160401b039384168152602081019190915291861690820152600684900b60608201525f88900b918101919091526001600160e01b03198b16907f0800977f281a92a8fb15f0b059791b2ffcc82fdc78be5227cec46afdb45f947d9060a00160405180910390a2611bfd565b5f516020615b765f395f51905f526005015460808801516040808a0151905163292e503960e11b81526001600160e01b03198e1660048201526001600160401b03928316602482015260448101919091528186166064820152600685900b608482015290871660a48201525f88900b60c48201526001600160a01b039091169063525ca0729060e4015f604051808303815f87803b158015611be6575f5ffd5b505af1158015611bf8573d5f5f3e3d5ffd5b505050505b50505050505050505050505050565b611c14612dc0565b611c1d5f612c9e565b565b611c27611fb3565b611c6e5760405162461bcd60e51b8152602060048201526018602482015277436c6f6e61626c653a206f6e6c79206f6e20636c6f6e657360401b604482015260640161085d565b611c76612dc0565b611d836001600160a01b0382163014801590611cc457507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b031614155b8015611cd957505f826001600160a01b03163b115b8015611d555750306001600160a01b0316826001600160a01b0316635f1cf1376040518163ffffffff1660e01b8152600401602060405180830381865afa158015611d26573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611d4a9190614776565b6001600160a01b0316145b6040518060400160405280601081526020016f34b73b30b634b21031b7b739bab6b2b960811b815250612c8c565b7fc5354469a5d32189a18f5e79f9508d828fa089087c317bc89792b1c8dba5390580546001600160a01b0319166001600160a01b0392909216919091179055565b611c1d612fa0565b5f611dd561301b565b604051633f64701560e21b81526001600160a01b03919091169063fd91c05490611e129085905f516020615b565f395f51905f5290600401614bfa565b6020604051808303815f875af1158015611e2e573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bf29190614776565b611e5a6139d2565b506040805160c0810182525f516020615b565f395f51905f525462ffffff808216835260ff630100000083041615156020840152600160201b8204811693830193909352600160381b8104909216606082015261ffff600160501b830481166080830152600160601b90920490911660a082015290565b604080516080810182525f808252602082018190529181018290526060810191909152610bf273__WitPriceFeedsDataLib__________________639744540984610e24565b6040805160a0810182525f808252602082018190528183018190526060820181905260808201529051639744540960e01b815273__WitPriceFeedsDataLib__________________90639744540990611f74908590600401613f3b565b60a060405180830381865af4158015611f8f573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bf291906143cd565b5f7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc600101546001600160a01b031630148015906112e85750507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031630141590565b612025612dc0565b61206f61203f61203a36849003840184614c62565b61314e565b60405180604001604052806012815260200171696e76616c696420636f6e646974696f6e7360701b815250612c8c565b805f516020615b565f395f51905f526120888282614d09565b505050565b5f610bf282613182565b5f5f6120e26120dd61118e86868080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201919091525061208d92505050565b61299c565b90506120ed816131b1565b949350505050565b6040805160a0810182525f808252602082018190528183018190526060820181905260808201529051636337a60560e11b815273__WitPriceFeedsDataLib__________________9063c66f4c0a90611f74908590600401613f3b565b5f61215b612dc0565b73__WitPriceFeedsDataLib__________________63ef0bf0a0868685877f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316637b1039996040518163ffffffff1660e01b8152600401602060405180830381865afa1580156121d5573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906121f99190614776565b6040518663ffffffff1660e01b8152600401612219959493929190614e10565b602060405180830381865af4925050508015612252575060408051601f3d908101601f1916820190925261224f9181019061454a565b60015b6122c55761225e614639565b806308c379a00361228c5750612272614651565b8061227d575061228e565b612286816107f5565b506120ed565b505b3d8080156122b7576040519150601f19603f3d011682016040523d82523d5f602084013e6122bc565b606091505b50612286612e94565b336001600160a01b03167fae160f4bc68d30bb720cf2faa436df303e1cb02624a87bf4af0a30d51783d87b61233161118e89898080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201919091525061208d92505050565b8888885f308a60405161234a9796959493929190614809565b60405180910390a295945050505050565b6040805160a0810182525f80825260208201819052818301819052606082018190526080820152905163d9ea438f60e01b81526001600160e01b03198416600482015262ffffff8316602482015273__WitPriceFeedsDataLib__________________9063d9ea438f9060440160a060405180830381865af41580156123e3573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d1b91906143cd565b60606124128261299c565b805461241d9061437f565b80601f01602080910402602001604051908101604052809291908181526020018280546124499061437f565b80156124945780601f1061246b57610100808354040283529160200191612494565b820191905f5260205f20905b81548152906001019060200180831161247757829003601f168201915b50505050509050919050565b5f6112e86001546001600160a01b031690565b5f610bf282612aa1565b5f6124c88383612097565b6124e557604051630295d7cd60e31b815260040160405180910390fd5b5f604051806020016124f690613a06565b6020820181038252601f19601f8201166040525090505f3061254f61118e87878080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201919091525061208d92505050565b60405160609290921b6bffffffffffffffffffffffff191660208301526001600160e01b031916603482015260380160405160208183030381529060405290505f61259a8383613206565b9050806001600160a01b03163b5f036112b4575f6125b88484613287565b90505f8151602083015ff5979650505050505050565b5f6125d7612dc0565b61261b87878080601f0160208091040260200160405190810160405280939291908181526020018383808284375f92019190915250899250889150879050866132b3565b979650505050505050565b61262e612dc0565b61263781613390565b50565b5f808083816126488261299c565b90505f61265782600401612b13565b6060810151604051631752c19f60e01b8152600481018590526001600160e01b03198616602482015262ffffff90911660448201529091505f9073__WitPriceFeedsDataLib__________________90631752c19f9060640160c060405180830381865af41580156126cb573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906126ef9190614e4b565b80519091506001600160401b031661270b57806020015161270e565b80515b6001600160401b0316965080608001516001600160401b03169550855f1461276757816060015162ffffff1681608001516127499190614b11565b6001600160401b0316421161275f5760c861276b565b61019061276b565b6101945b61ffff169450505050509193909250565b612784612dc0565b61279961203f61203a36849003840184614c62565b61208883838080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920191909152506127e19250505036849003840184614c62565b6133c1565b5f6127ef611fb3565b6128365760405162461bcd60e51b8152602060048201526018602482015277436c6f6e61626c653a206f6e6c79206f6e20636c6f6e657360401b604482015260640161085d565b5f61283f6134e5565b805490915060ff600160401b82041615906001600160401b03165f811580156128655750825b90505f826001600160401b031660011480156128805750303b155b90508115801561288e575080155b156128ac5760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff1916600117855583156128d657845460ff60401b1916600160401b1785555b60408051808201909152600c81526b3d32b9379031bab930ba37b960a11b602082015261290f906001600160a01b038a16151590612c8c565b61291888612c9e565b61292d61203f61203a368a90038a018a614c62565b865f516020615b565f395f51905f526129468282614d09565b5030965050831561299157845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b505050505092915050565b6001600160e01b031981165f9081527fc5354469a5d32189a18f5e79f9508d828fa089087c317bc89792b1c8dba5390160205260408120610bf2565b6001600160e01b031981165f9081527fc5354469a5d32189a18f5e79f9508d828fa089087c317bc89792b1c8dba5390160209081526040918290206003015482516008808252610120820190945260609391929091908201610100803683370190505091505f5b6008811015612a9957816001600160e01b031981165f03612a605750612a99565b80848381518110612a7357612a7361436b565b6001600160e01b03199092166020928302919091018201529290921b9150600101612a3f565b825250919050565b6001600160e01b031981165f9081527fc5354469a5d32189a18f5e79f9508d828fa089087c317bc89792b1c8dba5390160205260408120600101545f516020615b765f395f51905f528054909163ffffffff16908110612b0357612b0361436b565b905f5260205f2001549050919050565b612b1b6139d2565b6040805160c0810190915282545f516020615b565f395f51905f529190819062ffffff1615612b5057845462ffffff16612b58565b825462ffffff165b62ffffff16815284546020909101906301000000900460ff1680612b84575082546301000000900460ff165b151581528454602090910190600160201b900462ffffff1615612bb4578454600160201b900462ffffff16612bc3565b8254600160201b900462ffffff165b62ffffff90811682528554602090920191600160381b90041615612bf4578454600160381b900462ffffff16612c03565b8254600160381b900462ffffff165b62ffffff1681528454602090910190600160501b900461ffff1615612c34578454600160501b900461ffff16612c42565b8254600160501b900461ffff165b61ffff90811682528554602090920191600160601b90041615612c71578454600160601b900461ffff16612c7f565b8254600160601b900461ffff165b61ffff1690529392505050565b81612c9a57612c9a816107f5565b5050565b600180546001600160a01b03191690556126378161350d565b5f516020615b965f395f51905f52541580612d4b57506040805160c0810182525f516020615b565f395f51905f525462ffffff808216835260ff630100000083041615156020840152600160201b8204811693830193909352600160381b8104909216606082015261ffff600160501b830481166080830152600160601b90920490911660a0820152612d499061314e565b155b1561263757506040805160c081018252620f424081525f60208201819052610384928201929092526201518060608201526080810191909152600360a0909101525f516020615b565f395f51905f5280546dffffffffffffffffffffffffffff19166c030000015180000384000f4240179055565b5f546001600160a01b03163314611c1d5760405163118cdaa760e01b815233600482015260240161085d565b60605f612df88361355c565b6001600160401b03811115612e0f57612e0f613dab565b6040519080825280601f01601f191660200182016040528015612e39576020820181803683370190505b5090505f5b8151811015612e8d57838160208110612e5957612e5961436b565b1a60f81b828281518110612e6f57612e6f61436b565b60200101906001600160f81b03191690815f1a905350600101612e3e565b5092915050565b611c1d6040518060400160405280601081526020016f1d5b9a185b991b1959081c995d995c9d60821b8152506107f5565b5f816004612ed282613599565b158015612f045750806013811115612eec57612eec613a71565b82602001516013811115612f0257612f02613a71565b145b612f505760405162461bcd60e51b815260206004820152601760248201527f63626f723a2063616e6e6f742066657463682064617461000000000000000000604482015260640161085d565b612f5d8460a001516135a6565b9250612f6c8260a001516135f5565b82602001906013811115612f8257612f82613a71565b90816013811115612f9557612f95613a71565b815250505050919050565b3380612faa6124a0565b6001600160a01b0316146130125760405162461bcd60e51b815260206004820152602960248201527f4f776e61626c6532537465703a2063616c6c6572206973206e6f7420746865206044820152683732bb9037bbb732b960b91b606482015260840161085d565b61263781612c9e565b5f5f613081604051733d602d80600a3d3981f3363d3d373d3d3d363d7360601b81527f000000000000000000000000000000000000000000000000000000000000000060601b60148201526e5af43d82803e903d91602b57fd5bf360881b602882015290565b90506037815ff091506001600160a01b0382166130e05760405162461bcd60e51b815260206004820152601760248201527f436c6f6e61626c653a20435245415445206661696c6564000000000000000000604482015260640161085d565b6001600160a01b0382167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316336001600160a01b03167ff376596be5039d6b2fb36fead4c8a370eae426e790a869be8db074ab608cc24860405160405180910390a45090565b80515f9062ffffff161580159061316d57505f826060015162ffffff16115b8015610bf257505060a0015161ffff16151590565b5f816040516020016131949190613f50565b604051602081830303815290604052805190602001209050919050565b60028101545f901515806131e657506001820154600160501b900460ff1660048111156131e0576131e0613a71565b60ff1615155b80610bf257505060010154600160601b90046001600160a01b0316151590565b5f6001600160f81b0319308261321c8686613287565b805160209182012060405161326895949392016001600160f81b031994909416845260609290921b6bffffffffffffffffffffffff191660018401526015830152603582015260550190565b60408051601f1981840301815291905280516020909101209392505050565b6060828260405160200161329c929190614ed3565b604051602081830303815290604052905092915050565b6040516001623c7a3760e21b031981525f9073__WitPriceFeedsDataLib__________________9063ff0e1724906132f79089908990899089908990600401614ee7565b602060405180830381865af4925050508015613330575060408051601f3d908101601f1916820190925261332d9181019061454a565b60015b61333c5761158a614639565b337fae160f4bc68d30bb720cf2faa436df303e1cb02624a87bf4af0a30d51783d87b61336a61118e8a61208d565b898989898960405161338196959493929190614f2c565b60405180910390a290506112b4565b613398612dc0565b6001600160a01b03811661301257604051631e4fbdf760e01b81525f600482015260240161085d565b5f6133ce61118e8461208d565b90505f6133da8261299c565b835160048201805460208701516040880151606089015160808a015160a08b015162ffffff97881663ffffffff19909616959095176301000000851515021769ffffffffffff000000001916600160201b9388169390930262ffffff60381b191692909217600160381b96909116959095029490941763ffffffff60501b1916600160501b61ffff9586160261ffff60601b191617600160601b949092169390930217905590915061349a5760058101805467ffffffffffffffff191690555b336001600160a01b03167ffce4e4e8186972930aa2a85773b7285ff9bd4d0b530ad546e582202e59f63abd8386866040516134d793929190614f81565b60405180910390a250505050565b5f807ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00610bf2565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b5f5b6020811015613594578181602081106135795761357961436b565b1a60f81b6001600160f81b031916156135945760010161355e565b919050565b5f610bf2825f01516136b7565b5f815f8060ff16826040015160ff16146135e457604080830151905161800560e51b815260ff9182166004820152908216602482015260440161085d565b6120ed845f015185606001516136ee565b5f6136098251805151602090910151101590565b613594576006826040015160ff16116136515760408201516502020183808360d11b9060ff166007811061363f5761363f61436b565b1a6013811115610bf257610bf2613a71565b816040015160ff1660070361359457816060015160ff166014148061367d5750816060015160ff166015145b1561368a57506002919050565b6019826060015160ff16101580156136aa5750601b826060015160ff1611155b1561359457506005919050565b5f60f08260ff8111156136cc576136cc613a71565b1480610bf2575060f18260ff8111156136e7576136e7613a71565b1492915050565b5f60188260ff161015613705575060ff8116610bf2565b8160ff1660180361372357613719836137b5565b60ff169050610bf2565b8160ff166019036137425761373783613815565b61ffff169050610bf2565b8160ff16601a036137635761375683613880565b63ffffffff169050610bf2565b8160ff16601b0361377e57613777836138de565b9050610bf2565b8160ff16601f0361379757506001600160401b03610bf2565b604051636d785b1360e01b815260ff8316600482015260240161085d565b5f8160200151825f015151808211156137eb576040516363a056dd60e01b8152600481018390526024810182905260440161085d565b835160208501805180830160010151955090819061380882614fb3565b8152505050505050919050565b5f816020015160026138279190614fcb565b82515180821115613855576040516363a056dd60e01b8152600481018390526024810182905260440161085d565b83516020850180516002818401810151965090916138738284614fcb565b9052509395945050505050565b5f816020015160046138929190614fcb565b825151808211156138c0576040516363a056dd60e01b8152600481018390526024810182905260440161085d565b83516020850180516004818401810151965090916138738284614fcb565b5f816020015160086138f09190614fcb565b8251518082111561391e576040516363a056dd60e01b8152600481018390526024810182905260440161085d565b83516020850180516008818401810151965090916138738284614fcb565b6040518060e001604052805f81526020015f5f0b815260200160608152602001613976604080518082019091525f81526060602082015290565b8152604080516060810182525f80825260208281018290529282015291019081526020016139a26139d2565b81526040805160a0810182525f808252602082810182905292820181905260608201819052608082015291015290565b6040805160c0810182525f80825260208201819052918101829052606081018290526080810182905260a081019190915290565b610b7780614fdf83390190565b6001600160e01b031981168114612637575f5ffd5b5f60208284031215613a38575f5ffd5b8135610d1b81613a13565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b634e487b7160e01b5f52602160045260245ffd5b60058110613a9557613a95613a71565b9052565b60048110613a9557613a95613a71565b613ab4828251613a99565b6020818101516001600160a01b031690830152604090810151910152565b62ffffff815116825260208101511515602083015262ffffff604082015116604083015262ffffff606082015116606083015261ffff608082015116608083015261ffff60a08201511660a08301525050565b80515f0b82526001600160401b036020820151166020830152604081015160060b60408301526001600160401b036060820151166060830152608081015160808301525050565b8051825260208101515f0b60208301525f60408201516102406040850152613b98610240850182613a43565b90506060830151848203606086015260408201613bb6838351613a85565b602091820151604084840152805191829052909101906060600582901b8401810191908401905f5b81811015613c1057605f19868503018352613bfa848651613a43565b6020958601959094509290920191600101613bde565b50505060808501519250613c276080870184613aa9565b60a08501519250613c3b60e0870184613ad2565b60c085015192506112b46101a0870184613b25565b602081525f610d1b6020830184613b6c565b5f5f83601f840112613c72575f5ffd5b5081356001600160401b03811115613c88575f5ffd5b602083019150836020828501011115613c9f575f5ffd5b9250929050565b5f5f60208385031215613cb7575f5ffd5b82356001600160401b03811115613ccc575f5ffd5b613cd885828601613c62565b90969095509350505050565b6001600160401b0381168114612637575f5ffd5b803561359481613ce4565b5f5f60408385031215613d14575f5ffd5b823591506020830135613d2681613ce4565b809150509250929050565b5f602082016020835280845180835260408501915060408160051b8601019250602086015f5b82811015613d8857603f19878603018452613d73858351613b6c565b94506020938401939190910190600101613d57565b50929695505050505050565b5f60208284031215613da4575f5ffd5b5035919050565b634e487b7160e01b5f52604160045260245ffd5b60c081018181106001600160401b0382111715613dde57613dde613dab565b60405250565b604081018181106001600160401b0382111715613dde57613dde613dab565b601f8201601f191681016001600160401b0381118282101715613e2857613e28613dab565b6040525050565b5f6001600160401b03821115613e4757613e47613dab565b50601f01601f191660200190565b5f613e5f83613e2f565b604051613e6c8282613e03565b809250848152858585011115613e80575f5ffd5b848460208301375f6020868301015250509392505050565b5f60208284031215613ea8575f5ffd5b81356001600160401b03811115613ebd575f5ffd5b8201601f81018413613ecd575f5ffd5b6120ed84823560208401613e55565b8015158114612637575f5ffd5b5f5f5f60408486031215613efb575f5ffd5b83356001600160401b03811115613f10575f5ffd5b613f1c86828701613c62565b9094509250506020840135613f3081613edc565b809150509250925092565b6001600160e01b031991909116815260200190565b602081525f610d1b6020830184613a43565b805f0b8114612637575f5ffd5b5f5f5f5f5f5f60808789031215613f84575f5ffd5b86356001600160401b03811115613f99575f5ffd5b613fa589828a01613c62565b9097509550506020870135613fb981613f62565b9350604087013560058110613fcc575f5ffd5b925060608701356001600160401b03811115613fe6575f5ffd5b8701601f81018913613ff6575f5ffd5b80356001600160401b0381111561400b575f5ffd5b8960208260051b840101111561401f575f5ffd5b60208201935080925050509295509295509295565b5f5f5f5f5f60608688031215614048575f5ffd5b85356001600160401b0381111561405d575f5ffd5b61406988828901613c62565b909650945050602086013561407d81613f62565b925060408601356001600160401b03811115614097575f5ffd5b6140a388828901613c62565b969995985093965092949392505050565b6001600160a01b0381168114612637575f5ffd5b5f602082840312156140d8575f5ffd5b8135610d1b816140b4565b5f5f5f604084860312156140f5575f5ffd5b83356001600160401b0381111561410a575f5ffd5b840160e0818703121561411b575f5ffd5b925060208401356001600160401b03811115614135575f5ffd5b61414186828701613c62565b9497909650939450505050565b60c08101610bf28284613ad2565b60a08101610bf28284613b25565b5f60c0828403121561417a575f5ffd5b50919050565b5f60c08284031215614190575f5ffd5b610d1b838361416a565b5f5f5f5f606085870312156141ad575f5ffd5b84356001600160401b038111156141c2575f5ffd5b6141ce87828801613c62565b90955093505060208501356141e281613f62565b9396929550929360400135925050565b62ffffff81168114612637575f5ffd5b5f5f60408385031215614213575f5ffd5b823561421e81613a13565b91506020830135613d26816141f2565b5f5f5f5f5f5f60a08789031215614243575f5ffd5b86356001600160401b03811115614258575f5ffd5b61426489828a01613c62565b909750955050602087013561427881613f62565b935060408701356004811061428b575f5ffd5b9250606087013561429b816140b4565b95989497509295919493608090920135925050565b5f5f5f60e084860312156142c2575f5ffd5b83356001600160401b038111156142d7575f5ffd5b6142e386828701613c62565b90945092506142f79050856020860161416a565b90509250925092565b5f5f60e08385031215614311575f5ffd5b823561431c816140b4565b915061432b846020850161416a565b90509250929050565b5f81518060208401855e5f93019283525090919050565b5f6143568285614334565b6101d160f51b81526112b46002820185614334565b634e487b7160e01b5f52603260045260245ffd5b600181811c9082168061439357607f821691505b60208210810361417a57634e487b7160e01b5f52602260045260245ffd5b805161359481613ce4565b8051600681900b8114613594575f5ffd5b5f60a08284031280156143de575f5ffd5b5060405160a081016001600160401b038111828210171561440157614401613dab565b604052825161440f81613f62565b8152602083015161441f81613ce4565b6020820152614430604084016143bc565b6040820152606083015161444381613ce4565b60608201526080928301519281019290925250919050565b5f82601f83011261446a575f5ffd5b815161447581613e2f565b6040516144828282613e03565b828152856020848701011115614496575f5ffd5b8260208601602083015e5f92810160200192909252509392505050565b5f5f604083850312156144c4575f5ffd5b82516144cf816140b4565b60208401519092506001600160401b038111156144ea575f5ffd5b6144f68582860161445b565b9150509250929050565b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b63ffffffff60e01b84168152604060208201525f6112b4604083018486614500565b5f6020828403121561455a575f5ffd5b8151610d1b81613a13565b5f5f8335601e1984360301811261457a575f5ffd5b83016020810192503590506001600160401b03811115614598575f5ffd5b803603821315613c9f575f5ffd5b608081525f6145b960808301888a614500565b865f0b60208401526145ce6040840187613a85565b8281036060840152838152602080820190600586901b830101865f5b8781101561462857848303601f19018452614605828a614565565b614610858284614500565b602096870196909550939093019250506001016145ea565b50909b9a5050505050505050505050565b5f60033d111561118e5760045f5f3e505f5160e01c90565b5f60443d101561465e5790565b6040513d600319016004823e80513d60248201116001600160401b038211171561468757505090565b80820180516001600160401b038111156146a2575050505090565b3d84016003190182820160200111156146bc575050505090565b6146cb60208285010185613e03565b509392505050565b63ffffffff60e01b8816815260a060208201525f6146f560a08301888a614500565b865f0b604084015261470a6060840187613a85565b8281036080840152838152602080820190600586901b830101865f5b8781101561476457848303601f19018452614741828a614565565b61474c858284614500565b60209687019690955093909301925050600101614726565b50909c9b505050505050505050505050565b5f60208284031215614786575f5ffd5b8151610d1b816140b4565b608081525f6147a460808301888a614500565b82810360208401526147b7818789614500565b5f9590950b604084015250506001600160a01b0391909116606090910152949350505050565b5f5f604083850312156147ee575f5ffd5b82516147f981613a13565b6020939093015192949293505050565b63ffffffff60e01b8816815260c060208201525f61482b60c08301888a614500565b9050855f0b60408301526148426060830186613a99565b6001600160a01b0393909316608082015260a0015295945050505050565b61ffff81168114612637575f5ffd5b803561359481614860565b5f6020828403121561488a575f5ffd5b8135610d1b81614860565b6040808252843582820152602085013560608301525f908501356148b881614860565b61ffff16608083015260608501356148cf81614860565b61ffff1660a083015260808501356148e681613ce4565b6001600160401b031660c083015261490060a08601613cf8565b6001600160401b031660e083015261491b60c0860186614565565b60e061010085015261493261012085018284614500565b9150508281036020840152611473818587614500565b805160148110613594575f5ffd5b805160ff81168114613594575f5ffd5b5f60c08284031215614976575f5ffd5b60405161498281613dbf565b80915082516001600160401b0381111561499a575f5ffd5b8301604081860312156149ab575f5ffd5b6040516149b781613de4565b81516001600160401b038111156149cc575f5ffd5b6149d88782850161445b565b8252506020918201518282015282526149f2908401614956565b6020820152614a0360408401614956565b6040820152614a1460608401614956565b6060820152614a25608084016143b1565b6080820152614a3660a084016143b1565b60a08201525092915050565b5f60208284031215614a52575f5ffd5b81516001600160401b03811115614a67575f5ffd5b820160c08185031215614a78575f5ffd5b604051614a8481613dbf565b81516101008110614a93575f5ffd5b8152614aa160208301614948565b60208201526040828101519082015260608083015190820152614ac6608083016143b1565b608082015260a08201516001600160401b03811115614ae3575f5ffd5b614aef86828501614966565b60a083015250949350505050565b634e487b7160e01b5f52601160045260245ffd5b6001600160401b038181168382160190811115610bf257610bf2614afd565b6001600160401b038281168282160390811115610bf257610bf2614afd565b600782810b9082900b03677fffffffffffffff198112677fffffffffffffff82131715610bf257610bf2614afd565b5f8160060b667fffffffffffff198103614b9a57614b9a614afd565b5f0392915050565b5f8260060b8260060b028060060b9150808214612e8d57612e8d614afd565b5f6001600160401b03831680614be557634e487b7160e01b5f52601260045260245ffd5b806001600160401b0384160491505092915050565b6001600160a01b0383168152815462ffffff808216602080850191909152601883901c60ff161515604085015282901c81166060840152603882901c166080830152605081901c61ffff1660a083015260e0820190606081901c61ffff1660c08401526146cb565b5f60c0828403128015614c73575f5ffd5b50604051614c8081613dbf565b8235614c8b816141f2565b81526020830135614c9b81613edc565b60208201526040830135614cae816141f2565b60408201526060830135614cc1816141f2565b60608201526080830135614cd481614860565b6080820152614ce560a0840161486f565b60a08201529392505050565b5f8135610bf2816141f2565b5f8135610bf281614860565b8135614d14816141f2565b62ffffff8116905081548162ffffff1982161783556020840135614d3781613edc565b63ffffffff199190911690911790151560181b63ff000000161781555f6040830135614d62816141f2565b825466ffffff00000000191660209190911b66ffffff000000001617825550614db2614d9060608401614cf1565b825462ffffff60381b191660389190911b69ffffff0000000000000016178255565b614de1614dc160808401614cfd565b82805461ffff60501b191660509290921b61ffff60501b16919091179055565b612c9a614df060a08401614cfd565b82805461ffff60601b191660609290921b61ffff60601b16919091179055565b608081525f614e23608083018789614500565b6020830195909552505f9290920b60408301526001600160a01b031660609091015292915050565b5f60c0828403128015614e5c575f5ffd5b50604051614e6981613dbf565b8251614e7481613ce4565b81526020830151614e8481613ce4565b6020820152614e95604084016143bc565b60408201526060830151614ea881613f62565b60608201526080830151614ebb81613ce4565b608082015260a0928301519281019290925250919050565b5f6120ed614ee18386614334565b84614334565b60a081525f614ef960a0830188613a43565b9050855f0b6020830152614f106040830186613a99565b6001600160a01b03939093166060820152608001529392505050565b63ffffffff60e01b8716815260c060208201525f614f4d60c0830188613a43565b9050855f0b6040830152614f646060830186613a99565b6001600160a01b0393909316608082015260a00152949350505050565b63ffffffff60e01b8416815261010060208201525f614fa4610100830185613a43565b90506120ed6040830184613ad2565b5f60018201614fc457614fc4614afd565b5060010190565b80820180821115610bf257610bf2614afd56fe610100604052348015610010575f5ffd5b50604051610b77380380610b7783398101604081905261002f916100c1565b6001600160e01b0319811660808190526040516371b50ecf60e11b815260048101919091526001600160a01b0383169063e36a1d9e90602401602060405180830381865afa158015610083573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906100a79190610110565b60a052506001600160a01b031660c081905260e052610127565b5f5f604083850312156100d2575f5ffd5b82516001600160a01b03811681146100e8575f5ffd5b60208401519092506001600160e01b031981168114610105575f5ffd5b809150509250929050565b5f60208284031215610120575f5ffd5b5051919050565b60805160a05160c05160e0516109d16101a65f395f818160ee01528181610322015281816103f4015281816104cb01528181610569015261065701525f61024e01525f61013201525f818161021a015281816102970152818161035101528181610423015281816104f801528181610598015261068601526109d15ff3fe608060405234801561000f575f5ffd5b50600436106100e5575f3560e01c80638205bf6a11610088578063b5ab58dc11610063578063b5ab58dc14610202578063e9159d6414610215578063f98d06f014610249578063feaf968c14610270575f5ffd5b80638205bf6a146101a857806395d89b41146101b05780639a6fc8f5146101b8575f5ffd5b806350d25bcd116100c357806350d25bcd1461017c57806354fd4d5014610184578063668a0f021461018b5780637284e41614610193575f5ffd5b80631014d375146100e9578063311893341461012d578063313ce56714610162575b5f5ffd5b6101107f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020015b60405180910390f35b6101547f000000000000000000000000000000000000000000000000000000000000000081565b604051908152602001610124565b61016a610278565b60405160ff9091168152602001610124565b61015461031e565b6003610154565b6101546103d8565b61019b6103e6565b604051610124919061072e565b6101546103f0565b61019b6104b1565b6101cb6101c6366004610763565b610561565b6040805169ffffffffffffffffffff968716815260208101959095528401929092526060830152909116608082015260a001610124565b610154610210366004610793565b610640565b61023c7f000000000000000000000000000000000000000000000000000000000000000081565b60405161012491906107aa565b6101107f000000000000000000000000000000000000000000000000000000000000000081565b6101cb61064f565b60405163274d45db60e01b81525f908190339063274d45db906102bf907f0000000000000000000000000000000000000000000000000000000000000000906004016107aa565b602060405180830381865afa1580156102da573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906102fe91906107d4565b90505f815f0b1261030f5780610318565b610318816107ed565b91505090565b5f5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663974454097f00000000000000000000000000000000000000000000000000000000000000006040518263ffffffff1660e01b815260040161038c91906107aa565b60a060405180830381865afa1580156103a7573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906103cb9190610872565b6020015160070b92915050565b5f6103e16103f0565b905090565b60606103e16104b1565b5f5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663974454097f00000000000000000000000000000000000000000000000000000000000000006040518263ffffffff1660e01b815260040161045e91906107aa565b60a060405180830381865afa158015610479573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061049d9190610872565b6060015167ffffffffffffffff1692915050565b604051631c4f621160e31b81526060906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063e27b108890610520907f0000000000000000000000000000000000000000000000000000000000000000906004016107aa565b5f60405180830381865afa15801561053a573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526103e19190810190610907565b5f5f5f5f5f5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663974454097f00000000000000000000000000000000000000000000000000000000000000006040518263ffffffff1660e01b81526004016105d391906107aa565b60a060405180830381865afa1580156105ee573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106129190610872565b6060810151602090910151979860079890980b9767ffffffffffffffff909116965086955088945092505050565b5f61064961031e565b92915050565b5f5f5f5f5f5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663974454097f00000000000000000000000000000000000000000000000000000000000000006040518263ffffffff1660e01b81526004016106c191906107aa565b60a060405180830381865afa1580156106dc573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107009190610872565b606081015160209091015167ffffffffffffffff9091169760079190910b9650879550859450849350915050565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b5f60208284031215610773575f5ffd5b813569ffffffffffffffffffff8116811461078c575f5ffd5b9392505050565b5f602082840312156107a3575f5ffd5b5035919050565b6001600160e01b031991909116815260200190565b80515f81900b81146107cf575f5ffd5b919050565b5f602082840312156107e4575f5ffd5b61078c826107bf565b5f81810b6080810161080d57634e487b7160e01b5f52601160045260245ffd5b5f0392915050565b634e487b7160e01b5f52604160045260245ffd5b604051601f8201601f1916810167ffffffffffffffff8111828210171561085257610852610815565b604052919050565b67ffffffffffffffff8116811461086f575f5ffd5b50565b5f60a0828403128015610883575f5ffd5b5060405160a0810167ffffffffffffffff811182821017156108a7576108a7610815565b6040526108b3836107bf565b815260208301516108c38161085a565b60208201526040830151600681900b81146108dc575f5ffd5b604082015260608301516108ef8161085a565b60608201526080928301519281019290925250919050565b5f60208284031215610917575f5ffd5b815167ffffffffffffffff81111561092d575f5ffd5b8201601f8101841361093d575f5ffd5b805167ffffffffffffffff81111561095757610957610815565b61096a601f8201601f1916602001610829565b81815285602083850101111561097e575f5ffd5b8160208401602083015e5f9181016020019190915294935050505056fea2646970667358221220ed110a5686ebb699e7a8419c7abfa8c2ab9b37934765c17bd5997c5da024fdf864736f6c634300081e0033c5354469a5d32189a18f5e79f9508d828fa089087c317bc89792b1c8dba53904c5354469a5d32189a18f5e79f9508d828fa089087c317bc89792b1c8dba53900360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbea26469706673582212200e1e3e25a3b6691ab79586ce4ba9c3b4f23b0be7ff300d7f0c1389d844ccb70064736f6c634300081e0033",
  "deployedBytecode": "0x608060405234801561000f575f5ffd5b50600436106102d4575f3560e01c80639474f45b11610180578063c5010d17116100e7578063e36a1d9e116100a0578063f2fde38b1161007a578063f2fde38b1461078e578063f78eea83146107a1578063fa78a971146107cf578063fd91c054146107e2576102d4565b8063e36a1d9e14610755578063e56bd31514610768578063e59a78081461077b576102d4565b8063c5010d17146106ee578063c66f4c0a14610701578063c70f2f7314610714578063d9ea438f14610727578063e27b10881461073a578063e30c39781461074d576102d4565b8063aba146ff11610139578063aba146ff14610656578063adb7c3f714610669578063b411ee9414610676578063b4fd729614610689578063b5dcc9111461044e578063bff852fa146106b9576102d4565b80639474f45b146105f457806396834ad3146105f457806397445409146106075780639d61f28b146103e4578063a04daef014610627578063a9e954b91461062f576102d4565b80635479d9401161023f578063715018a6116101f85780638124b78e116101d25780638124b78e1461058b5780638a416ea91461059e5780638da5cb5b146105cf5780639190795f146105df576102d4565b8063715018a61461056857806379393a8b1461057057806379ba509714610583576102d4565b80635479d940146104e157806354fd4d5014610507578063608921931461051c57806367e559ac1461052f5780636b58960a146105425780636d0d6a7e14610555576102d4565b80633108e1b8116102915780633108e1b81461043957806331d98b3f1461044e578063439fab91146104615780634c7510d0146104745780635001f3b51461049457806352d1902d146104ba576102d4565b80630683bcd2146103095780631014d37514610332578063158ef93e14610371578063238e0a8a1461039e578063274d45db146103bf578063288b5e67146103e4575b610307604051806040016040528060128152602001711d5b9cdd5c1c1bdc9d1959081b595d1a1bd960721b8152506107f5565b005b61031c610317366004613a28565b610866565b6040516103299190613c50565b60405180910390f35b6103597f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610329565b5f516020615b565f395f51905f5254600160601b900461ffff1615155b6040519015158152602001610329565b6103b16103ac366004613ca6565b610bf0565b604051908152602001610329565b6103d26103cd366004613a28565b610bf8565b6040515f9190910b8152602001610329565b6103f76103f2366004613d03565b610c15565b6040516103299190815160070b81526020808301516001600160401b03169082015260408083015160030b908201526060918201519181019190915260800190565b610441610d22565b6040516103299190613d31565b6103f761045c366004613d94565b610de2565b61030761046f366004613e98565b610e40565b610487610482366004613ee9565b611143565b6040516103299190613f3b565b7f0000000000000000000000000000000000000000000000000000000000000000610359565b6103b17f000000000000000000000000000000000000000000000000000000000000000081565b7f000000000000000000000000000000000000000000000000000000000000000061038e565b61050f6112bd565b6040516103299190613f50565b61048761052a366004613f6f565b6112ed565b61048761053d366004614034565b61147d565b61038e6105503660046140c8565b611689565b6103076105633660046140e3565b6116dd565b610307611c0c565b61030761057e3660046140c8565b611c1f565b610307611dc4565b6103596105993660046140c8565b611dcc565b7fc5354469a5d32189a18f5e79f9508d828fa089087c317bc89792b1c8dba5390554600160a01b900460e01b610487565b5f546001600160a01b0316610359565b6105e7611e52565b604051610329919061414e565b6103f7610602366004613d94565b611ed1565b61061a610615366004613a28565b611f17565b604051610329919061415c565b61038e611fb3565b7f00000000000000000000000000000000000000000000000000000000000000003f6103b1565b610307610664366004614180565b61201d565b6363708c9360e01b610487565b6103b1610684366004613e98565b61208d565b7fc5354469a5d32189a18f5e79f9508d828fa089087c317bc89792b1c8dba53905546001600160a01b0316610359565b6040805180820190915260198152785769745072696365466565647355706772616461626c65563360381b602082015261050f565b61038e6106fc366004613ca6565b612097565b61061a61070f366004613a28565b6120f5565b61048761072236600461419a565b612152565b61061a610735366004614202565b61235b565b61050f610748366004613a28565b612407565b6103596124a0565b6103b1610763366004613a28565b6124b3565b610359610776366004613ca6565b6124bd565b61048761078936600461422e565b6125ce565b61030761079c3660046140c8565b612626565b6107b46107af366004613d94565b61263a565b60408051938452602084019290925290820152606001610329565b6103076107dd3660046142b0565b61277c565b6103596107f0366004614300565b6127e6565b6040805180820190915260198152785769745072696365466565647355706772616461626c65563360381b60208201528160405160200161083792919061434b565b60408051601f198184030181529082905262461bcd60e51b825261085d91600401613f50565b60405180910390fd5b61086e61393c565b5f6108788361299c565b6001810154909150600160501b900460ff1660605f82600481111561089f5761089f613a71565b14610a12575f6108b86001600160e01b031987166129d8565b905080516001600160401b038111156108d3576108d3613dab565b60405190808252806020026020018201604052801561090657816020015b60608152602001906001900390816108f15790505b5091505f5b8151811015610a0f575f516020615b765f395f51905f526001015f8383815181106109385761093861436b565b60200260200101516001600160e01b0319166001600160e01b03191681526020019081526020015f205f01805461096e9061437f565b80601f016020809104026020016040519081016040528092919081815260200182805461099a9061437f565b80156109e55780601f106109bc576101008083540402835291602001916109e5565b820191905f5260205f20905b8154815290600101906020018083116109c857829003601f168201915b50505050508382815181106109fc576109fc61436b565b602090810291909101015260010161090b565b50505b600183015460028401546040805160e08101909152600160581b830460ff1692600160601b90046001600160a01b03169080610a4d8a612aa1565b81526001880154600160201b90045f0b602082015287546040909101908890610a759061437f565b80601f0160208091040260200160405190810160405280929190818152602001828054610aa19061437f565b8015610aec5780601f10610ac357610100808354040283529160200191610aec565b820191905f5260205f20905b815481529060010190602001808311610acf57829003601f168201915b505050505081526020016040518060400160405280886004811115610b1357610b13613a71565b81526020018781525081526020016040518060600160405280866003811115610b3e57610b3e613a71565b8152602001846001600160a01b03168152602001858152508152602001610b6788600401612b13565b815260200173__WitPriceFeedsDataLib__________________63974454098b6040518263ffffffff1660e01b8152600401610ba39190613f3b565b60a060405180830381865af4158015610bbe573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610be291906143cd565b905298975050505050505050565b5f5b92915050565b5f610c028261299c565b60010154600160201b90045f0b92915050565b604080516080810182525f808252602082018190528183018190526060820152905163d9ea438f60e01b81526001600160e01b03198416600482015262ffffff83166024820152610d1b9073__WitPriceFeedsDataLib__________________9063d9ea438f906044015b60a060405180830381865af4158015610c9b573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cbf91906143cd565b60408051608080820183525f80835260208084018290528385018290526060938401829052845192830185528581015160070b835282018190528451900b92810192909252918201516001600160401b03169181019190915290565b9392505050565b5f516020615b765f395f51905f528054606091906001600160401b03811115610d4d57610d4d613dab565b604051908082528060200260200182016040528015610d8657816020015b610d7361393c565b815260200190600190039081610d6b5790505b5091505f5b8251811015610ddd57610db8610317838381548110610dac57610dac61436b565b905f5260205f20015490565b838281518110610dca57610dca61436b565b6020908102919091010152600101610d8b565b505090565b604080516080810182525f808252602082018190529181018290526060810191909152610bf273__WitPriceFeedsDataLib__________________63c66f4c0a845b6040518263ffffffff1660e01b8152600401610c809190613f3b565b5f516020615b565f395f51905f5254610e9a90600160601b900461ffff161580610e6f5750610e6d611fb3565b155b6040518060400160405280600d81526020016c6e6f74206f6e20636c6f6e657360981b815250612c8c565b5f546001600160a01b031680610ed05781806020019051810190610ebe91906144b3565b92509050610ecb81612c9e565b610f18565b336001600160a01b03821614610f185760405162461bcd60e51b815260206004820152600d60248201526c3737ba103a34329037bbb732b960991b604482015260640161085d565b5f516020615b965f395f51905f525415801590610f6357505f516020615b965f395f51905f52547f00000000000000000000000000000000000000000000000000000000000000003f145b15610fa65760405162461bcd60e51b8152602060048201526013602482015272185b1c9958591e481a5b9a5d1a585b1a5e9959606a1b604482015260640161085d565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbd546001600160a01b0316611007577f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbd80546001600160a01b031916301790555b7f00000000000000000000000000000000000000000000000000000000000000003f5f516020615b965f395f51905f52557f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031617905561109b82612cb7565b7f00000000000000000000000000000000000000000000000000000000000000003f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166110f85f546001600160a01b031690565b6001600160a01b03167fe73e754121f0bad1327816970101955bfffdf53d270ac509d777c25be070d7f661112a6112bd565b6040516111379190613f50565b60405180910390a45050565b5f61114c612dc0565b5f61119161118e86868080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201919091525061208d92505050565b90565b6040516303e8c70160e51b81526001600160e01b031982166004820152841515602482015290915073__WitPriceFeedsDataLib__________________90637d18e020906044015f6040518083038186803b1580156111ee575f5ffd5b505af4158015611200573d5f5f3e3d5ffd5b50505050336001600160a01b03167f757500535198cca670e5ed07230e87648f077ff0ec74b0cef5df05db58a9961882878760405161124193929190614528565b60405180910390a273__WitPriceFeedsDataLib__________________63fce897db6040518163ffffffff1660e01b8152600401602060405180830381865af4158015611290573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112b4919061454a565b95945050505050565b60606112e87f0000000000000000000000000000000000000000000000000000000000000000612dec565b905090565b5f6112f6612dc0565b6040516301d63b7f60e01b815273__WitPriceFeedsDataLib__________________906301d63b7f90611337908a908a908a908a908a908a906004016145a6565b602060405180830381865af4925050508015611370575060408051601f3d908101601f1916820190925261136d9181019061454a565b60015b6113e35761137c614639565b806308c379a0036113aa5750611390614651565b8061139b57506113ac565b6113a4816107f5565b50611473565b505b3d8080156113d5576040519150601f19603f3d011682016040523d82523d5f602084013e6113da565b606091505b506113a4612e94565b336001600160a01b03167fc15d7f9f6442190dc6f24107279211aeb0c9e831201b7660eb0dee70e439380461144f61118e8b8b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201919091525061208d92505050565b8a8a8a8a8a8a60405161146897969594939291906146d3565b60405180910390a290505b9695505050505050565b5f611486612dc0565b73__WitPriceFeedsDataLib__________________630873d81d87878686897f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316637b1039996040518163ffffffff1660e01b8152600401602060405180830381865afa158015611501573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906115259190614776565b6040518763ffffffff1660e01b815260040161154696959493929190614791565b6040805180830381865af492505050801561157e575060408051601f3d908101601f1916820190925261157b918101906147dd565b60015b6115f15761158a614639565b806308c379a0036115b8575061159e614651565b806115a957506115ba565b6115b2816107f5565b506112b4565b505b3d8080156115e3576040519150601f19603f3d011682016040523d82523d5f602084013e6115e8565b606091505b506115b2612e94565b336001600160a01b03167fae160f4bc68d30bb720cf2faa436df303e1cb02624a87bf4af0a30d51783d87b61165d61118e8b8b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201919091525061208d92505050565b8a8a8a5f30886040516116769796959493929190614809565b60405180910390a2509695505050505050565b5f7f00000000000000000000000000000000000000000000000000000000000000008015610bf25750816001600160a01b03166116cd5f546001600160a01b031690565b6001600160a01b03161492915050565b6020838101355f9081527fc5354469a5d32189a18f5e79f9508d828fa089087c317bc89792b1c8dba53903909152604090205460e01b6001600160e01b0319811661173b5760405163e60dce7160e01b815260040160405180910390fd5b5f6117458261299c565b90505f61175482600401612b13565b60a081015190915061ffff16611770608088016060890161487a565b61ffff161015611793576040516363daeb7760e01b815260040160405180910390fd5b604051633686b53f60e11b81525f906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690636d0d6a7e906117e5908a908a908a90600401614895565b5f604051808303815f875af1158015611800573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526118279190810190614a42565b90505f815160ff81111561183d5761183d613a71565b14801561185f575060048160200151601381111561185d5761185d613a71565b145b61187c5760405163734fff6760e11b815260040160405180910390fd5b600583015460808201516001600160401b03600160c01b90920482169116116118b857604051636f162bfd60e11b815260040160405180910390fd5b604082015160058401546118e19162ffffff1690600160c01b90046001600160401b0316614b11565b6001600160401b031681608001516001600160401b0316101561191757604051630fbbc58160e01b815260040160405180910390fd5b60058301546080820151600160b81b82045f90810b92909161194891600160c01b90046001600160401b0316614b30565b600586015462ffffff919091169150600160401b90046001600160401b03165f61197185612ec5565b90505f61197e8383614b4f565b90505f5f8260060b12156119ba578361199683614b7e565b6119a2906103e8614ba2565b66ffffffffffffff166119b59190614bc1565b6119da565b836119c7836103e8614ba2565b66ffffffffffffff166119da9190614bc1565b9050876080015161ffff165f1480611a035750876080015161ffff16816001600160401b031611155b611a2057604051637b0d2bb560e01b815260040160405180910390fd5b60058901805460808901516001600160401b03908116600160c01b026001600160c01b03918716600160401b026fffffffffffffffff00000000000000001966ffffffffffffff8816600160801b021676ffffffffffffffffffffffffffffff000000000000000019909416939093179290921716179055604087015160068a01555f611ab75f516020615b765f395f51905f5290565b600501546001600160a01b031603611b46576080808801516040808a015181516001600160401b039384168152602081019190915291861690820152600684900b60608201525f88900b918101919091526001600160e01b03198b16907f0800977f281a92a8fb15f0b059791b2ffcc82fdc78be5227cec46afdb45f947d9060a00160405180910390a2611bfd565b5f516020615b765f395f51905f526005015460808801516040808a0151905163292e503960e11b81526001600160e01b03198e1660048201526001600160401b03928316602482015260448101919091528186166064820152600685900b608482015290871660a48201525f88900b60c48201526001600160a01b039091169063525ca0729060e4015f604051808303815f87803b158015611be6575f5ffd5b505af1158015611bf8573d5f5f3e3d5ffd5b505050505b50505050505050505050505050565b611c14612dc0565b611c1d5f612c9e565b565b611c27611fb3565b611c6e5760405162461bcd60e51b8152602060048201526018602482015277436c6f6e61626c653a206f6e6c79206f6e20636c6f6e657360401b604482015260640161085d565b611c76612dc0565b611d836001600160a01b0382163014801590611cc457507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b031614155b8015611cd957505f826001600160a01b03163b115b8015611d555750306001600160a01b0316826001600160a01b0316635f1cf1376040518163ffffffff1660e01b8152600401602060405180830381865afa158015611d26573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611d4a9190614776565b6001600160a01b0316145b6040518060400160405280601081526020016f34b73b30b634b21031b7b739bab6b2b960811b815250612c8c565b7fc5354469a5d32189a18f5e79f9508d828fa089087c317bc89792b1c8dba5390580546001600160a01b0319166001600160a01b0392909216919091179055565b611c1d612fa0565b5f611dd561301b565b604051633f64701560e21b81526001600160a01b03919091169063fd91c05490611e129085905f516020615b565f395f51905f5290600401614bfa565b6020604051808303815f875af1158015611e2e573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bf29190614776565b611e5a6139d2565b506040805160c0810182525f516020615b565f395f51905f525462ffffff808216835260ff630100000083041615156020840152600160201b8204811693830193909352600160381b8104909216606082015261ffff600160501b830481166080830152600160601b90920490911660a082015290565b604080516080810182525f808252602082018190529181018290526060810191909152610bf273__WitPriceFeedsDataLib__________________639744540984610e24565b6040805160a0810182525f808252602082018190528183018190526060820181905260808201529051639744540960e01b815273__WitPriceFeedsDataLib__________________90639744540990611f74908590600401613f3b565b60a060405180830381865af4158015611f8f573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bf291906143cd565b5f7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc600101546001600160a01b031630148015906112e85750507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031630141590565b612025612dc0565b61206f61203f61203a36849003840184614c62565b61314e565b60405180604001604052806012815260200171696e76616c696420636f6e646974696f6e7360701b815250612c8c565b805f516020615b565f395f51905f526120888282614d09565b505050565b5f610bf282613182565b5f5f6120e26120dd61118e86868080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201919091525061208d92505050565b61299c565b90506120ed816131b1565b949350505050565b6040805160a0810182525f808252602082018190528183018190526060820181905260808201529051636337a60560e11b815273__WitPriceFeedsDataLib__________________9063c66f4c0a90611f74908590600401613f3b565b5f61215b612dc0565b73__WitPriceFeedsDataLib__________________63ef0bf0a0868685877f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316637b1039996040518163ffffffff1660e01b8152600401602060405180830381865afa1580156121d5573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906121f99190614776565b6040518663ffffffff1660e01b8152600401612219959493929190614e10565b602060405180830381865af4925050508015612252575060408051601f3d908101601f1916820190925261224f9181019061454a565b60015b6122c55761225e614639565b806308c379a00361228c5750612272614651565b8061227d575061228e565b612286816107f5565b506120ed565b505b3d8080156122b7576040519150601f19603f3d011682016040523d82523d5f602084013e6122bc565b606091505b50612286612e94565b336001600160a01b03167fae160f4bc68d30bb720cf2faa436df303e1cb02624a87bf4af0a30d51783d87b61233161118e89898080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201919091525061208d92505050565b8888885f308a60405161234a9796959493929190614809565b60405180910390a295945050505050565b6040805160a0810182525f80825260208201819052818301819052606082018190526080820152905163d9ea438f60e01b81526001600160e01b03198416600482015262ffffff8316602482015273__WitPriceFeedsDataLib__________________9063d9ea438f9060440160a060405180830381865af41580156123e3573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d1b91906143cd565b60606124128261299c565b805461241d9061437f565b80601f01602080910402602001604051908101604052809291908181526020018280546124499061437f565b80156124945780601f1061246b57610100808354040283529160200191612494565b820191905f5260205f20905b81548152906001019060200180831161247757829003601f168201915b50505050509050919050565b5f6112e86001546001600160a01b031690565b5f610bf282612aa1565b5f6124c88383612097565b6124e557604051630295d7cd60e31b815260040160405180910390fd5b5f604051806020016124f690613a06565b6020820181038252601f19601f8201166040525090505f3061254f61118e87878080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201919091525061208d92505050565b60405160609290921b6bffffffffffffffffffffffff191660208301526001600160e01b031916603482015260380160405160208183030381529060405290505f61259a8383613206565b9050806001600160a01b03163b5f036112b4575f6125b88484613287565b90505f8151602083015ff5979650505050505050565b5f6125d7612dc0565b61261b87878080601f0160208091040260200160405190810160405280939291908181526020018383808284375f92019190915250899250889150879050866132b3565b979650505050505050565b61262e612dc0565b61263781613390565b50565b5f808083816126488261299c565b90505f61265782600401612b13565b6060810151604051631752c19f60e01b8152600481018590526001600160e01b03198616602482015262ffffff90911660448201529091505f9073__WitPriceFeedsDataLib__________________90631752c19f9060640160c060405180830381865af41580156126cb573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906126ef9190614e4b565b80519091506001600160401b031661270b57806020015161270e565b80515b6001600160401b0316965080608001516001600160401b03169550855f1461276757816060015162ffffff1681608001516127499190614b11565b6001600160401b0316421161275f5760c861276b565b61019061276b565b6101945b61ffff169450505050509193909250565b612784612dc0565b61279961203f61203a36849003840184614c62565b61208883838080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920191909152506127e19250505036849003840184614c62565b6133c1565b5f6127ef611fb3565b6128365760405162461bcd60e51b8152602060048201526018602482015277436c6f6e61626c653a206f6e6c79206f6e20636c6f6e657360401b604482015260640161085d565b5f61283f6134e5565b805490915060ff600160401b82041615906001600160401b03165f811580156128655750825b90505f826001600160401b031660011480156128805750303b155b90508115801561288e575080155b156128ac5760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff1916600117855583156128d657845460ff60401b1916600160401b1785555b60408051808201909152600c81526b3d32b9379031bab930ba37b960a11b602082015261290f906001600160a01b038a16151590612c8c565b61291888612c9e565b61292d61203f61203a368a90038a018a614c62565b865f516020615b565f395f51905f526129468282614d09565b5030965050831561299157845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b505050505092915050565b6001600160e01b031981165f9081527fc5354469a5d32189a18f5e79f9508d828fa089087c317bc89792b1c8dba5390160205260408120610bf2565b6001600160e01b031981165f9081527fc5354469a5d32189a18f5e79f9508d828fa089087c317bc89792b1c8dba5390160209081526040918290206003015482516008808252610120820190945260609391929091908201610100803683370190505091505f5b6008811015612a9957816001600160e01b031981165f03612a605750612a99565b80848381518110612a7357612a7361436b565b6001600160e01b03199092166020928302919091018201529290921b9150600101612a3f565b825250919050565b6001600160e01b031981165f9081527fc5354469a5d32189a18f5e79f9508d828fa089087c317bc89792b1c8dba5390160205260408120600101545f516020615b765f395f51905f528054909163ffffffff16908110612b0357612b0361436b565b905f5260205f2001549050919050565b612b1b6139d2565b6040805160c0810190915282545f516020615b565f395f51905f529190819062ffffff1615612b5057845462ffffff16612b58565b825462ffffff165b62ffffff16815284546020909101906301000000900460ff1680612b84575082546301000000900460ff165b151581528454602090910190600160201b900462ffffff1615612bb4578454600160201b900462ffffff16612bc3565b8254600160201b900462ffffff165b62ffffff90811682528554602090920191600160381b90041615612bf4578454600160381b900462ffffff16612c03565b8254600160381b900462ffffff165b62ffffff1681528454602090910190600160501b900461ffff1615612c34578454600160501b900461ffff16612c42565b8254600160501b900461ffff165b61ffff90811682528554602090920191600160601b90041615612c71578454600160601b900461ffff16612c7f565b8254600160601b900461ffff165b61ffff1690529392505050565b81612c9a57612c9a816107f5565b5050565b600180546001600160a01b03191690556126378161350d565b5f516020615b965f395f51905f52541580612d4b57506040805160c0810182525f516020615b565f395f51905f525462ffffff808216835260ff630100000083041615156020840152600160201b8204811693830193909352600160381b8104909216606082015261ffff600160501b830481166080830152600160601b90920490911660a0820152612d499061314e565b155b1561263757506040805160c081018252620f424081525f60208201819052610384928201929092526201518060608201526080810191909152600360a0909101525f516020615b565f395f51905f5280546dffffffffffffffffffffffffffff19166c030000015180000384000f4240179055565b5f546001600160a01b03163314611c1d5760405163118cdaa760e01b815233600482015260240161085d565b60605f612df88361355c565b6001600160401b03811115612e0f57612e0f613dab565b6040519080825280601f01601f191660200182016040528015612e39576020820181803683370190505b5090505f5b8151811015612e8d57838160208110612e5957612e5961436b565b1a60f81b828281518110612e6f57612e6f61436b565b60200101906001600160f81b03191690815f1a905350600101612e3e565b5092915050565b611c1d6040518060400160405280601081526020016f1d5b9a185b991b1959081c995d995c9d60821b8152506107f5565b5f816004612ed282613599565b158015612f045750806013811115612eec57612eec613a71565b82602001516013811115612f0257612f02613a71565b145b612f505760405162461bcd60e51b815260206004820152601760248201527f63626f723a2063616e6e6f742066657463682064617461000000000000000000604482015260640161085d565b612f5d8460a001516135a6565b9250612f6c8260a001516135f5565b82602001906013811115612f8257612f82613a71565b90816013811115612f9557612f95613a71565b815250505050919050565b3380612faa6124a0565b6001600160a01b0316146130125760405162461bcd60e51b815260206004820152602960248201527f4f776e61626c6532537465703a2063616c6c6572206973206e6f7420746865206044820152683732bb9037bbb732b960b91b606482015260840161085d565b61263781612c9e565b5f5f613081604051733d602d80600a3d3981f3363d3d373d3d3d363d7360601b81527f000000000000000000000000000000000000000000000000000000000000000060601b60148201526e5af43d82803e903d91602b57fd5bf360881b602882015290565b90506037815ff091506001600160a01b0382166130e05760405162461bcd60e51b815260206004820152601760248201527f436c6f6e61626c653a20435245415445206661696c6564000000000000000000604482015260640161085d565b6001600160a01b0382167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316336001600160a01b03167ff376596be5039d6b2fb36fead4c8a370eae426e790a869be8db074ab608cc24860405160405180910390a45090565b80515f9062ffffff161580159061316d57505f826060015162ffffff16115b8015610bf257505060a0015161ffff16151590565b5f816040516020016131949190613f50565b604051602081830303815290604052805190602001209050919050565b60028101545f901515806131e657506001820154600160501b900460ff1660048111156131e0576131e0613a71565b60ff1615155b80610bf257505060010154600160601b90046001600160a01b0316151590565b5f6001600160f81b0319308261321c8686613287565b805160209182012060405161326895949392016001600160f81b031994909416845260609290921b6bffffffffffffffffffffffff191660018401526015830152603582015260550190565b60408051601f1981840301815291905280516020909101209392505050565b6060828260405160200161329c929190614ed3565b604051602081830303815290604052905092915050565b6040516001623c7a3760e21b031981525f9073__WitPriceFeedsDataLib__________________9063ff0e1724906132f79089908990899089908990600401614ee7565b602060405180830381865af4925050508015613330575060408051601f3d908101601f1916820190925261332d9181019061454a565b60015b61333c5761158a614639565b337fae160f4bc68d30bb720cf2faa436df303e1cb02624a87bf4af0a30d51783d87b61336a61118e8a61208d565b898989898960405161338196959493929190614f2c565b60405180910390a290506112b4565b613398612dc0565b6001600160a01b03811661301257604051631e4fbdf760e01b81525f600482015260240161085d565b5f6133ce61118e8461208d565b90505f6133da8261299c565b835160048201805460208701516040880151606089015160808a015160a08b015162ffffff97881663ffffffff19909616959095176301000000851515021769ffffffffffff000000001916600160201b9388169390930262ffffff60381b191692909217600160381b96909116959095029490941763ffffffff60501b1916600160501b61ffff9586160261ffff60601b191617600160601b949092169390930217905590915061349a5760058101805467ffffffffffffffff191690555b336001600160a01b03167ffce4e4e8186972930aa2a85773b7285ff9bd4d0b530ad546e582202e59f63abd8386866040516134d793929190614f81565b60405180910390a250505050565b5f807ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00610bf2565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b5f5b6020811015613594578181602081106135795761357961436b565b1a60f81b6001600160f81b031916156135945760010161355e565b919050565b5f610bf2825f01516136b7565b5f815f8060ff16826040015160ff16146135e457604080830151905161800560e51b815260ff9182166004820152908216602482015260440161085d565b6120ed845f015185606001516136ee565b5f6136098251805151602090910151101590565b613594576006826040015160ff16116136515760408201516502020183808360d11b9060ff166007811061363f5761363f61436b565b1a6013811115610bf257610bf2613a71565b816040015160ff1660070361359457816060015160ff166014148061367d5750816060015160ff166015145b1561368a57506002919050565b6019826060015160ff16101580156136aa5750601b826060015160ff1611155b1561359457506005919050565b5f60f08260ff8111156136cc576136cc613a71565b1480610bf2575060f18260ff8111156136e7576136e7613a71565b1492915050565b5f60188260ff161015613705575060ff8116610bf2565b8160ff1660180361372357613719836137b5565b60ff169050610bf2565b8160ff166019036137425761373783613815565b61ffff169050610bf2565b8160ff16601a036137635761375683613880565b63ffffffff169050610bf2565b8160ff16601b0361377e57613777836138de565b9050610bf2565b8160ff16601f0361379757506001600160401b03610bf2565b604051636d785b1360e01b815260ff8316600482015260240161085d565b5f8160200151825f015151808211156137eb576040516363a056dd60e01b8152600481018390526024810182905260440161085d565b835160208501805180830160010151955090819061380882614fb3565b8152505050505050919050565b5f816020015160026138279190614fcb565b82515180821115613855576040516363a056dd60e01b8152600481018390526024810182905260440161085d565b83516020850180516002818401810151965090916138738284614fcb565b9052509395945050505050565b5f816020015160046138929190614fcb565b825151808211156138c0576040516363a056dd60e01b8152600481018390526024810182905260440161085d565b83516020850180516004818401810151965090916138738284614fcb565b5f816020015160086138f09190614fcb565b8251518082111561391e576040516363a056dd60e01b8152600481018390526024810182905260440161085d565b83516020850180516008818401810151965090916138738284614fcb565b6040518060e001604052805f81526020015f5f0b815260200160608152602001613976604080518082019091525f81526060602082015290565b8152604080516060810182525f80825260208281018290529282015291019081526020016139a26139d2565b81526040805160a0810182525f808252602082810182905292820181905260608201819052608082015291015290565b6040805160c0810182525f80825260208201819052918101829052606081018290526080810182905260a081019190915290565b610b7780614fdf83390190565b6001600160e01b031981168114612637575f5ffd5b5f60208284031215613a38575f5ffd5b8135610d1b81613a13565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b634e487b7160e01b5f52602160045260245ffd5b60058110613a9557613a95613a71565b9052565b60048110613a9557613a95613a71565b613ab4828251613a99565b6020818101516001600160a01b031690830152604090810151910152565b62ffffff815116825260208101511515602083015262ffffff604082015116604083015262ffffff606082015116606083015261ffff608082015116608083015261ffff60a08201511660a08301525050565b80515f0b82526001600160401b036020820151166020830152604081015160060b60408301526001600160401b036060820151166060830152608081015160808301525050565b8051825260208101515f0b60208301525f60408201516102406040850152613b98610240850182613a43565b90506060830151848203606086015260408201613bb6838351613a85565b602091820151604084840152805191829052909101906060600582901b8401810191908401905f5b81811015613c1057605f19868503018352613bfa848651613a43565b6020958601959094509290920191600101613bde565b50505060808501519250613c276080870184613aa9565b60a08501519250613c3b60e0870184613ad2565b60c085015192506112b46101a0870184613b25565b602081525f610d1b6020830184613b6c565b5f5f83601f840112613c72575f5ffd5b5081356001600160401b03811115613c88575f5ffd5b602083019150836020828501011115613c9f575f5ffd5b9250929050565b5f5f60208385031215613cb7575f5ffd5b82356001600160401b03811115613ccc575f5ffd5b613cd885828601613c62565b90969095509350505050565b6001600160401b0381168114612637575f5ffd5b803561359481613ce4565b5f5f60408385031215613d14575f5ffd5b823591506020830135613d2681613ce4565b809150509250929050565b5f602082016020835280845180835260408501915060408160051b8601019250602086015f5b82811015613d8857603f19878603018452613d73858351613b6c565b94506020938401939190910190600101613d57565b50929695505050505050565b5f60208284031215613da4575f5ffd5b5035919050565b634e487b7160e01b5f52604160045260245ffd5b60c081018181106001600160401b0382111715613dde57613dde613dab565b60405250565b604081018181106001600160401b0382111715613dde57613dde613dab565b601f8201601f191681016001600160401b0381118282101715613e2857613e28613dab565b6040525050565b5f6001600160401b03821115613e4757613e47613dab565b50601f01601f191660200190565b5f613e5f83613e2f565b604051613e6c8282613e03565b809250848152858585011115613e80575f5ffd5b848460208301375f6020868301015250509392505050565b5f60208284031215613ea8575f5ffd5b81356001600160401b03811115613ebd575f5ffd5b8201601f81018413613ecd575f5ffd5b6120ed84823560208401613e55565b8015158114612637575f5ffd5b5f5f5f60408486031215613efb575f5ffd5b83356001600160401b03811115613f10575f5ffd5b613f1c86828701613c62565b9094509250506020840135613f3081613edc565b809150509250925092565b6001600160e01b031991909116815260200190565b602081525f610d1b6020830184613a43565b805f0b8114612637575f5ffd5b5f5f5f5f5f5f60808789031215613f84575f5ffd5b86356001600160401b03811115613f99575f5ffd5b613fa589828a01613c62565b9097509550506020870135613fb981613f62565b9350604087013560058110613fcc575f5ffd5b925060608701356001600160401b03811115613fe6575f5ffd5b8701601f81018913613ff6575f5ffd5b80356001600160401b0381111561400b575f5ffd5b8960208260051b840101111561401f575f5ffd5b60208201935080925050509295509295509295565b5f5f5f5f5f60608688031215614048575f5ffd5b85356001600160401b0381111561405d575f5ffd5b61406988828901613c62565b909650945050602086013561407d81613f62565b925060408601356001600160401b03811115614097575f5ffd5b6140a388828901613c62565b969995985093965092949392505050565b6001600160a01b0381168114612637575f5ffd5b5f602082840312156140d8575f5ffd5b8135610d1b816140b4565b5f5f5f604084860312156140f5575f5ffd5b83356001600160401b0381111561410a575f5ffd5b840160e0818703121561411b575f5ffd5b925060208401356001600160401b03811115614135575f5ffd5b61414186828701613c62565b9497909650939450505050565b60c08101610bf28284613ad2565b60a08101610bf28284613b25565b5f60c0828403121561417a575f5ffd5b50919050565b5f60c08284031215614190575f5ffd5b610d1b838361416a565b5f5f5f5f606085870312156141ad575f5ffd5b84356001600160401b038111156141c2575f5ffd5b6141ce87828801613c62565b90955093505060208501356141e281613f62565b9396929550929360400135925050565b62ffffff81168114612637575f5ffd5b5f5f60408385031215614213575f5ffd5b823561421e81613a13565b91506020830135613d26816141f2565b5f5f5f5f5f5f60a08789031215614243575f5ffd5b86356001600160401b03811115614258575f5ffd5b61426489828a01613c62565b909750955050602087013561427881613f62565b935060408701356004811061428b575f5ffd5b9250606087013561429b816140b4565b95989497509295919493608090920135925050565b5f5f5f60e084860312156142c2575f5ffd5b83356001600160401b038111156142d7575f5ffd5b6142e386828701613c62565b90945092506142f79050856020860161416a565b90509250925092565b5f5f60e08385031215614311575f5ffd5b823561431c816140b4565b915061432b846020850161416a565b90509250929050565b5f81518060208401855e5f93019283525090919050565b5f6143568285614334565b6101d160f51b81526112b46002820185614334565b634e487b7160e01b5f52603260045260245ffd5b600181811c9082168061439357607f821691505b60208210810361417a57634e487b7160e01b5f52602260045260245ffd5b805161359481613ce4565b8051600681900b8114613594575f5ffd5b5f60a08284031280156143de575f5ffd5b5060405160a081016001600160401b038111828210171561440157614401613dab565b604052825161440f81613f62565b8152602083015161441f81613ce4565b6020820152614430604084016143bc565b6040820152606083015161444381613ce4565b60608201526080928301519281019290925250919050565b5f82601f83011261446a575f5ffd5b815161447581613e2f565b6040516144828282613e03565b828152856020848701011115614496575f5ffd5b8260208601602083015e5f92810160200192909252509392505050565b5f5f604083850312156144c4575f5ffd5b82516144cf816140b4565b60208401519092506001600160401b038111156144ea575f5ffd5b6144f68582860161445b565b9150509250929050565b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b63ffffffff60e01b84168152604060208201525f6112b4604083018486614500565b5f6020828403121561455a575f5ffd5b8151610d1b81613a13565b5f5f8335601e1984360301811261457a575f5ffd5b83016020810192503590506001600160401b03811115614598575f5ffd5b803603821315613c9f575f5ffd5b608081525f6145b960808301888a614500565b865f0b60208401526145ce6040840187613a85565b8281036060840152838152602080820190600586901b830101865f5b8781101561462857848303601f19018452614605828a614565565b614610858284614500565b602096870196909550939093019250506001016145ea565b50909b9a5050505050505050505050565b5f60033d111561118e5760045f5f3e505f5160e01c90565b5f60443d101561465e5790565b6040513d600319016004823e80513d60248201116001600160401b038211171561468757505090565b80820180516001600160401b038111156146a2575050505090565b3d84016003190182820160200111156146bc575050505090565b6146cb60208285010185613e03565b509392505050565b63ffffffff60e01b8816815260a060208201525f6146f560a08301888a614500565b865f0b604084015261470a6060840187613a85565b8281036080840152838152602080820190600586901b830101865f5b8781101561476457848303601f19018452614741828a614565565b61474c858284614500565b60209687019690955093909301925050600101614726565b50909c9b505050505050505050505050565b5f60208284031215614786575f5ffd5b8151610d1b816140b4565b608081525f6147a460808301888a614500565b82810360208401526147b7818789614500565b5f9590950b604084015250506001600160a01b0391909116606090910152949350505050565b5f5f604083850312156147ee575f5ffd5b82516147f981613a13565b6020939093015192949293505050565b63ffffffff60e01b8816815260c060208201525f61482b60c08301888a614500565b9050855f0b60408301526148426060830186613a99565b6001600160a01b0393909316608082015260a0015295945050505050565b61ffff81168114612637575f5ffd5b803561359481614860565b5f6020828403121561488a575f5ffd5b8135610d1b81614860565b6040808252843582820152602085013560608301525f908501356148b881614860565b61ffff16608083015260608501356148cf81614860565b61ffff1660a083015260808501356148e681613ce4565b6001600160401b031660c083015261490060a08601613cf8565b6001600160401b031660e083015261491b60c0860186614565565b60e061010085015261493261012085018284614500565b9150508281036020840152611473818587614500565b805160148110613594575f5ffd5b805160ff81168114613594575f5ffd5b5f60c08284031215614976575f5ffd5b60405161498281613dbf565b80915082516001600160401b0381111561499a575f5ffd5b8301604081860312156149ab575f5ffd5b6040516149b781613de4565b81516001600160401b038111156149cc575f5ffd5b6149d88782850161445b565b8252506020918201518282015282526149f2908401614956565b6020820152614a0360408401614956565b6040820152614a1460608401614956565b6060820152614a25608084016143b1565b6080820152614a3660a084016143b1565b60a08201525092915050565b5f60208284031215614a52575f5ffd5b81516001600160401b03811115614a67575f5ffd5b820160c08185031215614a78575f5ffd5b604051614a8481613dbf565b81516101008110614a93575f5ffd5b8152614aa160208301614948565b60208201526040828101519082015260608083015190820152614ac6608083016143b1565b608082015260a08201516001600160401b03811115614ae3575f5ffd5b614aef86828501614966565b60a083015250949350505050565b634e487b7160e01b5f52601160045260245ffd5b6001600160401b038181168382160190811115610bf257610bf2614afd565b6001600160401b038281168282160390811115610bf257610bf2614afd565b600782810b9082900b03677fffffffffffffff198112677fffffffffffffff82131715610bf257610bf2614afd565b5f8160060b667fffffffffffff198103614b9a57614b9a614afd565b5f0392915050565b5f8260060b8260060b028060060b9150808214612e8d57612e8d614afd565b5f6001600160401b03831680614be557634e487b7160e01b5f52601260045260245ffd5b806001600160401b0384160491505092915050565b6001600160a01b0383168152815462ffffff808216602080850191909152601883901c60ff161515604085015282901c81166060840152603882901c166080830152605081901c61ffff1660a083015260e0820190606081901c61ffff1660c08401526146cb565b5f60c0828403128015614c73575f5ffd5b50604051614c8081613dbf565b8235614c8b816141f2565b81526020830135614c9b81613edc565b60208201526040830135614cae816141f2565b60408201526060830135614cc1816141f2565b60608201526080830135614cd481614860565b6080820152614ce560a0840161486f565b60a08201529392505050565b5f8135610bf2816141f2565b5f8135610bf281614860565b8135614d14816141f2565b62ffffff8116905081548162ffffff1982161783556020840135614d3781613edc565b63ffffffff199190911690911790151560181b63ff000000161781555f6040830135614d62816141f2565b825466ffffff00000000191660209190911b66ffffff000000001617825550614db2614d9060608401614cf1565b825462ffffff60381b191660389190911b69ffffff0000000000000016178255565b614de1614dc160808401614cfd565b82805461ffff60501b191660509290921b61ffff60501b16919091179055565b612c9a614df060a08401614cfd565b82805461ffff60601b191660609290921b61ffff60601b16919091179055565b608081525f614e23608083018789614500565b6020830195909552505f9290920b60408301526001600160a01b031660609091015292915050565b5f60c0828403128015614e5c575f5ffd5b50604051614e6981613dbf565b8251614e7481613ce4565b81526020830151614e8481613ce4565b6020820152614e95604084016143bc565b60408201526060830151614ea881613f62565b60608201526080830151614ebb81613ce4565b608082015260a0928301519281019290925250919050565b5f6120ed614ee18386614334565b84614334565b60a081525f614ef960a0830188613a43565b9050855f0b6020830152614f106040830186613a99565b6001600160a01b03939093166060820152608001529392505050565b63ffffffff60e01b8716815260c060208201525f614f4d60c0830188613a43565b9050855f0b6040830152614f646060830186613a99565b6001600160a01b0393909316608082015260a00152949350505050565b63ffffffff60e01b8416815261010060208201525f614fa4610100830185613a43565b90506120ed6040830184613ad2565b5f60018201614fc457614fc4614afd565b5060010190565b80820180821115610bf257610bf2614afd56fe610100604052348015610010575f5ffd5b50604051610b77380380610b7783398101604081905261002f916100c1565b6001600160e01b0319811660808190526040516371b50ecf60e11b815260048101919091526001600160a01b0383169063e36a1d9e90602401602060405180830381865afa158015610083573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906100a79190610110565b60a052506001600160a01b031660c081905260e052610127565b5f5f604083850312156100d2575f5ffd5b82516001600160a01b03811681146100e8575f5ffd5b60208401519092506001600160e01b031981168114610105575f5ffd5b809150509250929050565b5f60208284031215610120575f5ffd5b5051919050565b60805160a05160c05160e0516109d16101a65f395f818160ee01528181610322015281816103f4015281816104cb01528181610569015261065701525f61024e01525f61013201525f818161021a015281816102970152818161035101528181610423015281816104f801528181610598015261068601526109d15ff3fe608060405234801561000f575f5ffd5b50600436106100e5575f3560e01c80638205bf6a11610088578063b5ab58dc11610063578063b5ab58dc14610202578063e9159d6414610215578063f98d06f014610249578063feaf968c14610270575f5ffd5b80638205bf6a146101a857806395d89b41146101b05780639a6fc8f5146101b8575f5ffd5b806350d25bcd116100c357806350d25bcd1461017c57806354fd4d5014610184578063668a0f021461018b5780637284e41614610193575f5ffd5b80631014d375146100e9578063311893341461012d578063313ce56714610162575b5f5ffd5b6101107f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020015b60405180910390f35b6101547f000000000000000000000000000000000000000000000000000000000000000081565b604051908152602001610124565b61016a610278565b60405160ff9091168152602001610124565b61015461031e565b6003610154565b6101546103d8565b61019b6103e6565b604051610124919061072e565b6101546103f0565b61019b6104b1565b6101cb6101c6366004610763565b610561565b6040805169ffffffffffffffffffff968716815260208101959095528401929092526060830152909116608082015260a001610124565b610154610210366004610793565b610640565b61023c7f000000000000000000000000000000000000000000000000000000000000000081565b60405161012491906107aa565b6101107f000000000000000000000000000000000000000000000000000000000000000081565b6101cb61064f565b60405163274d45db60e01b81525f908190339063274d45db906102bf907f0000000000000000000000000000000000000000000000000000000000000000906004016107aa565b602060405180830381865afa1580156102da573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906102fe91906107d4565b90505f815f0b1261030f5780610318565b610318816107ed565b91505090565b5f5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663974454097f00000000000000000000000000000000000000000000000000000000000000006040518263ffffffff1660e01b815260040161038c91906107aa565b60a060405180830381865afa1580156103a7573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906103cb9190610872565b6020015160070b92915050565b5f6103e16103f0565b905090565b60606103e16104b1565b5f5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663974454097f00000000000000000000000000000000000000000000000000000000000000006040518263ffffffff1660e01b815260040161045e91906107aa565b60a060405180830381865afa158015610479573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061049d9190610872565b6060015167ffffffffffffffff1692915050565b604051631c4f621160e31b81526060906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063e27b108890610520907f0000000000000000000000000000000000000000000000000000000000000000906004016107aa565b5f60405180830381865afa15801561053a573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526103e19190810190610907565b5f5f5f5f5f5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663974454097f00000000000000000000000000000000000000000000000000000000000000006040518263ffffffff1660e01b81526004016105d391906107aa565b60a060405180830381865afa1580156105ee573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106129190610872565b6060810151602090910151979860079890980b9767ffffffffffffffff909116965086955088945092505050565b5f61064961031e565b92915050565b5f5f5f5f5f5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663974454097f00000000000000000000000000000000000000000000000000000000000000006040518263ffffffff1660e01b81526004016106c191906107aa565b60a060405180830381865afa1580156106dc573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107009190610872565b606081015160209091015167ffffffffffffffff9091169760079190910b9650879550859450849350915050565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b5f60208284031215610773575f5ffd5b813569ffffffffffffffffffff8116811461078c575f5ffd5b9392505050565b5f602082840312156107a3575f5ffd5b5035919050565b6001600160e01b031991909116815260200190565b80515f81900b81146107cf575f5ffd5b919050565b5f602082840312156107e4575f5ffd5b61078c826107bf565b5f81810b6080810161080d57634e487b7160e01b5f52601160045260245ffd5b5f0392915050565b634e487b7160e01b5f52604160045260245ffd5b604051601f8201601f1916810167ffffffffffffffff8111828210171561085257610852610815565b604052919050565b67ffffffffffffffff8116811461086f575f5ffd5b50565b5f60a0828403128015610883575f5ffd5b5060405160a0810167ffffffffffffffff811182821017156108a7576108a7610815565b6040526108b3836107bf565b815260208301516108c38161085a565b60208201526040830151600681900b81146108dc575f5ffd5b604082015260608301516108ef8161085a565b60608201526080928301519281019290925250919050565b5f60208284031215610917575f5ffd5b815167ffffffffffffffff81111561092d575f5ffd5b8201601f8101841361093d575f5ffd5b805167ffffffffffffffff81111561095757610957610815565b61096a601f8201601f1916602001610829565b81815285602083850101111561097e575f5ffd5b8160208401602083015e5f9181016020019190915294935050505056fea2646970667358221220ed110a5686ebb699e7a8419c7abfa8c2ab9b37934765c17bd5997c5da024fdf864736f6c634300081e0033c5354469a5d32189a18f5e79f9508d828fa089087c317bc89792b1c8dba53904c5354469a5d32189a18f5e79f9508d828fa089087c317bc89792b1c8dba53900360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbea26469706673582212200e1e3e25a3b6691ab79586ce4ba9c3b4f23b0be7ff300d7f0c1389d844ccb70064736f6c634300081e0033",
  "immutableReferences": {
    "4002": [
      {
        "length": 32,
        "start": 4804
      }
    ],
    "4094": [
      {
        "length": 32,
        "start": 1215
      }
    ],
    "4426": [
      {
        "length": 32,
        "start": 823
      },
      {
        "length": 32,
        "start": 5287
      },
      {
        "length": 32,
        "start": 6060
      },
      {
        "length": 32,
        "start": 8571
      }
    ],
    "45353": [
      {
        "length": 32,
        "start": 1174
      },
      {
        "length": 32,
        "start": 4199
      },
      {
        "length": 32,
        "start": 4287
      },
      {
        "length": 32,
        "start": 7311
      },
      {
        "length": 32,
        "start": 8175
      },
      {
        "length": 32,
        "start": 12351
      },
      {
        "length": 32,
        "start": 12524
      }
    ],
    "45824": [
      {
        "length": 32,
        "start": 1585
      },
      {
        "length": 32,
        "start": 3905
      },
      {
        "length": 32,
        "start": 4105
      },
      {
        "length": 32,
        "start": 4253
      }
    ],
    "45828": [
      {
        "length": 32,
        "start": 1251
      },
      {
        "length": 32,
        "start": 5772
      }
    ]
  },
  "generatedSources": [
    {
      "ast": {
        "nativeSrc": "0:1733:136",
        "nodeType": "YulBlock",
        "src": "0:1733:136",
        "statements": [
          {
            "nativeSrc": "6:3:136",
            "nodeType": "YulBlock",
            "src": "6:3:136",
            "statements": []
          },
          {
            "body": {
              "nativeSrc": "126:401:136",
              "nodeType": "YulBlock",
              "src": "126:401:136",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "172:16:136",
                    "nodeType": "YulBlock",
                    "src": "172:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "181:1:136",
                              "nodeType": "YulLiteral",
                              "src": "181:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "184:1:136",
                              "nodeType": "YulLiteral",
                              "src": "184:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "174:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "174:6:136"
                          },
                          "nativeSrc": "174:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "174:12:136"
                        },
                        "nativeSrc": "174:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "174:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "147:7:136",
                            "nodeType": "YulIdentifier",
                            "src": "147:7:136"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "156:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "156:9:136"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "143:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "143:3:136"
                        },
                        "nativeSrc": "143:23:136",
                        "nodeType": "YulFunctionCall",
                        "src": "143:23:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "168:2:136",
                        "nodeType": "YulLiteral",
                        "src": "168:2:136",
                        "type": "",
                        "value": "96"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "139:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "139:3:136"
                    },
                    "nativeSrc": "139:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "139:32:136"
                  },
                  "nativeSrc": "136:52:136",
                  "nodeType": "YulIf",
                  "src": "136:52:136"
                },
                {
                  "nativeSrc": "197:29:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "197:29:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "216:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "216:9:136"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "210:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "210:5:136"
                    },
                    "nativeSrc": "210:16:136",
                    "nodeType": "YulFunctionCall",
                    "src": "210:16:136"
                  },
                  "variables": [
                    {
                      "name": "value",
                      "nativeSrc": "201:5:136",
                      "nodeType": "YulTypedName",
                      "src": "201:5:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "289:16:136",
                    "nodeType": "YulBlock",
                    "src": "289:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "298:1:136",
                              "nodeType": "YulLiteral",
                              "src": "298:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "301:1:136",
                              "nodeType": "YulLiteral",
                              "src": "301:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "291:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "291:6:136"
                          },
                          "nativeSrc": "291:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "291:12:136"
                        },
                        "nativeSrc": "291:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "291:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "248:5:136",
                            "nodeType": "YulIdentifier",
                            "src": "248:5:136"
                          },
                          {
                            "arguments": [
                              {
                                "name": "value",
                                "nativeSrc": "259:5:136",
                                "nodeType": "YulIdentifier",
                                "src": "259:5:136"
                              },
                              {
                                "arguments": [
                                  {
                                    "arguments": [
                                      {
                                        "kind": "number",
                                        "nativeSrc": "274:3:136",
                                        "nodeType": "YulLiteral",
                                        "src": "274:3:136",
                                        "type": "",
                                        "value": "160"
                                      },
                                      {
                                        "kind": "number",
                                        "nativeSrc": "279:1:136",
                                        "nodeType": "YulLiteral",
                                        "src": "279:1:136",
                                        "type": "",
                                        "value": "1"
                                      }
                                    ],
                                    "functionName": {
                                      "name": "shl",
                                      "nativeSrc": "270:3:136",
                                      "nodeType": "YulIdentifier",
                                      "src": "270:3:136"
                                    },
                                    "nativeSrc": "270:11:136",
                                    "nodeType": "YulFunctionCall",
                                    "src": "270:11:136"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "283:1:136",
                                    "nodeType": "YulLiteral",
                                    "src": "283:1:136",
                                    "type": "",
                                    "value": "1"
                                  }
                                ],
                                "functionName": {
                                  "name": "sub",
                                  "nativeSrc": "266:3:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "266:3:136"
                                },
                                "nativeSrc": "266:19:136",
                                "nodeType": "YulFunctionCall",
                                "src": "266:19:136"
                              }
                            ],
                            "functionName": {
                              "name": "and",
                              "nativeSrc": "255:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "255:3:136"
                            },
                            "nativeSrc": "255:31:136",
                            "nodeType": "YulFunctionCall",
                            "src": "255:31:136"
                          }
                        ],
                        "functionName": {
                          "name": "eq",
                          "nativeSrc": "245:2:136",
                          "nodeType": "YulIdentifier",
                          "src": "245:2:136"
                        },
                        "nativeSrc": "245:42:136",
                        "nodeType": "YulFunctionCall",
                        "src": "245:42:136"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "238:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "238:6:136"
                    },
                    "nativeSrc": "238:50:136",
                    "nodeType": "YulFunctionCall",
                    "src": "238:50:136"
                  },
                  "nativeSrc": "235:70:136",
                  "nodeType": "YulIf",
                  "src": "235:70:136"
                },
                {
                  "nativeSrc": "314:15:136",
                  "nodeType": "YulAssignment",
                  "src": "314:15:136",
                  "value": {
                    "name": "value",
                    "nativeSrc": "324:5:136",
                    "nodeType": "YulIdentifier",
                    "src": "324:5:136"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "314:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "314:6:136"
                    }
                  ]
                },
                {
                  "nativeSrc": "338:35:136",
                  "nodeType": "YulAssignment",
                  "src": "338:35:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "358:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "358:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "369:2:136",
                            "nodeType": "YulLiteral",
                            "src": "369:2:136",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "354:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "354:3:136"
                        },
                        "nativeSrc": "354:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "354:18:136"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "348:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "348:5:136"
                    },
                    "nativeSrc": "348:25:136",
                    "nodeType": "YulFunctionCall",
                    "src": "348:25:136"
                  },
                  "variableNames": [
                    {
                      "name": "value1",
                      "nativeSrc": "338:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "338:6:136"
                    }
                  ]
                },
                {
                  "nativeSrc": "382:40:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "382:40:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "407:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "407:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "418:2:136",
                            "nodeType": "YulLiteral",
                            "src": "418:2:136",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "403:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "403:3:136"
                        },
                        "nativeSrc": "403:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "403:18:136"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "397:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "397:5:136"
                    },
                    "nativeSrc": "397:25:136",
                    "nodeType": "YulFunctionCall",
                    "src": "397:25:136"
                  },
                  "variables": [
                    {
                      "name": "value_1",
                      "nativeSrc": "386:7:136",
                      "nodeType": "YulTypedName",
                      "src": "386:7:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "479:16:136",
                    "nodeType": "YulBlock",
                    "src": "479:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "488:1:136",
                              "nodeType": "YulLiteral",
                              "src": "488:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "491:1:136",
                              "nodeType": "YulLiteral",
                              "src": "491:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "481:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "481:6:136"
                          },
                          "nativeSrc": "481:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "481:12:136"
                        },
                        "nativeSrc": "481:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "481:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value_1",
                            "nativeSrc": "444:7:136",
                            "nodeType": "YulIdentifier",
                            "src": "444:7:136"
                          },
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "name": "value_1",
                                    "nativeSrc": "467:7:136",
                                    "nodeType": "YulIdentifier",
                                    "src": "467:7:136"
                                  }
                                ],
                                "functionName": {
                                  "name": "iszero",
                                  "nativeSrc": "460:6:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "460:6:136"
                                },
                                "nativeSrc": "460:15:136",
                                "nodeType": "YulFunctionCall",
                                "src": "460:15:136"
                              }
                            ],
                            "functionName": {
                              "name": "iszero",
                              "nativeSrc": "453:6:136",
                              "nodeType": "YulIdentifier",
                              "src": "453:6:136"
                            },
                            "nativeSrc": "453:23:136",
                            "nodeType": "YulFunctionCall",
                            "src": "453:23:136"
                          }
                        ],
                        "functionName": {
                          "name": "eq",
                          "nativeSrc": "441:2:136",
                          "nodeType": "YulIdentifier",
                          "src": "441:2:136"
                        },
                        "nativeSrc": "441:36:136",
                        "nodeType": "YulFunctionCall",
                        "src": "441:36:136"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "434:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "434:6:136"
                    },
                    "nativeSrc": "434:44:136",
                    "nodeType": "YulFunctionCall",
                    "src": "434:44:136"
                  },
                  "nativeSrc": "431:64:136",
                  "nodeType": "YulIf",
                  "src": "431:64:136"
                },
                {
                  "nativeSrc": "504:17:136",
                  "nodeType": "YulAssignment",
                  "src": "504:17:136",
                  "value": {
                    "name": "value_1",
                    "nativeSrc": "514:7:136",
                    "nodeType": "YulIdentifier",
                    "src": "514:7:136"
                  },
                  "variableNames": [
                    {
                      "name": "value2",
                      "nativeSrc": "504:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "504:6:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_addresst_bytes32t_bool_fromMemory",
            "nativeSrc": "14:513:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "76:9:136",
                "nodeType": "YulTypedName",
                "src": "76:9:136",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "87:7:136",
                "nodeType": "YulTypedName",
                "src": "87:7:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "99:6:136",
                "nodeType": "YulTypedName",
                "src": "99:6:136",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "107:6:136",
                "nodeType": "YulTypedName",
                "src": "107:6:136",
                "type": ""
              },
              {
                "name": "value2",
                "nativeSrc": "115:6:136",
                "nodeType": "YulTypedName",
                "src": "115:6:136",
                "type": ""
              }
            ],
            "src": "14:513:136"
          },
          {
            "body": {
              "nativeSrc": "633:102:136",
              "nodeType": "YulBlock",
              "src": "633:102:136",
              "statements": [
                {
                  "nativeSrc": "643:26:136",
                  "nodeType": "YulAssignment",
                  "src": "643:26:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "655:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "655:9:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "666:2:136",
                        "nodeType": "YulLiteral",
                        "src": "666:2:136",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "651:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "651:3:136"
                    },
                    "nativeSrc": "651:18:136",
                    "nodeType": "YulFunctionCall",
                    "src": "651:18:136"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "643:4:136",
                      "nodeType": "YulIdentifier",
                      "src": "643:4:136"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "685:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "685:9:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value0",
                            "nativeSrc": "700:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "700:6:136"
                          },
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "kind": "number",
                                    "nativeSrc": "716:3:136",
                                    "nodeType": "YulLiteral",
                                    "src": "716:3:136",
                                    "type": "",
                                    "value": "160"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "721:1:136",
                                    "nodeType": "YulLiteral",
                                    "src": "721:1:136",
                                    "type": "",
                                    "value": "1"
                                  }
                                ],
                                "functionName": {
                                  "name": "shl",
                                  "nativeSrc": "712:3:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "712:3:136"
                                },
                                "nativeSrc": "712:11:136",
                                "nodeType": "YulFunctionCall",
                                "src": "712:11:136"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "725:1:136",
                                "nodeType": "YulLiteral",
                                "src": "725:1:136",
                                "type": "",
                                "value": "1"
                              }
                            ],
                            "functionName": {
                              "name": "sub",
                              "nativeSrc": "708:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "708:3:136"
                            },
                            "nativeSrc": "708:19:136",
                            "nodeType": "YulFunctionCall",
                            "src": "708:19:136"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "696:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "696:3:136"
                        },
                        "nativeSrc": "696:32:136",
                        "nodeType": "YulFunctionCall",
                        "src": "696:32:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "678:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "678:6:136"
                    },
                    "nativeSrc": "678:51:136",
                    "nodeType": "YulFunctionCall",
                    "src": "678:51:136"
                  },
                  "nativeSrc": "678:51:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "678:51:136"
                }
              ]
            },
            "name": "abi_encode_tuple_t_address__to_t_address__fromStack_reversed",
            "nativeSrc": "532:203:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "602:9:136",
                "nodeType": "YulTypedName",
                "src": "602:9:136",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "613:6:136",
                "nodeType": "YulTypedName",
                "src": "613:6:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "624:4:136",
                "nodeType": "YulTypedName",
                "src": "624:4:136",
                "type": ""
              }
            ],
            "src": "532:203:136"
          },
          {
            "body": {
              "nativeSrc": "914:171:136",
              "nodeType": "YulBlock",
              "src": "914:171:136",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "931:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "931:9:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "942:2:136",
                        "nodeType": "YulLiteral",
                        "src": "942:2:136",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "924:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "924:6:136"
                    },
                    "nativeSrc": "924:21:136",
                    "nodeType": "YulFunctionCall",
                    "src": "924:21:136"
                  },
                  "nativeSrc": "924:21:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "924:21:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "965:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "965:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "976:2:136",
                            "nodeType": "YulLiteral",
                            "src": "976:2:136",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "961:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "961:3:136"
                        },
                        "nativeSrc": "961:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "961:18:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "981:2:136",
                        "nodeType": "YulLiteral",
                        "src": "981:2:136",
                        "type": "",
                        "value": "21"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "954:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "954:6:136"
                    },
                    "nativeSrc": "954:30:136",
                    "nodeType": "YulFunctionCall",
                    "src": "954:30:136"
                  },
                  "nativeSrc": "954:30:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "954:30:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "1004:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "1004:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "1015:2:136",
                            "nodeType": "YulLiteral",
                            "src": "1015:2:136",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "1000:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "1000:3:136"
                        },
                        "nativeSrc": "1000:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "1000:18:136"
                      },
                      {
                        "hexValue": "696e6578697374656e74207769742f6f7261636c65",
                        "kind": "string",
                        "nativeSrc": "1020:23:136",
                        "nodeType": "YulLiteral",
                        "src": "1020:23:136",
                        "type": "",
                        "value": "inexistent wit/oracle"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "993:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "993:6:136"
                    },
                    "nativeSrc": "993:51:136",
                    "nodeType": "YulFunctionCall",
                    "src": "993:51:136"
                  },
                  "nativeSrc": "993:51:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "993:51:136"
                },
                {
                  "nativeSrc": "1053:26:136",
                  "nodeType": "YulAssignment",
                  "src": "1053:26:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "1065:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "1065:9:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "1076:2:136",
                        "nodeType": "YulLiteral",
                        "src": "1076:2:136",
                        "type": "",
                        "value": "96"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "1061:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "1061:3:136"
                    },
                    "nativeSrc": "1061:18:136",
                    "nodeType": "YulFunctionCall",
                    "src": "1061:18:136"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "1053:4:136",
                      "nodeType": "YulIdentifier",
                      "src": "1053:4:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_t_stringliteral_607e341bafd0779b8dd4ce1c0914683083ea6c77d6fb352adad667fac5e04d98__to_t_string_memory_ptr__fromStack_reversed",
            "nativeSrc": "740:345:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "891:9:136",
                "nodeType": "YulTypedName",
                "src": "891:9:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "905:4:136",
                "nodeType": "YulTypedName",
                "src": "905:4:136",
                "type": ""
              }
            ],
            "src": "740:345:136"
          },
          {
            "body": {
              "nativeSrc": "1170:210:136",
              "nodeType": "YulBlock",
              "src": "1170:210:136",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "1216:16:136",
                    "nodeType": "YulBlock",
                    "src": "1216:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "1225:1:136",
                              "nodeType": "YulLiteral",
                              "src": "1225:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "1228:1:136",
                              "nodeType": "YulLiteral",
                              "src": "1228:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "1218:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "1218:6:136"
                          },
                          "nativeSrc": "1218:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "1218:12:136"
                        },
                        "nativeSrc": "1218:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "1218:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "1191:7:136",
                            "nodeType": "YulIdentifier",
                            "src": "1191:7:136"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "1200:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "1200:9:136"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "1187:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "1187:3:136"
                        },
                        "nativeSrc": "1187:23:136",
                        "nodeType": "YulFunctionCall",
                        "src": "1187:23:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "1212:2:136",
                        "nodeType": "YulLiteral",
                        "src": "1212:2:136",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "1183:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "1183:3:136"
                    },
                    "nativeSrc": "1183:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "1183:32:136"
                  },
                  "nativeSrc": "1180:52:136",
                  "nodeType": "YulIf",
                  "src": "1180:52:136"
                },
                {
                  "nativeSrc": "1241:29:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "1241:29:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "1260:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "1260:9:136"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "1254:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "1254:5:136"
                    },
                    "nativeSrc": "1254:16:136",
                    "nodeType": "YulFunctionCall",
                    "src": "1254:16:136"
                  },
                  "variables": [
                    {
                      "name": "value",
                      "nativeSrc": "1245:5:136",
                      "nodeType": "YulTypedName",
                      "src": "1245:5:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "1334:16:136",
                    "nodeType": "YulBlock",
                    "src": "1334:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "1343:1:136",
                              "nodeType": "YulLiteral",
                              "src": "1343:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "1346:1:136",
                              "nodeType": "YulLiteral",
                              "src": "1346:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "1336:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "1336:6:136"
                          },
                          "nativeSrc": "1336:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "1336:12:136"
                        },
                        "nativeSrc": "1336:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "1336:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "1292:5:136",
                            "nodeType": "YulIdentifier",
                            "src": "1292:5:136"
                          },
                          {
                            "arguments": [
                              {
                                "name": "value",
                                "nativeSrc": "1303:5:136",
                                "nodeType": "YulIdentifier",
                                "src": "1303:5:136"
                              },
                              {
                                "arguments": [
                                  {
                                    "kind": "number",
                                    "nativeSrc": "1314:3:136",
                                    "nodeType": "YulLiteral",
                                    "src": "1314:3:136",
                                    "type": "",
                                    "value": "224"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "1319:10:136",
                                    "nodeType": "YulLiteral",
                                    "src": "1319:10:136",
                                    "type": "",
                                    "value": "0xffffffff"
                                  }
                                ],
                                "functionName": {
                                  "name": "shl",
                                  "nativeSrc": "1310:3:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "1310:3:136"
                                },
                                "nativeSrc": "1310:20:136",
                                "nodeType": "YulFunctionCall",
                                "src": "1310:20:136"
                              }
                            ],
                            "functionName": {
                              "name": "and",
                              "nativeSrc": "1299:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "1299:3:136"
                            },
                            "nativeSrc": "1299:32:136",
                            "nodeType": "YulFunctionCall",
                            "src": "1299:32:136"
                          }
                        ],
                        "functionName": {
                          "name": "eq",
                          "nativeSrc": "1289:2:136",
                          "nodeType": "YulIdentifier",
                          "src": "1289:2:136"
                        },
                        "nativeSrc": "1289:43:136",
                        "nodeType": "YulFunctionCall",
                        "src": "1289:43:136"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "1282:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "1282:6:136"
                    },
                    "nativeSrc": "1282:51:136",
                    "nodeType": "YulFunctionCall",
                    "src": "1282:51:136"
                  },
                  "nativeSrc": "1279:71:136",
                  "nodeType": "YulIf",
                  "src": "1279:71:136"
                },
                {
                  "nativeSrc": "1359:15:136",
                  "nodeType": "YulAssignment",
                  "src": "1359:15:136",
                  "value": {
                    "name": "value",
                    "nativeSrc": "1369:5:136",
                    "nodeType": "YulIdentifier",
                    "src": "1369:5:136"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "1359:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "1359:6:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_bytes4_fromMemory",
            "nativeSrc": "1090:290:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "1136:9:136",
                "nodeType": "YulTypedName",
                "src": "1136:9:136",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "1147:7:136",
                "nodeType": "YulTypedName",
                "src": "1147:7:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "1159:6:136",
                "nodeType": "YulTypedName",
                "src": "1159:6:136",
                "type": ""
              }
            ],
            "src": "1090:290:136"
          },
          {
            "body": {
              "nativeSrc": "1559:172:136",
              "nodeType": "YulBlock",
              "src": "1559:172:136",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "1576:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "1576:9:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "1587:2:136",
                        "nodeType": "YulLiteral",
                        "src": "1587:2:136",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "1569:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "1569:6:136"
                    },
                    "nativeSrc": "1569:21:136",
                    "nodeType": "YulFunctionCall",
                    "src": "1569:21:136"
                  },
                  "nativeSrc": "1569:21:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "1569:21:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "1610:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "1610:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "1621:2:136",
                            "nodeType": "YulLiteral",
                            "src": "1621:2:136",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "1606:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "1606:3:136"
                        },
                        "nativeSrc": "1606:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "1606:18:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "1626:2:136",
                        "nodeType": "YulLiteral",
                        "src": "1626:2:136",
                        "type": "",
                        "value": "22"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "1599:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "1599:6:136"
                    },
                    "nativeSrc": "1599:30:136",
                    "nodeType": "YulFunctionCall",
                    "src": "1599:30:136"
                  },
                  "nativeSrc": "1599:30:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "1599:30:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "1649:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "1649:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "1660:2:136",
                            "nodeType": "YulLiteral",
                            "src": "1660:2:136",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "1645:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "1645:3:136"
                        },
                        "nativeSrc": "1645:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "1645:18:136"
                      },
                      {
                        "hexValue": "756e636f6d706c69616e74207769742f6f7261636c65",
                        "kind": "string",
                        "nativeSrc": "1665:24:136",
                        "nodeType": "YulLiteral",
                        "src": "1665:24:136",
                        "type": "",
                        "value": "uncompliant wit/oracle"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "1638:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "1638:6:136"
                    },
                    "nativeSrc": "1638:52:136",
                    "nodeType": "YulFunctionCall",
                    "src": "1638:52:136"
                  },
                  "nativeSrc": "1638:52:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "1638:52:136"
                },
                {
                  "nativeSrc": "1699:26:136",
                  "nodeType": "YulAssignment",
                  "src": "1699:26:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "1711:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "1711:9:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "1722:2:136",
                        "nodeType": "YulLiteral",
                        "src": "1722:2:136",
                        "type": "",
                        "value": "96"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "1707:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "1707:3:136"
                    },
                    "nativeSrc": "1707:18:136",
                    "nodeType": "YulFunctionCall",
                    "src": "1707:18:136"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "1699:4:136",
                      "nodeType": "YulIdentifier",
                      "src": "1699:4:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_t_stringliteral_cbcd48d575dfbbe3e40a18ff4aaf929b6cf25b8fe75b3b262dfeb3239030fde3__to_t_string_memory_ptr__fromStack_reversed",
            "nativeSrc": "1385:346:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "1536:9:136",
                "nodeType": "YulTypedName",
                "src": "1536:9:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "1550:4:136",
                "nodeType": "YulTypedName",
                "src": "1550:4:136",
                "type": ""
              }
            ],
            "src": "1385:346:136"
          }
        ]
      },
      "contents": "{\n    { }\n    function abi_decode_tuple_t_addresst_bytes32t_bool_fromMemory(headStart, dataEnd) -> value0, value1, value2\n    {\n        if slt(sub(dataEnd, headStart), 96) { revert(0, 0) }\n        let value := mload(headStart)\n        if iszero(eq(value, and(value, sub(shl(160, 1), 1)))) { revert(0, 0) }\n        value0 := value\n        value1 := mload(add(headStart, 32))\n        let value_1 := mload(add(headStart, 64))\n        if iszero(eq(value_1, iszero(iszero(value_1)))) { revert(0, 0) }\n        value2 := value_1\n    }\n    function abi_encode_tuple_t_address__to_t_address__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n    }\n    function abi_encode_tuple_t_stringliteral_607e341bafd0779b8dd4ce1c0914683083ea6c77d6fb352adad667fac5e04d98__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 21)\n        mstore(add(headStart, 64), \"inexistent wit/oracle\")\n        tail := add(headStart, 96)\n    }\n    function abi_decode_tuple_t_bytes4_fromMemory(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := mload(headStart)\n        if iszero(eq(value, and(value, shl(224, 0xffffffff)))) { revert(0, 0) }\n        value0 := value\n    }\n    function abi_encode_tuple_t_stringliteral_cbcd48d575dfbbe3e40a18ff4aaf929b6cf25b8fe75b3b262dfeb3239030fde3__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 22)\n        mstore(add(headStart, 64), \"uncompliant wit/oracle\")\n        tail := add(headStart, 96)\n    }\n}",
      "id": 136,
      "language": "Yul",
      "name": "#utility.yul"
    }
  ],
  "deployedGeneratedSources": [
    {
      "ast": {
        "nativeSrc": "0:52287:136",
        "nodeType": "YulBlock",
        "src": "0:52287:136",
        "statements": [
          {
            "nativeSrc": "6:3:136",
            "nodeType": "YulBlock",
            "src": "6:3:136",
            "statements": []
          },
          {
            "body": {
              "nativeSrc": "76:87:136",
              "nodeType": "YulBlock",
              "src": "76:87:136",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "141:16:136",
                    "nodeType": "YulBlock",
                    "src": "141:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "150:1:136",
                              "nodeType": "YulLiteral",
                              "src": "150:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "153:1:136",
                              "nodeType": "YulLiteral",
                              "src": "153:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "143:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "143:6:136"
                          },
                          "nativeSrc": "143:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "143:12:136"
                        },
                        "nativeSrc": "143:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "143:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "99:5:136",
                            "nodeType": "YulIdentifier",
                            "src": "99:5:136"
                          },
                          {
                            "arguments": [
                              {
                                "name": "value",
                                "nativeSrc": "110:5:136",
                                "nodeType": "YulIdentifier",
                                "src": "110:5:136"
                              },
                              {
                                "arguments": [
                                  {
                                    "kind": "number",
                                    "nativeSrc": "121:3:136",
                                    "nodeType": "YulLiteral",
                                    "src": "121:3:136",
                                    "type": "",
                                    "value": "224"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "126:10:136",
                                    "nodeType": "YulLiteral",
                                    "src": "126:10:136",
                                    "type": "",
                                    "value": "0xffffffff"
                                  }
                                ],
                                "functionName": {
                                  "name": "shl",
                                  "nativeSrc": "117:3:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "117:3:136"
                                },
                                "nativeSrc": "117:20:136",
                                "nodeType": "YulFunctionCall",
                                "src": "117:20:136"
                              }
                            ],
                            "functionName": {
                              "name": "and",
                              "nativeSrc": "106:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "106:3:136"
                            },
                            "nativeSrc": "106:32:136",
                            "nodeType": "YulFunctionCall",
                            "src": "106:32:136"
                          }
                        ],
                        "functionName": {
                          "name": "eq",
                          "nativeSrc": "96:2:136",
                          "nodeType": "YulIdentifier",
                          "src": "96:2:136"
                        },
                        "nativeSrc": "96:43:136",
                        "nodeType": "YulFunctionCall",
                        "src": "96:43:136"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "89:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "89:6:136"
                    },
                    "nativeSrc": "89:51:136",
                    "nodeType": "YulFunctionCall",
                    "src": "89:51:136"
                  },
                  "nativeSrc": "86:71:136",
                  "nodeType": "YulIf",
                  "src": "86:71:136"
                }
              ]
            },
            "name": "validator_revert_userDefinedValueType_ID4",
            "nativeSrc": "14:149:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "value",
                "nativeSrc": "65:5:136",
                "nodeType": "YulTypedName",
                "src": "65:5:136",
                "type": ""
              }
            ],
            "src": "14:149:136"
          },
          {
            "body": {
              "nativeSrc": "263:194:136",
              "nodeType": "YulBlock",
              "src": "263:194:136",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "309:16:136",
                    "nodeType": "YulBlock",
                    "src": "309:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "318:1:136",
                              "nodeType": "YulLiteral",
                              "src": "318:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "321:1:136",
                              "nodeType": "YulLiteral",
                              "src": "321:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "311:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "311:6:136"
                          },
                          "nativeSrc": "311:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "311:12:136"
                        },
                        "nativeSrc": "311:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "311:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "284:7:136",
                            "nodeType": "YulIdentifier",
                            "src": "284:7:136"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "293:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "293:9:136"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "280:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "280:3:136"
                        },
                        "nativeSrc": "280:23:136",
                        "nodeType": "YulFunctionCall",
                        "src": "280:23:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "305:2:136",
                        "nodeType": "YulLiteral",
                        "src": "305:2:136",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "276:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "276:3:136"
                    },
                    "nativeSrc": "276:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "276:32:136"
                  },
                  "nativeSrc": "273:52:136",
                  "nodeType": "YulIf",
                  "src": "273:52:136"
                },
                {
                  "nativeSrc": "334:36:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "334:36:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "360:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "360:9:136"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "347:12:136",
                      "nodeType": "YulIdentifier",
                      "src": "347:12:136"
                    },
                    "nativeSrc": "347:23:136",
                    "nodeType": "YulFunctionCall",
                    "src": "347:23:136"
                  },
                  "variables": [
                    {
                      "name": "value",
                      "nativeSrc": "338:5:136",
                      "nodeType": "YulTypedName",
                      "src": "338:5:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "421:5:136",
                        "nodeType": "YulIdentifier",
                        "src": "421:5:136"
                      }
                    ],
                    "functionName": {
                      "name": "validator_revert_userDefinedValueType_ID4",
                      "nativeSrc": "379:41:136",
                      "nodeType": "YulIdentifier",
                      "src": "379:41:136"
                    },
                    "nativeSrc": "379:48:136",
                    "nodeType": "YulFunctionCall",
                    "src": "379:48:136"
                  },
                  "nativeSrc": "379:48:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "379:48:136"
                },
                {
                  "nativeSrc": "436:15:136",
                  "nodeType": "YulAssignment",
                  "src": "436:15:136",
                  "value": {
                    "name": "value",
                    "nativeSrc": "446:5:136",
                    "nodeType": "YulIdentifier",
                    "src": "446:5:136"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "436:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "436:6:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_userDefinedValueType$_ID4_$28155",
            "nativeSrc": "168:289:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "229:9:136",
                "nodeType": "YulTypedName",
                "src": "229:9:136",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "240:7:136",
                "nodeType": "YulTypedName",
                "src": "240:7:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "252:6:136",
                "nodeType": "YulTypedName",
                "src": "252:6:136",
                "type": ""
              }
            ],
            "src": "168:289:136"
          },
          {
            "body": {
              "nativeSrc": "523:239:136",
              "nodeType": "YulBlock",
              "src": "523:239:136",
              "statements": [
                {
                  "nativeSrc": "533:26:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "533:26:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "553:5:136",
                        "nodeType": "YulIdentifier",
                        "src": "553:5:136"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "547:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "547:5:136"
                    },
                    "nativeSrc": "547:12:136",
                    "nodeType": "YulFunctionCall",
                    "src": "547:12:136"
                  },
                  "variables": [
                    {
                      "name": "length",
                      "nativeSrc": "537:6:136",
                      "nodeType": "YulTypedName",
                      "src": "537:6:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "pos",
                        "nativeSrc": "575:3:136",
                        "nodeType": "YulIdentifier",
                        "src": "575:3:136"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "580:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "580:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "568:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "568:6:136"
                    },
                    "nativeSrc": "568:19:136",
                    "nodeType": "YulFunctionCall",
                    "src": "568:19:136"
                  },
                  "nativeSrc": "568:19:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "568:19:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "606:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "606:3:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "611:4:136",
                            "nodeType": "YulLiteral",
                            "src": "611:4:136",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "602:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "602:3:136"
                        },
                        "nativeSrc": "602:14:136",
                        "nodeType": "YulFunctionCall",
                        "src": "602:14:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "622:5:136",
                            "nodeType": "YulIdentifier",
                            "src": "622:5:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "629:4:136",
                            "nodeType": "YulLiteral",
                            "src": "629:4:136",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "618:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "618:3:136"
                        },
                        "nativeSrc": "618:16:136",
                        "nodeType": "YulFunctionCall",
                        "src": "618:16:136"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "636:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "636:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "mcopy",
                      "nativeSrc": "596:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "596:5:136"
                    },
                    "nativeSrc": "596:47:136",
                    "nodeType": "YulFunctionCall",
                    "src": "596:47:136"
                  },
                  "nativeSrc": "596:47:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "596:47:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "pos",
                                "nativeSrc": "667:3:136",
                                "nodeType": "YulIdentifier",
                                "src": "667:3:136"
                              },
                              {
                                "name": "length",
                                "nativeSrc": "672:6:136",
                                "nodeType": "YulIdentifier",
                                "src": "672:6:136"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "663:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "663:3:136"
                            },
                            "nativeSrc": "663:16:136",
                            "nodeType": "YulFunctionCall",
                            "src": "663:16:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "681:4:136",
                            "nodeType": "YulLiteral",
                            "src": "681:4:136",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "659:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "659:3:136"
                        },
                        "nativeSrc": "659:27:136",
                        "nodeType": "YulFunctionCall",
                        "src": "659:27:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "688:1:136",
                        "nodeType": "YulLiteral",
                        "src": "688:1:136",
                        "type": "",
                        "value": "0"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "652:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "652:6:136"
                    },
                    "nativeSrc": "652:38:136",
                    "nodeType": "YulFunctionCall",
                    "src": "652:38:136"
                  },
                  "nativeSrc": "652:38:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "652:38:136"
                },
                {
                  "nativeSrc": "699:57:136",
                  "nodeType": "YulAssignment",
                  "src": "699:57:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "714:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "714:3:136"
                          },
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "name": "length",
                                    "nativeSrc": "727:6:136",
                                    "nodeType": "YulIdentifier",
                                    "src": "727:6:136"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "735:2:136",
                                    "nodeType": "YulLiteral",
                                    "src": "735:2:136",
                                    "type": "",
                                    "value": "31"
                                  }
                                ],
                                "functionName": {
                                  "name": "add",
                                  "nativeSrc": "723:3:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "723:3:136"
                                },
                                "nativeSrc": "723:15:136",
                                "nodeType": "YulFunctionCall",
                                "src": "723:15:136"
                              },
                              {
                                "arguments": [
                                  {
                                    "kind": "number",
                                    "nativeSrc": "744:2:136",
                                    "nodeType": "YulLiteral",
                                    "src": "744:2:136",
                                    "type": "",
                                    "value": "31"
                                  }
                                ],
                                "functionName": {
                                  "name": "not",
                                  "nativeSrc": "740:3:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "740:3:136"
                                },
                                "nativeSrc": "740:7:136",
                                "nodeType": "YulFunctionCall",
                                "src": "740:7:136"
                              }
                            ],
                            "functionName": {
                              "name": "and",
                              "nativeSrc": "719:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "719:3:136"
                            },
                            "nativeSrc": "719:29:136",
                            "nodeType": "YulFunctionCall",
                            "src": "719:29:136"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "710:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "710:3:136"
                        },
                        "nativeSrc": "710:39:136",
                        "nodeType": "YulFunctionCall",
                        "src": "710:39:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "751:4:136",
                        "nodeType": "YulLiteral",
                        "src": "751:4:136",
                        "type": "",
                        "value": "0x20"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "706:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "706:3:136"
                    },
                    "nativeSrc": "706:50:136",
                    "nodeType": "YulFunctionCall",
                    "src": "706:50:136"
                  },
                  "variableNames": [
                    {
                      "name": "end",
                      "nativeSrc": "699:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "699:3:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_string_memory_ptr",
            "nativeSrc": "462:300:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "value",
                "nativeSrc": "500:5:136",
                "nodeType": "YulTypedName",
                "src": "500:5:136",
                "type": ""
              },
              {
                "name": "pos",
                "nativeSrc": "507:3:136",
                "nodeType": "YulTypedName",
                "src": "507:3:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "end",
                "nativeSrc": "515:3:136",
                "nodeType": "YulTypedName",
                "src": "515:3:136",
                "type": ""
              }
            ],
            "src": "462:300:136"
          },
          {
            "body": {
              "nativeSrc": "799:95:136",
              "nodeType": "YulBlock",
              "src": "799:95:136",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "816:1:136",
                        "nodeType": "YulLiteral",
                        "src": "816:1:136",
                        "type": "",
                        "value": "0"
                      },
                      {
                        "arguments": [
                          {
                            "kind": "number",
                            "nativeSrc": "823:3:136",
                            "nodeType": "YulLiteral",
                            "src": "823:3:136",
                            "type": "",
                            "value": "224"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "828:10:136",
                            "nodeType": "YulLiteral",
                            "src": "828:10:136",
                            "type": "",
                            "value": "0x4e487b71"
                          }
                        ],
                        "functionName": {
                          "name": "shl",
                          "nativeSrc": "819:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "819:3:136"
                        },
                        "nativeSrc": "819:20:136",
                        "nodeType": "YulFunctionCall",
                        "src": "819:20:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "809:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "809:6:136"
                    },
                    "nativeSrc": "809:31:136",
                    "nodeType": "YulFunctionCall",
                    "src": "809:31:136"
                  },
                  "nativeSrc": "809:31:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "809:31:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "856:1:136",
                        "nodeType": "YulLiteral",
                        "src": "856:1:136",
                        "type": "",
                        "value": "4"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "859:4:136",
                        "nodeType": "YulLiteral",
                        "src": "859:4:136",
                        "type": "",
                        "value": "0x21"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "849:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "849:6:136"
                    },
                    "nativeSrc": "849:15:136",
                    "nodeType": "YulFunctionCall",
                    "src": "849:15:136"
                  },
                  "nativeSrc": "849:15:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "849:15:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "880:1:136",
                        "nodeType": "YulLiteral",
                        "src": "880:1:136",
                        "type": "",
                        "value": "0"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "883:4:136",
                        "nodeType": "YulLiteral",
                        "src": "883:4:136",
                        "type": "",
                        "value": "0x24"
                      }
                    ],
                    "functionName": {
                      "name": "revert",
                      "nativeSrc": "873:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "873:6:136"
                    },
                    "nativeSrc": "873:15:136",
                    "nodeType": "YulFunctionCall",
                    "src": "873:15:136"
                  },
                  "nativeSrc": "873:15:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "873:15:136"
                }
              ]
            },
            "name": "panic_error_0x21",
            "nativeSrc": "767:127:136",
            "nodeType": "YulFunctionDefinition",
            "src": "767:127:136"
          },
          {
            "body": {
              "nativeSrc": "948:89:136",
              "nodeType": "YulBlock",
              "src": "948:89:136",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "982:22:136",
                    "nodeType": "YulBlock",
                    "src": "982:22:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x21",
                            "nativeSrc": "984:16:136",
                            "nodeType": "YulIdentifier",
                            "src": "984:16:136"
                          },
                          "nativeSrc": "984:18:136",
                          "nodeType": "YulFunctionCall",
                          "src": "984:18:136"
                        },
                        "nativeSrc": "984:18:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "984:18:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "971:5:136",
                            "nodeType": "YulIdentifier",
                            "src": "971:5:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "978:1:136",
                            "nodeType": "YulLiteral",
                            "src": "978:1:136",
                            "type": "",
                            "value": "5"
                          }
                        ],
                        "functionName": {
                          "name": "lt",
                          "nativeSrc": "968:2:136",
                          "nodeType": "YulIdentifier",
                          "src": "968:2:136"
                        },
                        "nativeSrc": "968:12:136",
                        "nodeType": "YulFunctionCall",
                        "src": "968:12:136"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "961:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "961:6:136"
                    },
                    "nativeSrc": "961:20:136",
                    "nodeType": "YulFunctionCall",
                    "src": "961:20:136"
                  },
                  "nativeSrc": "958:46:136",
                  "nodeType": "YulIf",
                  "src": "958:46:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "pos",
                        "nativeSrc": "1020:3:136",
                        "nodeType": "YulIdentifier",
                        "src": "1020:3:136"
                      },
                      {
                        "name": "value",
                        "nativeSrc": "1025:5:136",
                        "nodeType": "YulIdentifier",
                        "src": "1025:5:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "1013:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "1013:6:136"
                    },
                    "nativeSrc": "1013:18:136",
                    "nodeType": "YulFunctionCall",
                    "src": "1013:18:136"
                  },
                  "nativeSrc": "1013:18:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "1013:18:136"
                }
              ]
            },
            "name": "abi_encode_enum_Mappers",
            "nativeSrc": "899:138:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "value",
                "nativeSrc": "932:5:136",
                "nodeType": "YulTypedName",
                "src": "932:5:136",
                "type": ""
              },
              {
                "name": "pos",
                "nativeSrc": "939:3:136",
                "nodeType": "YulTypedName",
                "src": "939:3:136",
                "type": ""
              }
            ],
            "src": "899:138:136"
          },
          {
            "body": {
              "nativeSrc": "1091:89:136",
              "nodeType": "YulBlock",
              "src": "1091:89:136",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "1125:22:136",
                    "nodeType": "YulBlock",
                    "src": "1125:22:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x21",
                            "nativeSrc": "1127:16:136",
                            "nodeType": "YulIdentifier",
                            "src": "1127:16:136"
                          },
                          "nativeSrc": "1127:18:136",
                          "nodeType": "YulFunctionCall",
                          "src": "1127:18:136"
                        },
                        "nativeSrc": "1127:18:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "1127:18:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "1114:5:136",
                            "nodeType": "YulIdentifier",
                            "src": "1114:5:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "1121:1:136",
                            "nodeType": "YulLiteral",
                            "src": "1121:1:136",
                            "type": "",
                            "value": "4"
                          }
                        ],
                        "functionName": {
                          "name": "lt",
                          "nativeSrc": "1111:2:136",
                          "nodeType": "YulIdentifier",
                          "src": "1111:2:136"
                        },
                        "nativeSrc": "1111:12:136",
                        "nodeType": "YulFunctionCall",
                        "src": "1111:12:136"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "1104:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "1104:6:136"
                    },
                    "nativeSrc": "1104:20:136",
                    "nodeType": "YulFunctionCall",
                    "src": "1104:20:136"
                  },
                  "nativeSrc": "1101:46:136",
                  "nodeType": "YulIf",
                  "src": "1101:46:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "pos",
                        "nativeSrc": "1163:3:136",
                        "nodeType": "YulIdentifier",
                        "src": "1163:3:136"
                      },
                      {
                        "name": "value",
                        "nativeSrc": "1168:5:136",
                        "nodeType": "YulIdentifier",
                        "src": "1168:5:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "1156:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "1156:6:136"
                    },
                    "nativeSrc": "1156:18:136",
                    "nodeType": "YulFunctionCall",
                    "src": "1156:18:136"
                  },
                  "nativeSrc": "1156:18:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "1156:18:136"
                }
              ]
            },
            "name": "abi_encode_enum_Oracles",
            "nativeSrc": "1042:138:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "value",
                "nativeSrc": "1075:5:136",
                "nodeType": "YulTypedName",
                "src": "1075:5:136",
                "type": ""
              },
              {
                "name": "pos",
                "nativeSrc": "1082:3:136",
                "nodeType": "YulTypedName",
                "src": "1082:3:136",
                "type": ""
              }
            ],
            "src": "1042:138:136"
          },
          {
            "body": {
              "nativeSrc": "1235:196:136",
              "nodeType": "YulBlock",
              "src": "1235:196:136",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "1275:5:136",
                            "nodeType": "YulIdentifier",
                            "src": "1275:5:136"
                          }
                        ],
                        "functionName": {
                          "name": "mload",
                          "nativeSrc": "1269:5:136",
                          "nodeType": "YulIdentifier",
                          "src": "1269:5:136"
                        },
                        "nativeSrc": "1269:12:136",
                        "nodeType": "YulFunctionCall",
                        "src": "1269:12:136"
                      },
                      {
                        "name": "pos",
                        "nativeSrc": "1283:3:136",
                        "nodeType": "YulIdentifier",
                        "src": "1283:3:136"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_enum_Oracles",
                      "nativeSrc": "1245:23:136",
                      "nodeType": "YulIdentifier",
                      "src": "1245:23:136"
                    },
                    "nativeSrc": "1245:42:136",
                    "nodeType": "YulFunctionCall",
                    "src": "1245:42:136"
                  },
                  "nativeSrc": "1245:42:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "1245:42:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "1307:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "1307:3:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "1312:4:136",
                            "nodeType": "YulLiteral",
                            "src": "1312:4:136",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "1303:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "1303:3:136"
                        },
                        "nativeSrc": "1303:14:136",
                        "nodeType": "YulFunctionCall",
                        "src": "1303:14:136"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "name": "value",
                                    "nativeSrc": "1333:5:136",
                                    "nodeType": "YulIdentifier",
                                    "src": "1333:5:136"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "1340:4:136",
                                    "nodeType": "YulLiteral",
                                    "src": "1340:4:136",
                                    "type": "",
                                    "value": "0x20"
                                  }
                                ],
                                "functionName": {
                                  "name": "add",
                                  "nativeSrc": "1329:3:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "1329:3:136"
                                },
                                "nativeSrc": "1329:16:136",
                                "nodeType": "YulFunctionCall",
                                "src": "1329:16:136"
                              }
                            ],
                            "functionName": {
                              "name": "mload",
                              "nativeSrc": "1323:5:136",
                              "nodeType": "YulIdentifier",
                              "src": "1323:5:136"
                            },
                            "nativeSrc": "1323:23:136",
                            "nodeType": "YulFunctionCall",
                            "src": "1323:23:136"
                          },
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "kind": "number",
                                    "nativeSrc": "1356:3:136",
                                    "nodeType": "YulLiteral",
                                    "src": "1356:3:136",
                                    "type": "",
                                    "value": "160"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "1361:1:136",
                                    "nodeType": "YulLiteral",
                                    "src": "1361:1:136",
                                    "type": "",
                                    "value": "1"
                                  }
                                ],
                                "functionName": {
                                  "name": "shl",
                                  "nativeSrc": "1352:3:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "1352:3:136"
                                },
                                "nativeSrc": "1352:11:136",
                                "nodeType": "YulFunctionCall",
                                "src": "1352:11:136"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "1365:1:136",
                                "nodeType": "YulLiteral",
                                "src": "1365:1:136",
                                "type": "",
                                "value": "1"
                              }
                            ],
                            "functionName": {
                              "name": "sub",
                              "nativeSrc": "1348:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "1348:3:136"
                            },
                            "nativeSrc": "1348:19:136",
                            "nodeType": "YulFunctionCall",
                            "src": "1348:19:136"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "1319:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "1319:3:136"
                        },
                        "nativeSrc": "1319:49:136",
                        "nodeType": "YulFunctionCall",
                        "src": "1319:49:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "1296:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "1296:6:136"
                    },
                    "nativeSrc": "1296:73:136",
                    "nodeType": "YulFunctionCall",
                    "src": "1296:73:136"
                  },
                  "nativeSrc": "1296:73:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "1296:73:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "1389:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "1389:3:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "1394:4:136",
                            "nodeType": "YulLiteral",
                            "src": "1394:4:136",
                            "type": "",
                            "value": "0x40"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "1385:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "1385:3:136"
                        },
                        "nativeSrc": "1385:14:136",
                        "nodeType": "YulFunctionCall",
                        "src": "1385:14:136"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "value",
                                "nativeSrc": "1411:5:136",
                                "nodeType": "YulIdentifier",
                                "src": "1411:5:136"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "1418:4:136",
                                "nodeType": "YulLiteral",
                                "src": "1418:4:136",
                                "type": "",
                                "value": "0x40"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "1407:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "1407:3:136"
                            },
                            "nativeSrc": "1407:16:136",
                            "nodeType": "YulFunctionCall",
                            "src": "1407:16:136"
                          }
                        ],
                        "functionName": {
                          "name": "mload",
                          "nativeSrc": "1401:5:136",
                          "nodeType": "YulIdentifier",
                          "src": "1401:5:136"
                        },
                        "nativeSrc": "1401:23:136",
                        "nodeType": "YulFunctionCall",
                        "src": "1401:23:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "1378:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "1378:6:136"
                    },
                    "nativeSrc": "1378:47:136",
                    "nodeType": "YulFunctionCall",
                    "src": "1378:47:136"
                  },
                  "nativeSrc": "1378:47:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "1378:47:136"
                }
              ]
            },
            "name": "abi_encode_struct_Oracle",
            "nativeSrc": "1185:246:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "value",
                "nativeSrc": "1219:5:136",
                "nodeType": "YulTypedName",
                "src": "1219:5:136",
                "type": ""
              },
              {
                "name": "pos",
                "nativeSrc": "1226:3:136",
                "nodeType": "YulTypedName",
                "src": "1226:3:136",
                "type": ""
              }
            ],
            "src": "1185:246:136"
          },
          {
            "body": {
              "nativeSrc": "1479:47:136",
              "nodeType": "YulBlock",
              "src": "1479:47:136",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "pos",
                        "nativeSrc": "1496:3:136",
                        "nodeType": "YulIdentifier",
                        "src": "1496:3:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "1505:5:136",
                            "nodeType": "YulIdentifier",
                            "src": "1505:5:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "1512:6:136",
                            "nodeType": "YulLiteral",
                            "src": "1512:6:136",
                            "type": "",
                            "value": "0xffff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "1501:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "1501:3:136"
                        },
                        "nativeSrc": "1501:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "1501:18:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "1489:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "1489:6:136"
                    },
                    "nativeSrc": "1489:31:136",
                    "nodeType": "YulFunctionCall",
                    "src": "1489:31:136"
                  },
                  "nativeSrc": "1489:31:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "1489:31:136"
                }
              ]
            },
            "name": "abi_encode_uint16",
            "nativeSrc": "1436:90:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "value",
                "nativeSrc": "1463:5:136",
                "nodeType": "YulTypedName",
                "src": "1463:5:136",
                "type": ""
              },
              {
                "name": "pos",
                "nativeSrc": "1470:3:136",
                "nodeType": "YulTypedName",
                "src": "1470:3:136",
                "type": ""
              }
            ],
            "src": "1436:90:136"
          },
          {
            "body": {
              "nativeSrc": "1591:408:136",
              "nodeType": "YulBlock",
              "src": "1591:408:136",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "pos",
                        "nativeSrc": "1608:3:136",
                        "nodeType": "YulIdentifier",
                        "src": "1608:3:136"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "value",
                                "nativeSrc": "1623:5:136",
                                "nodeType": "YulIdentifier",
                                "src": "1623:5:136"
                              }
                            ],
                            "functionName": {
                              "name": "mload",
                              "nativeSrc": "1617:5:136",
                              "nodeType": "YulIdentifier",
                              "src": "1617:5:136"
                            },
                            "nativeSrc": "1617:12:136",
                            "nodeType": "YulFunctionCall",
                            "src": "1617:12:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "1631:8:136",
                            "nodeType": "YulLiteral",
                            "src": "1631:8:136",
                            "type": "",
                            "value": "0xffffff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "1613:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "1613:3:136"
                        },
                        "nativeSrc": "1613:27:136",
                        "nodeType": "YulFunctionCall",
                        "src": "1613:27:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "1601:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "1601:6:136"
                    },
                    "nativeSrc": "1601:40:136",
                    "nodeType": "YulFunctionCall",
                    "src": "1601:40:136"
                  },
                  "nativeSrc": "1601:40:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "1601:40:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "1661:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "1661:3:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "1666:4:136",
                            "nodeType": "YulLiteral",
                            "src": "1666:4:136",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "1657:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "1657:3:136"
                        },
                        "nativeSrc": "1657:14:136",
                        "nodeType": "YulFunctionCall",
                        "src": "1657:14:136"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "arguments": [
                                      {
                                        "name": "value",
                                        "nativeSrc": "1697:5:136",
                                        "nodeType": "YulIdentifier",
                                        "src": "1697:5:136"
                                      },
                                      {
                                        "kind": "number",
                                        "nativeSrc": "1704:4:136",
                                        "nodeType": "YulLiteral",
                                        "src": "1704:4:136",
                                        "type": "",
                                        "value": "0x20"
                                      }
                                    ],
                                    "functionName": {
                                      "name": "add",
                                      "nativeSrc": "1693:3:136",
                                      "nodeType": "YulIdentifier",
                                      "src": "1693:3:136"
                                    },
                                    "nativeSrc": "1693:16:136",
                                    "nodeType": "YulFunctionCall",
                                    "src": "1693:16:136"
                                  }
                                ],
                                "functionName": {
                                  "name": "mload",
                                  "nativeSrc": "1687:5:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "1687:5:136"
                                },
                                "nativeSrc": "1687:23:136",
                                "nodeType": "YulFunctionCall",
                                "src": "1687:23:136"
                              }
                            ],
                            "functionName": {
                              "name": "iszero",
                              "nativeSrc": "1680:6:136",
                              "nodeType": "YulIdentifier",
                              "src": "1680:6:136"
                            },
                            "nativeSrc": "1680:31:136",
                            "nodeType": "YulFunctionCall",
                            "src": "1680:31:136"
                          }
                        ],
                        "functionName": {
                          "name": "iszero",
                          "nativeSrc": "1673:6:136",
                          "nodeType": "YulIdentifier",
                          "src": "1673:6:136"
                        },
                        "nativeSrc": "1673:39:136",
                        "nodeType": "YulFunctionCall",
                        "src": "1673:39:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "1650:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "1650:6:136"
                    },
                    "nativeSrc": "1650:63:136",
                    "nodeType": "YulFunctionCall",
                    "src": "1650:63:136"
                  },
                  "nativeSrc": "1650:63:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "1650:63:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "1733:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "1733:3:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "1738:4:136",
                            "nodeType": "YulLiteral",
                            "src": "1738:4:136",
                            "type": "",
                            "value": "0x40"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "1729:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "1729:3:136"
                        },
                        "nativeSrc": "1729:14:136",
                        "nodeType": "YulFunctionCall",
                        "src": "1729:14:136"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "name": "value",
                                    "nativeSrc": "1759:5:136",
                                    "nodeType": "YulIdentifier",
                                    "src": "1759:5:136"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "1766:4:136",
                                    "nodeType": "YulLiteral",
                                    "src": "1766:4:136",
                                    "type": "",
                                    "value": "0x40"
                                  }
                                ],
                                "functionName": {
                                  "name": "add",
                                  "nativeSrc": "1755:3:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "1755:3:136"
                                },
                                "nativeSrc": "1755:16:136",
                                "nodeType": "YulFunctionCall",
                                "src": "1755:16:136"
                              }
                            ],
                            "functionName": {
                              "name": "mload",
                              "nativeSrc": "1749:5:136",
                              "nodeType": "YulIdentifier",
                              "src": "1749:5:136"
                            },
                            "nativeSrc": "1749:23:136",
                            "nodeType": "YulFunctionCall",
                            "src": "1749:23:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "1774:8:136",
                            "nodeType": "YulLiteral",
                            "src": "1774:8:136",
                            "type": "",
                            "value": "0xffffff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "1745:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "1745:3:136"
                        },
                        "nativeSrc": "1745:38:136",
                        "nodeType": "YulFunctionCall",
                        "src": "1745:38:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "1722:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "1722:6:136"
                    },
                    "nativeSrc": "1722:62:136",
                    "nodeType": "YulFunctionCall",
                    "src": "1722:62:136"
                  },
                  "nativeSrc": "1722:62:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "1722:62:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "1804:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "1804:3:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "1809:4:136",
                            "nodeType": "YulLiteral",
                            "src": "1809:4:136",
                            "type": "",
                            "value": "0x60"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "1800:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "1800:3:136"
                        },
                        "nativeSrc": "1800:14:136",
                        "nodeType": "YulFunctionCall",
                        "src": "1800:14:136"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "name": "value",
                                    "nativeSrc": "1830:5:136",
                                    "nodeType": "YulIdentifier",
                                    "src": "1830:5:136"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "1837:4:136",
                                    "nodeType": "YulLiteral",
                                    "src": "1837:4:136",
                                    "type": "",
                                    "value": "0x60"
                                  }
                                ],
                                "functionName": {
                                  "name": "add",
                                  "nativeSrc": "1826:3:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "1826:3:136"
                                },
                                "nativeSrc": "1826:16:136",
                                "nodeType": "YulFunctionCall",
                                "src": "1826:16:136"
                              }
                            ],
                            "functionName": {
                              "name": "mload",
                              "nativeSrc": "1820:5:136",
                              "nodeType": "YulIdentifier",
                              "src": "1820:5:136"
                            },
                            "nativeSrc": "1820:23:136",
                            "nodeType": "YulFunctionCall",
                            "src": "1820:23:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "1845:8:136",
                            "nodeType": "YulLiteral",
                            "src": "1845:8:136",
                            "type": "",
                            "value": "0xffffff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "1816:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "1816:3:136"
                        },
                        "nativeSrc": "1816:38:136",
                        "nodeType": "YulFunctionCall",
                        "src": "1816:38:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "1793:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "1793:6:136"
                    },
                    "nativeSrc": "1793:62:136",
                    "nodeType": "YulFunctionCall",
                    "src": "1793:62:136"
                  },
                  "nativeSrc": "1793:62:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "1793:62:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "1875:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "1875:3:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "1880:4:136",
                            "nodeType": "YulLiteral",
                            "src": "1880:4:136",
                            "type": "",
                            "value": "0x80"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "1871:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "1871:3:136"
                        },
                        "nativeSrc": "1871:14:136",
                        "nodeType": "YulFunctionCall",
                        "src": "1871:14:136"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "name": "value",
                                    "nativeSrc": "1901:5:136",
                                    "nodeType": "YulIdentifier",
                                    "src": "1901:5:136"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "1908:4:136",
                                    "nodeType": "YulLiteral",
                                    "src": "1908:4:136",
                                    "type": "",
                                    "value": "0x80"
                                  }
                                ],
                                "functionName": {
                                  "name": "add",
                                  "nativeSrc": "1897:3:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "1897:3:136"
                                },
                                "nativeSrc": "1897:16:136",
                                "nodeType": "YulFunctionCall",
                                "src": "1897:16:136"
                              }
                            ],
                            "functionName": {
                              "name": "mload",
                              "nativeSrc": "1891:5:136",
                              "nodeType": "YulIdentifier",
                              "src": "1891:5:136"
                            },
                            "nativeSrc": "1891:23:136",
                            "nodeType": "YulFunctionCall",
                            "src": "1891:23:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "1916:6:136",
                            "nodeType": "YulLiteral",
                            "src": "1916:6:136",
                            "type": "",
                            "value": "0xffff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "1887:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "1887:3:136"
                        },
                        "nativeSrc": "1887:36:136",
                        "nodeType": "YulFunctionCall",
                        "src": "1887:36:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "1864:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "1864:6:136"
                    },
                    "nativeSrc": "1864:60:136",
                    "nodeType": "YulFunctionCall",
                    "src": "1864:60:136"
                  },
                  "nativeSrc": "1864:60:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "1864:60:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "1944:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "1944:3:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "1949:4:136",
                            "nodeType": "YulLiteral",
                            "src": "1949:4:136",
                            "type": "",
                            "value": "0xa0"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "1940:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "1940:3:136"
                        },
                        "nativeSrc": "1940:14:136",
                        "nodeType": "YulFunctionCall",
                        "src": "1940:14:136"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "name": "value",
                                    "nativeSrc": "1970:5:136",
                                    "nodeType": "YulIdentifier",
                                    "src": "1970:5:136"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "1977:4:136",
                                    "nodeType": "YulLiteral",
                                    "src": "1977:4:136",
                                    "type": "",
                                    "value": "0xa0"
                                  }
                                ],
                                "functionName": {
                                  "name": "add",
                                  "nativeSrc": "1966:3:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "1966:3:136"
                                },
                                "nativeSrc": "1966:16:136",
                                "nodeType": "YulFunctionCall",
                                "src": "1966:16:136"
                              }
                            ],
                            "functionName": {
                              "name": "mload",
                              "nativeSrc": "1960:5:136",
                              "nodeType": "YulIdentifier",
                              "src": "1960:5:136"
                            },
                            "nativeSrc": "1960:23:136",
                            "nodeType": "YulFunctionCall",
                            "src": "1960:23:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "1985:6:136",
                            "nodeType": "YulLiteral",
                            "src": "1985:6:136",
                            "type": "",
                            "value": "0xffff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "1956:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "1956:3:136"
                        },
                        "nativeSrc": "1956:36:136",
                        "nodeType": "YulFunctionCall",
                        "src": "1956:36:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "1933:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "1933:6:136"
                    },
                    "nativeSrc": "1933:60:136",
                    "nodeType": "YulFunctionCall",
                    "src": "1933:60:136"
                  },
                  "nativeSrc": "1933:60:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "1933:60:136"
                }
              ]
            },
            "name": "abi_encode_struct_UpdateConditions",
            "nativeSrc": "1531:468:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "value",
                "nativeSrc": "1575:5:136",
                "nodeType": "YulTypedName",
                "src": "1575:5:136",
                "type": ""
              },
              {
                "name": "pos",
                "nativeSrc": "1582:3:136",
                "nodeType": "YulTypedName",
                "src": "1582:3:136",
                "type": ""
              }
            ],
            "src": "1531:468:136"
          },
          {
            "body": {
              "nativeSrc": "2071:59:136",
              "nodeType": "YulBlock",
              "src": "2071:59:136",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "pos",
                        "nativeSrc": "2088:3:136",
                        "nodeType": "YulIdentifier",
                        "src": "2088:3:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "2097:5:136",
                            "nodeType": "YulIdentifier",
                            "src": "2097:5:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "2104:18:136",
                            "nodeType": "YulLiteral",
                            "src": "2104:18:136",
                            "type": "",
                            "value": "0xffffffffffffffff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "2093:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "2093:3:136"
                        },
                        "nativeSrc": "2093:30:136",
                        "nodeType": "YulFunctionCall",
                        "src": "2093:30:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "2081:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "2081:6:136"
                    },
                    "nativeSrc": "2081:43:136",
                    "nodeType": "YulFunctionCall",
                    "src": "2081:43:136"
                  },
                  "nativeSrc": "2081:43:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "2081:43:136"
                }
              ]
            },
            "name": "abi_encode_userDefinedValueType_Timestamp",
            "nativeSrc": "2004:126:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "value",
                "nativeSrc": "2055:5:136",
                "nodeType": "YulTypedName",
                "src": "2055:5:136",
                "type": ""
              },
              {
                "name": "pos",
                "nativeSrc": "2062:3:136",
                "nodeType": "YulTypedName",
                "src": "2062:3:136",
                "type": ""
              }
            ],
            "src": "2004:126:136"
          },
          {
            "body": {
              "nativeSrc": "2184:345:136",
              "nodeType": "YulBlock",
              "src": "2184:345:136",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "pos",
                        "nativeSrc": "2201:3:136",
                        "nodeType": "YulIdentifier",
                        "src": "2201:3:136"
                      },
                      {
                        "arguments": [
                          {
                            "kind": "number",
                            "nativeSrc": "2217:1:136",
                            "nodeType": "YulLiteral",
                            "src": "2217:1:136",
                            "type": "",
                            "value": "0"
                          },
                          {
                            "arguments": [
                              {
                                "name": "value",
                                "nativeSrc": "2226:5:136",
                                "nodeType": "YulIdentifier",
                                "src": "2226:5:136"
                              }
                            ],
                            "functionName": {
                              "name": "mload",
                              "nativeSrc": "2220:5:136",
                              "nodeType": "YulIdentifier",
                              "src": "2220:5:136"
                            },
                            "nativeSrc": "2220:12:136",
                            "nodeType": "YulFunctionCall",
                            "src": "2220:12:136"
                          }
                        ],
                        "functionName": {
                          "name": "signextend",
                          "nativeSrc": "2206:10:136",
                          "nodeType": "YulIdentifier",
                          "src": "2206:10:136"
                        },
                        "nativeSrc": "2206:27:136",
                        "nodeType": "YulFunctionCall",
                        "src": "2206:27:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "2194:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "2194:6:136"
                    },
                    "nativeSrc": "2194:40:136",
                    "nodeType": "YulFunctionCall",
                    "src": "2194:40:136"
                  },
                  "nativeSrc": "2194:40:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "2194:40:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "2254:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "2254:3:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "2259:4:136",
                            "nodeType": "YulLiteral",
                            "src": "2259:4:136",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "2250:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "2250:3:136"
                        },
                        "nativeSrc": "2250:14:136",
                        "nodeType": "YulFunctionCall",
                        "src": "2250:14:136"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "name": "value",
                                    "nativeSrc": "2280:5:136",
                                    "nodeType": "YulIdentifier",
                                    "src": "2280:5:136"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "2287:4:136",
                                    "nodeType": "YulLiteral",
                                    "src": "2287:4:136",
                                    "type": "",
                                    "value": "0x20"
                                  }
                                ],
                                "functionName": {
                                  "name": "add",
                                  "nativeSrc": "2276:3:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "2276:3:136"
                                },
                                "nativeSrc": "2276:16:136",
                                "nodeType": "YulFunctionCall",
                                "src": "2276:16:136"
                              }
                            ],
                            "functionName": {
                              "name": "mload",
                              "nativeSrc": "2270:5:136",
                              "nodeType": "YulIdentifier",
                              "src": "2270:5:136"
                            },
                            "nativeSrc": "2270:23:136",
                            "nodeType": "YulFunctionCall",
                            "src": "2270:23:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "2295:18:136",
                            "nodeType": "YulLiteral",
                            "src": "2295:18:136",
                            "type": "",
                            "value": "0xffffffffffffffff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "2266:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "2266:3:136"
                        },
                        "nativeSrc": "2266:48:136",
                        "nodeType": "YulFunctionCall",
                        "src": "2266:48:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "2243:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "2243:6:136"
                    },
                    "nativeSrc": "2243:72:136",
                    "nodeType": "YulFunctionCall",
                    "src": "2243:72:136"
                  },
                  "nativeSrc": "2243:72:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "2243:72:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "2335:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "2335:3:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "2340:4:136",
                            "nodeType": "YulLiteral",
                            "src": "2340:4:136",
                            "type": "",
                            "value": "0x40"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "2331:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "2331:3:136"
                        },
                        "nativeSrc": "2331:14:136",
                        "nodeType": "YulFunctionCall",
                        "src": "2331:14:136"
                      },
                      {
                        "arguments": [
                          {
                            "kind": "number",
                            "nativeSrc": "2358:1:136",
                            "nodeType": "YulLiteral",
                            "src": "2358:1:136",
                            "type": "",
                            "value": "6"
                          },
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "name": "value",
                                    "nativeSrc": "2371:5:136",
                                    "nodeType": "YulIdentifier",
                                    "src": "2371:5:136"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "2378:4:136",
                                    "nodeType": "YulLiteral",
                                    "src": "2378:4:136",
                                    "type": "",
                                    "value": "0x40"
                                  }
                                ],
                                "functionName": {
                                  "name": "add",
                                  "nativeSrc": "2367:3:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "2367:3:136"
                                },
                                "nativeSrc": "2367:16:136",
                                "nodeType": "YulFunctionCall",
                                "src": "2367:16:136"
                              }
                            ],
                            "functionName": {
                              "name": "mload",
                              "nativeSrc": "2361:5:136",
                              "nodeType": "YulIdentifier",
                              "src": "2361:5:136"
                            },
                            "nativeSrc": "2361:23:136",
                            "nodeType": "YulFunctionCall",
                            "src": "2361:23:136"
                          }
                        ],
                        "functionName": {
                          "name": "signextend",
                          "nativeSrc": "2347:10:136",
                          "nodeType": "YulIdentifier",
                          "src": "2347:10:136"
                        },
                        "nativeSrc": "2347:38:136",
                        "nodeType": "YulFunctionCall",
                        "src": "2347:38:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "2324:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "2324:6:136"
                    },
                    "nativeSrc": "2324:62:136",
                    "nodeType": "YulFunctionCall",
                    "src": "2324:62:136"
                  },
                  "nativeSrc": "2324:62:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "2324:62:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "2406:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "2406:3:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "2411:4:136",
                            "nodeType": "YulLiteral",
                            "src": "2411:4:136",
                            "type": "",
                            "value": "0x60"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "2402:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "2402:3:136"
                        },
                        "nativeSrc": "2402:14:136",
                        "nodeType": "YulFunctionCall",
                        "src": "2402:14:136"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "name": "value",
                                    "nativeSrc": "2432:5:136",
                                    "nodeType": "YulIdentifier",
                                    "src": "2432:5:136"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "2439:4:136",
                                    "nodeType": "YulLiteral",
                                    "src": "2439:4:136",
                                    "type": "",
                                    "value": "0x60"
                                  }
                                ],
                                "functionName": {
                                  "name": "add",
                                  "nativeSrc": "2428:3:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "2428:3:136"
                                },
                                "nativeSrc": "2428:16:136",
                                "nodeType": "YulFunctionCall",
                                "src": "2428:16:136"
                              }
                            ],
                            "functionName": {
                              "name": "mload",
                              "nativeSrc": "2422:5:136",
                              "nodeType": "YulIdentifier",
                              "src": "2422:5:136"
                            },
                            "nativeSrc": "2422:23:136",
                            "nodeType": "YulFunctionCall",
                            "src": "2422:23:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "2447:18:136",
                            "nodeType": "YulLiteral",
                            "src": "2447:18:136",
                            "type": "",
                            "value": "0xffffffffffffffff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "2418:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "2418:3:136"
                        },
                        "nativeSrc": "2418:48:136",
                        "nodeType": "YulFunctionCall",
                        "src": "2418:48:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "2395:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "2395:6:136"
                    },
                    "nativeSrc": "2395:72:136",
                    "nodeType": "YulFunctionCall",
                    "src": "2395:72:136"
                  },
                  "nativeSrc": "2395:72:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "2395:72:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "2487:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "2487:3:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "2492:4:136",
                            "nodeType": "YulLiteral",
                            "src": "2492:4:136",
                            "type": "",
                            "value": "0x80"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "2483:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "2483:3:136"
                        },
                        "nativeSrc": "2483:14:136",
                        "nodeType": "YulFunctionCall",
                        "src": "2483:14:136"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "value",
                                "nativeSrc": "2509:5:136",
                                "nodeType": "YulIdentifier",
                                "src": "2509:5:136"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "2516:4:136",
                                "nodeType": "YulLiteral",
                                "src": "2516:4:136",
                                "type": "",
                                "value": "0x80"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "2505:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "2505:3:136"
                            },
                            "nativeSrc": "2505:16:136",
                            "nodeType": "YulFunctionCall",
                            "src": "2505:16:136"
                          }
                        ],
                        "functionName": {
                          "name": "mload",
                          "nativeSrc": "2499:5:136",
                          "nodeType": "YulIdentifier",
                          "src": "2499:5:136"
                        },
                        "nativeSrc": "2499:23:136",
                        "nodeType": "YulFunctionCall",
                        "src": "2499:23:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "2476:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "2476:6:136"
                    },
                    "nativeSrc": "2476:47:136",
                    "nodeType": "YulFunctionCall",
                    "src": "2476:47:136"
                  },
                  "nativeSrc": "2476:47:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "2476:47:136"
                }
              ]
            },
            "name": "abi_encode_struct_Price",
            "nativeSrc": "2135:394:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "value",
                "nativeSrc": "2168:5:136",
                "nodeType": "YulTypedName",
                "src": "2168:5:136",
                "type": ""
              },
              {
                "name": "pos",
                "nativeSrc": "2175:3:136",
                "nodeType": "YulTypedName",
                "src": "2175:3:136",
                "type": ""
              }
            ],
            "src": "2135:394:136"
          },
          {
            "body": {
              "nativeSrc": "2589:1517:136",
              "nodeType": "YulBlock",
              "src": "2589:1517:136",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "pos",
                        "nativeSrc": "2606:3:136",
                        "nodeType": "YulIdentifier",
                        "src": "2606:3:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "2617:5:136",
                            "nodeType": "YulIdentifier",
                            "src": "2617:5:136"
                          }
                        ],
                        "functionName": {
                          "name": "mload",
                          "nativeSrc": "2611:5:136",
                          "nodeType": "YulIdentifier",
                          "src": "2611:5:136"
                        },
                        "nativeSrc": "2611:12:136",
                        "nodeType": "YulFunctionCall",
                        "src": "2611:12:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "2599:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "2599:6:136"
                    },
                    "nativeSrc": "2599:25:136",
                    "nodeType": "YulFunctionCall",
                    "src": "2599:25:136"
                  },
                  "nativeSrc": "2599:25:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "2599:25:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "2644:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "2644:3:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "2649:4:136",
                            "nodeType": "YulLiteral",
                            "src": "2649:4:136",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "2640:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "2640:3:136"
                        },
                        "nativeSrc": "2640:14:136",
                        "nodeType": "YulFunctionCall",
                        "src": "2640:14:136"
                      },
                      {
                        "arguments": [
                          {
                            "kind": "number",
                            "nativeSrc": "2667:1:136",
                            "nodeType": "YulLiteral",
                            "src": "2667:1:136",
                            "type": "",
                            "value": "0"
                          },
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "name": "value",
                                    "nativeSrc": "2680:5:136",
                                    "nodeType": "YulIdentifier",
                                    "src": "2680:5:136"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "2687:4:136",
                                    "nodeType": "YulLiteral",
                                    "src": "2687:4:136",
                                    "type": "",
                                    "value": "0x20"
                                  }
                                ],
                                "functionName": {
                                  "name": "add",
                                  "nativeSrc": "2676:3:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "2676:3:136"
                                },
                                "nativeSrc": "2676:16:136",
                                "nodeType": "YulFunctionCall",
                                "src": "2676:16:136"
                              }
                            ],
                            "functionName": {
                              "name": "mload",
                              "nativeSrc": "2670:5:136",
                              "nodeType": "YulIdentifier",
                              "src": "2670:5:136"
                            },
                            "nativeSrc": "2670:23:136",
                            "nodeType": "YulFunctionCall",
                            "src": "2670:23:136"
                          }
                        ],
                        "functionName": {
                          "name": "signextend",
                          "nativeSrc": "2656:10:136",
                          "nodeType": "YulIdentifier",
                          "src": "2656:10:136"
                        },
                        "nativeSrc": "2656:38:136",
                        "nodeType": "YulFunctionCall",
                        "src": "2656:38:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "2633:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "2633:6:136"
                    },
                    "nativeSrc": "2633:62:136",
                    "nodeType": "YulFunctionCall",
                    "src": "2633:62:136"
                  },
                  "nativeSrc": "2633:62:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "2633:62:136"
                },
                {
                  "nativeSrc": "2704:43:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "2704:43:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "2734:5:136",
                            "nodeType": "YulIdentifier",
                            "src": "2734:5:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "2741:4:136",
                            "nodeType": "YulLiteral",
                            "src": "2741:4:136",
                            "type": "",
                            "value": "0x40"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "2730:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "2730:3:136"
                        },
                        "nativeSrc": "2730:16:136",
                        "nodeType": "YulFunctionCall",
                        "src": "2730:16:136"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "2724:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "2724:5:136"
                    },
                    "nativeSrc": "2724:23:136",
                    "nodeType": "YulFunctionCall",
                    "src": "2724:23:136"
                  },
                  "variables": [
                    {
                      "name": "memberValue0",
                      "nativeSrc": "2708:12:136",
                      "nodeType": "YulTypedName",
                      "src": "2708:12:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "2767:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "2767:3:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "2772:4:136",
                            "nodeType": "YulLiteral",
                            "src": "2772:4:136",
                            "type": "",
                            "value": "0x40"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "2763:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "2763:3:136"
                        },
                        "nativeSrc": "2763:14:136",
                        "nodeType": "YulFunctionCall",
                        "src": "2763:14:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "2779:6:136",
                        "nodeType": "YulLiteral",
                        "src": "2779:6:136",
                        "type": "",
                        "value": "0x0240"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "2756:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "2756:6:136"
                    },
                    "nativeSrc": "2756:30:136",
                    "nodeType": "YulFunctionCall",
                    "src": "2756:30:136"
                  },
                  "nativeSrc": "2756:30:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "2756:30:136"
                },
                {
                  "nativeSrc": "2795:72:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "2795:72:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "memberValue0",
                        "nativeSrc": "2836:12:136",
                        "nodeType": "YulIdentifier",
                        "src": "2836:12:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "2854:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "2854:3:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "2859:6:136",
                            "nodeType": "YulLiteral",
                            "src": "2859:6:136",
                            "type": "",
                            "value": "0x0240"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "2850:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "2850:3:136"
                        },
                        "nativeSrc": "2850:16:136",
                        "nodeType": "YulFunctionCall",
                        "src": "2850:16:136"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_string_memory_ptr",
                      "nativeSrc": "2807:28:136",
                      "nodeType": "YulIdentifier",
                      "src": "2807:28:136"
                    },
                    "nativeSrc": "2807:60:136",
                    "nodeType": "YulFunctionCall",
                    "src": "2807:60:136"
                  },
                  "variables": [
                    {
                      "name": "tail",
                      "nativeSrc": "2799:4:136",
                      "nodeType": "YulTypedName",
                      "src": "2799:4:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "2876:45:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "2876:45:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "2908:5:136",
                            "nodeType": "YulIdentifier",
                            "src": "2908:5:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "2915:4:136",
                            "nodeType": "YulLiteral",
                            "src": "2915:4:136",
                            "type": "",
                            "value": "0x60"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "2904:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "2904:3:136"
                        },
                        "nativeSrc": "2904:16:136",
                        "nodeType": "YulFunctionCall",
                        "src": "2904:16:136"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "2898:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "2898:5:136"
                    },
                    "nativeSrc": "2898:23:136",
                    "nodeType": "YulFunctionCall",
                    "src": "2898:23:136"
                  },
                  "variables": [
                    {
                      "name": "memberValue0_1",
                      "nativeSrc": "2880:14:136",
                      "nodeType": "YulTypedName",
                      "src": "2880:14:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "2941:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "2941:3:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "2946:4:136",
                            "nodeType": "YulLiteral",
                            "src": "2946:4:136",
                            "type": "",
                            "value": "0x60"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "2937:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "2937:3:136"
                        },
                        "nativeSrc": "2937:14:136",
                        "nodeType": "YulFunctionCall",
                        "src": "2937:14:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "tail",
                            "nativeSrc": "2957:4:136",
                            "nodeType": "YulIdentifier",
                            "src": "2957:4:136"
                          },
                          {
                            "name": "pos",
                            "nativeSrc": "2963:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "2963:3:136"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "2953:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "2953:3:136"
                        },
                        "nativeSrc": "2953:14:136",
                        "nodeType": "YulFunctionCall",
                        "src": "2953:14:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "2930:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "2930:6:136"
                    },
                    "nativeSrc": "2930:38:136",
                    "nodeType": "YulFunctionCall",
                    "src": "2930:38:136"
                  },
                  "nativeSrc": "2930:38:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "2930:38:136"
                },
                {
                  "nativeSrc": "2977:29:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "2977:29:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "tail",
                        "nativeSrc": "2995:4:136",
                        "nodeType": "YulIdentifier",
                        "src": "2995:4:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "3001:4:136",
                        "nodeType": "YulLiteral",
                        "src": "3001:4:136",
                        "type": "",
                        "value": "0x40"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "2991:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "2991:3:136"
                    },
                    "nativeSrc": "2991:15:136",
                    "nodeType": "YulFunctionCall",
                    "src": "2991:15:136"
                  },
                  "variables": [
                    {
                      "name": "tail_1",
                      "nativeSrc": "2981:6:136",
                      "nodeType": "YulTypedName",
                      "src": "2981:6:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "memberValue0_1",
                            "nativeSrc": "3045:14:136",
                            "nodeType": "YulIdentifier",
                            "src": "3045:14:136"
                          }
                        ],
                        "functionName": {
                          "name": "mload",
                          "nativeSrc": "3039:5:136",
                          "nodeType": "YulIdentifier",
                          "src": "3039:5:136"
                        },
                        "nativeSrc": "3039:21:136",
                        "nodeType": "YulFunctionCall",
                        "src": "3039:21:136"
                      },
                      {
                        "name": "tail",
                        "nativeSrc": "3062:4:136",
                        "nodeType": "YulIdentifier",
                        "src": "3062:4:136"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_enum_Mappers",
                      "nativeSrc": "3015:23:136",
                      "nodeType": "YulIdentifier",
                      "src": "3015:23:136"
                    },
                    "nativeSrc": "3015:52:136",
                    "nodeType": "YulFunctionCall",
                    "src": "3015:52:136"
                  },
                  "nativeSrc": "3015:52:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "3015:52:136"
                },
                {
                  "nativeSrc": "3076:54:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "3076:54:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "memberValue0_1",
                            "nativeSrc": "3108:14:136",
                            "nodeType": "YulIdentifier",
                            "src": "3108:14:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "3124:4:136",
                            "nodeType": "YulLiteral",
                            "src": "3124:4:136",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "3104:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "3104:3:136"
                        },
                        "nativeSrc": "3104:25:136",
                        "nodeType": "YulFunctionCall",
                        "src": "3104:25:136"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "3098:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "3098:5:136"
                    },
                    "nativeSrc": "3098:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "3098:32:136"
                  },
                  "variables": [
                    {
                      "name": "memberValue0_2",
                      "nativeSrc": "3080:14:136",
                      "nodeType": "YulTypedName",
                      "src": "3080:14:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "tail",
                            "nativeSrc": "3150:4:136",
                            "nodeType": "YulIdentifier",
                            "src": "3150:4:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "3156:4:136",
                            "nodeType": "YulLiteral",
                            "src": "3156:4:136",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "3146:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "3146:3:136"
                        },
                        "nativeSrc": "3146:15:136",
                        "nodeType": "YulFunctionCall",
                        "src": "3146:15:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "3163:4:136",
                        "nodeType": "YulLiteral",
                        "src": "3163:4:136",
                        "type": "",
                        "value": "0x40"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "3139:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "3139:6:136"
                    },
                    "nativeSrc": "3139:29:136",
                    "nodeType": "YulFunctionCall",
                    "src": "3139:29:136"
                  },
                  "nativeSrc": "3139:29:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "3139:29:136"
                },
                {
                  "nativeSrc": "3177:19:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "3177:19:136",
                  "value": {
                    "name": "tail_1",
                    "nativeSrc": "3190:6:136",
                    "nodeType": "YulIdentifier",
                    "src": "3190:6:136"
                  },
                  "variables": [
                    {
                      "name": "pos_1",
                      "nativeSrc": "3181:5:136",
                      "nodeType": "YulTypedName",
                      "src": "3181:5:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "3205:35:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "3205:35:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "memberValue0_2",
                        "nativeSrc": "3225:14:136",
                        "nodeType": "YulIdentifier",
                        "src": "3225:14:136"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "3219:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "3219:5:136"
                    },
                    "nativeSrc": "3219:21:136",
                    "nodeType": "YulFunctionCall",
                    "src": "3219:21:136"
                  },
                  "variables": [
                    {
                      "name": "length",
                      "nativeSrc": "3209:6:136",
                      "nodeType": "YulTypedName",
                      "src": "3209:6:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "tail_1",
                        "nativeSrc": "3256:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "3256:6:136"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "3264:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "3264:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "3249:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "3249:6:136"
                    },
                    "nativeSrc": "3249:22:136",
                    "nodeType": "YulFunctionCall",
                    "src": "3249:22:136"
                  },
                  "nativeSrc": "3249:22:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "3249:22:136"
                },
                {
                  "nativeSrc": "3280:24:136",
                  "nodeType": "YulAssignment",
                  "src": "3280:24:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "tail",
                        "nativeSrc": "3293:4:136",
                        "nodeType": "YulIdentifier",
                        "src": "3293:4:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "3299:4:136",
                        "nodeType": "YulLiteral",
                        "src": "3299:4:136",
                        "type": "",
                        "value": "0x60"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "3289:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "3289:3:136"
                    },
                    "nativeSrc": "3289:15:136",
                    "nodeType": "YulFunctionCall",
                    "src": "3289:15:136"
                  },
                  "variableNames": [
                    {
                      "name": "pos_1",
                      "nativeSrc": "3280:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "3280:5:136"
                    }
                  ]
                },
                {
                  "nativeSrc": "3313:50:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "3313:50:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "tail",
                            "nativeSrc": "3335:4:136",
                            "nodeType": "YulIdentifier",
                            "src": "3335:4:136"
                          },
                          {
                            "arguments": [
                              {
                                "kind": "number",
                                "nativeSrc": "3345:1:136",
                                "nodeType": "YulLiteral",
                                "src": "3345:1:136",
                                "type": "",
                                "value": "5"
                              },
                              {
                                "name": "length",
                                "nativeSrc": "3348:6:136",
                                "nodeType": "YulIdentifier",
                                "src": "3348:6:136"
                              }
                            ],
                            "functionName": {
                              "name": "shl",
                              "nativeSrc": "3341:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "3341:3:136"
                            },
                            "nativeSrc": "3341:14:136",
                            "nodeType": "YulFunctionCall",
                            "src": "3341:14:136"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "3331:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "3331:3:136"
                        },
                        "nativeSrc": "3331:25:136",
                        "nodeType": "YulFunctionCall",
                        "src": "3331:25:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "3358:4:136",
                        "nodeType": "YulLiteral",
                        "src": "3358:4:136",
                        "type": "",
                        "value": "0x60"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "3327:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "3327:3:136"
                    },
                    "nativeSrc": "3327:36:136",
                    "nodeType": "YulFunctionCall",
                    "src": "3327:36:136"
                  },
                  "variables": [
                    {
                      "name": "tail_2",
                      "nativeSrc": "3317:6:136",
                      "nodeType": "YulTypedName",
                      "src": "3317:6:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "3372:39:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "3372:39:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "memberValue0_2",
                        "nativeSrc": "3390:14:136",
                        "nodeType": "YulIdentifier",
                        "src": "3390:14:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "3406:4:136",
                        "nodeType": "YulLiteral",
                        "src": "3406:4:136",
                        "type": "",
                        "value": "0x20"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "3386:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "3386:3:136"
                    },
                    "nativeSrc": "3386:25:136",
                    "nodeType": "YulFunctionCall",
                    "src": "3386:25:136"
                  },
                  "variables": [
                    {
                      "name": "srcPtr",
                      "nativeSrc": "3376:6:136",
                      "nodeType": "YulTypedName",
                      "src": "3376:6:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "3420:10:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "3420:10:136",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "3429:1:136",
                    "nodeType": "YulLiteral",
                    "src": "3429:1:136",
                    "type": "",
                    "value": "0"
                  },
                  "variables": [
                    {
                      "name": "i",
                      "nativeSrc": "3424:1:136",
                      "nodeType": "YulTypedName",
                      "src": "3424:1:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "3488:222:136",
                    "nodeType": "YulBlock",
                    "src": "3488:222:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "name": "pos_1",
                              "nativeSrc": "3509:5:136",
                              "nodeType": "YulIdentifier",
                              "src": "3509:5:136"
                            },
                            {
                              "arguments": [
                                {
                                  "arguments": [
                                    {
                                      "name": "tail_2",
                                      "nativeSrc": "3524:6:136",
                                      "nodeType": "YulIdentifier",
                                      "src": "3524:6:136"
                                    },
                                    {
                                      "name": "tail",
                                      "nativeSrc": "3532:4:136",
                                      "nodeType": "YulIdentifier",
                                      "src": "3532:4:136"
                                    }
                                  ],
                                  "functionName": {
                                    "name": "sub",
                                    "nativeSrc": "3520:3:136",
                                    "nodeType": "YulIdentifier",
                                    "src": "3520:3:136"
                                  },
                                  "nativeSrc": "3520:17:136",
                                  "nodeType": "YulFunctionCall",
                                  "src": "3520:17:136"
                                },
                                {
                                  "arguments": [
                                    {
                                      "kind": "number",
                                      "nativeSrc": "3543:2:136",
                                      "nodeType": "YulLiteral",
                                      "src": "3543:2:136",
                                      "type": "",
                                      "value": "95"
                                    }
                                  ],
                                  "functionName": {
                                    "name": "not",
                                    "nativeSrc": "3539:3:136",
                                    "nodeType": "YulIdentifier",
                                    "src": "3539:3:136"
                                  },
                                  "nativeSrc": "3539:7:136",
                                  "nodeType": "YulFunctionCall",
                                  "src": "3539:7:136"
                                }
                              ],
                              "functionName": {
                                "name": "add",
                                "nativeSrc": "3516:3:136",
                                "nodeType": "YulIdentifier",
                                "src": "3516:3:136"
                              },
                              "nativeSrc": "3516:31:136",
                              "nodeType": "YulFunctionCall",
                              "src": "3516:31:136"
                            }
                          ],
                          "functionName": {
                            "name": "mstore",
                            "nativeSrc": "3502:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "3502:6:136"
                          },
                          "nativeSrc": "3502:46:136",
                          "nodeType": "YulFunctionCall",
                          "src": "3502:46:136"
                        },
                        "nativeSrc": "3502:46:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "3502:46:136"
                      },
                      {
                        "nativeSrc": "3561:61:136",
                        "nodeType": "YulAssignment",
                        "src": "3561:61:136",
                        "value": {
                          "arguments": [
                            {
                              "arguments": [
                                {
                                  "name": "srcPtr",
                                  "nativeSrc": "3606:6:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "3606:6:136"
                                }
                              ],
                              "functionName": {
                                "name": "mload",
                                "nativeSrc": "3600:5:136",
                                "nodeType": "YulIdentifier",
                                "src": "3600:5:136"
                              },
                              "nativeSrc": "3600:13:136",
                              "nodeType": "YulFunctionCall",
                              "src": "3600:13:136"
                            },
                            {
                              "name": "tail_2",
                              "nativeSrc": "3615:6:136",
                              "nodeType": "YulIdentifier",
                              "src": "3615:6:136"
                            }
                          ],
                          "functionName": {
                            "name": "abi_encode_string_memory_ptr",
                            "nativeSrc": "3571:28:136",
                            "nodeType": "YulIdentifier",
                            "src": "3571:28:136"
                          },
                          "nativeSrc": "3571:51:136",
                          "nodeType": "YulFunctionCall",
                          "src": "3571:51:136"
                        },
                        "variableNames": [
                          {
                            "name": "tail_2",
                            "nativeSrc": "3561:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "3561:6:136"
                          }
                        ]
                      },
                      {
                        "nativeSrc": "3635:27:136",
                        "nodeType": "YulAssignment",
                        "src": "3635:27:136",
                        "value": {
                          "arguments": [
                            {
                              "name": "srcPtr",
                              "nativeSrc": "3649:6:136",
                              "nodeType": "YulIdentifier",
                              "src": "3649:6:136"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "3657:4:136",
                              "nodeType": "YulLiteral",
                              "src": "3657:4:136",
                              "type": "",
                              "value": "0x20"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "3645:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "3645:3:136"
                          },
                          "nativeSrc": "3645:17:136",
                          "nodeType": "YulFunctionCall",
                          "src": "3645:17:136"
                        },
                        "variableNames": [
                          {
                            "name": "srcPtr",
                            "nativeSrc": "3635:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "3635:6:136"
                          }
                        ]
                      },
                      {
                        "nativeSrc": "3675:25:136",
                        "nodeType": "YulAssignment",
                        "src": "3675:25:136",
                        "value": {
                          "arguments": [
                            {
                              "name": "pos_1",
                              "nativeSrc": "3688:5:136",
                              "nodeType": "YulIdentifier",
                              "src": "3688:5:136"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "3695:4:136",
                              "nodeType": "YulLiteral",
                              "src": "3695:4:136",
                              "type": "",
                              "value": "0x20"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "3684:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "3684:3:136"
                          },
                          "nativeSrc": "3684:16:136",
                          "nodeType": "YulFunctionCall",
                          "src": "3684:16:136"
                        },
                        "variableNames": [
                          {
                            "name": "pos_1",
                            "nativeSrc": "3675:5:136",
                            "nodeType": "YulIdentifier",
                            "src": "3675:5:136"
                          }
                        ]
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "i",
                        "nativeSrc": "3450:1:136",
                        "nodeType": "YulIdentifier",
                        "src": "3450:1:136"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "3453:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "3453:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "lt",
                      "nativeSrc": "3447:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "3447:2:136"
                    },
                    "nativeSrc": "3447:13:136",
                    "nodeType": "YulFunctionCall",
                    "src": "3447:13:136"
                  },
                  "nativeSrc": "3439:271:136",
                  "nodeType": "YulForLoop",
                  "post": {
                    "nativeSrc": "3461:18:136",
                    "nodeType": "YulBlock",
                    "src": "3461:18:136",
                    "statements": [
                      {
                        "nativeSrc": "3463:14:136",
                        "nodeType": "YulAssignment",
                        "src": "3463:14:136",
                        "value": {
                          "arguments": [
                            {
                              "name": "i",
                              "nativeSrc": "3472:1:136",
                              "nodeType": "YulIdentifier",
                              "src": "3472:1:136"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "3475:1:136",
                              "nodeType": "YulLiteral",
                              "src": "3475:1:136",
                              "type": "",
                              "value": "1"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "3468:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "3468:3:136"
                          },
                          "nativeSrc": "3468:9:136",
                          "nodeType": "YulFunctionCall",
                          "src": "3468:9:136"
                        },
                        "variableNames": [
                          {
                            "name": "i",
                            "nativeSrc": "3463:1:136",
                            "nodeType": "YulIdentifier",
                            "src": "3463:1:136"
                          }
                        ]
                      }
                    ]
                  },
                  "pre": {
                    "nativeSrc": "3443:3:136",
                    "nodeType": "YulBlock",
                    "src": "3443:3:136",
                    "statements": []
                  },
                  "src": "3439:271:136"
                },
                {
                  "nativeSrc": "3719:45:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "3719:45:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "3751:5:136",
                            "nodeType": "YulIdentifier",
                            "src": "3751:5:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "3758:4:136",
                            "nodeType": "YulLiteral",
                            "src": "3758:4:136",
                            "type": "",
                            "value": "0x80"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "3747:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "3747:3:136"
                        },
                        "nativeSrc": "3747:16:136",
                        "nodeType": "YulFunctionCall",
                        "src": "3747:16:136"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "3741:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "3741:5:136"
                    },
                    "nativeSrc": "3741:23:136",
                    "nodeType": "YulFunctionCall",
                    "src": "3741:23:136"
                  },
                  "variables": [
                    {
                      "name": "memberValue0_3",
                      "nativeSrc": "3723:14:136",
                      "nodeType": "YulTypedName",
                      "src": "3723:14:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "memberValue0_3",
                        "nativeSrc": "3798:14:136",
                        "nodeType": "YulIdentifier",
                        "src": "3798:14:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "3818:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "3818:3:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "3823:4:136",
                            "nodeType": "YulLiteral",
                            "src": "3823:4:136",
                            "type": "",
                            "value": "0x80"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "3814:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "3814:3:136"
                        },
                        "nativeSrc": "3814:14:136",
                        "nodeType": "YulFunctionCall",
                        "src": "3814:14:136"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_struct_Oracle",
                      "nativeSrc": "3773:24:136",
                      "nodeType": "YulIdentifier",
                      "src": "3773:24:136"
                    },
                    "nativeSrc": "3773:56:136",
                    "nodeType": "YulFunctionCall",
                    "src": "3773:56:136"
                  },
                  "nativeSrc": "3773:56:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "3773:56:136"
                },
                {
                  "nativeSrc": "3838:45:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "3838:45:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "3870:5:136",
                            "nodeType": "YulIdentifier",
                            "src": "3870:5:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "3877:4:136",
                            "nodeType": "YulLiteral",
                            "src": "3877:4:136",
                            "type": "",
                            "value": "0xa0"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "3866:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "3866:3:136"
                        },
                        "nativeSrc": "3866:16:136",
                        "nodeType": "YulFunctionCall",
                        "src": "3866:16:136"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "3860:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "3860:5:136"
                    },
                    "nativeSrc": "3860:23:136",
                    "nodeType": "YulFunctionCall",
                    "src": "3860:23:136"
                  },
                  "variables": [
                    {
                      "name": "memberValue0_4",
                      "nativeSrc": "3842:14:136",
                      "nodeType": "YulTypedName",
                      "src": "3842:14:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "memberValue0_4",
                        "nativeSrc": "3927:14:136",
                        "nodeType": "YulIdentifier",
                        "src": "3927:14:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "3947:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "3947:3:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "3952:4:136",
                            "nodeType": "YulLiteral",
                            "src": "3952:4:136",
                            "type": "",
                            "value": "0xe0"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "3943:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "3943:3:136"
                        },
                        "nativeSrc": "3943:14:136",
                        "nodeType": "YulFunctionCall",
                        "src": "3943:14:136"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_struct_UpdateConditions",
                      "nativeSrc": "3892:34:136",
                      "nodeType": "YulIdentifier",
                      "src": "3892:34:136"
                    },
                    "nativeSrc": "3892:66:136",
                    "nodeType": "YulFunctionCall",
                    "src": "3892:66:136"
                  },
                  "nativeSrc": "3892:66:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "3892:66:136"
                },
                {
                  "nativeSrc": "3967:45:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "3967:45:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "3999:5:136",
                            "nodeType": "YulIdentifier",
                            "src": "3999:5:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "4006:4:136",
                            "nodeType": "YulLiteral",
                            "src": "4006:4:136",
                            "type": "",
                            "value": "0xc0"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "3995:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "3995:3:136"
                        },
                        "nativeSrc": "3995:16:136",
                        "nodeType": "YulFunctionCall",
                        "src": "3995:16:136"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "3989:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "3989:5:136"
                    },
                    "nativeSrc": "3989:23:136",
                    "nodeType": "YulFunctionCall",
                    "src": "3989:23:136"
                  },
                  "variables": [
                    {
                      "name": "memberValue0_5",
                      "nativeSrc": "3971:14:136",
                      "nodeType": "YulTypedName",
                      "src": "3971:14:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "memberValue0_5",
                        "nativeSrc": "4045:14:136",
                        "nodeType": "YulIdentifier",
                        "src": "4045:14:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "4065:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "4065:3:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "4070:6:136",
                            "nodeType": "YulLiteral",
                            "src": "4070:6:136",
                            "type": "",
                            "value": "0x01a0"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "4061:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "4061:3:136"
                        },
                        "nativeSrc": "4061:16:136",
                        "nodeType": "YulFunctionCall",
                        "src": "4061:16:136"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_struct_Price",
                      "nativeSrc": "4021:23:136",
                      "nodeType": "YulIdentifier",
                      "src": "4021:23:136"
                    },
                    "nativeSrc": "4021:57:136",
                    "nodeType": "YulFunctionCall",
                    "src": "4021:57:136"
                  },
                  "nativeSrc": "4021:57:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "4021:57:136"
                },
                {
                  "nativeSrc": "4087:13:136",
                  "nodeType": "YulAssignment",
                  "src": "4087:13:136",
                  "value": {
                    "name": "tail_2",
                    "nativeSrc": "4094:6:136",
                    "nodeType": "YulIdentifier",
                    "src": "4094:6:136"
                  },
                  "variableNames": [
                    {
                      "name": "end",
                      "nativeSrc": "4087:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "4087:3:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_struct_Info",
            "nativeSrc": "2534:1572:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "value",
                "nativeSrc": "2566:5:136",
                "nodeType": "YulTypedName",
                "src": "2566:5:136",
                "type": ""
              },
              {
                "name": "pos",
                "nativeSrc": "2573:3:136",
                "nodeType": "YulTypedName",
                "src": "2573:3:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "end",
                "nativeSrc": "2581:3:136",
                "nodeType": "YulTypedName",
                "src": "2581:3:136",
                "type": ""
              }
            ],
            "src": "2534:1572:136"
          },
          {
            "body": {
              "nativeSrc": "4258:104:136",
              "nodeType": "YulBlock",
              "src": "4258:104:136",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "4275:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "4275:9:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "4286:2:136",
                        "nodeType": "YulLiteral",
                        "src": "4286:2:136",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "4268:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "4268:6:136"
                    },
                    "nativeSrc": "4268:21:136",
                    "nodeType": "YulFunctionCall",
                    "src": "4268:21:136"
                  },
                  "nativeSrc": "4268:21:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "4268:21:136"
                },
                {
                  "nativeSrc": "4298:58:136",
                  "nodeType": "YulAssignment",
                  "src": "4298:58:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "value0",
                        "nativeSrc": "4329:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "4329:6:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "4341:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "4341:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "4352:2:136",
                            "nodeType": "YulLiteral",
                            "src": "4352:2:136",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "4337:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "4337:3:136"
                        },
                        "nativeSrc": "4337:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "4337:18:136"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_struct_Info",
                      "nativeSrc": "4306:22:136",
                      "nodeType": "YulIdentifier",
                      "src": "4306:22:136"
                    },
                    "nativeSrc": "4306:50:136",
                    "nodeType": "YulFunctionCall",
                    "src": "4306:50:136"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "4298:4:136",
                      "nodeType": "YulIdentifier",
                      "src": "4298:4:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_t_struct$_Info_$28125_memory_ptr__to_t_struct$_Info_$28125_memory_ptr__fromStack_reversed",
            "nativeSrc": "4111:251:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "4227:9:136",
                "nodeType": "YulTypedName",
                "src": "4227:9:136",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "4238:6:136",
                "nodeType": "YulTypedName",
                "src": "4238:6:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "4249:4:136",
                "nodeType": "YulTypedName",
                "src": "4249:4:136",
                "type": ""
              }
            ],
            "src": "4111:251:136"
          },
          {
            "body": {
              "nativeSrc": "4468:102:136",
              "nodeType": "YulBlock",
              "src": "4468:102:136",
              "statements": [
                {
                  "nativeSrc": "4478:26:136",
                  "nodeType": "YulAssignment",
                  "src": "4478:26:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "4490:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "4490:9:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "4501:2:136",
                        "nodeType": "YulLiteral",
                        "src": "4501:2:136",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "4486:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "4486:3:136"
                    },
                    "nativeSrc": "4486:18:136",
                    "nodeType": "YulFunctionCall",
                    "src": "4486:18:136"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "4478:4:136",
                      "nodeType": "YulIdentifier",
                      "src": "4478:4:136"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "4520:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "4520:9:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value0",
                            "nativeSrc": "4535:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "4535:6:136"
                          },
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "kind": "number",
                                    "nativeSrc": "4551:3:136",
                                    "nodeType": "YulLiteral",
                                    "src": "4551:3:136",
                                    "type": "",
                                    "value": "160"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "4556:1:136",
                                    "nodeType": "YulLiteral",
                                    "src": "4556:1:136",
                                    "type": "",
                                    "value": "1"
                                  }
                                ],
                                "functionName": {
                                  "name": "shl",
                                  "nativeSrc": "4547:3:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "4547:3:136"
                                },
                                "nativeSrc": "4547:11:136",
                                "nodeType": "YulFunctionCall",
                                "src": "4547:11:136"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "4560:1:136",
                                "nodeType": "YulLiteral",
                                "src": "4560:1:136",
                                "type": "",
                                "value": "1"
                              }
                            ],
                            "functionName": {
                              "name": "sub",
                              "nativeSrc": "4543:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "4543:3:136"
                            },
                            "nativeSrc": "4543:19:136",
                            "nodeType": "YulFunctionCall",
                            "src": "4543:19:136"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "4531:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "4531:3:136"
                        },
                        "nativeSrc": "4531:32:136",
                        "nodeType": "YulFunctionCall",
                        "src": "4531:32:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "4513:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "4513:6:136"
                    },
                    "nativeSrc": "4513:51:136",
                    "nodeType": "YulFunctionCall",
                    "src": "4513:51:136"
                  },
                  "nativeSrc": "4513:51:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "4513:51:136"
                }
              ]
            },
            "name": "abi_encode_tuple_t_address__to_t_address__fromStack_reversed",
            "nativeSrc": "4367:203:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "4437:9:136",
                "nodeType": "YulTypedName",
                "src": "4437:9:136",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "4448:6:136",
                "nodeType": "YulTypedName",
                "src": "4448:6:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "4459:4:136",
                "nodeType": "YulTypedName",
                "src": "4459:4:136",
                "type": ""
              }
            ],
            "src": "4367:203:136"
          },
          {
            "body": {
              "nativeSrc": "4670:92:136",
              "nodeType": "YulBlock",
              "src": "4670:92:136",
              "statements": [
                {
                  "nativeSrc": "4680:26:136",
                  "nodeType": "YulAssignment",
                  "src": "4680:26:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "4692:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "4692:9:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "4703:2:136",
                        "nodeType": "YulLiteral",
                        "src": "4703:2:136",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "4688:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "4688:3:136"
                    },
                    "nativeSrc": "4688:18:136",
                    "nodeType": "YulFunctionCall",
                    "src": "4688:18:136"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "4680:4:136",
                      "nodeType": "YulIdentifier",
                      "src": "4680:4:136"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "4722:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "4722:9:136"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "value0",
                                "nativeSrc": "4747:6:136",
                                "nodeType": "YulIdentifier",
                                "src": "4747:6:136"
                              }
                            ],
                            "functionName": {
                              "name": "iszero",
                              "nativeSrc": "4740:6:136",
                              "nodeType": "YulIdentifier",
                              "src": "4740:6:136"
                            },
                            "nativeSrc": "4740:14:136",
                            "nodeType": "YulFunctionCall",
                            "src": "4740:14:136"
                          }
                        ],
                        "functionName": {
                          "name": "iszero",
                          "nativeSrc": "4733:6:136",
                          "nodeType": "YulIdentifier",
                          "src": "4733:6:136"
                        },
                        "nativeSrc": "4733:22:136",
                        "nodeType": "YulFunctionCall",
                        "src": "4733:22:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "4715:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "4715:6:136"
                    },
                    "nativeSrc": "4715:41:136",
                    "nodeType": "YulFunctionCall",
                    "src": "4715:41:136"
                  },
                  "nativeSrc": "4715:41:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "4715:41:136"
                }
              ]
            },
            "name": "abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed",
            "nativeSrc": "4575:187:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "4639:9:136",
                "nodeType": "YulTypedName",
                "src": "4639:9:136",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "4650:6:136",
                "nodeType": "YulTypedName",
                "src": "4650:6:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "4661:4:136",
                "nodeType": "YulTypedName",
                "src": "4661:4:136",
                "type": ""
              }
            ],
            "src": "4575:187:136"
          },
          {
            "body": {
              "nativeSrc": "4839:275:136",
              "nodeType": "YulBlock",
              "src": "4839:275:136",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "4888:16:136",
                    "nodeType": "YulBlock",
                    "src": "4888:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "4897:1:136",
                              "nodeType": "YulLiteral",
                              "src": "4897:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "4900:1:136",
                              "nodeType": "YulLiteral",
                              "src": "4900:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "4890:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "4890:6:136"
                          },
                          "nativeSrc": "4890:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "4890:12:136"
                        },
                        "nativeSrc": "4890:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "4890:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "offset",
                                "nativeSrc": "4867:6:136",
                                "nodeType": "YulIdentifier",
                                "src": "4867:6:136"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "4875:4:136",
                                "nodeType": "YulLiteral",
                                "src": "4875:4:136",
                                "type": "",
                                "value": "0x1f"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "4863:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "4863:3:136"
                            },
                            "nativeSrc": "4863:17:136",
                            "nodeType": "YulFunctionCall",
                            "src": "4863:17:136"
                          },
                          {
                            "name": "end",
                            "nativeSrc": "4882:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "4882:3:136"
                          }
                        ],
                        "functionName": {
                          "name": "slt",
                          "nativeSrc": "4859:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "4859:3:136"
                        },
                        "nativeSrc": "4859:27:136",
                        "nodeType": "YulFunctionCall",
                        "src": "4859:27:136"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "4852:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "4852:6:136"
                    },
                    "nativeSrc": "4852:35:136",
                    "nodeType": "YulFunctionCall",
                    "src": "4852:35:136"
                  },
                  "nativeSrc": "4849:55:136",
                  "nodeType": "YulIf",
                  "src": "4849:55:136"
                },
                {
                  "nativeSrc": "4913:30:136",
                  "nodeType": "YulAssignment",
                  "src": "4913:30:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "4936:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "4936:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "4923:12:136",
                      "nodeType": "YulIdentifier",
                      "src": "4923:12:136"
                    },
                    "nativeSrc": "4923:20:136",
                    "nodeType": "YulFunctionCall",
                    "src": "4923:20:136"
                  },
                  "variableNames": [
                    {
                      "name": "length",
                      "nativeSrc": "4913:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "4913:6:136"
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "4986:16:136",
                    "nodeType": "YulBlock",
                    "src": "4986:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "4995:1:136",
                              "nodeType": "YulLiteral",
                              "src": "4995:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "4998:1:136",
                              "nodeType": "YulLiteral",
                              "src": "4998:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "4988:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "4988:6:136"
                          },
                          "nativeSrc": "4988:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "4988:12:136"
                        },
                        "nativeSrc": "4988:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "4988:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "length",
                        "nativeSrc": "4958:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "4958:6:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "4966:18:136",
                        "nodeType": "YulLiteral",
                        "src": "4966:18:136",
                        "type": "",
                        "value": "0xffffffffffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "4955:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "4955:2:136"
                    },
                    "nativeSrc": "4955:30:136",
                    "nodeType": "YulFunctionCall",
                    "src": "4955:30:136"
                  },
                  "nativeSrc": "4952:50:136",
                  "nodeType": "YulIf",
                  "src": "4952:50:136"
                },
                {
                  "nativeSrc": "5011:29:136",
                  "nodeType": "YulAssignment",
                  "src": "5011:29:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "5027:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "5027:6:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "5035:4:136",
                        "nodeType": "YulLiteral",
                        "src": "5035:4:136",
                        "type": "",
                        "value": "0x20"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "5023:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "5023:3:136"
                    },
                    "nativeSrc": "5023:17:136",
                    "nodeType": "YulFunctionCall",
                    "src": "5023:17:136"
                  },
                  "variableNames": [
                    {
                      "name": "arrayPos",
                      "nativeSrc": "5011:8:136",
                      "nodeType": "YulIdentifier",
                      "src": "5011:8:136"
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "5092:16:136",
                    "nodeType": "YulBlock",
                    "src": "5092:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "5101:1:136",
                              "nodeType": "YulLiteral",
                              "src": "5101:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "5104:1:136",
                              "nodeType": "YulLiteral",
                              "src": "5104:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "5094:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "5094:6:136"
                          },
                          "nativeSrc": "5094:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "5094:12:136"
                        },
                        "nativeSrc": "5094:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "5094:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "offset",
                                "nativeSrc": "5063:6:136",
                                "nodeType": "YulIdentifier",
                                "src": "5063:6:136"
                              },
                              {
                                "name": "length",
                                "nativeSrc": "5071:6:136",
                                "nodeType": "YulIdentifier",
                                "src": "5071:6:136"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "5059:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "5059:3:136"
                            },
                            "nativeSrc": "5059:19:136",
                            "nodeType": "YulFunctionCall",
                            "src": "5059:19:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "5080:4:136",
                            "nodeType": "YulLiteral",
                            "src": "5080:4:136",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "5055:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "5055:3:136"
                        },
                        "nativeSrc": "5055:30:136",
                        "nodeType": "YulFunctionCall",
                        "src": "5055:30:136"
                      },
                      {
                        "name": "end",
                        "nativeSrc": "5087:3:136",
                        "nodeType": "YulIdentifier",
                        "src": "5087:3:136"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "5052:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "5052:2:136"
                    },
                    "nativeSrc": "5052:39:136",
                    "nodeType": "YulFunctionCall",
                    "src": "5052:39:136"
                  },
                  "nativeSrc": "5049:59:136",
                  "nodeType": "YulIf",
                  "src": "5049:59:136"
                }
              ]
            },
            "name": "abi_decode_bytes_calldata",
            "nativeSrc": "4767:347:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "offset",
                "nativeSrc": "4802:6:136",
                "nodeType": "YulTypedName",
                "src": "4802:6:136",
                "type": ""
              },
              {
                "name": "end",
                "nativeSrc": "4810:3:136",
                "nodeType": "YulTypedName",
                "src": "4810:3:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "arrayPos",
                "nativeSrc": "4818:8:136",
                "nodeType": "YulTypedName",
                "src": "4818:8:136",
                "type": ""
              },
              {
                "name": "length",
                "nativeSrc": "4828:6:136",
                "nodeType": "YulTypedName",
                "src": "4828:6:136",
                "type": ""
              }
            ],
            "src": "4767:347:136"
          },
          {
            "body": {
              "nativeSrc": "5208:320:136",
              "nodeType": "YulBlock",
              "src": "5208:320:136",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "5254:16:136",
                    "nodeType": "YulBlock",
                    "src": "5254:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "5263:1:136",
                              "nodeType": "YulLiteral",
                              "src": "5263:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "5266:1:136",
                              "nodeType": "YulLiteral",
                              "src": "5266:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "5256:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "5256:6:136"
                          },
                          "nativeSrc": "5256:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "5256:12:136"
                        },
                        "nativeSrc": "5256:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "5256:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "5229:7:136",
                            "nodeType": "YulIdentifier",
                            "src": "5229:7:136"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "5238:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "5238:9:136"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "5225:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "5225:3:136"
                        },
                        "nativeSrc": "5225:23:136",
                        "nodeType": "YulFunctionCall",
                        "src": "5225:23:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "5250:2:136",
                        "nodeType": "YulLiteral",
                        "src": "5250:2:136",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "5221:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "5221:3:136"
                    },
                    "nativeSrc": "5221:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "5221:32:136"
                  },
                  "nativeSrc": "5218:52:136",
                  "nodeType": "YulIf",
                  "src": "5218:52:136"
                },
                {
                  "nativeSrc": "5279:37:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "5279:37:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "5306:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "5306:9:136"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "5293:12:136",
                      "nodeType": "YulIdentifier",
                      "src": "5293:12:136"
                    },
                    "nativeSrc": "5293:23:136",
                    "nodeType": "YulFunctionCall",
                    "src": "5293:23:136"
                  },
                  "variables": [
                    {
                      "name": "offset",
                      "nativeSrc": "5283:6:136",
                      "nodeType": "YulTypedName",
                      "src": "5283:6:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "5359:16:136",
                    "nodeType": "YulBlock",
                    "src": "5359:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "5368:1:136",
                              "nodeType": "YulLiteral",
                              "src": "5368:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "5371:1:136",
                              "nodeType": "YulLiteral",
                              "src": "5371:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "5361:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "5361:6:136"
                          },
                          "nativeSrc": "5361:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "5361:12:136"
                        },
                        "nativeSrc": "5361:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "5361:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "5331:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "5331:6:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "5339:18:136",
                        "nodeType": "YulLiteral",
                        "src": "5339:18:136",
                        "type": "",
                        "value": "0xffffffffffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "5328:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "5328:2:136"
                    },
                    "nativeSrc": "5328:30:136",
                    "nodeType": "YulFunctionCall",
                    "src": "5328:30:136"
                  },
                  "nativeSrc": "5325:50:136",
                  "nodeType": "YulIf",
                  "src": "5325:50:136"
                },
                {
                  "nativeSrc": "5384:84:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "5384:84:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "5440:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "5440:9:136"
                          },
                          {
                            "name": "offset",
                            "nativeSrc": "5451:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "5451:6:136"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "5436:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "5436:3:136"
                        },
                        "nativeSrc": "5436:22:136",
                        "nodeType": "YulFunctionCall",
                        "src": "5436:22:136"
                      },
                      {
                        "name": "dataEnd",
                        "nativeSrc": "5460:7:136",
                        "nodeType": "YulIdentifier",
                        "src": "5460:7:136"
                      }
                    ],
                    "functionName": {
                      "name": "abi_decode_bytes_calldata",
                      "nativeSrc": "5410:25:136",
                      "nodeType": "YulIdentifier",
                      "src": "5410:25:136"
                    },
                    "nativeSrc": "5410:58:136",
                    "nodeType": "YulFunctionCall",
                    "src": "5410:58:136"
                  },
                  "variables": [
                    {
                      "name": "value0_1",
                      "nativeSrc": "5388:8:136",
                      "nodeType": "YulTypedName",
                      "src": "5388:8:136",
                      "type": ""
                    },
                    {
                      "name": "value1_1",
                      "nativeSrc": "5398:8:136",
                      "nodeType": "YulTypedName",
                      "src": "5398:8:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "5477:18:136",
                  "nodeType": "YulAssignment",
                  "src": "5477:18:136",
                  "value": {
                    "name": "value0_1",
                    "nativeSrc": "5487:8:136",
                    "nodeType": "YulIdentifier",
                    "src": "5487:8:136"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "5477:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "5477:6:136"
                    }
                  ]
                },
                {
                  "nativeSrc": "5504:18:136",
                  "nodeType": "YulAssignment",
                  "src": "5504:18:136",
                  "value": {
                    "name": "value1_1",
                    "nativeSrc": "5514:8:136",
                    "nodeType": "YulIdentifier",
                    "src": "5514:8:136"
                  },
                  "variableNames": [
                    {
                      "name": "value1",
                      "nativeSrc": "5504:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "5504:6:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_bytes_calldata_ptr",
            "nativeSrc": "5119:409:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "5166:9:136",
                "nodeType": "YulTypedName",
                "src": "5166:9:136",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "5177:7:136",
                "nodeType": "YulTypedName",
                "src": "5177:7:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "5189:6:136",
                "nodeType": "YulTypedName",
                "src": "5189:6:136",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "5197:6:136",
                "nodeType": "YulTypedName",
                "src": "5197:6:136",
                "type": ""
              }
            ],
            "src": "5119:409:136"
          },
          {
            "body": {
              "nativeSrc": "5634:76:136",
              "nodeType": "YulBlock",
              "src": "5634:76:136",
              "statements": [
                {
                  "nativeSrc": "5644:26:136",
                  "nodeType": "YulAssignment",
                  "src": "5644:26:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "5656:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "5656:9:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "5667:2:136",
                        "nodeType": "YulLiteral",
                        "src": "5667:2:136",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "5652:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "5652:3:136"
                    },
                    "nativeSrc": "5652:18:136",
                    "nodeType": "YulFunctionCall",
                    "src": "5652:18:136"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "5644:4:136",
                      "nodeType": "YulIdentifier",
                      "src": "5644:4:136"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "5686:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "5686:9:136"
                      },
                      {
                        "name": "value0",
                        "nativeSrc": "5697:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "5697:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "5679:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "5679:6:136"
                    },
                    "nativeSrc": "5679:25:136",
                    "nodeType": "YulFunctionCall",
                    "src": "5679:25:136"
                  },
                  "nativeSrc": "5679:25:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "5679:25:136"
                }
              ]
            },
            "name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed",
            "nativeSrc": "5533:177:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "5603:9:136",
                "nodeType": "YulTypedName",
                "src": "5603:9:136",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "5614:6:136",
                "nodeType": "YulTypedName",
                "src": "5614:6:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "5625:4:136",
                "nodeType": "YulTypedName",
                "src": "5625:4:136",
                "type": ""
              }
            ],
            "src": "5533:177:136"
          },
          {
            "body": {
              "nativeSrc": "5810:91:136",
              "nodeType": "YulBlock",
              "src": "5810:91:136",
              "statements": [
                {
                  "nativeSrc": "5820:26:136",
                  "nodeType": "YulAssignment",
                  "src": "5820:26:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "5832:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "5832:9:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "5843:2:136",
                        "nodeType": "YulLiteral",
                        "src": "5843:2:136",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "5828:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "5828:3:136"
                    },
                    "nativeSrc": "5828:18:136",
                    "nodeType": "YulFunctionCall",
                    "src": "5828:18:136"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "5820:4:136",
                      "nodeType": "YulIdentifier",
                      "src": "5820:4:136"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "5862:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "5862:9:136"
                      },
                      {
                        "arguments": [
                          {
                            "kind": "number",
                            "nativeSrc": "5884:1:136",
                            "nodeType": "YulLiteral",
                            "src": "5884:1:136",
                            "type": "",
                            "value": "0"
                          },
                          {
                            "name": "value0",
                            "nativeSrc": "5887:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "5887:6:136"
                          }
                        ],
                        "functionName": {
                          "name": "signextend",
                          "nativeSrc": "5873:10:136",
                          "nodeType": "YulIdentifier",
                          "src": "5873:10:136"
                        },
                        "nativeSrc": "5873:21:136",
                        "nodeType": "YulFunctionCall",
                        "src": "5873:21:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "5855:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "5855:6:136"
                    },
                    "nativeSrc": "5855:40:136",
                    "nodeType": "YulFunctionCall",
                    "src": "5855:40:136"
                  },
                  "nativeSrc": "5855:40:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "5855:40:136"
                }
              ]
            },
            "name": "abi_encode_tuple_t_int8__to_t_int8__fromStack_reversed",
            "nativeSrc": "5715:186:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "5779:9:136",
                "nodeType": "YulTypedName",
                "src": "5779:9:136",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "5790:6:136",
                "nodeType": "YulTypedName",
                "src": "5790:6:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "5801:4:136",
                "nodeType": "YulTypedName",
                "src": "5801:4:136",
                "type": ""
              }
            ],
            "src": "5715:186:136"
          },
          {
            "body": {
              "nativeSrc": "5950:85:136",
              "nodeType": "YulBlock",
              "src": "5950:85:136",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "6013:16:136",
                    "nodeType": "YulBlock",
                    "src": "6013:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "6022:1:136",
                              "nodeType": "YulLiteral",
                              "src": "6022:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "6025:1:136",
                              "nodeType": "YulLiteral",
                              "src": "6025:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "6015:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "6015:6:136"
                          },
                          "nativeSrc": "6015:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "6015:12:136"
                        },
                        "nativeSrc": "6015:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "6015:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "5973:5:136",
                            "nodeType": "YulIdentifier",
                            "src": "5973:5:136"
                          },
                          {
                            "arguments": [
                              {
                                "name": "value",
                                "nativeSrc": "5984:5:136",
                                "nodeType": "YulIdentifier",
                                "src": "5984:5:136"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "5991:18:136",
                                "nodeType": "YulLiteral",
                                "src": "5991:18:136",
                                "type": "",
                                "value": "0xffffffffffffffff"
                              }
                            ],
                            "functionName": {
                              "name": "and",
                              "nativeSrc": "5980:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "5980:3:136"
                            },
                            "nativeSrc": "5980:30:136",
                            "nodeType": "YulFunctionCall",
                            "src": "5980:30:136"
                          }
                        ],
                        "functionName": {
                          "name": "eq",
                          "nativeSrc": "5970:2:136",
                          "nodeType": "YulIdentifier",
                          "src": "5970:2:136"
                        },
                        "nativeSrc": "5970:41:136",
                        "nodeType": "YulFunctionCall",
                        "src": "5970:41:136"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "5963:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "5963:6:136"
                    },
                    "nativeSrc": "5963:49:136",
                    "nodeType": "YulFunctionCall",
                    "src": "5963:49:136"
                  },
                  "nativeSrc": "5960:69:136",
                  "nodeType": "YulIf",
                  "src": "5960:69:136"
                }
              ]
            },
            "name": "validator_revert_uint64",
            "nativeSrc": "5906:129:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "value",
                "nativeSrc": "5939:5:136",
                "nodeType": "YulTypedName",
                "src": "5939:5:136",
                "type": ""
              }
            ],
            "src": "5906:129:136"
          },
          {
            "body": {
              "nativeSrc": "6088:84:136",
              "nodeType": "YulBlock",
              "src": "6088:84:136",
              "statements": [
                {
                  "nativeSrc": "6098:29:136",
                  "nodeType": "YulAssignment",
                  "src": "6098:29:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "6120:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "6120:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "6107:12:136",
                      "nodeType": "YulIdentifier",
                      "src": "6107:12:136"
                    },
                    "nativeSrc": "6107:20:136",
                    "nodeType": "YulFunctionCall",
                    "src": "6107:20:136"
                  },
                  "variableNames": [
                    {
                      "name": "value",
                      "nativeSrc": "6098:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "6098:5:136"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "6160:5:136",
                        "nodeType": "YulIdentifier",
                        "src": "6160:5:136"
                      }
                    ],
                    "functionName": {
                      "name": "validator_revert_uint64",
                      "nativeSrc": "6136:23:136",
                      "nodeType": "YulIdentifier",
                      "src": "6136:23:136"
                    },
                    "nativeSrc": "6136:30:136",
                    "nodeType": "YulFunctionCall",
                    "src": "6136:30:136"
                  },
                  "nativeSrc": "6136:30:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "6136:30:136"
                }
              ]
            },
            "name": "abi_decode_uint64",
            "nativeSrc": "6040:132:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "offset",
                "nativeSrc": "6067:6:136",
                "nodeType": "YulTypedName",
                "src": "6067:6:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value",
                "nativeSrc": "6078:5:136",
                "nodeType": "YulTypedName",
                "src": "6078:5:136",
                "type": ""
              }
            ],
            "src": "6040:132:136"
          },
          {
            "body": {
              "nativeSrc": "6287:279:136",
              "nodeType": "YulBlock",
              "src": "6287:279:136",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "6333:16:136",
                    "nodeType": "YulBlock",
                    "src": "6333:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "6342:1:136",
                              "nodeType": "YulLiteral",
                              "src": "6342:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "6345:1:136",
                              "nodeType": "YulLiteral",
                              "src": "6345:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "6335:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "6335:6:136"
                          },
                          "nativeSrc": "6335:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "6335:12:136"
                        },
                        "nativeSrc": "6335:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "6335:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "6308:7:136",
                            "nodeType": "YulIdentifier",
                            "src": "6308:7:136"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "6317:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "6317:9:136"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "6304:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "6304:3:136"
                        },
                        "nativeSrc": "6304:23:136",
                        "nodeType": "YulFunctionCall",
                        "src": "6304:23:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "6329:2:136",
                        "nodeType": "YulLiteral",
                        "src": "6329:2:136",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "6300:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "6300:3:136"
                    },
                    "nativeSrc": "6300:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "6300:32:136"
                  },
                  "nativeSrc": "6297:52:136",
                  "nodeType": "YulIf",
                  "src": "6297:52:136"
                },
                {
                  "nativeSrc": "6358:14:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "6358:14:136",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "6371:1:136",
                    "nodeType": "YulLiteral",
                    "src": "6371:1:136",
                    "type": "",
                    "value": "0"
                  },
                  "variables": [
                    {
                      "name": "value",
                      "nativeSrc": "6362:5:136",
                      "nodeType": "YulTypedName",
                      "src": "6362:5:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "6381:32:136",
                  "nodeType": "YulAssignment",
                  "src": "6381:32:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "6403:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "6403:9:136"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "6390:12:136",
                      "nodeType": "YulIdentifier",
                      "src": "6390:12:136"
                    },
                    "nativeSrc": "6390:23:136",
                    "nodeType": "YulFunctionCall",
                    "src": "6390:23:136"
                  },
                  "variableNames": [
                    {
                      "name": "value",
                      "nativeSrc": "6381:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "6381:5:136"
                    }
                  ]
                },
                {
                  "nativeSrc": "6422:15:136",
                  "nodeType": "YulAssignment",
                  "src": "6422:15:136",
                  "value": {
                    "name": "value",
                    "nativeSrc": "6432:5:136",
                    "nodeType": "YulIdentifier",
                    "src": "6432:5:136"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "6422:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "6422:6:136"
                    }
                  ]
                },
                {
                  "nativeSrc": "6446:47:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "6446:47:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "6478:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "6478:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "6489:2:136",
                            "nodeType": "YulLiteral",
                            "src": "6489:2:136",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "6474:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "6474:3:136"
                        },
                        "nativeSrc": "6474:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "6474:18:136"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "6461:12:136",
                      "nodeType": "YulIdentifier",
                      "src": "6461:12:136"
                    },
                    "nativeSrc": "6461:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "6461:32:136"
                  },
                  "variables": [
                    {
                      "name": "value_1",
                      "nativeSrc": "6450:7:136",
                      "nodeType": "YulTypedName",
                      "src": "6450:7:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value_1",
                        "nativeSrc": "6526:7:136",
                        "nodeType": "YulIdentifier",
                        "src": "6526:7:136"
                      }
                    ],
                    "functionName": {
                      "name": "validator_revert_uint64",
                      "nativeSrc": "6502:23:136",
                      "nodeType": "YulIdentifier",
                      "src": "6502:23:136"
                    },
                    "nativeSrc": "6502:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "6502:32:136"
                  },
                  "nativeSrc": "6502:32:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "6502:32:136"
                },
                {
                  "nativeSrc": "6543:17:136",
                  "nodeType": "YulAssignment",
                  "src": "6543:17:136",
                  "value": {
                    "name": "value_1",
                    "nativeSrc": "6553:7:136",
                    "nodeType": "YulIdentifier",
                    "src": "6553:7:136"
                  },
                  "variableNames": [
                    {
                      "name": "value1",
                      "nativeSrc": "6543:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "6543:6:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_userDefinedValueType$_ID_$29561t_uint64",
            "nativeSrc": "6177:389:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "6245:9:136",
                "nodeType": "YulTypedName",
                "src": "6245:9:136",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "6256:7:136",
                "nodeType": "YulTypedName",
                "src": "6256:7:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "6268:6:136",
                "nodeType": "YulTypedName",
                "src": "6268:6:136",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "6276:6:136",
                "nodeType": "YulTypedName",
                "src": "6276:6:136",
                "type": ""
              }
            ],
            "src": "6177:389:136"
          },
          {
            "body": {
              "nativeSrc": "6728:328:136",
              "nodeType": "YulBlock",
              "src": "6728:328:136",
              "statements": [
                {
                  "nativeSrc": "6738:27:136",
                  "nodeType": "YulAssignment",
                  "src": "6738:27:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "6750:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "6750:9:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "6761:3:136",
                        "nodeType": "YulLiteral",
                        "src": "6761:3:136",
                        "type": "",
                        "value": "128"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "6746:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "6746:3:136"
                    },
                    "nativeSrc": "6746:19:136",
                    "nodeType": "YulFunctionCall",
                    "src": "6746:19:136"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "6738:4:136",
                      "nodeType": "YulIdentifier",
                      "src": "6738:4:136"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "6781:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "6781:9:136"
                      },
                      {
                        "arguments": [
                          {
                            "kind": "number",
                            "nativeSrc": "6803:1:136",
                            "nodeType": "YulLiteral",
                            "src": "6803:1:136",
                            "type": "",
                            "value": "7"
                          },
                          {
                            "arguments": [
                              {
                                "name": "value0",
                                "nativeSrc": "6812:6:136",
                                "nodeType": "YulIdentifier",
                                "src": "6812:6:136"
                              }
                            ],
                            "functionName": {
                              "name": "mload",
                              "nativeSrc": "6806:5:136",
                              "nodeType": "YulIdentifier",
                              "src": "6806:5:136"
                            },
                            "nativeSrc": "6806:13:136",
                            "nodeType": "YulFunctionCall",
                            "src": "6806:13:136"
                          }
                        ],
                        "functionName": {
                          "name": "signextend",
                          "nativeSrc": "6792:10:136",
                          "nodeType": "YulIdentifier",
                          "src": "6792:10:136"
                        },
                        "nativeSrc": "6792:28:136",
                        "nodeType": "YulFunctionCall",
                        "src": "6792:28:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "6774:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "6774:6:136"
                    },
                    "nativeSrc": "6774:47:136",
                    "nodeType": "YulFunctionCall",
                    "src": "6774:47:136"
                  },
                  "nativeSrc": "6774:47:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "6774:47:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "6841:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "6841:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "6852:4:136",
                            "nodeType": "YulLiteral",
                            "src": "6852:4:136",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "6837:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "6837:3:136"
                        },
                        "nativeSrc": "6837:20:136",
                        "nodeType": "YulFunctionCall",
                        "src": "6837:20:136"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "name": "value0",
                                    "nativeSrc": "6873:6:136",
                                    "nodeType": "YulIdentifier",
                                    "src": "6873:6:136"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "6881:4:136",
                                    "nodeType": "YulLiteral",
                                    "src": "6881:4:136",
                                    "type": "",
                                    "value": "0x20"
                                  }
                                ],
                                "functionName": {
                                  "name": "add",
                                  "nativeSrc": "6869:3:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "6869:3:136"
                                },
                                "nativeSrc": "6869:17:136",
                                "nodeType": "YulFunctionCall",
                                "src": "6869:17:136"
                              }
                            ],
                            "functionName": {
                              "name": "mload",
                              "nativeSrc": "6863:5:136",
                              "nodeType": "YulIdentifier",
                              "src": "6863:5:136"
                            },
                            "nativeSrc": "6863:24:136",
                            "nodeType": "YulFunctionCall",
                            "src": "6863:24:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "6889:18:136",
                            "nodeType": "YulLiteral",
                            "src": "6889:18:136",
                            "type": "",
                            "value": "0xffffffffffffffff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "6859:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "6859:3:136"
                        },
                        "nativeSrc": "6859:49:136",
                        "nodeType": "YulFunctionCall",
                        "src": "6859:49:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "6830:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "6830:6:136"
                    },
                    "nativeSrc": "6830:79:136",
                    "nodeType": "YulFunctionCall",
                    "src": "6830:79:136"
                  },
                  "nativeSrc": "6830:79:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "6830:79:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "6929:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "6929:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "6940:4:136",
                            "nodeType": "YulLiteral",
                            "src": "6940:4:136",
                            "type": "",
                            "value": "0x40"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "6925:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "6925:3:136"
                        },
                        "nativeSrc": "6925:20:136",
                        "nodeType": "YulFunctionCall",
                        "src": "6925:20:136"
                      },
                      {
                        "arguments": [
                          {
                            "kind": "number",
                            "nativeSrc": "6958:1:136",
                            "nodeType": "YulLiteral",
                            "src": "6958:1:136",
                            "type": "",
                            "value": "3"
                          },
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "name": "value0",
                                    "nativeSrc": "6971:6:136",
                                    "nodeType": "YulIdentifier",
                                    "src": "6971:6:136"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "6979:4:136",
                                    "nodeType": "YulLiteral",
                                    "src": "6979:4:136",
                                    "type": "",
                                    "value": "0x40"
                                  }
                                ],
                                "functionName": {
                                  "name": "add",
                                  "nativeSrc": "6967:3:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "6967:3:136"
                                },
                                "nativeSrc": "6967:17:136",
                                "nodeType": "YulFunctionCall",
                                "src": "6967:17:136"
                              }
                            ],
                            "functionName": {
                              "name": "mload",
                              "nativeSrc": "6961:5:136",
                              "nodeType": "YulIdentifier",
                              "src": "6961:5:136"
                            },
                            "nativeSrc": "6961:24:136",
                            "nodeType": "YulFunctionCall",
                            "src": "6961:24:136"
                          }
                        ],
                        "functionName": {
                          "name": "signextend",
                          "nativeSrc": "6947:10:136",
                          "nodeType": "YulIdentifier",
                          "src": "6947:10:136"
                        },
                        "nativeSrc": "6947:39:136",
                        "nodeType": "YulFunctionCall",
                        "src": "6947:39:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "6918:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "6918:6:136"
                    },
                    "nativeSrc": "6918:69:136",
                    "nodeType": "YulFunctionCall",
                    "src": "6918:69:136"
                  },
                  "nativeSrc": "6918:69:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "6918:69:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "7007:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "7007:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "7018:4:136",
                            "nodeType": "YulLiteral",
                            "src": "7018:4:136",
                            "type": "",
                            "value": "0x60"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "7003:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "7003:3:136"
                        },
                        "nativeSrc": "7003:20:136",
                        "nodeType": "YulFunctionCall",
                        "src": "7003:20:136"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "value0",
                                "nativeSrc": "7035:6:136",
                                "nodeType": "YulIdentifier",
                                "src": "7035:6:136"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "7043:4:136",
                                "nodeType": "YulLiteral",
                                "src": "7043:4:136",
                                "type": "",
                                "value": "0x60"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "7031:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "7031:3:136"
                            },
                            "nativeSrc": "7031:17:136",
                            "nodeType": "YulFunctionCall",
                            "src": "7031:17:136"
                          }
                        ],
                        "functionName": {
                          "name": "mload",
                          "nativeSrc": "7025:5:136",
                          "nodeType": "YulIdentifier",
                          "src": "7025:5:136"
                        },
                        "nativeSrc": "7025:24:136",
                        "nodeType": "YulFunctionCall",
                        "src": "7025:24:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "6996:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "6996:6:136"
                    },
                    "nativeSrc": "6996:54:136",
                    "nodeType": "YulFunctionCall",
                    "src": "6996:54:136"
                  },
                  "nativeSrc": "6996:54:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "6996:54:136"
                }
              ]
            },
            "name": "abi_encode_tuple_t_struct$_PythPrice_$29570_memory_ptr__to_t_struct$_PythPrice_$29570_memory_ptr__fromStack_reversed",
            "nativeSrc": "6571:485:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "6697:9:136",
                "nodeType": "YulTypedName",
                "src": "6697:9:136",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "6708:6:136",
                "nodeType": "YulTypedName",
                "src": "6708:6:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "6719:4:136",
                "nodeType": "YulTypedName",
                "src": "6719:4:136",
                "type": ""
              }
            ],
            "src": "6571:485:136"
          },
          {
            "body": {
              "nativeSrc": "7258:616:136",
              "nodeType": "YulBlock",
              "src": "7258:616:136",
              "statements": [
                {
                  "nativeSrc": "7268:32:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "7268:32:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "7286:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "7286:9:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "7297:2:136",
                        "nodeType": "YulLiteral",
                        "src": "7297:2:136",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "7282:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "7282:3:136"
                    },
                    "nativeSrc": "7282:18:136",
                    "nodeType": "YulFunctionCall",
                    "src": "7282:18:136"
                  },
                  "variables": [
                    {
                      "name": "tail_1",
                      "nativeSrc": "7272:6:136",
                      "nodeType": "YulTypedName",
                      "src": "7272:6:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "7316:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "7316:9:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "7327:2:136",
                        "nodeType": "YulLiteral",
                        "src": "7327:2:136",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "7309:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "7309:6:136"
                    },
                    "nativeSrc": "7309:21:136",
                    "nodeType": "YulFunctionCall",
                    "src": "7309:21:136"
                  },
                  "nativeSrc": "7309:21:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "7309:21:136"
                },
                {
                  "nativeSrc": "7339:17:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "7339:17:136",
                  "value": {
                    "name": "tail_1",
                    "nativeSrc": "7350:6:136",
                    "nodeType": "YulIdentifier",
                    "src": "7350:6:136"
                  },
                  "variables": [
                    {
                      "name": "pos",
                      "nativeSrc": "7343:3:136",
                      "nodeType": "YulTypedName",
                      "src": "7343:3:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "7365:27:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "7365:27:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "value0",
                        "nativeSrc": "7385:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "7385:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "7379:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "7379:5:136"
                    },
                    "nativeSrc": "7379:13:136",
                    "nodeType": "YulFunctionCall",
                    "src": "7379:13:136"
                  },
                  "variables": [
                    {
                      "name": "length",
                      "nativeSrc": "7369:6:136",
                      "nodeType": "YulTypedName",
                      "src": "7369:6:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "tail_1",
                        "nativeSrc": "7408:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "7408:6:136"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "7416:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "7416:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "7401:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "7401:6:136"
                    },
                    "nativeSrc": "7401:22:136",
                    "nodeType": "YulFunctionCall",
                    "src": "7401:22:136"
                  },
                  "nativeSrc": "7401:22:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "7401:22:136"
                },
                {
                  "nativeSrc": "7432:25:136",
                  "nodeType": "YulAssignment",
                  "src": "7432:25:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "7443:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "7443:9:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "7454:2:136",
                        "nodeType": "YulLiteral",
                        "src": "7454:2:136",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "7439:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "7439:3:136"
                    },
                    "nativeSrc": "7439:18:136",
                    "nodeType": "YulFunctionCall",
                    "src": "7439:18:136"
                  },
                  "variableNames": [
                    {
                      "name": "pos",
                      "nativeSrc": "7432:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "7432:3:136"
                    }
                  ]
                },
                {
                  "nativeSrc": "7466:53:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "7466:53:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "7488:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "7488:9:136"
                          },
                          {
                            "arguments": [
                              {
                                "kind": "number",
                                "nativeSrc": "7503:1:136",
                                "nodeType": "YulLiteral",
                                "src": "7503:1:136",
                                "type": "",
                                "value": "5"
                              },
                              {
                                "name": "length",
                                "nativeSrc": "7506:6:136",
                                "nodeType": "YulIdentifier",
                                "src": "7506:6:136"
                              }
                            ],
                            "functionName": {
                              "name": "shl",
                              "nativeSrc": "7499:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "7499:3:136"
                            },
                            "nativeSrc": "7499:14:136",
                            "nodeType": "YulFunctionCall",
                            "src": "7499:14:136"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "7484:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "7484:3:136"
                        },
                        "nativeSrc": "7484:30:136",
                        "nodeType": "YulFunctionCall",
                        "src": "7484:30:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "7516:2:136",
                        "nodeType": "YulLiteral",
                        "src": "7516:2:136",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "7480:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "7480:3:136"
                    },
                    "nativeSrc": "7480:39:136",
                    "nodeType": "YulFunctionCall",
                    "src": "7480:39:136"
                  },
                  "variables": [
                    {
                      "name": "tail_2",
                      "nativeSrc": "7470:6:136",
                      "nodeType": "YulTypedName",
                      "src": "7470:6:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "7528:29:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "7528:29:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "value0",
                        "nativeSrc": "7546:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "7546:6:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "7554:2:136",
                        "nodeType": "YulLiteral",
                        "src": "7554:2:136",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "7542:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "7542:3:136"
                    },
                    "nativeSrc": "7542:15:136",
                    "nodeType": "YulFunctionCall",
                    "src": "7542:15:136"
                  },
                  "variables": [
                    {
                      "name": "srcPtr",
                      "nativeSrc": "7532:6:136",
                      "nodeType": "YulTypedName",
                      "src": "7532:6:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "7566:10:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "7566:10:136",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "7575:1:136",
                    "nodeType": "YulLiteral",
                    "src": "7575:1:136",
                    "type": "",
                    "value": "0"
                  },
                  "variables": [
                    {
                      "name": "i",
                      "nativeSrc": "7570:1:136",
                      "nodeType": "YulTypedName",
                      "src": "7570:1:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "7634:211:136",
                    "nodeType": "YulBlock",
                    "src": "7634:211:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "name": "pos",
                              "nativeSrc": "7655:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "7655:3:136"
                            },
                            {
                              "arguments": [
                                {
                                  "arguments": [
                                    {
                                      "name": "tail_2",
                                      "nativeSrc": "7668:6:136",
                                      "nodeType": "YulIdentifier",
                                      "src": "7668:6:136"
                                    },
                                    {
                                      "name": "headStart",
                                      "nativeSrc": "7676:9:136",
                                      "nodeType": "YulIdentifier",
                                      "src": "7676:9:136"
                                    }
                                  ],
                                  "functionName": {
                                    "name": "sub",
                                    "nativeSrc": "7664:3:136",
                                    "nodeType": "YulIdentifier",
                                    "src": "7664:3:136"
                                  },
                                  "nativeSrc": "7664:22:136",
                                  "nodeType": "YulFunctionCall",
                                  "src": "7664:22:136"
                                },
                                {
                                  "arguments": [
                                    {
                                      "kind": "number",
                                      "nativeSrc": "7692:2:136",
                                      "nodeType": "YulLiteral",
                                      "src": "7692:2:136",
                                      "type": "",
                                      "value": "63"
                                    }
                                  ],
                                  "functionName": {
                                    "name": "not",
                                    "nativeSrc": "7688:3:136",
                                    "nodeType": "YulIdentifier",
                                    "src": "7688:3:136"
                                  },
                                  "nativeSrc": "7688:7:136",
                                  "nodeType": "YulFunctionCall",
                                  "src": "7688:7:136"
                                }
                              ],
                              "functionName": {
                                "name": "add",
                                "nativeSrc": "7660:3:136",
                                "nodeType": "YulIdentifier",
                                "src": "7660:3:136"
                              },
                              "nativeSrc": "7660:36:136",
                              "nodeType": "YulFunctionCall",
                              "src": "7660:36:136"
                            }
                          ],
                          "functionName": {
                            "name": "mstore",
                            "nativeSrc": "7648:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "7648:6:136"
                          },
                          "nativeSrc": "7648:49:136",
                          "nodeType": "YulFunctionCall",
                          "src": "7648:49:136"
                        },
                        "nativeSrc": "7648:49:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "7648:49:136"
                      },
                      {
                        "nativeSrc": "7710:55:136",
                        "nodeType": "YulAssignment",
                        "src": "7710:55:136",
                        "value": {
                          "arguments": [
                            {
                              "arguments": [
                                {
                                  "name": "srcPtr",
                                  "nativeSrc": "7749:6:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "7749:6:136"
                                }
                              ],
                              "functionName": {
                                "name": "mload",
                                "nativeSrc": "7743:5:136",
                                "nodeType": "YulIdentifier",
                                "src": "7743:5:136"
                              },
                              "nativeSrc": "7743:13:136",
                              "nodeType": "YulFunctionCall",
                              "src": "7743:13:136"
                            },
                            {
                              "name": "tail_2",
                              "nativeSrc": "7758:6:136",
                              "nodeType": "YulIdentifier",
                              "src": "7758:6:136"
                            }
                          ],
                          "functionName": {
                            "name": "abi_encode_struct_Info",
                            "nativeSrc": "7720:22:136",
                            "nodeType": "YulIdentifier",
                            "src": "7720:22:136"
                          },
                          "nativeSrc": "7720:45:136",
                          "nodeType": "YulFunctionCall",
                          "src": "7720:45:136"
                        },
                        "variableNames": [
                          {
                            "name": "tail_2",
                            "nativeSrc": "7710:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "7710:6:136"
                          }
                        ]
                      },
                      {
                        "nativeSrc": "7778:25:136",
                        "nodeType": "YulAssignment",
                        "src": "7778:25:136",
                        "value": {
                          "arguments": [
                            {
                              "name": "srcPtr",
                              "nativeSrc": "7792:6:136",
                              "nodeType": "YulIdentifier",
                              "src": "7792:6:136"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "7800:2:136",
                              "nodeType": "YulLiteral",
                              "src": "7800:2:136",
                              "type": "",
                              "value": "32"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "7788:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "7788:3:136"
                          },
                          "nativeSrc": "7788:15:136",
                          "nodeType": "YulFunctionCall",
                          "src": "7788:15:136"
                        },
                        "variableNames": [
                          {
                            "name": "srcPtr",
                            "nativeSrc": "7778:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "7778:6:136"
                          }
                        ]
                      },
                      {
                        "nativeSrc": "7816:19:136",
                        "nodeType": "YulAssignment",
                        "src": "7816:19:136",
                        "value": {
                          "arguments": [
                            {
                              "name": "pos",
                              "nativeSrc": "7827:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "7827:3:136"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "7832:2:136",
                              "nodeType": "YulLiteral",
                              "src": "7832:2:136",
                              "type": "",
                              "value": "32"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "7823:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "7823:3:136"
                          },
                          "nativeSrc": "7823:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "7823:12:136"
                        },
                        "variableNames": [
                          {
                            "name": "pos",
                            "nativeSrc": "7816:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "7816:3:136"
                          }
                        ]
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "i",
                        "nativeSrc": "7596:1:136",
                        "nodeType": "YulIdentifier",
                        "src": "7596:1:136"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "7599:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "7599:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "lt",
                      "nativeSrc": "7593:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "7593:2:136"
                    },
                    "nativeSrc": "7593:13:136",
                    "nodeType": "YulFunctionCall",
                    "src": "7593:13:136"
                  },
                  "nativeSrc": "7585:260:136",
                  "nodeType": "YulForLoop",
                  "post": {
                    "nativeSrc": "7607:18:136",
                    "nodeType": "YulBlock",
                    "src": "7607:18:136",
                    "statements": [
                      {
                        "nativeSrc": "7609:14:136",
                        "nodeType": "YulAssignment",
                        "src": "7609:14:136",
                        "value": {
                          "arguments": [
                            {
                              "name": "i",
                              "nativeSrc": "7618:1:136",
                              "nodeType": "YulIdentifier",
                              "src": "7618:1:136"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "7621:1:136",
                              "nodeType": "YulLiteral",
                              "src": "7621:1:136",
                              "type": "",
                              "value": "1"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "7614:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "7614:3:136"
                          },
                          "nativeSrc": "7614:9:136",
                          "nodeType": "YulFunctionCall",
                          "src": "7614:9:136"
                        },
                        "variableNames": [
                          {
                            "name": "i",
                            "nativeSrc": "7609:1:136",
                            "nodeType": "YulIdentifier",
                            "src": "7609:1:136"
                          }
                        ]
                      }
                    ]
                  },
                  "pre": {
                    "nativeSrc": "7589:3:136",
                    "nodeType": "YulBlock",
                    "src": "7589:3:136",
                    "statements": []
                  },
                  "src": "7585:260:136"
                },
                {
                  "nativeSrc": "7854:14:136",
                  "nodeType": "YulAssignment",
                  "src": "7854:14:136",
                  "value": {
                    "name": "tail_2",
                    "nativeSrc": "7862:6:136",
                    "nodeType": "YulIdentifier",
                    "src": "7862:6:136"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "7854:4:136",
                      "nodeType": "YulIdentifier",
                      "src": "7854:4:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_t_array$_t_struct$_Info_$28125_memory_ptr_$dyn_memory_ptr__to_t_array$_t_struct$_Info_$28125_memory_ptr_$dyn_memory_ptr__fromStack_reversed",
            "nativeSrc": "7061:813:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "7227:9:136",
                "nodeType": "YulTypedName",
                "src": "7227:9:136",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "7238:6:136",
                "nodeType": "YulTypedName",
                "src": "7238:6:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "7249:4:136",
                "nodeType": "YulTypedName",
                "src": "7249:4:136",
                "type": ""
              }
            ],
            "src": "7061:813:136"
          },
          {
            "body": {
              "nativeSrc": "7973:156:136",
              "nodeType": "YulBlock",
              "src": "7973:156:136",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "8019:16:136",
                    "nodeType": "YulBlock",
                    "src": "8019:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "8028:1:136",
                              "nodeType": "YulLiteral",
                              "src": "8028:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "8031:1:136",
                              "nodeType": "YulLiteral",
                              "src": "8031:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "8021:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "8021:6:136"
                          },
                          "nativeSrc": "8021:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "8021:12:136"
                        },
                        "nativeSrc": "8021:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "8021:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "7994:7:136",
                            "nodeType": "YulIdentifier",
                            "src": "7994:7:136"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "8003:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "8003:9:136"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "7990:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "7990:3:136"
                        },
                        "nativeSrc": "7990:23:136",
                        "nodeType": "YulFunctionCall",
                        "src": "7990:23:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "8015:2:136",
                        "nodeType": "YulLiteral",
                        "src": "8015:2:136",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "7986:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "7986:3:136"
                    },
                    "nativeSrc": "7986:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "7986:32:136"
                  },
                  "nativeSrc": "7983:52:136",
                  "nodeType": "YulIf",
                  "src": "7983:52:136"
                },
                {
                  "nativeSrc": "8044:14:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "8044:14:136",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "8057:1:136",
                    "nodeType": "YulLiteral",
                    "src": "8057:1:136",
                    "type": "",
                    "value": "0"
                  },
                  "variables": [
                    {
                      "name": "value",
                      "nativeSrc": "8048:5:136",
                      "nodeType": "YulTypedName",
                      "src": "8048:5:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "8067:32:136",
                  "nodeType": "YulAssignment",
                  "src": "8067:32:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "8089:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "8089:9:136"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "8076:12:136",
                      "nodeType": "YulIdentifier",
                      "src": "8076:12:136"
                    },
                    "nativeSrc": "8076:23:136",
                    "nodeType": "YulFunctionCall",
                    "src": "8076:23:136"
                  },
                  "variableNames": [
                    {
                      "name": "value",
                      "nativeSrc": "8067:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "8067:5:136"
                    }
                  ]
                },
                {
                  "nativeSrc": "8108:15:136",
                  "nodeType": "YulAssignment",
                  "src": "8108:15:136",
                  "value": {
                    "name": "value",
                    "nativeSrc": "8118:5:136",
                    "nodeType": "YulIdentifier",
                    "src": "8118:5:136"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "8108:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "8108:6:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_userDefinedValueType$_ID_$29561",
            "nativeSrc": "7879:250:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "7939:9:136",
                "nodeType": "YulTypedName",
                "src": "7939:9:136",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "7950:7:136",
                "nodeType": "YulTypedName",
                "src": "7950:7:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "7962:6:136",
                "nodeType": "YulTypedName",
                "src": "7962:6:136",
                "type": ""
              }
            ],
            "src": "7879:250:136"
          },
          {
            "body": {
              "nativeSrc": "8166:95:136",
              "nodeType": "YulBlock",
              "src": "8166:95:136",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "8183:1:136",
                        "nodeType": "YulLiteral",
                        "src": "8183:1:136",
                        "type": "",
                        "value": "0"
                      },
                      {
                        "arguments": [
                          {
                            "kind": "number",
                            "nativeSrc": "8190:3:136",
                            "nodeType": "YulLiteral",
                            "src": "8190:3:136",
                            "type": "",
                            "value": "224"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "8195:10:136",
                            "nodeType": "YulLiteral",
                            "src": "8195:10:136",
                            "type": "",
                            "value": "0x4e487b71"
                          }
                        ],
                        "functionName": {
                          "name": "shl",
                          "nativeSrc": "8186:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "8186:3:136"
                        },
                        "nativeSrc": "8186:20:136",
                        "nodeType": "YulFunctionCall",
                        "src": "8186:20:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "8176:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "8176:6:136"
                    },
                    "nativeSrc": "8176:31:136",
                    "nodeType": "YulFunctionCall",
                    "src": "8176:31:136"
                  },
                  "nativeSrc": "8176:31:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "8176:31:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "8223:1:136",
                        "nodeType": "YulLiteral",
                        "src": "8223:1:136",
                        "type": "",
                        "value": "4"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "8226:4:136",
                        "nodeType": "YulLiteral",
                        "src": "8226:4:136",
                        "type": "",
                        "value": "0x41"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "8216:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "8216:6:136"
                    },
                    "nativeSrc": "8216:15:136",
                    "nodeType": "YulFunctionCall",
                    "src": "8216:15:136"
                  },
                  "nativeSrc": "8216:15:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "8216:15:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "8247:1:136",
                        "nodeType": "YulLiteral",
                        "src": "8247:1:136",
                        "type": "",
                        "value": "0"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "8250:4:136",
                        "nodeType": "YulLiteral",
                        "src": "8250:4:136",
                        "type": "",
                        "value": "0x24"
                      }
                    ],
                    "functionName": {
                      "name": "revert",
                      "nativeSrc": "8240:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "8240:6:136"
                    },
                    "nativeSrc": "8240:15:136",
                    "nodeType": "YulFunctionCall",
                    "src": "8240:15:136"
                  },
                  "nativeSrc": "8240:15:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "8240:15:136"
                }
              ]
            },
            "name": "panic_error_0x41",
            "nativeSrc": "8134:127:136",
            "nodeType": "YulFunctionDefinition",
            "src": "8134:127:136"
          },
          {
            "body": {
              "nativeSrc": "8312:179:136",
              "nodeType": "YulBlock",
              "src": "8312:179:136",
              "statements": [
                {
                  "nativeSrc": "8322:35:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "8322:35:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "memPtr",
                        "nativeSrc": "8344:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "8344:6:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "8352:4:136",
                        "nodeType": "YulLiteral",
                        "src": "8352:4:136",
                        "type": "",
                        "value": "0xc0"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "8340:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "8340:3:136"
                    },
                    "nativeSrc": "8340:17:136",
                    "nodeType": "YulFunctionCall",
                    "src": "8340:17:136"
                  },
                  "variables": [
                    {
                      "name": "newFreePtr",
                      "nativeSrc": "8326:10:136",
                      "nodeType": "YulTypedName",
                      "src": "8326:10:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "8432:22:136",
                    "nodeType": "YulBlock",
                    "src": "8432:22:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x41",
                            "nativeSrc": "8434:16:136",
                            "nodeType": "YulIdentifier",
                            "src": "8434:16:136"
                          },
                          "nativeSrc": "8434:18:136",
                          "nodeType": "YulFunctionCall",
                          "src": "8434:18:136"
                        },
                        "nativeSrc": "8434:18:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "8434:18:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "newFreePtr",
                            "nativeSrc": "8375:10:136",
                            "nodeType": "YulIdentifier",
                            "src": "8375:10:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "8387:18:136",
                            "nodeType": "YulLiteral",
                            "src": "8387:18:136",
                            "type": "",
                            "value": "0xffffffffffffffff"
                          }
                        ],
                        "functionName": {
                          "name": "gt",
                          "nativeSrc": "8372:2:136",
                          "nodeType": "YulIdentifier",
                          "src": "8372:2:136"
                        },
                        "nativeSrc": "8372:34:136",
                        "nodeType": "YulFunctionCall",
                        "src": "8372:34:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "newFreePtr",
                            "nativeSrc": "8411:10:136",
                            "nodeType": "YulIdentifier",
                            "src": "8411:10:136"
                          },
                          {
                            "name": "memPtr",
                            "nativeSrc": "8423:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "8423:6:136"
                          }
                        ],
                        "functionName": {
                          "name": "lt",
                          "nativeSrc": "8408:2:136",
                          "nodeType": "YulIdentifier",
                          "src": "8408:2:136"
                        },
                        "nativeSrc": "8408:22:136",
                        "nodeType": "YulFunctionCall",
                        "src": "8408:22:136"
                      }
                    ],
                    "functionName": {
                      "name": "or",
                      "nativeSrc": "8369:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "8369:2:136"
                    },
                    "nativeSrc": "8369:62:136",
                    "nodeType": "YulFunctionCall",
                    "src": "8369:62:136"
                  },
                  "nativeSrc": "8366:88:136",
                  "nodeType": "YulIf",
                  "src": "8366:88:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "8470:2:136",
                        "nodeType": "YulLiteral",
                        "src": "8470:2:136",
                        "type": "",
                        "value": "64"
                      },
                      {
                        "name": "newFreePtr",
                        "nativeSrc": "8474:10:136",
                        "nodeType": "YulIdentifier",
                        "src": "8474:10:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "8463:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "8463:6:136"
                    },
                    "nativeSrc": "8463:22:136",
                    "nodeType": "YulFunctionCall",
                    "src": "8463:22:136"
                  },
                  "nativeSrc": "8463:22:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "8463:22:136"
                }
              ]
            },
            "name": "finalize_allocation_6265",
            "nativeSrc": "8266:225:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "memPtr",
                "nativeSrc": "8300:6:136",
                "nodeType": "YulTypedName",
                "src": "8300:6:136",
                "type": ""
              }
            ],
            "src": "8266:225:136"
          },
          {
            "body": {
              "nativeSrc": "8542:177:136",
              "nodeType": "YulBlock",
              "src": "8542:177:136",
              "statements": [
                {
                  "nativeSrc": "8552:33:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "8552:33:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "memPtr",
                        "nativeSrc": "8574:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "8574:6:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "8582:2:136",
                        "nodeType": "YulLiteral",
                        "src": "8582:2:136",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "8570:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "8570:3:136"
                    },
                    "nativeSrc": "8570:15:136",
                    "nodeType": "YulFunctionCall",
                    "src": "8570:15:136"
                  },
                  "variables": [
                    {
                      "name": "newFreePtr",
                      "nativeSrc": "8556:10:136",
                      "nodeType": "YulTypedName",
                      "src": "8556:10:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "8660:22:136",
                    "nodeType": "YulBlock",
                    "src": "8660:22:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x41",
                            "nativeSrc": "8662:16:136",
                            "nodeType": "YulIdentifier",
                            "src": "8662:16:136"
                          },
                          "nativeSrc": "8662:18:136",
                          "nodeType": "YulFunctionCall",
                          "src": "8662:18:136"
                        },
                        "nativeSrc": "8662:18:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "8662:18:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "newFreePtr",
                            "nativeSrc": "8603:10:136",
                            "nodeType": "YulIdentifier",
                            "src": "8603:10:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "8615:18:136",
                            "nodeType": "YulLiteral",
                            "src": "8615:18:136",
                            "type": "",
                            "value": "0xffffffffffffffff"
                          }
                        ],
                        "functionName": {
                          "name": "gt",
                          "nativeSrc": "8600:2:136",
                          "nodeType": "YulIdentifier",
                          "src": "8600:2:136"
                        },
                        "nativeSrc": "8600:34:136",
                        "nodeType": "YulFunctionCall",
                        "src": "8600:34:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "newFreePtr",
                            "nativeSrc": "8639:10:136",
                            "nodeType": "YulIdentifier",
                            "src": "8639:10:136"
                          },
                          {
                            "name": "memPtr",
                            "nativeSrc": "8651:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "8651:6:136"
                          }
                        ],
                        "functionName": {
                          "name": "lt",
                          "nativeSrc": "8636:2:136",
                          "nodeType": "YulIdentifier",
                          "src": "8636:2:136"
                        },
                        "nativeSrc": "8636:22:136",
                        "nodeType": "YulFunctionCall",
                        "src": "8636:22:136"
                      }
                    ],
                    "functionName": {
                      "name": "or",
                      "nativeSrc": "8597:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "8597:2:136"
                    },
                    "nativeSrc": "8597:62:136",
                    "nodeType": "YulFunctionCall",
                    "src": "8597:62:136"
                  },
                  "nativeSrc": "8594:88:136",
                  "nodeType": "YulIf",
                  "src": "8594:88:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "8698:2:136",
                        "nodeType": "YulLiteral",
                        "src": "8698:2:136",
                        "type": "",
                        "value": "64"
                      },
                      {
                        "name": "newFreePtr",
                        "nativeSrc": "8702:10:136",
                        "nodeType": "YulIdentifier",
                        "src": "8702:10:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "8691:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "8691:6:136"
                    },
                    "nativeSrc": "8691:22:136",
                    "nodeType": "YulFunctionCall",
                    "src": "8691:22:136"
                  },
                  "nativeSrc": "8691:22:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "8691:22:136"
                }
              ]
            },
            "name": "finalize_allocation_6266",
            "nativeSrc": "8496:223:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "memPtr",
                "nativeSrc": "8530:6:136",
                "nodeType": "YulTypedName",
                "src": "8530:6:136",
                "type": ""
              }
            ],
            "src": "8496:223:136"
          },
          {
            "body": {
              "nativeSrc": "8771:202:136",
              "nodeType": "YulBlock",
              "src": "8771:202:136",
              "statements": [
                {
                  "nativeSrc": "8781:58:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "8781:58:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "memPtr",
                        "nativeSrc": "8803:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "8803:6:136"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "size",
                                "nativeSrc": "8819:4:136",
                                "nodeType": "YulIdentifier",
                                "src": "8819:4:136"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "8825:2:136",
                                "nodeType": "YulLiteral",
                                "src": "8825:2:136",
                                "type": "",
                                "value": "31"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "8815:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "8815:3:136"
                            },
                            "nativeSrc": "8815:13:136",
                            "nodeType": "YulFunctionCall",
                            "src": "8815:13:136"
                          },
                          {
                            "arguments": [
                              {
                                "kind": "number",
                                "nativeSrc": "8834:2:136",
                                "nodeType": "YulLiteral",
                                "src": "8834:2:136",
                                "type": "",
                                "value": "31"
                              }
                            ],
                            "functionName": {
                              "name": "not",
                              "nativeSrc": "8830:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "8830:3:136"
                            },
                            "nativeSrc": "8830:7:136",
                            "nodeType": "YulFunctionCall",
                            "src": "8830:7:136"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "8811:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "8811:3:136"
                        },
                        "nativeSrc": "8811:27:136",
                        "nodeType": "YulFunctionCall",
                        "src": "8811:27:136"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "8799:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "8799:3:136"
                    },
                    "nativeSrc": "8799:40:136",
                    "nodeType": "YulFunctionCall",
                    "src": "8799:40:136"
                  },
                  "variables": [
                    {
                      "name": "newFreePtr",
                      "nativeSrc": "8785:10:136",
                      "nodeType": "YulTypedName",
                      "src": "8785:10:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "8914:22:136",
                    "nodeType": "YulBlock",
                    "src": "8914:22:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x41",
                            "nativeSrc": "8916:16:136",
                            "nodeType": "YulIdentifier",
                            "src": "8916:16:136"
                          },
                          "nativeSrc": "8916:18:136",
                          "nodeType": "YulFunctionCall",
                          "src": "8916:18:136"
                        },
                        "nativeSrc": "8916:18:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "8916:18:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "newFreePtr",
                            "nativeSrc": "8857:10:136",
                            "nodeType": "YulIdentifier",
                            "src": "8857:10:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "8869:18:136",
                            "nodeType": "YulLiteral",
                            "src": "8869:18:136",
                            "type": "",
                            "value": "0xffffffffffffffff"
                          }
                        ],
                        "functionName": {
                          "name": "gt",
                          "nativeSrc": "8854:2:136",
                          "nodeType": "YulIdentifier",
                          "src": "8854:2:136"
                        },
                        "nativeSrc": "8854:34:136",
                        "nodeType": "YulFunctionCall",
                        "src": "8854:34:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "newFreePtr",
                            "nativeSrc": "8893:10:136",
                            "nodeType": "YulIdentifier",
                            "src": "8893:10:136"
                          },
                          {
                            "name": "memPtr",
                            "nativeSrc": "8905:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "8905:6:136"
                          }
                        ],
                        "functionName": {
                          "name": "lt",
                          "nativeSrc": "8890:2:136",
                          "nodeType": "YulIdentifier",
                          "src": "8890:2:136"
                        },
                        "nativeSrc": "8890:22:136",
                        "nodeType": "YulFunctionCall",
                        "src": "8890:22:136"
                      }
                    ],
                    "functionName": {
                      "name": "or",
                      "nativeSrc": "8851:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "8851:2:136"
                    },
                    "nativeSrc": "8851:62:136",
                    "nodeType": "YulFunctionCall",
                    "src": "8851:62:136"
                  },
                  "nativeSrc": "8848:88:136",
                  "nodeType": "YulIf",
                  "src": "8848:88:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "8952:2:136",
                        "nodeType": "YulLiteral",
                        "src": "8952:2:136",
                        "type": "",
                        "value": "64"
                      },
                      {
                        "name": "newFreePtr",
                        "nativeSrc": "8956:10:136",
                        "nodeType": "YulIdentifier",
                        "src": "8956:10:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "8945:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "8945:6:136"
                    },
                    "nativeSrc": "8945:22:136",
                    "nodeType": "YulFunctionCall",
                    "src": "8945:22:136"
                  },
                  "nativeSrc": "8945:22:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "8945:22:136"
                }
              ]
            },
            "name": "finalize_allocation",
            "nativeSrc": "8724:249:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "memPtr",
                "nativeSrc": "8753:6:136",
                "nodeType": "YulTypedName",
                "src": "8753:6:136",
                "type": ""
              },
              {
                "name": "size",
                "nativeSrc": "8761:4:136",
                "nodeType": "YulTypedName",
                "src": "8761:4:136",
                "type": ""
              }
            ],
            "src": "8724:249:136"
          },
          {
            "body": {
              "nativeSrc": "9035:129:136",
              "nodeType": "YulBlock",
              "src": "9035:129:136",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "9079:22:136",
                    "nodeType": "YulBlock",
                    "src": "9079:22:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x41",
                            "nativeSrc": "9081:16:136",
                            "nodeType": "YulIdentifier",
                            "src": "9081:16:136"
                          },
                          "nativeSrc": "9081:18:136",
                          "nodeType": "YulFunctionCall",
                          "src": "9081:18:136"
                        },
                        "nativeSrc": "9081:18:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "9081:18:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "length",
                        "nativeSrc": "9051:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "9051:6:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "9059:18:136",
                        "nodeType": "YulLiteral",
                        "src": "9059:18:136",
                        "type": "",
                        "value": "0xffffffffffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "9048:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "9048:2:136"
                    },
                    "nativeSrc": "9048:30:136",
                    "nodeType": "YulFunctionCall",
                    "src": "9048:30:136"
                  },
                  "nativeSrc": "9045:56:136",
                  "nodeType": "YulIf",
                  "src": "9045:56:136"
                },
                {
                  "nativeSrc": "9110:48:136",
                  "nodeType": "YulAssignment",
                  "src": "9110:48:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "length",
                                "nativeSrc": "9130:6:136",
                                "nodeType": "YulIdentifier",
                                "src": "9130:6:136"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "9138:2:136",
                                "nodeType": "YulLiteral",
                                "src": "9138:2:136",
                                "type": "",
                                "value": "31"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "9126:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "9126:3:136"
                            },
                            "nativeSrc": "9126:15:136",
                            "nodeType": "YulFunctionCall",
                            "src": "9126:15:136"
                          },
                          {
                            "arguments": [
                              {
                                "kind": "number",
                                "nativeSrc": "9147:2:136",
                                "nodeType": "YulLiteral",
                                "src": "9147:2:136",
                                "type": "",
                                "value": "31"
                              }
                            ],
                            "functionName": {
                              "name": "not",
                              "nativeSrc": "9143:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "9143:3:136"
                            },
                            "nativeSrc": "9143:7:136",
                            "nodeType": "YulFunctionCall",
                            "src": "9143:7:136"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "9122:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "9122:3:136"
                        },
                        "nativeSrc": "9122:29:136",
                        "nodeType": "YulFunctionCall",
                        "src": "9122:29:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "9153:4:136",
                        "nodeType": "YulLiteral",
                        "src": "9153:4:136",
                        "type": "",
                        "value": "0x20"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "9118:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "9118:3:136"
                    },
                    "nativeSrc": "9118:40:136",
                    "nodeType": "YulFunctionCall",
                    "src": "9118:40:136"
                  },
                  "variableNames": [
                    {
                      "name": "size",
                      "nativeSrc": "9110:4:136",
                      "nodeType": "YulIdentifier",
                      "src": "9110:4:136"
                    }
                  ]
                }
              ]
            },
            "name": "array_allocation_size_bytes",
            "nativeSrc": "8978:186:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "length",
                "nativeSrc": "9015:6:136",
                "nodeType": "YulTypedName",
                "src": "9015:6:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "size",
                "nativeSrc": "9026:4:136",
                "nodeType": "YulTypedName",
                "src": "9026:4:136",
                "type": ""
              }
            ],
            "src": "8978:186:136"
          },
          {
            "body": {
              "nativeSrc": "9243:345:136",
              "nodeType": "YulBlock",
              "src": "9243:345:136",
              "statements": [
                {
                  "nativeSrc": "9253:45:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "9253:45:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "length",
                        "nativeSrc": "9291:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "9291:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "array_allocation_size_bytes",
                      "nativeSrc": "9263:27:136",
                      "nodeType": "YulIdentifier",
                      "src": "9263:27:136"
                    },
                    "nativeSrc": "9263:35:136",
                    "nodeType": "YulFunctionCall",
                    "src": "9263:35:136"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "9257:2:136",
                      "nodeType": "YulTypedName",
                      "src": "9257:2:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "9307:23:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "9307:23:136",
                  "value": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "9327:2:136",
                        "nodeType": "YulLiteral",
                        "src": "9327:2:136",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "9321:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "9321:5:136"
                    },
                    "nativeSrc": "9321:9:136",
                    "nodeType": "YulFunctionCall",
                    "src": "9321:9:136"
                  },
                  "variables": [
                    {
                      "name": "memPtr",
                      "nativeSrc": "9311:6:136",
                      "nodeType": "YulTypedName",
                      "src": "9311:6:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "memPtr",
                        "nativeSrc": "9359:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "9359:6:136"
                      },
                      {
                        "name": "_1",
                        "nativeSrc": "9367:2:136",
                        "nodeType": "YulIdentifier",
                        "src": "9367:2:136"
                      }
                    ],
                    "functionName": {
                      "name": "finalize_allocation",
                      "nativeSrc": "9339:19:136",
                      "nodeType": "YulIdentifier",
                      "src": "9339:19:136"
                    },
                    "nativeSrc": "9339:31:136",
                    "nodeType": "YulFunctionCall",
                    "src": "9339:31:136"
                  },
                  "nativeSrc": "9339:31:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "9339:31:136"
                },
                {
                  "nativeSrc": "9379:15:136",
                  "nodeType": "YulAssignment",
                  "src": "9379:15:136",
                  "value": {
                    "name": "memPtr",
                    "nativeSrc": "9388:6:136",
                    "nodeType": "YulIdentifier",
                    "src": "9388:6:136"
                  },
                  "variableNames": [
                    {
                      "name": "array",
                      "nativeSrc": "9379:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "9379:5:136"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "memPtr",
                        "nativeSrc": "9410:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "9410:6:136"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "9418:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "9418:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "9403:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "9403:6:136"
                    },
                    "nativeSrc": "9403:22:136",
                    "nodeType": "YulFunctionCall",
                    "src": "9403:22:136"
                  },
                  "nativeSrc": "9403:22:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "9403:22:136"
                },
                {
                  "body": {
                    "nativeSrc": "9463:16:136",
                    "nodeType": "YulBlock",
                    "src": "9463:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "9472:1:136",
                              "nodeType": "YulLiteral",
                              "src": "9472:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "9475:1:136",
                              "nodeType": "YulLiteral",
                              "src": "9475:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "9465:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "9465:6:136"
                          },
                          "nativeSrc": "9465:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "9465:12:136"
                        },
                        "nativeSrc": "9465:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "9465:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "src",
                            "nativeSrc": "9444:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "9444:3:136"
                          },
                          {
                            "name": "length",
                            "nativeSrc": "9449:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "9449:6:136"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "9440:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "9440:3:136"
                        },
                        "nativeSrc": "9440:16:136",
                        "nodeType": "YulFunctionCall",
                        "src": "9440:16:136"
                      },
                      {
                        "name": "end",
                        "nativeSrc": "9458:3:136",
                        "nodeType": "YulIdentifier",
                        "src": "9458:3:136"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "9437:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "9437:2:136"
                    },
                    "nativeSrc": "9437:25:136",
                    "nodeType": "YulFunctionCall",
                    "src": "9437:25:136"
                  },
                  "nativeSrc": "9434:45:136",
                  "nodeType": "YulIf",
                  "src": "9434:45:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "memPtr",
                            "nativeSrc": "9505:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "9505:6:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "9513:4:136",
                            "nodeType": "YulLiteral",
                            "src": "9513:4:136",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "9501:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "9501:3:136"
                        },
                        "nativeSrc": "9501:17:136",
                        "nodeType": "YulFunctionCall",
                        "src": "9501:17:136"
                      },
                      {
                        "name": "src",
                        "nativeSrc": "9520:3:136",
                        "nodeType": "YulIdentifier",
                        "src": "9520:3:136"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "9525:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "9525:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "calldatacopy",
                      "nativeSrc": "9488:12:136",
                      "nodeType": "YulIdentifier",
                      "src": "9488:12:136"
                    },
                    "nativeSrc": "9488:44:136",
                    "nodeType": "YulFunctionCall",
                    "src": "9488:44:136"
                  },
                  "nativeSrc": "9488:44:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "9488:44:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "memPtr",
                                "nativeSrc": "9556:6:136",
                                "nodeType": "YulIdentifier",
                                "src": "9556:6:136"
                              },
                              {
                                "name": "length",
                                "nativeSrc": "9564:6:136",
                                "nodeType": "YulIdentifier",
                                "src": "9564:6:136"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "9552:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "9552:3:136"
                            },
                            "nativeSrc": "9552:19:136",
                            "nodeType": "YulFunctionCall",
                            "src": "9552:19:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "9573:4:136",
                            "nodeType": "YulLiteral",
                            "src": "9573:4:136",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "9548:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "9548:3:136"
                        },
                        "nativeSrc": "9548:30:136",
                        "nodeType": "YulFunctionCall",
                        "src": "9548:30:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "9580:1:136",
                        "nodeType": "YulLiteral",
                        "src": "9580:1:136",
                        "type": "",
                        "value": "0"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "9541:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "9541:6:136"
                    },
                    "nativeSrc": "9541:41:136",
                    "nodeType": "YulFunctionCall",
                    "src": "9541:41:136"
                  },
                  "nativeSrc": "9541:41:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "9541:41:136"
                }
              ]
            },
            "name": "abi_decode_available_length_bytes",
            "nativeSrc": "9169:419:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "src",
                "nativeSrc": "9212:3:136",
                "nodeType": "YulTypedName",
                "src": "9212:3:136",
                "type": ""
              },
              {
                "name": "length",
                "nativeSrc": "9217:6:136",
                "nodeType": "YulTypedName",
                "src": "9217:6:136",
                "type": ""
              },
              {
                "name": "end",
                "nativeSrc": "9225:3:136",
                "nodeType": "YulTypedName",
                "src": "9225:3:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "array",
                "nativeSrc": "9233:5:136",
                "nodeType": "YulTypedName",
                "src": "9233:5:136",
                "type": ""
              }
            ],
            "src": "9169:419:136"
          },
          {
            "body": {
              "nativeSrc": "9672:370:136",
              "nodeType": "YulBlock",
              "src": "9672:370:136",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "9718:16:136",
                    "nodeType": "YulBlock",
                    "src": "9718:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "9727:1:136",
                              "nodeType": "YulLiteral",
                              "src": "9727:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "9730:1:136",
                              "nodeType": "YulLiteral",
                              "src": "9730:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "9720:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "9720:6:136"
                          },
                          "nativeSrc": "9720:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "9720:12:136"
                        },
                        "nativeSrc": "9720:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "9720:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "9693:7:136",
                            "nodeType": "YulIdentifier",
                            "src": "9693:7:136"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "9702:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "9702:9:136"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "9689:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "9689:3:136"
                        },
                        "nativeSrc": "9689:23:136",
                        "nodeType": "YulFunctionCall",
                        "src": "9689:23:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "9714:2:136",
                        "nodeType": "YulLiteral",
                        "src": "9714:2:136",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "9685:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "9685:3:136"
                    },
                    "nativeSrc": "9685:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "9685:32:136"
                  },
                  "nativeSrc": "9682:52:136",
                  "nodeType": "YulIf",
                  "src": "9682:52:136"
                },
                {
                  "nativeSrc": "9743:37:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "9743:37:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "9770:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "9770:9:136"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "9757:12:136",
                      "nodeType": "YulIdentifier",
                      "src": "9757:12:136"
                    },
                    "nativeSrc": "9757:23:136",
                    "nodeType": "YulFunctionCall",
                    "src": "9757:23:136"
                  },
                  "variables": [
                    {
                      "name": "offset",
                      "nativeSrc": "9747:6:136",
                      "nodeType": "YulTypedName",
                      "src": "9747:6:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "9823:16:136",
                    "nodeType": "YulBlock",
                    "src": "9823:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "9832:1:136",
                              "nodeType": "YulLiteral",
                              "src": "9832:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "9835:1:136",
                              "nodeType": "YulLiteral",
                              "src": "9835:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "9825:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "9825:6:136"
                          },
                          "nativeSrc": "9825:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "9825:12:136"
                        },
                        "nativeSrc": "9825:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "9825:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "9795:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "9795:6:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "9803:18:136",
                        "nodeType": "YulLiteral",
                        "src": "9803:18:136",
                        "type": "",
                        "value": "0xffffffffffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "9792:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "9792:2:136"
                    },
                    "nativeSrc": "9792:30:136",
                    "nodeType": "YulFunctionCall",
                    "src": "9792:30:136"
                  },
                  "nativeSrc": "9789:50:136",
                  "nodeType": "YulIf",
                  "src": "9789:50:136"
                },
                {
                  "nativeSrc": "9848:32:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "9848:32:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "9862:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "9862:9:136"
                      },
                      {
                        "name": "offset",
                        "nativeSrc": "9873:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "9873:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "9858:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "9858:3:136"
                    },
                    "nativeSrc": "9858:22:136",
                    "nodeType": "YulFunctionCall",
                    "src": "9858:22:136"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "9852:2:136",
                      "nodeType": "YulTypedName",
                      "src": "9852:2:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "9928:16:136",
                    "nodeType": "YulBlock",
                    "src": "9928:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "9937:1:136",
                              "nodeType": "YulLiteral",
                              "src": "9937:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "9940:1:136",
                              "nodeType": "YulLiteral",
                              "src": "9940:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "9930:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "9930:6:136"
                          },
                          "nativeSrc": "9930:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "9930:12:136"
                        },
                        "nativeSrc": "9930:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "9930:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "_1",
                                "nativeSrc": "9907:2:136",
                                "nodeType": "YulIdentifier",
                                "src": "9907:2:136"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "9911:4:136",
                                "nodeType": "YulLiteral",
                                "src": "9911:4:136",
                                "type": "",
                                "value": "0x1f"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "9903:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "9903:3:136"
                            },
                            "nativeSrc": "9903:13:136",
                            "nodeType": "YulFunctionCall",
                            "src": "9903:13:136"
                          },
                          {
                            "name": "dataEnd",
                            "nativeSrc": "9918:7:136",
                            "nodeType": "YulIdentifier",
                            "src": "9918:7:136"
                          }
                        ],
                        "functionName": {
                          "name": "slt",
                          "nativeSrc": "9899:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "9899:3:136"
                        },
                        "nativeSrc": "9899:27:136",
                        "nodeType": "YulFunctionCall",
                        "src": "9899:27:136"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "9892:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "9892:6:136"
                    },
                    "nativeSrc": "9892:35:136",
                    "nodeType": "YulFunctionCall",
                    "src": "9892:35:136"
                  },
                  "nativeSrc": "9889:55:136",
                  "nodeType": "YulIf",
                  "src": "9889:55:136"
                },
                {
                  "nativeSrc": "9953:83:136",
                  "nodeType": "YulAssignment",
                  "src": "9953:83:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "_1",
                            "nativeSrc": "10001:2:136",
                            "nodeType": "YulIdentifier",
                            "src": "10001:2:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "10005:2:136",
                            "nodeType": "YulLiteral",
                            "src": "10005:2:136",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "9997:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "9997:3:136"
                        },
                        "nativeSrc": "9997:11:136",
                        "nodeType": "YulFunctionCall",
                        "src": "9997:11:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "_1",
                            "nativeSrc": "10023:2:136",
                            "nodeType": "YulIdentifier",
                            "src": "10023:2:136"
                          }
                        ],
                        "functionName": {
                          "name": "calldataload",
                          "nativeSrc": "10010:12:136",
                          "nodeType": "YulIdentifier",
                          "src": "10010:12:136"
                        },
                        "nativeSrc": "10010:16:136",
                        "nodeType": "YulFunctionCall",
                        "src": "10010:16:136"
                      },
                      {
                        "name": "dataEnd",
                        "nativeSrc": "10028:7:136",
                        "nodeType": "YulIdentifier",
                        "src": "10028:7:136"
                      }
                    ],
                    "functionName": {
                      "name": "abi_decode_available_length_bytes",
                      "nativeSrc": "9963:33:136",
                      "nodeType": "YulIdentifier",
                      "src": "9963:33:136"
                    },
                    "nativeSrc": "9963:73:136",
                    "nodeType": "YulFunctionCall",
                    "src": "9963:73:136"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "9953:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "9953:6:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_bytes_memory_ptr",
            "nativeSrc": "9593:449:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "9638:9:136",
                "nodeType": "YulTypedName",
                "src": "9638:9:136",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "9649:7:136",
                "nodeType": "YulTypedName",
                "src": "9649:7:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "9661:6:136",
                "nodeType": "YulTypedName",
                "src": "9661:6:136",
                "type": ""
              }
            ],
            "src": "9593:449:136"
          },
          {
            "body": {
              "nativeSrc": "10089:76:136",
              "nodeType": "YulBlock",
              "src": "10089:76:136",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "10143:16:136",
                    "nodeType": "YulBlock",
                    "src": "10143:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "10152:1:136",
                              "nodeType": "YulLiteral",
                              "src": "10152:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "10155:1:136",
                              "nodeType": "YulLiteral",
                              "src": "10155:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "10145:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "10145:6:136"
                          },
                          "nativeSrc": "10145:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "10145:12:136"
                        },
                        "nativeSrc": "10145:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "10145:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "10112:5:136",
                            "nodeType": "YulIdentifier",
                            "src": "10112:5:136"
                          },
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "name": "value",
                                    "nativeSrc": "10133:5:136",
                                    "nodeType": "YulIdentifier",
                                    "src": "10133:5:136"
                                  }
                                ],
                                "functionName": {
                                  "name": "iszero",
                                  "nativeSrc": "10126:6:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "10126:6:136"
                                },
                                "nativeSrc": "10126:13:136",
                                "nodeType": "YulFunctionCall",
                                "src": "10126:13:136"
                              }
                            ],
                            "functionName": {
                              "name": "iszero",
                              "nativeSrc": "10119:6:136",
                              "nodeType": "YulIdentifier",
                              "src": "10119:6:136"
                            },
                            "nativeSrc": "10119:21:136",
                            "nodeType": "YulFunctionCall",
                            "src": "10119:21:136"
                          }
                        ],
                        "functionName": {
                          "name": "eq",
                          "nativeSrc": "10109:2:136",
                          "nodeType": "YulIdentifier",
                          "src": "10109:2:136"
                        },
                        "nativeSrc": "10109:32:136",
                        "nodeType": "YulFunctionCall",
                        "src": "10109:32:136"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "10102:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "10102:6:136"
                    },
                    "nativeSrc": "10102:40:136",
                    "nodeType": "YulFunctionCall",
                    "src": "10102:40:136"
                  },
                  "nativeSrc": "10099:60:136",
                  "nodeType": "YulIf",
                  "src": "10099:60:136"
                }
              ]
            },
            "name": "validator_revert_bool",
            "nativeSrc": "10047:118:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "value",
                "nativeSrc": "10078:5:136",
                "nodeType": "YulTypedName",
                "src": "10078:5:136",
                "type": ""
              }
            ],
            "src": "10047:118:136"
          },
          {
            "body": {
              "nativeSrc": "10274:435:136",
              "nodeType": "YulBlock",
              "src": "10274:435:136",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "10320:16:136",
                    "nodeType": "YulBlock",
                    "src": "10320:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "10329:1:136",
                              "nodeType": "YulLiteral",
                              "src": "10329:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "10332:1:136",
                              "nodeType": "YulLiteral",
                              "src": "10332:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "10322:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "10322:6:136"
                          },
                          "nativeSrc": "10322:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "10322:12:136"
                        },
                        "nativeSrc": "10322:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "10322:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "10295:7:136",
                            "nodeType": "YulIdentifier",
                            "src": "10295:7:136"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "10304:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "10304:9:136"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "10291:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "10291:3:136"
                        },
                        "nativeSrc": "10291:23:136",
                        "nodeType": "YulFunctionCall",
                        "src": "10291:23:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "10316:2:136",
                        "nodeType": "YulLiteral",
                        "src": "10316:2:136",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "10287:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "10287:3:136"
                    },
                    "nativeSrc": "10287:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "10287:32:136"
                  },
                  "nativeSrc": "10284:52:136",
                  "nodeType": "YulIf",
                  "src": "10284:52:136"
                },
                {
                  "nativeSrc": "10345:37:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "10345:37:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "10372:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "10372:9:136"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "10359:12:136",
                      "nodeType": "YulIdentifier",
                      "src": "10359:12:136"
                    },
                    "nativeSrc": "10359:23:136",
                    "nodeType": "YulFunctionCall",
                    "src": "10359:23:136"
                  },
                  "variables": [
                    {
                      "name": "offset",
                      "nativeSrc": "10349:6:136",
                      "nodeType": "YulTypedName",
                      "src": "10349:6:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "10425:16:136",
                    "nodeType": "YulBlock",
                    "src": "10425:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "10434:1:136",
                              "nodeType": "YulLiteral",
                              "src": "10434:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "10437:1:136",
                              "nodeType": "YulLiteral",
                              "src": "10437:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "10427:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "10427:6:136"
                          },
                          "nativeSrc": "10427:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "10427:12:136"
                        },
                        "nativeSrc": "10427:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "10427:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "10397:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "10397:6:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "10405:18:136",
                        "nodeType": "YulLiteral",
                        "src": "10405:18:136",
                        "type": "",
                        "value": "0xffffffffffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "10394:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "10394:2:136"
                    },
                    "nativeSrc": "10394:30:136",
                    "nodeType": "YulFunctionCall",
                    "src": "10394:30:136"
                  },
                  "nativeSrc": "10391:50:136",
                  "nodeType": "YulIf",
                  "src": "10391:50:136"
                },
                {
                  "nativeSrc": "10450:84:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "10450:84:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "10506:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "10506:9:136"
                          },
                          {
                            "name": "offset",
                            "nativeSrc": "10517:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "10517:6:136"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "10502:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "10502:3:136"
                        },
                        "nativeSrc": "10502:22:136",
                        "nodeType": "YulFunctionCall",
                        "src": "10502:22:136"
                      },
                      {
                        "name": "dataEnd",
                        "nativeSrc": "10526:7:136",
                        "nodeType": "YulIdentifier",
                        "src": "10526:7:136"
                      }
                    ],
                    "functionName": {
                      "name": "abi_decode_bytes_calldata",
                      "nativeSrc": "10476:25:136",
                      "nodeType": "YulIdentifier",
                      "src": "10476:25:136"
                    },
                    "nativeSrc": "10476:58:136",
                    "nodeType": "YulFunctionCall",
                    "src": "10476:58:136"
                  },
                  "variables": [
                    {
                      "name": "value0_1",
                      "nativeSrc": "10454:8:136",
                      "nodeType": "YulTypedName",
                      "src": "10454:8:136",
                      "type": ""
                    },
                    {
                      "name": "value1_1",
                      "nativeSrc": "10464:8:136",
                      "nodeType": "YulTypedName",
                      "src": "10464:8:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "10543:18:136",
                  "nodeType": "YulAssignment",
                  "src": "10543:18:136",
                  "value": {
                    "name": "value0_1",
                    "nativeSrc": "10553:8:136",
                    "nodeType": "YulIdentifier",
                    "src": "10553:8:136"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "10543:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "10543:6:136"
                    }
                  ]
                },
                {
                  "nativeSrc": "10570:18:136",
                  "nodeType": "YulAssignment",
                  "src": "10570:18:136",
                  "value": {
                    "name": "value1_1",
                    "nativeSrc": "10580:8:136",
                    "nodeType": "YulIdentifier",
                    "src": "10580:8:136"
                  },
                  "variableNames": [
                    {
                      "name": "value1",
                      "nativeSrc": "10570:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "10570:6:136"
                    }
                  ]
                },
                {
                  "nativeSrc": "10597:45:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "10597:45:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "10627:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "10627:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "10638:2:136",
                            "nodeType": "YulLiteral",
                            "src": "10638:2:136",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "10623:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "10623:3:136"
                        },
                        "nativeSrc": "10623:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "10623:18:136"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "10610:12:136",
                      "nodeType": "YulIdentifier",
                      "src": "10610:12:136"
                    },
                    "nativeSrc": "10610:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "10610:32:136"
                  },
                  "variables": [
                    {
                      "name": "value",
                      "nativeSrc": "10601:5:136",
                      "nodeType": "YulTypedName",
                      "src": "10601:5:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "10673:5:136",
                        "nodeType": "YulIdentifier",
                        "src": "10673:5:136"
                      }
                    ],
                    "functionName": {
                      "name": "validator_revert_bool",
                      "nativeSrc": "10651:21:136",
                      "nodeType": "YulIdentifier",
                      "src": "10651:21:136"
                    },
                    "nativeSrc": "10651:28:136",
                    "nodeType": "YulFunctionCall",
                    "src": "10651:28:136"
                  },
                  "nativeSrc": "10651:28:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "10651:28:136"
                },
                {
                  "nativeSrc": "10688:15:136",
                  "nodeType": "YulAssignment",
                  "src": "10688:15:136",
                  "value": {
                    "name": "value",
                    "nativeSrc": "10698:5:136",
                    "nodeType": "YulIdentifier",
                    "src": "10698:5:136"
                  },
                  "variableNames": [
                    {
                      "name": "value2",
                      "nativeSrc": "10688:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "10688:6:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_string_calldata_ptrt_bool",
            "nativeSrc": "10170:539:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "10224:9:136",
                "nodeType": "YulTypedName",
                "src": "10224:9:136",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "10235:7:136",
                "nodeType": "YulTypedName",
                "src": "10235:7:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "10247:6:136",
                "nodeType": "YulTypedName",
                "src": "10247:6:136",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "10255:6:136",
                "nodeType": "YulTypedName",
                "src": "10255:6:136",
                "type": ""
              },
              {
                "name": "value2",
                "nativeSrc": "10263:6:136",
                "nodeType": "YulTypedName",
                "src": "10263:6:136",
                "type": ""
              }
            ],
            "src": "10170:539:136"
          },
          {
            "body": {
              "nativeSrc": "10813:103:136",
              "nodeType": "YulBlock",
              "src": "10813:103:136",
              "statements": [
                {
                  "nativeSrc": "10823:26:136",
                  "nodeType": "YulAssignment",
                  "src": "10823:26:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "10835:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "10835:9:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "10846:2:136",
                        "nodeType": "YulLiteral",
                        "src": "10846:2:136",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "10831:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "10831:3:136"
                    },
                    "nativeSrc": "10831:18:136",
                    "nodeType": "YulFunctionCall",
                    "src": "10831:18:136"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "10823:4:136",
                      "nodeType": "YulIdentifier",
                      "src": "10823:4:136"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "10865:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "10865:9:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value0",
                            "nativeSrc": "10880:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "10880:6:136"
                          },
                          {
                            "arguments": [
                              {
                                "kind": "number",
                                "nativeSrc": "10892:3:136",
                                "nodeType": "YulLiteral",
                                "src": "10892:3:136",
                                "type": "",
                                "value": "224"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "10897:10:136",
                                "nodeType": "YulLiteral",
                                "src": "10897:10:136",
                                "type": "",
                                "value": "0xffffffff"
                              }
                            ],
                            "functionName": {
                              "name": "shl",
                              "nativeSrc": "10888:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "10888:3:136"
                            },
                            "nativeSrc": "10888:20:136",
                            "nodeType": "YulFunctionCall",
                            "src": "10888:20:136"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "10876:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "10876:3:136"
                        },
                        "nativeSrc": "10876:33:136",
                        "nodeType": "YulFunctionCall",
                        "src": "10876:33:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "10858:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "10858:6:136"
                    },
                    "nativeSrc": "10858:52:136",
                    "nodeType": "YulFunctionCall",
                    "src": "10858:52:136"
                  },
                  "nativeSrc": "10858:52:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "10858:52:136"
                }
              ]
            },
            "name": "abi_encode_tuple_t_bytes4__to_t_bytes4__fromStack_reversed",
            "nativeSrc": "10714:202:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "10782:9:136",
                "nodeType": "YulTypedName",
                "src": "10782:9:136",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "10793:6:136",
                "nodeType": "YulTypedName",
                "src": "10793:6:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "10804:4:136",
                "nodeType": "YulTypedName",
                "src": "10804:4:136",
                "type": ""
              }
            ],
            "src": "10714:202:136"
          },
          {
            "body": {
              "nativeSrc": "11022:76:136",
              "nodeType": "YulBlock",
              "src": "11022:76:136",
              "statements": [
                {
                  "nativeSrc": "11032:26:136",
                  "nodeType": "YulAssignment",
                  "src": "11032:26:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "11044:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "11044:9:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "11055:2:136",
                        "nodeType": "YulLiteral",
                        "src": "11055:2:136",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "11040:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "11040:3:136"
                    },
                    "nativeSrc": "11040:18:136",
                    "nodeType": "YulFunctionCall",
                    "src": "11040:18:136"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "11032:4:136",
                      "nodeType": "YulIdentifier",
                      "src": "11032:4:136"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "11074:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "11074:9:136"
                      },
                      {
                        "name": "value0",
                        "nativeSrc": "11085:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "11085:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "11067:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "11067:6:136"
                    },
                    "nativeSrc": "11067:25:136",
                    "nodeType": "YulFunctionCall",
                    "src": "11067:25:136"
                  },
                  "nativeSrc": "11067:25:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "11067:25:136"
                }
              ]
            },
            "name": "abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed",
            "nativeSrc": "10921:177:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "10991:9:136",
                "nodeType": "YulTypedName",
                "src": "10991:9:136",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "11002:6:136",
                "nodeType": "YulTypedName",
                "src": "11002:6:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "11013:4:136",
                "nodeType": "YulTypedName",
                "src": "11013:4:136",
                "type": ""
              }
            ],
            "src": "10921:177:136"
          },
          {
            "body": {
              "nativeSrc": "11224:110:136",
              "nodeType": "YulBlock",
              "src": "11224:110:136",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "11241:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "11241:9:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "11252:2:136",
                        "nodeType": "YulLiteral",
                        "src": "11252:2:136",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "11234:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "11234:6:136"
                    },
                    "nativeSrc": "11234:21:136",
                    "nodeType": "YulFunctionCall",
                    "src": "11234:21:136"
                  },
                  "nativeSrc": "11234:21:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "11234:21:136"
                },
                {
                  "nativeSrc": "11264:64:136",
                  "nodeType": "YulAssignment",
                  "src": "11264:64:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "value0",
                        "nativeSrc": "11301:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "11301:6:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "11313:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "11313:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "11324:2:136",
                            "nodeType": "YulLiteral",
                            "src": "11324:2:136",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "11309:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "11309:3:136"
                        },
                        "nativeSrc": "11309:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "11309:18:136"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_string_memory_ptr",
                      "nativeSrc": "11272:28:136",
                      "nodeType": "YulIdentifier",
                      "src": "11272:28:136"
                    },
                    "nativeSrc": "11272:56:136",
                    "nodeType": "YulFunctionCall",
                    "src": "11272:56:136"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "11264:4:136",
                      "nodeType": "YulIdentifier",
                      "src": "11264:4:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed",
            "nativeSrc": "11103:231:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "11193:9:136",
                "nodeType": "YulTypedName",
                "src": "11193:9:136",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "11204:6:136",
                "nodeType": "YulTypedName",
                "src": "11204:6:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "11215:4:136",
                "nodeType": "YulTypedName",
                "src": "11215:4:136",
                "type": ""
              }
            ],
            "src": "11103:231:136"
          },
          {
            "body": {
              "nativeSrc": "11381:75:136",
              "nodeType": "YulBlock",
              "src": "11381:75:136",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "11434:16:136",
                    "nodeType": "YulBlock",
                    "src": "11434:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "11443:1:136",
                              "nodeType": "YulLiteral",
                              "src": "11443:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "11446:1:136",
                              "nodeType": "YulLiteral",
                              "src": "11446:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "11436:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "11436:6:136"
                          },
                          "nativeSrc": "11436:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "11436:12:136"
                        },
                        "nativeSrc": "11436:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "11436:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "11404:5:136",
                            "nodeType": "YulIdentifier",
                            "src": "11404:5:136"
                          },
                          {
                            "arguments": [
                              {
                                "kind": "number",
                                "nativeSrc": "11422:1:136",
                                "nodeType": "YulLiteral",
                                "src": "11422:1:136",
                                "type": "",
                                "value": "0"
                              },
                              {
                                "name": "value",
                                "nativeSrc": "11425:5:136",
                                "nodeType": "YulIdentifier",
                                "src": "11425:5:136"
                              }
                            ],
                            "functionName": {
                              "name": "signextend",
                              "nativeSrc": "11411:10:136",
                              "nodeType": "YulIdentifier",
                              "src": "11411:10:136"
                            },
                            "nativeSrc": "11411:20:136",
                            "nodeType": "YulFunctionCall",
                            "src": "11411:20:136"
                          }
                        ],
                        "functionName": {
                          "name": "eq",
                          "nativeSrc": "11401:2:136",
                          "nodeType": "YulIdentifier",
                          "src": "11401:2:136"
                        },
                        "nativeSrc": "11401:31:136",
                        "nodeType": "YulFunctionCall",
                        "src": "11401:31:136"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "11394:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "11394:6:136"
                    },
                    "nativeSrc": "11394:39:136",
                    "nodeType": "YulFunctionCall",
                    "src": "11394:39:136"
                  },
                  "nativeSrc": "11391:59:136",
                  "nodeType": "YulIf",
                  "src": "11391:59:136"
                }
              ]
            },
            "name": "validator_revert_int8",
            "nativeSrc": "11339:117:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "value",
                "nativeSrc": "11370:5:136",
                "nodeType": "YulTypedName",
                "src": "11370:5:136",
                "type": ""
              }
            ],
            "src": "11339:117:136"
          },
          {
            "body": {
              "nativeSrc": "11659:1021:136",
              "nodeType": "YulBlock",
              "src": "11659:1021:136",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "11706:16:136",
                    "nodeType": "YulBlock",
                    "src": "11706:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "11715:1:136",
                              "nodeType": "YulLiteral",
                              "src": "11715:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "11718:1:136",
                              "nodeType": "YulLiteral",
                              "src": "11718:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "11708:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "11708:6:136"
                          },
                          "nativeSrc": "11708:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "11708:12:136"
                        },
                        "nativeSrc": "11708:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "11708:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "11680:7:136",
                            "nodeType": "YulIdentifier",
                            "src": "11680:7:136"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "11689:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "11689:9:136"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "11676:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "11676:3:136"
                        },
                        "nativeSrc": "11676:23:136",
                        "nodeType": "YulFunctionCall",
                        "src": "11676:23:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "11701:3:136",
                        "nodeType": "YulLiteral",
                        "src": "11701:3:136",
                        "type": "",
                        "value": "128"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "11672:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "11672:3:136"
                    },
                    "nativeSrc": "11672:33:136",
                    "nodeType": "YulFunctionCall",
                    "src": "11672:33:136"
                  },
                  "nativeSrc": "11669:53:136",
                  "nodeType": "YulIf",
                  "src": "11669:53:136"
                },
                {
                  "nativeSrc": "11731:37:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "11731:37:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "11758:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "11758:9:136"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "11745:12:136",
                      "nodeType": "YulIdentifier",
                      "src": "11745:12:136"
                    },
                    "nativeSrc": "11745:23:136",
                    "nodeType": "YulFunctionCall",
                    "src": "11745:23:136"
                  },
                  "variables": [
                    {
                      "name": "offset",
                      "nativeSrc": "11735:6:136",
                      "nodeType": "YulTypedName",
                      "src": "11735:6:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "11811:16:136",
                    "nodeType": "YulBlock",
                    "src": "11811:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "11820:1:136",
                              "nodeType": "YulLiteral",
                              "src": "11820:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "11823:1:136",
                              "nodeType": "YulLiteral",
                              "src": "11823:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "11813:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "11813:6:136"
                          },
                          "nativeSrc": "11813:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "11813:12:136"
                        },
                        "nativeSrc": "11813:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "11813:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "11783:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "11783:6:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "11791:18:136",
                        "nodeType": "YulLiteral",
                        "src": "11791:18:136",
                        "type": "",
                        "value": "0xffffffffffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "11780:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "11780:2:136"
                    },
                    "nativeSrc": "11780:30:136",
                    "nodeType": "YulFunctionCall",
                    "src": "11780:30:136"
                  },
                  "nativeSrc": "11777:50:136",
                  "nodeType": "YulIf",
                  "src": "11777:50:136"
                },
                {
                  "nativeSrc": "11836:84:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "11836:84:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "11892:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "11892:9:136"
                          },
                          {
                            "name": "offset",
                            "nativeSrc": "11903:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "11903:6:136"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "11888:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "11888:3:136"
                        },
                        "nativeSrc": "11888:22:136",
                        "nodeType": "YulFunctionCall",
                        "src": "11888:22:136"
                      },
                      {
                        "name": "dataEnd",
                        "nativeSrc": "11912:7:136",
                        "nodeType": "YulIdentifier",
                        "src": "11912:7:136"
                      }
                    ],
                    "functionName": {
                      "name": "abi_decode_bytes_calldata",
                      "nativeSrc": "11862:25:136",
                      "nodeType": "YulIdentifier",
                      "src": "11862:25:136"
                    },
                    "nativeSrc": "11862:58:136",
                    "nodeType": "YulFunctionCall",
                    "src": "11862:58:136"
                  },
                  "variables": [
                    {
                      "name": "value0_1",
                      "nativeSrc": "11840:8:136",
                      "nodeType": "YulTypedName",
                      "src": "11840:8:136",
                      "type": ""
                    },
                    {
                      "name": "value1_1",
                      "nativeSrc": "11850:8:136",
                      "nodeType": "YulTypedName",
                      "src": "11850:8:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "11929:18:136",
                  "nodeType": "YulAssignment",
                  "src": "11929:18:136",
                  "value": {
                    "name": "value0_1",
                    "nativeSrc": "11939:8:136",
                    "nodeType": "YulIdentifier",
                    "src": "11939:8:136"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "11929:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "11929:6:136"
                    }
                  ]
                },
                {
                  "nativeSrc": "11956:18:136",
                  "nodeType": "YulAssignment",
                  "src": "11956:18:136",
                  "value": {
                    "name": "value1_1",
                    "nativeSrc": "11966:8:136",
                    "nodeType": "YulIdentifier",
                    "src": "11966:8:136"
                  },
                  "variableNames": [
                    {
                      "name": "value1",
                      "nativeSrc": "11956:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "11956:6:136"
                    }
                  ]
                },
                {
                  "nativeSrc": "11983:45:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "11983:45:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "12013:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "12013:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "12024:2:136",
                            "nodeType": "YulLiteral",
                            "src": "12024:2:136",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "12009:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "12009:3:136"
                        },
                        "nativeSrc": "12009:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "12009:18:136"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "11996:12:136",
                      "nodeType": "YulIdentifier",
                      "src": "11996:12:136"
                    },
                    "nativeSrc": "11996:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "11996:32:136"
                  },
                  "variables": [
                    {
                      "name": "value",
                      "nativeSrc": "11987:5:136",
                      "nodeType": "YulTypedName",
                      "src": "11987:5:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "12059:5:136",
                        "nodeType": "YulIdentifier",
                        "src": "12059:5:136"
                      }
                    ],
                    "functionName": {
                      "name": "validator_revert_int8",
                      "nativeSrc": "12037:21:136",
                      "nodeType": "YulIdentifier",
                      "src": "12037:21:136"
                    },
                    "nativeSrc": "12037:28:136",
                    "nodeType": "YulFunctionCall",
                    "src": "12037:28:136"
                  },
                  "nativeSrc": "12037:28:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "12037:28:136"
                },
                {
                  "nativeSrc": "12074:15:136",
                  "nodeType": "YulAssignment",
                  "src": "12074:15:136",
                  "value": {
                    "name": "value",
                    "nativeSrc": "12084:5:136",
                    "nodeType": "YulIdentifier",
                    "src": "12084:5:136"
                  },
                  "variableNames": [
                    {
                      "name": "value2",
                      "nativeSrc": "12074:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "12074:6:136"
                    }
                  ]
                },
                {
                  "nativeSrc": "12098:47:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "12098:47:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "12130:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "12130:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "12141:2:136",
                            "nodeType": "YulLiteral",
                            "src": "12141:2:136",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "12126:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "12126:3:136"
                        },
                        "nativeSrc": "12126:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "12126:18:136"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "12113:12:136",
                      "nodeType": "YulIdentifier",
                      "src": "12113:12:136"
                    },
                    "nativeSrc": "12113:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "12113:32:136"
                  },
                  "variables": [
                    {
                      "name": "value_1",
                      "nativeSrc": "12102:7:136",
                      "nodeType": "YulTypedName",
                      "src": "12102:7:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "12180:16:136",
                    "nodeType": "YulBlock",
                    "src": "12180:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "12189:1:136",
                              "nodeType": "YulLiteral",
                              "src": "12189:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "12192:1:136",
                              "nodeType": "YulLiteral",
                              "src": "12192:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "12182:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "12182:6:136"
                          },
                          "nativeSrc": "12182:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "12182:12:136"
                        },
                        "nativeSrc": "12182:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "12182:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value_1",
                            "nativeSrc": "12167:7:136",
                            "nodeType": "YulIdentifier",
                            "src": "12167:7:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "12176:1:136",
                            "nodeType": "YulLiteral",
                            "src": "12176:1:136",
                            "type": "",
                            "value": "5"
                          }
                        ],
                        "functionName": {
                          "name": "lt",
                          "nativeSrc": "12164:2:136",
                          "nodeType": "YulIdentifier",
                          "src": "12164:2:136"
                        },
                        "nativeSrc": "12164:14:136",
                        "nodeType": "YulFunctionCall",
                        "src": "12164:14:136"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "12157:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "12157:6:136"
                    },
                    "nativeSrc": "12157:22:136",
                    "nodeType": "YulFunctionCall",
                    "src": "12157:22:136"
                  },
                  "nativeSrc": "12154:42:136",
                  "nodeType": "YulIf",
                  "src": "12154:42:136"
                },
                {
                  "nativeSrc": "12205:17:136",
                  "nodeType": "YulAssignment",
                  "src": "12205:17:136",
                  "value": {
                    "name": "value_1",
                    "nativeSrc": "12215:7:136",
                    "nodeType": "YulIdentifier",
                    "src": "12215:7:136"
                  },
                  "variableNames": [
                    {
                      "name": "value3",
                      "nativeSrc": "12205:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "12205:6:136"
                    }
                  ]
                },
                {
                  "nativeSrc": "12231:48:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "12231:48:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "12264:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "12264:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "12275:2:136",
                            "nodeType": "YulLiteral",
                            "src": "12275:2:136",
                            "type": "",
                            "value": "96"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "12260:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "12260:3:136"
                        },
                        "nativeSrc": "12260:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "12260:18:136"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "12247:12:136",
                      "nodeType": "YulIdentifier",
                      "src": "12247:12:136"
                    },
                    "nativeSrc": "12247:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "12247:32:136"
                  },
                  "variables": [
                    {
                      "name": "offset_1",
                      "nativeSrc": "12235:8:136",
                      "nodeType": "YulTypedName",
                      "src": "12235:8:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "12324:16:136",
                    "nodeType": "YulBlock",
                    "src": "12324:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "12333:1:136",
                              "nodeType": "YulLiteral",
                              "src": "12333:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "12336:1:136",
                              "nodeType": "YulLiteral",
                              "src": "12336:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "12326:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "12326:6:136"
                          },
                          "nativeSrc": "12326:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "12326:12:136"
                        },
                        "nativeSrc": "12326:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "12326:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "offset_1",
                        "nativeSrc": "12294:8:136",
                        "nodeType": "YulIdentifier",
                        "src": "12294:8:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "12304:18:136",
                        "nodeType": "YulLiteral",
                        "src": "12304:18:136",
                        "type": "",
                        "value": "0xffffffffffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "12291:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "12291:2:136"
                    },
                    "nativeSrc": "12291:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "12291:32:136"
                  },
                  "nativeSrc": "12288:52:136",
                  "nodeType": "YulIf",
                  "src": "12288:52:136"
                },
                {
                  "nativeSrc": "12349:34:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "12349:34:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "12363:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "12363:9:136"
                      },
                      {
                        "name": "offset_1",
                        "nativeSrc": "12374:8:136",
                        "nodeType": "YulIdentifier",
                        "src": "12374:8:136"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "12359:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "12359:3:136"
                    },
                    "nativeSrc": "12359:24:136",
                    "nodeType": "YulFunctionCall",
                    "src": "12359:24:136"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "12353:2:136",
                      "nodeType": "YulTypedName",
                      "src": "12353:2:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "12431:16:136",
                    "nodeType": "YulBlock",
                    "src": "12431:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "12440:1:136",
                              "nodeType": "YulLiteral",
                              "src": "12440:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "12443:1:136",
                              "nodeType": "YulLiteral",
                              "src": "12443:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "12433:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "12433:6:136"
                          },
                          "nativeSrc": "12433:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "12433:12:136"
                        },
                        "nativeSrc": "12433:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "12433:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "_1",
                                "nativeSrc": "12410:2:136",
                                "nodeType": "YulIdentifier",
                                "src": "12410:2:136"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "12414:4:136",
                                "nodeType": "YulLiteral",
                                "src": "12414:4:136",
                                "type": "",
                                "value": "0x1f"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "12406:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "12406:3:136"
                            },
                            "nativeSrc": "12406:13:136",
                            "nodeType": "YulFunctionCall",
                            "src": "12406:13:136"
                          },
                          {
                            "name": "dataEnd",
                            "nativeSrc": "12421:7:136",
                            "nodeType": "YulIdentifier",
                            "src": "12421:7:136"
                          }
                        ],
                        "functionName": {
                          "name": "slt",
                          "nativeSrc": "12402:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "12402:3:136"
                        },
                        "nativeSrc": "12402:27:136",
                        "nodeType": "YulFunctionCall",
                        "src": "12402:27:136"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "12395:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "12395:6:136"
                    },
                    "nativeSrc": "12395:35:136",
                    "nodeType": "YulFunctionCall",
                    "src": "12395:35:136"
                  },
                  "nativeSrc": "12392:55:136",
                  "nodeType": "YulIf",
                  "src": "12392:55:136"
                },
                {
                  "nativeSrc": "12456:30:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "12456:30:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "_1",
                        "nativeSrc": "12483:2:136",
                        "nodeType": "YulIdentifier",
                        "src": "12483:2:136"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "12470:12:136",
                      "nodeType": "YulIdentifier",
                      "src": "12470:12:136"
                    },
                    "nativeSrc": "12470:16:136",
                    "nodeType": "YulFunctionCall",
                    "src": "12470:16:136"
                  },
                  "variables": [
                    {
                      "name": "length",
                      "nativeSrc": "12460:6:136",
                      "nodeType": "YulTypedName",
                      "src": "12460:6:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "12529:16:136",
                    "nodeType": "YulBlock",
                    "src": "12529:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "12538:1:136",
                              "nodeType": "YulLiteral",
                              "src": "12538:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "12541:1:136",
                              "nodeType": "YulLiteral",
                              "src": "12541:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "12531:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "12531:6:136"
                          },
                          "nativeSrc": "12531:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "12531:12:136"
                        },
                        "nativeSrc": "12531:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "12531:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "length",
                        "nativeSrc": "12501:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "12501:6:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "12509:18:136",
                        "nodeType": "YulLiteral",
                        "src": "12509:18:136",
                        "type": "",
                        "value": "0xffffffffffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "12498:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "12498:2:136"
                    },
                    "nativeSrc": "12498:30:136",
                    "nodeType": "YulFunctionCall",
                    "src": "12498:30:136"
                  },
                  "nativeSrc": "12495:50:136",
                  "nodeType": "YulIf",
                  "src": "12495:50:136"
                },
                {
                  "body": {
                    "nativeSrc": "12603:16:136",
                    "nodeType": "YulBlock",
                    "src": "12603:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "12612:1:136",
                              "nodeType": "YulLiteral",
                              "src": "12612:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "12615:1:136",
                              "nodeType": "YulLiteral",
                              "src": "12615:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "12605:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "12605:6:136"
                          },
                          "nativeSrc": "12605:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "12605:12:136"
                        },
                        "nativeSrc": "12605:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "12605:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "_1",
                                "nativeSrc": "12568:2:136",
                                "nodeType": "YulIdentifier",
                                "src": "12568:2:136"
                              },
                              {
                                "arguments": [
                                  {
                                    "kind": "number",
                                    "nativeSrc": "12576:1:136",
                                    "nodeType": "YulLiteral",
                                    "src": "12576:1:136",
                                    "type": "",
                                    "value": "5"
                                  },
                                  {
                                    "name": "length",
                                    "nativeSrc": "12579:6:136",
                                    "nodeType": "YulIdentifier",
                                    "src": "12579:6:136"
                                  }
                                ],
                                "functionName": {
                                  "name": "shl",
                                  "nativeSrc": "12572:3:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "12572:3:136"
                                },
                                "nativeSrc": "12572:14:136",
                                "nodeType": "YulFunctionCall",
                                "src": "12572:14:136"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "12564:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "12564:3:136"
                            },
                            "nativeSrc": "12564:23:136",
                            "nodeType": "YulFunctionCall",
                            "src": "12564:23:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "12589:2:136",
                            "nodeType": "YulLiteral",
                            "src": "12589:2:136",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "12560:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "12560:3:136"
                        },
                        "nativeSrc": "12560:32:136",
                        "nodeType": "YulFunctionCall",
                        "src": "12560:32:136"
                      },
                      {
                        "name": "dataEnd",
                        "nativeSrc": "12594:7:136",
                        "nodeType": "YulIdentifier",
                        "src": "12594:7:136"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "12557:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "12557:2:136"
                    },
                    "nativeSrc": "12557:45:136",
                    "nodeType": "YulFunctionCall",
                    "src": "12557:45:136"
                  },
                  "nativeSrc": "12554:65:136",
                  "nodeType": "YulIf",
                  "src": "12554:65:136"
                },
                {
                  "nativeSrc": "12628:21:136",
                  "nodeType": "YulAssignment",
                  "src": "12628:21:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "_1",
                        "nativeSrc": "12642:2:136",
                        "nodeType": "YulIdentifier",
                        "src": "12642:2:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "12646:2:136",
                        "nodeType": "YulLiteral",
                        "src": "12646:2:136",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "12638:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "12638:3:136"
                    },
                    "nativeSrc": "12638:11:136",
                    "nodeType": "YulFunctionCall",
                    "src": "12638:11:136"
                  },
                  "variableNames": [
                    {
                      "name": "value4",
                      "nativeSrc": "12628:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "12628:6:136"
                    }
                  ]
                },
                {
                  "nativeSrc": "12658:16:136",
                  "nodeType": "YulAssignment",
                  "src": "12658:16:136",
                  "value": {
                    "name": "length",
                    "nativeSrc": "12668:6:136",
                    "nodeType": "YulIdentifier",
                    "src": "12668:6:136"
                  },
                  "variableNames": [
                    {
                      "name": "value5",
                      "nativeSrc": "12658:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "12658:6:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_string_calldata_ptrt_int8t_enum$_Mappers_$28087t_array$_t_string_calldata_ptr_$dyn_calldata_ptr",
            "nativeSrc": "11461:1219:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "11585:9:136",
                "nodeType": "YulTypedName",
                "src": "11585:9:136",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "11596:7:136",
                "nodeType": "YulTypedName",
                "src": "11596:7:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "11608:6:136",
                "nodeType": "YulTypedName",
                "src": "11608:6:136",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "11616:6:136",
                "nodeType": "YulTypedName",
                "src": "11616:6:136",
                "type": ""
              },
              {
                "name": "value2",
                "nativeSrc": "11624:6:136",
                "nodeType": "YulTypedName",
                "src": "11624:6:136",
                "type": ""
              },
              {
                "name": "value3",
                "nativeSrc": "11632:6:136",
                "nodeType": "YulTypedName",
                "src": "11632:6:136",
                "type": ""
              },
              {
                "name": "value4",
                "nativeSrc": "11640:6:136",
                "nodeType": "YulTypedName",
                "src": "11640:6:136",
                "type": ""
              },
              {
                "name": "value5",
                "nativeSrc": "11648:6:136",
                "nodeType": "YulTypedName",
                "src": "11648:6:136",
                "type": ""
              }
            ],
            "src": "11461:1219:136"
          },
          {
            "body": {
              "nativeSrc": "12825:702:136",
              "nodeType": "YulBlock",
              "src": "12825:702:136",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "12871:16:136",
                    "nodeType": "YulBlock",
                    "src": "12871:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "12880:1:136",
                              "nodeType": "YulLiteral",
                              "src": "12880:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "12883:1:136",
                              "nodeType": "YulLiteral",
                              "src": "12883:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "12873:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "12873:6:136"
                          },
                          "nativeSrc": "12873:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "12873:12:136"
                        },
                        "nativeSrc": "12873:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "12873:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "12846:7:136",
                            "nodeType": "YulIdentifier",
                            "src": "12846:7:136"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "12855:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "12855:9:136"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "12842:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "12842:3:136"
                        },
                        "nativeSrc": "12842:23:136",
                        "nodeType": "YulFunctionCall",
                        "src": "12842:23:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "12867:2:136",
                        "nodeType": "YulLiteral",
                        "src": "12867:2:136",
                        "type": "",
                        "value": "96"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "12838:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "12838:3:136"
                    },
                    "nativeSrc": "12838:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "12838:32:136"
                  },
                  "nativeSrc": "12835:52:136",
                  "nodeType": "YulIf",
                  "src": "12835:52:136"
                },
                {
                  "nativeSrc": "12896:37:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "12896:37:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "12923:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "12923:9:136"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "12910:12:136",
                      "nodeType": "YulIdentifier",
                      "src": "12910:12:136"
                    },
                    "nativeSrc": "12910:23:136",
                    "nodeType": "YulFunctionCall",
                    "src": "12910:23:136"
                  },
                  "variables": [
                    {
                      "name": "offset",
                      "nativeSrc": "12900:6:136",
                      "nodeType": "YulTypedName",
                      "src": "12900:6:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "12976:16:136",
                    "nodeType": "YulBlock",
                    "src": "12976:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "12985:1:136",
                              "nodeType": "YulLiteral",
                              "src": "12985:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "12988:1:136",
                              "nodeType": "YulLiteral",
                              "src": "12988:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "12978:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "12978:6:136"
                          },
                          "nativeSrc": "12978:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "12978:12:136"
                        },
                        "nativeSrc": "12978:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "12978:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "12948:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "12948:6:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "12956:18:136",
                        "nodeType": "YulLiteral",
                        "src": "12956:18:136",
                        "type": "",
                        "value": "0xffffffffffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "12945:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "12945:2:136"
                    },
                    "nativeSrc": "12945:30:136",
                    "nodeType": "YulFunctionCall",
                    "src": "12945:30:136"
                  },
                  "nativeSrc": "12942:50:136",
                  "nodeType": "YulIf",
                  "src": "12942:50:136"
                },
                {
                  "nativeSrc": "13001:84:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "13001:84:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "13057:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "13057:9:136"
                          },
                          {
                            "name": "offset",
                            "nativeSrc": "13068:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "13068:6:136"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "13053:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "13053:3:136"
                        },
                        "nativeSrc": "13053:22:136",
                        "nodeType": "YulFunctionCall",
                        "src": "13053:22:136"
                      },
                      {
                        "name": "dataEnd",
                        "nativeSrc": "13077:7:136",
                        "nodeType": "YulIdentifier",
                        "src": "13077:7:136"
                      }
                    ],
                    "functionName": {
                      "name": "abi_decode_bytes_calldata",
                      "nativeSrc": "13027:25:136",
                      "nodeType": "YulIdentifier",
                      "src": "13027:25:136"
                    },
                    "nativeSrc": "13027:58:136",
                    "nodeType": "YulFunctionCall",
                    "src": "13027:58:136"
                  },
                  "variables": [
                    {
                      "name": "value0_1",
                      "nativeSrc": "13005:8:136",
                      "nodeType": "YulTypedName",
                      "src": "13005:8:136",
                      "type": ""
                    },
                    {
                      "name": "value1_1",
                      "nativeSrc": "13015:8:136",
                      "nodeType": "YulTypedName",
                      "src": "13015:8:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "13094:18:136",
                  "nodeType": "YulAssignment",
                  "src": "13094:18:136",
                  "value": {
                    "name": "value0_1",
                    "nativeSrc": "13104:8:136",
                    "nodeType": "YulIdentifier",
                    "src": "13104:8:136"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "13094:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "13094:6:136"
                    }
                  ]
                },
                {
                  "nativeSrc": "13121:18:136",
                  "nodeType": "YulAssignment",
                  "src": "13121:18:136",
                  "value": {
                    "name": "value1_1",
                    "nativeSrc": "13131:8:136",
                    "nodeType": "YulIdentifier",
                    "src": "13131:8:136"
                  },
                  "variableNames": [
                    {
                      "name": "value1",
                      "nativeSrc": "13121:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "13121:6:136"
                    }
                  ]
                },
                {
                  "nativeSrc": "13148:45:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "13148:45:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "13178:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "13178:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "13189:2:136",
                            "nodeType": "YulLiteral",
                            "src": "13189:2:136",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "13174:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "13174:3:136"
                        },
                        "nativeSrc": "13174:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "13174:18:136"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "13161:12:136",
                      "nodeType": "YulIdentifier",
                      "src": "13161:12:136"
                    },
                    "nativeSrc": "13161:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "13161:32:136"
                  },
                  "variables": [
                    {
                      "name": "value",
                      "nativeSrc": "13152:5:136",
                      "nodeType": "YulTypedName",
                      "src": "13152:5:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "13224:5:136",
                        "nodeType": "YulIdentifier",
                        "src": "13224:5:136"
                      }
                    ],
                    "functionName": {
                      "name": "validator_revert_int8",
                      "nativeSrc": "13202:21:136",
                      "nodeType": "YulIdentifier",
                      "src": "13202:21:136"
                    },
                    "nativeSrc": "13202:28:136",
                    "nodeType": "YulFunctionCall",
                    "src": "13202:28:136"
                  },
                  "nativeSrc": "13202:28:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "13202:28:136"
                },
                {
                  "nativeSrc": "13239:15:136",
                  "nodeType": "YulAssignment",
                  "src": "13239:15:136",
                  "value": {
                    "name": "value",
                    "nativeSrc": "13249:5:136",
                    "nodeType": "YulIdentifier",
                    "src": "13249:5:136"
                  },
                  "variableNames": [
                    {
                      "name": "value2",
                      "nativeSrc": "13239:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "13239:6:136"
                    }
                  ]
                },
                {
                  "nativeSrc": "13263:48:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "13263:48:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "13296:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "13296:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "13307:2:136",
                            "nodeType": "YulLiteral",
                            "src": "13307:2:136",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "13292:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "13292:3:136"
                        },
                        "nativeSrc": "13292:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "13292:18:136"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "13279:12:136",
                      "nodeType": "YulIdentifier",
                      "src": "13279:12:136"
                    },
                    "nativeSrc": "13279:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "13279:32:136"
                  },
                  "variables": [
                    {
                      "name": "offset_1",
                      "nativeSrc": "13267:8:136",
                      "nodeType": "YulTypedName",
                      "src": "13267:8:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "13356:16:136",
                    "nodeType": "YulBlock",
                    "src": "13356:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "13365:1:136",
                              "nodeType": "YulLiteral",
                              "src": "13365:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "13368:1:136",
                              "nodeType": "YulLiteral",
                              "src": "13368:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "13358:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "13358:6:136"
                          },
                          "nativeSrc": "13358:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "13358:12:136"
                        },
                        "nativeSrc": "13358:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "13358:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "offset_1",
                        "nativeSrc": "13326:8:136",
                        "nodeType": "YulIdentifier",
                        "src": "13326:8:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "13336:18:136",
                        "nodeType": "YulLiteral",
                        "src": "13336:18:136",
                        "type": "",
                        "value": "0xffffffffffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "13323:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "13323:2:136"
                    },
                    "nativeSrc": "13323:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "13323:32:136"
                  },
                  "nativeSrc": "13320:52:136",
                  "nodeType": "YulIf",
                  "src": "13320:52:136"
                },
                {
                  "nativeSrc": "13381:86:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "13381:86:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "13437:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "13437:9:136"
                          },
                          {
                            "name": "offset_1",
                            "nativeSrc": "13448:8:136",
                            "nodeType": "YulIdentifier",
                            "src": "13448:8:136"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "13433:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "13433:3:136"
                        },
                        "nativeSrc": "13433:24:136",
                        "nodeType": "YulFunctionCall",
                        "src": "13433:24:136"
                      },
                      {
                        "name": "dataEnd",
                        "nativeSrc": "13459:7:136",
                        "nodeType": "YulIdentifier",
                        "src": "13459:7:136"
                      }
                    ],
                    "functionName": {
                      "name": "abi_decode_bytes_calldata",
                      "nativeSrc": "13407:25:136",
                      "nodeType": "YulIdentifier",
                      "src": "13407:25:136"
                    },
                    "nativeSrc": "13407:60:136",
                    "nodeType": "YulFunctionCall",
                    "src": "13407:60:136"
                  },
                  "variables": [
                    {
                      "name": "value3_1",
                      "nativeSrc": "13385:8:136",
                      "nodeType": "YulTypedName",
                      "src": "13385:8:136",
                      "type": ""
                    },
                    {
                      "name": "value4_1",
                      "nativeSrc": "13395:8:136",
                      "nodeType": "YulTypedName",
                      "src": "13395:8:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "13476:18:136",
                  "nodeType": "YulAssignment",
                  "src": "13476:18:136",
                  "value": {
                    "name": "value3_1",
                    "nativeSrc": "13486:8:136",
                    "nodeType": "YulIdentifier",
                    "src": "13486:8:136"
                  },
                  "variableNames": [
                    {
                      "name": "value3",
                      "nativeSrc": "13476:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "13476:6:136"
                    }
                  ]
                },
                {
                  "nativeSrc": "13503:18:136",
                  "nodeType": "YulAssignment",
                  "src": "13503:18:136",
                  "value": {
                    "name": "value4_1",
                    "nativeSrc": "13513:8:136",
                    "nodeType": "YulIdentifier",
                    "src": "13513:8:136"
                  },
                  "variableNames": [
                    {
                      "name": "value4",
                      "nativeSrc": "13503:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "13503:6:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_string_calldata_ptrt_int8t_bytes_calldata_ptr",
            "nativeSrc": "12685:842:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "12759:9:136",
                "nodeType": "YulTypedName",
                "src": "12759:9:136",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "12770:7:136",
                "nodeType": "YulTypedName",
                "src": "12770:7:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "12782:6:136",
                "nodeType": "YulTypedName",
                "src": "12782:6:136",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "12790:6:136",
                "nodeType": "YulTypedName",
                "src": "12790:6:136",
                "type": ""
              },
              {
                "name": "value2",
                "nativeSrc": "12798:6:136",
                "nodeType": "YulTypedName",
                "src": "12798:6:136",
                "type": ""
              },
              {
                "name": "value3",
                "nativeSrc": "12806:6:136",
                "nodeType": "YulTypedName",
                "src": "12806:6:136",
                "type": ""
              },
              {
                "name": "value4",
                "nativeSrc": "12814:6:136",
                "nodeType": "YulTypedName",
                "src": "12814:6:136",
                "type": ""
              }
            ],
            "src": "12685:842:136"
          },
          {
            "body": {
              "nativeSrc": "13577:86:136",
              "nodeType": "YulBlock",
              "src": "13577:86:136",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "13641:16:136",
                    "nodeType": "YulBlock",
                    "src": "13641:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "13650:1:136",
                              "nodeType": "YulLiteral",
                              "src": "13650:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "13653:1:136",
                              "nodeType": "YulLiteral",
                              "src": "13653:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "13643:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "13643:6:136"
                          },
                          "nativeSrc": "13643:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "13643:12:136"
                        },
                        "nativeSrc": "13643:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "13643:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "13600:5:136",
                            "nodeType": "YulIdentifier",
                            "src": "13600:5:136"
                          },
                          {
                            "arguments": [
                              {
                                "name": "value",
                                "nativeSrc": "13611:5:136",
                                "nodeType": "YulIdentifier",
                                "src": "13611:5:136"
                              },
                              {
                                "arguments": [
                                  {
                                    "arguments": [
                                      {
                                        "kind": "number",
                                        "nativeSrc": "13626:3:136",
                                        "nodeType": "YulLiteral",
                                        "src": "13626:3:136",
                                        "type": "",
                                        "value": "160"
                                      },
                                      {
                                        "kind": "number",
                                        "nativeSrc": "13631:1:136",
                                        "nodeType": "YulLiteral",
                                        "src": "13631:1:136",
                                        "type": "",
                                        "value": "1"
                                      }
                                    ],
                                    "functionName": {
                                      "name": "shl",
                                      "nativeSrc": "13622:3:136",
                                      "nodeType": "YulIdentifier",
                                      "src": "13622:3:136"
                                    },
                                    "nativeSrc": "13622:11:136",
                                    "nodeType": "YulFunctionCall",
                                    "src": "13622:11:136"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "13635:1:136",
                                    "nodeType": "YulLiteral",
                                    "src": "13635:1:136",
                                    "type": "",
                                    "value": "1"
                                  }
                                ],
                                "functionName": {
                                  "name": "sub",
                                  "nativeSrc": "13618:3:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "13618:3:136"
                                },
                                "nativeSrc": "13618:19:136",
                                "nodeType": "YulFunctionCall",
                                "src": "13618:19:136"
                              }
                            ],
                            "functionName": {
                              "name": "and",
                              "nativeSrc": "13607:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "13607:3:136"
                            },
                            "nativeSrc": "13607:31:136",
                            "nodeType": "YulFunctionCall",
                            "src": "13607:31:136"
                          }
                        ],
                        "functionName": {
                          "name": "eq",
                          "nativeSrc": "13597:2:136",
                          "nodeType": "YulIdentifier",
                          "src": "13597:2:136"
                        },
                        "nativeSrc": "13597:42:136",
                        "nodeType": "YulFunctionCall",
                        "src": "13597:42:136"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "13590:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "13590:6:136"
                    },
                    "nativeSrc": "13590:50:136",
                    "nodeType": "YulFunctionCall",
                    "src": "13590:50:136"
                  },
                  "nativeSrc": "13587:70:136",
                  "nodeType": "YulIf",
                  "src": "13587:70:136"
                }
              ]
            },
            "name": "validator_revert_address",
            "nativeSrc": "13532:131:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "value",
                "nativeSrc": "13566:5:136",
                "nodeType": "YulTypedName",
                "src": "13566:5:136",
                "type": ""
              }
            ],
            "src": "13532:131:136"
          },
          {
            "body": {
              "nativeSrc": "13738:177:136",
              "nodeType": "YulBlock",
              "src": "13738:177:136",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "13784:16:136",
                    "nodeType": "YulBlock",
                    "src": "13784:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "13793:1:136",
                              "nodeType": "YulLiteral",
                              "src": "13793:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "13796:1:136",
                              "nodeType": "YulLiteral",
                              "src": "13796:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "13786:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "13786:6:136"
                          },
                          "nativeSrc": "13786:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "13786:12:136"
                        },
                        "nativeSrc": "13786:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "13786:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "13759:7:136",
                            "nodeType": "YulIdentifier",
                            "src": "13759:7:136"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "13768:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "13768:9:136"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "13755:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "13755:3:136"
                        },
                        "nativeSrc": "13755:23:136",
                        "nodeType": "YulFunctionCall",
                        "src": "13755:23:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "13780:2:136",
                        "nodeType": "YulLiteral",
                        "src": "13780:2:136",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "13751:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "13751:3:136"
                    },
                    "nativeSrc": "13751:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "13751:32:136"
                  },
                  "nativeSrc": "13748:52:136",
                  "nodeType": "YulIf",
                  "src": "13748:52:136"
                },
                {
                  "nativeSrc": "13809:36:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "13809:36:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "13835:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "13835:9:136"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "13822:12:136",
                      "nodeType": "YulIdentifier",
                      "src": "13822:12:136"
                    },
                    "nativeSrc": "13822:23:136",
                    "nodeType": "YulFunctionCall",
                    "src": "13822:23:136"
                  },
                  "variables": [
                    {
                      "name": "value",
                      "nativeSrc": "13813:5:136",
                      "nodeType": "YulTypedName",
                      "src": "13813:5:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "13879:5:136",
                        "nodeType": "YulIdentifier",
                        "src": "13879:5:136"
                      }
                    ],
                    "functionName": {
                      "name": "validator_revert_address",
                      "nativeSrc": "13854:24:136",
                      "nodeType": "YulIdentifier",
                      "src": "13854:24:136"
                    },
                    "nativeSrc": "13854:31:136",
                    "nodeType": "YulFunctionCall",
                    "src": "13854:31:136"
                  },
                  "nativeSrc": "13854:31:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "13854:31:136"
                },
                {
                  "nativeSrc": "13894:15:136",
                  "nodeType": "YulAssignment",
                  "src": "13894:15:136",
                  "value": {
                    "name": "value",
                    "nativeSrc": "13904:5:136",
                    "nodeType": "YulIdentifier",
                    "src": "13904:5:136"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "13894:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "13894:6:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_address",
            "nativeSrc": "13668:247:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "13704:9:136",
                "nodeType": "YulTypedName",
                "src": "13704:9:136",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "13715:7:136",
                "nodeType": "YulTypedName",
                "src": "13715:7:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "13727:6:136",
                "nodeType": "YulTypedName",
                "src": "13727:6:136",
                "type": ""
              }
            ],
            "src": "13668:247:136"
          },
          {
            "body": {
              "nativeSrc": "14061:557:136",
              "nodeType": "YulBlock",
              "src": "14061:557:136",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "14107:16:136",
                    "nodeType": "YulBlock",
                    "src": "14107:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "14116:1:136",
                              "nodeType": "YulLiteral",
                              "src": "14116:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "14119:1:136",
                              "nodeType": "YulLiteral",
                              "src": "14119:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "14109:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "14109:6:136"
                          },
                          "nativeSrc": "14109:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "14109:12:136"
                        },
                        "nativeSrc": "14109:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "14109:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "14082:7:136",
                            "nodeType": "YulIdentifier",
                            "src": "14082:7:136"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "14091:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "14091:9:136"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "14078:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "14078:3:136"
                        },
                        "nativeSrc": "14078:23:136",
                        "nodeType": "YulFunctionCall",
                        "src": "14078:23:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "14103:2:136",
                        "nodeType": "YulLiteral",
                        "src": "14103:2:136",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "14074:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "14074:3:136"
                    },
                    "nativeSrc": "14074:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "14074:32:136"
                  },
                  "nativeSrc": "14071:52:136",
                  "nodeType": "YulIf",
                  "src": "14071:52:136"
                },
                {
                  "nativeSrc": "14132:37:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "14132:37:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "14159:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "14159:9:136"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "14146:12:136",
                      "nodeType": "YulIdentifier",
                      "src": "14146:12:136"
                    },
                    "nativeSrc": "14146:23:136",
                    "nodeType": "YulFunctionCall",
                    "src": "14146:23:136"
                  },
                  "variables": [
                    {
                      "name": "offset",
                      "nativeSrc": "14136:6:136",
                      "nodeType": "YulTypedName",
                      "src": "14136:6:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "14212:16:136",
                    "nodeType": "YulBlock",
                    "src": "14212:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "14221:1:136",
                              "nodeType": "YulLiteral",
                              "src": "14221:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "14224:1:136",
                              "nodeType": "YulLiteral",
                              "src": "14224:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "14214:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "14214:6:136"
                          },
                          "nativeSrc": "14214:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "14214:12:136"
                        },
                        "nativeSrc": "14214:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "14214:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "14184:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "14184:6:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "14192:18:136",
                        "nodeType": "YulLiteral",
                        "src": "14192:18:136",
                        "type": "",
                        "value": "0xffffffffffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "14181:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "14181:2:136"
                    },
                    "nativeSrc": "14181:30:136",
                    "nodeType": "YulFunctionCall",
                    "src": "14181:30:136"
                  },
                  "nativeSrc": "14178:50:136",
                  "nodeType": "YulIf",
                  "src": "14178:50:136"
                },
                {
                  "nativeSrc": "14237:32:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "14237:32:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "14251:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "14251:9:136"
                      },
                      {
                        "name": "offset",
                        "nativeSrc": "14262:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "14262:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "14247:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "14247:3:136"
                    },
                    "nativeSrc": "14247:22:136",
                    "nodeType": "YulFunctionCall",
                    "src": "14247:22:136"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "14241:2:136",
                      "nodeType": "YulTypedName",
                      "src": "14241:2:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "14308:16:136",
                    "nodeType": "YulBlock",
                    "src": "14308:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "14317:1:136",
                              "nodeType": "YulLiteral",
                              "src": "14317:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "14320:1:136",
                              "nodeType": "YulLiteral",
                              "src": "14320:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "14310:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "14310:6:136"
                          },
                          "nativeSrc": "14310:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "14310:12:136"
                        },
                        "nativeSrc": "14310:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "14310:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "14289:7:136",
                            "nodeType": "YulIdentifier",
                            "src": "14289:7:136"
                          },
                          {
                            "name": "_1",
                            "nativeSrc": "14298:2:136",
                            "nodeType": "YulIdentifier",
                            "src": "14298:2:136"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "14285:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "14285:3:136"
                        },
                        "nativeSrc": "14285:16:136",
                        "nodeType": "YulFunctionCall",
                        "src": "14285:16:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "14303:3:136",
                        "nodeType": "YulLiteral",
                        "src": "14303:3:136",
                        "type": "",
                        "value": "224"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "14281:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "14281:3:136"
                    },
                    "nativeSrc": "14281:26:136",
                    "nodeType": "YulFunctionCall",
                    "src": "14281:26:136"
                  },
                  "nativeSrc": "14278:46:136",
                  "nodeType": "YulIf",
                  "src": "14278:46:136"
                },
                {
                  "nativeSrc": "14333:12:136",
                  "nodeType": "YulAssignment",
                  "src": "14333:12:136",
                  "value": {
                    "name": "_1",
                    "nativeSrc": "14343:2:136",
                    "nodeType": "YulIdentifier",
                    "src": "14343:2:136"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "14333:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "14333:6:136"
                    }
                  ]
                },
                {
                  "nativeSrc": "14354:48:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "14354:48:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "14387:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "14387:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "14398:2:136",
                            "nodeType": "YulLiteral",
                            "src": "14398:2:136",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "14383:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "14383:3:136"
                        },
                        "nativeSrc": "14383:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "14383:18:136"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "14370:12:136",
                      "nodeType": "YulIdentifier",
                      "src": "14370:12:136"
                    },
                    "nativeSrc": "14370:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "14370:32:136"
                  },
                  "variables": [
                    {
                      "name": "offset_1",
                      "nativeSrc": "14358:8:136",
                      "nodeType": "YulTypedName",
                      "src": "14358:8:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "14447:16:136",
                    "nodeType": "YulBlock",
                    "src": "14447:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "14456:1:136",
                              "nodeType": "YulLiteral",
                              "src": "14456:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "14459:1:136",
                              "nodeType": "YulLiteral",
                              "src": "14459:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "14449:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "14449:6:136"
                          },
                          "nativeSrc": "14449:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "14449:12:136"
                        },
                        "nativeSrc": "14449:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "14449:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "offset_1",
                        "nativeSrc": "14417:8:136",
                        "nodeType": "YulIdentifier",
                        "src": "14417:8:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "14427:18:136",
                        "nodeType": "YulLiteral",
                        "src": "14427:18:136",
                        "type": "",
                        "value": "0xffffffffffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "14414:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "14414:2:136"
                    },
                    "nativeSrc": "14414:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "14414:32:136"
                  },
                  "nativeSrc": "14411:52:136",
                  "nodeType": "YulIf",
                  "src": "14411:52:136"
                },
                {
                  "nativeSrc": "14472:86:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "14472:86:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "14528:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "14528:9:136"
                          },
                          {
                            "name": "offset_1",
                            "nativeSrc": "14539:8:136",
                            "nodeType": "YulIdentifier",
                            "src": "14539:8:136"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "14524:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "14524:3:136"
                        },
                        "nativeSrc": "14524:24:136",
                        "nodeType": "YulFunctionCall",
                        "src": "14524:24:136"
                      },
                      {
                        "name": "dataEnd",
                        "nativeSrc": "14550:7:136",
                        "nodeType": "YulIdentifier",
                        "src": "14550:7:136"
                      }
                    ],
                    "functionName": {
                      "name": "abi_decode_bytes_calldata",
                      "nativeSrc": "14498:25:136",
                      "nodeType": "YulIdentifier",
                      "src": "14498:25:136"
                    },
                    "nativeSrc": "14498:60:136",
                    "nodeType": "YulFunctionCall",
                    "src": "14498:60:136"
                  },
                  "variables": [
                    {
                      "name": "value1_1",
                      "nativeSrc": "14476:8:136",
                      "nodeType": "YulTypedName",
                      "src": "14476:8:136",
                      "type": ""
                    },
                    {
                      "name": "value2_1",
                      "nativeSrc": "14486:8:136",
                      "nodeType": "YulTypedName",
                      "src": "14486:8:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "14567:18:136",
                  "nodeType": "YulAssignment",
                  "src": "14567:18:136",
                  "value": {
                    "name": "value1_1",
                    "nativeSrc": "14577:8:136",
                    "nodeType": "YulIdentifier",
                    "src": "14577:8:136"
                  },
                  "variableNames": [
                    {
                      "name": "value1",
                      "nativeSrc": "14567:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "14567:6:136"
                    }
                  ]
                },
                {
                  "nativeSrc": "14594:18:136",
                  "nodeType": "YulAssignment",
                  "src": "14594:18:136",
                  "value": {
                    "name": "value2_1",
                    "nativeSrc": "14604:8:136",
                    "nodeType": "YulIdentifier",
                    "src": "14604:8:136"
                  },
                  "variableNames": [
                    {
                      "name": "value2",
                      "nativeSrc": "14594:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "14594:6:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_struct$_DataPushReport_$37274_calldata_ptrt_bytes_calldata_ptr",
            "nativeSrc": "13920:698:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "14011:9:136",
                "nodeType": "YulTypedName",
                "src": "14011:9:136",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "14022:7:136",
                "nodeType": "YulTypedName",
                "src": "14022:7:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "14034:6:136",
                "nodeType": "YulTypedName",
                "src": "14034:6:136",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "14042:6:136",
                "nodeType": "YulTypedName",
                "src": "14042:6:136",
                "type": ""
              },
              {
                "name": "value2",
                "nativeSrc": "14050:6:136",
                "nodeType": "YulTypedName",
                "src": "14050:6:136",
                "type": ""
              }
            ],
            "src": "13920:698:136"
          },
          {
            "body": {
              "nativeSrc": "14794:105:136",
              "nodeType": "YulBlock",
              "src": "14794:105:136",
              "statements": [
                {
                  "nativeSrc": "14804:27:136",
                  "nodeType": "YulAssignment",
                  "src": "14804:27:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "14816:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "14816:9:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "14827:3:136",
                        "nodeType": "YulLiteral",
                        "src": "14827:3:136",
                        "type": "",
                        "value": "192"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "14812:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "14812:3:136"
                    },
                    "nativeSrc": "14812:19:136",
                    "nodeType": "YulFunctionCall",
                    "src": "14812:19:136"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "14804:4:136",
                      "nodeType": "YulIdentifier",
                      "src": "14804:4:136"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value0",
                        "nativeSrc": "14875:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "14875:6:136"
                      },
                      {
                        "name": "headStart",
                        "nativeSrc": "14883:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "14883:9:136"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_struct_UpdateConditions",
                      "nativeSrc": "14840:34:136",
                      "nodeType": "YulIdentifier",
                      "src": "14840:34:136"
                    },
                    "nativeSrc": "14840:53:136",
                    "nodeType": "YulFunctionCall",
                    "src": "14840:53:136"
                  },
                  "nativeSrc": "14840:53:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "14840:53:136"
                }
              ]
            },
            "name": "abi_encode_tuple_t_struct$_UpdateConditions_$28153_memory_ptr__to_t_struct$_UpdateConditions_$28153_memory_ptr__fromStack_reversed",
            "nativeSrc": "14623:276:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "14763:9:136",
                "nodeType": "YulTypedName",
                "src": "14763:9:136",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "14774:6:136",
                "nodeType": "YulTypedName",
                "src": "14774:6:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "14785:4:136",
                "nodeType": "YulTypedName",
                "src": "14785:4:136",
                "type": ""
              }
            ],
            "src": "14623:276:136"
          },
          {
            "body": {
              "nativeSrc": "15053:94:136",
              "nodeType": "YulBlock",
              "src": "15053:94:136",
              "statements": [
                {
                  "nativeSrc": "15063:27:136",
                  "nodeType": "YulAssignment",
                  "src": "15063:27:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "15075:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "15075:9:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "15086:3:136",
                        "nodeType": "YulLiteral",
                        "src": "15086:3:136",
                        "type": "",
                        "value": "160"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "15071:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "15071:3:136"
                    },
                    "nativeSrc": "15071:19:136",
                    "nodeType": "YulFunctionCall",
                    "src": "15071:19:136"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "15063:4:136",
                      "nodeType": "YulIdentifier",
                      "src": "15063:4:136"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value0",
                        "nativeSrc": "15123:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "15123:6:136"
                      },
                      {
                        "name": "headStart",
                        "nativeSrc": "15131:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "15131:9:136"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_struct_Price",
                      "nativeSrc": "15099:23:136",
                      "nodeType": "YulIdentifier",
                      "src": "15099:23:136"
                    },
                    "nativeSrc": "15099:42:136",
                    "nodeType": "YulFunctionCall",
                    "src": "15099:42:136"
                  },
                  "nativeSrc": "15099:42:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "15099:42:136"
                }
              ]
            },
            "name": "abi_encode_tuple_t_struct$_Price_$28105_memory_ptr__to_t_struct$_Price_$28105_memory_ptr__fromStack_reversed",
            "nativeSrc": "14904:243:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "15022:9:136",
                "nodeType": "YulTypedName",
                "src": "15022:9:136",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "15033:6:136",
                "nodeType": "YulTypedName",
                "src": "15033:6:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "15044:4:136",
                "nodeType": "YulTypedName",
                "src": "15044:4:136",
                "type": ""
              }
            ],
            "src": "14904:243:136"
          },
          {
            "body": {
              "nativeSrc": "15231:86:136",
              "nodeType": "YulBlock",
              "src": "15231:86:136",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "15271:16:136",
                    "nodeType": "YulBlock",
                    "src": "15271:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "15280:1:136",
                              "nodeType": "YulLiteral",
                              "src": "15280:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "15283:1:136",
                              "nodeType": "YulLiteral",
                              "src": "15283:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "15273:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "15273:6:136"
                          },
                          "nativeSrc": "15273:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "15273:12:136"
                        },
                        "nativeSrc": "15273:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "15273:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "end",
                            "nativeSrc": "15252:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "15252:3:136"
                          },
                          {
                            "name": "offset",
                            "nativeSrc": "15257:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "15257:6:136"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "15248:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "15248:3:136"
                        },
                        "nativeSrc": "15248:16:136",
                        "nodeType": "YulFunctionCall",
                        "src": "15248:16:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "15266:3:136",
                        "nodeType": "YulLiteral",
                        "src": "15266:3:136",
                        "type": "",
                        "value": "192"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "15244:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "15244:3:136"
                    },
                    "nativeSrc": "15244:26:136",
                    "nodeType": "YulFunctionCall",
                    "src": "15244:26:136"
                  },
                  "nativeSrc": "15241:46:136",
                  "nodeType": "YulIf",
                  "src": "15241:46:136"
                },
                {
                  "nativeSrc": "15296:15:136",
                  "nodeType": "YulAssignment",
                  "src": "15296:15:136",
                  "value": {
                    "name": "offset",
                    "nativeSrc": "15305:6:136",
                    "nodeType": "YulIdentifier",
                    "src": "15305:6:136"
                  },
                  "variableNames": [
                    {
                      "name": "value",
                      "nativeSrc": "15296:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "15296:5:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_struct_UpdateConditions_calldata",
            "nativeSrc": "15152:165:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "offset",
                "nativeSrc": "15205:6:136",
                "nodeType": "YulTypedName",
                "src": "15205:6:136",
                "type": ""
              },
              {
                "name": "end",
                "nativeSrc": "15213:3:136",
                "nodeType": "YulTypedName",
                "src": "15213:3:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value",
                "nativeSrc": "15221:5:136",
                "nodeType": "YulTypedName",
                "src": "15221:5:136",
                "type": ""
              }
            ],
            "src": "15152:165:136"
          },
          {
            "body": {
              "nativeSrc": "15429:151:136",
              "nodeType": "YulBlock",
              "src": "15429:151:136",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "15476:16:136",
                    "nodeType": "YulBlock",
                    "src": "15476:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "15485:1:136",
                              "nodeType": "YulLiteral",
                              "src": "15485:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "15488:1:136",
                              "nodeType": "YulLiteral",
                              "src": "15488:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "15478:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "15478:6:136"
                          },
                          "nativeSrc": "15478:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "15478:12:136"
                        },
                        "nativeSrc": "15478:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "15478:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "15450:7:136",
                            "nodeType": "YulIdentifier",
                            "src": "15450:7:136"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "15459:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "15459:9:136"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "15446:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "15446:3:136"
                        },
                        "nativeSrc": "15446:23:136",
                        "nodeType": "YulFunctionCall",
                        "src": "15446:23:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "15471:3:136",
                        "nodeType": "YulLiteral",
                        "src": "15471:3:136",
                        "type": "",
                        "value": "192"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "15442:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "15442:3:136"
                    },
                    "nativeSrc": "15442:33:136",
                    "nodeType": "YulFunctionCall",
                    "src": "15442:33:136"
                  },
                  "nativeSrc": "15439:53:136",
                  "nodeType": "YulIf",
                  "src": "15439:53:136"
                },
                {
                  "nativeSrc": "15501:73:136",
                  "nodeType": "YulAssignment",
                  "src": "15501:73:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "15555:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "15555:9:136"
                      },
                      {
                        "name": "dataEnd",
                        "nativeSrc": "15566:7:136",
                        "nodeType": "YulIdentifier",
                        "src": "15566:7:136"
                      }
                    ],
                    "functionName": {
                      "name": "abi_decode_struct_UpdateConditions_calldata",
                      "nativeSrc": "15511:43:136",
                      "nodeType": "YulIdentifier",
                      "src": "15511:43:136"
                    },
                    "nativeSrc": "15511:63:136",
                    "nodeType": "YulFunctionCall",
                    "src": "15511:63:136"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "15501:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "15501:6:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_struct$_UpdateConditions_$28153_calldata_ptr",
            "nativeSrc": "15322:258:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "15395:9:136",
                "nodeType": "YulTypedName",
                "src": "15395:9:136",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "15406:7:136",
                "nodeType": "YulTypedName",
                "src": "15406:7:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "15418:6:136",
                "nodeType": "YulTypedName",
                "src": "15418:6:136",
                "type": ""
              }
            ],
            "src": "15322:258:136"
          },
          {
            "body": {
              "nativeSrc": "15665:370:136",
              "nodeType": "YulBlock",
              "src": "15665:370:136",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "15711:16:136",
                    "nodeType": "YulBlock",
                    "src": "15711:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "15720:1:136",
                              "nodeType": "YulLiteral",
                              "src": "15720:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "15723:1:136",
                              "nodeType": "YulLiteral",
                              "src": "15723:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "15713:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "15713:6:136"
                          },
                          "nativeSrc": "15713:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "15713:12:136"
                        },
                        "nativeSrc": "15713:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "15713:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "15686:7:136",
                            "nodeType": "YulIdentifier",
                            "src": "15686:7:136"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "15695:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "15695:9:136"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "15682:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "15682:3:136"
                        },
                        "nativeSrc": "15682:23:136",
                        "nodeType": "YulFunctionCall",
                        "src": "15682:23:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "15707:2:136",
                        "nodeType": "YulLiteral",
                        "src": "15707:2:136",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "15678:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "15678:3:136"
                    },
                    "nativeSrc": "15678:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "15678:32:136"
                  },
                  "nativeSrc": "15675:52:136",
                  "nodeType": "YulIf",
                  "src": "15675:52:136"
                },
                {
                  "nativeSrc": "15736:37:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "15736:37:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "15763:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "15763:9:136"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "15750:12:136",
                      "nodeType": "YulIdentifier",
                      "src": "15750:12:136"
                    },
                    "nativeSrc": "15750:23:136",
                    "nodeType": "YulFunctionCall",
                    "src": "15750:23:136"
                  },
                  "variables": [
                    {
                      "name": "offset",
                      "nativeSrc": "15740:6:136",
                      "nodeType": "YulTypedName",
                      "src": "15740:6:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "15816:16:136",
                    "nodeType": "YulBlock",
                    "src": "15816:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "15825:1:136",
                              "nodeType": "YulLiteral",
                              "src": "15825:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "15828:1:136",
                              "nodeType": "YulLiteral",
                              "src": "15828:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "15818:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "15818:6:136"
                          },
                          "nativeSrc": "15818:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "15818:12:136"
                        },
                        "nativeSrc": "15818:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "15818:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "15788:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "15788:6:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "15796:18:136",
                        "nodeType": "YulLiteral",
                        "src": "15796:18:136",
                        "type": "",
                        "value": "0xffffffffffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "15785:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "15785:2:136"
                    },
                    "nativeSrc": "15785:30:136",
                    "nodeType": "YulFunctionCall",
                    "src": "15785:30:136"
                  },
                  "nativeSrc": "15782:50:136",
                  "nodeType": "YulIf",
                  "src": "15782:50:136"
                },
                {
                  "nativeSrc": "15841:32:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "15841:32:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "15855:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "15855:9:136"
                      },
                      {
                        "name": "offset",
                        "nativeSrc": "15866:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "15866:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "15851:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "15851:3:136"
                    },
                    "nativeSrc": "15851:22:136",
                    "nodeType": "YulFunctionCall",
                    "src": "15851:22:136"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "15845:2:136",
                      "nodeType": "YulTypedName",
                      "src": "15845:2:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "15921:16:136",
                    "nodeType": "YulBlock",
                    "src": "15921:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "15930:1:136",
                              "nodeType": "YulLiteral",
                              "src": "15930:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "15933:1:136",
                              "nodeType": "YulLiteral",
                              "src": "15933:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "15923:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "15923:6:136"
                          },
                          "nativeSrc": "15923:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "15923:12:136"
                        },
                        "nativeSrc": "15923:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "15923:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "_1",
                                "nativeSrc": "15900:2:136",
                                "nodeType": "YulIdentifier",
                                "src": "15900:2:136"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "15904:4:136",
                                "nodeType": "YulLiteral",
                                "src": "15904:4:136",
                                "type": "",
                                "value": "0x1f"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "15896:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "15896:3:136"
                            },
                            "nativeSrc": "15896:13:136",
                            "nodeType": "YulFunctionCall",
                            "src": "15896:13:136"
                          },
                          {
                            "name": "dataEnd",
                            "nativeSrc": "15911:7:136",
                            "nodeType": "YulIdentifier",
                            "src": "15911:7:136"
                          }
                        ],
                        "functionName": {
                          "name": "slt",
                          "nativeSrc": "15892:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "15892:3:136"
                        },
                        "nativeSrc": "15892:27:136",
                        "nodeType": "YulFunctionCall",
                        "src": "15892:27:136"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "15885:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "15885:6:136"
                    },
                    "nativeSrc": "15885:35:136",
                    "nodeType": "YulFunctionCall",
                    "src": "15885:35:136"
                  },
                  "nativeSrc": "15882:55:136",
                  "nodeType": "YulIf",
                  "src": "15882:55:136"
                },
                {
                  "nativeSrc": "15946:83:136",
                  "nodeType": "YulAssignment",
                  "src": "15946:83:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "_1",
                            "nativeSrc": "15994:2:136",
                            "nodeType": "YulIdentifier",
                            "src": "15994:2:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "15998:2:136",
                            "nodeType": "YulLiteral",
                            "src": "15998:2:136",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "15990:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "15990:3:136"
                        },
                        "nativeSrc": "15990:11:136",
                        "nodeType": "YulFunctionCall",
                        "src": "15990:11:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "_1",
                            "nativeSrc": "16016:2:136",
                            "nodeType": "YulIdentifier",
                            "src": "16016:2:136"
                          }
                        ],
                        "functionName": {
                          "name": "calldataload",
                          "nativeSrc": "16003:12:136",
                          "nodeType": "YulIdentifier",
                          "src": "16003:12:136"
                        },
                        "nativeSrc": "16003:16:136",
                        "nodeType": "YulFunctionCall",
                        "src": "16003:16:136"
                      },
                      {
                        "name": "dataEnd",
                        "nativeSrc": "16021:7:136",
                        "nodeType": "YulIdentifier",
                        "src": "16021:7:136"
                      }
                    ],
                    "functionName": {
                      "name": "abi_decode_available_length_bytes",
                      "nativeSrc": "15956:33:136",
                      "nodeType": "YulIdentifier",
                      "src": "15956:33:136"
                    },
                    "nativeSrc": "15956:73:136",
                    "nodeType": "YulFunctionCall",
                    "src": "15956:73:136"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "15946:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "15946:6:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_string_memory_ptr",
            "nativeSrc": "15585:450:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "15631:9:136",
                "nodeType": "YulTypedName",
                "src": "15631:9:136",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "15642:7:136",
                "nodeType": "YulTypedName",
                "src": "15642:7:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "15654:6:136",
                "nodeType": "YulTypedName",
                "src": "15654:6:136",
                "type": ""
              }
            ],
            "src": "15585:450:136"
          },
          {
            "body": {
              "nativeSrc": "16165:76:136",
              "nodeType": "YulBlock",
              "src": "16165:76:136",
              "statements": [
                {
                  "nativeSrc": "16175:26:136",
                  "nodeType": "YulAssignment",
                  "src": "16175:26:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "16187:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "16187:9:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "16198:2:136",
                        "nodeType": "YulLiteral",
                        "src": "16198:2:136",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "16183:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "16183:3:136"
                    },
                    "nativeSrc": "16183:18:136",
                    "nodeType": "YulFunctionCall",
                    "src": "16183:18:136"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "16175:4:136",
                      "nodeType": "YulIdentifier",
                      "src": "16175:4:136"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "16217:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "16217:9:136"
                      },
                      {
                        "name": "value0",
                        "nativeSrc": "16228:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "16228:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "16210:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "16210:6:136"
                    },
                    "nativeSrc": "16210:25:136",
                    "nodeType": "YulFunctionCall",
                    "src": "16210:25:136"
                  },
                  "nativeSrc": "16210:25:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "16210:25:136"
                }
              ]
            },
            "name": "abi_encode_tuple_t_userDefinedValueType$_ID_$29561__to_t_bytes32__fromStack_reversed",
            "nativeSrc": "16040:201:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "16134:9:136",
                "nodeType": "YulTypedName",
                "src": "16134:9:136",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "16145:6:136",
                "nodeType": "YulTypedName",
                "src": "16145:6:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "16156:4:136",
                "nodeType": "YulTypedName",
                "src": "16156:4:136",
                "type": ""
              }
            ],
            "src": "16040:201:136"
          },
          {
            "body": {
              "nativeSrc": "16379:102:136",
              "nodeType": "YulBlock",
              "src": "16379:102:136",
              "statements": [
                {
                  "nativeSrc": "16389:26:136",
                  "nodeType": "YulAssignment",
                  "src": "16389:26:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "16401:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "16401:9:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "16412:2:136",
                        "nodeType": "YulLiteral",
                        "src": "16412:2:136",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "16397:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "16397:3:136"
                    },
                    "nativeSrc": "16397:18:136",
                    "nodeType": "YulFunctionCall",
                    "src": "16397:18:136"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "16389:4:136",
                      "nodeType": "YulIdentifier",
                      "src": "16389:4:136"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "16431:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "16431:9:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value0",
                            "nativeSrc": "16446:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "16446:6:136"
                          },
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "kind": "number",
                                    "nativeSrc": "16462:3:136",
                                    "nodeType": "YulLiteral",
                                    "src": "16462:3:136",
                                    "type": "",
                                    "value": "160"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "16467:1:136",
                                    "nodeType": "YulLiteral",
                                    "src": "16467:1:136",
                                    "type": "",
                                    "value": "1"
                                  }
                                ],
                                "functionName": {
                                  "name": "shl",
                                  "nativeSrc": "16458:3:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "16458:3:136"
                                },
                                "nativeSrc": "16458:11:136",
                                "nodeType": "YulFunctionCall",
                                "src": "16458:11:136"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "16471:1:136",
                                "nodeType": "YulLiteral",
                                "src": "16471:1:136",
                                "type": "",
                                "value": "1"
                              }
                            ],
                            "functionName": {
                              "name": "sub",
                              "nativeSrc": "16454:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "16454:3:136"
                            },
                            "nativeSrc": "16454:19:136",
                            "nodeType": "YulFunctionCall",
                            "src": "16454:19:136"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "16442:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "16442:3:136"
                        },
                        "nativeSrc": "16442:32:136",
                        "nodeType": "YulFunctionCall",
                        "src": "16442:32:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "16424:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "16424:6:136"
                    },
                    "nativeSrc": "16424:51:136",
                    "nodeType": "YulFunctionCall",
                    "src": "16424:51:136"
                  },
                  "nativeSrc": "16424:51:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "16424:51:136"
                }
              ]
            },
            "name": "abi_encode_tuple_t_contract$_IWitPriceFeedsConsumer_$27992__to_t_address__fromStack_reversed",
            "nativeSrc": "16246:235:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "16348:9:136",
                "nodeType": "YulTypedName",
                "src": "16348:9:136",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "16359:6:136",
                "nodeType": "YulTypedName",
                "src": "16359:6:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "16370:4:136",
                "nodeType": "YulTypedName",
                "src": "16370:4:136",
                "type": ""
              }
            ],
            "src": "16246:235:136"
          },
          {
            "body": {
              "nativeSrc": "16576:320:136",
              "nodeType": "YulBlock",
              "src": "16576:320:136",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "16622:16:136",
                    "nodeType": "YulBlock",
                    "src": "16622:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "16631:1:136",
                              "nodeType": "YulLiteral",
                              "src": "16631:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "16634:1:136",
                              "nodeType": "YulLiteral",
                              "src": "16634:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "16624:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "16624:6:136"
                          },
                          "nativeSrc": "16624:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "16624:12:136"
                        },
                        "nativeSrc": "16624:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "16624:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "16597:7:136",
                            "nodeType": "YulIdentifier",
                            "src": "16597:7:136"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "16606:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "16606:9:136"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "16593:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "16593:3:136"
                        },
                        "nativeSrc": "16593:23:136",
                        "nodeType": "YulFunctionCall",
                        "src": "16593:23:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "16618:2:136",
                        "nodeType": "YulLiteral",
                        "src": "16618:2:136",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "16589:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "16589:3:136"
                    },
                    "nativeSrc": "16589:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "16589:32:136"
                  },
                  "nativeSrc": "16586:52:136",
                  "nodeType": "YulIf",
                  "src": "16586:52:136"
                },
                {
                  "nativeSrc": "16647:37:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "16647:37:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "16674:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "16674:9:136"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "16661:12:136",
                      "nodeType": "YulIdentifier",
                      "src": "16661:12:136"
                    },
                    "nativeSrc": "16661:23:136",
                    "nodeType": "YulFunctionCall",
                    "src": "16661:23:136"
                  },
                  "variables": [
                    {
                      "name": "offset",
                      "nativeSrc": "16651:6:136",
                      "nodeType": "YulTypedName",
                      "src": "16651:6:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "16727:16:136",
                    "nodeType": "YulBlock",
                    "src": "16727:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "16736:1:136",
                              "nodeType": "YulLiteral",
                              "src": "16736:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "16739:1:136",
                              "nodeType": "YulLiteral",
                              "src": "16739:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "16729:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "16729:6:136"
                          },
                          "nativeSrc": "16729:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "16729:12:136"
                        },
                        "nativeSrc": "16729:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "16729:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "16699:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "16699:6:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "16707:18:136",
                        "nodeType": "YulLiteral",
                        "src": "16707:18:136",
                        "type": "",
                        "value": "0xffffffffffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "16696:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "16696:2:136"
                    },
                    "nativeSrc": "16696:30:136",
                    "nodeType": "YulFunctionCall",
                    "src": "16696:30:136"
                  },
                  "nativeSrc": "16693:50:136",
                  "nodeType": "YulIf",
                  "src": "16693:50:136"
                },
                {
                  "nativeSrc": "16752:84:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "16752:84:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "16808:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "16808:9:136"
                          },
                          {
                            "name": "offset",
                            "nativeSrc": "16819:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "16819:6:136"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "16804:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "16804:3:136"
                        },
                        "nativeSrc": "16804:22:136",
                        "nodeType": "YulFunctionCall",
                        "src": "16804:22:136"
                      },
                      {
                        "name": "dataEnd",
                        "nativeSrc": "16828:7:136",
                        "nodeType": "YulIdentifier",
                        "src": "16828:7:136"
                      }
                    ],
                    "functionName": {
                      "name": "abi_decode_bytes_calldata",
                      "nativeSrc": "16778:25:136",
                      "nodeType": "YulIdentifier",
                      "src": "16778:25:136"
                    },
                    "nativeSrc": "16778:58:136",
                    "nodeType": "YulFunctionCall",
                    "src": "16778:58:136"
                  },
                  "variables": [
                    {
                      "name": "value0_1",
                      "nativeSrc": "16756:8:136",
                      "nodeType": "YulTypedName",
                      "src": "16756:8:136",
                      "type": ""
                    },
                    {
                      "name": "value1_1",
                      "nativeSrc": "16766:8:136",
                      "nodeType": "YulTypedName",
                      "src": "16766:8:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "16845:18:136",
                  "nodeType": "YulAssignment",
                  "src": "16845:18:136",
                  "value": {
                    "name": "value0_1",
                    "nativeSrc": "16855:8:136",
                    "nodeType": "YulIdentifier",
                    "src": "16855:8:136"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "16845:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "16845:6:136"
                    }
                  ]
                },
                {
                  "nativeSrc": "16872:18:136",
                  "nodeType": "YulAssignment",
                  "src": "16872:18:136",
                  "value": {
                    "name": "value1_1",
                    "nativeSrc": "16882:8:136",
                    "nodeType": "YulIdentifier",
                    "src": "16882:8:136"
                  },
                  "variableNames": [
                    {
                      "name": "value1",
                      "nativeSrc": "16872:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "16872:6:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_string_calldata_ptr",
            "nativeSrc": "16486:410:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "16534:9:136",
                "nodeType": "YulTypedName",
                "src": "16534:9:136",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "16545:7:136",
                "nodeType": "YulTypedName",
                "src": "16545:7:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "16557:6:136",
                "nodeType": "YulTypedName",
                "src": "16557:6:136",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "16565:6:136",
                "nodeType": "YulTypedName",
                "src": "16565:6:136",
                "type": ""
              }
            ],
            "src": "16486:410:136"
          },
          {
            "body": {
              "nativeSrc": "17053:538:136",
              "nodeType": "YulBlock",
              "src": "17053:538:136",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "17099:16:136",
                    "nodeType": "YulBlock",
                    "src": "17099:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "17108:1:136",
                              "nodeType": "YulLiteral",
                              "src": "17108:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "17111:1:136",
                              "nodeType": "YulLiteral",
                              "src": "17111:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "17101:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "17101:6:136"
                          },
                          "nativeSrc": "17101:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "17101:12:136"
                        },
                        "nativeSrc": "17101:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "17101:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "17074:7:136",
                            "nodeType": "YulIdentifier",
                            "src": "17074:7:136"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "17083:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "17083:9:136"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "17070:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "17070:3:136"
                        },
                        "nativeSrc": "17070:23:136",
                        "nodeType": "YulFunctionCall",
                        "src": "17070:23:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "17095:2:136",
                        "nodeType": "YulLiteral",
                        "src": "17095:2:136",
                        "type": "",
                        "value": "96"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "17066:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "17066:3:136"
                    },
                    "nativeSrc": "17066:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "17066:32:136"
                  },
                  "nativeSrc": "17063:52:136",
                  "nodeType": "YulIf",
                  "src": "17063:52:136"
                },
                {
                  "nativeSrc": "17124:37:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "17124:37:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "17151:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "17151:9:136"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "17138:12:136",
                      "nodeType": "YulIdentifier",
                      "src": "17138:12:136"
                    },
                    "nativeSrc": "17138:23:136",
                    "nodeType": "YulFunctionCall",
                    "src": "17138:23:136"
                  },
                  "variables": [
                    {
                      "name": "offset",
                      "nativeSrc": "17128:6:136",
                      "nodeType": "YulTypedName",
                      "src": "17128:6:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "17204:16:136",
                    "nodeType": "YulBlock",
                    "src": "17204:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "17213:1:136",
                              "nodeType": "YulLiteral",
                              "src": "17213:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "17216:1:136",
                              "nodeType": "YulLiteral",
                              "src": "17216:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "17206:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "17206:6:136"
                          },
                          "nativeSrc": "17206:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "17206:12:136"
                        },
                        "nativeSrc": "17206:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "17206:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "17176:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "17176:6:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "17184:18:136",
                        "nodeType": "YulLiteral",
                        "src": "17184:18:136",
                        "type": "",
                        "value": "0xffffffffffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "17173:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "17173:2:136"
                    },
                    "nativeSrc": "17173:30:136",
                    "nodeType": "YulFunctionCall",
                    "src": "17173:30:136"
                  },
                  "nativeSrc": "17170:50:136",
                  "nodeType": "YulIf",
                  "src": "17170:50:136"
                },
                {
                  "nativeSrc": "17229:84:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "17229:84:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "17285:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "17285:9:136"
                          },
                          {
                            "name": "offset",
                            "nativeSrc": "17296:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "17296:6:136"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "17281:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "17281:3:136"
                        },
                        "nativeSrc": "17281:22:136",
                        "nodeType": "YulFunctionCall",
                        "src": "17281:22:136"
                      },
                      {
                        "name": "dataEnd",
                        "nativeSrc": "17305:7:136",
                        "nodeType": "YulIdentifier",
                        "src": "17305:7:136"
                      }
                    ],
                    "functionName": {
                      "name": "abi_decode_bytes_calldata",
                      "nativeSrc": "17255:25:136",
                      "nodeType": "YulIdentifier",
                      "src": "17255:25:136"
                    },
                    "nativeSrc": "17255:58:136",
                    "nodeType": "YulFunctionCall",
                    "src": "17255:58:136"
                  },
                  "variables": [
                    {
                      "name": "value0_1",
                      "nativeSrc": "17233:8:136",
                      "nodeType": "YulTypedName",
                      "src": "17233:8:136",
                      "type": ""
                    },
                    {
                      "name": "value1_1",
                      "nativeSrc": "17243:8:136",
                      "nodeType": "YulTypedName",
                      "src": "17243:8:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "17322:18:136",
                  "nodeType": "YulAssignment",
                  "src": "17322:18:136",
                  "value": {
                    "name": "value0_1",
                    "nativeSrc": "17332:8:136",
                    "nodeType": "YulIdentifier",
                    "src": "17332:8:136"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "17322:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "17322:6:136"
                    }
                  ]
                },
                {
                  "nativeSrc": "17349:18:136",
                  "nodeType": "YulAssignment",
                  "src": "17349:18:136",
                  "value": {
                    "name": "value1_1",
                    "nativeSrc": "17359:8:136",
                    "nodeType": "YulIdentifier",
                    "src": "17359:8:136"
                  },
                  "variableNames": [
                    {
                      "name": "value1",
                      "nativeSrc": "17349:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "17349:6:136"
                    }
                  ]
                },
                {
                  "nativeSrc": "17376:45:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "17376:45:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "17406:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "17406:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "17417:2:136",
                            "nodeType": "YulLiteral",
                            "src": "17417:2:136",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "17402:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "17402:3:136"
                        },
                        "nativeSrc": "17402:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "17402:18:136"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "17389:12:136",
                      "nodeType": "YulIdentifier",
                      "src": "17389:12:136"
                    },
                    "nativeSrc": "17389:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "17389:32:136"
                  },
                  "variables": [
                    {
                      "name": "value",
                      "nativeSrc": "17380:5:136",
                      "nodeType": "YulTypedName",
                      "src": "17380:5:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "17452:5:136",
                        "nodeType": "YulIdentifier",
                        "src": "17452:5:136"
                      }
                    ],
                    "functionName": {
                      "name": "validator_revert_int8",
                      "nativeSrc": "17430:21:136",
                      "nodeType": "YulIdentifier",
                      "src": "17430:21:136"
                    },
                    "nativeSrc": "17430:28:136",
                    "nodeType": "YulFunctionCall",
                    "src": "17430:28:136"
                  },
                  "nativeSrc": "17430:28:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "17430:28:136"
                },
                {
                  "nativeSrc": "17467:15:136",
                  "nodeType": "YulAssignment",
                  "src": "17467:15:136",
                  "value": {
                    "name": "value",
                    "nativeSrc": "17477:5:136",
                    "nodeType": "YulIdentifier",
                    "src": "17477:5:136"
                  },
                  "variableNames": [
                    {
                      "name": "value2",
                      "nativeSrc": "17467:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "17467:6:136"
                    }
                  ]
                },
                {
                  "nativeSrc": "17491:16:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "17491:16:136",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "17506:1:136",
                    "nodeType": "YulLiteral",
                    "src": "17506:1:136",
                    "type": "",
                    "value": "0"
                  },
                  "variables": [
                    {
                      "name": "value_1",
                      "nativeSrc": "17495:7:136",
                      "nodeType": "YulTypedName",
                      "src": "17495:7:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "17516:43:136",
                  "nodeType": "YulAssignment",
                  "src": "17516:43:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "17544:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "17544:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "17555:2:136",
                            "nodeType": "YulLiteral",
                            "src": "17555:2:136",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "17540:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "17540:3:136"
                        },
                        "nativeSrc": "17540:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "17540:18:136"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "17527:12:136",
                      "nodeType": "YulIdentifier",
                      "src": "17527:12:136"
                    },
                    "nativeSrc": "17527:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "17527:32:136"
                  },
                  "variableNames": [
                    {
                      "name": "value_1",
                      "nativeSrc": "17516:7:136",
                      "nodeType": "YulIdentifier",
                      "src": "17516:7:136"
                    }
                  ]
                },
                {
                  "nativeSrc": "17568:17:136",
                  "nodeType": "YulAssignment",
                  "src": "17568:17:136",
                  "value": {
                    "name": "value_1",
                    "nativeSrc": "17578:7:136",
                    "nodeType": "YulIdentifier",
                    "src": "17578:7:136"
                  },
                  "variableNames": [
                    {
                      "name": "value3",
                      "nativeSrc": "17568:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "17568:6:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_string_calldata_ptrt_int8t_userDefinedValueType$_RadonHash_$37153",
            "nativeSrc": "16901:690:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "16995:9:136",
                "nodeType": "YulTypedName",
                "src": "16995:9:136",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "17006:7:136",
                "nodeType": "YulTypedName",
                "src": "17006:7:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "17018:6:136",
                "nodeType": "YulTypedName",
                "src": "17018:6:136",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "17026:6:136",
                "nodeType": "YulTypedName",
                "src": "17026:6:136",
                "type": ""
              },
              {
                "name": "value2",
                "nativeSrc": "17034:6:136",
                "nodeType": "YulTypedName",
                "src": "17034:6:136",
                "type": ""
              },
              {
                "name": "value3",
                "nativeSrc": "17042:6:136",
                "nodeType": "YulTypedName",
                "src": "17042:6:136",
                "type": ""
              }
            ],
            "src": "16901:690:136"
          },
          {
            "body": {
              "nativeSrc": "17640:75:136",
              "nodeType": "YulBlock",
              "src": "17640:75:136",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "17693:16:136",
                    "nodeType": "YulBlock",
                    "src": "17693:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "17702:1:136",
                              "nodeType": "YulLiteral",
                              "src": "17702:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "17705:1:136",
                              "nodeType": "YulLiteral",
                              "src": "17705:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "17695:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "17695:6:136"
                          },
                          "nativeSrc": "17695:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "17695:12:136"
                        },
                        "nativeSrc": "17695:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "17695:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "17663:5:136",
                            "nodeType": "YulIdentifier",
                            "src": "17663:5:136"
                          },
                          {
                            "arguments": [
                              {
                                "name": "value",
                                "nativeSrc": "17674:5:136",
                                "nodeType": "YulIdentifier",
                                "src": "17674:5:136"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "17681:8:136",
                                "nodeType": "YulLiteral",
                                "src": "17681:8:136",
                                "type": "",
                                "value": "0xffffff"
                              }
                            ],
                            "functionName": {
                              "name": "and",
                              "nativeSrc": "17670:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "17670:3:136"
                            },
                            "nativeSrc": "17670:20:136",
                            "nodeType": "YulFunctionCall",
                            "src": "17670:20:136"
                          }
                        ],
                        "functionName": {
                          "name": "eq",
                          "nativeSrc": "17660:2:136",
                          "nodeType": "YulIdentifier",
                          "src": "17660:2:136"
                        },
                        "nativeSrc": "17660:31:136",
                        "nodeType": "YulFunctionCall",
                        "src": "17660:31:136"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "17653:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "17653:6:136"
                    },
                    "nativeSrc": "17653:39:136",
                    "nodeType": "YulFunctionCall",
                    "src": "17653:39:136"
                  },
                  "nativeSrc": "17650:59:136",
                  "nodeType": "YulIf",
                  "src": "17650:59:136"
                }
              ]
            },
            "name": "validator_revert_uint24",
            "nativeSrc": "17596:119:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "value",
                "nativeSrc": "17629:5:136",
                "nodeType": "YulTypedName",
                "src": "17629:5:136",
                "type": ""
              }
            ],
            "src": "17596:119:136"
          },
          {
            "body": {
              "nativeSrc": "17831:317:136",
              "nodeType": "YulBlock",
              "src": "17831:317:136",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "17877:16:136",
                    "nodeType": "YulBlock",
                    "src": "17877:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "17886:1:136",
                              "nodeType": "YulLiteral",
                              "src": "17886:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "17889:1:136",
                              "nodeType": "YulLiteral",
                              "src": "17889:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "17879:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "17879:6:136"
                          },
                          "nativeSrc": "17879:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "17879:12:136"
                        },
                        "nativeSrc": "17879:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "17879:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "17852:7:136",
                            "nodeType": "YulIdentifier",
                            "src": "17852:7:136"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "17861:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "17861:9:136"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "17848:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "17848:3:136"
                        },
                        "nativeSrc": "17848:23:136",
                        "nodeType": "YulFunctionCall",
                        "src": "17848:23:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "17873:2:136",
                        "nodeType": "YulLiteral",
                        "src": "17873:2:136",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "17844:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "17844:3:136"
                    },
                    "nativeSrc": "17844:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "17844:32:136"
                  },
                  "nativeSrc": "17841:52:136",
                  "nodeType": "YulIf",
                  "src": "17841:52:136"
                },
                {
                  "nativeSrc": "17902:36:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "17902:36:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "17928:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "17928:9:136"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "17915:12:136",
                      "nodeType": "YulIdentifier",
                      "src": "17915:12:136"
                    },
                    "nativeSrc": "17915:23:136",
                    "nodeType": "YulFunctionCall",
                    "src": "17915:23:136"
                  },
                  "variables": [
                    {
                      "name": "value",
                      "nativeSrc": "17906:5:136",
                      "nodeType": "YulTypedName",
                      "src": "17906:5:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "17989:5:136",
                        "nodeType": "YulIdentifier",
                        "src": "17989:5:136"
                      }
                    ],
                    "functionName": {
                      "name": "validator_revert_userDefinedValueType_ID4",
                      "nativeSrc": "17947:41:136",
                      "nodeType": "YulIdentifier",
                      "src": "17947:41:136"
                    },
                    "nativeSrc": "17947:48:136",
                    "nodeType": "YulFunctionCall",
                    "src": "17947:48:136"
                  },
                  "nativeSrc": "17947:48:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "17947:48:136"
                },
                {
                  "nativeSrc": "18004:15:136",
                  "nodeType": "YulAssignment",
                  "src": "18004:15:136",
                  "value": {
                    "name": "value",
                    "nativeSrc": "18014:5:136",
                    "nodeType": "YulIdentifier",
                    "src": "18014:5:136"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "18004:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "18004:6:136"
                    }
                  ]
                },
                {
                  "nativeSrc": "18028:47:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "18028:47:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "18060:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "18060:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "18071:2:136",
                            "nodeType": "YulLiteral",
                            "src": "18071:2:136",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "18056:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "18056:3:136"
                        },
                        "nativeSrc": "18056:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "18056:18:136"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "18043:12:136",
                      "nodeType": "YulIdentifier",
                      "src": "18043:12:136"
                    },
                    "nativeSrc": "18043:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "18043:32:136"
                  },
                  "variables": [
                    {
                      "name": "value_1",
                      "nativeSrc": "18032:7:136",
                      "nodeType": "YulTypedName",
                      "src": "18032:7:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value_1",
                        "nativeSrc": "18108:7:136",
                        "nodeType": "YulIdentifier",
                        "src": "18108:7:136"
                      }
                    ],
                    "functionName": {
                      "name": "validator_revert_uint24",
                      "nativeSrc": "18084:23:136",
                      "nodeType": "YulIdentifier",
                      "src": "18084:23:136"
                    },
                    "nativeSrc": "18084:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "18084:32:136"
                  },
                  "nativeSrc": "18084:32:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "18084:32:136"
                },
                {
                  "nativeSrc": "18125:17:136",
                  "nodeType": "YulAssignment",
                  "src": "18125:17:136",
                  "value": {
                    "name": "value_1",
                    "nativeSrc": "18135:7:136",
                    "nodeType": "YulIdentifier",
                    "src": "18135:7:136"
                  },
                  "variableNames": [
                    {
                      "name": "value1",
                      "nativeSrc": "18125:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "18125:6:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_userDefinedValueType$_ID4_$28155t_uint24",
            "nativeSrc": "17720:428:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "17789:9:136",
                "nodeType": "YulTypedName",
                "src": "17789:9:136",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "17800:7:136",
                "nodeType": "YulTypedName",
                "src": "17800:7:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "17812:6:136",
                "nodeType": "YulTypedName",
                "src": "17812:6:136",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "17820:6:136",
                "nodeType": "YulTypedName",
                "src": "17820:6:136",
                "type": ""
              }
            ],
            "src": "17720:428:136"
          },
          {
            "body": {
              "nativeSrc": "18321:797:136",
              "nodeType": "YulBlock",
              "src": "18321:797:136",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "18368:16:136",
                    "nodeType": "YulBlock",
                    "src": "18368:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "18377:1:136",
                              "nodeType": "YulLiteral",
                              "src": "18377:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "18380:1:136",
                              "nodeType": "YulLiteral",
                              "src": "18380:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "18370:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "18370:6:136"
                          },
                          "nativeSrc": "18370:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "18370:12:136"
                        },
                        "nativeSrc": "18370:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "18370:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "18342:7:136",
                            "nodeType": "YulIdentifier",
                            "src": "18342:7:136"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "18351:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "18351:9:136"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "18338:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "18338:3:136"
                        },
                        "nativeSrc": "18338:23:136",
                        "nodeType": "YulFunctionCall",
                        "src": "18338:23:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "18363:3:136",
                        "nodeType": "YulLiteral",
                        "src": "18363:3:136",
                        "type": "",
                        "value": "160"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "18334:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "18334:3:136"
                    },
                    "nativeSrc": "18334:33:136",
                    "nodeType": "YulFunctionCall",
                    "src": "18334:33:136"
                  },
                  "nativeSrc": "18331:53:136",
                  "nodeType": "YulIf",
                  "src": "18331:53:136"
                },
                {
                  "nativeSrc": "18393:37:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "18393:37:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "18420:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "18420:9:136"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "18407:12:136",
                      "nodeType": "YulIdentifier",
                      "src": "18407:12:136"
                    },
                    "nativeSrc": "18407:23:136",
                    "nodeType": "YulFunctionCall",
                    "src": "18407:23:136"
                  },
                  "variables": [
                    {
                      "name": "offset",
                      "nativeSrc": "18397:6:136",
                      "nodeType": "YulTypedName",
                      "src": "18397:6:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "18473:16:136",
                    "nodeType": "YulBlock",
                    "src": "18473:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "18482:1:136",
                              "nodeType": "YulLiteral",
                              "src": "18482:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "18485:1:136",
                              "nodeType": "YulLiteral",
                              "src": "18485:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "18475:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "18475:6:136"
                          },
                          "nativeSrc": "18475:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "18475:12:136"
                        },
                        "nativeSrc": "18475:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "18475:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "18445:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "18445:6:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "18453:18:136",
                        "nodeType": "YulLiteral",
                        "src": "18453:18:136",
                        "type": "",
                        "value": "0xffffffffffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "18442:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "18442:2:136"
                    },
                    "nativeSrc": "18442:30:136",
                    "nodeType": "YulFunctionCall",
                    "src": "18442:30:136"
                  },
                  "nativeSrc": "18439:50:136",
                  "nodeType": "YulIf",
                  "src": "18439:50:136"
                },
                {
                  "nativeSrc": "18498:84:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "18498:84:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "18554:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "18554:9:136"
                          },
                          {
                            "name": "offset",
                            "nativeSrc": "18565:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "18565:6:136"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "18550:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "18550:3:136"
                        },
                        "nativeSrc": "18550:22:136",
                        "nodeType": "YulFunctionCall",
                        "src": "18550:22:136"
                      },
                      {
                        "name": "dataEnd",
                        "nativeSrc": "18574:7:136",
                        "nodeType": "YulIdentifier",
                        "src": "18574:7:136"
                      }
                    ],
                    "functionName": {
                      "name": "abi_decode_bytes_calldata",
                      "nativeSrc": "18524:25:136",
                      "nodeType": "YulIdentifier",
                      "src": "18524:25:136"
                    },
                    "nativeSrc": "18524:58:136",
                    "nodeType": "YulFunctionCall",
                    "src": "18524:58:136"
                  },
                  "variables": [
                    {
                      "name": "value0_1",
                      "nativeSrc": "18502:8:136",
                      "nodeType": "YulTypedName",
                      "src": "18502:8:136",
                      "type": ""
                    },
                    {
                      "name": "value1_1",
                      "nativeSrc": "18512:8:136",
                      "nodeType": "YulTypedName",
                      "src": "18512:8:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "18591:18:136",
                  "nodeType": "YulAssignment",
                  "src": "18591:18:136",
                  "value": {
                    "name": "value0_1",
                    "nativeSrc": "18601:8:136",
                    "nodeType": "YulIdentifier",
                    "src": "18601:8:136"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "18591:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "18591:6:136"
                    }
                  ]
                },
                {
                  "nativeSrc": "18618:18:136",
                  "nodeType": "YulAssignment",
                  "src": "18618:18:136",
                  "value": {
                    "name": "value1_1",
                    "nativeSrc": "18628:8:136",
                    "nodeType": "YulIdentifier",
                    "src": "18628:8:136"
                  },
                  "variableNames": [
                    {
                      "name": "value1",
                      "nativeSrc": "18618:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "18618:6:136"
                    }
                  ]
                },
                {
                  "nativeSrc": "18645:45:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "18645:45:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "18675:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "18675:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "18686:2:136",
                            "nodeType": "YulLiteral",
                            "src": "18686:2:136",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "18671:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "18671:3:136"
                        },
                        "nativeSrc": "18671:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "18671:18:136"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "18658:12:136",
                      "nodeType": "YulIdentifier",
                      "src": "18658:12:136"
                    },
                    "nativeSrc": "18658:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "18658:32:136"
                  },
                  "variables": [
                    {
                      "name": "value",
                      "nativeSrc": "18649:5:136",
                      "nodeType": "YulTypedName",
                      "src": "18649:5:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "18721:5:136",
                        "nodeType": "YulIdentifier",
                        "src": "18721:5:136"
                      }
                    ],
                    "functionName": {
                      "name": "validator_revert_int8",
                      "nativeSrc": "18699:21:136",
                      "nodeType": "YulIdentifier",
                      "src": "18699:21:136"
                    },
                    "nativeSrc": "18699:28:136",
                    "nodeType": "YulFunctionCall",
                    "src": "18699:28:136"
                  },
                  "nativeSrc": "18699:28:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "18699:28:136"
                },
                {
                  "nativeSrc": "18736:15:136",
                  "nodeType": "YulAssignment",
                  "src": "18736:15:136",
                  "value": {
                    "name": "value",
                    "nativeSrc": "18746:5:136",
                    "nodeType": "YulIdentifier",
                    "src": "18746:5:136"
                  },
                  "variableNames": [
                    {
                      "name": "value2",
                      "nativeSrc": "18736:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "18736:6:136"
                    }
                  ]
                },
                {
                  "nativeSrc": "18760:47:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "18760:47:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "18792:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "18792:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "18803:2:136",
                            "nodeType": "YulLiteral",
                            "src": "18803:2:136",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "18788:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "18788:3:136"
                        },
                        "nativeSrc": "18788:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "18788:18:136"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "18775:12:136",
                      "nodeType": "YulIdentifier",
                      "src": "18775:12:136"
                    },
                    "nativeSrc": "18775:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "18775:32:136"
                  },
                  "variables": [
                    {
                      "name": "value_1",
                      "nativeSrc": "18764:7:136",
                      "nodeType": "YulTypedName",
                      "src": "18764:7:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "18842:16:136",
                    "nodeType": "YulBlock",
                    "src": "18842:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "18851:1:136",
                              "nodeType": "YulLiteral",
                              "src": "18851:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "18854:1:136",
                              "nodeType": "YulLiteral",
                              "src": "18854:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "18844:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "18844:6:136"
                          },
                          "nativeSrc": "18844:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "18844:12:136"
                        },
                        "nativeSrc": "18844:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "18844:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value_1",
                            "nativeSrc": "18829:7:136",
                            "nodeType": "YulIdentifier",
                            "src": "18829:7:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "18838:1:136",
                            "nodeType": "YulLiteral",
                            "src": "18838:1:136",
                            "type": "",
                            "value": "4"
                          }
                        ],
                        "functionName": {
                          "name": "lt",
                          "nativeSrc": "18826:2:136",
                          "nodeType": "YulIdentifier",
                          "src": "18826:2:136"
                        },
                        "nativeSrc": "18826:14:136",
                        "nodeType": "YulFunctionCall",
                        "src": "18826:14:136"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "18819:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "18819:6:136"
                    },
                    "nativeSrc": "18819:22:136",
                    "nodeType": "YulFunctionCall",
                    "src": "18819:22:136"
                  },
                  "nativeSrc": "18816:42:136",
                  "nodeType": "YulIf",
                  "src": "18816:42:136"
                },
                {
                  "nativeSrc": "18867:17:136",
                  "nodeType": "YulAssignment",
                  "src": "18867:17:136",
                  "value": {
                    "name": "value_1",
                    "nativeSrc": "18877:7:136",
                    "nodeType": "YulIdentifier",
                    "src": "18877:7:136"
                  },
                  "variableNames": [
                    {
                      "name": "value3",
                      "nativeSrc": "18867:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "18867:6:136"
                    }
                  ]
                },
                {
                  "nativeSrc": "18893:47:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "18893:47:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "18925:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "18925:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "18936:2:136",
                            "nodeType": "YulLiteral",
                            "src": "18936:2:136",
                            "type": "",
                            "value": "96"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "18921:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "18921:3:136"
                        },
                        "nativeSrc": "18921:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "18921:18:136"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "18908:12:136",
                      "nodeType": "YulIdentifier",
                      "src": "18908:12:136"
                    },
                    "nativeSrc": "18908:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "18908:32:136"
                  },
                  "variables": [
                    {
                      "name": "value_2",
                      "nativeSrc": "18897:7:136",
                      "nodeType": "YulTypedName",
                      "src": "18897:7:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value_2",
                        "nativeSrc": "18974:7:136",
                        "nodeType": "YulIdentifier",
                        "src": "18974:7:136"
                      }
                    ],
                    "functionName": {
                      "name": "validator_revert_address",
                      "nativeSrc": "18949:24:136",
                      "nodeType": "YulIdentifier",
                      "src": "18949:24:136"
                    },
                    "nativeSrc": "18949:33:136",
                    "nodeType": "YulFunctionCall",
                    "src": "18949:33:136"
                  },
                  "nativeSrc": "18949:33:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "18949:33:136"
                },
                {
                  "nativeSrc": "18991:17:136",
                  "nodeType": "YulAssignment",
                  "src": "18991:17:136",
                  "value": {
                    "name": "value_2",
                    "nativeSrc": "19001:7:136",
                    "nodeType": "YulIdentifier",
                    "src": "19001:7:136"
                  },
                  "variableNames": [
                    {
                      "name": "value4",
                      "nativeSrc": "18991:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "18991:6:136"
                    }
                  ]
                },
                {
                  "nativeSrc": "19017:16:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "19017:16:136",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "19032:1:136",
                    "nodeType": "YulLiteral",
                    "src": "19032:1:136",
                    "type": "",
                    "value": "0"
                  },
                  "variables": [
                    {
                      "name": "value_3",
                      "nativeSrc": "19021:7:136",
                      "nodeType": "YulTypedName",
                      "src": "19021:7:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "19042:44:136",
                  "nodeType": "YulAssignment",
                  "src": "19042:44:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "19070:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "19070:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "19081:3:136",
                            "nodeType": "YulLiteral",
                            "src": "19081:3:136",
                            "type": "",
                            "value": "128"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "19066:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "19066:3:136"
                        },
                        "nativeSrc": "19066:19:136",
                        "nodeType": "YulFunctionCall",
                        "src": "19066:19:136"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "19053:12:136",
                      "nodeType": "YulIdentifier",
                      "src": "19053:12:136"
                    },
                    "nativeSrc": "19053:33:136",
                    "nodeType": "YulFunctionCall",
                    "src": "19053:33:136"
                  },
                  "variableNames": [
                    {
                      "name": "value_3",
                      "nativeSrc": "19042:7:136",
                      "nodeType": "YulIdentifier",
                      "src": "19042:7:136"
                    }
                  ]
                },
                {
                  "nativeSrc": "19095:17:136",
                  "nodeType": "YulAssignment",
                  "src": "19095:17:136",
                  "value": {
                    "name": "value_3",
                    "nativeSrc": "19105:7:136",
                    "nodeType": "YulIdentifier",
                    "src": "19105:7:136"
                  },
                  "variableNames": [
                    {
                      "name": "value5",
                      "nativeSrc": "19095:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "19095:6:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_string_calldata_ptrt_int8t_enum$_Oracles_$28092t_addresst_bytes32",
            "nativeSrc": "18153:965:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "18247:9:136",
                "nodeType": "YulTypedName",
                "src": "18247:9:136",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "18258:7:136",
                "nodeType": "YulTypedName",
                "src": "18258:7:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "18270:6:136",
                "nodeType": "YulTypedName",
                "src": "18270:6:136",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "18278:6:136",
                "nodeType": "YulTypedName",
                "src": "18278:6:136",
                "type": ""
              },
              {
                "name": "value2",
                "nativeSrc": "18286:6:136",
                "nodeType": "YulTypedName",
                "src": "18286:6:136",
                "type": ""
              },
              {
                "name": "value3",
                "nativeSrc": "18294:6:136",
                "nodeType": "YulTypedName",
                "src": "18294:6:136",
                "type": ""
              },
              {
                "name": "value4",
                "nativeSrc": "18302:6:136",
                "nodeType": "YulTypedName",
                "src": "18302:6:136",
                "type": ""
              },
              {
                "name": "value5",
                "nativeSrc": "18310:6:136",
                "nodeType": "YulTypedName",
                "src": "18310:6:136",
                "type": ""
              }
            ],
            "src": "18153:965:136"
          },
          {
            "body": {
              "nativeSrc": "19193:156:136",
              "nodeType": "YulBlock",
              "src": "19193:156:136",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "19239:16:136",
                    "nodeType": "YulBlock",
                    "src": "19239:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "19248:1:136",
                              "nodeType": "YulLiteral",
                              "src": "19248:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "19251:1:136",
                              "nodeType": "YulLiteral",
                              "src": "19251:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "19241:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "19241:6:136"
                          },
                          "nativeSrc": "19241:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "19241:12:136"
                        },
                        "nativeSrc": "19241:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "19241:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "19214:7:136",
                            "nodeType": "YulIdentifier",
                            "src": "19214:7:136"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "19223:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "19223:9:136"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "19210:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "19210:3:136"
                        },
                        "nativeSrc": "19210:23:136",
                        "nodeType": "YulFunctionCall",
                        "src": "19210:23:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "19235:2:136",
                        "nodeType": "YulLiteral",
                        "src": "19235:2:136",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "19206:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "19206:3:136"
                    },
                    "nativeSrc": "19206:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "19206:32:136"
                  },
                  "nativeSrc": "19203:52:136",
                  "nodeType": "YulIf",
                  "src": "19203:52:136"
                },
                {
                  "nativeSrc": "19264:14:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "19264:14:136",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "19277:1:136",
                    "nodeType": "YulLiteral",
                    "src": "19277:1:136",
                    "type": "",
                    "value": "0"
                  },
                  "variables": [
                    {
                      "name": "value",
                      "nativeSrc": "19268:5:136",
                      "nodeType": "YulTypedName",
                      "src": "19268:5:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "19287:32:136",
                  "nodeType": "YulAssignment",
                  "src": "19287:32:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "19309:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "19309:9:136"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "19296:12:136",
                      "nodeType": "YulIdentifier",
                      "src": "19296:12:136"
                    },
                    "nativeSrc": "19296:23:136",
                    "nodeType": "YulFunctionCall",
                    "src": "19296:23:136"
                  },
                  "variableNames": [
                    {
                      "name": "value",
                      "nativeSrc": "19287:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "19287:5:136"
                    }
                  ]
                },
                {
                  "nativeSrc": "19328:15:136",
                  "nodeType": "YulAssignment",
                  "src": "19328:15:136",
                  "value": {
                    "name": "value",
                    "nativeSrc": "19338:5:136",
                    "nodeType": "YulIdentifier",
                    "src": "19338:5:136"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "19328:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "19328:6:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_bytes32",
            "nativeSrc": "19123:226:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "19159:9:136",
                "nodeType": "YulTypedName",
                "src": "19159:9:136",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "19170:7:136",
                "nodeType": "YulTypedName",
                "src": "19170:7:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "19182:6:136",
                "nodeType": "YulTypedName",
                "src": "19182:6:136",
                "type": ""
              }
            ],
            "src": "19123:226:136"
          },
          {
            "body": {
              "nativeSrc": "19509:162:136",
              "nodeType": "YulBlock",
              "src": "19509:162:136",
              "statements": [
                {
                  "nativeSrc": "19519:26:136",
                  "nodeType": "YulAssignment",
                  "src": "19519:26:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "19531:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "19531:9:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "19542:2:136",
                        "nodeType": "YulLiteral",
                        "src": "19542:2:136",
                        "type": "",
                        "value": "96"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "19527:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "19527:3:136"
                    },
                    "nativeSrc": "19527:18:136",
                    "nodeType": "YulFunctionCall",
                    "src": "19527:18:136"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "19519:4:136",
                      "nodeType": "YulIdentifier",
                      "src": "19519:4:136"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "19561:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "19561:9:136"
                      },
                      {
                        "name": "value0",
                        "nativeSrc": "19572:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "19572:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "19554:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "19554:6:136"
                    },
                    "nativeSrc": "19554:25:136",
                    "nodeType": "YulFunctionCall",
                    "src": "19554:25:136"
                  },
                  "nativeSrc": "19554:25:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "19554:25:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "19599:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "19599:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "19610:2:136",
                            "nodeType": "YulLiteral",
                            "src": "19610:2:136",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "19595:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "19595:3:136"
                        },
                        "nativeSrc": "19595:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "19595:18:136"
                      },
                      {
                        "name": "value1",
                        "nativeSrc": "19615:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "19615:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "19588:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "19588:6:136"
                    },
                    "nativeSrc": "19588:34:136",
                    "nodeType": "YulFunctionCall",
                    "src": "19588:34:136"
                  },
                  "nativeSrc": "19588:34:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "19588:34:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "19642:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "19642:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "19653:2:136",
                            "nodeType": "YulLiteral",
                            "src": "19653:2:136",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "19638:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "19638:3:136"
                        },
                        "nativeSrc": "19638:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "19638:18:136"
                      },
                      {
                        "name": "value2",
                        "nativeSrc": "19658:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "19658:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "19631:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "19631:6:136"
                    },
                    "nativeSrc": "19631:34:136",
                    "nodeType": "YulFunctionCall",
                    "src": "19631:34:136"
                  },
                  "nativeSrc": "19631:34:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "19631:34:136"
                }
              ]
            },
            "name": "abi_encode_tuple_t_int256_t_uint256_t_uint256__to_t_int256_t_uint256_t_uint256__fromStack_reversed",
            "nativeSrc": "19354:317:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "19462:9:136",
                "nodeType": "YulTypedName",
                "src": "19462:9:136",
                "type": ""
              },
              {
                "name": "value2",
                "nativeSrc": "19473:6:136",
                "nodeType": "YulTypedName",
                "src": "19473:6:136",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "19481:6:136",
                "nodeType": "YulTypedName",
                "src": "19481:6:136",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "19489:6:136",
                "nodeType": "YulTypedName",
                "src": "19489:6:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "19500:4:136",
                "nodeType": "YulTypedName",
                "src": "19500:4:136",
                "type": ""
              }
            ],
            "src": "19354:317:136"
          },
          {
            "body": {
              "nativeSrc": "19820:412:136",
              "nodeType": "YulBlock",
              "src": "19820:412:136",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "19867:16:136",
                    "nodeType": "YulBlock",
                    "src": "19867:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "19876:1:136",
                              "nodeType": "YulLiteral",
                              "src": "19876:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "19879:1:136",
                              "nodeType": "YulLiteral",
                              "src": "19879:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "19869:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "19869:6:136"
                          },
                          "nativeSrc": "19869:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "19869:12:136"
                        },
                        "nativeSrc": "19869:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "19869:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "19841:7:136",
                            "nodeType": "YulIdentifier",
                            "src": "19841:7:136"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "19850:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "19850:9:136"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "19837:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "19837:3:136"
                        },
                        "nativeSrc": "19837:23:136",
                        "nodeType": "YulFunctionCall",
                        "src": "19837:23:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "19862:3:136",
                        "nodeType": "YulLiteral",
                        "src": "19862:3:136",
                        "type": "",
                        "value": "224"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "19833:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "19833:3:136"
                    },
                    "nativeSrc": "19833:33:136",
                    "nodeType": "YulFunctionCall",
                    "src": "19833:33:136"
                  },
                  "nativeSrc": "19830:53:136",
                  "nodeType": "YulIf",
                  "src": "19830:53:136"
                },
                {
                  "nativeSrc": "19892:37:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "19892:37:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "19919:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "19919:9:136"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "19906:12:136",
                      "nodeType": "YulIdentifier",
                      "src": "19906:12:136"
                    },
                    "nativeSrc": "19906:23:136",
                    "nodeType": "YulFunctionCall",
                    "src": "19906:23:136"
                  },
                  "variables": [
                    {
                      "name": "offset",
                      "nativeSrc": "19896:6:136",
                      "nodeType": "YulTypedName",
                      "src": "19896:6:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "19972:16:136",
                    "nodeType": "YulBlock",
                    "src": "19972:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "19981:1:136",
                              "nodeType": "YulLiteral",
                              "src": "19981:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "19984:1:136",
                              "nodeType": "YulLiteral",
                              "src": "19984:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "19974:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "19974:6:136"
                          },
                          "nativeSrc": "19974:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "19974:12:136"
                        },
                        "nativeSrc": "19974:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "19974:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "19944:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "19944:6:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "19952:18:136",
                        "nodeType": "YulLiteral",
                        "src": "19952:18:136",
                        "type": "",
                        "value": "0xffffffffffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "19941:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "19941:2:136"
                    },
                    "nativeSrc": "19941:30:136",
                    "nodeType": "YulFunctionCall",
                    "src": "19941:30:136"
                  },
                  "nativeSrc": "19938:50:136",
                  "nodeType": "YulIf",
                  "src": "19938:50:136"
                },
                {
                  "nativeSrc": "19997:84:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "19997:84:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "20053:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "20053:9:136"
                          },
                          {
                            "name": "offset",
                            "nativeSrc": "20064:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "20064:6:136"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "20049:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "20049:3:136"
                        },
                        "nativeSrc": "20049:22:136",
                        "nodeType": "YulFunctionCall",
                        "src": "20049:22:136"
                      },
                      {
                        "name": "dataEnd",
                        "nativeSrc": "20073:7:136",
                        "nodeType": "YulIdentifier",
                        "src": "20073:7:136"
                      }
                    ],
                    "functionName": {
                      "name": "abi_decode_bytes_calldata",
                      "nativeSrc": "20023:25:136",
                      "nodeType": "YulIdentifier",
                      "src": "20023:25:136"
                    },
                    "nativeSrc": "20023:58:136",
                    "nodeType": "YulFunctionCall",
                    "src": "20023:58:136"
                  },
                  "variables": [
                    {
                      "name": "value0_1",
                      "nativeSrc": "20001:8:136",
                      "nodeType": "YulTypedName",
                      "src": "20001:8:136",
                      "type": ""
                    },
                    {
                      "name": "value1_1",
                      "nativeSrc": "20011:8:136",
                      "nodeType": "YulTypedName",
                      "src": "20011:8:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "20090:18:136",
                  "nodeType": "YulAssignment",
                  "src": "20090:18:136",
                  "value": {
                    "name": "value0_1",
                    "nativeSrc": "20100:8:136",
                    "nodeType": "YulIdentifier",
                    "src": "20100:8:136"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "20090:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "20090:6:136"
                    }
                  ]
                },
                {
                  "nativeSrc": "20117:18:136",
                  "nodeType": "YulAssignment",
                  "src": "20117:18:136",
                  "value": {
                    "name": "value1_1",
                    "nativeSrc": "20127:8:136",
                    "nodeType": "YulIdentifier",
                    "src": "20127:8:136"
                  },
                  "variableNames": [
                    {
                      "name": "value1",
                      "nativeSrc": "20117:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "20117:6:136"
                    }
                  ]
                },
                {
                  "nativeSrc": "20144:82:136",
                  "nodeType": "YulAssignment",
                  "src": "20144:82:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "20202:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "20202:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "20213:2:136",
                            "nodeType": "YulLiteral",
                            "src": "20213:2:136",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "20198:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "20198:3:136"
                        },
                        "nativeSrc": "20198:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "20198:18:136"
                      },
                      {
                        "name": "dataEnd",
                        "nativeSrc": "20218:7:136",
                        "nodeType": "YulIdentifier",
                        "src": "20218:7:136"
                      }
                    ],
                    "functionName": {
                      "name": "abi_decode_struct_UpdateConditions_calldata",
                      "nativeSrc": "20154:43:136",
                      "nodeType": "YulIdentifier",
                      "src": "20154:43:136"
                    },
                    "nativeSrc": "20154:72:136",
                    "nodeType": "YulFunctionCall",
                    "src": "20154:72:136"
                  },
                  "variableNames": [
                    {
                      "name": "value2",
                      "nativeSrc": "20144:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "20144:6:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_string_calldata_ptrt_struct$_UpdateConditions_$28153_calldata_ptr",
            "nativeSrc": "19676:556:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "19770:9:136",
                "nodeType": "YulTypedName",
                "src": "19770:9:136",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "19781:7:136",
                "nodeType": "YulTypedName",
                "src": "19781:7:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "19793:6:136",
                "nodeType": "YulTypedName",
                "src": "19793:6:136",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "19801:6:136",
                "nodeType": "YulTypedName",
                "src": "19801:6:136",
                "type": ""
              },
              {
                "name": "value2",
                "nativeSrc": "19809:6:136",
                "nodeType": "YulTypedName",
                "src": "19809:6:136",
                "type": ""
              }
            ],
            "src": "19676:556:136"
          },
          {
            "body": {
              "nativeSrc": "20361:269:136",
              "nodeType": "YulBlock",
              "src": "20361:269:136",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "20408:16:136",
                    "nodeType": "YulBlock",
                    "src": "20408:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "20417:1:136",
                              "nodeType": "YulLiteral",
                              "src": "20417:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "20420:1:136",
                              "nodeType": "YulLiteral",
                              "src": "20420:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "20410:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "20410:6:136"
                          },
                          "nativeSrc": "20410:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "20410:12:136"
                        },
                        "nativeSrc": "20410:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "20410:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "20382:7:136",
                            "nodeType": "YulIdentifier",
                            "src": "20382:7:136"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "20391:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "20391:9:136"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "20378:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "20378:3:136"
                        },
                        "nativeSrc": "20378:23:136",
                        "nodeType": "YulFunctionCall",
                        "src": "20378:23:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "20403:3:136",
                        "nodeType": "YulLiteral",
                        "src": "20403:3:136",
                        "type": "",
                        "value": "224"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "20374:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "20374:3:136"
                    },
                    "nativeSrc": "20374:33:136",
                    "nodeType": "YulFunctionCall",
                    "src": "20374:33:136"
                  },
                  "nativeSrc": "20371:53:136",
                  "nodeType": "YulIf",
                  "src": "20371:53:136"
                },
                {
                  "nativeSrc": "20433:36:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "20433:36:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "20459:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "20459:9:136"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "20446:12:136",
                      "nodeType": "YulIdentifier",
                      "src": "20446:12:136"
                    },
                    "nativeSrc": "20446:23:136",
                    "nodeType": "YulFunctionCall",
                    "src": "20446:23:136"
                  },
                  "variables": [
                    {
                      "name": "value",
                      "nativeSrc": "20437:5:136",
                      "nodeType": "YulTypedName",
                      "src": "20437:5:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "20503:5:136",
                        "nodeType": "YulIdentifier",
                        "src": "20503:5:136"
                      }
                    ],
                    "functionName": {
                      "name": "validator_revert_address",
                      "nativeSrc": "20478:24:136",
                      "nodeType": "YulIdentifier",
                      "src": "20478:24:136"
                    },
                    "nativeSrc": "20478:31:136",
                    "nodeType": "YulFunctionCall",
                    "src": "20478:31:136"
                  },
                  "nativeSrc": "20478:31:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "20478:31:136"
                },
                {
                  "nativeSrc": "20518:15:136",
                  "nodeType": "YulAssignment",
                  "src": "20518:15:136",
                  "value": {
                    "name": "value",
                    "nativeSrc": "20528:5:136",
                    "nodeType": "YulIdentifier",
                    "src": "20528:5:136"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "20518:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "20518:6:136"
                    }
                  ]
                },
                {
                  "nativeSrc": "20542:82:136",
                  "nodeType": "YulAssignment",
                  "src": "20542:82:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "20600:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "20600:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "20611:2:136",
                            "nodeType": "YulLiteral",
                            "src": "20611:2:136",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "20596:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "20596:3:136"
                        },
                        "nativeSrc": "20596:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "20596:18:136"
                      },
                      {
                        "name": "dataEnd",
                        "nativeSrc": "20616:7:136",
                        "nodeType": "YulIdentifier",
                        "src": "20616:7:136"
                      }
                    ],
                    "functionName": {
                      "name": "abi_decode_struct_UpdateConditions_calldata",
                      "nativeSrc": "20552:43:136",
                      "nodeType": "YulIdentifier",
                      "src": "20552:43:136"
                    },
                    "nativeSrc": "20552:72:136",
                    "nodeType": "YulFunctionCall",
                    "src": "20552:72:136"
                  },
                  "variableNames": [
                    {
                      "name": "value1",
                      "nativeSrc": "20542:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "20542:6:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_addresst_struct$_UpdateConditions_$28153_calldata_ptr",
            "nativeSrc": "20237:393:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "20319:9:136",
                "nodeType": "YulTypedName",
                "src": "20319:9:136",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "20330:7:136",
                "nodeType": "YulTypedName",
                "src": "20330:7:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "20342:6:136",
                "nodeType": "YulTypedName",
                "src": "20342:6:136",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "20350:6:136",
                "nodeType": "YulTypedName",
                "src": "20350:6:136",
                "type": ""
              }
            ],
            "src": "20237:393:136"
          },
          {
            "body": {
              "nativeSrc": "20685:162:136",
              "nodeType": "YulBlock",
              "src": "20685:162:136",
              "statements": [
                {
                  "nativeSrc": "20695:26:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "20695:26:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "20715:5:136",
                        "nodeType": "YulIdentifier",
                        "src": "20715:5:136"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "20709:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "20709:5:136"
                    },
                    "nativeSrc": "20709:12:136",
                    "nodeType": "YulFunctionCall",
                    "src": "20709:12:136"
                  },
                  "variables": [
                    {
                      "name": "length",
                      "nativeSrc": "20699:6:136",
                      "nodeType": "YulTypedName",
                      "src": "20699:6:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "pos",
                        "nativeSrc": "20736:3:136",
                        "nodeType": "YulIdentifier",
                        "src": "20736:3:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "20745:5:136",
                            "nodeType": "YulIdentifier",
                            "src": "20745:5:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "20752:4:136",
                            "nodeType": "YulLiteral",
                            "src": "20752:4:136",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "20741:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "20741:3:136"
                        },
                        "nativeSrc": "20741:16:136",
                        "nodeType": "YulFunctionCall",
                        "src": "20741:16:136"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "20759:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "20759:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "mcopy",
                      "nativeSrc": "20730:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "20730:5:136"
                    },
                    "nativeSrc": "20730:36:136",
                    "nodeType": "YulFunctionCall",
                    "src": "20730:36:136"
                  },
                  "nativeSrc": "20730:36:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "20730:36:136"
                },
                {
                  "nativeSrc": "20775:26:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "20775:26:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "pos",
                        "nativeSrc": "20789:3:136",
                        "nodeType": "YulIdentifier",
                        "src": "20789:3:136"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "20794:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "20794:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "20785:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "20785:3:136"
                    },
                    "nativeSrc": "20785:16:136",
                    "nodeType": "YulFunctionCall",
                    "src": "20785:16:136"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "20779:2:136",
                      "nodeType": "YulTypedName",
                      "src": "20779:2:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "_1",
                        "nativeSrc": "20817:2:136",
                        "nodeType": "YulIdentifier",
                        "src": "20817:2:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "20821:1:136",
                        "nodeType": "YulLiteral",
                        "src": "20821:1:136",
                        "type": "",
                        "value": "0"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "20810:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "20810:6:136"
                    },
                    "nativeSrc": "20810:13:136",
                    "nodeType": "YulFunctionCall",
                    "src": "20810:13:136"
                  },
                  "nativeSrc": "20810:13:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "20810:13:136"
                },
                {
                  "nativeSrc": "20832:9:136",
                  "nodeType": "YulAssignment",
                  "src": "20832:9:136",
                  "value": {
                    "name": "_1",
                    "nativeSrc": "20839:2:136",
                    "nodeType": "YulIdentifier",
                    "src": "20839:2:136"
                  },
                  "variableNames": [
                    {
                      "name": "end",
                      "nativeSrc": "20832:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "20832:3:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_string",
            "nativeSrc": "20635:212:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "value",
                "nativeSrc": "20662:5:136",
                "nodeType": "YulTypedName",
                "src": "20662:5:136",
                "type": ""
              },
              {
                "name": "pos",
                "nativeSrc": "20669:3:136",
                "nodeType": "YulTypedName",
                "src": "20669:3:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "end",
                "nativeSrc": "20677:3:136",
                "nodeType": "YulTypedName",
                "src": "20677:3:136",
                "type": ""
              }
            ],
            "src": "20635:212:136"
          },
          {
            "body": {
              "nativeSrc": "21140:134:136",
              "nodeType": "YulBlock",
              "src": "21140:134:136",
              "statements": [
                {
                  "nativeSrc": "21150:40:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "21150:40:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "value0",
                        "nativeSrc": "21178:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "21178:6:136"
                      },
                      {
                        "name": "pos",
                        "nativeSrc": "21186:3:136",
                        "nodeType": "YulIdentifier",
                        "src": "21186:3:136"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_string",
                      "nativeSrc": "21160:17:136",
                      "nodeType": "YulIdentifier",
                      "src": "21160:17:136"
                    },
                    "nativeSrc": "21160:30:136",
                    "nodeType": "YulFunctionCall",
                    "src": "21160:30:136"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "21154:2:136",
                      "nodeType": "YulTypedName",
                      "src": "21154:2:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "_1",
                        "nativeSrc": "21206:2:136",
                        "nodeType": "YulIdentifier",
                        "src": "21206:2:136"
                      },
                      {
                        "hexValue": "3a20",
                        "kind": "string",
                        "nativeSrc": "21210:4:136",
                        "nodeType": "YulLiteral",
                        "src": "21210:4:136",
                        "type": "",
                        "value": ": "
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "21199:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "21199:6:136"
                    },
                    "nativeSrc": "21199:16:136",
                    "nodeType": "YulFunctionCall",
                    "src": "21199:16:136"
                  },
                  "nativeSrc": "21199:16:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "21199:16:136"
                },
                {
                  "nativeSrc": "21224:44:136",
                  "nodeType": "YulAssignment",
                  "src": "21224:44:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "value1",
                        "nativeSrc": "21249:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "21249:6:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "_1",
                            "nativeSrc": "21261:2:136",
                            "nodeType": "YulIdentifier",
                            "src": "21261:2:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "21265:1:136",
                            "nodeType": "YulLiteral",
                            "src": "21265:1:136",
                            "type": "",
                            "value": "2"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "21257:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "21257:3:136"
                        },
                        "nativeSrc": "21257:10:136",
                        "nodeType": "YulFunctionCall",
                        "src": "21257:10:136"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_string",
                      "nativeSrc": "21231:17:136",
                      "nodeType": "YulIdentifier",
                      "src": "21231:17:136"
                    },
                    "nativeSrc": "21231:37:136",
                    "nodeType": "YulFunctionCall",
                    "src": "21231:37:136"
                  },
                  "variableNames": [
                    {
                      "name": "end",
                      "nativeSrc": "21224:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "21224:3:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_packed_t_string_memory_ptr_t_stringliteral_e64009107d042bdc478cc69a5433e4573ea2e8a23a46646c0ee241e30c888e73_t_string_memory_ptr__to_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed",
            "nativeSrc": "20852:422:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "pos",
                "nativeSrc": "21108:3:136",
                "nodeType": "YulTypedName",
                "src": "21108:3:136",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "21113:6:136",
                "nodeType": "YulTypedName",
                "src": "21113:6:136",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "21121:6:136",
                "nodeType": "YulTypedName",
                "src": "21121:6:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "end",
                "nativeSrc": "21132:3:136",
                "nodeType": "YulTypedName",
                "src": "21132:3:136",
                "type": ""
              }
            ],
            "src": "20852:422:136"
          },
          {
            "body": {
              "nativeSrc": "21311:95:136",
              "nodeType": "YulBlock",
              "src": "21311:95:136",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "21328:1:136",
                        "nodeType": "YulLiteral",
                        "src": "21328:1:136",
                        "type": "",
                        "value": "0"
                      },
                      {
                        "arguments": [
                          {
                            "kind": "number",
                            "nativeSrc": "21335:3:136",
                            "nodeType": "YulLiteral",
                            "src": "21335:3:136",
                            "type": "",
                            "value": "224"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "21340:10:136",
                            "nodeType": "YulLiteral",
                            "src": "21340:10:136",
                            "type": "",
                            "value": "0x4e487b71"
                          }
                        ],
                        "functionName": {
                          "name": "shl",
                          "nativeSrc": "21331:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "21331:3:136"
                        },
                        "nativeSrc": "21331:20:136",
                        "nodeType": "YulFunctionCall",
                        "src": "21331:20:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "21321:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "21321:6:136"
                    },
                    "nativeSrc": "21321:31:136",
                    "nodeType": "YulFunctionCall",
                    "src": "21321:31:136"
                  },
                  "nativeSrc": "21321:31:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "21321:31:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "21368:1:136",
                        "nodeType": "YulLiteral",
                        "src": "21368:1:136",
                        "type": "",
                        "value": "4"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "21371:4:136",
                        "nodeType": "YulLiteral",
                        "src": "21371:4:136",
                        "type": "",
                        "value": "0x32"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "21361:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "21361:6:136"
                    },
                    "nativeSrc": "21361:15:136",
                    "nodeType": "YulFunctionCall",
                    "src": "21361:15:136"
                  },
                  "nativeSrc": "21361:15:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "21361:15:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "21392:1:136",
                        "nodeType": "YulLiteral",
                        "src": "21392:1:136",
                        "type": "",
                        "value": "0"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "21395:4:136",
                        "nodeType": "YulLiteral",
                        "src": "21395:4:136",
                        "type": "",
                        "value": "0x24"
                      }
                    ],
                    "functionName": {
                      "name": "revert",
                      "nativeSrc": "21385:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "21385:6:136"
                    },
                    "nativeSrc": "21385:15:136",
                    "nodeType": "YulFunctionCall",
                    "src": "21385:15:136"
                  },
                  "nativeSrc": "21385:15:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "21385:15:136"
                }
              ]
            },
            "name": "panic_error_0x32",
            "nativeSrc": "21279:127:136",
            "nodeType": "YulFunctionDefinition",
            "src": "21279:127:136"
          },
          {
            "body": {
              "nativeSrc": "21466:325:136",
              "nodeType": "YulBlock",
              "src": "21466:325:136",
              "statements": [
                {
                  "nativeSrc": "21476:22:136",
                  "nodeType": "YulAssignment",
                  "src": "21476:22:136",
                  "value": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "21490:1:136",
                        "nodeType": "YulLiteral",
                        "src": "21490:1:136",
                        "type": "",
                        "value": "1"
                      },
                      {
                        "name": "data",
                        "nativeSrc": "21493:4:136",
                        "nodeType": "YulIdentifier",
                        "src": "21493:4:136"
                      }
                    ],
                    "functionName": {
                      "name": "shr",
                      "nativeSrc": "21486:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "21486:3:136"
                    },
                    "nativeSrc": "21486:12:136",
                    "nodeType": "YulFunctionCall",
                    "src": "21486:12:136"
                  },
                  "variableNames": [
                    {
                      "name": "length",
                      "nativeSrc": "21476:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "21476:6:136"
                    }
                  ]
                },
                {
                  "nativeSrc": "21507:38:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "21507:38:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "data",
                        "nativeSrc": "21537:4:136",
                        "nodeType": "YulIdentifier",
                        "src": "21537:4:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "21543:1:136",
                        "nodeType": "YulLiteral",
                        "src": "21543:1:136",
                        "type": "",
                        "value": "1"
                      }
                    ],
                    "functionName": {
                      "name": "and",
                      "nativeSrc": "21533:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "21533:3:136"
                    },
                    "nativeSrc": "21533:12:136",
                    "nodeType": "YulFunctionCall",
                    "src": "21533:12:136"
                  },
                  "variables": [
                    {
                      "name": "outOfPlaceEncoding",
                      "nativeSrc": "21511:18:136",
                      "nodeType": "YulTypedName",
                      "src": "21511:18:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "21584:31:136",
                    "nodeType": "YulBlock",
                    "src": "21584:31:136",
                    "statements": [
                      {
                        "nativeSrc": "21586:27:136",
                        "nodeType": "YulAssignment",
                        "src": "21586:27:136",
                        "value": {
                          "arguments": [
                            {
                              "name": "length",
                              "nativeSrc": "21600:6:136",
                              "nodeType": "YulIdentifier",
                              "src": "21600:6:136"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "21608:4:136",
                              "nodeType": "YulLiteral",
                              "src": "21608:4:136",
                              "type": "",
                              "value": "0x7f"
                            }
                          ],
                          "functionName": {
                            "name": "and",
                            "nativeSrc": "21596:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "21596:3:136"
                          },
                          "nativeSrc": "21596:17:136",
                          "nodeType": "YulFunctionCall",
                          "src": "21596:17:136"
                        },
                        "variableNames": [
                          {
                            "name": "length",
                            "nativeSrc": "21586:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "21586:6:136"
                          }
                        ]
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "outOfPlaceEncoding",
                        "nativeSrc": "21564:18:136",
                        "nodeType": "YulIdentifier",
                        "src": "21564:18:136"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "21557:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "21557:6:136"
                    },
                    "nativeSrc": "21557:26:136",
                    "nodeType": "YulFunctionCall",
                    "src": "21557:26:136"
                  },
                  "nativeSrc": "21554:61:136",
                  "nodeType": "YulIf",
                  "src": "21554:61:136"
                },
                {
                  "body": {
                    "nativeSrc": "21674:111:136",
                    "nodeType": "YulBlock",
                    "src": "21674:111:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "21695:1:136",
                              "nodeType": "YulLiteral",
                              "src": "21695:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "arguments": [
                                {
                                  "kind": "number",
                                  "nativeSrc": "21702:3:136",
                                  "nodeType": "YulLiteral",
                                  "src": "21702:3:136",
                                  "type": "",
                                  "value": "224"
                                },
                                {
                                  "kind": "number",
                                  "nativeSrc": "21707:10:136",
                                  "nodeType": "YulLiteral",
                                  "src": "21707:10:136",
                                  "type": "",
                                  "value": "0x4e487b71"
                                }
                              ],
                              "functionName": {
                                "name": "shl",
                                "nativeSrc": "21698:3:136",
                                "nodeType": "YulIdentifier",
                                "src": "21698:3:136"
                              },
                              "nativeSrc": "21698:20:136",
                              "nodeType": "YulFunctionCall",
                              "src": "21698:20:136"
                            }
                          ],
                          "functionName": {
                            "name": "mstore",
                            "nativeSrc": "21688:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "21688:6:136"
                          },
                          "nativeSrc": "21688:31:136",
                          "nodeType": "YulFunctionCall",
                          "src": "21688:31:136"
                        },
                        "nativeSrc": "21688:31:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "21688:31:136"
                      },
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "21739:1:136",
                              "nodeType": "YulLiteral",
                              "src": "21739:1:136",
                              "type": "",
                              "value": "4"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "21742:4:136",
                              "nodeType": "YulLiteral",
                              "src": "21742:4:136",
                              "type": "",
                              "value": "0x22"
                            }
                          ],
                          "functionName": {
                            "name": "mstore",
                            "nativeSrc": "21732:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "21732:6:136"
                          },
                          "nativeSrc": "21732:15:136",
                          "nodeType": "YulFunctionCall",
                          "src": "21732:15:136"
                        },
                        "nativeSrc": "21732:15:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "21732:15:136"
                      },
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "21767:1:136",
                              "nodeType": "YulLiteral",
                              "src": "21767:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "21770:4:136",
                              "nodeType": "YulLiteral",
                              "src": "21770:4:136",
                              "type": "",
                              "value": "0x24"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "21760:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "21760:6:136"
                          },
                          "nativeSrc": "21760:15:136",
                          "nodeType": "YulFunctionCall",
                          "src": "21760:15:136"
                        },
                        "nativeSrc": "21760:15:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "21760:15:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "outOfPlaceEncoding",
                        "nativeSrc": "21630:18:136",
                        "nodeType": "YulIdentifier",
                        "src": "21630:18:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "length",
                            "nativeSrc": "21653:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "21653:6:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "21661:2:136",
                            "nodeType": "YulLiteral",
                            "src": "21661:2:136",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "lt",
                          "nativeSrc": "21650:2:136",
                          "nodeType": "YulIdentifier",
                          "src": "21650:2:136"
                        },
                        "nativeSrc": "21650:14:136",
                        "nodeType": "YulFunctionCall",
                        "src": "21650:14:136"
                      }
                    ],
                    "functionName": {
                      "name": "eq",
                      "nativeSrc": "21627:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "21627:2:136"
                    },
                    "nativeSrc": "21627:38:136",
                    "nodeType": "YulFunctionCall",
                    "src": "21627:38:136"
                  },
                  "nativeSrc": "21624:161:136",
                  "nodeType": "YulIf",
                  "src": "21624:161:136"
                }
              ]
            },
            "name": "extract_byte_array_length",
            "nativeSrc": "21411:380:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "data",
                "nativeSrc": "21446:4:136",
                "nodeType": "YulTypedName",
                "src": "21446:4:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "length",
                "nativeSrc": "21455:6:136",
                "nodeType": "YulTypedName",
                "src": "21455:6:136",
                "type": ""
              }
            ],
            "src": "21411:380:136"
          },
          {
            "body": {
              "nativeSrc": "21929:103:136",
              "nodeType": "YulBlock",
              "src": "21929:103:136",
              "statements": [
                {
                  "nativeSrc": "21939:26:136",
                  "nodeType": "YulAssignment",
                  "src": "21939:26:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "21951:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "21951:9:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "21962:2:136",
                        "nodeType": "YulLiteral",
                        "src": "21962:2:136",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "21947:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "21947:3:136"
                    },
                    "nativeSrc": "21947:18:136",
                    "nodeType": "YulFunctionCall",
                    "src": "21947:18:136"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "21939:4:136",
                      "nodeType": "YulIdentifier",
                      "src": "21939:4:136"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "21981:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "21981:9:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value0",
                            "nativeSrc": "21996:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "21996:6:136"
                          },
                          {
                            "arguments": [
                              {
                                "kind": "number",
                                "nativeSrc": "22008:3:136",
                                "nodeType": "YulLiteral",
                                "src": "22008:3:136",
                                "type": "",
                                "value": "224"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "22013:10:136",
                                "nodeType": "YulLiteral",
                                "src": "22013:10:136",
                                "type": "",
                                "value": "0xffffffff"
                              }
                            ],
                            "functionName": {
                              "name": "shl",
                              "nativeSrc": "22004:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "22004:3:136"
                            },
                            "nativeSrc": "22004:20:136",
                            "nodeType": "YulFunctionCall",
                            "src": "22004:20:136"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "21992:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "21992:3:136"
                        },
                        "nativeSrc": "21992:33:136",
                        "nodeType": "YulFunctionCall",
                        "src": "21992:33:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "21974:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "21974:6:136"
                    },
                    "nativeSrc": "21974:52:136",
                    "nodeType": "YulFunctionCall",
                    "src": "21974:52:136"
                  },
                  "nativeSrc": "21974:52:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "21974:52:136"
                }
              ]
            },
            "name": "abi_encode_tuple_t_userDefinedValueType$_ID4_$28155__to_t_bytes4__fromStack_library_reversed",
            "nativeSrc": "21796:236:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "21898:9:136",
                "nodeType": "YulTypedName",
                "src": "21898:9:136",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "21909:6:136",
                "nodeType": "YulTypedName",
                "src": "21909:6:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "21920:4:136",
                "nodeType": "YulTypedName",
                "src": "21920:4:136",
                "type": ""
              }
            ],
            "src": "21796:236:136"
          },
          {
            "body": {
              "nativeSrc": "22096:77:136",
              "nodeType": "YulBlock",
              "src": "22096:77:136",
              "statements": [
                {
                  "nativeSrc": "22106:22:136",
                  "nodeType": "YulAssignment",
                  "src": "22106:22:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "22121:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "22121:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "22115:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "22115:5:136"
                    },
                    "nativeSrc": "22115:13:136",
                    "nodeType": "YulFunctionCall",
                    "src": "22115:13:136"
                  },
                  "variableNames": [
                    {
                      "name": "value",
                      "nativeSrc": "22106:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "22106:5:136"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "22161:5:136",
                        "nodeType": "YulIdentifier",
                        "src": "22161:5:136"
                      }
                    ],
                    "functionName": {
                      "name": "validator_revert_uint64",
                      "nativeSrc": "22137:23:136",
                      "nodeType": "YulIdentifier",
                      "src": "22137:23:136"
                    },
                    "nativeSrc": "22137:30:136",
                    "nodeType": "YulFunctionCall",
                    "src": "22137:30:136"
                  },
                  "nativeSrc": "22137:30:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "22137:30:136"
                }
              ]
            },
            "name": "abi_decode_uint64_fromMemory",
            "nativeSrc": "22037:136:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "offset",
                "nativeSrc": "22075:6:136",
                "nodeType": "YulTypedName",
                "src": "22075:6:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value",
                "nativeSrc": "22086:5:136",
                "nodeType": "YulTypedName",
                "src": "22086:5:136",
                "type": ""
              }
            ],
            "src": "22037:136:136"
          },
          {
            "body": {
              "nativeSrc": "22236:106:136",
              "nodeType": "YulBlock",
              "src": "22236:106:136",
              "statements": [
                {
                  "nativeSrc": "22246:22:136",
                  "nodeType": "YulAssignment",
                  "src": "22246:22:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "22261:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "22261:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "22255:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "22255:5:136"
                    },
                    "nativeSrc": "22255:13:136",
                    "nodeType": "YulFunctionCall",
                    "src": "22255:13:136"
                  },
                  "variableNames": [
                    {
                      "name": "value",
                      "nativeSrc": "22246:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "22246:5:136"
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "22320:16:136",
                    "nodeType": "YulBlock",
                    "src": "22320:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "22329:1:136",
                              "nodeType": "YulLiteral",
                              "src": "22329:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "22332:1:136",
                              "nodeType": "YulLiteral",
                              "src": "22332:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "22322:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "22322:6:136"
                          },
                          "nativeSrc": "22322:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "22322:12:136"
                        },
                        "nativeSrc": "22322:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "22322:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "22290:5:136",
                            "nodeType": "YulIdentifier",
                            "src": "22290:5:136"
                          },
                          {
                            "arguments": [
                              {
                                "kind": "number",
                                "nativeSrc": "22308:1:136",
                                "nodeType": "YulLiteral",
                                "src": "22308:1:136",
                                "type": "",
                                "value": "6"
                              },
                              {
                                "name": "value",
                                "nativeSrc": "22311:5:136",
                                "nodeType": "YulIdentifier",
                                "src": "22311:5:136"
                              }
                            ],
                            "functionName": {
                              "name": "signextend",
                              "nativeSrc": "22297:10:136",
                              "nodeType": "YulIdentifier",
                              "src": "22297:10:136"
                            },
                            "nativeSrc": "22297:20:136",
                            "nodeType": "YulFunctionCall",
                            "src": "22297:20:136"
                          }
                        ],
                        "functionName": {
                          "name": "eq",
                          "nativeSrc": "22287:2:136",
                          "nodeType": "YulIdentifier",
                          "src": "22287:2:136"
                        },
                        "nativeSrc": "22287:31:136",
                        "nodeType": "YulFunctionCall",
                        "src": "22287:31:136"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "22280:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "22280:6:136"
                    },
                    "nativeSrc": "22280:39:136",
                    "nodeType": "YulFunctionCall",
                    "src": "22280:39:136"
                  },
                  "nativeSrc": "22277:59:136",
                  "nodeType": "YulIf",
                  "src": "22277:59:136"
                }
              ]
            },
            "name": "abi_decode_int56_fromMemory",
            "nativeSrc": "22178:164:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "offset",
                "nativeSrc": "22215:6:136",
                "nodeType": "YulTypedName",
                "src": "22215:6:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value",
                "nativeSrc": "22226:5:136",
                "nodeType": "YulTypedName",
                "src": "22226:5:136",
                "type": ""
              }
            ],
            "src": "22178:164:136"
          },
          {
            "body": {
              "nativeSrc": "22452:895:136",
              "nodeType": "YulBlock",
              "src": "22452:895:136",
              "statements": [
                {
                  "nativeSrc": "22462:43:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "22462:43:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "22480:7:136",
                            "nodeType": "YulIdentifier",
                            "src": "22480:7:136"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "22489:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "22489:9:136"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "22476:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "22476:3:136"
                        },
                        "nativeSrc": "22476:23:136",
                        "nodeType": "YulFunctionCall",
                        "src": "22476:23:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "22501:3:136",
                        "nodeType": "YulLiteral",
                        "src": "22501:3:136",
                        "type": "",
                        "value": "160"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "22472:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "22472:3:136"
                    },
                    "nativeSrc": "22472:33:136",
                    "nodeType": "YulFunctionCall",
                    "src": "22472:33:136"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "22466:2:136",
                      "nodeType": "YulTypedName",
                      "src": "22466:2:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "22520:16:136",
                    "nodeType": "YulBlock",
                    "src": "22520:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "22529:1:136",
                              "nodeType": "YulLiteral",
                              "src": "22529:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "22532:1:136",
                              "nodeType": "YulLiteral",
                              "src": "22532:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "22522:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "22522:6:136"
                          },
                          "nativeSrc": "22522:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "22522:12:136"
                        },
                        "nativeSrc": "22522:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "22522:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "name": "_1",
                    "nativeSrc": "22517:2:136",
                    "nodeType": "YulIdentifier",
                    "src": "22517:2:136"
                  },
                  "nativeSrc": "22514:22:136",
                  "nodeType": "YulIf",
                  "src": "22514:22:136"
                },
                {
                  "nativeSrc": "22545:7:136",
                  "nodeType": "YulAssignment",
                  "src": "22545:7:136",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "22551:1:136",
                    "nodeType": "YulLiteral",
                    "src": "22551:1:136",
                    "type": "",
                    "value": "0"
                  },
                  "variableNames": [
                    {
                      "name": "_1",
                      "nativeSrc": "22545:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "22545:2:136"
                    }
                  ]
                },
                {
                  "nativeSrc": "22561:23:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "22561:23:136",
                  "value": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "22581:2:136",
                        "nodeType": "YulLiteral",
                        "src": "22581:2:136",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "22575:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "22575:5:136"
                    },
                    "nativeSrc": "22575:9:136",
                    "nodeType": "YulFunctionCall",
                    "src": "22575:9:136"
                  },
                  "variables": [
                    {
                      "name": "memPtr",
                      "nativeSrc": "22565:6:136",
                      "nodeType": "YulTypedName",
                      "src": "22565:6:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "22593:34:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "22593:34:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "memPtr",
                        "nativeSrc": "22615:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "22615:6:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "22623:3:136",
                        "nodeType": "YulLiteral",
                        "src": "22623:3:136",
                        "type": "",
                        "value": "160"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "22611:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "22611:3:136"
                    },
                    "nativeSrc": "22611:16:136",
                    "nodeType": "YulFunctionCall",
                    "src": "22611:16:136"
                  },
                  "variables": [
                    {
                      "name": "newFreePtr",
                      "nativeSrc": "22597:10:136",
                      "nodeType": "YulTypedName",
                      "src": "22597:10:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "22702:22:136",
                    "nodeType": "YulBlock",
                    "src": "22702:22:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x41",
                            "nativeSrc": "22704:16:136",
                            "nodeType": "YulIdentifier",
                            "src": "22704:16:136"
                          },
                          "nativeSrc": "22704:18:136",
                          "nodeType": "YulFunctionCall",
                          "src": "22704:18:136"
                        },
                        "nativeSrc": "22704:18:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "22704:18:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "newFreePtr",
                            "nativeSrc": "22645:10:136",
                            "nodeType": "YulIdentifier",
                            "src": "22645:10:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "22657:18:136",
                            "nodeType": "YulLiteral",
                            "src": "22657:18:136",
                            "type": "",
                            "value": "0xffffffffffffffff"
                          }
                        ],
                        "functionName": {
                          "name": "gt",
                          "nativeSrc": "22642:2:136",
                          "nodeType": "YulIdentifier",
                          "src": "22642:2:136"
                        },
                        "nativeSrc": "22642:34:136",
                        "nodeType": "YulFunctionCall",
                        "src": "22642:34:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "newFreePtr",
                            "nativeSrc": "22681:10:136",
                            "nodeType": "YulIdentifier",
                            "src": "22681:10:136"
                          },
                          {
                            "name": "memPtr",
                            "nativeSrc": "22693:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "22693:6:136"
                          }
                        ],
                        "functionName": {
                          "name": "lt",
                          "nativeSrc": "22678:2:136",
                          "nodeType": "YulIdentifier",
                          "src": "22678:2:136"
                        },
                        "nativeSrc": "22678:22:136",
                        "nodeType": "YulFunctionCall",
                        "src": "22678:22:136"
                      }
                    ],
                    "functionName": {
                      "name": "or",
                      "nativeSrc": "22639:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "22639:2:136"
                    },
                    "nativeSrc": "22639:62:136",
                    "nodeType": "YulFunctionCall",
                    "src": "22639:62:136"
                  },
                  "nativeSrc": "22636:88:136",
                  "nodeType": "YulIf",
                  "src": "22636:88:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "22740:2:136",
                        "nodeType": "YulLiteral",
                        "src": "22740:2:136",
                        "type": "",
                        "value": "64"
                      },
                      {
                        "name": "newFreePtr",
                        "nativeSrc": "22744:10:136",
                        "nodeType": "YulIdentifier",
                        "src": "22744:10:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "22733:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "22733:6:136"
                    },
                    "nativeSrc": "22733:22:136",
                    "nodeType": "YulFunctionCall",
                    "src": "22733:22:136"
                  },
                  "nativeSrc": "22733:22:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "22733:22:136"
                },
                {
                  "nativeSrc": "22764:29:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "22764:29:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "22783:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "22783:9:136"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "22777:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "22777:5:136"
                    },
                    "nativeSrc": "22777:16:136",
                    "nodeType": "YulFunctionCall",
                    "src": "22777:16:136"
                  },
                  "variables": [
                    {
                      "name": "value",
                      "nativeSrc": "22768:5:136",
                      "nodeType": "YulTypedName",
                      "src": "22768:5:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "22824:5:136",
                        "nodeType": "YulIdentifier",
                        "src": "22824:5:136"
                      }
                    ],
                    "functionName": {
                      "name": "validator_revert_int8",
                      "nativeSrc": "22802:21:136",
                      "nodeType": "YulIdentifier",
                      "src": "22802:21:136"
                    },
                    "nativeSrc": "22802:28:136",
                    "nodeType": "YulFunctionCall",
                    "src": "22802:28:136"
                  },
                  "nativeSrc": "22802:28:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "22802:28:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "memPtr",
                        "nativeSrc": "22846:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "22846:6:136"
                      },
                      {
                        "name": "value",
                        "nativeSrc": "22854:5:136",
                        "nodeType": "YulIdentifier",
                        "src": "22854:5:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "22839:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "22839:6:136"
                    },
                    "nativeSrc": "22839:21:136",
                    "nodeType": "YulFunctionCall",
                    "src": "22839:21:136"
                  },
                  "nativeSrc": "22839:21:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "22839:21:136"
                },
                {
                  "nativeSrc": "22869:40:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "22869:40:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "22894:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "22894:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "22905:2:136",
                            "nodeType": "YulLiteral",
                            "src": "22905:2:136",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "22890:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "22890:3:136"
                        },
                        "nativeSrc": "22890:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "22890:18:136"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "22884:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "22884:5:136"
                    },
                    "nativeSrc": "22884:25:136",
                    "nodeType": "YulFunctionCall",
                    "src": "22884:25:136"
                  },
                  "variables": [
                    {
                      "name": "value_1",
                      "nativeSrc": "22873:7:136",
                      "nodeType": "YulTypedName",
                      "src": "22873:7:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value_1",
                        "nativeSrc": "22942:7:136",
                        "nodeType": "YulIdentifier",
                        "src": "22942:7:136"
                      }
                    ],
                    "functionName": {
                      "name": "validator_revert_uint64",
                      "nativeSrc": "22918:23:136",
                      "nodeType": "YulIdentifier",
                      "src": "22918:23:136"
                    },
                    "nativeSrc": "22918:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "22918:32:136"
                  },
                  "nativeSrc": "22918:32:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "22918:32:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "memPtr",
                            "nativeSrc": "22970:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "22970:6:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "22978:2:136",
                            "nodeType": "YulLiteral",
                            "src": "22978:2:136",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "22966:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "22966:3:136"
                        },
                        "nativeSrc": "22966:15:136",
                        "nodeType": "YulFunctionCall",
                        "src": "22966:15:136"
                      },
                      {
                        "name": "value_1",
                        "nativeSrc": "22983:7:136",
                        "nodeType": "YulIdentifier",
                        "src": "22983:7:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "22959:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "22959:6:136"
                    },
                    "nativeSrc": "22959:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "22959:32:136"
                  },
                  "nativeSrc": "22959:32:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "22959:32:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "memPtr",
                            "nativeSrc": "23011:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "23011:6:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "23019:2:136",
                            "nodeType": "YulLiteral",
                            "src": "23019:2:136",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "23007:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "23007:3:136"
                        },
                        "nativeSrc": "23007:15:136",
                        "nodeType": "YulFunctionCall",
                        "src": "23007:15:136"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "headStart",
                                "nativeSrc": "23056:9:136",
                                "nodeType": "YulIdentifier",
                                "src": "23056:9:136"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "23067:2:136",
                                "nodeType": "YulLiteral",
                                "src": "23067:2:136",
                                "type": "",
                                "value": "64"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "23052:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "23052:3:136"
                            },
                            "nativeSrc": "23052:18:136",
                            "nodeType": "YulFunctionCall",
                            "src": "23052:18:136"
                          }
                        ],
                        "functionName": {
                          "name": "abi_decode_int56_fromMemory",
                          "nativeSrc": "23024:27:136",
                          "nodeType": "YulIdentifier",
                          "src": "23024:27:136"
                        },
                        "nativeSrc": "23024:47:136",
                        "nodeType": "YulFunctionCall",
                        "src": "23024:47:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "23000:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "23000:6:136"
                    },
                    "nativeSrc": "23000:72:136",
                    "nodeType": "YulFunctionCall",
                    "src": "23000:72:136"
                  },
                  "nativeSrc": "23000:72:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "23000:72:136"
                },
                {
                  "nativeSrc": "23081:40:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "23081:40:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "23106:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "23106:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "23117:2:136",
                            "nodeType": "YulLiteral",
                            "src": "23117:2:136",
                            "type": "",
                            "value": "96"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "23102:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "23102:3:136"
                        },
                        "nativeSrc": "23102:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "23102:18:136"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "23096:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "23096:5:136"
                    },
                    "nativeSrc": "23096:25:136",
                    "nodeType": "YulFunctionCall",
                    "src": "23096:25:136"
                  },
                  "variables": [
                    {
                      "name": "value_2",
                      "nativeSrc": "23085:7:136",
                      "nodeType": "YulTypedName",
                      "src": "23085:7:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value_2",
                        "nativeSrc": "23154:7:136",
                        "nodeType": "YulIdentifier",
                        "src": "23154:7:136"
                      }
                    ],
                    "functionName": {
                      "name": "validator_revert_uint64",
                      "nativeSrc": "23130:23:136",
                      "nodeType": "YulIdentifier",
                      "src": "23130:23:136"
                    },
                    "nativeSrc": "23130:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "23130:32:136"
                  },
                  "nativeSrc": "23130:32:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "23130:32:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "memPtr",
                            "nativeSrc": "23182:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "23182:6:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "23190:2:136",
                            "nodeType": "YulLiteral",
                            "src": "23190:2:136",
                            "type": "",
                            "value": "96"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "23178:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "23178:3:136"
                        },
                        "nativeSrc": "23178:15:136",
                        "nodeType": "YulFunctionCall",
                        "src": "23178:15:136"
                      },
                      {
                        "name": "value_2",
                        "nativeSrc": "23195:7:136",
                        "nodeType": "YulIdentifier",
                        "src": "23195:7:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "23171:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "23171:6:136"
                    },
                    "nativeSrc": "23171:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "23171:32:136"
                  },
                  "nativeSrc": "23171:32:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "23171:32:136"
                },
                {
                  "nativeSrc": "23212:16:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "23212:16:136",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "23227:1:136",
                    "nodeType": "YulLiteral",
                    "src": "23227:1:136",
                    "type": "",
                    "value": "0"
                  },
                  "variables": [
                    {
                      "name": "value_3",
                      "nativeSrc": "23216:7:136",
                      "nodeType": "YulTypedName",
                      "src": "23216:7:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "23237:37:136",
                  "nodeType": "YulAssignment",
                  "src": "23237:37:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "23258:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "23258:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "23269:3:136",
                            "nodeType": "YulLiteral",
                            "src": "23269:3:136",
                            "type": "",
                            "value": "128"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "23254:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "23254:3:136"
                        },
                        "nativeSrc": "23254:19:136",
                        "nodeType": "YulFunctionCall",
                        "src": "23254:19:136"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "23248:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "23248:5:136"
                    },
                    "nativeSrc": "23248:26:136",
                    "nodeType": "YulFunctionCall",
                    "src": "23248:26:136"
                  },
                  "variableNames": [
                    {
                      "name": "value_3",
                      "nativeSrc": "23237:7:136",
                      "nodeType": "YulIdentifier",
                      "src": "23237:7:136"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "memPtr",
                            "nativeSrc": "23294:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "23294:6:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "23302:3:136",
                            "nodeType": "YulLiteral",
                            "src": "23302:3:136",
                            "type": "",
                            "value": "128"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "23290:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "23290:3:136"
                        },
                        "nativeSrc": "23290:16:136",
                        "nodeType": "YulFunctionCall",
                        "src": "23290:16:136"
                      },
                      {
                        "name": "value_3",
                        "nativeSrc": "23308:7:136",
                        "nodeType": "YulIdentifier",
                        "src": "23308:7:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "23283:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "23283:6:136"
                    },
                    "nativeSrc": "23283:33:136",
                    "nodeType": "YulFunctionCall",
                    "src": "23283:33:136"
                  },
                  "nativeSrc": "23283:33:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "23283:33:136"
                },
                {
                  "nativeSrc": "23325:16:136",
                  "nodeType": "YulAssignment",
                  "src": "23325:16:136",
                  "value": {
                    "name": "memPtr",
                    "nativeSrc": "23335:6:136",
                    "nodeType": "YulIdentifier",
                    "src": "23335:6:136"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "23325:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "23325:6:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_struct$_Price_$28105_memory_ptr_fromMemory",
            "nativeSrc": "22347:1000:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "22418:9:136",
                "nodeType": "YulTypedName",
                "src": "22418:9:136",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "22429:7:136",
                "nodeType": "YulTypedName",
                "src": "22429:7:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "22441:6:136",
                "nodeType": "YulTypedName",
                "src": "22441:6:136",
                "type": ""
              }
            ],
            "src": "22347:1000:136"
          },
          {
            "body": {
              "nativeSrc": "23511:161:136",
              "nodeType": "YulBlock",
              "src": "23511:161:136",
              "statements": [
                {
                  "nativeSrc": "23521:26:136",
                  "nodeType": "YulAssignment",
                  "src": "23521:26:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "23533:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "23533:9:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "23544:2:136",
                        "nodeType": "YulLiteral",
                        "src": "23544:2:136",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "23529:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "23529:3:136"
                    },
                    "nativeSrc": "23529:18:136",
                    "nodeType": "YulFunctionCall",
                    "src": "23529:18:136"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "23521:4:136",
                      "nodeType": "YulIdentifier",
                      "src": "23521:4:136"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "23563:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "23563:9:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value0",
                            "nativeSrc": "23578:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "23578:6:136"
                          },
                          {
                            "arguments": [
                              {
                                "kind": "number",
                                "nativeSrc": "23590:3:136",
                                "nodeType": "YulLiteral",
                                "src": "23590:3:136",
                                "type": "",
                                "value": "224"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "23595:10:136",
                                "nodeType": "YulLiteral",
                                "src": "23595:10:136",
                                "type": "",
                                "value": "0xffffffff"
                              }
                            ],
                            "functionName": {
                              "name": "shl",
                              "nativeSrc": "23586:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "23586:3:136"
                            },
                            "nativeSrc": "23586:20:136",
                            "nodeType": "YulFunctionCall",
                            "src": "23586:20:136"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "23574:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "23574:3:136"
                        },
                        "nativeSrc": "23574:33:136",
                        "nodeType": "YulFunctionCall",
                        "src": "23574:33:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "23556:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "23556:6:136"
                    },
                    "nativeSrc": "23556:52:136",
                    "nodeType": "YulFunctionCall",
                    "src": "23556:52:136"
                  },
                  "nativeSrc": "23556:52:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "23556:52:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "23628:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "23628:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "23639:2:136",
                            "nodeType": "YulLiteral",
                            "src": "23639:2:136",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "23624:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "23624:3:136"
                        },
                        "nativeSrc": "23624:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "23624:18:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value1",
                            "nativeSrc": "23648:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "23648:6:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "23656:8:136",
                            "nodeType": "YulLiteral",
                            "src": "23656:8:136",
                            "type": "",
                            "value": "0xffffff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "23644:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "23644:3:136"
                        },
                        "nativeSrc": "23644:21:136",
                        "nodeType": "YulFunctionCall",
                        "src": "23644:21:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "23617:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "23617:6:136"
                    },
                    "nativeSrc": "23617:49:136",
                    "nodeType": "YulFunctionCall",
                    "src": "23617:49:136"
                  },
                  "nativeSrc": "23617:49:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "23617:49:136"
                }
              ]
            },
            "name": "abi_encode_tuple_t_userDefinedValueType$_ID4_$28155_t_uint24__to_t_bytes4_t_uint24__fromStack_library_reversed",
            "nativeSrc": "23352:320:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "23472:9:136",
                "nodeType": "YulTypedName",
                "src": "23472:9:136",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "23483:6:136",
                "nodeType": "YulTypedName",
                "src": "23483:6:136",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "23491:6:136",
                "nodeType": "YulTypedName",
                "src": "23491:6:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "23502:4:136",
                "nodeType": "YulTypedName",
                "src": "23502:4:136",
                "type": ""
              }
            ],
            "src": "23352:320:136"
          },
          {
            "body": {
              "nativeSrc": "23740:466:136",
              "nodeType": "YulBlock",
              "src": "23740:466:136",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "23789:16:136",
                    "nodeType": "YulBlock",
                    "src": "23789:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "23798:1:136",
                              "nodeType": "YulLiteral",
                              "src": "23798:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "23801:1:136",
                              "nodeType": "YulLiteral",
                              "src": "23801:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "23791:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "23791:6:136"
                          },
                          "nativeSrc": "23791:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "23791:12:136"
                        },
                        "nativeSrc": "23791:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "23791:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "offset",
                                "nativeSrc": "23768:6:136",
                                "nodeType": "YulIdentifier",
                                "src": "23768:6:136"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "23776:4:136",
                                "nodeType": "YulLiteral",
                                "src": "23776:4:136",
                                "type": "",
                                "value": "0x1f"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "23764:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "23764:3:136"
                            },
                            "nativeSrc": "23764:17:136",
                            "nodeType": "YulFunctionCall",
                            "src": "23764:17:136"
                          },
                          {
                            "name": "end",
                            "nativeSrc": "23783:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "23783:3:136"
                          }
                        ],
                        "functionName": {
                          "name": "slt",
                          "nativeSrc": "23760:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "23760:3:136"
                        },
                        "nativeSrc": "23760:27:136",
                        "nodeType": "YulFunctionCall",
                        "src": "23760:27:136"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "23753:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "23753:6:136"
                    },
                    "nativeSrc": "23753:35:136",
                    "nodeType": "YulFunctionCall",
                    "src": "23753:35:136"
                  },
                  "nativeSrc": "23750:55:136",
                  "nodeType": "YulIf",
                  "src": "23750:55:136"
                },
                {
                  "nativeSrc": "23814:27:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "23814:27:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "23834:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "23834:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "23828:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "23828:5:136"
                    },
                    "nativeSrc": "23828:13:136",
                    "nodeType": "YulFunctionCall",
                    "src": "23828:13:136"
                  },
                  "variables": [
                    {
                      "name": "length",
                      "nativeSrc": "23818:6:136",
                      "nodeType": "YulTypedName",
                      "src": "23818:6:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "23850:45:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "23850:45:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "length",
                        "nativeSrc": "23888:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "23888:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "array_allocation_size_bytes",
                      "nativeSrc": "23860:27:136",
                      "nodeType": "YulIdentifier",
                      "src": "23860:27:136"
                    },
                    "nativeSrc": "23860:35:136",
                    "nodeType": "YulFunctionCall",
                    "src": "23860:35:136"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "23854:2:136",
                      "nodeType": "YulTypedName",
                      "src": "23854:2:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "23904:23:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "23904:23:136",
                  "value": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "23924:2:136",
                        "nodeType": "YulLiteral",
                        "src": "23924:2:136",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "23918:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "23918:5:136"
                    },
                    "nativeSrc": "23918:9:136",
                    "nodeType": "YulFunctionCall",
                    "src": "23918:9:136"
                  },
                  "variables": [
                    {
                      "name": "memPtr",
                      "nativeSrc": "23908:6:136",
                      "nodeType": "YulTypedName",
                      "src": "23908:6:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "memPtr",
                        "nativeSrc": "23956:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "23956:6:136"
                      },
                      {
                        "name": "_1",
                        "nativeSrc": "23964:2:136",
                        "nodeType": "YulIdentifier",
                        "src": "23964:2:136"
                      }
                    ],
                    "functionName": {
                      "name": "finalize_allocation",
                      "nativeSrc": "23936:19:136",
                      "nodeType": "YulIdentifier",
                      "src": "23936:19:136"
                    },
                    "nativeSrc": "23936:31:136",
                    "nodeType": "YulFunctionCall",
                    "src": "23936:31:136"
                  },
                  "nativeSrc": "23936:31:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "23936:31:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "memPtr",
                        "nativeSrc": "23983:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "23983:6:136"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "23991:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "23991:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "23976:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "23976:6:136"
                    },
                    "nativeSrc": "23976:22:136",
                    "nodeType": "YulFunctionCall",
                    "src": "23976:22:136"
                  },
                  "nativeSrc": "23976:22:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "23976:22:136"
                },
                {
                  "body": {
                    "nativeSrc": "24050:16:136",
                    "nodeType": "YulBlock",
                    "src": "24050:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "24059:1:136",
                              "nodeType": "YulLiteral",
                              "src": "24059:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "24062:1:136",
                              "nodeType": "YulLiteral",
                              "src": "24062:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "24052:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "24052:6:136"
                          },
                          "nativeSrc": "24052:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "24052:12:136"
                        },
                        "nativeSrc": "24052:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "24052:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "offset",
                                "nativeSrc": "24021:6:136",
                                "nodeType": "YulIdentifier",
                                "src": "24021:6:136"
                              },
                              {
                                "name": "length",
                                "nativeSrc": "24029:6:136",
                                "nodeType": "YulIdentifier",
                                "src": "24029:6:136"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "24017:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "24017:3:136"
                            },
                            "nativeSrc": "24017:19:136",
                            "nodeType": "YulFunctionCall",
                            "src": "24017:19:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "24038:4:136",
                            "nodeType": "YulLiteral",
                            "src": "24038:4:136",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "24013:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "24013:3:136"
                        },
                        "nativeSrc": "24013:30:136",
                        "nodeType": "YulFunctionCall",
                        "src": "24013:30:136"
                      },
                      {
                        "name": "end",
                        "nativeSrc": "24045:3:136",
                        "nodeType": "YulIdentifier",
                        "src": "24045:3:136"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "24010:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "24010:2:136"
                    },
                    "nativeSrc": "24010:39:136",
                    "nodeType": "YulFunctionCall",
                    "src": "24010:39:136"
                  },
                  "nativeSrc": "24007:59:136",
                  "nodeType": "YulIf",
                  "src": "24007:59:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "memPtr",
                            "nativeSrc": "24085:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "24085:6:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "24093:4:136",
                            "nodeType": "YulLiteral",
                            "src": "24093:4:136",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "24081:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "24081:3:136"
                        },
                        "nativeSrc": "24081:17:136",
                        "nodeType": "YulFunctionCall",
                        "src": "24081:17:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "offset",
                            "nativeSrc": "24104:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "24104:6:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "24112:4:136",
                            "nodeType": "YulLiteral",
                            "src": "24112:4:136",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "24100:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "24100:3:136"
                        },
                        "nativeSrc": "24100:17:136",
                        "nodeType": "YulFunctionCall",
                        "src": "24100:17:136"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "24119:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "24119:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "mcopy",
                      "nativeSrc": "24075:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "24075:5:136"
                    },
                    "nativeSrc": "24075:51:136",
                    "nodeType": "YulFunctionCall",
                    "src": "24075:51:136"
                  },
                  "nativeSrc": "24075:51:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "24075:51:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "memPtr",
                                "nativeSrc": "24150:6:136",
                                "nodeType": "YulIdentifier",
                                "src": "24150:6:136"
                              },
                              {
                                "name": "length",
                                "nativeSrc": "24158:6:136",
                                "nodeType": "YulIdentifier",
                                "src": "24158:6:136"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "24146:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "24146:3:136"
                            },
                            "nativeSrc": "24146:19:136",
                            "nodeType": "YulFunctionCall",
                            "src": "24146:19:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "24167:4:136",
                            "nodeType": "YulLiteral",
                            "src": "24167:4:136",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "24142:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "24142:3:136"
                        },
                        "nativeSrc": "24142:30:136",
                        "nodeType": "YulFunctionCall",
                        "src": "24142:30:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "24174:1:136",
                        "nodeType": "YulLiteral",
                        "src": "24174:1:136",
                        "type": "",
                        "value": "0"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "24135:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "24135:6:136"
                    },
                    "nativeSrc": "24135:41:136",
                    "nodeType": "YulFunctionCall",
                    "src": "24135:41:136"
                  },
                  "nativeSrc": "24135:41:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "24135:41:136"
                },
                {
                  "nativeSrc": "24185:15:136",
                  "nodeType": "YulAssignment",
                  "src": "24185:15:136",
                  "value": {
                    "name": "memPtr",
                    "nativeSrc": "24194:6:136",
                    "nodeType": "YulIdentifier",
                    "src": "24194:6:136"
                  },
                  "variableNames": [
                    {
                      "name": "array",
                      "nativeSrc": "24185:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "24185:5:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_bytes_fromMemory",
            "nativeSrc": "23677:529:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "offset",
                "nativeSrc": "23714:6:136",
                "nodeType": "YulTypedName",
                "src": "23714:6:136",
                "type": ""
              },
              {
                "name": "end",
                "nativeSrc": "23722:3:136",
                "nodeType": "YulTypedName",
                "src": "23722:3:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "array",
                "nativeSrc": "23730:5:136",
                "nodeType": "YulTypedName",
                "src": "23730:5:136",
                "type": ""
              }
            ],
            "src": "23677:529:136"
          },
          {
            "body": {
              "nativeSrc": "24326:356:136",
              "nodeType": "YulBlock",
              "src": "24326:356:136",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "24372:16:136",
                    "nodeType": "YulBlock",
                    "src": "24372:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "24381:1:136",
                              "nodeType": "YulLiteral",
                              "src": "24381:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "24384:1:136",
                              "nodeType": "YulLiteral",
                              "src": "24384:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "24374:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "24374:6:136"
                          },
                          "nativeSrc": "24374:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "24374:12:136"
                        },
                        "nativeSrc": "24374:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "24374:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "24347:7:136",
                            "nodeType": "YulIdentifier",
                            "src": "24347:7:136"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "24356:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "24356:9:136"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "24343:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "24343:3:136"
                        },
                        "nativeSrc": "24343:23:136",
                        "nodeType": "YulFunctionCall",
                        "src": "24343:23:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "24368:2:136",
                        "nodeType": "YulLiteral",
                        "src": "24368:2:136",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "24339:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "24339:3:136"
                    },
                    "nativeSrc": "24339:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "24339:32:136"
                  },
                  "nativeSrc": "24336:52:136",
                  "nodeType": "YulIf",
                  "src": "24336:52:136"
                },
                {
                  "nativeSrc": "24397:29:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "24397:29:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "24416:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "24416:9:136"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "24410:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "24410:5:136"
                    },
                    "nativeSrc": "24410:16:136",
                    "nodeType": "YulFunctionCall",
                    "src": "24410:16:136"
                  },
                  "variables": [
                    {
                      "name": "value",
                      "nativeSrc": "24401:5:136",
                      "nodeType": "YulTypedName",
                      "src": "24401:5:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "24460:5:136",
                        "nodeType": "YulIdentifier",
                        "src": "24460:5:136"
                      }
                    ],
                    "functionName": {
                      "name": "validator_revert_address",
                      "nativeSrc": "24435:24:136",
                      "nodeType": "YulIdentifier",
                      "src": "24435:24:136"
                    },
                    "nativeSrc": "24435:31:136",
                    "nodeType": "YulFunctionCall",
                    "src": "24435:31:136"
                  },
                  "nativeSrc": "24435:31:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "24435:31:136"
                },
                {
                  "nativeSrc": "24475:15:136",
                  "nodeType": "YulAssignment",
                  "src": "24475:15:136",
                  "value": {
                    "name": "value",
                    "nativeSrc": "24485:5:136",
                    "nodeType": "YulIdentifier",
                    "src": "24485:5:136"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "24475:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "24475:6:136"
                    }
                  ]
                },
                {
                  "nativeSrc": "24499:39:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "24499:39:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "24523:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "24523:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "24534:2:136",
                            "nodeType": "YulLiteral",
                            "src": "24534:2:136",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "24519:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "24519:3:136"
                        },
                        "nativeSrc": "24519:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "24519:18:136"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "24513:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "24513:5:136"
                    },
                    "nativeSrc": "24513:25:136",
                    "nodeType": "YulFunctionCall",
                    "src": "24513:25:136"
                  },
                  "variables": [
                    {
                      "name": "offset",
                      "nativeSrc": "24503:6:136",
                      "nodeType": "YulTypedName",
                      "src": "24503:6:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "24581:16:136",
                    "nodeType": "YulBlock",
                    "src": "24581:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "24590:1:136",
                              "nodeType": "YulLiteral",
                              "src": "24590:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "24593:1:136",
                              "nodeType": "YulLiteral",
                              "src": "24593:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "24583:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "24583:6:136"
                          },
                          "nativeSrc": "24583:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "24583:12:136"
                        },
                        "nativeSrc": "24583:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "24583:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "24553:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "24553:6:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "24561:18:136",
                        "nodeType": "YulLiteral",
                        "src": "24561:18:136",
                        "type": "",
                        "value": "0xffffffffffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "24550:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "24550:2:136"
                    },
                    "nativeSrc": "24550:30:136",
                    "nodeType": "YulFunctionCall",
                    "src": "24550:30:136"
                  },
                  "nativeSrc": "24547:50:136",
                  "nodeType": "YulIf",
                  "src": "24547:50:136"
                },
                {
                  "nativeSrc": "24606:70:136",
                  "nodeType": "YulAssignment",
                  "src": "24606:70:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "24648:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "24648:9:136"
                          },
                          {
                            "name": "offset",
                            "nativeSrc": "24659:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "24659:6:136"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "24644:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "24644:3:136"
                        },
                        "nativeSrc": "24644:22:136",
                        "nodeType": "YulFunctionCall",
                        "src": "24644:22:136"
                      },
                      {
                        "name": "dataEnd",
                        "nativeSrc": "24668:7:136",
                        "nodeType": "YulIdentifier",
                        "src": "24668:7:136"
                      }
                    ],
                    "functionName": {
                      "name": "abi_decode_bytes_fromMemory",
                      "nativeSrc": "24616:27:136",
                      "nodeType": "YulIdentifier",
                      "src": "24616:27:136"
                    },
                    "nativeSrc": "24616:60:136",
                    "nodeType": "YulFunctionCall",
                    "src": "24616:60:136"
                  },
                  "variableNames": [
                    {
                      "name": "value1",
                      "nativeSrc": "24606:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "24606:6:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_address_payablet_bytes_memory_ptr_fromMemory",
            "nativeSrc": "24211:471:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "24284:9:136",
                "nodeType": "YulTypedName",
                "src": "24284:9:136",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "24295:7:136",
                "nodeType": "YulTypedName",
                "src": "24295:7:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "24307:6:136",
                "nodeType": "YulTypedName",
                "src": "24307:6:136",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "24315:6:136",
                "nodeType": "YulTypedName",
                "src": "24315:6:136",
                "type": ""
              }
            ],
            "src": "24211:471:136"
          },
          {
            "body": {
              "nativeSrc": "24861:163:136",
              "nodeType": "YulBlock",
              "src": "24861:163:136",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "24878:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "24878:9:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "24889:2:136",
                        "nodeType": "YulLiteral",
                        "src": "24889:2:136",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "24871:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "24871:6:136"
                    },
                    "nativeSrc": "24871:21:136",
                    "nodeType": "YulFunctionCall",
                    "src": "24871:21:136"
                  },
                  "nativeSrc": "24871:21:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "24871:21:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "24912:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "24912:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "24923:2:136",
                            "nodeType": "YulLiteral",
                            "src": "24923:2:136",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "24908:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "24908:3:136"
                        },
                        "nativeSrc": "24908:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "24908:18:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "24928:2:136",
                        "nodeType": "YulLiteral",
                        "src": "24928:2:136",
                        "type": "",
                        "value": "13"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "24901:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "24901:6:136"
                    },
                    "nativeSrc": "24901:30:136",
                    "nodeType": "YulFunctionCall",
                    "src": "24901:30:136"
                  },
                  "nativeSrc": "24901:30:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "24901:30:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "24951:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "24951:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "24962:2:136",
                            "nodeType": "YulLiteral",
                            "src": "24962:2:136",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "24947:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "24947:3:136"
                        },
                        "nativeSrc": "24947:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "24947:18:136"
                      },
                      {
                        "hexValue": "6e6f7420746865206f776e6572",
                        "kind": "string",
                        "nativeSrc": "24967:15:136",
                        "nodeType": "YulLiteral",
                        "src": "24967:15:136",
                        "type": "",
                        "value": "not the owner"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "24940:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "24940:6:136"
                    },
                    "nativeSrc": "24940:43:136",
                    "nodeType": "YulFunctionCall",
                    "src": "24940:43:136"
                  },
                  "nativeSrc": "24940:43:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "24940:43:136"
                },
                {
                  "nativeSrc": "24992:26:136",
                  "nodeType": "YulAssignment",
                  "src": "24992:26:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "25004:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "25004:9:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "25015:2:136",
                        "nodeType": "YulLiteral",
                        "src": "25015:2:136",
                        "type": "",
                        "value": "96"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "25000:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "25000:3:136"
                    },
                    "nativeSrc": "25000:18:136",
                    "nodeType": "YulFunctionCall",
                    "src": "25000:18:136"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "24992:4:136",
                      "nodeType": "YulIdentifier",
                      "src": "24992:4:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_t_stringliteral_09ee694bb6d0f66081e15dd53293c7f941705ae2fd8f9732918eb9f8e2ff3219__to_t_string_memory_ptr__fromStack_reversed",
            "nativeSrc": "24687:337:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "24838:9:136",
                "nodeType": "YulTypedName",
                "src": "24838:9:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "24852:4:136",
                "nodeType": "YulTypedName",
                "src": "24852:4:136",
                "type": ""
              }
            ],
            "src": "24687:337:136"
          },
          {
            "body": {
              "nativeSrc": "25203:169:136",
              "nodeType": "YulBlock",
              "src": "25203:169:136",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "25220:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "25220:9:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "25231:2:136",
                        "nodeType": "YulLiteral",
                        "src": "25231:2:136",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "25213:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "25213:6:136"
                    },
                    "nativeSrc": "25213:21:136",
                    "nodeType": "YulFunctionCall",
                    "src": "25213:21:136"
                  },
                  "nativeSrc": "25213:21:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "25213:21:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "25254:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "25254:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "25265:2:136",
                            "nodeType": "YulLiteral",
                            "src": "25265:2:136",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "25250:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "25250:3:136"
                        },
                        "nativeSrc": "25250:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "25250:18:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "25270:2:136",
                        "nodeType": "YulLiteral",
                        "src": "25270:2:136",
                        "type": "",
                        "value": "19"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "25243:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "25243:6:136"
                    },
                    "nativeSrc": "25243:30:136",
                    "nodeType": "YulFunctionCall",
                    "src": "25243:30:136"
                  },
                  "nativeSrc": "25243:30:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "25243:30:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "25293:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "25293:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "25304:2:136",
                            "nodeType": "YulLiteral",
                            "src": "25304:2:136",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "25289:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "25289:3:136"
                        },
                        "nativeSrc": "25289:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "25289:18:136"
                      },
                      {
                        "hexValue": "616c726561647920696e697469616c697a6564",
                        "kind": "string",
                        "nativeSrc": "25309:21:136",
                        "nodeType": "YulLiteral",
                        "src": "25309:21:136",
                        "type": "",
                        "value": "already initialized"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "25282:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "25282:6:136"
                    },
                    "nativeSrc": "25282:49:136",
                    "nodeType": "YulFunctionCall",
                    "src": "25282:49:136"
                  },
                  "nativeSrc": "25282:49:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "25282:49:136"
                },
                {
                  "nativeSrc": "25340:26:136",
                  "nodeType": "YulAssignment",
                  "src": "25340:26:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "25352:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "25352:9:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "25363:2:136",
                        "nodeType": "YulLiteral",
                        "src": "25363:2:136",
                        "type": "",
                        "value": "96"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "25348:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "25348:3:136"
                    },
                    "nativeSrc": "25348:18:136",
                    "nodeType": "YulFunctionCall",
                    "src": "25348:18:136"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "25340:4:136",
                      "nodeType": "YulIdentifier",
                      "src": "25340:4:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_t_stringliteral_6fad3ee6d344e662108f49bced409fae87c3af64246556bdd23a34dddc7e1adc__to_t_string_memory_ptr__fromStack_reversed",
            "nativeSrc": "25029:343:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "25180:9:136",
                "nodeType": "YulTypedName",
                "src": "25180:9:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "25194:4:136",
                "nodeType": "YulTypedName",
                "src": "25194:4:136",
                "type": ""
              }
            ],
            "src": "25029:343:136"
          },
          {
            "body": {
              "nativeSrc": "25532:162:136",
              "nodeType": "YulBlock",
              "src": "25532:162:136",
              "statements": [
                {
                  "nativeSrc": "25542:26:136",
                  "nodeType": "YulAssignment",
                  "src": "25542:26:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "25554:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "25554:9:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "25565:2:136",
                        "nodeType": "YulLiteral",
                        "src": "25565:2:136",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "25550:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "25550:3:136"
                    },
                    "nativeSrc": "25550:18:136",
                    "nodeType": "YulFunctionCall",
                    "src": "25550:18:136"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "25542:4:136",
                      "nodeType": "YulIdentifier",
                      "src": "25542:4:136"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "25584:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "25584:9:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value0",
                            "nativeSrc": "25599:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "25599:6:136"
                          },
                          {
                            "arguments": [
                              {
                                "kind": "number",
                                "nativeSrc": "25611:3:136",
                                "nodeType": "YulLiteral",
                                "src": "25611:3:136",
                                "type": "",
                                "value": "224"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "25616:10:136",
                                "nodeType": "YulLiteral",
                                "src": "25616:10:136",
                                "type": "",
                                "value": "0xffffffff"
                              }
                            ],
                            "functionName": {
                              "name": "shl",
                              "nativeSrc": "25607:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "25607:3:136"
                            },
                            "nativeSrc": "25607:20:136",
                            "nodeType": "YulFunctionCall",
                            "src": "25607:20:136"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "25595:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "25595:3:136"
                        },
                        "nativeSrc": "25595:33:136",
                        "nodeType": "YulFunctionCall",
                        "src": "25595:33:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "25577:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "25577:6:136"
                    },
                    "nativeSrc": "25577:52:136",
                    "nodeType": "YulFunctionCall",
                    "src": "25577:52:136"
                  },
                  "nativeSrc": "25577:52:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "25577:52:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "25649:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "25649:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "25660:2:136",
                            "nodeType": "YulLiteral",
                            "src": "25660:2:136",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "25645:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "25645:3:136"
                        },
                        "nativeSrc": "25645:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "25645:18:136"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "value1",
                                "nativeSrc": "25679:6:136",
                                "nodeType": "YulIdentifier",
                                "src": "25679:6:136"
                              }
                            ],
                            "functionName": {
                              "name": "iszero",
                              "nativeSrc": "25672:6:136",
                              "nodeType": "YulIdentifier",
                              "src": "25672:6:136"
                            },
                            "nativeSrc": "25672:14:136",
                            "nodeType": "YulFunctionCall",
                            "src": "25672:14:136"
                          }
                        ],
                        "functionName": {
                          "name": "iszero",
                          "nativeSrc": "25665:6:136",
                          "nodeType": "YulIdentifier",
                          "src": "25665:6:136"
                        },
                        "nativeSrc": "25665:22:136",
                        "nodeType": "YulFunctionCall",
                        "src": "25665:22:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "25638:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "25638:6:136"
                    },
                    "nativeSrc": "25638:50:136",
                    "nodeType": "YulFunctionCall",
                    "src": "25638:50:136"
                  },
                  "nativeSrc": "25638:50:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "25638:50:136"
                }
              ]
            },
            "name": "abi_encode_tuple_t_userDefinedValueType$_ID4_$28155_t_bool__to_t_bytes4_t_bool__fromStack_library_reversed",
            "nativeSrc": "25377:317:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "25493:9:136",
                "nodeType": "YulTypedName",
                "src": "25493:9:136",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "25504:6:136",
                "nodeType": "YulTypedName",
                "src": "25504:6:136",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "25512:6:136",
                "nodeType": "YulTypedName",
                "src": "25512:6:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "25523:4:136",
                "nodeType": "YulTypedName",
                "src": "25523:4:136",
                "type": ""
              }
            ],
            "src": "25377:317:136"
          },
          {
            "body": {
              "nativeSrc": "25766:200:136",
              "nodeType": "YulBlock",
              "src": "25766:200:136",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "pos",
                        "nativeSrc": "25783:3:136",
                        "nodeType": "YulIdentifier",
                        "src": "25783:3:136"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "25788:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "25788:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "25776:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "25776:6:136"
                    },
                    "nativeSrc": "25776:19:136",
                    "nodeType": "YulFunctionCall",
                    "src": "25776:19:136"
                  },
                  "nativeSrc": "25776:19:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "25776:19:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "25821:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "25821:3:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "25826:4:136",
                            "nodeType": "YulLiteral",
                            "src": "25826:4:136",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "25817:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "25817:3:136"
                        },
                        "nativeSrc": "25817:14:136",
                        "nodeType": "YulFunctionCall",
                        "src": "25817:14:136"
                      },
                      {
                        "name": "start",
                        "nativeSrc": "25833:5:136",
                        "nodeType": "YulIdentifier",
                        "src": "25833:5:136"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "25840:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "25840:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "calldatacopy",
                      "nativeSrc": "25804:12:136",
                      "nodeType": "YulIdentifier",
                      "src": "25804:12:136"
                    },
                    "nativeSrc": "25804:43:136",
                    "nodeType": "YulFunctionCall",
                    "src": "25804:43:136"
                  },
                  "nativeSrc": "25804:43:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "25804:43:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "pos",
                                "nativeSrc": "25871:3:136",
                                "nodeType": "YulIdentifier",
                                "src": "25871:3:136"
                              },
                              {
                                "name": "length",
                                "nativeSrc": "25876:6:136",
                                "nodeType": "YulIdentifier",
                                "src": "25876:6:136"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "25867:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "25867:3:136"
                            },
                            "nativeSrc": "25867:16:136",
                            "nodeType": "YulFunctionCall",
                            "src": "25867:16:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "25885:4:136",
                            "nodeType": "YulLiteral",
                            "src": "25885:4:136",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "25863:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "25863:3:136"
                        },
                        "nativeSrc": "25863:27:136",
                        "nodeType": "YulFunctionCall",
                        "src": "25863:27:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "25892:1:136",
                        "nodeType": "YulLiteral",
                        "src": "25892:1:136",
                        "type": "",
                        "value": "0"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "25856:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "25856:6:136"
                    },
                    "nativeSrc": "25856:38:136",
                    "nodeType": "YulFunctionCall",
                    "src": "25856:38:136"
                  },
                  "nativeSrc": "25856:38:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "25856:38:136"
                },
                {
                  "nativeSrc": "25903:57:136",
                  "nodeType": "YulAssignment",
                  "src": "25903:57:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "25918:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "25918:3:136"
                          },
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "name": "length",
                                    "nativeSrc": "25931:6:136",
                                    "nodeType": "YulIdentifier",
                                    "src": "25931:6:136"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "25939:2:136",
                                    "nodeType": "YulLiteral",
                                    "src": "25939:2:136",
                                    "type": "",
                                    "value": "31"
                                  }
                                ],
                                "functionName": {
                                  "name": "add",
                                  "nativeSrc": "25927:3:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "25927:3:136"
                                },
                                "nativeSrc": "25927:15:136",
                                "nodeType": "YulFunctionCall",
                                "src": "25927:15:136"
                              },
                              {
                                "arguments": [
                                  {
                                    "kind": "number",
                                    "nativeSrc": "25948:2:136",
                                    "nodeType": "YulLiteral",
                                    "src": "25948:2:136",
                                    "type": "",
                                    "value": "31"
                                  }
                                ],
                                "functionName": {
                                  "name": "not",
                                  "nativeSrc": "25944:3:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "25944:3:136"
                                },
                                "nativeSrc": "25944:7:136",
                                "nodeType": "YulFunctionCall",
                                "src": "25944:7:136"
                              }
                            ],
                            "functionName": {
                              "name": "and",
                              "nativeSrc": "25923:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "25923:3:136"
                            },
                            "nativeSrc": "25923:29:136",
                            "nodeType": "YulFunctionCall",
                            "src": "25923:29:136"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "25914:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "25914:3:136"
                        },
                        "nativeSrc": "25914:39:136",
                        "nodeType": "YulFunctionCall",
                        "src": "25914:39:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "25955:4:136",
                        "nodeType": "YulLiteral",
                        "src": "25955:4:136",
                        "type": "",
                        "value": "0x20"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "25910:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "25910:3:136"
                    },
                    "nativeSrc": "25910:50:136",
                    "nodeType": "YulFunctionCall",
                    "src": "25910:50:136"
                  },
                  "variableNames": [
                    {
                      "name": "end",
                      "nativeSrc": "25903:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "25903:3:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_string_calldata",
            "nativeSrc": "25699:267:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "start",
                "nativeSrc": "25735:5:136",
                "nodeType": "YulTypedName",
                "src": "25735:5:136",
                "type": ""
              },
              {
                "name": "length",
                "nativeSrc": "25742:6:136",
                "nodeType": "YulTypedName",
                "src": "25742:6:136",
                "type": ""
              },
              {
                "name": "pos",
                "nativeSrc": "25750:3:136",
                "nodeType": "YulTypedName",
                "src": "25750:3:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "end",
                "nativeSrc": "25758:3:136",
                "nodeType": "YulTypedName",
                "src": "25758:3:136",
                "type": ""
              }
            ],
            "src": "25699:267:136"
          },
          {
            "body": {
              "nativeSrc": "26154:186:136",
              "nodeType": "YulBlock",
              "src": "26154:186:136",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "26171:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "26171:9:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value0",
                            "nativeSrc": "26186:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "26186:6:136"
                          },
                          {
                            "arguments": [
                              {
                                "kind": "number",
                                "nativeSrc": "26198:3:136",
                                "nodeType": "YulLiteral",
                                "src": "26198:3:136",
                                "type": "",
                                "value": "224"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "26203:10:136",
                                "nodeType": "YulLiteral",
                                "src": "26203:10:136",
                                "type": "",
                                "value": "0xffffffff"
                              }
                            ],
                            "functionName": {
                              "name": "shl",
                              "nativeSrc": "26194:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "26194:3:136"
                            },
                            "nativeSrc": "26194:20:136",
                            "nodeType": "YulFunctionCall",
                            "src": "26194:20:136"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "26182:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "26182:3:136"
                        },
                        "nativeSrc": "26182:33:136",
                        "nodeType": "YulFunctionCall",
                        "src": "26182:33:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "26164:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "26164:6:136"
                    },
                    "nativeSrc": "26164:52:136",
                    "nodeType": "YulFunctionCall",
                    "src": "26164:52:136"
                  },
                  "nativeSrc": "26164:52:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "26164:52:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "26236:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "26236:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "26247:2:136",
                            "nodeType": "YulLiteral",
                            "src": "26247:2:136",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "26232:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "26232:3:136"
                        },
                        "nativeSrc": "26232:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "26232:18:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "26252:2:136",
                        "nodeType": "YulLiteral",
                        "src": "26252:2:136",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "26225:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "26225:6:136"
                    },
                    "nativeSrc": "26225:30:136",
                    "nodeType": "YulFunctionCall",
                    "src": "26225:30:136"
                  },
                  "nativeSrc": "26225:30:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "26225:30:136"
                },
                {
                  "nativeSrc": "26264:70:136",
                  "nodeType": "YulAssignment",
                  "src": "26264:70:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "value1",
                        "nativeSrc": "26299:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "26299:6:136"
                      },
                      {
                        "name": "value2",
                        "nativeSrc": "26307:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "26307:6:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "26319:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "26319:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "26330:2:136",
                            "nodeType": "YulLiteral",
                            "src": "26330:2:136",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "26315:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "26315:3:136"
                        },
                        "nativeSrc": "26315:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "26315:18:136"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_string_calldata",
                      "nativeSrc": "26272:26:136",
                      "nodeType": "YulIdentifier",
                      "src": "26272:26:136"
                    },
                    "nativeSrc": "26272:62:136",
                    "nodeType": "YulFunctionCall",
                    "src": "26272:62:136"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "26264:4:136",
                      "nodeType": "YulIdentifier",
                      "src": "26264:4:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_t_userDefinedValueType$_ID4_$28155_t_string_calldata_ptr__to_t_bytes4_t_string_memory_ptr__fromStack_reversed",
            "nativeSrc": "25971:369:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "26107:9:136",
                "nodeType": "YulTypedName",
                "src": "26107:9:136",
                "type": ""
              },
              {
                "name": "value2",
                "nativeSrc": "26118:6:136",
                "nodeType": "YulTypedName",
                "src": "26118:6:136",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "26126:6:136",
                "nodeType": "YulTypedName",
                "src": "26126:6:136",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "26134:6:136",
                "nodeType": "YulTypedName",
                "src": "26134:6:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "26145:4:136",
                "nodeType": "YulTypedName",
                "src": "26145:4:136",
                "type": ""
              }
            ],
            "src": "25971:369:136"
          },
          {
            "body": {
              "nativeSrc": "26425:187:136",
              "nodeType": "YulBlock",
              "src": "26425:187:136",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "26471:16:136",
                    "nodeType": "YulBlock",
                    "src": "26471:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "26480:1:136",
                              "nodeType": "YulLiteral",
                              "src": "26480:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "26483:1:136",
                              "nodeType": "YulLiteral",
                              "src": "26483:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "26473:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "26473:6:136"
                          },
                          "nativeSrc": "26473:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "26473:12:136"
                        },
                        "nativeSrc": "26473:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "26473:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "26446:7:136",
                            "nodeType": "YulIdentifier",
                            "src": "26446:7:136"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "26455:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "26455:9:136"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "26442:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "26442:3:136"
                        },
                        "nativeSrc": "26442:23:136",
                        "nodeType": "YulFunctionCall",
                        "src": "26442:23:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "26467:2:136",
                        "nodeType": "YulLiteral",
                        "src": "26467:2:136",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "26438:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "26438:3:136"
                    },
                    "nativeSrc": "26438:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "26438:32:136"
                  },
                  "nativeSrc": "26435:52:136",
                  "nodeType": "YulIf",
                  "src": "26435:52:136"
                },
                {
                  "nativeSrc": "26496:29:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "26496:29:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "26515:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "26515:9:136"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "26509:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "26509:5:136"
                    },
                    "nativeSrc": "26509:16:136",
                    "nodeType": "YulFunctionCall",
                    "src": "26509:16:136"
                  },
                  "variables": [
                    {
                      "name": "value",
                      "nativeSrc": "26500:5:136",
                      "nodeType": "YulTypedName",
                      "src": "26500:5:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "26576:5:136",
                        "nodeType": "YulIdentifier",
                        "src": "26576:5:136"
                      }
                    ],
                    "functionName": {
                      "name": "validator_revert_userDefinedValueType_ID4",
                      "nativeSrc": "26534:41:136",
                      "nodeType": "YulIdentifier",
                      "src": "26534:41:136"
                    },
                    "nativeSrc": "26534:48:136",
                    "nodeType": "YulFunctionCall",
                    "src": "26534:48:136"
                  },
                  "nativeSrc": "26534:48:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "26534:48:136"
                },
                {
                  "nativeSrc": "26591:15:136",
                  "nodeType": "YulAssignment",
                  "src": "26591:15:136",
                  "value": {
                    "name": "value",
                    "nativeSrc": "26601:5:136",
                    "nodeType": "YulIdentifier",
                    "src": "26601:5:136"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "26591:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "26591:6:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_bytes4_fromMemory",
            "nativeSrc": "26345:267:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "26391:9:136",
                "nodeType": "YulTypedName",
                "src": "26391:9:136",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "26402:7:136",
                "nodeType": "YulTypedName",
                "src": "26402:7:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "26414:6:136",
                "nodeType": "YulTypedName",
                "src": "26414:6:136",
                "type": ""
              }
            ],
            "src": "26345:267:136"
          },
          {
            "body": {
              "nativeSrc": "26694:424:136",
              "nodeType": "YulBlock",
              "src": "26694:424:136",
              "statements": [
                {
                  "nativeSrc": "26704:43:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "26704:43:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "ptr",
                        "nativeSrc": "26743:3:136",
                        "nodeType": "YulIdentifier",
                        "src": "26743:3:136"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "26730:12:136",
                      "nodeType": "YulIdentifier",
                      "src": "26730:12:136"
                    },
                    "nativeSrc": "26730:17:136",
                    "nodeType": "YulFunctionCall",
                    "src": "26730:17:136"
                  },
                  "variables": [
                    {
                      "name": "rel_offset_of_tail",
                      "nativeSrc": "26708:18:136",
                      "nodeType": "YulTypedName",
                      "src": "26708:18:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "26836:16:136",
                    "nodeType": "YulBlock",
                    "src": "26836:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "26845:1:136",
                              "nodeType": "YulLiteral",
                              "src": "26845:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "26848:1:136",
                              "nodeType": "YulLiteral",
                              "src": "26848:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "26838:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "26838:6:136"
                          },
                          "nativeSrc": "26838:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "26838:12:136"
                        },
                        "nativeSrc": "26838:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "26838:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "rel_offset_of_tail",
                            "nativeSrc": "26770:18:136",
                            "nodeType": "YulIdentifier",
                            "src": "26770:18:136"
                          },
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "arguments": [],
                                    "functionName": {
                                      "name": "calldatasize",
                                      "nativeSrc": "26798:12:136",
                                      "nodeType": "YulIdentifier",
                                      "src": "26798:12:136"
                                    },
                                    "nativeSrc": "26798:14:136",
                                    "nodeType": "YulFunctionCall",
                                    "src": "26798:14:136"
                                  },
                                  {
                                    "name": "base_ref",
                                    "nativeSrc": "26814:8:136",
                                    "nodeType": "YulIdentifier",
                                    "src": "26814:8:136"
                                  }
                                ],
                                "functionName": {
                                  "name": "sub",
                                  "nativeSrc": "26794:3:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "26794:3:136"
                                },
                                "nativeSrc": "26794:29:136",
                                "nodeType": "YulFunctionCall",
                                "src": "26794:29:136"
                              },
                              {
                                "arguments": [
                                  {
                                    "kind": "number",
                                    "nativeSrc": "26829:2:136",
                                    "nodeType": "YulLiteral",
                                    "src": "26829:2:136",
                                    "type": "",
                                    "value": "30"
                                  }
                                ],
                                "functionName": {
                                  "name": "not",
                                  "nativeSrc": "26825:3:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "26825:3:136"
                                },
                                "nativeSrc": "26825:7:136",
                                "nodeType": "YulFunctionCall",
                                "src": "26825:7:136"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "26790:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "26790:3:136"
                            },
                            "nativeSrc": "26790:43:136",
                            "nodeType": "YulFunctionCall",
                            "src": "26790:43:136"
                          }
                        ],
                        "functionName": {
                          "name": "slt",
                          "nativeSrc": "26766:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "26766:3:136"
                        },
                        "nativeSrc": "26766:68:136",
                        "nodeType": "YulFunctionCall",
                        "src": "26766:68:136"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "26759:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "26759:6:136"
                    },
                    "nativeSrc": "26759:76:136",
                    "nodeType": "YulFunctionCall",
                    "src": "26759:76:136"
                  },
                  "nativeSrc": "26756:96:136",
                  "nodeType": "YulIf",
                  "src": "26756:96:136"
                },
                {
                  "nativeSrc": "26861:48:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "26861:48:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "rel_offset_of_tail",
                        "nativeSrc": "26880:18:136",
                        "nodeType": "YulIdentifier",
                        "src": "26880:18:136"
                      },
                      {
                        "name": "base_ref",
                        "nativeSrc": "26900:8:136",
                        "nodeType": "YulIdentifier",
                        "src": "26900:8:136"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "26876:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "26876:3:136"
                    },
                    "nativeSrc": "26876:33:136",
                    "nodeType": "YulFunctionCall",
                    "src": "26876:33:136"
                  },
                  "variables": [
                    {
                      "name": "value_1",
                      "nativeSrc": "26865:7:136",
                      "nodeType": "YulTypedName",
                      "src": "26865:7:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "26918:31:136",
                  "nodeType": "YulAssignment",
                  "src": "26918:31:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "value_1",
                        "nativeSrc": "26941:7:136",
                        "nodeType": "YulIdentifier",
                        "src": "26941:7:136"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "26928:12:136",
                      "nodeType": "YulIdentifier",
                      "src": "26928:12:136"
                    },
                    "nativeSrc": "26928:21:136",
                    "nodeType": "YulFunctionCall",
                    "src": "26928:21:136"
                  },
                  "variableNames": [
                    {
                      "name": "length",
                      "nativeSrc": "26918:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "26918:6:136"
                    }
                  ]
                },
                {
                  "nativeSrc": "26958:27:136",
                  "nodeType": "YulAssignment",
                  "src": "26958:27:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "value_1",
                        "nativeSrc": "26971:7:136",
                        "nodeType": "YulIdentifier",
                        "src": "26971:7:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "26980:4:136",
                        "nodeType": "YulLiteral",
                        "src": "26980:4:136",
                        "type": "",
                        "value": "0x20"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "26967:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "26967:3:136"
                    },
                    "nativeSrc": "26967:18:136",
                    "nodeType": "YulFunctionCall",
                    "src": "26967:18:136"
                  },
                  "variableNames": [
                    {
                      "name": "value",
                      "nativeSrc": "26958:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "26958:5:136"
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "27028:16:136",
                    "nodeType": "YulBlock",
                    "src": "27028:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "27037:1:136",
                              "nodeType": "YulLiteral",
                              "src": "27037:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "27040:1:136",
                              "nodeType": "YulLiteral",
                              "src": "27040:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "27030:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "27030:6:136"
                          },
                          "nativeSrc": "27030:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "27030:12:136"
                        },
                        "nativeSrc": "27030:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "27030:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "length",
                        "nativeSrc": "27000:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "27000:6:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "27008:18:136",
                        "nodeType": "YulLiteral",
                        "src": "27008:18:136",
                        "type": "",
                        "value": "0xffffffffffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "26997:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "26997:2:136"
                    },
                    "nativeSrc": "26997:30:136",
                    "nodeType": "YulFunctionCall",
                    "src": "26997:30:136"
                  },
                  "nativeSrc": "26994:50:136",
                  "nodeType": "YulIf",
                  "src": "26994:50:136"
                },
                {
                  "body": {
                    "nativeSrc": "27096:16:136",
                    "nodeType": "YulBlock",
                    "src": "27096:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "27105:1:136",
                              "nodeType": "YulLiteral",
                              "src": "27105:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "27108:1:136",
                              "nodeType": "YulLiteral",
                              "src": "27108:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "27098:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "27098:6:136"
                          },
                          "nativeSrc": "27098:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "27098:12:136"
                        },
                        "nativeSrc": "27098:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "27098:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "27060:5:136",
                        "nodeType": "YulIdentifier",
                        "src": "27060:5:136"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [],
                            "functionName": {
                              "name": "calldatasize",
                              "nativeSrc": "27071:12:136",
                              "nodeType": "YulIdentifier",
                              "src": "27071:12:136"
                            },
                            "nativeSrc": "27071:14:136",
                            "nodeType": "YulFunctionCall",
                            "src": "27071:14:136"
                          },
                          {
                            "name": "length",
                            "nativeSrc": "27087:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "27087:6:136"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "27067:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "27067:3:136"
                        },
                        "nativeSrc": "27067:27:136",
                        "nodeType": "YulFunctionCall",
                        "src": "27067:27:136"
                      }
                    ],
                    "functionName": {
                      "name": "sgt",
                      "nativeSrc": "27056:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "27056:3:136"
                    },
                    "nativeSrc": "27056:39:136",
                    "nodeType": "YulFunctionCall",
                    "src": "27056:39:136"
                  },
                  "nativeSrc": "27053:59:136",
                  "nodeType": "YulIf",
                  "src": "27053:59:136"
                }
              ]
            },
            "name": "calldata_access_string_calldata",
            "nativeSrc": "26617:501:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "base_ref",
                "nativeSrc": "26658:8:136",
                "nodeType": "YulTypedName",
                "src": "26658:8:136",
                "type": ""
              },
              {
                "name": "ptr",
                "nativeSrc": "26668:3:136",
                "nodeType": "YulTypedName",
                "src": "26668:3:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value",
                "nativeSrc": "26676:5:136",
                "nodeType": "YulTypedName",
                "src": "26676:5:136",
                "type": ""
              },
              {
                "name": "length",
                "nativeSrc": "26683:6:136",
                "nodeType": "YulTypedName",
                "src": "26683:6:136",
                "type": ""
              }
            ],
            "src": "26617:501:136"
          },
          {
            "body": {
              "nativeSrc": "27433:900:136",
              "nodeType": "YulBlock",
              "src": "27433:900:136",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "27450:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "27450:9:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "27461:3:136",
                        "nodeType": "YulLiteral",
                        "src": "27461:3:136",
                        "type": "",
                        "value": "128"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "27443:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "27443:6:136"
                    },
                    "nativeSrc": "27443:22:136",
                    "nodeType": "YulFunctionCall",
                    "src": "27443:22:136"
                  },
                  "nativeSrc": "27443:22:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "27443:22:136"
                },
                {
                  "nativeSrc": "27474:77:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "27474:77:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "value0",
                        "nativeSrc": "27515:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "27515:6:136"
                      },
                      {
                        "name": "value1",
                        "nativeSrc": "27523:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "27523:6:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "27535:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "27535:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "27546:3:136",
                            "nodeType": "YulLiteral",
                            "src": "27546:3:136",
                            "type": "",
                            "value": "128"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "27531:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "27531:3:136"
                        },
                        "nativeSrc": "27531:19:136",
                        "nodeType": "YulFunctionCall",
                        "src": "27531:19:136"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_string_calldata",
                      "nativeSrc": "27488:26:136",
                      "nodeType": "YulIdentifier",
                      "src": "27488:26:136"
                    },
                    "nativeSrc": "27488:63:136",
                    "nodeType": "YulFunctionCall",
                    "src": "27488:63:136"
                  },
                  "variables": [
                    {
                      "name": "tail_1",
                      "nativeSrc": "27478:6:136",
                      "nodeType": "YulTypedName",
                      "src": "27478:6:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "27571:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "27571:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "27582:2:136",
                            "nodeType": "YulLiteral",
                            "src": "27582:2:136",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "27567:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "27567:3:136"
                        },
                        "nativeSrc": "27567:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "27567:18:136"
                      },
                      {
                        "arguments": [
                          {
                            "kind": "number",
                            "nativeSrc": "27598:1:136",
                            "nodeType": "YulLiteral",
                            "src": "27598:1:136",
                            "type": "",
                            "value": "0"
                          },
                          {
                            "name": "value2",
                            "nativeSrc": "27601:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "27601:6:136"
                          }
                        ],
                        "functionName": {
                          "name": "signextend",
                          "nativeSrc": "27587:10:136",
                          "nodeType": "YulIdentifier",
                          "src": "27587:10:136"
                        },
                        "nativeSrc": "27587:21:136",
                        "nodeType": "YulFunctionCall",
                        "src": "27587:21:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "27560:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "27560:6:136"
                    },
                    "nativeSrc": "27560:49:136",
                    "nodeType": "YulFunctionCall",
                    "src": "27560:49:136"
                  },
                  "nativeSrc": "27560:49:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "27560:49:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value3",
                        "nativeSrc": "27642:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "27642:6:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "27654:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "27654:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "27665:2:136",
                            "nodeType": "YulLiteral",
                            "src": "27665:2:136",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "27650:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "27650:3:136"
                        },
                        "nativeSrc": "27650:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "27650:18:136"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_enum_Mappers",
                      "nativeSrc": "27618:23:136",
                      "nodeType": "YulIdentifier",
                      "src": "27618:23:136"
                    },
                    "nativeSrc": "27618:51:136",
                    "nodeType": "YulFunctionCall",
                    "src": "27618:51:136"
                  },
                  "nativeSrc": "27618:51:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "27618:51:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "27689:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "27689:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "27700:2:136",
                            "nodeType": "YulLiteral",
                            "src": "27700:2:136",
                            "type": "",
                            "value": "96"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "27685:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "27685:3:136"
                        },
                        "nativeSrc": "27685:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "27685:18:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "tail_1",
                            "nativeSrc": "27709:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "27709:6:136"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "27717:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "27717:9:136"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "27705:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "27705:3:136"
                        },
                        "nativeSrc": "27705:22:136",
                        "nodeType": "YulFunctionCall",
                        "src": "27705:22:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "27678:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "27678:6:136"
                    },
                    "nativeSrc": "27678:50:136",
                    "nodeType": "YulFunctionCall",
                    "src": "27678:50:136"
                  },
                  "nativeSrc": "27678:50:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "27678:50:136"
                },
                {
                  "nativeSrc": "27737:17:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "27737:17:136",
                  "value": {
                    "name": "tail_1",
                    "nativeSrc": "27748:6:136",
                    "nodeType": "YulIdentifier",
                    "src": "27748:6:136"
                  },
                  "variables": [
                    {
                      "name": "pos",
                      "nativeSrc": "27741:3:136",
                      "nodeType": "YulTypedName",
                      "src": "27741:3:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "tail_1",
                        "nativeSrc": "27770:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "27770:6:136"
                      },
                      {
                        "name": "value5",
                        "nativeSrc": "27778:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "27778:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "27763:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "27763:6:136"
                    },
                    "nativeSrc": "27763:22:136",
                    "nodeType": "YulFunctionCall",
                    "src": "27763:22:136"
                  },
                  "nativeSrc": "27763:22:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "27763:22:136"
                },
                {
                  "nativeSrc": "27794:22:136",
                  "nodeType": "YulAssignment",
                  "src": "27794:22:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "tail_1",
                        "nativeSrc": "27805:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "27805:6:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "27813:2:136",
                        "nodeType": "YulLiteral",
                        "src": "27813:2:136",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "27801:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "27801:3:136"
                    },
                    "nativeSrc": "27801:15:136",
                    "nodeType": "YulFunctionCall",
                    "src": "27801:15:136"
                  },
                  "variableNames": [
                    {
                      "name": "pos",
                      "nativeSrc": "27794:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "27794:3:136"
                    }
                  ]
                },
                {
                  "nativeSrc": "27825:50:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "27825:50:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "tail_1",
                            "nativeSrc": "27847:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "27847:6:136"
                          },
                          {
                            "arguments": [
                              {
                                "kind": "number",
                                "nativeSrc": "27859:1:136",
                                "nodeType": "YulLiteral",
                                "src": "27859:1:136",
                                "type": "",
                                "value": "5"
                              },
                              {
                                "name": "value5",
                                "nativeSrc": "27862:6:136",
                                "nodeType": "YulIdentifier",
                                "src": "27862:6:136"
                              }
                            ],
                            "functionName": {
                              "name": "shl",
                              "nativeSrc": "27855:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "27855:3:136"
                            },
                            "nativeSrc": "27855:14:136",
                            "nodeType": "YulFunctionCall",
                            "src": "27855:14:136"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "27843:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "27843:3:136"
                        },
                        "nativeSrc": "27843:27:136",
                        "nodeType": "YulFunctionCall",
                        "src": "27843:27:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "27872:2:136",
                        "nodeType": "YulLiteral",
                        "src": "27872:2:136",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "27839:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "27839:3:136"
                    },
                    "nativeSrc": "27839:36:136",
                    "nodeType": "YulFunctionCall",
                    "src": "27839:36:136"
                  },
                  "variables": [
                    {
                      "name": "tail_2",
                      "nativeSrc": "27829:6:136",
                      "nodeType": "YulTypedName",
                      "src": "27829:6:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "27884:20:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "27884:20:136",
                  "value": {
                    "name": "value4",
                    "nativeSrc": "27898:6:136",
                    "nodeType": "YulIdentifier",
                    "src": "27898:6:136"
                  },
                  "variables": [
                    {
                      "name": "srcPtr",
                      "nativeSrc": "27888:6:136",
                      "nodeType": "YulTypedName",
                      "src": "27888:6:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "27913:10:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "27913:10:136",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "27922:1:136",
                    "nodeType": "YulLiteral",
                    "src": "27922:1:136",
                    "type": "",
                    "value": "0"
                  },
                  "variables": [
                    {
                      "name": "i",
                      "nativeSrc": "27917:1:136",
                      "nodeType": "YulTypedName",
                      "src": "27917:1:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "27981:323:136",
                    "nodeType": "YulBlock",
                    "src": "27981:323:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "name": "pos",
                              "nativeSrc": "28002:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "28002:3:136"
                            },
                            {
                              "arguments": [
                                {
                                  "arguments": [
                                    {
                                      "name": "tail_2",
                                      "nativeSrc": "28015:6:136",
                                      "nodeType": "YulIdentifier",
                                      "src": "28015:6:136"
                                    },
                                    {
                                      "name": "tail_1",
                                      "nativeSrc": "28023:6:136",
                                      "nodeType": "YulIdentifier",
                                      "src": "28023:6:136"
                                    }
                                  ],
                                  "functionName": {
                                    "name": "sub",
                                    "nativeSrc": "28011:3:136",
                                    "nodeType": "YulIdentifier",
                                    "src": "28011:3:136"
                                  },
                                  "nativeSrc": "28011:19:136",
                                  "nodeType": "YulFunctionCall",
                                  "src": "28011:19:136"
                                },
                                {
                                  "arguments": [
                                    {
                                      "kind": "number",
                                      "nativeSrc": "28036:2:136",
                                      "nodeType": "YulLiteral",
                                      "src": "28036:2:136",
                                      "type": "",
                                      "value": "31"
                                    }
                                  ],
                                  "functionName": {
                                    "name": "not",
                                    "nativeSrc": "28032:3:136",
                                    "nodeType": "YulIdentifier",
                                    "src": "28032:3:136"
                                  },
                                  "nativeSrc": "28032:7:136",
                                  "nodeType": "YulFunctionCall",
                                  "src": "28032:7:136"
                                }
                              ],
                              "functionName": {
                                "name": "add",
                                "nativeSrc": "28007:3:136",
                                "nodeType": "YulIdentifier",
                                "src": "28007:3:136"
                              },
                              "nativeSrc": "28007:33:136",
                              "nodeType": "YulFunctionCall",
                              "src": "28007:33:136"
                            }
                          ],
                          "functionName": {
                            "name": "mstore",
                            "nativeSrc": "27995:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "27995:6:136"
                          },
                          "nativeSrc": "27995:46:136",
                          "nodeType": "YulFunctionCall",
                          "src": "27995:46:136"
                        },
                        "nativeSrc": "27995:46:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "27995:46:136"
                      },
                      {
                        "nativeSrc": "28054:83:136",
                        "nodeType": "YulVariableDeclaration",
                        "src": "28054:83:136",
                        "value": {
                          "arguments": [
                            {
                              "name": "value4",
                              "nativeSrc": "28122:6:136",
                              "nodeType": "YulIdentifier",
                              "src": "28122:6:136"
                            },
                            {
                              "name": "srcPtr",
                              "nativeSrc": "28130:6:136",
                              "nodeType": "YulIdentifier",
                              "src": "28130:6:136"
                            }
                          ],
                          "functionName": {
                            "name": "calldata_access_string_calldata",
                            "nativeSrc": "28090:31:136",
                            "nodeType": "YulIdentifier",
                            "src": "28090:31:136"
                          },
                          "nativeSrc": "28090:47:136",
                          "nodeType": "YulFunctionCall",
                          "src": "28090:47:136"
                        },
                        "variables": [
                          {
                            "name": "elementValue0",
                            "nativeSrc": "28058:13:136",
                            "nodeType": "YulTypedName",
                            "src": "28058:13:136",
                            "type": ""
                          },
                          {
                            "name": "elementValue1",
                            "nativeSrc": "28073:13:136",
                            "nodeType": "YulTypedName",
                            "src": "28073:13:136",
                            "type": ""
                          }
                        ]
                      },
                      {
                        "nativeSrc": "28150:74:136",
                        "nodeType": "YulAssignment",
                        "src": "28150:74:136",
                        "value": {
                          "arguments": [
                            {
                              "name": "elementValue0",
                              "nativeSrc": "28187:13:136",
                              "nodeType": "YulIdentifier",
                              "src": "28187:13:136"
                            },
                            {
                              "name": "elementValue1",
                              "nativeSrc": "28202:13:136",
                              "nodeType": "YulIdentifier",
                              "src": "28202:13:136"
                            },
                            {
                              "name": "tail_2",
                              "nativeSrc": "28217:6:136",
                              "nodeType": "YulIdentifier",
                              "src": "28217:6:136"
                            }
                          ],
                          "functionName": {
                            "name": "abi_encode_string_calldata",
                            "nativeSrc": "28160:26:136",
                            "nodeType": "YulIdentifier",
                            "src": "28160:26:136"
                          },
                          "nativeSrc": "28160:64:136",
                          "nodeType": "YulFunctionCall",
                          "src": "28160:64:136"
                        },
                        "variableNames": [
                          {
                            "name": "tail_2",
                            "nativeSrc": "28150:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "28150:6:136"
                          }
                        ]
                      },
                      {
                        "nativeSrc": "28237:25:136",
                        "nodeType": "YulAssignment",
                        "src": "28237:25:136",
                        "value": {
                          "arguments": [
                            {
                              "name": "srcPtr",
                              "nativeSrc": "28251:6:136",
                              "nodeType": "YulIdentifier",
                              "src": "28251:6:136"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "28259:2:136",
                              "nodeType": "YulLiteral",
                              "src": "28259:2:136",
                              "type": "",
                              "value": "32"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "28247:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "28247:3:136"
                          },
                          "nativeSrc": "28247:15:136",
                          "nodeType": "YulFunctionCall",
                          "src": "28247:15:136"
                        },
                        "variableNames": [
                          {
                            "name": "srcPtr",
                            "nativeSrc": "28237:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "28237:6:136"
                          }
                        ]
                      },
                      {
                        "nativeSrc": "28275:19:136",
                        "nodeType": "YulAssignment",
                        "src": "28275:19:136",
                        "value": {
                          "arguments": [
                            {
                              "name": "pos",
                              "nativeSrc": "28286:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "28286:3:136"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "28291:2:136",
                              "nodeType": "YulLiteral",
                              "src": "28291:2:136",
                              "type": "",
                              "value": "32"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "28282:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "28282:3:136"
                          },
                          "nativeSrc": "28282:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "28282:12:136"
                        },
                        "variableNames": [
                          {
                            "name": "pos",
                            "nativeSrc": "28275:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "28275:3:136"
                          }
                        ]
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "i",
                        "nativeSrc": "27943:1:136",
                        "nodeType": "YulIdentifier",
                        "src": "27943:1:136"
                      },
                      {
                        "name": "value5",
                        "nativeSrc": "27946:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "27946:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "lt",
                      "nativeSrc": "27940:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "27940:2:136"
                    },
                    "nativeSrc": "27940:13:136",
                    "nodeType": "YulFunctionCall",
                    "src": "27940:13:136"
                  },
                  "nativeSrc": "27932:372:136",
                  "nodeType": "YulForLoop",
                  "post": {
                    "nativeSrc": "27954:18:136",
                    "nodeType": "YulBlock",
                    "src": "27954:18:136",
                    "statements": [
                      {
                        "nativeSrc": "27956:14:136",
                        "nodeType": "YulAssignment",
                        "src": "27956:14:136",
                        "value": {
                          "arguments": [
                            {
                              "name": "i",
                              "nativeSrc": "27965:1:136",
                              "nodeType": "YulIdentifier",
                              "src": "27965:1:136"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "27968:1:136",
                              "nodeType": "YulLiteral",
                              "src": "27968:1:136",
                              "type": "",
                              "value": "1"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "27961:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "27961:3:136"
                          },
                          "nativeSrc": "27961:9:136",
                          "nodeType": "YulFunctionCall",
                          "src": "27961:9:136"
                        },
                        "variableNames": [
                          {
                            "name": "i",
                            "nativeSrc": "27956:1:136",
                            "nodeType": "YulIdentifier",
                            "src": "27956:1:136"
                          }
                        ]
                      }
                    ]
                  },
                  "pre": {
                    "nativeSrc": "27936:3:136",
                    "nodeType": "YulBlock",
                    "src": "27936:3:136",
                    "statements": []
                  },
                  "src": "27932:372:136"
                },
                {
                  "nativeSrc": "28313:14:136",
                  "nodeType": "YulAssignment",
                  "src": "28313:14:136",
                  "value": {
                    "name": "tail_2",
                    "nativeSrc": "28321:6:136",
                    "nodeType": "YulIdentifier",
                    "src": "28321:6:136"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "28313:4:136",
                      "nodeType": "YulIdentifier",
                      "src": "28313:4:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_t_string_calldata_ptr_t_int8_t_enum$_Mappers_$28087_t_array$_t_string_calldata_ptr_$dyn_calldata_ptr__to_t_string_memory_ptr_t_int8_t_uint8_t_array$_t_string_memory_ptr_$dyn_memory_ptr__fromStack_library_reversed",
            "nativeSrc": "27123:1210:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "27362:9:136",
                "nodeType": "YulTypedName",
                "src": "27362:9:136",
                "type": ""
              },
              {
                "name": "value5",
                "nativeSrc": "27373:6:136",
                "nodeType": "YulTypedName",
                "src": "27373:6:136",
                "type": ""
              },
              {
                "name": "value4",
                "nativeSrc": "27381:6:136",
                "nodeType": "YulTypedName",
                "src": "27381:6:136",
                "type": ""
              },
              {
                "name": "value3",
                "nativeSrc": "27389:6:136",
                "nodeType": "YulTypedName",
                "src": "27389:6:136",
                "type": ""
              },
              {
                "name": "value2",
                "nativeSrc": "27397:6:136",
                "nodeType": "YulTypedName",
                "src": "27397:6:136",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "27405:6:136",
                "nodeType": "YulTypedName",
                "src": "27405:6:136",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "27413:6:136",
                "nodeType": "YulTypedName",
                "src": "27413:6:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "27424:4:136",
                "nodeType": "YulTypedName",
                "src": "27424:4:136",
                "type": ""
              }
            ],
            "src": "27123:1210:136"
          },
          {
            "body": {
              "nativeSrc": "28381:136:136",
              "nodeType": "YulBlock",
              "src": "28381:136:136",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "28426:85:136",
                    "nodeType": "YulBlock",
                    "src": "28426:85:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "28455:1:136",
                              "nodeType": "YulLiteral",
                              "src": "28455:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "28458:1:136",
                              "nodeType": "YulLiteral",
                              "src": "28458:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "28461:1:136",
                              "nodeType": "YulLiteral",
                              "src": "28461:1:136",
                              "type": "",
                              "value": "4"
                            }
                          ],
                          "functionName": {
                            "name": "returndatacopy",
                            "nativeSrc": "28440:14:136",
                            "nodeType": "YulIdentifier",
                            "src": "28440:14:136"
                          },
                          "nativeSrc": "28440:23:136",
                          "nodeType": "YulFunctionCall",
                          "src": "28440:23:136"
                        },
                        "nativeSrc": "28440:23:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "28440:23:136"
                      },
                      {
                        "nativeSrc": "28476:25:136",
                        "nodeType": "YulAssignment",
                        "src": "28476:25:136",
                        "value": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "28487:3:136",
                              "nodeType": "YulLiteral",
                              "src": "28487:3:136",
                              "type": "",
                              "value": "224"
                            },
                            {
                              "arguments": [
                                {
                                  "kind": "number",
                                  "nativeSrc": "28498:1:136",
                                  "nodeType": "YulLiteral",
                                  "src": "28498:1:136",
                                  "type": "",
                                  "value": "0"
                                }
                              ],
                              "functionName": {
                                "name": "mload",
                                "nativeSrc": "28492:5:136",
                                "nodeType": "YulIdentifier",
                                "src": "28492:5:136"
                              },
                              "nativeSrc": "28492:8:136",
                              "nodeType": "YulFunctionCall",
                              "src": "28492:8:136"
                            }
                          ],
                          "functionName": {
                            "name": "shr",
                            "nativeSrc": "28483:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "28483:3:136"
                          },
                          "nativeSrc": "28483:18:136",
                          "nodeType": "YulFunctionCall",
                          "src": "28483:18:136"
                        },
                        "variableNames": [
                          {
                            "name": "sig",
                            "nativeSrc": "28476:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "28476:3:136"
                          }
                        ]
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [],
                        "functionName": {
                          "name": "returndatasize",
                          "nativeSrc": "28397:14:136",
                          "nodeType": "YulIdentifier",
                          "src": "28397:14:136"
                        },
                        "nativeSrc": "28397:16:136",
                        "nodeType": "YulFunctionCall",
                        "src": "28397:16:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "28415:1:136",
                        "nodeType": "YulLiteral",
                        "src": "28415:1:136",
                        "type": "",
                        "value": "3"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "28394:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "28394:2:136"
                    },
                    "nativeSrc": "28394:23:136",
                    "nodeType": "YulFunctionCall",
                    "src": "28394:23:136"
                  },
                  "nativeSrc": "28391:120:136",
                  "nodeType": "YulIf",
                  "src": "28391:120:136"
                }
              ]
            },
            "name": "return_data_selector",
            "nativeSrc": "28338:179:136",
            "nodeType": "YulFunctionDefinition",
            "returnVariables": [
              {
                "name": "sig",
                "nativeSrc": "28373:3:136",
                "nodeType": "YulTypedName",
                "src": "28373:3:136",
                "type": ""
              }
            ],
            "src": "28338:179:136"
          },
          {
            "body": {
              "nativeSrc": "28569:581:136",
              "nodeType": "YulBlock",
              "src": "28569:581:136",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "28609:9:136",
                    "nodeType": "YulBlock",
                    "src": "28609:9:136",
                    "statements": [
                      {
                        "nativeSrc": "28611:5:136",
                        "nodeType": "YulLeave",
                        "src": "28611:5:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [],
                        "functionName": {
                          "name": "returndatasize",
                          "nativeSrc": "28585:14:136",
                          "nodeType": "YulIdentifier",
                          "src": "28585:14:136"
                        },
                        "nativeSrc": "28585:16:136",
                        "nodeType": "YulFunctionCall",
                        "src": "28585:16:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "28603:4:136",
                        "nodeType": "YulLiteral",
                        "src": "28603:4:136",
                        "type": "",
                        "value": "0x44"
                      }
                    ],
                    "functionName": {
                      "name": "lt",
                      "nativeSrc": "28582:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "28582:2:136"
                    },
                    "nativeSrc": "28582:26:136",
                    "nodeType": "YulFunctionCall",
                    "src": "28582:26:136"
                  },
                  "nativeSrc": "28579:39:136",
                  "nodeType": "YulIf",
                  "src": "28579:39:136"
                },
                {
                  "nativeSrc": "28627:21:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "28627:21:136",
                  "value": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "28645:2:136",
                        "nodeType": "YulLiteral",
                        "src": "28645:2:136",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "28639:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "28639:5:136"
                    },
                    "nativeSrc": "28639:9:136",
                    "nodeType": "YulFunctionCall",
                    "src": "28639:9:136"
                  },
                  "variables": [
                    {
                      "name": "data",
                      "nativeSrc": "28631:4:136",
                      "nodeType": "YulTypedName",
                      "src": "28631:4:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "data",
                        "nativeSrc": "28672:4:136",
                        "nodeType": "YulIdentifier",
                        "src": "28672:4:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "28678:1:136",
                        "nodeType": "YulLiteral",
                        "src": "28678:1:136",
                        "type": "",
                        "value": "4"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [],
                            "functionName": {
                              "name": "returndatasize",
                              "nativeSrc": "28685:14:136",
                              "nodeType": "YulIdentifier",
                              "src": "28685:14:136"
                            },
                            "nativeSrc": "28685:16:136",
                            "nodeType": "YulFunctionCall",
                            "src": "28685:16:136"
                          },
                          {
                            "arguments": [
                              {
                                "kind": "number",
                                "nativeSrc": "28707:1:136",
                                "nodeType": "YulLiteral",
                                "src": "28707:1:136",
                                "type": "",
                                "value": "3"
                              }
                            ],
                            "functionName": {
                              "name": "not",
                              "nativeSrc": "28703:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "28703:3:136"
                            },
                            "nativeSrc": "28703:6:136",
                            "nodeType": "YulFunctionCall",
                            "src": "28703:6:136"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "28681:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "28681:3:136"
                        },
                        "nativeSrc": "28681:29:136",
                        "nodeType": "YulFunctionCall",
                        "src": "28681:29:136"
                      }
                    ],
                    "functionName": {
                      "name": "returndatacopy",
                      "nativeSrc": "28657:14:136",
                      "nodeType": "YulIdentifier",
                      "src": "28657:14:136"
                    },
                    "nativeSrc": "28657:54:136",
                    "nodeType": "YulFunctionCall",
                    "src": "28657:54:136"
                  },
                  "nativeSrc": "28657:54:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "28657:54:136"
                },
                {
                  "nativeSrc": "28720:25:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "28720:25:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "data",
                        "nativeSrc": "28740:4:136",
                        "nodeType": "YulIdentifier",
                        "src": "28740:4:136"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "28734:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "28734:5:136"
                    },
                    "nativeSrc": "28734:11:136",
                    "nodeType": "YulFunctionCall",
                    "src": "28734:11:136"
                  },
                  "variables": [
                    {
                      "name": "offset",
                      "nativeSrc": "28724:6:136",
                      "nodeType": "YulTypedName",
                      "src": "28724:6:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "28833:9:136",
                    "nodeType": "YulBlock",
                    "src": "28833:9:136",
                    "statements": [
                      {
                        "nativeSrc": "28835:5:136",
                        "nodeType": "YulLeave",
                        "src": "28835:5:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "offset",
                            "nativeSrc": "28763:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "28763:6:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "28771:18:136",
                            "nodeType": "YulLiteral",
                            "src": "28771:18:136",
                            "type": "",
                            "value": "0xffffffffffffffff"
                          }
                        ],
                        "functionName": {
                          "name": "gt",
                          "nativeSrc": "28760:2:136",
                          "nodeType": "YulIdentifier",
                          "src": "28760:2:136"
                        },
                        "nativeSrc": "28760:30:136",
                        "nodeType": "YulFunctionCall",
                        "src": "28760:30:136"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "offset",
                                "nativeSrc": "28799:6:136",
                                "nodeType": "YulIdentifier",
                                "src": "28799:6:136"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "28807:4:136",
                                "nodeType": "YulLiteral",
                                "src": "28807:4:136",
                                "type": "",
                                "value": "0x24"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "28795:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "28795:3:136"
                            },
                            "nativeSrc": "28795:17:136",
                            "nodeType": "YulFunctionCall",
                            "src": "28795:17:136"
                          },
                          {
                            "arguments": [],
                            "functionName": {
                              "name": "returndatasize",
                              "nativeSrc": "28814:14:136",
                              "nodeType": "YulIdentifier",
                              "src": "28814:14:136"
                            },
                            "nativeSrc": "28814:16:136",
                            "nodeType": "YulFunctionCall",
                            "src": "28814:16:136"
                          }
                        ],
                        "functionName": {
                          "name": "gt",
                          "nativeSrc": "28792:2:136",
                          "nodeType": "YulIdentifier",
                          "src": "28792:2:136"
                        },
                        "nativeSrc": "28792:39:136",
                        "nodeType": "YulFunctionCall",
                        "src": "28792:39:136"
                      }
                    ],
                    "functionName": {
                      "name": "or",
                      "nativeSrc": "28757:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "28757:2:136"
                    },
                    "nativeSrc": "28757:75:136",
                    "nodeType": "YulFunctionCall",
                    "src": "28757:75:136"
                  },
                  "nativeSrc": "28754:88:136",
                  "nodeType": "YulIf",
                  "src": "28754:88:136"
                },
                {
                  "nativeSrc": "28851:28:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "28851:28:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "data",
                        "nativeSrc": "28866:4:136",
                        "nodeType": "YulIdentifier",
                        "src": "28866:4:136"
                      },
                      {
                        "name": "offset",
                        "nativeSrc": "28872:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "28872:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "28862:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "28862:3:136"
                    },
                    "nativeSrc": "28862:17:136",
                    "nodeType": "YulFunctionCall",
                    "src": "28862:17:136"
                  },
                  "variables": [
                    {
                      "name": "msg",
                      "nativeSrc": "28855:3:136",
                      "nodeType": "YulTypedName",
                      "src": "28855:3:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "28888:24:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "28888:24:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "msg",
                        "nativeSrc": "28908:3:136",
                        "nodeType": "YulIdentifier",
                        "src": "28908:3:136"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "28902:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "28902:5:136"
                    },
                    "nativeSrc": "28902:10:136",
                    "nodeType": "YulFunctionCall",
                    "src": "28902:10:136"
                  },
                  "variables": [
                    {
                      "name": "length",
                      "nativeSrc": "28892:6:136",
                      "nodeType": "YulTypedName",
                      "src": "28892:6:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "28955:9:136",
                    "nodeType": "YulBlock",
                    "src": "28955:9:136",
                    "statements": [
                      {
                        "nativeSrc": "28957:5:136",
                        "nodeType": "YulLeave",
                        "src": "28957:5:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "length",
                        "nativeSrc": "28927:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "28927:6:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "28935:18:136",
                        "nodeType": "YulLiteral",
                        "src": "28935:18:136",
                        "type": "",
                        "value": "0xffffffffffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "28924:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "28924:2:136"
                    },
                    "nativeSrc": "28924:30:136",
                    "nodeType": "YulFunctionCall",
                    "src": "28924:30:136"
                  },
                  "nativeSrc": "28921:43:136",
                  "nodeType": "YulIf",
                  "src": "28921:43:136"
                },
                {
                  "body": {
                    "nativeSrc": "29050:9:136",
                    "nodeType": "YulBlock",
                    "src": "29050:9:136",
                    "statements": [
                      {
                        "nativeSrc": "29052:5:136",
                        "nodeType": "YulLeave",
                        "src": "29052:5:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "msg",
                                "nativeSrc": "28987:3:136",
                                "nodeType": "YulIdentifier",
                                "src": "28987:3:136"
                              },
                              {
                                "name": "length",
                                "nativeSrc": "28992:6:136",
                                "nodeType": "YulIdentifier",
                                "src": "28992:6:136"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "28983:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "28983:3:136"
                            },
                            "nativeSrc": "28983:16:136",
                            "nodeType": "YulFunctionCall",
                            "src": "28983:16:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "29001:4:136",
                            "nodeType": "YulLiteral",
                            "src": "29001:4:136",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "28979:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "28979:3:136"
                        },
                        "nativeSrc": "28979:27:136",
                        "nodeType": "YulFunctionCall",
                        "src": "28979:27:136"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "data",
                                "nativeSrc": "29016:4:136",
                                "nodeType": "YulIdentifier",
                                "src": "29016:4:136"
                              },
                              {
                                "arguments": [],
                                "functionName": {
                                  "name": "returndatasize",
                                  "nativeSrc": "29022:14:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "29022:14:136"
                                },
                                "nativeSrc": "29022:16:136",
                                "nodeType": "YulFunctionCall",
                                "src": "29022:16:136"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "29012:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "29012:3:136"
                            },
                            "nativeSrc": "29012:27:136",
                            "nodeType": "YulFunctionCall",
                            "src": "29012:27:136"
                          },
                          {
                            "arguments": [
                              {
                                "kind": "number",
                                "nativeSrc": "29045:1:136",
                                "nodeType": "YulLiteral",
                                "src": "29045:1:136",
                                "type": "",
                                "value": "3"
                              }
                            ],
                            "functionName": {
                              "name": "not",
                              "nativeSrc": "29041:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "29041:3:136"
                            },
                            "nativeSrc": "29041:6:136",
                            "nodeType": "YulFunctionCall",
                            "src": "29041:6:136"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "29008:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "29008:3:136"
                        },
                        "nativeSrc": "29008:40:136",
                        "nodeType": "YulFunctionCall",
                        "src": "29008:40:136"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "28976:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "28976:2:136"
                    },
                    "nativeSrc": "28976:73:136",
                    "nodeType": "YulFunctionCall",
                    "src": "28976:73:136"
                  },
                  "nativeSrc": "28973:86:136",
                  "nodeType": "YulIf",
                  "src": "28973:86:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "data",
                        "nativeSrc": "29088:4:136",
                        "nodeType": "YulIdentifier",
                        "src": "29088:4:136"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "offset",
                                "nativeSrc": "29102:6:136",
                                "nodeType": "YulIdentifier",
                                "src": "29102:6:136"
                              },
                              {
                                "name": "length",
                                "nativeSrc": "29110:6:136",
                                "nodeType": "YulIdentifier",
                                "src": "29110:6:136"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "29098:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "29098:3:136"
                            },
                            "nativeSrc": "29098:19:136",
                            "nodeType": "YulFunctionCall",
                            "src": "29098:19:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "29119:4:136",
                            "nodeType": "YulLiteral",
                            "src": "29119:4:136",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "29094:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "29094:3:136"
                        },
                        "nativeSrc": "29094:30:136",
                        "nodeType": "YulFunctionCall",
                        "src": "29094:30:136"
                      }
                    ],
                    "functionName": {
                      "name": "finalize_allocation",
                      "nativeSrc": "29068:19:136",
                      "nodeType": "YulIdentifier",
                      "src": "29068:19:136"
                    },
                    "nativeSrc": "29068:57:136",
                    "nodeType": "YulFunctionCall",
                    "src": "29068:57:136"
                  },
                  "nativeSrc": "29068:57:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "29068:57:136"
                },
                {
                  "nativeSrc": "29134:10:136",
                  "nodeType": "YulAssignment",
                  "src": "29134:10:136",
                  "value": {
                    "name": "msg",
                    "nativeSrc": "29141:3:136",
                    "nodeType": "YulIdentifier",
                    "src": "29141:3:136"
                  },
                  "variableNames": [
                    {
                      "name": "ret",
                      "nativeSrc": "29134:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "29134:3:136"
                    }
                  ]
                }
              ]
            },
            "name": "try_decode_error_message",
            "nativeSrc": "28522:628:136",
            "nodeType": "YulFunctionDefinition",
            "returnVariables": [
              {
                "name": "ret",
                "nativeSrc": "28561:3:136",
                "nodeType": "YulTypedName",
                "src": "28561:3:136",
                "type": ""
              }
            ],
            "src": "28522:628:136"
          },
          {
            "body": {
              "nativeSrc": "29509:971:136",
              "nodeType": "YulBlock",
              "src": "29509:971:136",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "29526:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "29526:9:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value0",
                            "nativeSrc": "29541:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "29541:6:136"
                          },
                          {
                            "arguments": [
                              {
                                "kind": "number",
                                "nativeSrc": "29553:3:136",
                                "nodeType": "YulLiteral",
                                "src": "29553:3:136",
                                "type": "",
                                "value": "224"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "29558:10:136",
                                "nodeType": "YulLiteral",
                                "src": "29558:10:136",
                                "type": "",
                                "value": "0xffffffff"
                              }
                            ],
                            "functionName": {
                              "name": "shl",
                              "nativeSrc": "29549:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "29549:3:136"
                            },
                            "nativeSrc": "29549:20:136",
                            "nodeType": "YulFunctionCall",
                            "src": "29549:20:136"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "29537:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "29537:3:136"
                        },
                        "nativeSrc": "29537:33:136",
                        "nodeType": "YulFunctionCall",
                        "src": "29537:33:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "29519:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "29519:6:136"
                    },
                    "nativeSrc": "29519:52:136",
                    "nodeType": "YulFunctionCall",
                    "src": "29519:52:136"
                  },
                  "nativeSrc": "29519:52:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "29519:52:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "29591:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "29591:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "29602:2:136",
                            "nodeType": "YulLiteral",
                            "src": "29602:2:136",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "29587:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "29587:3:136"
                        },
                        "nativeSrc": "29587:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "29587:18:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "29607:3:136",
                        "nodeType": "YulLiteral",
                        "src": "29607:3:136",
                        "type": "",
                        "value": "160"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "29580:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "29580:6:136"
                    },
                    "nativeSrc": "29580:31:136",
                    "nodeType": "YulFunctionCall",
                    "src": "29580:31:136"
                  },
                  "nativeSrc": "29580:31:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "29580:31:136"
                },
                {
                  "nativeSrc": "29620:77:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "29620:77:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "value1",
                        "nativeSrc": "29661:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "29661:6:136"
                      },
                      {
                        "name": "value2",
                        "nativeSrc": "29669:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "29669:6:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "29681:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "29681:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "29692:3:136",
                            "nodeType": "YulLiteral",
                            "src": "29692:3:136",
                            "type": "",
                            "value": "160"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "29677:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "29677:3:136"
                        },
                        "nativeSrc": "29677:19:136",
                        "nodeType": "YulFunctionCall",
                        "src": "29677:19:136"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_string_calldata",
                      "nativeSrc": "29634:26:136",
                      "nodeType": "YulIdentifier",
                      "src": "29634:26:136"
                    },
                    "nativeSrc": "29634:63:136",
                    "nodeType": "YulFunctionCall",
                    "src": "29634:63:136"
                  },
                  "variables": [
                    {
                      "name": "tail_1",
                      "nativeSrc": "29624:6:136",
                      "nodeType": "YulTypedName",
                      "src": "29624:6:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "29717:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "29717:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "29728:2:136",
                            "nodeType": "YulLiteral",
                            "src": "29728:2:136",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "29713:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "29713:3:136"
                        },
                        "nativeSrc": "29713:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "29713:18:136"
                      },
                      {
                        "arguments": [
                          {
                            "kind": "number",
                            "nativeSrc": "29744:1:136",
                            "nodeType": "YulLiteral",
                            "src": "29744:1:136",
                            "type": "",
                            "value": "0"
                          },
                          {
                            "name": "value3",
                            "nativeSrc": "29747:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "29747:6:136"
                          }
                        ],
                        "functionName": {
                          "name": "signextend",
                          "nativeSrc": "29733:10:136",
                          "nodeType": "YulIdentifier",
                          "src": "29733:10:136"
                        },
                        "nativeSrc": "29733:21:136",
                        "nodeType": "YulFunctionCall",
                        "src": "29733:21:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "29706:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "29706:6:136"
                    },
                    "nativeSrc": "29706:49:136",
                    "nodeType": "YulFunctionCall",
                    "src": "29706:49:136"
                  },
                  "nativeSrc": "29706:49:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "29706:49:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value4",
                        "nativeSrc": "29788:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "29788:6:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "29800:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "29800:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "29811:2:136",
                            "nodeType": "YulLiteral",
                            "src": "29811:2:136",
                            "type": "",
                            "value": "96"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "29796:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "29796:3:136"
                        },
                        "nativeSrc": "29796:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "29796:18:136"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_enum_Mappers",
                      "nativeSrc": "29764:23:136",
                      "nodeType": "YulIdentifier",
                      "src": "29764:23:136"
                    },
                    "nativeSrc": "29764:51:136",
                    "nodeType": "YulFunctionCall",
                    "src": "29764:51:136"
                  },
                  "nativeSrc": "29764:51:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "29764:51:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "29835:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "29835:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "29846:3:136",
                            "nodeType": "YulLiteral",
                            "src": "29846:3:136",
                            "type": "",
                            "value": "128"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "29831:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "29831:3:136"
                        },
                        "nativeSrc": "29831:19:136",
                        "nodeType": "YulFunctionCall",
                        "src": "29831:19:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "tail_1",
                            "nativeSrc": "29856:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "29856:6:136"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "29864:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "29864:9:136"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "29852:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "29852:3:136"
                        },
                        "nativeSrc": "29852:22:136",
                        "nodeType": "YulFunctionCall",
                        "src": "29852:22:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "29824:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "29824:6:136"
                    },
                    "nativeSrc": "29824:51:136",
                    "nodeType": "YulFunctionCall",
                    "src": "29824:51:136"
                  },
                  "nativeSrc": "29824:51:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "29824:51:136"
                },
                {
                  "nativeSrc": "29884:17:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "29884:17:136",
                  "value": {
                    "name": "tail_1",
                    "nativeSrc": "29895:6:136",
                    "nodeType": "YulIdentifier",
                    "src": "29895:6:136"
                  },
                  "variables": [
                    {
                      "name": "pos",
                      "nativeSrc": "29888:3:136",
                      "nodeType": "YulTypedName",
                      "src": "29888:3:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "tail_1",
                        "nativeSrc": "29917:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "29917:6:136"
                      },
                      {
                        "name": "value6",
                        "nativeSrc": "29925:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "29925:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "29910:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "29910:6:136"
                    },
                    "nativeSrc": "29910:22:136",
                    "nodeType": "YulFunctionCall",
                    "src": "29910:22:136"
                  },
                  "nativeSrc": "29910:22:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "29910:22:136"
                },
                {
                  "nativeSrc": "29941:22:136",
                  "nodeType": "YulAssignment",
                  "src": "29941:22:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "tail_1",
                        "nativeSrc": "29952:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "29952:6:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "29960:2:136",
                        "nodeType": "YulLiteral",
                        "src": "29960:2:136",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "29948:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "29948:3:136"
                    },
                    "nativeSrc": "29948:15:136",
                    "nodeType": "YulFunctionCall",
                    "src": "29948:15:136"
                  },
                  "variableNames": [
                    {
                      "name": "pos",
                      "nativeSrc": "29941:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "29941:3:136"
                    }
                  ]
                },
                {
                  "nativeSrc": "29972:50:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "29972:50:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "tail_1",
                            "nativeSrc": "29994:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "29994:6:136"
                          },
                          {
                            "arguments": [
                              {
                                "kind": "number",
                                "nativeSrc": "30006:1:136",
                                "nodeType": "YulLiteral",
                                "src": "30006:1:136",
                                "type": "",
                                "value": "5"
                              },
                              {
                                "name": "value6",
                                "nativeSrc": "30009:6:136",
                                "nodeType": "YulIdentifier",
                                "src": "30009:6:136"
                              }
                            ],
                            "functionName": {
                              "name": "shl",
                              "nativeSrc": "30002:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "30002:3:136"
                            },
                            "nativeSrc": "30002:14:136",
                            "nodeType": "YulFunctionCall",
                            "src": "30002:14:136"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "29990:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "29990:3:136"
                        },
                        "nativeSrc": "29990:27:136",
                        "nodeType": "YulFunctionCall",
                        "src": "29990:27:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "30019:2:136",
                        "nodeType": "YulLiteral",
                        "src": "30019:2:136",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "29986:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "29986:3:136"
                    },
                    "nativeSrc": "29986:36:136",
                    "nodeType": "YulFunctionCall",
                    "src": "29986:36:136"
                  },
                  "variables": [
                    {
                      "name": "tail_2",
                      "nativeSrc": "29976:6:136",
                      "nodeType": "YulTypedName",
                      "src": "29976:6:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "30031:20:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "30031:20:136",
                  "value": {
                    "name": "value5",
                    "nativeSrc": "30045:6:136",
                    "nodeType": "YulIdentifier",
                    "src": "30045:6:136"
                  },
                  "variables": [
                    {
                      "name": "srcPtr",
                      "nativeSrc": "30035:6:136",
                      "nodeType": "YulTypedName",
                      "src": "30035:6:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "30060:10:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "30060:10:136",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "30069:1:136",
                    "nodeType": "YulLiteral",
                    "src": "30069:1:136",
                    "type": "",
                    "value": "0"
                  },
                  "variables": [
                    {
                      "name": "i",
                      "nativeSrc": "30064:1:136",
                      "nodeType": "YulTypedName",
                      "src": "30064:1:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "30128:323:136",
                    "nodeType": "YulBlock",
                    "src": "30128:323:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "name": "pos",
                              "nativeSrc": "30149:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "30149:3:136"
                            },
                            {
                              "arguments": [
                                {
                                  "arguments": [
                                    {
                                      "name": "tail_2",
                                      "nativeSrc": "30162:6:136",
                                      "nodeType": "YulIdentifier",
                                      "src": "30162:6:136"
                                    },
                                    {
                                      "name": "tail_1",
                                      "nativeSrc": "30170:6:136",
                                      "nodeType": "YulIdentifier",
                                      "src": "30170:6:136"
                                    }
                                  ],
                                  "functionName": {
                                    "name": "sub",
                                    "nativeSrc": "30158:3:136",
                                    "nodeType": "YulIdentifier",
                                    "src": "30158:3:136"
                                  },
                                  "nativeSrc": "30158:19:136",
                                  "nodeType": "YulFunctionCall",
                                  "src": "30158:19:136"
                                },
                                {
                                  "arguments": [
                                    {
                                      "kind": "number",
                                      "nativeSrc": "30183:2:136",
                                      "nodeType": "YulLiteral",
                                      "src": "30183:2:136",
                                      "type": "",
                                      "value": "31"
                                    }
                                  ],
                                  "functionName": {
                                    "name": "not",
                                    "nativeSrc": "30179:3:136",
                                    "nodeType": "YulIdentifier",
                                    "src": "30179:3:136"
                                  },
                                  "nativeSrc": "30179:7:136",
                                  "nodeType": "YulFunctionCall",
                                  "src": "30179:7:136"
                                }
                              ],
                              "functionName": {
                                "name": "add",
                                "nativeSrc": "30154:3:136",
                                "nodeType": "YulIdentifier",
                                "src": "30154:3:136"
                              },
                              "nativeSrc": "30154:33:136",
                              "nodeType": "YulFunctionCall",
                              "src": "30154:33:136"
                            }
                          ],
                          "functionName": {
                            "name": "mstore",
                            "nativeSrc": "30142:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "30142:6:136"
                          },
                          "nativeSrc": "30142:46:136",
                          "nodeType": "YulFunctionCall",
                          "src": "30142:46:136"
                        },
                        "nativeSrc": "30142:46:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "30142:46:136"
                      },
                      {
                        "nativeSrc": "30201:83:136",
                        "nodeType": "YulVariableDeclaration",
                        "src": "30201:83:136",
                        "value": {
                          "arguments": [
                            {
                              "name": "value5",
                              "nativeSrc": "30269:6:136",
                              "nodeType": "YulIdentifier",
                              "src": "30269:6:136"
                            },
                            {
                              "name": "srcPtr",
                              "nativeSrc": "30277:6:136",
                              "nodeType": "YulIdentifier",
                              "src": "30277:6:136"
                            }
                          ],
                          "functionName": {
                            "name": "calldata_access_string_calldata",
                            "nativeSrc": "30237:31:136",
                            "nodeType": "YulIdentifier",
                            "src": "30237:31:136"
                          },
                          "nativeSrc": "30237:47:136",
                          "nodeType": "YulFunctionCall",
                          "src": "30237:47:136"
                        },
                        "variables": [
                          {
                            "name": "elementValue0",
                            "nativeSrc": "30205:13:136",
                            "nodeType": "YulTypedName",
                            "src": "30205:13:136",
                            "type": ""
                          },
                          {
                            "name": "elementValue1",
                            "nativeSrc": "30220:13:136",
                            "nodeType": "YulTypedName",
                            "src": "30220:13:136",
                            "type": ""
                          }
                        ]
                      },
                      {
                        "nativeSrc": "30297:74:136",
                        "nodeType": "YulAssignment",
                        "src": "30297:74:136",
                        "value": {
                          "arguments": [
                            {
                              "name": "elementValue0",
                              "nativeSrc": "30334:13:136",
                              "nodeType": "YulIdentifier",
                              "src": "30334:13:136"
                            },
                            {
                              "name": "elementValue1",
                              "nativeSrc": "30349:13:136",
                              "nodeType": "YulIdentifier",
                              "src": "30349:13:136"
                            },
                            {
                              "name": "tail_2",
                              "nativeSrc": "30364:6:136",
                              "nodeType": "YulIdentifier",
                              "src": "30364:6:136"
                            }
                          ],
                          "functionName": {
                            "name": "abi_encode_string_calldata",
                            "nativeSrc": "30307:26:136",
                            "nodeType": "YulIdentifier",
                            "src": "30307:26:136"
                          },
                          "nativeSrc": "30307:64:136",
                          "nodeType": "YulFunctionCall",
                          "src": "30307:64:136"
                        },
                        "variableNames": [
                          {
                            "name": "tail_2",
                            "nativeSrc": "30297:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "30297:6:136"
                          }
                        ]
                      },
                      {
                        "nativeSrc": "30384:25:136",
                        "nodeType": "YulAssignment",
                        "src": "30384:25:136",
                        "value": {
                          "arguments": [
                            {
                              "name": "srcPtr",
                              "nativeSrc": "30398:6:136",
                              "nodeType": "YulIdentifier",
                              "src": "30398:6:136"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "30406:2:136",
                              "nodeType": "YulLiteral",
                              "src": "30406:2:136",
                              "type": "",
                              "value": "32"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "30394:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "30394:3:136"
                          },
                          "nativeSrc": "30394:15:136",
                          "nodeType": "YulFunctionCall",
                          "src": "30394:15:136"
                        },
                        "variableNames": [
                          {
                            "name": "srcPtr",
                            "nativeSrc": "30384:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "30384:6:136"
                          }
                        ]
                      },
                      {
                        "nativeSrc": "30422:19:136",
                        "nodeType": "YulAssignment",
                        "src": "30422:19:136",
                        "value": {
                          "arguments": [
                            {
                              "name": "pos",
                              "nativeSrc": "30433:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "30433:3:136"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "30438:2:136",
                              "nodeType": "YulLiteral",
                              "src": "30438:2:136",
                              "type": "",
                              "value": "32"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "30429:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "30429:3:136"
                          },
                          "nativeSrc": "30429:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "30429:12:136"
                        },
                        "variableNames": [
                          {
                            "name": "pos",
                            "nativeSrc": "30422:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "30422:3:136"
                          }
                        ]
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "i",
                        "nativeSrc": "30090:1:136",
                        "nodeType": "YulIdentifier",
                        "src": "30090:1:136"
                      },
                      {
                        "name": "value6",
                        "nativeSrc": "30093:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "30093:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "lt",
                      "nativeSrc": "30087:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "30087:2:136"
                    },
                    "nativeSrc": "30087:13:136",
                    "nodeType": "YulFunctionCall",
                    "src": "30087:13:136"
                  },
                  "nativeSrc": "30079:372:136",
                  "nodeType": "YulForLoop",
                  "post": {
                    "nativeSrc": "30101:18:136",
                    "nodeType": "YulBlock",
                    "src": "30101:18:136",
                    "statements": [
                      {
                        "nativeSrc": "30103:14:136",
                        "nodeType": "YulAssignment",
                        "src": "30103:14:136",
                        "value": {
                          "arguments": [
                            {
                              "name": "i",
                              "nativeSrc": "30112:1:136",
                              "nodeType": "YulIdentifier",
                              "src": "30112:1:136"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "30115:1:136",
                              "nodeType": "YulLiteral",
                              "src": "30115:1:136",
                              "type": "",
                              "value": "1"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "30108:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "30108:3:136"
                          },
                          "nativeSrc": "30108:9:136",
                          "nodeType": "YulFunctionCall",
                          "src": "30108:9:136"
                        },
                        "variableNames": [
                          {
                            "name": "i",
                            "nativeSrc": "30103:1:136",
                            "nodeType": "YulIdentifier",
                            "src": "30103:1:136"
                          }
                        ]
                      }
                    ]
                  },
                  "pre": {
                    "nativeSrc": "30083:3:136",
                    "nodeType": "YulBlock",
                    "src": "30083:3:136",
                    "statements": []
                  },
                  "src": "30079:372:136"
                },
                {
                  "nativeSrc": "30460:14:136",
                  "nodeType": "YulAssignment",
                  "src": "30460:14:136",
                  "value": {
                    "name": "tail_2",
                    "nativeSrc": "30468:6:136",
                    "nodeType": "YulIdentifier",
                    "src": "30468:6:136"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "30460:4:136",
                      "nodeType": "YulIdentifier",
                      "src": "30460:4:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_t_userDefinedValueType$_ID4_$28155_t_string_calldata_ptr_t_int8_t_enum$_Mappers_$28087_t_array$_t_string_calldata_ptr_$dyn_calldata_ptr__to_t_bytes4_t_string_memory_ptr_t_int8_t_uint8_t_array$_t_string_memory_ptr_$dyn_memory_ptr__fromStack_reversed",
            "nativeSrc": "29155:1325:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "29430:9:136",
                "nodeType": "YulTypedName",
                "src": "29430:9:136",
                "type": ""
              },
              {
                "name": "value6",
                "nativeSrc": "29441:6:136",
                "nodeType": "YulTypedName",
                "src": "29441:6:136",
                "type": ""
              },
              {
                "name": "value5",
                "nativeSrc": "29449:6:136",
                "nodeType": "YulTypedName",
                "src": "29449:6:136",
                "type": ""
              },
              {
                "name": "value4",
                "nativeSrc": "29457:6:136",
                "nodeType": "YulTypedName",
                "src": "29457:6:136",
                "type": ""
              },
              {
                "name": "value3",
                "nativeSrc": "29465:6:136",
                "nodeType": "YulTypedName",
                "src": "29465:6:136",
                "type": ""
              },
              {
                "name": "value2",
                "nativeSrc": "29473:6:136",
                "nodeType": "YulTypedName",
                "src": "29473:6:136",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "29481:6:136",
                "nodeType": "YulTypedName",
                "src": "29481:6:136",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "29489:6:136",
                "nodeType": "YulTypedName",
                "src": "29489:6:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "29500:4:136",
                "nodeType": "YulTypedName",
                "src": "29500:4:136",
                "type": ""
              }
            ],
            "src": "29155:1325:136"
          },
          {
            "body": {
              "nativeSrc": "30599:170:136",
              "nodeType": "YulBlock",
              "src": "30599:170:136",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "30645:16:136",
                    "nodeType": "YulBlock",
                    "src": "30645:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "30654:1:136",
                              "nodeType": "YulLiteral",
                              "src": "30654:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "30657:1:136",
                              "nodeType": "YulLiteral",
                              "src": "30657:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "30647:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "30647:6:136"
                          },
                          "nativeSrc": "30647:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "30647:12:136"
                        },
                        "nativeSrc": "30647:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "30647:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "30620:7:136",
                            "nodeType": "YulIdentifier",
                            "src": "30620:7:136"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "30629:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "30629:9:136"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "30616:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "30616:3:136"
                        },
                        "nativeSrc": "30616:23:136",
                        "nodeType": "YulFunctionCall",
                        "src": "30616:23:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "30641:2:136",
                        "nodeType": "YulLiteral",
                        "src": "30641:2:136",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "30612:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "30612:3:136"
                    },
                    "nativeSrc": "30612:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "30612:32:136"
                  },
                  "nativeSrc": "30609:52:136",
                  "nodeType": "YulIf",
                  "src": "30609:52:136"
                },
                {
                  "nativeSrc": "30670:29:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "30670:29:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "30689:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "30689:9:136"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "30683:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "30683:5:136"
                    },
                    "nativeSrc": "30683:16:136",
                    "nodeType": "YulFunctionCall",
                    "src": "30683:16:136"
                  },
                  "variables": [
                    {
                      "name": "value",
                      "nativeSrc": "30674:5:136",
                      "nodeType": "YulTypedName",
                      "src": "30674:5:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "30733:5:136",
                        "nodeType": "YulIdentifier",
                        "src": "30733:5:136"
                      }
                    ],
                    "functionName": {
                      "name": "validator_revert_address",
                      "nativeSrc": "30708:24:136",
                      "nodeType": "YulIdentifier",
                      "src": "30708:24:136"
                    },
                    "nativeSrc": "30708:31:136",
                    "nodeType": "YulFunctionCall",
                    "src": "30708:31:136"
                  },
                  "nativeSrc": "30708:31:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "30708:31:136"
                },
                {
                  "nativeSrc": "30748:15:136",
                  "nodeType": "YulAssignment",
                  "src": "30748:15:136",
                  "value": {
                    "name": "value",
                    "nativeSrc": "30758:5:136",
                    "nodeType": "YulIdentifier",
                    "src": "30758:5:136"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "30748:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "30748:6:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_contract$_IWitOracleRadonRegistry_$27394_fromMemory",
            "nativeSrc": "30485:284:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "30565:9:136",
                "nodeType": "YulTypedName",
                "src": "30565:9:136",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "30576:7:136",
                "nodeType": "YulTypedName",
                "src": "30576:7:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "30588:6:136",
                "nodeType": "YulTypedName",
                "src": "30588:6:136",
                "type": ""
              }
            ],
            "src": "30485:284:136"
          },
          {
            "body": {
              "nativeSrc": "31052:377:136",
              "nodeType": "YulBlock",
              "src": "31052:377:136",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "31069:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "31069:9:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "31080:3:136",
                        "nodeType": "YulLiteral",
                        "src": "31080:3:136",
                        "type": "",
                        "value": "128"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "31062:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "31062:6:136"
                    },
                    "nativeSrc": "31062:22:136",
                    "nodeType": "YulFunctionCall",
                    "src": "31062:22:136"
                  },
                  "nativeSrc": "31062:22:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "31062:22:136"
                },
                {
                  "nativeSrc": "31093:77:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "31093:77:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "value0",
                        "nativeSrc": "31134:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "31134:6:136"
                      },
                      {
                        "name": "value1",
                        "nativeSrc": "31142:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "31142:6:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "31154:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "31154:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "31165:3:136",
                            "nodeType": "YulLiteral",
                            "src": "31165:3:136",
                            "type": "",
                            "value": "128"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "31150:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "31150:3:136"
                        },
                        "nativeSrc": "31150:19:136",
                        "nodeType": "YulFunctionCall",
                        "src": "31150:19:136"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_string_calldata",
                      "nativeSrc": "31107:26:136",
                      "nodeType": "YulIdentifier",
                      "src": "31107:26:136"
                    },
                    "nativeSrc": "31107:63:136",
                    "nodeType": "YulFunctionCall",
                    "src": "31107:63:136"
                  },
                  "variables": [
                    {
                      "name": "tail_1",
                      "nativeSrc": "31097:6:136",
                      "nodeType": "YulTypedName",
                      "src": "31097:6:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "31190:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "31190:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "31201:2:136",
                            "nodeType": "YulLiteral",
                            "src": "31201:2:136",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "31186:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "31186:3:136"
                        },
                        "nativeSrc": "31186:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "31186:18:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "tail_1",
                            "nativeSrc": "31210:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "31210:6:136"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "31218:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "31218:9:136"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "31206:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "31206:3:136"
                        },
                        "nativeSrc": "31206:22:136",
                        "nodeType": "YulFunctionCall",
                        "src": "31206:22:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "31179:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "31179:6:136"
                    },
                    "nativeSrc": "31179:50:136",
                    "nodeType": "YulFunctionCall",
                    "src": "31179:50:136"
                  },
                  "nativeSrc": "31179:50:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "31179:50:136"
                },
                {
                  "nativeSrc": "31238:58:136",
                  "nodeType": "YulAssignment",
                  "src": "31238:58:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "value2",
                        "nativeSrc": "31273:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "31273:6:136"
                      },
                      {
                        "name": "value3",
                        "nativeSrc": "31281:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "31281:6:136"
                      },
                      {
                        "name": "tail_1",
                        "nativeSrc": "31289:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "31289:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_string_calldata",
                      "nativeSrc": "31246:26:136",
                      "nodeType": "YulIdentifier",
                      "src": "31246:26:136"
                    },
                    "nativeSrc": "31246:50:136",
                    "nodeType": "YulFunctionCall",
                    "src": "31246:50:136"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "31238:4:136",
                      "nodeType": "YulIdentifier",
                      "src": "31238:4:136"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "31316:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "31316:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "31327:2:136",
                            "nodeType": "YulLiteral",
                            "src": "31327:2:136",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "31312:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "31312:3:136"
                        },
                        "nativeSrc": "31312:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "31312:18:136"
                      },
                      {
                        "arguments": [
                          {
                            "kind": "number",
                            "nativeSrc": "31343:1:136",
                            "nodeType": "YulLiteral",
                            "src": "31343:1:136",
                            "type": "",
                            "value": "0"
                          },
                          {
                            "name": "value4",
                            "nativeSrc": "31346:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "31346:6:136"
                          }
                        ],
                        "functionName": {
                          "name": "signextend",
                          "nativeSrc": "31332:10:136",
                          "nodeType": "YulIdentifier",
                          "src": "31332:10:136"
                        },
                        "nativeSrc": "31332:21:136",
                        "nodeType": "YulFunctionCall",
                        "src": "31332:21:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "31305:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "31305:6:136"
                    },
                    "nativeSrc": "31305:49:136",
                    "nodeType": "YulFunctionCall",
                    "src": "31305:49:136"
                  },
                  "nativeSrc": "31305:49:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "31305:49:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "31374:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "31374:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "31385:2:136",
                            "nodeType": "YulLiteral",
                            "src": "31385:2:136",
                            "type": "",
                            "value": "96"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "31370:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "31370:3:136"
                        },
                        "nativeSrc": "31370:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "31370:18:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value5",
                            "nativeSrc": "31394:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "31394:6:136"
                          },
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "kind": "number",
                                    "nativeSrc": "31410:3:136",
                                    "nodeType": "YulLiteral",
                                    "src": "31410:3:136",
                                    "type": "",
                                    "value": "160"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "31415:1:136",
                                    "nodeType": "YulLiteral",
                                    "src": "31415:1:136",
                                    "type": "",
                                    "value": "1"
                                  }
                                ],
                                "functionName": {
                                  "name": "shl",
                                  "nativeSrc": "31406:3:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "31406:3:136"
                                },
                                "nativeSrc": "31406:11:136",
                                "nodeType": "YulFunctionCall",
                                "src": "31406:11:136"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "31419:1:136",
                                "nodeType": "YulLiteral",
                                "src": "31419:1:136",
                                "type": "",
                                "value": "1"
                              }
                            ],
                            "functionName": {
                              "name": "sub",
                              "nativeSrc": "31402:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "31402:3:136"
                            },
                            "nativeSrc": "31402:19:136",
                            "nodeType": "YulFunctionCall",
                            "src": "31402:19:136"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "31390:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "31390:3:136"
                        },
                        "nativeSrc": "31390:32:136",
                        "nodeType": "YulFunctionCall",
                        "src": "31390:32:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "31363:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "31363:6:136"
                    },
                    "nativeSrc": "31363:60:136",
                    "nodeType": "YulFunctionCall",
                    "src": "31363:60:136"
                  },
                  "nativeSrc": "31363:60:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "31363:60:136"
                }
              ]
            },
            "name": "abi_encode_tuple_t_string_calldata_ptr_t_bytes_calldata_ptr_t_int8_t_contract$_IWitOracleRadonRegistry_$27394__to_t_string_memory_ptr_t_bytes_memory_ptr_t_int8_t_address__fromStack_library_reversed",
            "nativeSrc": "30774:655:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "30981:9:136",
                "nodeType": "YulTypedName",
                "src": "30981:9:136",
                "type": ""
              },
              {
                "name": "value5",
                "nativeSrc": "30992:6:136",
                "nodeType": "YulTypedName",
                "src": "30992:6:136",
                "type": ""
              },
              {
                "name": "value4",
                "nativeSrc": "31000:6:136",
                "nodeType": "YulTypedName",
                "src": "31000:6:136",
                "type": ""
              },
              {
                "name": "value3",
                "nativeSrc": "31008:6:136",
                "nodeType": "YulTypedName",
                "src": "31008:6:136",
                "type": ""
              },
              {
                "name": "value2",
                "nativeSrc": "31016:6:136",
                "nodeType": "YulTypedName",
                "src": "31016:6:136",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "31024:6:136",
                "nodeType": "YulTypedName",
                "src": "31024:6:136",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "31032:6:136",
                "nodeType": "YulTypedName",
                "src": "31032:6:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "31043:4:136",
                "nodeType": "YulTypedName",
                "src": "31043:4:136",
                "type": ""
              }
            ],
            "src": "30774:655:136"
          },
          {
            "body": {
              "nativeSrc": "31562:283:136",
              "nodeType": "YulBlock",
              "src": "31562:283:136",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "31608:16:136",
                    "nodeType": "YulBlock",
                    "src": "31608:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "31617:1:136",
                              "nodeType": "YulLiteral",
                              "src": "31617:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "31620:1:136",
                              "nodeType": "YulLiteral",
                              "src": "31620:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "31610:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "31610:6:136"
                          },
                          "nativeSrc": "31610:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "31610:12:136"
                        },
                        "nativeSrc": "31610:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "31610:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "31583:7:136",
                            "nodeType": "YulIdentifier",
                            "src": "31583:7:136"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "31592:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "31592:9:136"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "31579:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "31579:3:136"
                        },
                        "nativeSrc": "31579:23:136",
                        "nodeType": "YulFunctionCall",
                        "src": "31579:23:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "31604:2:136",
                        "nodeType": "YulLiteral",
                        "src": "31604:2:136",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "31575:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "31575:3:136"
                    },
                    "nativeSrc": "31575:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "31575:32:136"
                  },
                  "nativeSrc": "31572:52:136",
                  "nodeType": "YulIf",
                  "src": "31572:52:136"
                },
                {
                  "nativeSrc": "31633:29:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "31633:29:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "31652:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "31652:9:136"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "31646:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "31646:5:136"
                    },
                    "nativeSrc": "31646:16:136",
                    "nodeType": "YulFunctionCall",
                    "src": "31646:16:136"
                  },
                  "variables": [
                    {
                      "name": "value",
                      "nativeSrc": "31637:5:136",
                      "nodeType": "YulTypedName",
                      "src": "31637:5:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "31713:5:136",
                        "nodeType": "YulIdentifier",
                        "src": "31713:5:136"
                      }
                    ],
                    "functionName": {
                      "name": "validator_revert_userDefinedValueType_ID4",
                      "nativeSrc": "31671:41:136",
                      "nodeType": "YulIdentifier",
                      "src": "31671:41:136"
                    },
                    "nativeSrc": "31671:48:136",
                    "nodeType": "YulFunctionCall",
                    "src": "31671:48:136"
                  },
                  "nativeSrc": "31671:48:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "31671:48:136"
                },
                {
                  "nativeSrc": "31728:15:136",
                  "nodeType": "YulAssignment",
                  "src": "31728:15:136",
                  "value": {
                    "name": "value",
                    "nativeSrc": "31738:5:136",
                    "nodeType": "YulIdentifier",
                    "src": "31738:5:136"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "31728:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "31728:6:136"
                    }
                  ]
                },
                {
                  "nativeSrc": "31752:16:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "31752:16:136",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "31767:1:136",
                    "nodeType": "YulLiteral",
                    "src": "31767:1:136",
                    "type": "",
                    "value": "0"
                  },
                  "variables": [
                    {
                      "name": "value_1",
                      "nativeSrc": "31756:7:136",
                      "nodeType": "YulTypedName",
                      "src": "31756:7:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "31777:36:136",
                  "nodeType": "YulAssignment",
                  "src": "31777:36:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "31798:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "31798:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "31809:2:136",
                            "nodeType": "YulLiteral",
                            "src": "31809:2:136",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "31794:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "31794:3:136"
                        },
                        "nativeSrc": "31794:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "31794:18:136"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "31788:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "31788:5:136"
                    },
                    "nativeSrc": "31788:25:136",
                    "nodeType": "YulFunctionCall",
                    "src": "31788:25:136"
                  },
                  "variableNames": [
                    {
                      "name": "value_1",
                      "nativeSrc": "31777:7:136",
                      "nodeType": "YulIdentifier",
                      "src": "31777:7:136"
                    }
                  ]
                },
                {
                  "nativeSrc": "31822:17:136",
                  "nodeType": "YulAssignment",
                  "src": "31822:17:136",
                  "value": {
                    "name": "value_1",
                    "nativeSrc": "31832:7:136",
                    "nodeType": "YulIdentifier",
                    "src": "31832:7:136"
                  },
                  "variableNames": [
                    {
                      "name": "value1",
                      "nativeSrc": "31822:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "31822:6:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_bytes4t_userDefinedValueType$_RadonHash_$37153_fromMemory",
            "nativeSrc": "31434:411:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "31520:9:136",
                "nodeType": "YulTypedName",
                "src": "31520:9:136",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "31531:7:136",
                "nodeType": "YulTypedName",
                "src": "31531:7:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "31543:6:136",
                "nodeType": "YulTypedName",
                "src": "31543:6:136",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "31551:6:136",
                "nodeType": "YulTypedName",
                "src": "31551:6:136",
                "type": ""
              }
            ],
            "src": "31434:411:136"
          },
          {
            "body": {
              "nativeSrc": "32150:420:136",
              "nodeType": "YulBlock",
              "src": "32150:420:136",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "32167:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "32167:9:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value0",
                            "nativeSrc": "32182:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "32182:6:136"
                          },
                          {
                            "arguments": [
                              {
                                "kind": "number",
                                "nativeSrc": "32194:3:136",
                                "nodeType": "YulLiteral",
                                "src": "32194:3:136",
                                "type": "",
                                "value": "224"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "32199:10:136",
                                "nodeType": "YulLiteral",
                                "src": "32199:10:136",
                                "type": "",
                                "value": "0xffffffff"
                              }
                            ],
                            "functionName": {
                              "name": "shl",
                              "nativeSrc": "32190:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "32190:3:136"
                            },
                            "nativeSrc": "32190:20:136",
                            "nodeType": "YulFunctionCall",
                            "src": "32190:20:136"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "32178:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "32178:3:136"
                        },
                        "nativeSrc": "32178:33:136",
                        "nodeType": "YulFunctionCall",
                        "src": "32178:33:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "32160:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "32160:6:136"
                    },
                    "nativeSrc": "32160:52:136",
                    "nodeType": "YulFunctionCall",
                    "src": "32160:52:136"
                  },
                  "nativeSrc": "32160:52:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "32160:52:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "32232:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "32232:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "32243:2:136",
                            "nodeType": "YulLiteral",
                            "src": "32243:2:136",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "32228:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "32228:3:136"
                        },
                        "nativeSrc": "32228:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "32228:18:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "32248:3:136",
                        "nodeType": "YulLiteral",
                        "src": "32248:3:136",
                        "type": "",
                        "value": "192"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "32221:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "32221:6:136"
                    },
                    "nativeSrc": "32221:31:136",
                    "nodeType": "YulFunctionCall",
                    "src": "32221:31:136"
                  },
                  "nativeSrc": "32221:31:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "32221:31:136"
                },
                {
                  "nativeSrc": "32261:71:136",
                  "nodeType": "YulAssignment",
                  "src": "32261:71:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "value1",
                        "nativeSrc": "32296:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "32296:6:136"
                      },
                      {
                        "name": "value2",
                        "nativeSrc": "32304:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "32304:6:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "32316:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "32316:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "32327:3:136",
                            "nodeType": "YulLiteral",
                            "src": "32327:3:136",
                            "type": "",
                            "value": "192"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "32312:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "32312:3:136"
                        },
                        "nativeSrc": "32312:19:136",
                        "nodeType": "YulFunctionCall",
                        "src": "32312:19:136"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_string_calldata",
                      "nativeSrc": "32269:26:136",
                      "nodeType": "YulIdentifier",
                      "src": "32269:26:136"
                    },
                    "nativeSrc": "32269:63:136",
                    "nodeType": "YulFunctionCall",
                    "src": "32269:63:136"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "32261:4:136",
                      "nodeType": "YulIdentifier",
                      "src": "32261:4:136"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "32352:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "32352:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "32363:2:136",
                            "nodeType": "YulLiteral",
                            "src": "32363:2:136",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "32348:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "32348:3:136"
                        },
                        "nativeSrc": "32348:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "32348:18:136"
                      },
                      {
                        "arguments": [
                          {
                            "kind": "number",
                            "nativeSrc": "32379:1:136",
                            "nodeType": "YulLiteral",
                            "src": "32379:1:136",
                            "type": "",
                            "value": "0"
                          },
                          {
                            "name": "value3",
                            "nativeSrc": "32382:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "32382:6:136"
                          }
                        ],
                        "functionName": {
                          "name": "signextend",
                          "nativeSrc": "32368:10:136",
                          "nodeType": "YulIdentifier",
                          "src": "32368:10:136"
                        },
                        "nativeSrc": "32368:21:136",
                        "nodeType": "YulFunctionCall",
                        "src": "32368:21:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "32341:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "32341:6:136"
                    },
                    "nativeSrc": "32341:49:136",
                    "nodeType": "YulFunctionCall",
                    "src": "32341:49:136"
                  },
                  "nativeSrc": "32341:49:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "32341:49:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value4",
                        "nativeSrc": "32423:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "32423:6:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "32435:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "32435:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "32446:2:136",
                            "nodeType": "YulLiteral",
                            "src": "32446:2:136",
                            "type": "",
                            "value": "96"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "32431:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "32431:3:136"
                        },
                        "nativeSrc": "32431:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "32431:18:136"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_enum_Oracles",
                      "nativeSrc": "32399:23:136",
                      "nodeType": "YulIdentifier",
                      "src": "32399:23:136"
                    },
                    "nativeSrc": "32399:51:136",
                    "nodeType": "YulFunctionCall",
                    "src": "32399:51:136"
                  },
                  "nativeSrc": "32399:51:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "32399:51:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "32470:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "32470:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "32481:3:136",
                            "nodeType": "YulLiteral",
                            "src": "32481:3:136",
                            "type": "",
                            "value": "128"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "32466:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "32466:3:136"
                        },
                        "nativeSrc": "32466:19:136",
                        "nodeType": "YulFunctionCall",
                        "src": "32466:19:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value5",
                            "nativeSrc": "32491:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "32491:6:136"
                          },
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "kind": "number",
                                    "nativeSrc": "32507:3:136",
                                    "nodeType": "YulLiteral",
                                    "src": "32507:3:136",
                                    "type": "",
                                    "value": "160"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "32512:1:136",
                                    "nodeType": "YulLiteral",
                                    "src": "32512:1:136",
                                    "type": "",
                                    "value": "1"
                                  }
                                ],
                                "functionName": {
                                  "name": "shl",
                                  "nativeSrc": "32503:3:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "32503:3:136"
                                },
                                "nativeSrc": "32503:11:136",
                                "nodeType": "YulFunctionCall",
                                "src": "32503:11:136"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "32516:1:136",
                                "nodeType": "YulLiteral",
                                "src": "32516:1:136",
                                "type": "",
                                "value": "1"
                              }
                            ],
                            "functionName": {
                              "name": "sub",
                              "nativeSrc": "32499:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "32499:3:136"
                            },
                            "nativeSrc": "32499:19:136",
                            "nodeType": "YulFunctionCall",
                            "src": "32499:19:136"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "32487:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "32487:3:136"
                        },
                        "nativeSrc": "32487:32:136",
                        "nodeType": "YulFunctionCall",
                        "src": "32487:32:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "32459:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "32459:6:136"
                    },
                    "nativeSrc": "32459:61:136",
                    "nodeType": "YulFunctionCall",
                    "src": "32459:61:136"
                  },
                  "nativeSrc": "32459:61:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "32459:61:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "32540:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "32540:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "32551:3:136",
                            "nodeType": "YulLiteral",
                            "src": "32551:3:136",
                            "type": "",
                            "value": "160"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "32536:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "32536:3:136"
                        },
                        "nativeSrc": "32536:19:136",
                        "nodeType": "YulFunctionCall",
                        "src": "32536:19:136"
                      },
                      {
                        "name": "value6",
                        "nativeSrc": "32557:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "32557:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "32529:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "32529:6:136"
                    },
                    "nativeSrc": "32529:35:136",
                    "nodeType": "YulFunctionCall",
                    "src": "32529:35:136"
                  },
                  "nativeSrc": "32529:35:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "32529:35:136"
                }
              ]
            },
            "name": "abi_encode_tuple_t_userDefinedValueType$_ID4_$28155_t_string_calldata_ptr_t_int8_t_enum$_Oracles_$28092_t_address_t_bytes32__to_t_bytes4_t_string_memory_ptr_t_int8_t_uint8_t_address_t_bytes32__fromStack_reversed",
            "nativeSrc": "31850:720:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "32071:9:136",
                "nodeType": "YulTypedName",
                "src": "32071:9:136",
                "type": ""
              },
              {
                "name": "value6",
                "nativeSrc": "32082:6:136",
                "nodeType": "YulTypedName",
                "src": "32082:6:136",
                "type": ""
              },
              {
                "name": "value5",
                "nativeSrc": "32090:6:136",
                "nodeType": "YulTypedName",
                "src": "32090:6:136",
                "type": ""
              },
              {
                "name": "value4",
                "nativeSrc": "32098:6:136",
                "nodeType": "YulTypedName",
                "src": "32098:6:136",
                "type": ""
              },
              {
                "name": "value3",
                "nativeSrc": "32106:6:136",
                "nodeType": "YulTypedName",
                "src": "32106:6:136",
                "type": ""
              },
              {
                "name": "value2",
                "nativeSrc": "32114:6:136",
                "nodeType": "YulTypedName",
                "src": "32114:6:136",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "32122:6:136",
                "nodeType": "YulTypedName",
                "src": "32122:6:136",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "32130:6:136",
                "nodeType": "YulTypedName",
                "src": "32130:6:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "32141:4:136",
                "nodeType": "YulTypedName",
                "src": "32141:4:136",
                "type": ""
              }
            ],
            "src": "31850:720:136"
          },
          {
            "body": {
              "nativeSrc": "32619:73:136",
              "nodeType": "YulBlock",
              "src": "32619:73:136",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "32670:16:136",
                    "nodeType": "YulBlock",
                    "src": "32670:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "32679:1:136",
                              "nodeType": "YulLiteral",
                              "src": "32679:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "32682:1:136",
                              "nodeType": "YulLiteral",
                              "src": "32682:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "32672:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "32672:6:136"
                          },
                          "nativeSrc": "32672:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "32672:12:136"
                        },
                        "nativeSrc": "32672:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "32672:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "32642:5:136",
                            "nodeType": "YulIdentifier",
                            "src": "32642:5:136"
                          },
                          {
                            "arguments": [
                              {
                                "name": "value",
                                "nativeSrc": "32653:5:136",
                                "nodeType": "YulIdentifier",
                                "src": "32653:5:136"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "32660:6:136",
                                "nodeType": "YulLiteral",
                                "src": "32660:6:136",
                                "type": "",
                                "value": "0xffff"
                              }
                            ],
                            "functionName": {
                              "name": "and",
                              "nativeSrc": "32649:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "32649:3:136"
                            },
                            "nativeSrc": "32649:18:136",
                            "nodeType": "YulFunctionCall",
                            "src": "32649:18:136"
                          }
                        ],
                        "functionName": {
                          "name": "eq",
                          "nativeSrc": "32639:2:136",
                          "nodeType": "YulIdentifier",
                          "src": "32639:2:136"
                        },
                        "nativeSrc": "32639:29:136",
                        "nodeType": "YulFunctionCall",
                        "src": "32639:29:136"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "32632:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "32632:6:136"
                    },
                    "nativeSrc": "32632:37:136",
                    "nodeType": "YulFunctionCall",
                    "src": "32632:37:136"
                  },
                  "nativeSrc": "32629:57:136",
                  "nodeType": "YulIf",
                  "src": "32629:57:136"
                }
              ]
            },
            "name": "validator_revert_uint16",
            "nativeSrc": "32575:117:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "value",
                "nativeSrc": "32608:5:136",
                "nodeType": "YulTypedName",
                "src": "32608:5:136",
                "type": ""
              }
            ],
            "src": "32575:117:136"
          },
          {
            "body": {
              "nativeSrc": "32745:84:136",
              "nodeType": "YulBlock",
              "src": "32745:84:136",
              "statements": [
                {
                  "nativeSrc": "32755:29:136",
                  "nodeType": "YulAssignment",
                  "src": "32755:29:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "32777:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "32777:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "32764:12:136",
                      "nodeType": "YulIdentifier",
                      "src": "32764:12:136"
                    },
                    "nativeSrc": "32764:20:136",
                    "nodeType": "YulFunctionCall",
                    "src": "32764:20:136"
                  },
                  "variableNames": [
                    {
                      "name": "value",
                      "nativeSrc": "32755:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "32755:5:136"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "32817:5:136",
                        "nodeType": "YulIdentifier",
                        "src": "32817:5:136"
                      }
                    ],
                    "functionName": {
                      "name": "validator_revert_uint16",
                      "nativeSrc": "32793:23:136",
                      "nodeType": "YulIdentifier",
                      "src": "32793:23:136"
                    },
                    "nativeSrc": "32793:30:136",
                    "nodeType": "YulFunctionCall",
                    "src": "32793:30:136"
                  },
                  "nativeSrc": "32793:30:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "32793:30:136"
                }
              ]
            },
            "name": "abi_decode_uint16",
            "nativeSrc": "32697:132:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "offset",
                "nativeSrc": "32724:6:136",
                "nodeType": "YulTypedName",
                "src": "32724:6:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value",
                "nativeSrc": "32735:5:136",
                "nodeType": "YulTypedName",
                "src": "32735:5:136",
                "type": ""
              }
            ],
            "src": "32697:132:136"
          },
          {
            "body": {
              "nativeSrc": "32903:176:136",
              "nodeType": "YulBlock",
              "src": "32903:176:136",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "32949:16:136",
                    "nodeType": "YulBlock",
                    "src": "32949:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "32958:1:136",
                              "nodeType": "YulLiteral",
                              "src": "32958:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "32961:1:136",
                              "nodeType": "YulLiteral",
                              "src": "32961:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "32951:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "32951:6:136"
                          },
                          "nativeSrc": "32951:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "32951:12:136"
                        },
                        "nativeSrc": "32951:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "32951:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "32924:7:136",
                            "nodeType": "YulIdentifier",
                            "src": "32924:7:136"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "32933:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "32933:9:136"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "32920:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "32920:3:136"
                        },
                        "nativeSrc": "32920:23:136",
                        "nodeType": "YulFunctionCall",
                        "src": "32920:23:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "32945:2:136",
                        "nodeType": "YulLiteral",
                        "src": "32945:2:136",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "32916:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "32916:3:136"
                    },
                    "nativeSrc": "32916:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "32916:32:136"
                  },
                  "nativeSrc": "32913:52:136",
                  "nodeType": "YulIf",
                  "src": "32913:52:136"
                },
                {
                  "nativeSrc": "32974:36:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "32974:36:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "33000:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "33000:9:136"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "32987:12:136",
                      "nodeType": "YulIdentifier",
                      "src": "32987:12:136"
                    },
                    "nativeSrc": "32987:23:136",
                    "nodeType": "YulFunctionCall",
                    "src": "32987:23:136"
                  },
                  "variables": [
                    {
                      "name": "value",
                      "nativeSrc": "32978:5:136",
                      "nodeType": "YulTypedName",
                      "src": "32978:5:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "33043:5:136",
                        "nodeType": "YulIdentifier",
                        "src": "33043:5:136"
                      }
                    ],
                    "functionName": {
                      "name": "validator_revert_uint16",
                      "nativeSrc": "33019:23:136",
                      "nodeType": "YulIdentifier",
                      "src": "33019:23:136"
                    },
                    "nativeSrc": "33019:30:136",
                    "nodeType": "YulFunctionCall",
                    "src": "33019:30:136"
                  },
                  "nativeSrc": "33019:30:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "33019:30:136"
                },
                {
                  "nativeSrc": "33058:15:136",
                  "nodeType": "YulAssignment",
                  "src": "33058:15:136",
                  "value": {
                    "name": "value",
                    "nativeSrc": "33068:5:136",
                    "nodeType": "YulIdentifier",
                    "src": "33068:5:136"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "33058:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "33058:6:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_uint16",
            "nativeSrc": "32834:245:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "32869:9:136",
                "nodeType": "YulTypedName",
                "src": "32869:9:136",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "32880:7:136",
                "nodeType": "YulTypedName",
                "src": "32880:7:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "32892:6:136",
                "nodeType": "YulTypedName",
                "src": "32892:6:136",
                "type": ""
              }
            ],
            "src": "32834:245:136"
          },
          {
            "body": {
              "nativeSrc": "33309:1242:136",
              "nodeType": "YulBlock",
              "src": "33309:1242:136",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "33326:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "33326:9:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "33337:2:136",
                        "nodeType": "YulLiteral",
                        "src": "33337:2:136",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "33319:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "33319:6:136"
                    },
                    "nativeSrc": "33319:21:136",
                    "nodeType": "YulFunctionCall",
                    "src": "33319:21:136"
                  },
                  "nativeSrc": "33319:21:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "33319:21:136"
                },
                {
                  "nativeSrc": "33349:14:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "33349:14:136",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "33362:1:136",
                    "nodeType": "YulLiteral",
                    "src": "33362:1:136",
                    "type": "",
                    "value": "0"
                  },
                  "variables": [
                    {
                      "name": "value",
                      "nativeSrc": "33353:5:136",
                      "nodeType": "YulTypedName",
                      "src": "33353:5:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "33372:29:136",
                  "nodeType": "YulAssignment",
                  "src": "33372:29:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "value0",
                        "nativeSrc": "33394:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "33394:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "33381:12:136",
                      "nodeType": "YulIdentifier",
                      "src": "33381:12:136"
                    },
                    "nativeSrc": "33381:20:136",
                    "nodeType": "YulFunctionCall",
                    "src": "33381:20:136"
                  },
                  "variableNames": [
                    {
                      "name": "value",
                      "nativeSrc": "33372:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "33372:5:136"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "33421:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "33421:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "33432:2:136",
                            "nodeType": "YulLiteral",
                            "src": "33432:2:136",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "33417:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "33417:3:136"
                        },
                        "nativeSrc": "33417:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "33417:18:136"
                      },
                      {
                        "name": "value",
                        "nativeSrc": "33437:5:136",
                        "nodeType": "YulIdentifier",
                        "src": "33437:5:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "33410:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "33410:6:136"
                    },
                    "nativeSrc": "33410:33:136",
                    "nodeType": "YulFunctionCall",
                    "src": "33410:33:136"
                  },
                  "nativeSrc": "33410:33:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "33410:33:136"
                },
                {
                  "nativeSrc": "33452:16:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "33452:16:136",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "33467:1:136",
                    "nodeType": "YulLiteral",
                    "src": "33467:1:136",
                    "type": "",
                    "value": "0"
                  },
                  "variables": [
                    {
                      "name": "value_1",
                      "nativeSrc": "33456:7:136",
                      "nodeType": "YulTypedName",
                      "src": "33456:7:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "33477:42:136",
                  "nodeType": "YulAssignment",
                  "src": "33477:42:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value0",
                            "nativeSrc": "33505:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "33505:6:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "33513:4:136",
                            "nodeType": "YulLiteral",
                            "src": "33513:4:136",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "33501:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "33501:3:136"
                        },
                        "nativeSrc": "33501:17:136",
                        "nodeType": "YulFunctionCall",
                        "src": "33501:17:136"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "33488:12:136",
                      "nodeType": "YulIdentifier",
                      "src": "33488:12:136"
                    },
                    "nativeSrc": "33488:31:136",
                    "nodeType": "YulFunctionCall",
                    "src": "33488:31:136"
                  },
                  "variableNames": [
                    {
                      "name": "value_1",
                      "nativeSrc": "33477:7:136",
                      "nodeType": "YulIdentifier",
                      "src": "33477:7:136"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "33539:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "33539:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "33550:2:136",
                            "nodeType": "YulLiteral",
                            "src": "33550:2:136",
                            "type": "",
                            "value": "96"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "33535:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "33535:3:136"
                        },
                        "nativeSrc": "33535:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "33535:18:136"
                      },
                      {
                        "name": "value_1",
                        "nativeSrc": "33555:7:136",
                        "nodeType": "YulIdentifier",
                        "src": "33555:7:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "33528:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "33528:6:136"
                    },
                    "nativeSrc": "33528:35:136",
                    "nodeType": "YulFunctionCall",
                    "src": "33528:35:136"
                  },
                  "nativeSrc": "33528:35:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "33528:35:136"
                },
                {
                  "nativeSrc": "33572:44:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "33572:44:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value0",
                            "nativeSrc": "33604:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "33604:6:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "33612:2:136",
                            "nodeType": "YulLiteral",
                            "src": "33612:2:136",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "33600:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "33600:3:136"
                        },
                        "nativeSrc": "33600:15:136",
                        "nodeType": "YulFunctionCall",
                        "src": "33600:15:136"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "33587:12:136",
                      "nodeType": "YulIdentifier",
                      "src": "33587:12:136"
                    },
                    "nativeSrc": "33587:29:136",
                    "nodeType": "YulFunctionCall",
                    "src": "33587:29:136"
                  },
                  "variables": [
                    {
                      "name": "value_2",
                      "nativeSrc": "33576:7:136",
                      "nodeType": "YulTypedName",
                      "src": "33576:7:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value_2",
                        "nativeSrc": "33649:7:136",
                        "nodeType": "YulIdentifier",
                        "src": "33649:7:136"
                      }
                    ],
                    "functionName": {
                      "name": "validator_revert_uint16",
                      "nativeSrc": "33625:23:136",
                      "nodeType": "YulIdentifier",
                      "src": "33625:23:136"
                    },
                    "nativeSrc": "33625:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "33625:32:136"
                  },
                  "nativeSrc": "33625:32:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "33625:32:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "33677:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "33677:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "33688:3:136",
                            "nodeType": "YulLiteral",
                            "src": "33688:3:136",
                            "type": "",
                            "value": "128"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "33673:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "33673:3:136"
                        },
                        "nativeSrc": "33673:19:136",
                        "nodeType": "YulFunctionCall",
                        "src": "33673:19:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value_2",
                            "nativeSrc": "33698:7:136",
                            "nodeType": "YulIdentifier",
                            "src": "33698:7:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "33707:6:136",
                            "nodeType": "YulLiteral",
                            "src": "33707:6:136",
                            "type": "",
                            "value": "0xffff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "33694:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "33694:3:136"
                        },
                        "nativeSrc": "33694:20:136",
                        "nodeType": "YulFunctionCall",
                        "src": "33694:20:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "33666:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "33666:6:136"
                    },
                    "nativeSrc": "33666:49:136",
                    "nodeType": "YulFunctionCall",
                    "src": "33666:49:136"
                  },
                  "nativeSrc": "33666:49:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "33666:49:136"
                },
                {
                  "nativeSrc": "33724:44:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "33724:44:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value0",
                            "nativeSrc": "33756:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "33756:6:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "33764:2:136",
                            "nodeType": "YulLiteral",
                            "src": "33764:2:136",
                            "type": "",
                            "value": "96"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "33752:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "33752:3:136"
                        },
                        "nativeSrc": "33752:15:136",
                        "nodeType": "YulFunctionCall",
                        "src": "33752:15:136"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "33739:12:136",
                      "nodeType": "YulIdentifier",
                      "src": "33739:12:136"
                    },
                    "nativeSrc": "33739:29:136",
                    "nodeType": "YulFunctionCall",
                    "src": "33739:29:136"
                  },
                  "variables": [
                    {
                      "name": "value_3",
                      "nativeSrc": "33728:7:136",
                      "nodeType": "YulTypedName",
                      "src": "33728:7:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value_3",
                        "nativeSrc": "33801:7:136",
                        "nodeType": "YulIdentifier",
                        "src": "33801:7:136"
                      }
                    ],
                    "functionName": {
                      "name": "validator_revert_uint16",
                      "nativeSrc": "33777:23:136",
                      "nodeType": "YulIdentifier",
                      "src": "33777:23:136"
                    },
                    "nativeSrc": "33777:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "33777:32:136"
                  },
                  "nativeSrc": "33777:32:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "33777:32:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "33829:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "33829:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "33840:3:136",
                            "nodeType": "YulLiteral",
                            "src": "33840:3:136",
                            "type": "",
                            "value": "160"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "33825:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "33825:3:136"
                        },
                        "nativeSrc": "33825:19:136",
                        "nodeType": "YulFunctionCall",
                        "src": "33825:19:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value_3",
                            "nativeSrc": "33850:7:136",
                            "nodeType": "YulIdentifier",
                            "src": "33850:7:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "33859:6:136",
                            "nodeType": "YulLiteral",
                            "src": "33859:6:136",
                            "type": "",
                            "value": "0xffff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "33846:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "33846:3:136"
                        },
                        "nativeSrc": "33846:20:136",
                        "nodeType": "YulFunctionCall",
                        "src": "33846:20:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "33818:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "33818:6:136"
                    },
                    "nativeSrc": "33818:49:136",
                    "nodeType": "YulFunctionCall",
                    "src": "33818:49:136"
                  },
                  "nativeSrc": "33818:49:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "33818:49:136"
                },
                {
                  "nativeSrc": "33876:45:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "33876:45:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value0",
                            "nativeSrc": "33908:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "33908:6:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "33916:3:136",
                            "nodeType": "YulLiteral",
                            "src": "33916:3:136",
                            "type": "",
                            "value": "128"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "33904:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "33904:3:136"
                        },
                        "nativeSrc": "33904:16:136",
                        "nodeType": "YulFunctionCall",
                        "src": "33904:16:136"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "33891:12:136",
                      "nodeType": "YulIdentifier",
                      "src": "33891:12:136"
                    },
                    "nativeSrc": "33891:30:136",
                    "nodeType": "YulFunctionCall",
                    "src": "33891:30:136"
                  },
                  "variables": [
                    {
                      "name": "value_4",
                      "nativeSrc": "33880:7:136",
                      "nodeType": "YulTypedName",
                      "src": "33880:7:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value_4",
                        "nativeSrc": "33954:7:136",
                        "nodeType": "YulIdentifier",
                        "src": "33954:7:136"
                      }
                    ],
                    "functionName": {
                      "name": "validator_revert_uint64",
                      "nativeSrc": "33930:23:136",
                      "nodeType": "YulIdentifier",
                      "src": "33930:23:136"
                    },
                    "nativeSrc": "33930:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "33930:32:136"
                  },
                  "nativeSrc": "33930:32:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "33930:32:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "33982:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "33982:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "33993:3:136",
                            "nodeType": "YulLiteral",
                            "src": "33993:3:136",
                            "type": "",
                            "value": "192"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "33978:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "33978:3:136"
                        },
                        "nativeSrc": "33978:19:136",
                        "nodeType": "YulFunctionCall",
                        "src": "33978:19:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value_4",
                            "nativeSrc": "34003:7:136",
                            "nodeType": "YulIdentifier",
                            "src": "34003:7:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "34012:18:136",
                            "nodeType": "YulLiteral",
                            "src": "34012:18:136",
                            "type": "",
                            "value": "0xffffffffffffffff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "33999:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "33999:3:136"
                        },
                        "nativeSrc": "33999:32:136",
                        "nodeType": "YulFunctionCall",
                        "src": "33999:32:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "33971:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "33971:6:136"
                    },
                    "nativeSrc": "33971:61:136",
                    "nodeType": "YulFunctionCall",
                    "src": "33971:61:136"
                  },
                  "nativeSrc": "33971:61:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "33971:61:136"
                },
                {
                  "nativeSrc": "34041:55:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "34041:55:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value0",
                            "nativeSrc": "34083:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "34083:6:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "34091:3:136",
                            "nodeType": "YulLiteral",
                            "src": "34091:3:136",
                            "type": "",
                            "value": "160"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "34079:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "34079:3:136"
                        },
                        "nativeSrc": "34079:16:136",
                        "nodeType": "YulFunctionCall",
                        "src": "34079:16:136"
                      }
                    ],
                    "functionName": {
                      "name": "abi_decode_uint64",
                      "nativeSrc": "34061:17:136",
                      "nodeType": "YulIdentifier",
                      "src": "34061:17:136"
                    },
                    "nativeSrc": "34061:35:136",
                    "nodeType": "YulFunctionCall",
                    "src": "34061:35:136"
                  },
                  "variables": [
                    {
                      "name": "memberValue0",
                      "nativeSrc": "34045:12:136",
                      "nodeType": "YulTypedName",
                      "src": "34045:12:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "memberValue0",
                        "nativeSrc": "34147:12:136",
                        "nodeType": "YulIdentifier",
                        "src": "34147:12:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "34165:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "34165:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "34176:4:136",
                            "nodeType": "YulLiteral",
                            "src": "34176:4:136",
                            "type": "",
                            "value": "0xe0"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "34161:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "34161:3:136"
                        },
                        "nativeSrc": "34161:20:136",
                        "nodeType": "YulFunctionCall",
                        "src": "34161:20:136"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_userDefinedValueType_Timestamp",
                      "nativeSrc": "34105:41:136",
                      "nodeType": "YulIdentifier",
                      "src": "34105:41:136"
                    },
                    "nativeSrc": "34105:77:136",
                    "nodeType": "YulFunctionCall",
                    "src": "34105:77:136"
                  },
                  "nativeSrc": "34105:77:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "34105:77:136"
                },
                {
                  "nativeSrc": "34191:93:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "34191:93:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "value0",
                        "nativeSrc": "34259:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "34259:6:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value0",
                            "nativeSrc": "34271:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "34271:6:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "34279:3:136",
                            "nodeType": "YulLiteral",
                            "src": "34279:3:136",
                            "type": "",
                            "value": "192"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "34267:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "34267:3:136"
                        },
                        "nativeSrc": "34267:16:136",
                        "nodeType": "YulFunctionCall",
                        "src": "34267:16:136"
                      }
                    ],
                    "functionName": {
                      "name": "calldata_access_string_calldata",
                      "nativeSrc": "34227:31:136",
                      "nodeType": "YulIdentifier",
                      "src": "34227:31:136"
                    },
                    "nativeSrc": "34227:57:136",
                    "nodeType": "YulFunctionCall",
                    "src": "34227:57:136"
                  },
                  "variables": [
                    {
                      "name": "memberValue0_1",
                      "nativeSrc": "34195:14:136",
                      "nodeType": "YulTypedName",
                      "src": "34195:14:136",
                      "type": ""
                    },
                    {
                      "name": "memberValue1",
                      "nativeSrc": "34211:12:136",
                      "nodeType": "YulTypedName",
                      "src": "34211:12:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "34304:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "34304:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "34315:3:136",
                            "nodeType": "YulLiteral",
                            "src": "34315:3:136",
                            "type": "",
                            "value": "256"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "34300:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "34300:3:136"
                        },
                        "nativeSrc": "34300:19:136",
                        "nodeType": "YulFunctionCall",
                        "src": "34300:19:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "34321:4:136",
                        "nodeType": "YulLiteral",
                        "src": "34321:4:136",
                        "type": "",
                        "value": "0xe0"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "34293:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "34293:6:136"
                    },
                    "nativeSrc": "34293:33:136",
                    "nodeType": "YulFunctionCall",
                    "src": "34293:33:136"
                  },
                  "nativeSrc": "34293:33:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "34293:33:136"
                },
                {
                  "nativeSrc": "34335:88:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "34335:88:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "memberValue0_1",
                        "nativeSrc": "34373:14:136",
                        "nodeType": "YulIdentifier",
                        "src": "34373:14:136"
                      },
                      {
                        "name": "memberValue1",
                        "nativeSrc": "34389:12:136",
                        "nodeType": "YulIdentifier",
                        "src": "34389:12:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "34407:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "34407:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "34418:3:136",
                            "nodeType": "YulLiteral",
                            "src": "34418:3:136",
                            "type": "",
                            "value": "288"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "34403:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "34403:3:136"
                        },
                        "nativeSrc": "34403:19:136",
                        "nodeType": "YulFunctionCall",
                        "src": "34403:19:136"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_string_calldata",
                      "nativeSrc": "34346:26:136",
                      "nodeType": "YulIdentifier",
                      "src": "34346:26:136"
                    },
                    "nativeSrc": "34346:77:136",
                    "nodeType": "YulFunctionCall",
                    "src": "34346:77:136"
                  },
                  "variables": [
                    {
                      "name": "end",
                      "nativeSrc": "34339:3:136",
                      "nodeType": "YulTypedName",
                      "src": "34339:3:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "34443:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "34443:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "34454:4:136",
                            "nodeType": "YulLiteral",
                            "src": "34454:4:136",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "34439:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "34439:3:136"
                        },
                        "nativeSrc": "34439:20:136",
                        "nodeType": "YulFunctionCall",
                        "src": "34439:20:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "end",
                            "nativeSrc": "34465:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "34465:3:136"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "34470:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "34470:9:136"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "34461:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "34461:3:136"
                        },
                        "nativeSrc": "34461:19:136",
                        "nodeType": "YulFunctionCall",
                        "src": "34461:19:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "34432:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "34432:6:136"
                    },
                    "nativeSrc": "34432:49:136",
                    "nodeType": "YulFunctionCall",
                    "src": "34432:49:136"
                  },
                  "nativeSrc": "34432:49:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "34432:49:136"
                },
                {
                  "nativeSrc": "34490:55:136",
                  "nodeType": "YulAssignment",
                  "src": "34490:55:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "value1",
                        "nativeSrc": "34525:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "34525:6:136"
                      },
                      {
                        "name": "value2",
                        "nativeSrc": "34533:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "34533:6:136"
                      },
                      {
                        "name": "end",
                        "nativeSrc": "34541:3:136",
                        "nodeType": "YulIdentifier",
                        "src": "34541:3:136"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_string_calldata",
                      "nativeSrc": "34498:26:136",
                      "nodeType": "YulIdentifier",
                      "src": "34498:26:136"
                    },
                    "nativeSrc": "34498:47:136",
                    "nodeType": "YulFunctionCall",
                    "src": "34498:47:136"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "34490:4:136",
                      "nodeType": "YulIdentifier",
                      "src": "34490:4:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_t_struct$_DataPushReport_$37274_calldata_ptr_t_bytes_calldata_ptr__to_t_struct$_DataPushReport_$37274_memory_ptr_t_bytes_memory_ptr__fromStack_reversed",
            "nativeSrc": "33084:1467:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "33262:9:136",
                "nodeType": "YulTypedName",
                "src": "33262:9:136",
                "type": ""
              },
              {
                "name": "value2",
                "nativeSrc": "33273:6:136",
                "nodeType": "YulTypedName",
                "src": "33273:6:136",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "33281:6:136",
                "nodeType": "YulTypedName",
                "src": "33281:6:136",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "33289:6:136",
                "nodeType": "YulTypedName",
                "src": "33289:6:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "33300:4:136",
                "nodeType": "YulTypedName",
                "src": "33300:4:136",
                "type": ""
              }
            ],
            "src": "33084:1467:136"
          },
          {
            "body": {
              "nativeSrc": "34628:88:136",
              "nodeType": "YulBlock",
              "src": "34628:88:136",
              "statements": [
                {
                  "nativeSrc": "34638:22:136",
                  "nodeType": "YulAssignment",
                  "src": "34638:22:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "34653:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "34653:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "34647:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "34647:5:136"
                    },
                    "nativeSrc": "34647:13:136",
                    "nodeType": "YulFunctionCall",
                    "src": "34647:13:136"
                  },
                  "variableNames": [
                    {
                      "name": "value",
                      "nativeSrc": "34638:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "34638:5:136"
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "34694:16:136",
                    "nodeType": "YulBlock",
                    "src": "34694:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "34703:1:136",
                              "nodeType": "YulLiteral",
                              "src": "34703:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "34706:1:136",
                              "nodeType": "YulLiteral",
                              "src": "34706:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "34696:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "34696:6:136"
                          },
                          "nativeSrc": "34696:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "34696:12:136"
                        },
                        "nativeSrc": "34696:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "34696:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "34682:5:136",
                            "nodeType": "YulIdentifier",
                            "src": "34682:5:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "34689:2:136",
                            "nodeType": "YulLiteral",
                            "src": "34689:2:136",
                            "type": "",
                            "value": "20"
                          }
                        ],
                        "functionName": {
                          "name": "lt",
                          "nativeSrc": "34679:2:136",
                          "nodeType": "YulIdentifier",
                          "src": "34679:2:136"
                        },
                        "nativeSrc": "34679:13:136",
                        "nodeType": "YulFunctionCall",
                        "src": "34679:13:136"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "34672:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "34672:6:136"
                    },
                    "nativeSrc": "34672:21:136",
                    "nodeType": "YulFunctionCall",
                    "src": "34672:21:136"
                  },
                  "nativeSrc": "34669:41:136",
                  "nodeType": "YulIf",
                  "src": "34669:41:136"
                }
              ]
            },
            "name": "abi_decode_enum_RadonDataTypes_fromMemory",
            "nativeSrc": "34556:160:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "offset",
                "nativeSrc": "34607:6:136",
                "nodeType": "YulTypedName",
                "src": "34607:6:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value",
                "nativeSrc": "34618:5:136",
                "nodeType": "YulTypedName",
                "src": "34618:5:136",
                "type": ""
              }
            ],
            "src": "34556:160:136"
          },
          {
            "body": {
              "nativeSrc": "34779:102:136",
              "nodeType": "YulBlock",
              "src": "34779:102:136",
              "statements": [
                {
                  "nativeSrc": "34789:22:136",
                  "nodeType": "YulAssignment",
                  "src": "34789:22:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "34804:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "34804:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "34798:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "34798:5:136"
                    },
                    "nativeSrc": "34798:13:136",
                    "nodeType": "YulFunctionCall",
                    "src": "34798:13:136"
                  },
                  "variableNames": [
                    {
                      "name": "value",
                      "nativeSrc": "34789:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "34789:5:136"
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "34859:16:136",
                    "nodeType": "YulBlock",
                    "src": "34859:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "34868:1:136",
                              "nodeType": "YulLiteral",
                              "src": "34868:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "34871:1:136",
                              "nodeType": "YulLiteral",
                              "src": "34871:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "34861:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "34861:6:136"
                          },
                          "nativeSrc": "34861:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "34861:12:136"
                        },
                        "nativeSrc": "34861:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "34861:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "34833:5:136",
                            "nodeType": "YulIdentifier",
                            "src": "34833:5:136"
                          },
                          {
                            "arguments": [
                              {
                                "name": "value",
                                "nativeSrc": "34844:5:136",
                                "nodeType": "YulIdentifier",
                                "src": "34844:5:136"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "34851:4:136",
                                "nodeType": "YulLiteral",
                                "src": "34851:4:136",
                                "type": "",
                                "value": "0xff"
                              }
                            ],
                            "functionName": {
                              "name": "and",
                              "nativeSrc": "34840:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "34840:3:136"
                            },
                            "nativeSrc": "34840:16:136",
                            "nodeType": "YulFunctionCall",
                            "src": "34840:16:136"
                          }
                        ],
                        "functionName": {
                          "name": "eq",
                          "nativeSrc": "34830:2:136",
                          "nodeType": "YulIdentifier",
                          "src": "34830:2:136"
                        },
                        "nativeSrc": "34830:27:136",
                        "nodeType": "YulFunctionCall",
                        "src": "34830:27:136"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "34823:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "34823:6:136"
                    },
                    "nativeSrc": "34823:35:136",
                    "nodeType": "YulFunctionCall",
                    "src": "34823:35:136"
                  },
                  "nativeSrc": "34820:55:136",
                  "nodeType": "YulIf",
                  "src": "34820:55:136"
                }
              ]
            },
            "name": "abi_decode_uint8_fromMemory",
            "nativeSrc": "34721:160:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "offset",
                "nativeSrc": "34758:6:136",
                "nodeType": "YulTypedName",
                "src": "34758:6:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value",
                "nativeSrc": "34769:5:136",
                "nodeType": "YulTypedName",
                "src": "34769:5:136",
                "type": ""
              }
            ],
            "src": "34721:160:136"
          },
          {
            "body": {
              "nativeSrc": "34958:1152:136",
              "nodeType": "YulBlock",
              "src": "34958:1152:136",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "35002:16:136",
                    "nodeType": "YulBlock",
                    "src": "35002:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "35011:1:136",
                              "nodeType": "YulLiteral",
                              "src": "35011:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "35014:1:136",
                              "nodeType": "YulLiteral",
                              "src": "35014:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "35004:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "35004:6:136"
                          },
                          "nativeSrc": "35004:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "35004:12:136"
                        },
                        "nativeSrc": "35004:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "35004:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "end",
                            "nativeSrc": "34979:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "34979:3:136"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "34984:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "34984:9:136"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "34975:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "34975:3:136"
                        },
                        "nativeSrc": "34975:19:136",
                        "nodeType": "YulFunctionCall",
                        "src": "34975:19:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "34996:4:136",
                        "nodeType": "YulLiteral",
                        "src": "34996:4:136",
                        "type": "",
                        "value": "0xc0"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "34971:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "34971:3:136"
                    },
                    "nativeSrc": "34971:30:136",
                    "nodeType": "YulFunctionCall",
                    "src": "34971:30:136"
                  },
                  "nativeSrc": "34968:50:136",
                  "nodeType": "YulIf",
                  "src": "34968:50:136"
                },
                {
                  "nativeSrc": "35027:23:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "35027:23:136",
                  "value": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "35047:2:136",
                        "nodeType": "YulLiteral",
                        "src": "35047:2:136",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "35041:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "35041:5:136"
                    },
                    "nativeSrc": "35041:9:136",
                    "nodeType": "YulFunctionCall",
                    "src": "35041:9:136"
                  },
                  "variables": [
                    {
                      "name": "memPtr",
                      "nativeSrc": "35031:6:136",
                      "nodeType": "YulTypedName",
                      "src": "35031:6:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "memPtr",
                        "nativeSrc": "35084:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "35084:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "finalize_allocation_6265",
                      "nativeSrc": "35059:24:136",
                      "nodeType": "YulIdentifier",
                      "src": "35059:24:136"
                    },
                    "nativeSrc": "35059:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "35059:32:136"
                  },
                  "nativeSrc": "35059:32:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "35059:32:136"
                },
                {
                  "nativeSrc": "35100:15:136",
                  "nodeType": "YulAssignment",
                  "src": "35100:15:136",
                  "value": {
                    "name": "memPtr",
                    "nativeSrc": "35109:6:136",
                    "nodeType": "YulIdentifier",
                    "src": "35109:6:136"
                  },
                  "variableNames": [
                    {
                      "name": "value",
                      "nativeSrc": "35100:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "35100:5:136"
                    }
                  ]
                },
                {
                  "nativeSrc": "35124:30:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "35124:30:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "35144:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "35144:9:136"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "35138:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "35138:5:136"
                    },
                    "nativeSrc": "35138:16:136",
                    "nodeType": "YulFunctionCall",
                    "src": "35138:16:136"
                  },
                  "variables": [
                    {
                      "name": "offset",
                      "nativeSrc": "35128:6:136",
                      "nodeType": "YulTypedName",
                      "src": "35128:6:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "35197:16:136",
                    "nodeType": "YulBlock",
                    "src": "35197:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "35206:1:136",
                              "nodeType": "YulLiteral",
                              "src": "35206:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "35209:1:136",
                              "nodeType": "YulLiteral",
                              "src": "35209:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "35199:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "35199:6:136"
                          },
                          "nativeSrc": "35199:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "35199:12:136"
                        },
                        "nativeSrc": "35199:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "35199:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "35169:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "35169:6:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "35177:18:136",
                        "nodeType": "YulLiteral",
                        "src": "35177:18:136",
                        "type": "",
                        "value": "0xffffffffffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "35166:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "35166:2:136"
                    },
                    "nativeSrc": "35166:30:136",
                    "nodeType": "YulFunctionCall",
                    "src": "35166:30:136"
                  },
                  "nativeSrc": "35163:50:136",
                  "nodeType": "YulIf",
                  "src": "35163:50:136"
                },
                {
                  "nativeSrc": "35222:32:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "35222:32:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "35236:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "35236:9:136"
                      },
                      {
                        "name": "offset",
                        "nativeSrc": "35247:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "35247:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "35232:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "35232:3:136"
                    },
                    "nativeSrc": "35232:22:136",
                    "nodeType": "YulFunctionCall",
                    "src": "35232:22:136"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "35226:2:136",
                      "nodeType": "YulTypedName",
                      "src": "35226:2:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "35288:16:136",
                    "nodeType": "YulBlock",
                    "src": "35288:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "35297:1:136",
                              "nodeType": "YulLiteral",
                              "src": "35297:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "35300:1:136",
                              "nodeType": "YulLiteral",
                              "src": "35300:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "35290:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "35290:6:136"
                          },
                          "nativeSrc": "35290:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "35290:12:136"
                        },
                        "nativeSrc": "35290:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "35290:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "end",
                            "nativeSrc": "35274:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "35274:3:136"
                          },
                          {
                            "name": "_1",
                            "nativeSrc": "35279:2:136",
                            "nodeType": "YulIdentifier",
                            "src": "35279:2:136"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "35270:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "35270:3:136"
                        },
                        "nativeSrc": "35270:12:136",
                        "nodeType": "YulFunctionCall",
                        "src": "35270:12:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "35284:2:136",
                        "nodeType": "YulLiteral",
                        "src": "35284:2:136",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "35266:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "35266:3:136"
                    },
                    "nativeSrc": "35266:21:136",
                    "nodeType": "YulFunctionCall",
                    "src": "35266:21:136"
                  },
                  "nativeSrc": "35263:41:136",
                  "nodeType": "YulIf",
                  "src": "35263:41:136"
                },
                {
                  "nativeSrc": "35313:25:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "35313:25:136",
                  "value": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "35335:2:136",
                        "nodeType": "YulLiteral",
                        "src": "35335:2:136",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "35329:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "35329:5:136"
                    },
                    "nativeSrc": "35329:9:136",
                    "nodeType": "YulFunctionCall",
                    "src": "35329:9:136"
                  },
                  "variables": [
                    {
                      "name": "memPtr_1",
                      "nativeSrc": "35317:8:136",
                      "nodeType": "YulTypedName",
                      "src": "35317:8:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "memPtr_1",
                        "nativeSrc": "35372:8:136",
                        "nodeType": "YulIdentifier",
                        "src": "35372:8:136"
                      }
                    ],
                    "functionName": {
                      "name": "finalize_allocation_6266",
                      "nativeSrc": "35347:24:136",
                      "nodeType": "YulIdentifier",
                      "src": "35347:24:136"
                    },
                    "nativeSrc": "35347:34:136",
                    "nodeType": "YulFunctionCall",
                    "src": "35347:34:136"
                  },
                  "nativeSrc": "35347:34:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "35347:34:136"
                },
                {
                  "nativeSrc": "35390:25:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "35390:25:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "_1",
                        "nativeSrc": "35412:2:136",
                        "nodeType": "YulIdentifier",
                        "src": "35412:2:136"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "35406:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "35406:5:136"
                    },
                    "nativeSrc": "35406:9:136",
                    "nodeType": "YulFunctionCall",
                    "src": "35406:9:136"
                  },
                  "variables": [
                    {
                      "name": "offset_1",
                      "nativeSrc": "35394:8:136",
                      "nodeType": "YulTypedName",
                      "src": "35394:8:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "35460:16:136",
                    "nodeType": "YulBlock",
                    "src": "35460:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "35469:1:136",
                              "nodeType": "YulLiteral",
                              "src": "35469:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "35472:1:136",
                              "nodeType": "YulLiteral",
                              "src": "35472:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "35462:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "35462:6:136"
                          },
                          "nativeSrc": "35462:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "35462:12:136"
                        },
                        "nativeSrc": "35462:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "35462:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "offset_1",
                        "nativeSrc": "35430:8:136",
                        "nodeType": "YulIdentifier",
                        "src": "35430:8:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "35440:18:136",
                        "nodeType": "YulLiteral",
                        "src": "35440:18:136",
                        "type": "",
                        "value": "0xffffffffffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "35427:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "35427:2:136"
                    },
                    "nativeSrc": "35427:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "35427:32:136"
                  },
                  "nativeSrc": "35424:52:136",
                  "nodeType": "YulIf",
                  "src": "35424:52:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "memPtr_1",
                        "nativeSrc": "35492:8:136",
                        "nodeType": "YulIdentifier",
                        "src": "35492:8:136"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "_1",
                                "nativeSrc": "35534:2:136",
                                "nodeType": "YulIdentifier",
                                "src": "35534:2:136"
                              },
                              {
                                "name": "offset_1",
                                "nativeSrc": "35538:8:136",
                                "nodeType": "YulIdentifier",
                                "src": "35538:8:136"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "35530:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "35530:3:136"
                            },
                            "nativeSrc": "35530:17:136",
                            "nodeType": "YulFunctionCall",
                            "src": "35530:17:136"
                          },
                          {
                            "name": "end",
                            "nativeSrc": "35549:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "35549:3:136"
                          }
                        ],
                        "functionName": {
                          "name": "abi_decode_bytes_fromMemory",
                          "nativeSrc": "35502:27:136",
                          "nodeType": "YulIdentifier",
                          "src": "35502:27:136"
                        },
                        "nativeSrc": "35502:51:136",
                        "nodeType": "YulFunctionCall",
                        "src": "35502:51:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "35485:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "35485:6:136"
                    },
                    "nativeSrc": "35485:69:136",
                    "nodeType": "YulFunctionCall",
                    "src": "35485:69:136"
                  },
                  "nativeSrc": "35485:69:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "35485:69:136"
                },
                {
                  "nativeSrc": "35563:16:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "35563:16:136",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "35578:1:136",
                    "nodeType": "YulLiteral",
                    "src": "35578:1:136",
                    "type": "",
                    "value": "0"
                  },
                  "variables": [
                    {
                      "name": "value_1",
                      "nativeSrc": "35567:7:136",
                      "nodeType": "YulTypedName",
                      "src": "35567:7:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "35588:29:136",
                  "nodeType": "YulAssignment",
                  "src": "35588:29:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "_1",
                            "nativeSrc": "35609:2:136",
                            "nodeType": "YulIdentifier",
                            "src": "35609:2:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "35613:2:136",
                            "nodeType": "YulLiteral",
                            "src": "35613:2:136",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "35605:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "35605:3:136"
                        },
                        "nativeSrc": "35605:11:136",
                        "nodeType": "YulFunctionCall",
                        "src": "35605:11:136"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "35599:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "35599:5:136"
                    },
                    "nativeSrc": "35599:18:136",
                    "nodeType": "YulFunctionCall",
                    "src": "35599:18:136"
                  },
                  "variableNames": [
                    {
                      "name": "value_1",
                      "nativeSrc": "35588:7:136",
                      "nodeType": "YulIdentifier",
                      "src": "35588:7:136"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "memPtr_1",
                            "nativeSrc": "35637:8:136",
                            "nodeType": "YulIdentifier",
                            "src": "35637:8:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "35647:2:136",
                            "nodeType": "YulLiteral",
                            "src": "35647:2:136",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "35633:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "35633:3:136"
                        },
                        "nativeSrc": "35633:17:136",
                        "nodeType": "YulFunctionCall",
                        "src": "35633:17:136"
                      },
                      {
                        "name": "value_1",
                        "nativeSrc": "35652:7:136",
                        "nodeType": "YulIdentifier",
                        "src": "35652:7:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "35626:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "35626:6:136"
                    },
                    "nativeSrc": "35626:34:136",
                    "nodeType": "YulFunctionCall",
                    "src": "35626:34:136"
                  },
                  "nativeSrc": "35626:34:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "35626:34:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "memPtr",
                        "nativeSrc": "35676:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "35676:6:136"
                      },
                      {
                        "name": "memPtr_1",
                        "nativeSrc": "35684:8:136",
                        "nodeType": "YulIdentifier",
                        "src": "35684:8:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "35669:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "35669:6:136"
                    },
                    "nativeSrc": "35669:24:136",
                    "nodeType": "YulFunctionCall",
                    "src": "35669:24:136"
                  },
                  "nativeSrc": "35669:24:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "35669:24:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "memPtr",
                            "nativeSrc": "35713:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "35713:6:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "35721:2:136",
                            "nodeType": "YulLiteral",
                            "src": "35721:2:136",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "35709:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "35709:3:136"
                        },
                        "nativeSrc": "35709:15:136",
                        "nodeType": "YulFunctionCall",
                        "src": "35709:15:136"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "headStart",
                                "nativeSrc": "35758:9:136",
                                "nodeType": "YulIdentifier",
                                "src": "35758:9:136"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "35769:2:136",
                                "nodeType": "YulLiteral",
                                "src": "35769:2:136",
                                "type": "",
                                "value": "32"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "35754:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "35754:3:136"
                            },
                            "nativeSrc": "35754:18:136",
                            "nodeType": "YulFunctionCall",
                            "src": "35754:18:136"
                          }
                        ],
                        "functionName": {
                          "name": "abi_decode_uint8_fromMemory",
                          "nativeSrc": "35726:27:136",
                          "nodeType": "YulIdentifier",
                          "src": "35726:27:136"
                        },
                        "nativeSrc": "35726:47:136",
                        "nodeType": "YulFunctionCall",
                        "src": "35726:47:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "35702:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "35702:6:136"
                    },
                    "nativeSrc": "35702:72:136",
                    "nodeType": "YulFunctionCall",
                    "src": "35702:72:136"
                  },
                  "nativeSrc": "35702:72:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "35702:72:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "memPtr",
                            "nativeSrc": "35794:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "35794:6:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "35802:2:136",
                            "nodeType": "YulLiteral",
                            "src": "35802:2:136",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "35790:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "35790:3:136"
                        },
                        "nativeSrc": "35790:15:136",
                        "nodeType": "YulFunctionCall",
                        "src": "35790:15:136"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "headStart",
                                "nativeSrc": "35839:9:136",
                                "nodeType": "YulIdentifier",
                                "src": "35839:9:136"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "35850:2:136",
                                "nodeType": "YulLiteral",
                                "src": "35850:2:136",
                                "type": "",
                                "value": "64"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "35835:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "35835:3:136"
                            },
                            "nativeSrc": "35835:18:136",
                            "nodeType": "YulFunctionCall",
                            "src": "35835:18:136"
                          }
                        ],
                        "functionName": {
                          "name": "abi_decode_uint8_fromMemory",
                          "nativeSrc": "35807:27:136",
                          "nodeType": "YulIdentifier",
                          "src": "35807:27:136"
                        },
                        "nativeSrc": "35807:47:136",
                        "nodeType": "YulFunctionCall",
                        "src": "35807:47:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "35783:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "35783:6:136"
                    },
                    "nativeSrc": "35783:72:136",
                    "nodeType": "YulFunctionCall",
                    "src": "35783:72:136"
                  },
                  "nativeSrc": "35783:72:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "35783:72:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "memPtr",
                            "nativeSrc": "35875:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "35875:6:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "35883:2:136",
                            "nodeType": "YulLiteral",
                            "src": "35883:2:136",
                            "type": "",
                            "value": "96"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "35871:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "35871:3:136"
                        },
                        "nativeSrc": "35871:15:136",
                        "nodeType": "YulFunctionCall",
                        "src": "35871:15:136"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "headStart",
                                "nativeSrc": "35920:9:136",
                                "nodeType": "YulIdentifier",
                                "src": "35920:9:136"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "35931:2:136",
                                "nodeType": "YulLiteral",
                                "src": "35931:2:136",
                                "type": "",
                                "value": "96"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "35916:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "35916:3:136"
                            },
                            "nativeSrc": "35916:18:136",
                            "nodeType": "YulFunctionCall",
                            "src": "35916:18:136"
                          }
                        ],
                        "functionName": {
                          "name": "abi_decode_uint8_fromMemory",
                          "nativeSrc": "35888:27:136",
                          "nodeType": "YulIdentifier",
                          "src": "35888:27:136"
                        },
                        "nativeSrc": "35888:47:136",
                        "nodeType": "YulFunctionCall",
                        "src": "35888:47:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "35864:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "35864:6:136"
                    },
                    "nativeSrc": "35864:72:136",
                    "nodeType": "YulFunctionCall",
                    "src": "35864:72:136"
                  },
                  "nativeSrc": "35864:72:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "35864:72:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "memPtr",
                            "nativeSrc": "35956:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "35956:6:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "35964:3:136",
                            "nodeType": "YulLiteral",
                            "src": "35964:3:136",
                            "type": "",
                            "value": "128"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "35952:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "35952:3:136"
                        },
                        "nativeSrc": "35952:16:136",
                        "nodeType": "YulFunctionCall",
                        "src": "35952:16:136"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "headStart",
                                "nativeSrc": "36003:9:136",
                                "nodeType": "YulIdentifier",
                                "src": "36003:9:136"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "36014:3:136",
                                "nodeType": "YulLiteral",
                                "src": "36014:3:136",
                                "type": "",
                                "value": "128"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "35999:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "35999:3:136"
                            },
                            "nativeSrc": "35999:19:136",
                            "nodeType": "YulFunctionCall",
                            "src": "35999:19:136"
                          }
                        ],
                        "functionName": {
                          "name": "abi_decode_uint64_fromMemory",
                          "nativeSrc": "35970:28:136",
                          "nodeType": "YulIdentifier",
                          "src": "35970:28:136"
                        },
                        "nativeSrc": "35970:49:136",
                        "nodeType": "YulFunctionCall",
                        "src": "35970:49:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "35945:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "35945:6:136"
                    },
                    "nativeSrc": "35945:75:136",
                    "nodeType": "YulFunctionCall",
                    "src": "35945:75:136"
                  },
                  "nativeSrc": "35945:75:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "35945:75:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "memPtr",
                            "nativeSrc": "36040:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "36040:6:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "36048:3:136",
                            "nodeType": "YulLiteral",
                            "src": "36048:3:136",
                            "type": "",
                            "value": "160"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "36036:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "36036:3:136"
                        },
                        "nativeSrc": "36036:16:136",
                        "nodeType": "YulFunctionCall",
                        "src": "36036:16:136"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "headStart",
                                "nativeSrc": "36087:9:136",
                                "nodeType": "YulIdentifier",
                                "src": "36087:9:136"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "36098:3:136",
                                "nodeType": "YulLiteral",
                                "src": "36098:3:136",
                                "type": "",
                                "value": "160"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "36083:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "36083:3:136"
                            },
                            "nativeSrc": "36083:19:136",
                            "nodeType": "YulFunctionCall",
                            "src": "36083:19:136"
                          }
                        ],
                        "functionName": {
                          "name": "abi_decode_uint64_fromMemory",
                          "nativeSrc": "36054:28:136",
                          "nodeType": "YulIdentifier",
                          "src": "36054:28:136"
                        },
                        "nativeSrc": "36054:49:136",
                        "nodeType": "YulFunctionCall",
                        "src": "36054:49:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "36029:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "36029:6:136"
                    },
                    "nativeSrc": "36029:75:136",
                    "nodeType": "YulFunctionCall",
                    "src": "36029:75:136"
                  },
                  "nativeSrc": "36029:75:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "36029:75:136"
                }
              ]
            },
            "name": "abi_decode_struct_CBOR_fromMemory",
            "nativeSrc": "34886:1224:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "34929:9:136",
                "nodeType": "YulTypedName",
                "src": "34929:9:136",
                "type": ""
              },
              {
                "name": "end",
                "nativeSrc": "34940:3:136",
                "nodeType": "YulTypedName",
                "src": "34940:3:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value",
                "nativeSrc": "34948:5:136",
                "nodeType": "YulTypedName",
                "src": "34948:5:136",
                "type": ""
              }
            ],
            "src": "34886:1224:136"
          },
          {
            "body": {
              "nativeSrc": "36225:1047:136",
              "nodeType": "YulBlock",
              "src": "36225:1047:136",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "36271:16:136",
                    "nodeType": "YulBlock",
                    "src": "36271:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "36280:1:136",
                              "nodeType": "YulLiteral",
                              "src": "36280:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "36283:1:136",
                              "nodeType": "YulLiteral",
                              "src": "36283:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "36273:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "36273:6:136"
                          },
                          "nativeSrc": "36273:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "36273:12:136"
                        },
                        "nativeSrc": "36273:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "36273:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "36246:7:136",
                            "nodeType": "YulIdentifier",
                            "src": "36246:7:136"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "36255:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "36255:9:136"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "36242:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "36242:3:136"
                        },
                        "nativeSrc": "36242:23:136",
                        "nodeType": "YulFunctionCall",
                        "src": "36242:23:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "36267:2:136",
                        "nodeType": "YulLiteral",
                        "src": "36267:2:136",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "36238:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "36238:3:136"
                    },
                    "nativeSrc": "36238:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "36238:32:136"
                  },
                  "nativeSrc": "36235:52:136",
                  "nodeType": "YulIf",
                  "src": "36235:52:136"
                },
                {
                  "nativeSrc": "36296:30:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "36296:30:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "36316:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "36316:9:136"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "36310:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "36310:5:136"
                    },
                    "nativeSrc": "36310:16:136",
                    "nodeType": "YulFunctionCall",
                    "src": "36310:16:136"
                  },
                  "variables": [
                    {
                      "name": "offset",
                      "nativeSrc": "36300:6:136",
                      "nodeType": "YulTypedName",
                      "src": "36300:6:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "36369:16:136",
                    "nodeType": "YulBlock",
                    "src": "36369:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "36378:1:136",
                              "nodeType": "YulLiteral",
                              "src": "36378:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "36381:1:136",
                              "nodeType": "YulLiteral",
                              "src": "36381:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "36371:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "36371:6:136"
                          },
                          "nativeSrc": "36371:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "36371:12:136"
                        },
                        "nativeSrc": "36371:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "36371:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "36341:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "36341:6:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "36349:18:136",
                        "nodeType": "YulLiteral",
                        "src": "36349:18:136",
                        "type": "",
                        "value": "0xffffffffffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "36338:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "36338:2:136"
                    },
                    "nativeSrc": "36338:30:136",
                    "nodeType": "YulFunctionCall",
                    "src": "36338:30:136"
                  },
                  "nativeSrc": "36335:50:136",
                  "nodeType": "YulIf",
                  "src": "36335:50:136"
                },
                {
                  "nativeSrc": "36394:32:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "36394:32:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "36408:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "36408:9:136"
                      },
                      {
                        "name": "offset",
                        "nativeSrc": "36419:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "36419:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "36404:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "36404:3:136"
                    },
                    "nativeSrc": "36404:22:136",
                    "nodeType": "YulFunctionCall",
                    "src": "36404:22:136"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "36398:2:136",
                      "nodeType": "YulTypedName",
                      "src": "36398:2:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "36466:16:136",
                    "nodeType": "YulBlock",
                    "src": "36466:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "36475:1:136",
                              "nodeType": "YulLiteral",
                              "src": "36475:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "36478:1:136",
                              "nodeType": "YulLiteral",
                              "src": "36478:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "36468:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "36468:6:136"
                          },
                          "nativeSrc": "36468:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "36468:12:136"
                        },
                        "nativeSrc": "36468:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "36468:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "36446:7:136",
                            "nodeType": "YulIdentifier",
                            "src": "36446:7:136"
                          },
                          {
                            "name": "_1",
                            "nativeSrc": "36455:2:136",
                            "nodeType": "YulIdentifier",
                            "src": "36455:2:136"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "36442:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "36442:3:136"
                        },
                        "nativeSrc": "36442:16:136",
                        "nodeType": "YulFunctionCall",
                        "src": "36442:16:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "36460:4:136",
                        "nodeType": "YulLiteral",
                        "src": "36460:4:136",
                        "type": "",
                        "value": "0xc0"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "36438:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "36438:3:136"
                    },
                    "nativeSrc": "36438:27:136",
                    "nodeType": "YulFunctionCall",
                    "src": "36438:27:136"
                  },
                  "nativeSrc": "36435:47:136",
                  "nodeType": "YulIf",
                  "src": "36435:47:136"
                },
                {
                  "nativeSrc": "36491:23:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "36491:23:136",
                  "value": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "36511:2:136",
                        "nodeType": "YulLiteral",
                        "src": "36511:2:136",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "36505:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "36505:5:136"
                    },
                    "nativeSrc": "36505:9:136",
                    "nodeType": "YulFunctionCall",
                    "src": "36505:9:136"
                  },
                  "variables": [
                    {
                      "name": "memPtr",
                      "nativeSrc": "36495:6:136",
                      "nodeType": "YulTypedName",
                      "src": "36495:6:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "memPtr",
                        "nativeSrc": "36548:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "36548:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "finalize_allocation_6265",
                      "nativeSrc": "36523:24:136",
                      "nodeType": "YulIdentifier",
                      "src": "36523:24:136"
                    },
                    "nativeSrc": "36523:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "36523:32:136"
                  },
                  "nativeSrc": "36523:32:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "36523:32:136"
                },
                {
                  "nativeSrc": "36564:22:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "36564:22:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "_1",
                        "nativeSrc": "36583:2:136",
                        "nodeType": "YulIdentifier",
                        "src": "36583:2:136"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "36577:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "36577:5:136"
                    },
                    "nativeSrc": "36577:9:136",
                    "nodeType": "YulFunctionCall",
                    "src": "36577:9:136"
                  },
                  "variables": [
                    {
                      "name": "value",
                      "nativeSrc": "36568:5:136",
                      "nodeType": "YulTypedName",
                      "src": "36568:5:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "36621:16:136",
                    "nodeType": "YulBlock",
                    "src": "36621:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "36630:1:136",
                              "nodeType": "YulLiteral",
                              "src": "36630:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "36633:1:136",
                              "nodeType": "YulLiteral",
                              "src": "36633:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "36623:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "36623:6:136"
                          },
                          "nativeSrc": "36623:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "36623:12:136"
                        },
                        "nativeSrc": "36623:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "36623:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "36608:5:136",
                            "nodeType": "YulIdentifier",
                            "src": "36608:5:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "36615:3:136",
                            "nodeType": "YulLiteral",
                            "src": "36615:3:136",
                            "type": "",
                            "value": "256"
                          }
                        ],
                        "functionName": {
                          "name": "lt",
                          "nativeSrc": "36605:2:136",
                          "nodeType": "YulIdentifier",
                          "src": "36605:2:136"
                        },
                        "nativeSrc": "36605:14:136",
                        "nodeType": "YulFunctionCall",
                        "src": "36605:14:136"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "36598:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "36598:6:136"
                    },
                    "nativeSrc": "36598:22:136",
                    "nodeType": "YulFunctionCall",
                    "src": "36598:22:136"
                  },
                  "nativeSrc": "36595:42:136",
                  "nodeType": "YulIf",
                  "src": "36595:42:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "memPtr",
                        "nativeSrc": "36653:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "36653:6:136"
                      },
                      {
                        "name": "value",
                        "nativeSrc": "36661:5:136",
                        "nodeType": "YulIdentifier",
                        "src": "36661:5:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "36646:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "36646:6:136"
                    },
                    "nativeSrc": "36646:21:136",
                    "nodeType": "YulFunctionCall",
                    "src": "36646:21:136"
                  },
                  "nativeSrc": "36646:21:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "36646:21:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "memPtr",
                            "nativeSrc": "36687:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "36687:6:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "36695:2:136",
                            "nodeType": "YulLiteral",
                            "src": "36695:2:136",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "36683:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "36683:3:136"
                        },
                        "nativeSrc": "36683:15:136",
                        "nodeType": "YulFunctionCall",
                        "src": "36683:15:136"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "_1",
                                "nativeSrc": "36746:2:136",
                                "nodeType": "YulIdentifier",
                                "src": "36746:2:136"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "36750:2:136",
                                "nodeType": "YulLiteral",
                                "src": "36750:2:136",
                                "type": "",
                                "value": "32"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "36742:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "36742:3:136"
                            },
                            "nativeSrc": "36742:11:136",
                            "nodeType": "YulFunctionCall",
                            "src": "36742:11:136"
                          }
                        ],
                        "functionName": {
                          "name": "abi_decode_enum_RadonDataTypes_fromMemory",
                          "nativeSrc": "36700:41:136",
                          "nodeType": "YulIdentifier",
                          "src": "36700:41:136"
                        },
                        "nativeSrc": "36700:54:136",
                        "nodeType": "YulFunctionCall",
                        "src": "36700:54:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "36676:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "36676:6:136"
                    },
                    "nativeSrc": "36676:79:136",
                    "nodeType": "YulFunctionCall",
                    "src": "36676:79:136"
                  },
                  "nativeSrc": "36676:79:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "36676:79:136"
                },
                {
                  "nativeSrc": "36764:16:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "36764:16:136",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "36779:1:136",
                    "nodeType": "YulLiteral",
                    "src": "36779:1:136",
                    "type": "",
                    "value": "0"
                  },
                  "variables": [
                    {
                      "name": "value_1",
                      "nativeSrc": "36768:7:136",
                      "nodeType": "YulTypedName",
                      "src": "36768:7:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "36789:29:136",
                  "nodeType": "YulAssignment",
                  "src": "36789:29:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "_1",
                            "nativeSrc": "36810:2:136",
                            "nodeType": "YulIdentifier",
                            "src": "36810:2:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "36814:2:136",
                            "nodeType": "YulLiteral",
                            "src": "36814:2:136",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "36806:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "36806:3:136"
                        },
                        "nativeSrc": "36806:11:136",
                        "nodeType": "YulFunctionCall",
                        "src": "36806:11:136"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "36800:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "36800:5:136"
                    },
                    "nativeSrc": "36800:18:136",
                    "nodeType": "YulFunctionCall",
                    "src": "36800:18:136"
                  },
                  "variableNames": [
                    {
                      "name": "value_1",
                      "nativeSrc": "36789:7:136",
                      "nodeType": "YulIdentifier",
                      "src": "36789:7:136"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "memPtr",
                            "nativeSrc": "36838:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "36838:6:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "36846:2:136",
                            "nodeType": "YulLiteral",
                            "src": "36846:2:136",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "36834:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "36834:3:136"
                        },
                        "nativeSrc": "36834:15:136",
                        "nodeType": "YulFunctionCall",
                        "src": "36834:15:136"
                      },
                      {
                        "name": "value_1",
                        "nativeSrc": "36851:7:136",
                        "nodeType": "YulIdentifier",
                        "src": "36851:7:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "36827:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "36827:6:136"
                    },
                    "nativeSrc": "36827:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "36827:32:136"
                  },
                  "nativeSrc": "36827:32:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "36827:32:136"
                },
                {
                  "nativeSrc": "36868:16:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "36868:16:136",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "36883:1:136",
                    "nodeType": "YulLiteral",
                    "src": "36883:1:136",
                    "type": "",
                    "value": "0"
                  },
                  "variables": [
                    {
                      "name": "value_2",
                      "nativeSrc": "36872:7:136",
                      "nodeType": "YulTypedName",
                      "src": "36872:7:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "36893:29:136",
                  "nodeType": "YulAssignment",
                  "src": "36893:29:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "_1",
                            "nativeSrc": "36914:2:136",
                            "nodeType": "YulIdentifier",
                            "src": "36914:2:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "36918:2:136",
                            "nodeType": "YulLiteral",
                            "src": "36918:2:136",
                            "type": "",
                            "value": "96"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "36910:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "36910:3:136"
                        },
                        "nativeSrc": "36910:11:136",
                        "nodeType": "YulFunctionCall",
                        "src": "36910:11:136"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "36904:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "36904:5:136"
                    },
                    "nativeSrc": "36904:18:136",
                    "nodeType": "YulFunctionCall",
                    "src": "36904:18:136"
                  },
                  "variableNames": [
                    {
                      "name": "value_2",
                      "nativeSrc": "36893:7:136",
                      "nodeType": "YulIdentifier",
                      "src": "36893:7:136"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "memPtr",
                            "nativeSrc": "36942:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "36942:6:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "36950:2:136",
                            "nodeType": "YulLiteral",
                            "src": "36950:2:136",
                            "type": "",
                            "value": "96"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "36938:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "36938:3:136"
                        },
                        "nativeSrc": "36938:15:136",
                        "nodeType": "YulFunctionCall",
                        "src": "36938:15:136"
                      },
                      {
                        "name": "value_2",
                        "nativeSrc": "36955:7:136",
                        "nodeType": "YulIdentifier",
                        "src": "36955:7:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "36931:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "36931:6:136"
                    },
                    "nativeSrc": "36931:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "36931:32:136"
                  },
                  "nativeSrc": "36931:32:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "36931:32:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "memPtr",
                            "nativeSrc": "36983:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "36983:6:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "36991:3:136",
                            "nodeType": "YulLiteral",
                            "src": "36991:3:136",
                            "type": "",
                            "value": "128"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "36979:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "36979:3:136"
                        },
                        "nativeSrc": "36979:16:136",
                        "nodeType": "YulFunctionCall",
                        "src": "36979:16:136"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "_1",
                                "nativeSrc": "37030:2:136",
                                "nodeType": "YulIdentifier",
                                "src": "37030:2:136"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "37034:3:136",
                                "nodeType": "YulLiteral",
                                "src": "37034:3:136",
                                "type": "",
                                "value": "128"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "37026:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "37026:3:136"
                            },
                            "nativeSrc": "37026:12:136",
                            "nodeType": "YulFunctionCall",
                            "src": "37026:12:136"
                          }
                        ],
                        "functionName": {
                          "name": "abi_decode_uint64_fromMemory",
                          "nativeSrc": "36997:28:136",
                          "nodeType": "YulIdentifier",
                          "src": "36997:28:136"
                        },
                        "nativeSrc": "36997:42:136",
                        "nodeType": "YulFunctionCall",
                        "src": "36997:42:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "36972:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "36972:6:136"
                    },
                    "nativeSrc": "36972:68:136",
                    "nodeType": "YulFunctionCall",
                    "src": "36972:68:136"
                  },
                  "nativeSrc": "36972:68:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "36972:68:136"
                },
                {
                  "nativeSrc": "37049:35:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "37049:35:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "_1",
                            "nativeSrc": "37075:2:136",
                            "nodeType": "YulIdentifier",
                            "src": "37075:2:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "37079:3:136",
                            "nodeType": "YulLiteral",
                            "src": "37079:3:136",
                            "type": "",
                            "value": "160"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "37071:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "37071:3:136"
                        },
                        "nativeSrc": "37071:12:136",
                        "nodeType": "YulFunctionCall",
                        "src": "37071:12:136"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "37065:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "37065:5:136"
                    },
                    "nativeSrc": "37065:19:136",
                    "nodeType": "YulFunctionCall",
                    "src": "37065:19:136"
                  },
                  "variables": [
                    {
                      "name": "offset_1",
                      "nativeSrc": "37053:8:136",
                      "nodeType": "YulTypedName",
                      "src": "37053:8:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "37129:16:136",
                    "nodeType": "YulBlock",
                    "src": "37129:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "37138:1:136",
                              "nodeType": "YulLiteral",
                              "src": "37138:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "37141:1:136",
                              "nodeType": "YulLiteral",
                              "src": "37141:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "37131:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "37131:6:136"
                          },
                          "nativeSrc": "37131:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "37131:12:136"
                        },
                        "nativeSrc": "37131:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "37131:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "offset_1",
                        "nativeSrc": "37099:8:136",
                        "nodeType": "YulIdentifier",
                        "src": "37099:8:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "37109:18:136",
                        "nodeType": "YulLiteral",
                        "src": "37109:18:136",
                        "type": "",
                        "value": "0xffffffffffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "37096:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "37096:2:136"
                    },
                    "nativeSrc": "37096:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "37096:32:136"
                  },
                  "nativeSrc": "37093:52:136",
                  "nodeType": "YulIf",
                  "src": "37093:52:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "memPtr",
                            "nativeSrc": "37165:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "37165:6:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "37173:3:136",
                            "nodeType": "YulLiteral",
                            "src": "37173:3:136",
                            "type": "",
                            "value": "160"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "37161:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "37161:3:136"
                        },
                        "nativeSrc": "37161:16:136",
                        "nodeType": "YulFunctionCall",
                        "src": "37161:16:136"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "_1",
                                "nativeSrc": "37217:2:136",
                                "nodeType": "YulIdentifier",
                                "src": "37217:2:136"
                              },
                              {
                                "name": "offset_1",
                                "nativeSrc": "37221:8:136",
                                "nodeType": "YulIdentifier",
                                "src": "37221:8:136"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "37213:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "37213:3:136"
                            },
                            "nativeSrc": "37213:17:136",
                            "nodeType": "YulFunctionCall",
                            "src": "37213:17:136"
                          },
                          {
                            "name": "dataEnd",
                            "nativeSrc": "37232:7:136",
                            "nodeType": "YulIdentifier",
                            "src": "37232:7:136"
                          }
                        ],
                        "functionName": {
                          "name": "abi_decode_struct_CBOR_fromMemory",
                          "nativeSrc": "37179:33:136",
                          "nodeType": "YulIdentifier",
                          "src": "37179:33:136"
                        },
                        "nativeSrc": "37179:61:136",
                        "nodeType": "YulFunctionCall",
                        "src": "37179:61:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "37154:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "37154:6:136"
                    },
                    "nativeSrc": "37154:87:136",
                    "nodeType": "YulFunctionCall",
                    "src": "37154:87:136"
                  },
                  "nativeSrc": "37154:87:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "37154:87:136"
                },
                {
                  "nativeSrc": "37250:16:136",
                  "nodeType": "YulAssignment",
                  "src": "37250:16:136",
                  "value": {
                    "name": "memPtr",
                    "nativeSrc": "37260:6:136",
                    "nodeType": "YulIdentifier",
                    "src": "37260:6:136"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "37250:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "37250:6:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_struct$_DataResult_$37293_memory_ptr_fromMemory",
            "nativeSrc": "36115:1157:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "36191:9:136",
                "nodeType": "YulTypedName",
                "src": "36191:9:136",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "36202:7:136",
                "nodeType": "YulTypedName",
                "src": "36202:7:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "36214:6:136",
                "nodeType": "YulTypedName",
                "src": "36214:6:136",
                "type": ""
              }
            ],
            "src": "36115:1157:136"
          },
          {
            "body": {
              "nativeSrc": "37309:95:136",
              "nodeType": "YulBlock",
              "src": "37309:95:136",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "37326:1:136",
                        "nodeType": "YulLiteral",
                        "src": "37326:1:136",
                        "type": "",
                        "value": "0"
                      },
                      {
                        "arguments": [
                          {
                            "kind": "number",
                            "nativeSrc": "37333:3:136",
                            "nodeType": "YulLiteral",
                            "src": "37333:3:136",
                            "type": "",
                            "value": "224"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "37338:10:136",
                            "nodeType": "YulLiteral",
                            "src": "37338:10:136",
                            "type": "",
                            "value": "0x4e487b71"
                          }
                        ],
                        "functionName": {
                          "name": "shl",
                          "nativeSrc": "37329:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "37329:3:136"
                        },
                        "nativeSrc": "37329:20:136",
                        "nodeType": "YulFunctionCall",
                        "src": "37329:20:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "37319:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "37319:6:136"
                    },
                    "nativeSrc": "37319:31:136",
                    "nodeType": "YulFunctionCall",
                    "src": "37319:31:136"
                  },
                  "nativeSrc": "37319:31:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "37319:31:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "37366:1:136",
                        "nodeType": "YulLiteral",
                        "src": "37366:1:136",
                        "type": "",
                        "value": "4"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "37369:4:136",
                        "nodeType": "YulLiteral",
                        "src": "37369:4:136",
                        "type": "",
                        "value": "0x11"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "37359:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "37359:6:136"
                    },
                    "nativeSrc": "37359:15:136",
                    "nodeType": "YulFunctionCall",
                    "src": "37359:15:136"
                  },
                  "nativeSrc": "37359:15:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "37359:15:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "37390:1:136",
                        "nodeType": "YulLiteral",
                        "src": "37390:1:136",
                        "type": "",
                        "value": "0"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "37393:4:136",
                        "nodeType": "YulLiteral",
                        "src": "37393:4:136",
                        "type": "",
                        "value": "0x24"
                      }
                    ],
                    "functionName": {
                      "name": "revert",
                      "nativeSrc": "37383:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "37383:6:136"
                    },
                    "nativeSrc": "37383:15:136",
                    "nodeType": "YulFunctionCall",
                    "src": "37383:15:136"
                  },
                  "nativeSrc": "37383:15:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "37383:15:136"
                }
              ]
            },
            "name": "panic_error_0x11",
            "nativeSrc": "37277:127:136",
            "nodeType": "YulFunctionDefinition",
            "src": "37277:127:136"
          },
          {
            "body": {
              "nativeSrc": "37456:144:136",
              "nodeType": "YulBlock",
              "src": "37456:144:136",
              "statements": [
                {
                  "nativeSrc": "37466:66:136",
                  "nodeType": "YulAssignment",
                  "src": "37466:66:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "x",
                            "nativeSrc": "37481:1:136",
                            "nodeType": "YulIdentifier",
                            "src": "37481:1:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "37484:18:136",
                            "nodeType": "YulLiteral",
                            "src": "37484:18:136",
                            "type": "",
                            "value": "0xffffffffffffffff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "37477:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "37477:3:136"
                        },
                        "nativeSrc": "37477:26:136",
                        "nodeType": "YulFunctionCall",
                        "src": "37477:26:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "y",
                            "nativeSrc": "37509:1:136",
                            "nodeType": "YulIdentifier",
                            "src": "37509:1:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "37512:18:136",
                            "nodeType": "YulLiteral",
                            "src": "37512:18:136",
                            "type": "",
                            "value": "0xffffffffffffffff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "37505:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "37505:3:136"
                        },
                        "nativeSrc": "37505:26:136",
                        "nodeType": "YulFunctionCall",
                        "src": "37505:26:136"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "37473:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "37473:3:136"
                    },
                    "nativeSrc": "37473:59:136",
                    "nodeType": "YulFunctionCall",
                    "src": "37473:59:136"
                  },
                  "variableNames": [
                    {
                      "name": "sum",
                      "nativeSrc": "37466:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "37466:3:136"
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "37572:22:136",
                    "nodeType": "YulBlock",
                    "src": "37572:22:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x11",
                            "nativeSrc": "37574:16:136",
                            "nodeType": "YulIdentifier",
                            "src": "37574:16:136"
                          },
                          "nativeSrc": "37574:18:136",
                          "nodeType": "YulFunctionCall",
                          "src": "37574:18:136"
                        },
                        "nativeSrc": "37574:18:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "37574:18:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "sum",
                        "nativeSrc": "37547:3:136",
                        "nodeType": "YulIdentifier",
                        "src": "37547:3:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "37552:18:136",
                        "nodeType": "YulLiteral",
                        "src": "37552:18:136",
                        "type": "",
                        "value": "0xffffffffffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "37544:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "37544:2:136"
                    },
                    "nativeSrc": "37544:27:136",
                    "nodeType": "YulFunctionCall",
                    "src": "37544:27:136"
                  },
                  "nativeSrc": "37541:53:136",
                  "nodeType": "YulIf",
                  "src": "37541:53:136"
                }
              ]
            },
            "name": "checked_add_t_uint64",
            "nativeSrc": "37409:191:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "x",
                "nativeSrc": "37439:1:136",
                "nodeType": "YulTypedName",
                "src": "37439:1:136",
                "type": ""
              },
              {
                "name": "y",
                "nativeSrc": "37442:1:136",
                "nodeType": "YulTypedName",
                "src": "37442:1:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "sum",
                "nativeSrc": "37448:3:136",
                "nodeType": "YulTypedName",
                "src": "37448:3:136",
                "type": ""
              }
            ],
            "src": "37409:191:136"
          },
          {
            "body": {
              "nativeSrc": "37653:146:136",
              "nodeType": "YulBlock",
              "src": "37653:146:136",
              "statements": [
                {
                  "nativeSrc": "37663:67:136",
                  "nodeType": "YulAssignment",
                  "src": "37663:67:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "x",
                            "nativeSrc": "37679:1:136",
                            "nodeType": "YulIdentifier",
                            "src": "37679:1:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "37682:18:136",
                            "nodeType": "YulLiteral",
                            "src": "37682:18:136",
                            "type": "",
                            "value": "0xffffffffffffffff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "37675:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "37675:3:136"
                        },
                        "nativeSrc": "37675:26:136",
                        "nodeType": "YulFunctionCall",
                        "src": "37675:26:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "y",
                            "nativeSrc": "37707:1:136",
                            "nodeType": "YulIdentifier",
                            "src": "37707:1:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "37710:18:136",
                            "nodeType": "YulLiteral",
                            "src": "37710:18:136",
                            "type": "",
                            "value": "0xffffffffffffffff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "37703:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "37703:3:136"
                        },
                        "nativeSrc": "37703:26:136",
                        "nodeType": "YulFunctionCall",
                        "src": "37703:26:136"
                      }
                    ],
                    "functionName": {
                      "name": "sub",
                      "nativeSrc": "37671:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "37671:3:136"
                    },
                    "nativeSrc": "37671:59:136",
                    "nodeType": "YulFunctionCall",
                    "src": "37671:59:136"
                  },
                  "variableNames": [
                    {
                      "name": "diff",
                      "nativeSrc": "37663:4:136",
                      "nodeType": "YulIdentifier",
                      "src": "37663:4:136"
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "37771:22:136",
                    "nodeType": "YulBlock",
                    "src": "37771:22:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x11",
                            "nativeSrc": "37773:16:136",
                            "nodeType": "YulIdentifier",
                            "src": "37773:16:136"
                          },
                          "nativeSrc": "37773:18:136",
                          "nodeType": "YulFunctionCall",
                          "src": "37773:18:136"
                        },
                        "nativeSrc": "37773:18:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "37773:18:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "diff",
                        "nativeSrc": "37745:4:136",
                        "nodeType": "YulIdentifier",
                        "src": "37745:4:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "37751:18:136",
                        "nodeType": "YulLiteral",
                        "src": "37751:18:136",
                        "type": "",
                        "value": "0xffffffffffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "37742:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "37742:2:136"
                    },
                    "nativeSrc": "37742:28:136",
                    "nodeType": "YulFunctionCall",
                    "src": "37742:28:136"
                  },
                  "nativeSrc": "37739:54:136",
                  "nodeType": "YulIf",
                  "src": "37739:54:136"
                }
              ]
            },
            "name": "checked_sub_t_uint64",
            "nativeSrc": "37605:194:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "x",
                "nativeSrc": "37635:1:136",
                "nodeType": "YulTypedName",
                "src": "37635:1:136",
                "type": ""
              },
              {
                "name": "y",
                "nativeSrc": "37638:1:136",
                "nodeType": "YulTypedName",
                "src": "37638:1:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "diff",
                "nativeSrc": "37644:4:136",
                "nodeType": "YulTypedName",
                "src": "37644:4:136",
                "type": ""
              }
            ],
            "src": "37605:194:136"
          },
          {
            "body": {
              "nativeSrc": "37851:167:136",
              "nodeType": "YulBlock",
              "src": "37851:167:136",
              "statements": [
                {
                  "nativeSrc": "37861:47:136",
                  "nodeType": "YulAssignment",
                  "src": "37861:47:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "kind": "number",
                            "nativeSrc": "37884:1:136",
                            "nodeType": "YulLiteral",
                            "src": "37884:1:136",
                            "type": "",
                            "value": "7"
                          },
                          {
                            "name": "x",
                            "nativeSrc": "37887:1:136",
                            "nodeType": "YulIdentifier",
                            "src": "37887:1:136"
                          }
                        ],
                        "functionName": {
                          "name": "signextend",
                          "nativeSrc": "37873:10:136",
                          "nodeType": "YulIdentifier",
                          "src": "37873:10:136"
                        },
                        "nativeSrc": "37873:16:136",
                        "nodeType": "YulFunctionCall",
                        "src": "37873:16:136"
                      },
                      {
                        "arguments": [
                          {
                            "kind": "number",
                            "nativeSrc": "37902:1:136",
                            "nodeType": "YulLiteral",
                            "src": "37902:1:136",
                            "type": "",
                            "value": "7"
                          },
                          {
                            "name": "y",
                            "nativeSrc": "37905:1:136",
                            "nodeType": "YulIdentifier",
                            "src": "37905:1:136"
                          }
                        ],
                        "functionName": {
                          "name": "signextend",
                          "nativeSrc": "37891:10:136",
                          "nodeType": "YulIdentifier",
                          "src": "37891:10:136"
                        },
                        "nativeSrc": "37891:16:136",
                        "nodeType": "YulFunctionCall",
                        "src": "37891:16:136"
                      }
                    ],
                    "functionName": {
                      "name": "sub",
                      "nativeSrc": "37869:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "37869:3:136"
                    },
                    "nativeSrc": "37869:39:136",
                    "nodeType": "YulFunctionCall",
                    "src": "37869:39:136"
                  },
                  "variableNames": [
                    {
                      "name": "diff",
                      "nativeSrc": "37861:4:136",
                      "nodeType": "YulIdentifier",
                      "src": "37861:4:136"
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "37990:22:136",
                    "nodeType": "YulBlock",
                    "src": "37990:22:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x11",
                            "nativeSrc": "37992:16:136",
                            "nodeType": "YulIdentifier",
                            "src": "37992:16:136"
                          },
                          "nativeSrc": "37992:18:136",
                          "nodeType": "YulFunctionCall",
                          "src": "37992:18:136"
                        },
                        "nativeSrc": "37992:18:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "37992:18:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "diff",
                            "nativeSrc": "37927:4:136",
                            "nodeType": "YulIdentifier",
                            "src": "37927:4:136"
                          },
                          {
                            "arguments": [
                              {
                                "kind": "number",
                                "nativeSrc": "37937:18:136",
                                "nodeType": "YulLiteral",
                                "src": "37937:18:136",
                                "type": "",
                                "value": "0x7fffffffffffffff"
                              }
                            ],
                            "functionName": {
                              "name": "not",
                              "nativeSrc": "37933:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "37933:3:136"
                            },
                            "nativeSrc": "37933:23:136",
                            "nodeType": "YulFunctionCall",
                            "src": "37933:23:136"
                          }
                        ],
                        "functionName": {
                          "name": "slt",
                          "nativeSrc": "37923:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "37923:3:136"
                        },
                        "nativeSrc": "37923:34:136",
                        "nodeType": "YulFunctionCall",
                        "src": "37923:34:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "diff",
                            "nativeSrc": "37963:4:136",
                            "nodeType": "YulIdentifier",
                            "src": "37963:4:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "37969:18:136",
                            "nodeType": "YulLiteral",
                            "src": "37969:18:136",
                            "type": "",
                            "value": "0x7fffffffffffffff"
                          }
                        ],
                        "functionName": {
                          "name": "sgt",
                          "nativeSrc": "37959:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "37959:3:136"
                        },
                        "nativeSrc": "37959:29:136",
                        "nodeType": "YulFunctionCall",
                        "src": "37959:29:136"
                      }
                    ],
                    "functionName": {
                      "name": "or",
                      "nativeSrc": "37920:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "37920:2:136"
                    },
                    "nativeSrc": "37920:69:136",
                    "nodeType": "YulFunctionCall",
                    "src": "37920:69:136"
                  },
                  "nativeSrc": "37917:95:136",
                  "nodeType": "YulIf",
                  "src": "37917:95:136"
                }
              ]
            },
            "name": "checked_sub_t_int64",
            "nativeSrc": "37804:214:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "x",
                "nativeSrc": "37833:1:136",
                "nodeType": "YulTypedName",
                "src": "37833:1:136",
                "type": ""
              },
              {
                "name": "y",
                "nativeSrc": "37836:1:136",
                "nodeType": "YulTypedName",
                "src": "37836:1:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "diff",
                "nativeSrc": "37842:4:136",
                "nodeType": "YulTypedName",
                "src": "37842:4:136",
                "type": ""
              }
            ],
            "src": "37804:214:136"
          },
          {
            "body": {
              "nativeSrc": "38065:151:136",
              "nodeType": "YulBlock",
              "src": "38065:151:136",
              "statements": [
                {
                  "nativeSrc": "38075:35:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "38075:35:136",
                  "value": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "38101:1:136",
                        "nodeType": "YulLiteral",
                        "src": "38101:1:136",
                        "type": "",
                        "value": "6"
                      },
                      {
                        "name": "value",
                        "nativeSrc": "38104:5:136",
                        "nodeType": "YulIdentifier",
                        "src": "38104:5:136"
                      }
                    ],
                    "functionName": {
                      "name": "signextend",
                      "nativeSrc": "38090:10:136",
                      "nodeType": "YulIdentifier",
                      "src": "38090:10:136"
                    },
                    "nativeSrc": "38090:20:136",
                    "nodeType": "YulFunctionCall",
                    "src": "38090:20:136"
                  },
                  "variables": [
                    {
                      "name": "value_1",
                      "nativeSrc": "38079:7:136",
                      "nodeType": "YulTypedName",
                      "src": "38079:7:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "38157:22:136",
                    "nodeType": "YulBlock",
                    "src": "38157:22:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x11",
                            "nativeSrc": "38159:16:136",
                            "nodeType": "YulIdentifier",
                            "src": "38159:16:136"
                          },
                          "nativeSrc": "38159:18:136",
                          "nodeType": "YulFunctionCall",
                          "src": "38159:18:136"
                        },
                        "nativeSrc": "38159:18:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "38159:18:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "value_1",
                        "nativeSrc": "38125:7:136",
                        "nodeType": "YulIdentifier",
                        "src": "38125:7:136"
                      },
                      {
                        "arguments": [
                          {
                            "kind": "number",
                            "nativeSrc": "38138:16:136",
                            "nodeType": "YulLiteral",
                            "src": "38138:16:136",
                            "type": "",
                            "value": "0x7fffffffffffff"
                          }
                        ],
                        "functionName": {
                          "name": "not",
                          "nativeSrc": "38134:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "38134:3:136"
                        },
                        "nativeSrc": "38134:21:136",
                        "nodeType": "YulFunctionCall",
                        "src": "38134:21:136"
                      }
                    ],
                    "functionName": {
                      "name": "eq",
                      "nativeSrc": "38122:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "38122:2:136"
                    },
                    "nativeSrc": "38122:34:136",
                    "nodeType": "YulFunctionCall",
                    "src": "38122:34:136"
                  },
                  "nativeSrc": "38119:60:136",
                  "nodeType": "YulIf",
                  "src": "38119:60:136"
                },
                {
                  "nativeSrc": "38188:22:136",
                  "nodeType": "YulAssignment",
                  "src": "38188:22:136",
                  "value": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "38199:1:136",
                        "nodeType": "YulLiteral",
                        "src": "38199:1:136",
                        "type": "",
                        "value": "0"
                      },
                      {
                        "name": "value_1",
                        "nativeSrc": "38202:7:136",
                        "nodeType": "YulIdentifier",
                        "src": "38202:7:136"
                      }
                    ],
                    "functionName": {
                      "name": "sub",
                      "nativeSrc": "38195:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "38195:3:136"
                    },
                    "nativeSrc": "38195:15:136",
                    "nodeType": "YulFunctionCall",
                    "src": "38195:15:136"
                  },
                  "variableNames": [
                    {
                      "name": "ret",
                      "nativeSrc": "38188:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "38188:3:136"
                    }
                  ]
                }
              ]
            },
            "name": "negate_t_int56",
            "nativeSrc": "38023:193:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "value",
                "nativeSrc": "38047:5:136",
                "nodeType": "YulTypedName",
                "src": "38047:5:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "ret",
                "nativeSrc": "38057:3:136",
                "nodeType": "YulTypedName",
                "src": "38057:3:136",
                "type": ""
              }
            ],
            "src": "38023:193:136"
          },
          {
            "body": {
              "nativeSrc": "38271:187:136",
              "nodeType": "YulBlock",
              "src": "38271:187:136",
              "statements": [
                {
                  "nativeSrc": "38281:58:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "38281:58:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "kind": "number",
                            "nativeSrc": "38315:1:136",
                            "nodeType": "YulLiteral",
                            "src": "38315:1:136",
                            "type": "",
                            "value": "6"
                          },
                          {
                            "name": "x",
                            "nativeSrc": "38318:1:136",
                            "nodeType": "YulIdentifier",
                            "src": "38318:1:136"
                          }
                        ],
                        "functionName": {
                          "name": "signextend",
                          "nativeSrc": "38304:10:136",
                          "nodeType": "YulIdentifier",
                          "src": "38304:10:136"
                        },
                        "nativeSrc": "38304:16:136",
                        "nodeType": "YulFunctionCall",
                        "src": "38304:16:136"
                      },
                      {
                        "arguments": [
                          {
                            "kind": "number",
                            "nativeSrc": "38333:1:136",
                            "nodeType": "YulLiteral",
                            "src": "38333:1:136",
                            "type": "",
                            "value": "6"
                          },
                          {
                            "name": "y",
                            "nativeSrc": "38336:1:136",
                            "nodeType": "YulIdentifier",
                            "src": "38336:1:136"
                          }
                        ],
                        "functionName": {
                          "name": "signextend",
                          "nativeSrc": "38322:10:136",
                          "nodeType": "YulIdentifier",
                          "src": "38322:10:136"
                        },
                        "nativeSrc": "38322:16:136",
                        "nodeType": "YulFunctionCall",
                        "src": "38322:16:136"
                      }
                    ],
                    "functionName": {
                      "name": "mul",
                      "nativeSrc": "38300:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "38300:3:136"
                    },
                    "nativeSrc": "38300:39:136",
                    "nodeType": "YulFunctionCall",
                    "src": "38300:39:136"
                  },
                  "variables": [
                    {
                      "name": "product_raw",
                      "nativeSrc": "38285:11:136",
                      "nodeType": "YulTypedName",
                      "src": "38285:11:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "38348:37:136",
                  "nodeType": "YulAssignment",
                  "src": "38348:37:136",
                  "value": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "38370:1:136",
                        "nodeType": "YulLiteral",
                        "src": "38370:1:136",
                        "type": "",
                        "value": "6"
                      },
                      {
                        "name": "product_raw",
                        "nativeSrc": "38373:11:136",
                        "nodeType": "YulIdentifier",
                        "src": "38373:11:136"
                      }
                    ],
                    "functionName": {
                      "name": "signextend",
                      "nativeSrc": "38359:10:136",
                      "nodeType": "YulIdentifier",
                      "src": "38359:10:136"
                    },
                    "nativeSrc": "38359:26:136",
                    "nodeType": "YulFunctionCall",
                    "src": "38359:26:136"
                  },
                  "variableNames": [
                    {
                      "name": "product",
                      "nativeSrc": "38348:7:136",
                      "nodeType": "YulIdentifier",
                      "src": "38348:7:136"
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "38430:22:136",
                    "nodeType": "YulBlock",
                    "src": "38430:22:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x11",
                            "nativeSrc": "38432:16:136",
                            "nodeType": "YulIdentifier",
                            "src": "38432:16:136"
                          },
                          "nativeSrc": "38432:18:136",
                          "nodeType": "YulFunctionCall",
                          "src": "38432:18:136"
                        },
                        "nativeSrc": "38432:18:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "38432:18:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "product",
                            "nativeSrc": "38407:7:136",
                            "nodeType": "YulIdentifier",
                            "src": "38407:7:136"
                          },
                          {
                            "name": "product_raw",
                            "nativeSrc": "38416:11:136",
                            "nodeType": "YulIdentifier",
                            "src": "38416:11:136"
                          }
                        ],
                        "functionName": {
                          "name": "eq",
                          "nativeSrc": "38404:2:136",
                          "nodeType": "YulIdentifier",
                          "src": "38404:2:136"
                        },
                        "nativeSrc": "38404:24:136",
                        "nodeType": "YulFunctionCall",
                        "src": "38404:24:136"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "38397:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "38397:6:136"
                    },
                    "nativeSrc": "38397:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "38397:32:136"
                  },
                  "nativeSrc": "38394:58:136",
                  "nodeType": "YulIf",
                  "src": "38394:58:136"
                }
              ]
            },
            "name": "checked_mul_t_int56",
            "nativeSrc": "38221:237:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "x",
                "nativeSrc": "38250:1:136",
                "nodeType": "YulTypedName",
                "src": "38250:1:136",
                "type": ""
              },
              {
                "name": "y",
                "nativeSrc": "38253:1:136",
                "nodeType": "YulTypedName",
                "src": "38253:1:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "product",
                "nativeSrc": "38259:7:136",
                "nodeType": "YulTypedName",
                "src": "38259:7:136",
                "type": ""
              }
            ],
            "src": "38221:237:136"
          },
          {
            "body": {
              "nativeSrc": "38508:246:136",
              "nodeType": "YulBlock",
              "src": "38508:246:136",
              "statements": [
                {
                  "nativeSrc": "38518:37:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "38518:37:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "y",
                        "nativeSrc": "38533:1:136",
                        "nodeType": "YulIdentifier",
                        "src": "38533:1:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "38536:18:136",
                        "nodeType": "YulLiteral",
                        "src": "38536:18:136",
                        "type": "",
                        "value": "0xffffffffffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "and",
                      "nativeSrc": "38529:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "38529:3:136"
                    },
                    "nativeSrc": "38529:26:136",
                    "nodeType": "YulFunctionCall",
                    "src": "38529:26:136"
                  },
                  "variables": [
                    {
                      "name": "y_1",
                      "nativeSrc": "38522:3:136",
                      "nodeType": "YulTypedName",
                      "src": "38522:3:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "38587:111:136",
                    "nodeType": "YulBlock",
                    "src": "38587:111:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "38608:1:136",
                              "nodeType": "YulLiteral",
                              "src": "38608:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "arguments": [
                                {
                                  "kind": "number",
                                  "nativeSrc": "38615:3:136",
                                  "nodeType": "YulLiteral",
                                  "src": "38615:3:136",
                                  "type": "",
                                  "value": "224"
                                },
                                {
                                  "kind": "number",
                                  "nativeSrc": "38620:10:136",
                                  "nodeType": "YulLiteral",
                                  "src": "38620:10:136",
                                  "type": "",
                                  "value": "0x4e487b71"
                                }
                              ],
                              "functionName": {
                                "name": "shl",
                                "nativeSrc": "38611:3:136",
                                "nodeType": "YulIdentifier",
                                "src": "38611:3:136"
                              },
                              "nativeSrc": "38611:20:136",
                              "nodeType": "YulFunctionCall",
                              "src": "38611:20:136"
                            }
                          ],
                          "functionName": {
                            "name": "mstore",
                            "nativeSrc": "38601:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "38601:6:136"
                          },
                          "nativeSrc": "38601:31:136",
                          "nodeType": "YulFunctionCall",
                          "src": "38601:31:136"
                        },
                        "nativeSrc": "38601:31:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "38601:31:136"
                      },
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "38652:1:136",
                              "nodeType": "YulLiteral",
                              "src": "38652:1:136",
                              "type": "",
                              "value": "4"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "38655:4:136",
                              "nodeType": "YulLiteral",
                              "src": "38655:4:136",
                              "type": "",
                              "value": "0x12"
                            }
                          ],
                          "functionName": {
                            "name": "mstore",
                            "nativeSrc": "38645:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "38645:6:136"
                          },
                          "nativeSrc": "38645:15:136",
                          "nodeType": "YulFunctionCall",
                          "src": "38645:15:136"
                        },
                        "nativeSrc": "38645:15:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "38645:15:136"
                      },
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "38680:1:136",
                              "nodeType": "YulLiteral",
                              "src": "38680:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "38683:4:136",
                              "nodeType": "YulLiteral",
                              "src": "38683:4:136",
                              "type": "",
                              "value": "0x24"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "38673:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "38673:6:136"
                          },
                          "nativeSrc": "38673:15:136",
                          "nodeType": "YulFunctionCall",
                          "src": "38673:15:136"
                        },
                        "nativeSrc": "38673:15:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "38673:15:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "y_1",
                        "nativeSrc": "38574:3:136",
                        "nodeType": "YulIdentifier",
                        "src": "38574:3:136"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "38567:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "38567:6:136"
                    },
                    "nativeSrc": "38567:11:136",
                    "nodeType": "YulFunctionCall",
                    "src": "38567:11:136"
                  },
                  "nativeSrc": "38564:134:136",
                  "nodeType": "YulIf",
                  "src": "38564:134:136"
                },
                {
                  "nativeSrc": "38707:41:136",
                  "nodeType": "YulAssignment",
                  "src": "38707:41:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "x",
                            "nativeSrc": "38720:1:136",
                            "nodeType": "YulIdentifier",
                            "src": "38720:1:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "38723:18:136",
                            "nodeType": "YulLiteral",
                            "src": "38723:18:136",
                            "type": "",
                            "value": "0xffffffffffffffff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "38716:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "38716:3:136"
                        },
                        "nativeSrc": "38716:26:136",
                        "nodeType": "YulFunctionCall",
                        "src": "38716:26:136"
                      },
                      {
                        "name": "y_1",
                        "nativeSrc": "38744:3:136",
                        "nodeType": "YulIdentifier",
                        "src": "38744:3:136"
                      }
                    ],
                    "functionName": {
                      "name": "div",
                      "nativeSrc": "38712:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "38712:3:136"
                    },
                    "nativeSrc": "38712:36:136",
                    "nodeType": "YulFunctionCall",
                    "src": "38712:36:136"
                  },
                  "variableNames": [
                    {
                      "name": "r",
                      "nativeSrc": "38707:1:136",
                      "nodeType": "YulIdentifier",
                      "src": "38707:1:136"
                    }
                  ]
                }
              ]
            },
            "name": "checked_div_t_uint64",
            "nativeSrc": "38463:291:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "x",
                "nativeSrc": "38493:1:136",
                "nodeType": "YulTypedName",
                "src": "38493:1:136",
                "type": ""
              },
              {
                "name": "y",
                "nativeSrc": "38496:1:136",
                "nodeType": "YulTypedName",
                "src": "38496:1:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "r",
                "nativeSrc": "38502:1:136",
                "nodeType": "YulTypedName",
                "src": "38502:1:136",
                "type": ""
              }
            ],
            "src": "38463:291:136"
          },
          {
            "body": {
              "nativeSrc": "39027:330:136",
              "nodeType": "YulBlock",
              "src": "39027:330:136",
              "statements": [
                {
                  "nativeSrc": "39037:27:136",
                  "nodeType": "YulAssignment",
                  "src": "39037:27:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "39049:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "39049:9:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "39060:3:136",
                        "nodeType": "YulLiteral",
                        "src": "39060:3:136",
                        "type": "",
                        "value": "160"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "39045:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "39045:3:136"
                    },
                    "nativeSrc": "39045:19:136",
                    "nodeType": "YulFunctionCall",
                    "src": "39045:19:136"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "39037:4:136",
                      "nodeType": "YulIdentifier",
                      "src": "39037:4:136"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "39080:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "39080:9:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value0",
                            "nativeSrc": "39095:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "39095:6:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "39103:18:136",
                            "nodeType": "YulLiteral",
                            "src": "39103:18:136",
                            "type": "",
                            "value": "0xffffffffffffffff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "39091:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "39091:3:136"
                        },
                        "nativeSrc": "39091:31:136",
                        "nodeType": "YulFunctionCall",
                        "src": "39091:31:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "39073:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "39073:6:136"
                    },
                    "nativeSrc": "39073:50:136",
                    "nodeType": "YulFunctionCall",
                    "src": "39073:50:136"
                  },
                  "nativeSrc": "39073:50:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "39073:50:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "39143:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "39143:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "39154:2:136",
                            "nodeType": "YulLiteral",
                            "src": "39154:2:136",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "39139:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "39139:3:136"
                        },
                        "nativeSrc": "39139:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "39139:18:136"
                      },
                      {
                        "name": "value1",
                        "nativeSrc": "39159:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "39159:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "39132:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "39132:6:136"
                    },
                    "nativeSrc": "39132:34:136",
                    "nodeType": "YulFunctionCall",
                    "src": "39132:34:136"
                  },
                  "nativeSrc": "39132:34:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "39132:34:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "39186:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "39186:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "39197:2:136",
                            "nodeType": "YulLiteral",
                            "src": "39197:2:136",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "39182:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "39182:3:136"
                        },
                        "nativeSrc": "39182:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "39182:18:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value2",
                            "nativeSrc": "39206:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "39206:6:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "39214:18:136",
                            "nodeType": "YulLiteral",
                            "src": "39214:18:136",
                            "type": "",
                            "value": "0xffffffffffffffff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "39202:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "39202:3:136"
                        },
                        "nativeSrc": "39202:31:136",
                        "nodeType": "YulFunctionCall",
                        "src": "39202:31:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "39175:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "39175:6:136"
                    },
                    "nativeSrc": "39175:59:136",
                    "nodeType": "YulFunctionCall",
                    "src": "39175:59:136"
                  },
                  "nativeSrc": "39175:59:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "39175:59:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "39254:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "39254:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "39265:2:136",
                            "nodeType": "YulLiteral",
                            "src": "39265:2:136",
                            "type": "",
                            "value": "96"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "39250:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "39250:3:136"
                        },
                        "nativeSrc": "39250:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "39250:18:136"
                      },
                      {
                        "arguments": [
                          {
                            "kind": "number",
                            "nativeSrc": "39281:1:136",
                            "nodeType": "YulLiteral",
                            "src": "39281:1:136",
                            "type": "",
                            "value": "6"
                          },
                          {
                            "name": "value3",
                            "nativeSrc": "39284:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "39284:6:136"
                          }
                        ],
                        "functionName": {
                          "name": "signextend",
                          "nativeSrc": "39270:10:136",
                          "nodeType": "YulIdentifier",
                          "src": "39270:10:136"
                        },
                        "nativeSrc": "39270:21:136",
                        "nodeType": "YulFunctionCall",
                        "src": "39270:21:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "39243:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "39243:6:136"
                    },
                    "nativeSrc": "39243:49:136",
                    "nodeType": "YulFunctionCall",
                    "src": "39243:49:136"
                  },
                  "nativeSrc": "39243:49:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "39243:49:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "39312:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "39312:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "39323:3:136",
                            "nodeType": "YulLiteral",
                            "src": "39323:3:136",
                            "type": "",
                            "value": "128"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "39308:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "39308:3:136"
                        },
                        "nativeSrc": "39308:19:136",
                        "nodeType": "YulFunctionCall",
                        "src": "39308:19:136"
                      },
                      {
                        "arguments": [
                          {
                            "kind": "number",
                            "nativeSrc": "39340:1:136",
                            "nodeType": "YulLiteral",
                            "src": "39340:1:136",
                            "type": "",
                            "value": "0"
                          },
                          {
                            "name": "value4",
                            "nativeSrc": "39343:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "39343:6:136"
                          }
                        ],
                        "functionName": {
                          "name": "signextend",
                          "nativeSrc": "39329:10:136",
                          "nodeType": "YulIdentifier",
                          "src": "39329:10:136"
                        },
                        "nativeSrc": "39329:21:136",
                        "nodeType": "YulFunctionCall",
                        "src": "39329:21:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "39301:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "39301:6:136"
                    },
                    "nativeSrc": "39301:50:136",
                    "nodeType": "YulFunctionCall",
                    "src": "39301:50:136"
                  },
                  "nativeSrc": "39301:50:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "39301:50:136"
                }
              ]
            },
            "name": "abi_encode_tuple_t_userDefinedValueType$_Timestamp_$37157_t_userDefinedValueType$_TransactionHash_$37159_t_uint64_t_int56_t_int8__to_t_uint64_t_bytes32_t_uint64_t_int56_t_int8__fromStack_reversed",
            "nativeSrc": "38759:598:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "38964:9:136",
                "nodeType": "YulTypedName",
                "src": "38964:9:136",
                "type": ""
              },
              {
                "name": "value4",
                "nativeSrc": "38975:6:136",
                "nodeType": "YulTypedName",
                "src": "38975:6:136",
                "type": ""
              },
              {
                "name": "value3",
                "nativeSrc": "38983:6:136",
                "nodeType": "YulTypedName",
                "src": "38983:6:136",
                "type": ""
              },
              {
                "name": "value2",
                "nativeSrc": "38991:6:136",
                "nodeType": "YulTypedName",
                "src": "38991:6:136",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "38999:6:136",
                "nodeType": "YulTypedName",
                "src": "38999:6:136",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "39007:6:136",
                "nodeType": "YulTypedName",
                "src": "39007:6:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "39018:4:136",
                "nodeType": "YulTypedName",
                "src": "39018:4:136",
                "type": ""
              }
            ],
            "src": "38759:598:136"
          },
          {
            "body": {
              "nativeSrc": "39708:470:136",
              "nodeType": "YulBlock",
              "src": "39708:470:136",
              "statements": [
                {
                  "nativeSrc": "39718:27:136",
                  "nodeType": "YulAssignment",
                  "src": "39718:27:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "39730:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "39730:9:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "39741:3:136",
                        "nodeType": "YulLiteral",
                        "src": "39741:3:136",
                        "type": "",
                        "value": "224"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "39726:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "39726:3:136"
                    },
                    "nativeSrc": "39726:19:136",
                    "nodeType": "YulFunctionCall",
                    "src": "39726:19:136"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "39718:4:136",
                      "nodeType": "YulIdentifier",
                      "src": "39718:4:136"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "39761:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "39761:9:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value0",
                            "nativeSrc": "39776:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "39776:6:136"
                          },
                          {
                            "arguments": [
                              {
                                "kind": "number",
                                "nativeSrc": "39788:3:136",
                                "nodeType": "YulLiteral",
                                "src": "39788:3:136",
                                "type": "",
                                "value": "224"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "39793:10:136",
                                "nodeType": "YulLiteral",
                                "src": "39793:10:136",
                                "type": "",
                                "value": "0xffffffff"
                              }
                            ],
                            "functionName": {
                              "name": "shl",
                              "nativeSrc": "39784:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "39784:3:136"
                            },
                            "nativeSrc": "39784:20:136",
                            "nodeType": "YulFunctionCall",
                            "src": "39784:20:136"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "39772:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "39772:3:136"
                        },
                        "nativeSrc": "39772:33:136",
                        "nodeType": "YulFunctionCall",
                        "src": "39772:33:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "39754:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "39754:6:136"
                    },
                    "nativeSrc": "39754:52:136",
                    "nodeType": "YulFunctionCall",
                    "src": "39754:52:136"
                  },
                  "nativeSrc": "39754:52:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "39754:52:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "39826:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "39826:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "39837:2:136",
                            "nodeType": "YulLiteral",
                            "src": "39837:2:136",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "39822:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "39822:3:136"
                        },
                        "nativeSrc": "39822:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "39822:18:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value1",
                            "nativeSrc": "39846:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "39846:6:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "39854:18:136",
                            "nodeType": "YulLiteral",
                            "src": "39854:18:136",
                            "type": "",
                            "value": "0xffffffffffffffff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "39842:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "39842:3:136"
                        },
                        "nativeSrc": "39842:31:136",
                        "nodeType": "YulFunctionCall",
                        "src": "39842:31:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "39815:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "39815:6:136"
                    },
                    "nativeSrc": "39815:59:136",
                    "nodeType": "YulFunctionCall",
                    "src": "39815:59:136"
                  },
                  "nativeSrc": "39815:59:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "39815:59:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "39894:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "39894:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "39905:2:136",
                            "nodeType": "YulLiteral",
                            "src": "39905:2:136",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "39890:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "39890:3:136"
                        },
                        "nativeSrc": "39890:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "39890:18:136"
                      },
                      {
                        "name": "value2",
                        "nativeSrc": "39910:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "39910:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "39883:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "39883:6:136"
                    },
                    "nativeSrc": "39883:34:136",
                    "nodeType": "YulFunctionCall",
                    "src": "39883:34:136"
                  },
                  "nativeSrc": "39883:34:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "39883:34:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "39937:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "39937:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "39948:2:136",
                            "nodeType": "YulLiteral",
                            "src": "39948:2:136",
                            "type": "",
                            "value": "96"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "39933:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "39933:3:136"
                        },
                        "nativeSrc": "39933:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "39933:18:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value3",
                            "nativeSrc": "39957:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "39957:6:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "39965:18:136",
                            "nodeType": "YulLiteral",
                            "src": "39965:18:136",
                            "type": "",
                            "value": "0xffffffffffffffff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "39953:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "39953:3:136"
                        },
                        "nativeSrc": "39953:31:136",
                        "nodeType": "YulFunctionCall",
                        "src": "39953:31:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "39926:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "39926:6:136"
                    },
                    "nativeSrc": "39926:59:136",
                    "nodeType": "YulFunctionCall",
                    "src": "39926:59:136"
                  },
                  "nativeSrc": "39926:59:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "39926:59:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "40005:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "40005:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "40016:3:136",
                            "nodeType": "YulLiteral",
                            "src": "40016:3:136",
                            "type": "",
                            "value": "128"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "40001:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "40001:3:136"
                        },
                        "nativeSrc": "40001:19:136",
                        "nodeType": "YulFunctionCall",
                        "src": "40001:19:136"
                      },
                      {
                        "arguments": [
                          {
                            "kind": "number",
                            "nativeSrc": "40033:1:136",
                            "nodeType": "YulLiteral",
                            "src": "40033:1:136",
                            "type": "",
                            "value": "6"
                          },
                          {
                            "name": "value4",
                            "nativeSrc": "40036:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "40036:6:136"
                          }
                        ],
                        "functionName": {
                          "name": "signextend",
                          "nativeSrc": "40022:10:136",
                          "nodeType": "YulIdentifier",
                          "src": "40022:10:136"
                        },
                        "nativeSrc": "40022:21:136",
                        "nodeType": "YulFunctionCall",
                        "src": "40022:21:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "39994:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "39994:6:136"
                    },
                    "nativeSrc": "39994:50:136",
                    "nodeType": "YulFunctionCall",
                    "src": "39994:50:136"
                  },
                  "nativeSrc": "39994:50:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "39994:50:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "40064:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "40064:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "40075:3:136",
                            "nodeType": "YulLiteral",
                            "src": "40075:3:136",
                            "type": "",
                            "value": "160"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "40060:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "40060:3:136"
                        },
                        "nativeSrc": "40060:19:136",
                        "nodeType": "YulFunctionCall",
                        "src": "40060:19:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value5",
                            "nativeSrc": "40085:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "40085:6:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "40093:18:136",
                            "nodeType": "YulLiteral",
                            "src": "40093:18:136",
                            "type": "",
                            "value": "0xffffffffffffffff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "40081:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "40081:3:136"
                        },
                        "nativeSrc": "40081:31:136",
                        "nodeType": "YulFunctionCall",
                        "src": "40081:31:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "40053:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "40053:6:136"
                    },
                    "nativeSrc": "40053:60:136",
                    "nodeType": "YulFunctionCall",
                    "src": "40053:60:136"
                  },
                  "nativeSrc": "40053:60:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "40053:60:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "40133:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "40133:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "40144:3:136",
                            "nodeType": "YulLiteral",
                            "src": "40144:3:136",
                            "type": "",
                            "value": "192"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "40129:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "40129:3:136"
                        },
                        "nativeSrc": "40129:19:136",
                        "nodeType": "YulFunctionCall",
                        "src": "40129:19:136"
                      },
                      {
                        "arguments": [
                          {
                            "kind": "number",
                            "nativeSrc": "40161:1:136",
                            "nodeType": "YulLiteral",
                            "src": "40161:1:136",
                            "type": "",
                            "value": "0"
                          },
                          {
                            "name": "value6",
                            "nativeSrc": "40164:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "40164:6:136"
                          }
                        ],
                        "functionName": {
                          "name": "signextend",
                          "nativeSrc": "40150:10:136",
                          "nodeType": "YulIdentifier",
                          "src": "40150:10:136"
                        },
                        "nativeSrc": "40150:21:136",
                        "nodeType": "YulFunctionCall",
                        "src": "40150:21:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "40122:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "40122:6:136"
                    },
                    "nativeSrc": "40122:50:136",
                    "nodeType": "YulFunctionCall",
                    "src": "40122:50:136"
                  },
                  "nativeSrc": "40122:50:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "40122:50:136"
                }
              ]
            },
            "name": "abi_encode_tuple_t_userDefinedValueType$_ID4_$28155_t_userDefinedValueType$_Timestamp_$37157_t_userDefinedValueType$_TransactionHash_$37159_t_uint64_t_int56_t_uint64_t_int8__to_t_bytes4_t_uint64_t_bytes32_t_uint64_t_int56_t_uint64_t_int8__fromStack_reversed",
            "nativeSrc": "39362:816:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "39629:9:136",
                "nodeType": "YulTypedName",
                "src": "39629:9:136",
                "type": ""
              },
              {
                "name": "value6",
                "nativeSrc": "39640:6:136",
                "nodeType": "YulTypedName",
                "src": "39640:6:136",
                "type": ""
              },
              {
                "name": "value5",
                "nativeSrc": "39648:6:136",
                "nodeType": "YulTypedName",
                "src": "39648:6:136",
                "type": ""
              },
              {
                "name": "value4",
                "nativeSrc": "39656:6:136",
                "nodeType": "YulTypedName",
                "src": "39656:6:136",
                "type": ""
              },
              {
                "name": "value3",
                "nativeSrc": "39664:6:136",
                "nodeType": "YulTypedName",
                "src": "39664:6:136",
                "type": ""
              },
              {
                "name": "value2",
                "nativeSrc": "39672:6:136",
                "nodeType": "YulTypedName",
                "src": "39672:6:136",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "39680:6:136",
                "nodeType": "YulTypedName",
                "src": "39680:6:136",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "39688:6:136",
                "nodeType": "YulTypedName",
                "src": "39688:6:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "39699:4:136",
                "nodeType": "YulTypedName",
                "src": "39699:4:136",
                "type": ""
              }
            ],
            "src": "39362:816:136"
          },
          {
            "body": {
              "nativeSrc": "40357:174:136",
              "nodeType": "YulBlock",
              "src": "40357:174:136",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "40374:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "40374:9:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "40385:2:136",
                        "nodeType": "YulLiteral",
                        "src": "40385:2:136",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "40367:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "40367:6:136"
                    },
                    "nativeSrc": "40367:21:136",
                    "nodeType": "YulFunctionCall",
                    "src": "40367:21:136"
                  },
                  "nativeSrc": "40367:21:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "40367:21:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "40408:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "40408:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "40419:2:136",
                            "nodeType": "YulLiteral",
                            "src": "40419:2:136",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "40404:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "40404:3:136"
                        },
                        "nativeSrc": "40404:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "40404:18:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "40424:2:136",
                        "nodeType": "YulLiteral",
                        "src": "40424:2:136",
                        "type": "",
                        "value": "24"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "40397:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "40397:6:136"
                    },
                    "nativeSrc": "40397:30:136",
                    "nodeType": "YulFunctionCall",
                    "src": "40397:30:136"
                  },
                  "nativeSrc": "40397:30:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "40397:30:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "40447:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "40447:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "40458:2:136",
                            "nodeType": "YulLiteral",
                            "src": "40458:2:136",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "40443:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "40443:3:136"
                        },
                        "nativeSrc": "40443:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "40443:18:136"
                      },
                      {
                        "hexValue": "436c6f6e61626c653a206f6e6c79206f6e20636c6f6e6573",
                        "kind": "string",
                        "nativeSrc": "40463:26:136",
                        "nodeType": "YulLiteral",
                        "src": "40463:26:136",
                        "type": "",
                        "value": "Clonable: only on clones"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "40436:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "40436:6:136"
                    },
                    "nativeSrc": "40436:54:136",
                    "nodeType": "YulFunctionCall",
                    "src": "40436:54:136"
                  },
                  "nativeSrc": "40436:54:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "40436:54:136"
                },
                {
                  "nativeSrc": "40499:26:136",
                  "nodeType": "YulAssignment",
                  "src": "40499:26:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "40511:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "40511:9:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "40522:2:136",
                        "nodeType": "YulLiteral",
                        "src": "40522:2:136",
                        "type": "",
                        "value": "96"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "40507:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "40507:3:136"
                    },
                    "nativeSrc": "40507:18:136",
                    "nodeType": "YulFunctionCall",
                    "src": "40507:18:136"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "40499:4:136",
                      "nodeType": "YulIdentifier",
                      "src": "40499:4:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_t_stringliteral_679c3eba4e7d658297efbb8047c8787b8adf0086ae8149ace5cf10d6f2df7de4__to_t_string_memory_ptr__fromStack_reversed",
            "nativeSrc": "40183:348:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "40334:9:136",
                "nodeType": "YulTypedName",
                "src": "40334:9:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "40348:4:136",
                "nodeType": "YulTypedName",
                "src": "40348:4:136",
                "type": ""
              }
            ],
            "src": "40183:348:136"
          },
          {
            "body": {
              "nativeSrc": "40641:170:136",
              "nodeType": "YulBlock",
              "src": "40641:170:136",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "40687:16:136",
                    "nodeType": "YulBlock",
                    "src": "40687:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "40696:1:136",
                              "nodeType": "YulLiteral",
                              "src": "40696:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "40699:1:136",
                              "nodeType": "YulLiteral",
                              "src": "40699:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "40689:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "40689:6:136"
                          },
                          "nativeSrc": "40689:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "40689:12:136"
                        },
                        "nativeSrc": "40689:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "40689:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "40662:7:136",
                            "nodeType": "YulIdentifier",
                            "src": "40662:7:136"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "40671:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "40671:9:136"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "40658:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "40658:3:136"
                        },
                        "nativeSrc": "40658:23:136",
                        "nodeType": "YulFunctionCall",
                        "src": "40658:23:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "40683:2:136",
                        "nodeType": "YulLiteral",
                        "src": "40683:2:136",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "40654:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "40654:3:136"
                    },
                    "nativeSrc": "40654:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "40654:32:136"
                  },
                  "nativeSrc": "40651:52:136",
                  "nodeType": "YulIf",
                  "src": "40651:52:136"
                },
                {
                  "nativeSrc": "40712:29:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "40712:29:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "40731:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "40731:9:136"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "40725:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "40725:5:136"
                    },
                    "nativeSrc": "40725:16:136",
                    "nodeType": "YulFunctionCall",
                    "src": "40725:16:136"
                  },
                  "variables": [
                    {
                      "name": "value",
                      "nativeSrc": "40716:5:136",
                      "nodeType": "YulTypedName",
                      "src": "40716:5:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "40775:5:136",
                        "nodeType": "YulIdentifier",
                        "src": "40775:5:136"
                      }
                    ],
                    "functionName": {
                      "name": "validator_revert_address",
                      "nativeSrc": "40750:24:136",
                      "nodeType": "YulIdentifier",
                      "src": "40750:24:136"
                    },
                    "nativeSrc": "40750:31:136",
                    "nodeType": "YulFunctionCall",
                    "src": "40750:31:136"
                  },
                  "nativeSrc": "40750:31:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "40750:31:136"
                },
                {
                  "nativeSrc": "40790:15:136",
                  "nodeType": "YulAssignment",
                  "src": "40790:15:136",
                  "value": {
                    "name": "value",
                    "nativeSrc": "40800:5:136",
                    "nodeType": "YulIdentifier",
                    "src": "40800:5:136"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "40790:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "40790:6:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_contract$_IWitPriceFeeds_$27848_fromMemory",
            "nativeSrc": "40536:275:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "40607:9:136",
                "nodeType": "YulTypedName",
                "src": "40607:9:136",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "40618:7:136",
                "nodeType": "YulTypedName",
                "src": "40618:7:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "40630:6:136",
                "nodeType": "YulTypedName",
                "src": "40630:6:136",
                "type": ""
              }
            ],
            "src": "40536:275:136"
          },
          {
            "body": {
              "nativeSrc": "41012:586:136",
              "nodeType": "YulBlock",
              "src": "41012:586:136",
              "statements": [
                {
                  "nativeSrc": "41022:27:136",
                  "nodeType": "YulAssignment",
                  "src": "41022:27:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "41034:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "41034:9:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "41045:3:136",
                        "nodeType": "YulLiteral",
                        "src": "41045:3:136",
                        "type": "",
                        "value": "224"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "41030:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "41030:3:136"
                    },
                    "nativeSrc": "41030:19:136",
                    "nodeType": "YulFunctionCall",
                    "src": "41030:19:136"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "41022:4:136",
                      "nodeType": "YulIdentifier",
                      "src": "41022:4:136"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "41065:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "41065:9:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value0",
                            "nativeSrc": "41080:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "41080:6:136"
                          },
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "kind": "number",
                                    "nativeSrc": "41096:3:136",
                                    "nodeType": "YulLiteral",
                                    "src": "41096:3:136",
                                    "type": "",
                                    "value": "160"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "41101:1:136",
                                    "nodeType": "YulLiteral",
                                    "src": "41101:1:136",
                                    "type": "",
                                    "value": "1"
                                  }
                                ],
                                "functionName": {
                                  "name": "shl",
                                  "nativeSrc": "41092:3:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "41092:3:136"
                                },
                                "nativeSrc": "41092:11:136",
                                "nodeType": "YulFunctionCall",
                                "src": "41092:11:136"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "41105:1:136",
                                "nodeType": "YulLiteral",
                                "src": "41105:1:136",
                                "type": "",
                                "value": "1"
                              }
                            ],
                            "functionName": {
                              "name": "sub",
                              "nativeSrc": "41088:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "41088:3:136"
                            },
                            "nativeSrc": "41088:19:136",
                            "nodeType": "YulFunctionCall",
                            "src": "41088:19:136"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "41076:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "41076:3:136"
                        },
                        "nativeSrc": "41076:32:136",
                        "nodeType": "YulFunctionCall",
                        "src": "41076:32:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "41058:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "41058:6:136"
                    },
                    "nativeSrc": "41058:51:136",
                    "nodeType": "YulFunctionCall",
                    "src": "41058:51:136"
                  },
                  "nativeSrc": "41058:51:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "41058:51:136"
                },
                {
                  "nativeSrc": "41118:30:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "41118:30:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "value1",
                        "nativeSrc": "41141:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "41141:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "sload",
                      "nativeSrc": "41135:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "41135:5:136"
                    },
                    "nativeSrc": "41135:13:136",
                    "nodeType": "YulFunctionCall",
                    "src": "41135:13:136"
                  },
                  "variables": [
                    {
                      "name": "slotValue",
                      "nativeSrc": "41122:9:136",
                      "nodeType": "YulTypedName",
                      "src": "41122:9:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "41168:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "41168:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "41179:2:136",
                            "nodeType": "YulLiteral",
                            "src": "41179:2:136",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "41164:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "41164:3:136"
                        },
                        "nativeSrc": "41164:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "41164:18:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "slotValue",
                            "nativeSrc": "41188:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "41188:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "41199:8:136",
                            "nodeType": "YulLiteral",
                            "src": "41199:8:136",
                            "type": "",
                            "value": "0xffffff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "41184:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "41184:3:136"
                        },
                        "nativeSrc": "41184:24:136",
                        "nodeType": "YulFunctionCall",
                        "src": "41184:24:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "41157:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "41157:6:136"
                    },
                    "nativeSrc": "41157:52:136",
                    "nodeType": "YulFunctionCall",
                    "src": "41157:52:136"
                  },
                  "nativeSrc": "41157:52:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "41157:52:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "41229:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "41229:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "41240:2:136",
                            "nodeType": "YulLiteral",
                            "src": "41240:2:136",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "41225:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "41225:3:136"
                        },
                        "nativeSrc": "41225:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "41225:18:136"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "arguments": [
                                      {
                                        "kind": "number",
                                        "nativeSrc": "41267:2:136",
                                        "nodeType": "YulLiteral",
                                        "src": "41267:2:136",
                                        "type": "",
                                        "value": "24"
                                      },
                                      {
                                        "name": "slotValue",
                                        "nativeSrc": "41271:9:136",
                                        "nodeType": "YulIdentifier",
                                        "src": "41271:9:136"
                                      }
                                    ],
                                    "functionName": {
                                      "name": "shr",
                                      "nativeSrc": "41263:3:136",
                                      "nodeType": "YulIdentifier",
                                      "src": "41263:3:136"
                                    },
                                    "nativeSrc": "41263:18:136",
                                    "nodeType": "YulFunctionCall",
                                    "src": "41263:18:136"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "41283:4:136",
                                    "nodeType": "YulLiteral",
                                    "src": "41283:4:136",
                                    "type": "",
                                    "value": "0xff"
                                  }
                                ],
                                "functionName": {
                                  "name": "and",
                                  "nativeSrc": "41259:3:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "41259:3:136"
                                },
                                "nativeSrc": "41259:29:136",
                                "nodeType": "YulFunctionCall",
                                "src": "41259:29:136"
                              }
                            ],
                            "functionName": {
                              "name": "iszero",
                              "nativeSrc": "41252:6:136",
                              "nodeType": "YulIdentifier",
                              "src": "41252:6:136"
                            },
                            "nativeSrc": "41252:37:136",
                            "nodeType": "YulFunctionCall",
                            "src": "41252:37:136"
                          }
                        ],
                        "functionName": {
                          "name": "iszero",
                          "nativeSrc": "41245:6:136",
                          "nodeType": "YulIdentifier",
                          "src": "41245:6:136"
                        },
                        "nativeSrc": "41245:45:136",
                        "nodeType": "YulFunctionCall",
                        "src": "41245:45:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "41218:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "41218:6:136"
                    },
                    "nativeSrc": "41218:73:136",
                    "nodeType": "YulFunctionCall",
                    "src": "41218:73:136"
                  },
                  "nativeSrc": "41218:73:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "41218:73:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "41311:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "41311:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "41322:2:136",
                            "nodeType": "YulLiteral",
                            "src": "41322:2:136",
                            "type": "",
                            "value": "96"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "41307:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "41307:3:136"
                        },
                        "nativeSrc": "41307:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "41307:18:136"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "kind": "number",
                                "nativeSrc": "41335:2:136",
                                "nodeType": "YulLiteral",
                                "src": "41335:2:136",
                                "type": "",
                                "value": "32"
                              },
                              {
                                "name": "slotValue",
                                "nativeSrc": "41339:9:136",
                                "nodeType": "YulIdentifier",
                                "src": "41339:9:136"
                              }
                            ],
                            "functionName": {
                              "name": "shr",
                              "nativeSrc": "41331:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "41331:3:136"
                            },
                            "nativeSrc": "41331:18:136",
                            "nodeType": "YulFunctionCall",
                            "src": "41331:18:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "41351:8:136",
                            "nodeType": "YulLiteral",
                            "src": "41351:8:136",
                            "type": "",
                            "value": "0xffffff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "41327:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "41327:3:136"
                        },
                        "nativeSrc": "41327:33:136",
                        "nodeType": "YulFunctionCall",
                        "src": "41327:33:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "41300:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "41300:6:136"
                    },
                    "nativeSrc": "41300:61:136",
                    "nodeType": "YulFunctionCall",
                    "src": "41300:61:136"
                  },
                  "nativeSrc": "41300:61:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "41300:61:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "41381:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "41381:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "41392:3:136",
                            "nodeType": "YulLiteral",
                            "src": "41392:3:136",
                            "type": "",
                            "value": "128"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "41377:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "41377:3:136"
                        },
                        "nativeSrc": "41377:19:136",
                        "nodeType": "YulFunctionCall",
                        "src": "41377:19:136"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "kind": "number",
                                "nativeSrc": "41406:2:136",
                                "nodeType": "YulLiteral",
                                "src": "41406:2:136",
                                "type": "",
                                "value": "56"
                              },
                              {
                                "name": "slotValue",
                                "nativeSrc": "41410:9:136",
                                "nodeType": "YulIdentifier",
                                "src": "41410:9:136"
                              }
                            ],
                            "functionName": {
                              "name": "shr",
                              "nativeSrc": "41402:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "41402:3:136"
                            },
                            "nativeSrc": "41402:18:136",
                            "nodeType": "YulFunctionCall",
                            "src": "41402:18:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "41422:8:136",
                            "nodeType": "YulLiteral",
                            "src": "41422:8:136",
                            "type": "",
                            "value": "0xffffff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "41398:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "41398:3:136"
                        },
                        "nativeSrc": "41398:33:136",
                        "nodeType": "YulFunctionCall",
                        "src": "41398:33:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "41370:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "41370:6:136"
                    },
                    "nativeSrc": "41370:62:136",
                    "nodeType": "YulFunctionCall",
                    "src": "41370:62:136"
                  },
                  "nativeSrc": "41370:62:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "41370:62:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "kind": "number",
                                "nativeSrc": "41467:2:136",
                                "nodeType": "YulLiteral",
                                "src": "41467:2:136",
                                "type": "",
                                "value": "80"
                              },
                              {
                                "name": "slotValue",
                                "nativeSrc": "41471:9:136",
                                "nodeType": "YulIdentifier",
                                "src": "41471:9:136"
                              }
                            ],
                            "functionName": {
                              "name": "shr",
                              "nativeSrc": "41463:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "41463:3:136"
                            },
                            "nativeSrc": "41463:18:136",
                            "nodeType": "YulFunctionCall",
                            "src": "41463:18:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "41483:6:136",
                            "nodeType": "YulLiteral",
                            "src": "41483:6:136",
                            "type": "",
                            "value": "0xffff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "41459:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "41459:3:136"
                        },
                        "nativeSrc": "41459:31:136",
                        "nodeType": "YulFunctionCall",
                        "src": "41459:31:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "41496:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "41496:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "41507:3:136",
                            "nodeType": "YulLiteral",
                            "src": "41507:3:136",
                            "type": "",
                            "value": "160"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "41492:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "41492:3:136"
                        },
                        "nativeSrc": "41492:19:136",
                        "nodeType": "YulFunctionCall",
                        "src": "41492:19:136"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_uint16",
                      "nativeSrc": "41441:17:136",
                      "nodeType": "YulIdentifier",
                      "src": "41441:17:136"
                    },
                    "nativeSrc": "41441:71:136",
                    "nodeType": "YulFunctionCall",
                    "src": "41441:71:136"
                  },
                  "nativeSrc": "41441:71:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "41441:71:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "kind": "number",
                                "nativeSrc": "41547:2:136",
                                "nodeType": "YulLiteral",
                                "src": "41547:2:136",
                                "type": "",
                                "value": "96"
                              },
                              {
                                "name": "slotValue",
                                "nativeSrc": "41551:9:136",
                                "nodeType": "YulIdentifier",
                                "src": "41551:9:136"
                              }
                            ],
                            "functionName": {
                              "name": "shr",
                              "nativeSrc": "41543:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "41543:3:136"
                            },
                            "nativeSrc": "41543:18:136",
                            "nodeType": "YulFunctionCall",
                            "src": "41543:18:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "41563:6:136",
                            "nodeType": "YulLiteral",
                            "src": "41563:6:136",
                            "type": "",
                            "value": "0xffff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "41539:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "41539:3:136"
                        },
                        "nativeSrc": "41539:31:136",
                        "nodeType": "YulFunctionCall",
                        "src": "41539:31:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "41576:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "41576:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "41587:3:136",
                            "nodeType": "YulLiteral",
                            "src": "41587:3:136",
                            "type": "",
                            "value": "192"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "41572:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "41572:3:136"
                        },
                        "nativeSrc": "41572:19:136",
                        "nodeType": "YulFunctionCall",
                        "src": "41572:19:136"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_uint16",
                      "nativeSrc": "41521:17:136",
                      "nodeType": "YulIdentifier",
                      "src": "41521:17:136"
                    },
                    "nativeSrc": "41521:71:136",
                    "nodeType": "YulFunctionCall",
                    "src": "41521:71:136"
                  },
                  "nativeSrc": "41521:71:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "41521:71:136"
                }
              ]
            },
            "name": "abi_encode_tuple_t_address_t_struct$_UpdateConditions_$28153_storage__to_t_address_t_struct$_UpdateConditions_$28153_memory_ptr__fromStack_reversed",
            "nativeSrc": "40816:782:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "40973:9:136",
                "nodeType": "YulTypedName",
                "src": "40973:9:136",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "40984:6:136",
                "nodeType": "YulTypedName",
                "src": "40984:6:136",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "40992:6:136",
                "nodeType": "YulTypedName",
                "src": "40992:6:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "41003:4:136",
                "nodeType": "YulTypedName",
                "src": "41003:4:136",
                "type": ""
              }
            ],
            "src": "40816:782:136"
          },
          {
            "body": {
              "nativeSrc": "41684:170:136",
              "nodeType": "YulBlock",
              "src": "41684:170:136",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "41730:16:136",
                    "nodeType": "YulBlock",
                    "src": "41730:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "41739:1:136",
                              "nodeType": "YulLiteral",
                              "src": "41739:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "41742:1:136",
                              "nodeType": "YulLiteral",
                              "src": "41742:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "41732:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "41732:6:136"
                          },
                          "nativeSrc": "41732:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "41732:12:136"
                        },
                        "nativeSrc": "41732:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "41732:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "41705:7:136",
                            "nodeType": "YulIdentifier",
                            "src": "41705:7:136"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "41714:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "41714:9:136"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "41701:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "41701:3:136"
                        },
                        "nativeSrc": "41701:23:136",
                        "nodeType": "YulFunctionCall",
                        "src": "41701:23:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "41726:2:136",
                        "nodeType": "YulLiteral",
                        "src": "41726:2:136",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "41697:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "41697:3:136"
                    },
                    "nativeSrc": "41697:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "41697:32:136"
                  },
                  "nativeSrc": "41694:52:136",
                  "nodeType": "YulIf",
                  "src": "41694:52:136"
                },
                {
                  "nativeSrc": "41755:29:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "41755:29:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "41774:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "41774:9:136"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "41768:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "41768:5:136"
                    },
                    "nativeSrc": "41768:16:136",
                    "nodeType": "YulFunctionCall",
                    "src": "41768:16:136"
                  },
                  "variables": [
                    {
                      "name": "value",
                      "nativeSrc": "41759:5:136",
                      "nodeType": "YulTypedName",
                      "src": "41759:5:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "41818:5:136",
                        "nodeType": "YulIdentifier",
                        "src": "41818:5:136"
                      }
                    ],
                    "functionName": {
                      "name": "validator_revert_address",
                      "nativeSrc": "41793:24:136",
                      "nodeType": "YulIdentifier",
                      "src": "41793:24:136"
                    },
                    "nativeSrc": "41793:31:136",
                    "nodeType": "YulFunctionCall",
                    "src": "41793:31:136"
                  },
                  "nativeSrc": "41793:31:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "41793:31:136"
                },
                {
                  "nativeSrc": "41833:15:136",
                  "nodeType": "YulAssignment",
                  "src": "41833:15:136",
                  "value": {
                    "name": "value",
                    "nativeSrc": "41843:5:136",
                    "nodeType": "YulIdentifier",
                    "src": "41843:5:136"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "41833:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "41833:6:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_address_fromMemory",
            "nativeSrc": "41603:251:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "41650:9:136",
                "nodeType": "YulTypedName",
                "src": "41650:9:136",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "41661:7:136",
                "nodeType": "YulTypedName",
                "src": "41661:7:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "41673:6:136",
                "nodeType": "YulTypedName",
                "src": "41673:6:136",
                "type": ""
              }
            ],
            "src": "41603:251:136"
          },
          {
            "body": {
              "nativeSrc": "41964:943:136",
              "nodeType": "YulBlock",
              "src": "41964:943:136",
              "statements": [
                {
                  "nativeSrc": "41974:43:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "41974:43:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "41992:7:136",
                            "nodeType": "YulIdentifier",
                            "src": "41992:7:136"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "42001:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "42001:9:136"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "41988:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "41988:3:136"
                        },
                        "nativeSrc": "41988:23:136",
                        "nodeType": "YulFunctionCall",
                        "src": "41988:23:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "42013:3:136",
                        "nodeType": "YulLiteral",
                        "src": "42013:3:136",
                        "type": "",
                        "value": "192"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "41984:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "41984:3:136"
                    },
                    "nativeSrc": "41984:33:136",
                    "nodeType": "YulFunctionCall",
                    "src": "41984:33:136"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "41978:2:136",
                      "nodeType": "YulTypedName",
                      "src": "41978:2:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "42032:16:136",
                    "nodeType": "YulBlock",
                    "src": "42032:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "42041:1:136",
                              "nodeType": "YulLiteral",
                              "src": "42041:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "42044:1:136",
                              "nodeType": "YulLiteral",
                              "src": "42044:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "42034:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "42034:6:136"
                          },
                          "nativeSrc": "42034:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "42034:12:136"
                        },
                        "nativeSrc": "42034:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "42034:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "name": "_1",
                    "nativeSrc": "42029:2:136",
                    "nodeType": "YulIdentifier",
                    "src": "42029:2:136"
                  },
                  "nativeSrc": "42026:22:136",
                  "nodeType": "YulIf",
                  "src": "42026:22:136"
                },
                {
                  "nativeSrc": "42057:7:136",
                  "nodeType": "YulAssignment",
                  "src": "42057:7:136",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "42063:1:136",
                    "nodeType": "YulLiteral",
                    "src": "42063:1:136",
                    "type": "",
                    "value": "0"
                  },
                  "variableNames": [
                    {
                      "name": "_1",
                      "nativeSrc": "42057:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "42057:2:136"
                    }
                  ]
                },
                {
                  "nativeSrc": "42073:23:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "42073:23:136",
                  "value": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "42093:2:136",
                        "nodeType": "YulLiteral",
                        "src": "42093:2:136",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "42087:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "42087:5:136"
                    },
                    "nativeSrc": "42087:9:136",
                    "nodeType": "YulFunctionCall",
                    "src": "42087:9:136"
                  },
                  "variables": [
                    {
                      "name": "memPtr",
                      "nativeSrc": "42077:6:136",
                      "nodeType": "YulTypedName",
                      "src": "42077:6:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "memPtr",
                        "nativeSrc": "42130:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "42130:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "finalize_allocation_6265",
                      "nativeSrc": "42105:24:136",
                      "nodeType": "YulIdentifier",
                      "src": "42105:24:136"
                    },
                    "nativeSrc": "42105:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "42105:32:136"
                  },
                  "nativeSrc": "42105:32:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "42105:32:136"
                },
                {
                  "nativeSrc": "42146:36:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "42146:36:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "42172:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "42172:9:136"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "42159:12:136",
                      "nodeType": "YulIdentifier",
                      "src": "42159:12:136"
                    },
                    "nativeSrc": "42159:23:136",
                    "nodeType": "YulFunctionCall",
                    "src": "42159:23:136"
                  },
                  "variables": [
                    {
                      "name": "value",
                      "nativeSrc": "42150:5:136",
                      "nodeType": "YulTypedName",
                      "src": "42150:5:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "42215:5:136",
                        "nodeType": "YulIdentifier",
                        "src": "42215:5:136"
                      }
                    ],
                    "functionName": {
                      "name": "validator_revert_uint24",
                      "nativeSrc": "42191:23:136",
                      "nodeType": "YulIdentifier",
                      "src": "42191:23:136"
                    },
                    "nativeSrc": "42191:30:136",
                    "nodeType": "YulFunctionCall",
                    "src": "42191:30:136"
                  },
                  "nativeSrc": "42191:30:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "42191:30:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "memPtr",
                        "nativeSrc": "42237:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "42237:6:136"
                      },
                      {
                        "name": "value",
                        "nativeSrc": "42245:5:136",
                        "nodeType": "YulIdentifier",
                        "src": "42245:5:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "42230:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "42230:6:136"
                    },
                    "nativeSrc": "42230:21:136",
                    "nodeType": "YulFunctionCall",
                    "src": "42230:21:136"
                  },
                  "nativeSrc": "42230:21:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "42230:21:136"
                },
                {
                  "nativeSrc": "42260:47:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "42260:47:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "42292:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "42292:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "42303:2:136",
                            "nodeType": "YulLiteral",
                            "src": "42303:2:136",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "42288:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "42288:3:136"
                        },
                        "nativeSrc": "42288:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "42288:18:136"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "42275:12:136",
                      "nodeType": "YulIdentifier",
                      "src": "42275:12:136"
                    },
                    "nativeSrc": "42275:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "42275:32:136"
                  },
                  "variables": [
                    {
                      "name": "value_1",
                      "nativeSrc": "42264:7:136",
                      "nodeType": "YulTypedName",
                      "src": "42264:7:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value_1",
                        "nativeSrc": "42338:7:136",
                        "nodeType": "YulIdentifier",
                        "src": "42338:7:136"
                      }
                    ],
                    "functionName": {
                      "name": "validator_revert_bool",
                      "nativeSrc": "42316:21:136",
                      "nodeType": "YulIdentifier",
                      "src": "42316:21:136"
                    },
                    "nativeSrc": "42316:30:136",
                    "nodeType": "YulFunctionCall",
                    "src": "42316:30:136"
                  },
                  "nativeSrc": "42316:30:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "42316:30:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "memPtr",
                            "nativeSrc": "42366:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "42366:6:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "42374:2:136",
                            "nodeType": "YulLiteral",
                            "src": "42374:2:136",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "42362:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "42362:3:136"
                        },
                        "nativeSrc": "42362:15:136",
                        "nodeType": "YulFunctionCall",
                        "src": "42362:15:136"
                      },
                      {
                        "name": "value_1",
                        "nativeSrc": "42379:7:136",
                        "nodeType": "YulIdentifier",
                        "src": "42379:7:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "42355:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "42355:6:136"
                    },
                    "nativeSrc": "42355:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "42355:32:136"
                  },
                  "nativeSrc": "42355:32:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "42355:32:136"
                },
                {
                  "nativeSrc": "42396:47:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "42396:47:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "42428:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "42428:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "42439:2:136",
                            "nodeType": "YulLiteral",
                            "src": "42439:2:136",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "42424:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "42424:3:136"
                        },
                        "nativeSrc": "42424:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "42424:18:136"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "42411:12:136",
                      "nodeType": "YulIdentifier",
                      "src": "42411:12:136"
                    },
                    "nativeSrc": "42411:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "42411:32:136"
                  },
                  "variables": [
                    {
                      "name": "value_2",
                      "nativeSrc": "42400:7:136",
                      "nodeType": "YulTypedName",
                      "src": "42400:7:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value_2",
                        "nativeSrc": "42476:7:136",
                        "nodeType": "YulIdentifier",
                        "src": "42476:7:136"
                      }
                    ],
                    "functionName": {
                      "name": "validator_revert_uint24",
                      "nativeSrc": "42452:23:136",
                      "nodeType": "YulIdentifier",
                      "src": "42452:23:136"
                    },
                    "nativeSrc": "42452:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "42452:32:136"
                  },
                  "nativeSrc": "42452:32:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "42452:32:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "memPtr",
                            "nativeSrc": "42504:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "42504:6:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "42512:2:136",
                            "nodeType": "YulLiteral",
                            "src": "42512:2:136",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "42500:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "42500:3:136"
                        },
                        "nativeSrc": "42500:15:136",
                        "nodeType": "YulFunctionCall",
                        "src": "42500:15:136"
                      },
                      {
                        "name": "value_2",
                        "nativeSrc": "42517:7:136",
                        "nodeType": "YulIdentifier",
                        "src": "42517:7:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "42493:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "42493:6:136"
                    },
                    "nativeSrc": "42493:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "42493:32:136"
                  },
                  "nativeSrc": "42493:32:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "42493:32:136"
                },
                {
                  "nativeSrc": "42534:47:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "42534:47:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "42566:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "42566:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "42577:2:136",
                            "nodeType": "YulLiteral",
                            "src": "42577:2:136",
                            "type": "",
                            "value": "96"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "42562:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "42562:3:136"
                        },
                        "nativeSrc": "42562:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "42562:18:136"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "42549:12:136",
                      "nodeType": "YulIdentifier",
                      "src": "42549:12:136"
                    },
                    "nativeSrc": "42549:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "42549:32:136"
                  },
                  "variables": [
                    {
                      "name": "value_3",
                      "nativeSrc": "42538:7:136",
                      "nodeType": "YulTypedName",
                      "src": "42538:7:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value_3",
                        "nativeSrc": "42614:7:136",
                        "nodeType": "YulIdentifier",
                        "src": "42614:7:136"
                      }
                    ],
                    "functionName": {
                      "name": "validator_revert_uint24",
                      "nativeSrc": "42590:23:136",
                      "nodeType": "YulIdentifier",
                      "src": "42590:23:136"
                    },
                    "nativeSrc": "42590:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "42590:32:136"
                  },
                  "nativeSrc": "42590:32:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "42590:32:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "memPtr",
                            "nativeSrc": "42642:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "42642:6:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "42650:2:136",
                            "nodeType": "YulLiteral",
                            "src": "42650:2:136",
                            "type": "",
                            "value": "96"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "42638:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "42638:3:136"
                        },
                        "nativeSrc": "42638:15:136",
                        "nodeType": "YulFunctionCall",
                        "src": "42638:15:136"
                      },
                      {
                        "name": "value_3",
                        "nativeSrc": "42655:7:136",
                        "nodeType": "YulIdentifier",
                        "src": "42655:7:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "42631:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "42631:6:136"
                    },
                    "nativeSrc": "42631:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "42631:32:136"
                  },
                  "nativeSrc": "42631:32:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "42631:32:136"
                },
                {
                  "nativeSrc": "42672:48:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "42672:48:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "42704:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "42704:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "42715:3:136",
                            "nodeType": "YulLiteral",
                            "src": "42715:3:136",
                            "type": "",
                            "value": "128"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "42700:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "42700:3:136"
                        },
                        "nativeSrc": "42700:19:136",
                        "nodeType": "YulFunctionCall",
                        "src": "42700:19:136"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "42687:12:136",
                      "nodeType": "YulIdentifier",
                      "src": "42687:12:136"
                    },
                    "nativeSrc": "42687:33:136",
                    "nodeType": "YulFunctionCall",
                    "src": "42687:33:136"
                  },
                  "variables": [
                    {
                      "name": "value_4",
                      "nativeSrc": "42676:7:136",
                      "nodeType": "YulTypedName",
                      "src": "42676:7:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value_4",
                        "nativeSrc": "42753:7:136",
                        "nodeType": "YulIdentifier",
                        "src": "42753:7:136"
                      }
                    ],
                    "functionName": {
                      "name": "validator_revert_uint16",
                      "nativeSrc": "42729:23:136",
                      "nodeType": "YulIdentifier",
                      "src": "42729:23:136"
                    },
                    "nativeSrc": "42729:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "42729:32:136"
                  },
                  "nativeSrc": "42729:32:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "42729:32:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "memPtr",
                            "nativeSrc": "42781:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "42781:6:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "42789:3:136",
                            "nodeType": "YulLiteral",
                            "src": "42789:3:136",
                            "type": "",
                            "value": "128"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "42777:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "42777:3:136"
                        },
                        "nativeSrc": "42777:16:136",
                        "nodeType": "YulFunctionCall",
                        "src": "42777:16:136"
                      },
                      {
                        "name": "value_4",
                        "nativeSrc": "42795:7:136",
                        "nodeType": "YulIdentifier",
                        "src": "42795:7:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "42770:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "42770:6:136"
                    },
                    "nativeSrc": "42770:33:136",
                    "nodeType": "YulFunctionCall",
                    "src": "42770:33:136"
                  },
                  "nativeSrc": "42770:33:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "42770:33:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "memPtr",
                            "nativeSrc": "42823:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "42823:6:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "42831:3:136",
                            "nodeType": "YulLiteral",
                            "src": "42831:3:136",
                            "type": "",
                            "value": "160"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "42819:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "42819:3:136"
                        },
                        "nativeSrc": "42819:16:136",
                        "nodeType": "YulFunctionCall",
                        "src": "42819:16:136"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "headStart",
                                "nativeSrc": "42859:9:136",
                                "nodeType": "YulIdentifier",
                                "src": "42859:9:136"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "42870:3:136",
                                "nodeType": "YulLiteral",
                                "src": "42870:3:136",
                                "type": "",
                                "value": "160"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "42855:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "42855:3:136"
                            },
                            "nativeSrc": "42855:19:136",
                            "nodeType": "YulFunctionCall",
                            "src": "42855:19:136"
                          }
                        ],
                        "functionName": {
                          "name": "abi_decode_uint16",
                          "nativeSrc": "42837:17:136",
                          "nodeType": "YulIdentifier",
                          "src": "42837:17:136"
                        },
                        "nativeSrc": "42837:38:136",
                        "nodeType": "YulFunctionCall",
                        "src": "42837:38:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "42812:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "42812:6:136"
                    },
                    "nativeSrc": "42812:64:136",
                    "nodeType": "YulFunctionCall",
                    "src": "42812:64:136"
                  },
                  "nativeSrc": "42812:64:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "42812:64:136"
                },
                {
                  "nativeSrc": "42885:16:136",
                  "nodeType": "YulAssignment",
                  "src": "42885:16:136",
                  "value": {
                    "name": "memPtr",
                    "nativeSrc": "42895:6:136",
                    "nodeType": "YulIdentifier",
                    "src": "42895:6:136"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "42885:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "42885:6:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_struct$_UpdateConditions_$28153_memory_ptr",
            "nativeSrc": "41859:1048:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "41930:9:136",
                "nodeType": "YulTypedName",
                "src": "41930:9:136",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "41941:7:136",
                "nodeType": "YulTypedName",
                "src": "41941:7:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "41953:6:136",
                "nodeType": "YulTypedName",
                "src": "41953:6:136",
                "type": ""
              }
            ],
            "src": "41859:1048:136"
          },
          {
            "body": {
              "nativeSrc": "42972:114:136",
              "nodeType": "YulBlock",
              "src": "42972:114:136",
              "statements": [
                {
                  "nativeSrc": "42982:30:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "42982:30:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "ptr",
                        "nativeSrc": "43008:3:136",
                        "nodeType": "YulIdentifier",
                        "src": "43008:3:136"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "42995:12:136",
                      "nodeType": "YulIdentifier",
                      "src": "42995:12:136"
                    },
                    "nativeSrc": "42995:17:136",
                    "nodeType": "YulFunctionCall",
                    "src": "42995:17:136"
                  },
                  "variables": [
                    {
                      "name": "value",
                      "nativeSrc": "42986:5:136",
                      "nodeType": "YulTypedName",
                      "src": "42986:5:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "43045:5:136",
                        "nodeType": "YulIdentifier",
                        "src": "43045:5:136"
                      }
                    ],
                    "functionName": {
                      "name": "validator_revert_uint24",
                      "nativeSrc": "43021:23:136",
                      "nodeType": "YulIdentifier",
                      "src": "43021:23:136"
                    },
                    "nativeSrc": "43021:30:136",
                    "nodeType": "YulFunctionCall",
                    "src": "43021:30:136"
                  },
                  "nativeSrc": "43021:30:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "43021:30:136"
                },
                {
                  "nativeSrc": "43060:20:136",
                  "nodeType": "YulAssignment",
                  "src": "43060:20:136",
                  "value": {
                    "name": "value",
                    "nativeSrc": "43075:5:136",
                    "nodeType": "YulIdentifier",
                    "src": "43075:5:136"
                  },
                  "variableNames": [
                    {
                      "name": "returnValue",
                      "nativeSrc": "43060:11:136",
                      "nodeType": "YulIdentifier",
                      "src": "43060:11:136"
                    }
                  ]
                }
              ]
            },
            "name": "read_from_calldatat_uint24",
            "nativeSrc": "42912:174:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "ptr",
                "nativeSrc": "42948:3:136",
                "nodeType": "YulTypedName",
                "src": "42948:3:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "returnValue",
                "nativeSrc": "42956:11:136",
                "nodeType": "YulTypedName",
                "src": "42956:11:136",
                "type": ""
              }
            ],
            "src": "42912:174:136"
          },
          {
            "body": {
              "nativeSrc": "43162:145:136",
              "nodeType": "YulBlock",
              "src": "43162:145:136",
              "statements": [
                {
                  "nativeSrc": "43172:21:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "43172:21:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "slot",
                        "nativeSrc": "43188:4:136",
                        "nodeType": "YulIdentifier",
                        "src": "43188:4:136"
                      }
                    ],
                    "functionName": {
                      "name": "sload",
                      "nativeSrc": "43182:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "43182:5:136"
                    },
                    "nativeSrc": "43182:11:136",
                    "nodeType": "YulFunctionCall",
                    "src": "43182:11:136"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "43176:2:136",
                      "nodeType": "YulTypedName",
                      "src": "43176:2:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "slot",
                        "nativeSrc": "43209:4:136",
                        "nodeType": "YulIdentifier",
                        "src": "43209:4:136"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "_1",
                                "nativeSrc": "43222:2:136",
                                "nodeType": "YulIdentifier",
                                "src": "43222:2:136"
                              },
                              {
                                "arguments": [
                                  {
                                    "kind": "number",
                                    "nativeSrc": "43230:22:136",
                                    "nodeType": "YulLiteral",
                                    "src": "43230:22:136",
                                    "type": "",
                                    "value": "0xffffff00000000000000"
                                  }
                                ],
                                "functionName": {
                                  "name": "not",
                                  "nativeSrc": "43226:3:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "43226:3:136"
                                },
                                "nativeSrc": "43226:27:136",
                                "nodeType": "YulFunctionCall",
                                "src": "43226:27:136"
                              }
                            ],
                            "functionName": {
                              "name": "and",
                              "nativeSrc": "43218:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "43218:3:136"
                            },
                            "nativeSrc": "43218:36:136",
                            "nodeType": "YulFunctionCall",
                            "src": "43218:36:136"
                          },
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "kind": "number",
                                    "nativeSrc": "43264:2:136",
                                    "nodeType": "YulLiteral",
                                    "src": "43264:2:136",
                                    "type": "",
                                    "value": "56"
                                  },
                                  {
                                    "name": "value",
                                    "nativeSrc": "43268:5:136",
                                    "nodeType": "YulIdentifier",
                                    "src": "43268:5:136"
                                  }
                                ],
                                "functionName": {
                                  "name": "shl",
                                  "nativeSrc": "43260:3:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "43260:3:136"
                                },
                                "nativeSrc": "43260:14:136",
                                "nodeType": "YulFunctionCall",
                                "src": "43260:14:136"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "43276:22:136",
                                "nodeType": "YulLiteral",
                                "src": "43276:22:136",
                                "type": "",
                                "value": "0xffffff00000000000000"
                              }
                            ],
                            "functionName": {
                              "name": "and",
                              "nativeSrc": "43256:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "43256:3:136"
                            },
                            "nativeSrc": "43256:43:136",
                            "nodeType": "YulFunctionCall",
                            "src": "43256:43:136"
                          }
                        ],
                        "functionName": {
                          "name": "or",
                          "nativeSrc": "43215:2:136",
                          "nodeType": "YulIdentifier",
                          "src": "43215:2:136"
                        },
                        "nativeSrc": "43215:85:136",
                        "nodeType": "YulFunctionCall",
                        "src": "43215:85:136"
                      }
                    ],
                    "functionName": {
                      "name": "sstore",
                      "nativeSrc": "43202:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "43202:6:136"
                    },
                    "nativeSrc": "43202:99:136",
                    "nodeType": "YulFunctionCall",
                    "src": "43202:99:136"
                  },
                  "nativeSrc": "43202:99:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "43202:99:136"
                }
              ]
            },
            "name": "update_storage_value_offset_uint24_to_uint24",
            "nativeSrc": "43091:216:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "slot",
                "nativeSrc": "43145:4:136",
                "nodeType": "YulTypedName",
                "src": "43145:4:136",
                "type": ""
              },
              {
                "name": "value",
                "nativeSrc": "43151:5:136",
                "nodeType": "YulTypedName",
                "src": "43151:5:136",
                "type": ""
              }
            ],
            "src": "43091:216:136"
          },
          {
            "body": {
              "nativeSrc": "43372:114:136",
              "nodeType": "YulBlock",
              "src": "43372:114:136",
              "statements": [
                {
                  "nativeSrc": "43382:30:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "43382:30:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "ptr",
                        "nativeSrc": "43408:3:136",
                        "nodeType": "YulIdentifier",
                        "src": "43408:3:136"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "43395:12:136",
                      "nodeType": "YulIdentifier",
                      "src": "43395:12:136"
                    },
                    "nativeSrc": "43395:17:136",
                    "nodeType": "YulFunctionCall",
                    "src": "43395:17:136"
                  },
                  "variables": [
                    {
                      "name": "value",
                      "nativeSrc": "43386:5:136",
                      "nodeType": "YulTypedName",
                      "src": "43386:5:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "43445:5:136",
                        "nodeType": "YulIdentifier",
                        "src": "43445:5:136"
                      }
                    ],
                    "functionName": {
                      "name": "validator_revert_uint16",
                      "nativeSrc": "43421:23:136",
                      "nodeType": "YulIdentifier",
                      "src": "43421:23:136"
                    },
                    "nativeSrc": "43421:30:136",
                    "nodeType": "YulFunctionCall",
                    "src": "43421:30:136"
                  },
                  "nativeSrc": "43421:30:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "43421:30:136"
                },
                {
                  "nativeSrc": "43460:20:136",
                  "nodeType": "YulAssignment",
                  "src": "43460:20:136",
                  "value": {
                    "name": "value",
                    "nativeSrc": "43475:5:136",
                    "nodeType": "YulIdentifier",
                    "src": "43475:5:136"
                  },
                  "variableNames": [
                    {
                      "name": "returnValue",
                      "nativeSrc": "43460:11:136",
                      "nodeType": "YulIdentifier",
                      "src": "43460:11:136"
                    }
                  ]
                }
              ]
            },
            "name": "read_from_calldatat_uint16",
            "nativeSrc": "43312:174:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "ptr",
                "nativeSrc": "43348:3:136",
                "nodeType": "YulTypedName",
                "src": "43348:3:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "returnValue",
                "nativeSrc": "43356:11:136",
                "nodeType": "YulTypedName",
                "src": "43356:11:136",
                "type": ""
              }
            ],
            "src": "43312:174:136"
          },
          {
            "body": {
              "nativeSrc": "43562:129:136",
              "nodeType": "YulBlock",
              "src": "43562:129:136",
              "statements": [
                {
                  "nativeSrc": "43572:21:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "43572:21:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "slot",
                        "nativeSrc": "43588:4:136",
                        "nodeType": "YulIdentifier",
                        "src": "43588:4:136"
                      }
                    ],
                    "functionName": {
                      "name": "sload",
                      "nativeSrc": "43582:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "43582:5:136"
                    },
                    "nativeSrc": "43582:11:136",
                    "nodeType": "YulFunctionCall",
                    "src": "43582:11:136"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "43576:2:136",
                      "nodeType": "YulTypedName",
                      "src": "43576:2:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "slot",
                        "nativeSrc": "43609:4:136",
                        "nodeType": "YulIdentifier",
                        "src": "43609:4:136"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "_1",
                                "nativeSrc": "43622:2:136",
                                "nodeType": "YulIdentifier",
                                "src": "43622:2:136"
                              },
                              {
                                "arguments": [
                                  {
                                    "arguments": [
                                      {
                                        "kind": "number",
                                        "nativeSrc": "43634:2:136",
                                        "nodeType": "YulLiteral",
                                        "src": "43634:2:136",
                                        "type": "",
                                        "value": "80"
                                      },
                                      {
                                        "kind": "number",
                                        "nativeSrc": "43638:5:136",
                                        "nodeType": "YulLiteral",
                                        "src": "43638:5:136",
                                        "type": "",
                                        "value": "65535"
                                      }
                                    ],
                                    "functionName": {
                                      "name": "shl",
                                      "nativeSrc": "43630:3:136",
                                      "nodeType": "YulIdentifier",
                                      "src": "43630:3:136"
                                    },
                                    "nativeSrc": "43630:14:136",
                                    "nodeType": "YulFunctionCall",
                                    "src": "43630:14:136"
                                  }
                                ],
                                "functionName": {
                                  "name": "not",
                                  "nativeSrc": "43626:3:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "43626:3:136"
                                },
                                "nativeSrc": "43626:19:136",
                                "nodeType": "YulFunctionCall",
                                "src": "43626:19:136"
                              }
                            ],
                            "functionName": {
                              "name": "and",
                              "nativeSrc": "43618:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "43618:3:136"
                            },
                            "nativeSrc": "43618:28:136",
                            "nodeType": "YulFunctionCall",
                            "src": "43618:28:136"
                          },
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "kind": "number",
                                    "nativeSrc": "43656:2:136",
                                    "nodeType": "YulLiteral",
                                    "src": "43656:2:136",
                                    "type": "",
                                    "value": "80"
                                  },
                                  {
                                    "name": "value",
                                    "nativeSrc": "43660:5:136",
                                    "nodeType": "YulIdentifier",
                                    "src": "43660:5:136"
                                  }
                                ],
                                "functionName": {
                                  "name": "shl",
                                  "nativeSrc": "43652:3:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "43652:3:136"
                                },
                                "nativeSrc": "43652:14:136",
                                "nodeType": "YulFunctionCall",
                                "src": "43652:14:136"
                              },
                              {
                                "arguments": [
                                  {
                                    "kind": "number",
                                    "nativeSrc": "43672:2:136",
                                    "nodeType": "YulLiteral",
                                    "src": "43672:2:136",
                                    "type": "",
                                    "value": "80"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "43676:5:136",
                                    "nodeType": "YulLiteral",
                                    "src": "43676:5:136",
                                    "type": "",
                                    "value": "65535"
                                  }
                                ],
                                "functionName": {
                                  "name": "shl",
                                  "nativeSrc": "43668:3:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "43668:3:136"
                                },
                                "nativeSrc": "43668:14:136",
                                "nodeType": "YulFunctionCall",
                                "src": "43668:14:136"
                              }
                            ],
                            "functionName": {
                              "name": "and",
                              "nativeSrc": "43648:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "43648:3:136"
                            },
                            "nativeSrc": "43648:35:136",
                            "nodeType": "YulFunctionCall",
                            "src": "43648:35:136"
                          }
                        ],
                        "functionName": {
                          "name": "or",
                          "nativeSrc": "43615:2:136",
                          "nodeType": "YulIdentifier",
                          "src": "43615:2:136"
                        },
                        "nativeSrc": "43615:69:136",
                        "nodeType": "YulFunctionCall",
                        "src": "43615:69:136"
                      }
                    ],
                    "functionName": {
                      "name": "sstore",
                      "nativeSrc": "43602:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "43602:6:136"
                    },
                    "nativeSrc": "43602:83:136",
                    "nodeType": "YulFunctionCall",
                    "src": "43602:83:136"
                  },
                  "nativeSrc": "43602:83:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "43602:83:136"
                }
              ]
            },
            "name": "update_storage_value_offset_uint16_to_uint16",
            "nativeSrc": "43491:200:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "slot",
                "nativeSrc": "43545:4:136",
                "nodeType": "YulTypedName",
                "src": "43545:4:136",
                "type": ""
              },
              {
                "name": "value",
                "nativeSrc": "43551:5:136",
                "nodeType": "YulTypedName",
                "src": "43551:5:136",
                "type": ""
              }
            ],
            "src": "43491:200:136"
          },
          {
            "body": {
              "nativeSrc": "43771:129:136",
              "nodeType": "YulBlock",
              "src": "43771:129:136",
              "statements": [
                {
                  "nativeSrc": "43781:21:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "43781:21:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "slot",
                        "nativeSrc": "43797:4:136",
                        "nodeType": "YulIdentifier",
                        "src": "43797:4:136"
                      }
                    ],
                    "functionName": {
                      "name": "sload",
                      "nativeSrc": "43791:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "43791:5:136"
                    },
                    "nativeSrc": "43791:11:136",
                    "nodeType": "YulFunctionCall",
                    "src": "43791:11:136"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "43785:2:136",
                      "nodeType": "YulTypedName",
                      "src": "43785:2:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "slot",
                        "nativeSrc": "43818:4:136",
                        "nodeType": "YulIdentifier",
                        "src": "43818:4:136"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "_1",
                                "nativeSrc": "43831:2:136",
                                "nodeType": "YulIdentifier",
                                "src": "43831:2:136"
                              },
                              {
                                "arguments": [
                                  {
                                    "arguments": [
                                      {
                                        "kind": "number",
                                        "nativeSrc": "43843:2:136",
                                        "nodeType": "YulLiteral",
                                        "src": "43843:2:136",
                                        "type": "",
                                        "value": "96"
                                      },
                                      {
                                        "kind": "number",
                                        "nativeSrc": "43847:5:136",
                                        "nodeType": "YulLiteral",
                                        "src": "43847:5:136",
                                        "type": "",
                                        "value": "65535"
                                      }
                                    ],
                                    "functionName": {
                                      "name": "shl",
                                      "nativeSrc": "43839:3:136",
                                      "nodeType": "YulIdentifier",
                                      "src": "43839:3:136"
                                    },
                                    "nativeSrc": "43839:14:136",
                                    "nodeType": "YulFunctionCall",
                                    "src": "43839:14:136"
                                  }
                                ],
                                "functionName": {
                                  "name": "not",
                                  "nativeSrc": "43835:3:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "43835:3:136"
                                },
                                "nativeSrc": "43835:19:136",
                                "nodeType": "YulFunctionCall",
                                "src": "43835:19:136"
                              }
                            ],
                            "functionName": {
                              "name": "and",
                              "nativeSrc": "43827:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "43827:3:136"
                            },
                            "nativeSrc": "43827:28:136",
                            "nodeType": "YulFunctionCall",
                            "src": "43827:28:136"
                          },
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "kind": "number",
                                    "nativeSrc": "43865:2:136",
                                    "nodeType": "YulLiteral",
                                    "src": "43865:2:136",
                                    "type": "",
                                    "value": "96"
                                  },
                                  {
                                    "name": "value",
                                    "nativeSrc": "43869:5:136",
                                    "nodeType": "YulIdentifier",
                                    "src": "43869:5:136"
                                  }
                                ],
                                "functionName": {
                                  "name": "shl",
                                  "nativeSrc": "43861:3:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "43861:3:136"
                                },
                                "nativeSrc": "43861:14:136",
                                "nodeType": "YulFunctionCall",
                                "src": "43861:14:136"
                              },
                              {
                                "arguments": [
                                  {
                                    "kind": "number",
                                    "nativeSrc": "43881:2:136",
                                    "nodeType": "YulLiteral",
                                    "src": "43881:2:136",
                                    "type": "",
                                    "value": "96"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "43885:5:136",
                                    "nodeType": "YulLiteral",
                                    "src": "43885:5:136",
                                    "type": "",
                                    "value": "65535"
                                  }
                                ],
                                "functionName": {
                                  "name": "shl",
                                  "nativeSrc": "43877:3:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "43877:3:136"
                                },
                                "nativeSrc": "43877:14:136",
                                "nodeType": "YulFunctionCall",
                                "src": "43877:14:136"
                              }
                            ],
                            "functionName": {
                              "name": "and",
                              "nativeSrc": "43857:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "43857:3:136"
                            },
                            "nativeSrc": "43857:35:136",
                            "nodeType": "YulFunctionCall",
                            "src": "43857:35:136"
                          }
                        ],
                        "functionName": {
                          "name": "or",
                          "nativeSrc": "43824:2:136",
                          "nodeType": "YulIdentifier",
                          "src": "43824:2:136"
                        },
                        "nativeSrc": "43824:69:136",
                        "nodeType": "YulFunctionCall",
                        "src": "43824:69:136"
                      }
                    ],
                    "functionName": {
                      "name": "sstore",
                      "nativeSrc": "43811:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "43811:6:136"
                    },
                    "nativeSrc": "43811:83:136",
                    "nodeType": "YulFunctionCall",
                    "src": "43811:83:136"
                  },
                  "nativeSrc": "43811:83:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "43811:83:136"
                }
              ]
            },
            "name": "update_storage_value_offset_t_uint16_to_t_uint16",
            "nativeSrc": "43696:204:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "slot",
                "nativeSrc": "43754:4:136",
                "nodeType": "YulTypedName",
                "src": "43754:4:136",
                "type": ""
              },
              {
                "name": "value",
                "nativeSrc": "43760:5:136",
                "nodeType": "YulTypedName",
                "src": "43760:5:136",
                "type": ""
              }
            ],
            "src": "43696:204:136"
          },
          {
            "body": {
              "nativeSrc": "44053:1012:136",
              "nodeType": "YulBlock",
              "src": "44053:1012:136",
              "statements": [
                {
                  "nativeSrc": "44063:34:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "44063:34:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "44091:5:136",
                        "nodeType": "YulIdentifier",
                        "src": "44091:5:136"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "44078:12:136",
                      "nodeType": "YulIdentifier",
                      "src": "44078:12:136"
                    },
                    "nativeSrc": "44078:19:136",
                    "nodeType": "YulFunctionCall",
                    "src": "44078:19:136"
                  },
                  "variables": [
                    {
                      "name": "value_1",
                      "nativeSrc": "44067:7:136",
                      "nodeType": "YulTypedName",
                      "src": "44067:7:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value_1",
                        "nativeSrc": "44130:7:136",
                        "nodeType": "YulIdentifier",
                        "src": "44130:7:136"
                      }
                    ],
                    "functionName": {
                      "name": "validator_revert_uint24",
                      "nativeSrc": "44106:23:136",
                      "nodeType": "YulIdentifier",
                      "src": "44106:23:136"
                    },
                    "nativeSrc": "44106:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "44106:32:136"
                  },
                  "nativeSrc": "44106:32:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "44106:32:136"
                },
                {
                  "nativeSrc": "44147:32:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "44147:32:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "value_1",
                        "nativeSrc": "44161:7:136",
                        "nodeType": "YulIdentifier",
                        "src": "44161:7:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "44170:8:136",
                        "nodeType": "YulLiteral",
                        "src": "44170:8:136",
                        "type": "",
                        "value": "0xffffff"
                      }
                    ],
                    "functionName": {
                      "name": "and",
                      "nativeSrc": "44157:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "44157:3:136"
                    },
                    "nativeSrc": "44157:22:136",
                    "nodeType": "YulFunctionCall",
                    "src": "44157:22:136"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "44151:2:136",
                      "nodeType": "YulTypedName",
                      "src": "44151:2:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "44188:21:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "44188:21:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "slot",
                        "nativeSrc": "44204:4:136",
                        "nodeType": "YulIdentifier",
                        "src": "44204:4:136"
                      }
                    ],
                    "functionName": {
                      "name": "sload",
                      "nativeSrc": "44198:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "44198:5:136"
                    },
                    "nativeSrc": "44198:11:136",
                    "nodeType": "YulFunctionCall",
                    "src": "44198:11:136"
                  },
                  "variables": [
                    {
                      "name": "_2",
                      "nativeSrc": "44192:2:136",
                      "nodeType": "YulTypedName",
                      "src": "44192:2:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "slot",
                        "nativeSrc": "44225:4:136",
                        "nodeType": "YulIdentifier",
                        "src": "44225:4:136"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "_2",
                                "nativeSrc": "44238:2:136",
                                "nodeType": "YulIdentifier",
                                "src": "44238:2:136"
                              },
                              {
                                "arguments": [
                                  {
                                    "kind": "number",
                                    "nativeSrc": "44246:8:136",
                                    "nodeType": "YulLiteral",
                                    "src": "44246:8:136",
                                    "type": "",
                                    "value": "16777215"
                                  }
                                ],
                                "functionName": {
                                  "name": "not",
                                  "nativeSrc": "44242:3:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "44242:3:136"
                                },
                                "nativeSrc": "44242:13:136",
                                "nodeType": "YulFunctionCall",
                                "src": "44242:13:136"
                              }
                            ],
                            "functionName": {
                              "name": "and",
                              "nativeSrc": "44234:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "44234:3:136"
                            },
                            "nativeSrc": "44234:22:136",
                            "nodeType": "YulFunctionCall",
                            "src": "44234:22:136"
                          },
                          {
                            "name": "_1",
                            "nativeSrc": "44258:2:136",
                            "nodeType": "YulIdentifier",
                            "src": "44258:2:136"
                          }
                        ],
                        "functionName": {
                          "name": "or",
                          "nativeSrc": "44231:2:136",
                          "nodeType": "YulIdentifier",
                          "src": "44231:2:136"
                        },
                        "nativeSrc": "44231:30:136",
                        "nodeType": "YulFunctionCall",
                        "src": "44231:30:136"
                      }
                    ],
                    "functionName": {
                      "name": "sstore",
                      "nativeSrc": "44218:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "44218:6:136"
                    },
                    "nativeSrc": "44218:44:136",
                    "nodeType": "YulFunctionCall",
                    "src": "44218:44:136"
                  },
                  "nativeSrc": "44218:44:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "44218:44:136"
                },
                {
                  "nativeSrc": "44271:43:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "44271:43:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "44303:5:136",
                            "nodeType": "YulIdentifier",
                            "src": "44303:5:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "44310:2:136",
                            "nodeType": "YulLiteral",
                            "src": "44310:2:136",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "44299:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "44299:3:136"
                        },
                        "nativeSrc": "44299:14:136",
                        "nodeType": "YulFunctionCall",
                        "src": "44299:14:136"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "44286:12:136",
                      "nodeType": "YulIdentifier",
                      "src": "44286:12:136"
                    },
                    "nativeSrc": "44286:28:136",
                    "nodeType": "YulFunctionCall",
                    "src": "44286:28:136"
                  },
                  "variables": [
                    {
                      "name": "value_2",
                      "nativeSrc": "44275:7:136",
                      "nodeType": "YulTypedName",
                      "src": "44275:7:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value_2",
                        "nativeSrc": "44345:7:136",
                        "nodeType": "YulIdentifier",
                        "src": "44345:7:136"
                      }
                    ],
                    "functionName": {
                      "name": "validator_revert_bool",
                      "nativeSrc": "44323:21:136",
                      "nodeType": "YulIdentifier",
                      "src": "44323:21:136"
                    },
                    "nativeSrc": "44323:30:136",
                    "nodeType": "YulFunctionCall",
                    "src": "44323:30:136"
                  },
                  "nativeSrc": "44323:30:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "44323:30:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "slot",
                        "nativeSrc": "44369:4:136",
                        "nodeType": "YulIdentifier",
                        "src": "44369:4:136"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "name": "_2",
                                    "nativeSrc": "44385:2:136",
                                    "nodeType": "YulIdentifier",
                                    "src": "44385:2:136"
                                  },
                                  {
                                    "arguments": [
                                      {
                                        "kind": "number",
                                        "nativeSrc": "44393:10:136",
                                        "nodeType": "YulLiteral",
                                        "src": "44393:10:136",
                                        "type": "",
                                        "value": "0xffffffff"
                                      }
                                    ],
                                    "functionName": {
                                      "name": "not",
                                      "nativeSrc": "44389:3:136",
                                      "nodeType": "YulIdentifier",
                                      "src": "44389:3:136"
                                    },
                                    "nativeSrc": "44389:15:136",
                                    "nodeType": "YulFunctionCall",
                                    "src": "44389:15:136"
                                  }
                                ],
                                "functionName": {
                                  "name": "and",
                                  "nativeSrc": "44381:3:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "44381:3:136"
                                },
                                "nativeSrc": "44381:24:136",
                                "nodeType": "YulFunctionCall",
                                "src": "44381:24:136"
                              },
                              {
                                "name": "_1",
                                "nativeSrc": "44407:2:136",
                                "nodeType": "YulIdentifier",
                                "src": "44407:2:136"
                              }
                            ],
                            "functionName": {
                              "name": "or",
                              "nativeSrc": "44378:2:136",
                              "nodeType": "YulIdentifier",
                              "src": "44378:2:136"
                            },
                            "nativeSrc": "44378:32:136",
                            "nodeType": "YulFunctionCall",
                            "src": "44378:32:136"
                          },
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "kind": "number",
                                    "nativeSrc": "44420:2:136",
                                    "nodeType": "YulLiteral",
                                    "src": "44420:2:136",
                                    "type": "",
                                    "value": "24"
                                  },
                                  {
                                    "arguments": [
                                      {
                                        "arguments": [
                                          {
                                            "name": "value_2",
                                            "nativeSrc": "44438:7:136",
                                            "nodeType": "YulIdentifier",
                                            "src": "44438:7:136"
                                          }
                                        ],
                                        "functionName": {
                                          "name": "iszero",
                                          "nativeSrc": "44431:6:136",
                                          "nodeType": "YulIdentifier",
                                          "src": "44431:6:136"
                                        },
                                        "nativeSrc": "44431:15:136",
                                        "nodeType": "YulFunctionCall",
                                        "src": "44431:15:136"
                                      }
                                    ],
                                    "functionName": {
                                      "name": "iszero",
                                      "nativeSrc": "44424:6:136",
                                      "nodeType": "YulIdentifier",
                                      "src": "44424:6:136"
                                    },
                                    "nativeSrc": "44424:23:136",
                                    "nodeType": "YulFunctionCall",
                                    "src": "44424:23:136"
                                  }
                                ],
                                "functionName": {
                                  "name": "shl",
                                  "nativeSrc": "44416:3:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "44416:3:136"
                                },
                                "nativeSrc": "44416:32:136",
                                "nodeType": "YulFunctionCall",
                                "src": "44416:32:136"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "44450:10:136",
                                "nodeType": "YulLiteral",
                                "src": "44450:10:136",
                                "type": "",
                                "value": "0xff000000"
                              }
                            ],
                            "functionName": {
                              "name": "and",
                              "nativeSrc": "44412:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "44412:3:136"
                            },
                            "nativeSrc": "44412:49:136",
                            "nodeType": "YulFunctionCall",
                            "src": "44412:49:136"
                          }
                        ],
                        "functionName": {
                          "name": "or",
                          "nativeSrc": "44375:2:136",
                          "nodeType": "YulIdentifier",
                          "src": "44375:2:136"
                        },
                        "nativeSrc": "44375:87:136",
                        "nodeType": "YulFunctionCall",
                        "src": "44375:87:136"
                      }
                    ],
                    "functionName": {
                      "name": "sstore",
                      "nativeSrc": "44362:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "44362:6:136"
                    },
                    "nativeSrc": "44362:101:136",
                    "nodeType": "YulFunctionCall",
                    "src": "44362:101:136"
                  },
                  "nativeSrc": "44362:101:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "44362:101:136"
                },
                {
                  "nativeSrc": "44472:20:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "44472:20:136",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "44491:1:136",
                    "nodeType": "YulLiteral",
                    "src": "44491:1:136",
                    "type": "",
                    "value": "0"
                  },
                  "variables": [
                    {
                      "name": "returnValue",
                      "nativeSrc": "44476:11:136",
                      "nodeType": "YulTypedName",
                      "src": "44476:11:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "44501:43:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "44501:43:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "44533:5:136",
                            "nodeType": "YulIdentifier",
                            "src": "44533:5:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "44540:2:136",
                            "nodeType": "YulLiteral",
                            "src": "44540:2:136",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "44529:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "44529:3:136"
                        },
                        "nativeSrc": "44529:14:136",
                        "nodeType": "YulFunctionCall",
                        "src": "44529:14:136"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "44516:12:136",
                      "nodeType": "YulIdentifier",
                      "src": "44516:12:136"
                    },
                    "nativeSrc": "44516:28:136",
                    "nodeType": "YulFunctionCall",
                    "src": "44516:28:136"
                  },
                  "variables": [
                    {
                      "name": "value_3",
                      "nativeSrc": "44505:7:136",
                      "nodeType": "YulTypedName",
                      "src": "44505:7:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value_3",
                        "nativeSrc": "44577:7:136",
                        "nodeType": "YulIdentifier",
                        "src": "44577:7:136"
                      }
                    ],
                    "functionName": {
                      "name": "validator_revert_uint24",
                      "nativeSrc": "44553:23:136",
                      "nodeType": "YulIdentifier",
                      "src": "44553:23:136"
                    },
                    "nativeSrc": "44553:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "44553:32:136"
                  },
                  "nativeSrc": "44553:32:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "44553:32:136"
                },
                {
                  "nativeSrc": "44594:22:136",
                  "nodeType": "YulAssignment",
                  "src": "44594:22:136",
                  "value": {
                    "name": "value_3",
                    "nativeSrc": "44609:7:136",
                    "nodeType": "YulIdentifier",
                    "src": "44609:7:136"
                  },
                  "variableNames": [
                    {
                      "name": "returnValue",
                      "nativeSrc": "44594:11:136",
                      "nodeType": "YulIdentifier",
                      "src": "44594:11:136"
                    }
                  ]
                },
                {
                  "nativeSrc": "44625:21:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "44625:21:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "slot",
                        "nativeSrc": "44641:4:136",
                        "nodeType": "YulIdentifier",
                        "src": "44641:4:136"
                      }
                    ],
                    "functionName": {
                      "name": "sload",
                      "nativeSrc": "44635:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "44635:5:136"
                    },
                    "nativeSrc": "44635:11:136",
                    "nodeType": "YulFunctionCall",
                    "src": "44635:11:136"
                  },
                  "variables": [
                    {
                      "name": "_3",
                      "nativeSrc": "44629:2:136",
                      "nodeType": "YulTypedName",
                      "src": "44629:2:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "slot",
                        "nativeSrc": "44662:4:136",
                        "nodeType": "YulIdentifier",
                        "src": "44662:4:136"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "_3",
                                "nativeSrc": "44675:2:136",
                                "nodeType": "YulIdentifier",
                                "src": "44675:2:136"
                              },
                              {
                                "arguments": [
                                  {
                                    "kind": "number",
                                    "nativeSrc": "44683:16:136",
                                    "nodeType": "YulLiteral",
                                    "src": "44683:16:136",
                                    "type": "",
                                    "value": "0xffffff00000000"
                                  }
                                ],
                                "functionName": {
                                  "name": "not",
                                  "nativeSrc": "44679:3:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "44679:3:136"
                                },
                                "nativeSrc": "44679:21:136",
                                "nodeType": "YulFunctionCall",
                                "src": "44679:21:136"
                              }
                            ],
                            "functionName": {
                              "name": "and",
                              "nativeSrc": "44671:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "44671:3:136"
                            },
                            "nativeSrc": "44671:30:136",
                            "nodeType": "YulFunctionCall",
                            "src": "44671:30:136"
                          },
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "kind": "number",
                                    "nativeSrc": "44711:2:136",
                                    "nodeType": "YulLiteral",
                                    "src": "44711:2:136",
                                    "type": "",
                                    "value": "32"
                                  },
                                  {
                                    "name": "value_3",
                                    "nativeSrc": "44715:7:136",
                                    "nodeType": "YulIdentifier",
                                    "src": "44715:7:136"
                                  }
                                ],
                                "functionName": {
                                  "name": "shl",
                                  "nativeSrc": "44707:3:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "44707:3:136"
                                },
                                "nativeSrc": "44707:16:136",
                                "nodeType": "YulFunctionCall",
                                "src": "44707:16:136"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "44725:16:136",
                                "nodeType": "YulLiteral",
                                "src": "44725:16:136",
                                "type": "",
                                "value": "0xffffff00000000"
                              }
                            ],
                            "functionName": {
                              "name": "and",
                              "nativeSrc": "44703:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "44703:3:136"
                            },
                            "nativeSrc": "44703:39:136",
                            "nodeType": "YulFunctionCall",
                            "src": "44703:39:136"
                          }
                        ],
                        "functionName": {
                          "name": "or",
                          "nativeSrc": "44668:2:136",
                          "nodeType": "YulIdentifier",
                          "src": "44668:2:136"
                        },
                        "nativeSrc": "44668:75:136",
                        "nodeType": "YulFunctionCall",
                        "src": "44668:75:136"
                      }
                    ],
                    "functionName": {
                      "name": "sstore",
                      "nativeSrc": "44655:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "44655:6:136"
                    },
                    "nativeSrc": "44655:89:136",
                    "nodeType": "YulFunctionCall",
                    "src": "44655:89:136"
                  },
                  "nativeSrc": "44655:89:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "44655:89:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "slot",
                        "nativeSrc": "44798:4:136",
                        "nodeType": "YulIdentifier",
                        "src": "44798:4:136"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "value",
                                "nativeSrc": "44835:5:136",
                                "nodeType": "YulIdentifier",
                                "src": "44835:5:136"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "44842:2:136",
                                "nodeType": "YulLiteral",
                                "src": "44842:2:136",
                                "type": "",
                                "value": "96"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "44831:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "44831:3:136"
                            },
                            "nativeSrc": "44831:14:136",
                            "nodeType": "YulFunctionCall",
                            "src": "44831:14:136"
                          }
                        ],
                        "functionName": {
                          "name": "read_from_calldatat_uint24",
                          "nativeSrc": "44804:26:136",
                          "nodeType": "YulIdentifier",
                          "src": "44804:26:136"
                        },
                        "nativeSrc": "44804:42:136",
                        "nodeType": "YulFunctionCall",
                        "src": "44804:42:136"
                      }
                    ],
                    "functionName": {
                      "name": "update_storage_value_offset_uint24_to_uint24",
                      "nativeSrc": "44753:44:136",
                      "nodeType": "YulIdentifier",
                      "src": "44753:44:136"
                    },
                    "nativeSrc": "44753:94:136",
                    "nodeType": "YulFunctionCall",
                    "src": "44753:94:136"
                  },
                  "nativeSrc": "44753:94:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "44753:94:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "slot",
                        "nativeSrc": "44901:4:136",
                        "nodeType": "YulIdentifier",
                        "src": "44901:4:136"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "value",
                                "nativeSrc": "44938:5:136",
                                "nodeType": "YulIdentifier",
                                "src": "44938:5:136"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "44945:3:136",
                                "nodeType": "YulLiteral",
                                "src": "44945:3:136",
                                "type": "",
                                "value": "128"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "44934:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "44934:3:136"
                            },
                            "nativeSrc": "44934:15:136",
                            "nodeType": "YulFunctionCall",
                            "src": "44934:15:136"
                          }
                        ],
                        "functionName": {
                          "name": "read_from_calldatat_uint16",
                          "nativeSrc": "44907:26:136",
                          "nodeType": "YulIdentifier",
                          "src": "44907:26:136"
                        },
                        "nativeSrc": "44907:43:136",
                        "nodeType": "YulFunctionCall",
                        "src": "44907:43:136"
                      }
                    ],
                    "functionName": {
                      "name": "update_storage_value_offset_uint16_to_uint16",
                      "nativeSrc": "44856:44:136",
                      "nodeType": "YulIdentifier",
                      "src": "44856:44:136"
                    },
                    "nativeSrc": "44856:95:136",
                    "nodeType": "YulFunctionCall",
                    "src": "44856:95:136"
                  },
                  "nativeSrc": "44856:95:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "44856:95:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "slot",
                        "nativeSrc": "45009:4:136",
                        "nodeType": "YulIdentifier",
                        "src": "45009:4:136"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "value",
                                "nativeSrc": "45046:5:136",
                                "nodeType": "YulIdentifier",
                                "src": "45046:5:136"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "45053:3:136",
                                "nodeType": "YulLiteral",
                                "src": "45053:3:136",
                                "type": "",
                                "value": "160"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "45042:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "45042:3:136"
                            },
                            "nativeSrc": "45042:15:136",
                            "nodeType": "YulFunctionCall",
                            "src": "45042:15:136"
                          }
                        ],
                        "functionName": {
                          "name": "read_from_calldatat_uint16",
                          "nativeSrc": "45015:26:136",
                          "nodeType": "YulIdentifier",
                          "src": "45015:26:136"
                        },
                        "nativeSrc": "45015:43:136",
                        "nodeType": "YulFunctionCall",
                        "src": "45015:43:136"
                      }
                    ],
                    "functionName": {
                      "name": "update_storage_value_offset_t_uint16_to_t_uint16",
                      "nativeSrc": "44960:48:136",
                      "nodeType": "YulIdentifier",
                      "src": "44960:48:136"
                    },
                    "nativeSrc": "44960:99:136",
                    "nodeType": "YulFunctionCall",
                    "src": "44960:99:136"
                  },
                  "nativeSrc": "44960:99:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "44960:99:136"
                }
              ]
            },
            "name": "update_storage_value_offset_0_t_struct$_UpdateConditions_$28153_calldata_ptr_to_t_struct$_UpdateConditions_$28153_storage",
            "nativeSrc": "43905:1160:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "slot",
                "nativeSrc": "44036:4:136",
                "nodeType": "YulTypedName",
                "src": "44036:4:136",
                "type": ""
              },
              {
                "name": "value",
                "nativeSrc": "44042:5:136",
                "nodeType": "YulTypedName",
                "src": "44042:5:136",
                "type": ""
              }
            ],
            "src": "43905:1160:136"
          },
          {
            "body": {
              "nativeSrc": "45351:288:136",
              "nodeType": "YulBlock",
              "src": "45351:288:136",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "45368:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "45368:9:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "45379:3:136",
                        "nodeType": "YulLiteral",
                        "src": "45379:3:136",
                        "type": "",
                        "value": "128"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "45361:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "45361:6:136"
                    },
                    "nativeSrc": "45361:22:136",
                    "nodeType": "YulFunctionCall",
                    "src": "45361:22:136"
                  },
                  "nativeSrc": "45361:22:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "45361:22:136"
                },
                {
                  "nativeSrc": "45392:71:136",
                  "nodeType": "YulAssignment",
                  "src": "45392:71:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "value0",
                        "nativeSrc": "45427:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "45427:6:136"
                      },
                      {
                        "name": "value1",
                        "nativeSrc": "45435:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "45435:6:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "45447:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "45447:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "45458:3:136",
                            "nodeType": "YulLiteral",
                            "src": "45458:3:136",
                            "type": "",
                            "value": "128"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "45443:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "45443:3:136"
                        },
                        "nativeSrc": "45443:19:136",
                        "nodeType": "YulFunctionCall",
                        "src": "45443:19:136"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_string_calldata",
                      "nativeSrc": "45400:26:136",
                      "nodeType": "YulIdentifier",
                      "src": "45400:26:136"
                    },
                    "nativeSrc": "45400:63:136",
                    "nodeType": "YulFunctionCall",
                    "src": "45400:63:136"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "45392:4:136",
                      "nodeType": "YulIdentifier",
                      "src": "45392:4:136"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "45483:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "45483:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "45494:2:136",
                            "nodeType": "YulLiteral",
                            "src": "45494:2:136",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "45479:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "45479:3:136"
                        },
                        "nativeSrc": "45479:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "45479:18:136"
                      },
                      {
                        "name": "value2",
                        "nativeSrc": "45499:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "45499:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "45472:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "45472:6:136"
                    },
                    "nativeSrc": "45472:34:136",
                    "nodeType": "YulFunctionCall",
                    "src": "45472:34:136"
                  },
                  "nativeSrc": "45472:34:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "45472:34:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "45526:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "45526:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "45537:2:136",
                            "nodeType": "YulLiteral",
                            "src": "45537:2:136",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "45522:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "45522:3:136"
                        },
                        "nativeSrc": "45522:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "45522:18:136"
                      },
                      {
                        "arguments": [
                          {
                            "kind": "number",
                            "nativeSrc": "45553:1:136",
                            "nodeType": "YulLiteral",
                            "src": "45553:1:136",
                            "type": "",
                            "value": "0"
                          },
                          {
                            "name": "value3",
                            "nativeSrc": "45556:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "45556:6:136"
                          }
                        ],
                        "functionName": {
                          "name": "signextend",
                          "nativeSrc": "45542:10:136",
                          "nodeType": "YulIdentifier",
                          "src": "45542:10:136"
                        },
                        "nativeSrc": "45542:21:136",
                        "nodeType": "YulFunctionCall",
                        "src": "45542:21:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "45515:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "45515:6:136"
                    },
                    "nativeSrc": "45515:49:136",
                    "nodeType": "YulFunctionCall",
                    "src": "45515:49:136"
                  },
                  "nativeSrc": "45515:49:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "45515:49:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "45584:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "45584:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "45595:2:136",
                            "nodeType": "YulLiteral",
                            "src": "45595:2:136",
                            "type": "",
                            "value": "96"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "45580:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "45580:3:136"
                        },
                        "nativeSrc": "45580:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "45580:18:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value4",
                            "nativeSrc": "45604:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "45604:6:136"
                          },
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "kind": "number",
                                    "nativeSrc": "45620:3:136",
                                    "nodeType": "YulLiteral",
                                    "src": "45620:3:136",
                                    "type": "",
                                    "value": "160"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "45625:1:136",
                                    "nodeType": "YulLiteral",
                                    "src": "45625:1:136",
                                    "type": "",
                                    "value": "1"
                                  }
                                ],
                                "functionName": {
                                  "name": "shl",
                                  "nativeSrc": "45616:3:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "45616:3:136"
                                },
                                "nativeSrc": "45616:11:136",
                                "nodeType": "YulFunctionCall",
                                "src": "45616:11:136"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "45629:1:136",
                                "nodeType": "YulLiteral",
                                "src": "45629:1:136",
                                "type": "",
                                "value": "1"
                              }
                            ],
                            "functionName": {
                              "name": "sub",
                              "nativeSrc": "45612:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "45612:3:136"
                            },
                            "nativeSrc": "45612:19:136",
                            "nodeType": "YulFunctionCall",
                            "src": "45612:19:136"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "45600:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "45600:3:136"
                        },
                        "nativeSrc": "45600:32:136",
                        "nodeType": "YulFunctionCall",
                        "src": "45600:32:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "45573:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "45573:6:136"
                    },
                    "nativeSrc": "45573:60:136",
                    "nodeType": "YulFunctionCall",
                    "src": "45573:60:136"
                  },
                  "nativeSrc": "45573:60:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "45573:60:136"
                }
              ]
            },
            "name": "abi_encode_tuple_t_string_calldata_ptr_t_userDefinedValueType$_RadonHash_$37153_t_int8_t_contract$_IWitOracleRadonRegistry_$27394__to_t_string_memory_ptr_t_bytes32_t_int8_t_address__fromStack_library_reversed",
            "nativeSrc": "45070:569:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "45288:9:136",
                "nodeType": "YulTypedName",
                "src": "45288:9:136",
                "type": ""
              },
              {
                "name": "value4",
                "nativeSrc": "45299:6:136",
                "nodeType": "YulTypedName",
                "src": "45299:6:136",
                "type": ""
              },
              {
                "name": "value3",
                "nativeSrc": "45307:6:136",
                "nodeType": "YulTypedName",
                "src": "45307:6:136",
                "type": ""
              },
              {
                "name": "value2",
                "nativeSrc": "45315:6:136",
                "nodeType": "YulTypedName",
                "src": "45315:6:136",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "45323:6:136",
                "nodeType": "YulTypedName",
                "src": "45323:6:136",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "45331:6:136",
                "nodeType": "YulTypedName",
                "src": "45331:6:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "45342:4:136",
                "nodeType": "YulTypedName",
                "src": "45342:4:136",
                "type": ""
              }
            ],
            "src": "45070:569:136"
          },
          {
            "body": {
              "nativeSrc": "45815:174:136",
              "nodeType": "YulBlock",
              "src": "45815:174:136",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "pos",
                        "nativeSrc": "45832:3:136",
                        "nodeType": "YulIdentifier",
                        "src": "45832:3:136"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "kind": "number",
                                "nativeSrc": "45845:2:136",
                                "nodeType": "YulLiteral",
                                "src": "45845:2:136",
                                "type": "",
                                "value": "96"
                              },
                              {
                                "name": "value0",
                                "nativeSrc": "45849:6:136",
                                "nodeType": "YulIdentifier",
                                "src": "45849:6:136"
                              }
                            ],
                            "functionName": {
                              "name": "shl",
                              "nativeSrc": "45841:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "45841:3:136"
                            },
                            "nativeSrc": "45841:15:136",
                            "nodeType": "YulFunctionCall",
                            "src": "45841:15:136"
                          },
                          {
                            "arguments": [
                              {
                                "kind": "number",
                                "nativeSrc": "45862:26:136",
                                "nodeType": "YulLiteral",
                                "src": "45862:26:136",
                                "type": "",
                                "value": "0xffffffffffffffffffffffff"
                              }
                            ],
                            "functionName": {
                              "name": "not",
                              "nativeSrc": "45858:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "45858:3:136"
                            },
                            "nativeSrc": "45858:31:136",
                            "nodeType": "YulFunctionCall",
                            "src": "45858:31:136"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "45837:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "45837:3:136"
                        },
                        "nativeSrc": "45837:53:136",
                        "nodeType": "YulFunctionCall",
                        "src": "45837:53:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "45825:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "45825:6:136"
                    },
                    "nativeSrc": "45825:66:136",
                    "nodeType": "YulFunctionCall",
                    "src": "45825:66:136"
                  },
                  "nativeSrc": "45825:66:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "45825:66:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "45911:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "45911:3:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "45916:2:136",
                            "nodeType": "YulLiteral",
                            "src": "45916:2:136",
                            "type": "",
                            "value": "20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "45907:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "45907:3:136"
                        },
                        "nativeSrc": "45907:12:136",
                        "nodeType": "YulFunctionCall",
                        "src": "45907:12:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value1",
                            "nativeSrc": "45925:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "45925:6:136"
                          },
                          {
                            "arguments": [
                              {
                                "kind": "number",
                                "nativeSrc": "45937:3:136",
                                "nodeType": "YulLiteral",
                                "src": "45937:3:136",
                                "type": "",
                                "value": "224"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "45942:10:136",
                                "nodeType": "YulLiteral",
                                "src": "45942:10:136",
                                "type": "",
                                "value": "0xffffffff"
                              }
                            ],
                            "functionName": {
                              "name": "shl",
                              "nativeSrc": "45933:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "45933:3:136"
                            },
                            "nativeSrc": "45933:20:136",
                            "nodeType": "YulFunctionCall",
                            "src": "45933:20:136"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "45921:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "45921:3:136"
                        },
                        "nativeSrc": "45921:33:136",
                        "nodeType": "YulFunctionCall",
                        "src": "45921:33:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "45900:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "45900:6:136"
                    },
                    "nativeSrc": "45900:55:136",
                    "nodeType": "YulFunctionCall",
                    "src": "45900:55:136"
                  },
                  "nativeSrc": "45900:55:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "45900:55:136"
                },
                {
                  "nativeSrc": "45964:19:136",
                  "nodeType": "YulAssignment",
                  "src": "45964:19:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "pos",
                        "nativeSrc": "45975:3:136",
                        "nodeType": "YulIdentifier",
                        "src": "45975:3:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "45980:2:136",
                        "nodeType": "YulLiteral",
                        "src": "45980:2:136",
                        "type": "",
                        "value": "24"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "45971:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "45971:3:136"
                    },
                    "nativeSrc": "45971:12:136",
                    "nodeType": "YulFunctionCall",
                    "src": "45971:12:136"
                  },
                  "variableNames": [
                    {
                      "name": "end",
                      "nativeSrc": "45964:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "45964:3:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_packed_t_address_t_userDefinedValueType$_ID4_$28155__to_t_address_t_bytes4__nonPadded_inplace_fromStack_reversed",
            "nativeSrc": "45644:345:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "pos",
                "nativeSrc": "45783:3:136",
                "nodeType": "YulTypedName",
                "src": "45783:3:136",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "45788:6:136",
                "nodeType": "YulTypedName",
                "src": "45788:6:136",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "45796:6:136",
                "nodeType": "YulTypedName",
                "src": "45796:6:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "end",
                "nativeSrc": "45807:3:136",
                "nodeType": "YulTypedName",
                "src": "45807:3:136",
                "type": ""
              }
            ],
            "src": "45644:345:136"
          },
          {
            "body": {
              "nativeSrc": "46210:204:136",
              "nodeType": "YulBlock",
              "src": "46210:204:136",
              "statements": [
                {
                  "nativeSrc": "46220:26:136",
                  "nodeType": "YulAssignment",
                  "src": "46220:26:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "46232:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "46232:9:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "46243:2:136",
                        "nodeType": "YulLiteral",
                        "src": "46243:2:136",
                        "type": "",
                        "value": "96"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "46228:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "46228:3:136"
                    },
                    "nativeSrc": "46228:18:136",
                    "nodeType": "YulFunctionCall",
                    "src": "46228:18:136"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "46220:4:136",
                      "nodeType": "YulIdentifier",
                      "src": "46220:4:136"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "46262:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "46262:9:136"
                      },
                      {
                        "name": "value0",
                        "nativeSrc": "46273:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "46273:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "46255:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "46255:6:136"
                    },
                    "nativeSrc": "46255:25:136",
                    "nodeType": "YulFunctionCall",
                    "src": "46255:25:136"
                  },
                  "nativeSrc": "46255:25:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "46255:25:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "46300:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "46300:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "46311:2:136",
                            "nodeType": "YulLiteral",
                            "src": "46311:2:136",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "46296:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "46296:3:136"
                        },
                        "nativeSrc": "46296:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "46296:18:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value1",
                            "nativeSrc": "46320:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "46320:6:136"
                          },
                          {
                            "arguments": [
                              {
                                "kind": "number",
                                "nativeSrc": "46332:3:136",
                                "nodeType": "YulLiteral",
                                "src": "46332:3:136",
                                "type": "",
                                "value": "224"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "46337:10:136",
                                "nodeType": "YulLiteral",
                                "src": "46337:10:136",
                                "type": "",
                                "value": "0xffffffff"
                              }
                            ],
                            "functionName": {
                              "name": "shl",
                              "nativeSrc": "46328:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "46328:3:136"
                            },
                            "nativeSrc": "46328:20:136",
                            "nodeType": "YulFunctionCall",
                            "src": "46328:20:136"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "46316:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "46316:3:136"
                        },
                        "nativeSrc": "46316:33:136",
                        "nodeType": "YulFunctionCall",
                        "src": "46316:33:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "46289:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "46289:6:136"
                    },
                    "nativeSrc": "46289:61:136",
                    "nodeType": "YulFunctionCall",
                    "src": "46289:61:136"
                  },
                  "nativeSrc": "46289:61:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "46289:61:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "46370:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "46370:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "46381:2:136",
                            "nodeType": "YulLiteral",
                            "src": "46381:2:136",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "46366:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "46366:3:136"
                        },
                        "nativeSrc": "46366:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "46366:18:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value2",
                            "nativeSrc": "46390:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "46390:6:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "46398:8:136",
                            "nodeType": "YulLiteral",
                            "src": "46398:8:136",
                            "type": "",
                            "value": "0xffffff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "46386:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "46386:3:136"
                        },
                        "nativeSrc": "46386:21:136",
                        "nodeType": "YulFunctionCall",
                        "src": "46386:21:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "46359:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "46359:6:136"
                    },
                    "nativeSrc": "46359:49:136",
                    "nodeType": "YulFunctionCall",
                    "src": "46359:49:136"
                  },
                  "nativeSrc": "46359:49:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "46359:49:136"
                }
              ]
            },
            "name": "abi_encode_tuple_t_struct$_PriceFeed_$22395_storage_ptr_t_userDefinedValueType$_ID4_$28155_t_uint24__to_t_uint256_t_bytes4_t_uint24__fromStack_library_reversed",
            "nativeSrc": "45994:420:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "46163:9:136",
                "nodeType": "YulTypedName",
                "src": "46163:9:136",
                "type": ""
              },
              {
                "name": "value2",
                "nativeSrc": "46174:6:136",
                "nodeType": "YulTypedName",
                "src": "46174:6:136",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "46182:6:136",
                "nodeType": "YulTypedName",
                "src": "46182:6:136",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "46190:6:136",
                "nodeType": "YulTypedName",
                "src": "46190:6:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "46201:4:136",
                "nodeType": "YulTypedName",
                "src": "46201:4:136",
                "type": ""
              }
            ],
            "src": "45994:420:136"
          },
          {
            "body": {
              "nativeSrc": "46528:898:136",
              "nodeType": "YulBlock",
              "src": "46528:898:136",
              "statements": [
                {
                  "nativeSrc": "46538:43:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "46538:43:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "46556:7:136",
                            "nodeType": "YulIdentifier",
                            "src": "46556:7:136"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "46565:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "46565:9:136"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "46552:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "46552:3:136"
                        },
                        "nativeSrc": "46552:23:136",
                        "nodeType": "YulFunctionCall",
                        "src": "46552:23:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "46577:3:136",
                        "nodeType": "YulLiteral",
                        "src": "46577:3:136",
                        "type": "",
                        "value": "192"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "46548:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "46548:3:136"
                    },
                    "nativeSrc": "46548:33:136",
                    "nodeType": "YulFunctionCall",
                    "src": "46548:33:136"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "46542:2:136",
                      "nodeType": "YulTypedName",
                      "src": "46542:2:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "46596:16:136",
                    "nodeType": "YulBlock",
                    "src": "46596:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "46605:1:136",
                              "nodeType": "YulLiteral",
                              "src": "46605:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "46608:1:136",
                              "nodeType": "YulLiteral",
                              "src": "46608:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "46598:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "46598:6:136"
                          },
                          "nativeSrc": "46598:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "46598:12:136"
                        },
                        "nativeSrc": "46598:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "46598:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "name": "_1",
                    "nativeSrc": "46593:2:136",
                    "nodeType": "YulIdentifier",
                    "src": "46593:2:136"
                  },
                  "nativeSrc": "46590:22:136",
                  "nodeType": "YulIf",
                  "src": "46590:22:136"
                },
                {
                  "nativeSrc": "46621:7:136",
                  "nodeType": "YulAssignment",
                  "src": "46621:7:136",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "46627:1:136",
                    "nodeType": "YulLiteral",
                    "src": "46627:1:136",
                    "type": "",
                    "value": "0"
                  },
                  "variableNames": [
                    {
                      "name": "_1",
                      "nativeSrc": "46621:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "46621:2:136"
                    }
                  ]
                },
                {
                  "nativeSrc": "46637:23:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "46637:23:136",
                  "value": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "46657:2:136",
                        "nodeType": "YulLiteral",
                        "src": "46657:2:136",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "46651:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "46651:5:136"
                    },
                    "nativeSrc": "46651:9:136",
                    "nodeType": "YulFunctionCall",
                    "src": "46651:9:136"
                  },
                  "variables": [
                    {
                      "name": "memPtr",
                      "nativeSrc": "46641:6:136",
                      "nodeType": "YulTypedName",
                      "src": "46641:6:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "memPtr",
                        "nativeSrc": "46694:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "46694:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "finalize_allocation_6265",
                      "nativeSrc": "46669:24:136",
                      "nodeType": "YulIdentifier",
                      "src": "46669:24:136"
                    },
                    "nativeSrc": "46669:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "46669:32:136"
                  },
                  "nativeSrc": "46669:32:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "46669:32:136"
                },
                {
                  "nativeSrc": "46710:29:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "46710:29:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "46729:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "46729:9:136"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "46723:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "46723:5:136"
                    },
                    "nativeSrc": "46723:16:136",
                    "nodeType": "YulFunctionCall",
                    "src": "46723:16:136"
                  },
                  "variables": [
                    {
                      "name": "value",
                      "nativeSrc": "46714:5:136",
                      "nodeType": "YulTypedName",
                      "src": "46714:5:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "46772:5:136",
                        "nodeType": "YulIdentifier",
                        "src": "46772:5:136"
                      }
                    ],
                    "functionName": {
                      "name": "validator_revert_uint64",
                      "nativeSrc": "46748:23:136",
                      "nodeType": "YulIdentifier",
                      "src": "46748:23:136"
                    },
                    "nativeSrc": "46748:30:136",
                    "nodeType": "YulFunctionCall",
                    "src": "46748:30:136"
                  },
                  "nativeSrc": "46748:30:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "46748:30:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "memPtr",
                        "nativeSrc": "46794:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "46794:6:136"
                      },
                      {
                        "name": "value",
                        "nativeSrc": "46802:5:136",
                        "nodeType": "YulIdentifier",
                        "src": "46802:5:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "46787:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "46787:6:136"
                    },
                    "nativeSrc": "46787:21:136",
                    "nodeType": "YulFunctionCall",
                    "src": "46787:21:136"
                  },
                  "nativeSrc": "46787:21:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "46787:21:136"
                },
                {
                  "nativeSrc": "46817:40:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "46817:40:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "46842:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "46842:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "46853:2:136",
                            "nodeType": "YulLiteral",
                            "src": "46853:2:136",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "46838:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "46838:3:136"
                        },
                        "nativeSrc": "46838:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "46838:18:136"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "46832:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "46832:5:136"
                    },
                    "nativeSrc": "46832:25:136",
                    "nodeType": "YulFunctionCall",
                    "src": "46832:25:136"
                  },
                  "variables": [
                    {
                      "name": "value_1",
                      "nativeSrc": "46821:7:136",
                      "nodeType": "YulTypedName",
                      "src": "46821:7:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value_1",
                        "nativeSrc": "46890:7:136",
                        "nodeType": "YulIdentifier",
                        "src": "46890:7:136"
                      }
                    ],
                    "functionName": {
                      "name": "validator_revert_uint64",
                      "nativeSrc": "46866:23:136",
                      "nodeType": "YulIdentifier",
                      "src": "46866:23:136"
                    },
                    "nativeSrc": "46866:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "46866:32:136"
                  },
                  "nativeSrc": "46866:32:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "46866:32:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "memPtr",
                            "nativeSrc": "46918:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "46918:6:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "46926:2:136",
                            "nodeType": "YulLiteral",
                            "src": "46926:2:136",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "46914:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "46914:3:136"
                        },
                        "nativeSrc": "46914:15:136",
                        "nodeType": "YulFunctionCall",
                        "src": "46914:15:136"
                      },
                      {
                        "name": "value_1",
                        "nativeSrc": "46931:7:136",
                        "nodeType": "YulIdentifier",
                        "src": "46931:7:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "46907:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "46907:6:136"
                    },
                    "nativeSrc": "46907:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "46907:32:136"
                  },
                  "nativeSrc": "46907:32:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "46907:32:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "memPtr",
                            "nativeSrc": "46959:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "46959:6:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "46967:2:136",
                            "nodeType": "YulLiteral",
                            "src": "46967:2:136",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "46955:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "46955:3:136"
                        },
                        "nativeSrc": "46955:15:136",
                        "nodeType": "YulFunctionCall",
                        "src": "46955:15:136"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "headStart",
                                "nativeSrc": "47004:9:136",
                                "nodeType": "YulIdentifier",
                                "src": "47004:9:136"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "47015:2:136",
                                "nodeType": "YulLiteral",
                                "src": "47015:2:136",
                                "type": "",
                                "value": "64"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "47000:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "47000:3:136"
                            },
                            "nativeSrc": "47000:18:136",
                            "nodeType": "YulFunctionCall",
                            "src": "47000:18:136"
                          }
                        ],
                        "functionName": {
                          "name": "abi_decode_int56_fromMemory",
                          "nativeSrc": "46972:27:136",
                          "nodeType": "YulIdentifier",
                          "src": "46972:27:136"
                        },
                        "nativeSrc": "46972:47:136",
                        "nodeType": "YulFunctionCall",
                        "src": "46972:47:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "46948:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "46948:6:136"
                    },
                    "nativeSrc": "46948:72:136",
                    "nodeType": "YulFunctionCall",
                    "src": "46948:72:136"
                  },
                  "nativeSrc": "46948:72:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "46948:72:136"
                },
                {
                  "nativeSrc": "47029:40:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "47029:40:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "47054:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "47054:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "47065:2:136",
                            "nodeType": "YulLiteral",
                            "src": "47065:2:136",
                            "type": "",
                            "value": "96"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "47050:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "47050:3:136"
                        },
                        "nativeSrc": "47050:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "47050:18:136"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "47044:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "47044:5:136"
                    },
                    "nativeSrc": "47044:25:136",
                    "nodeType": "YulFunctionCall",
                    "src": "47044:25:136"
                  },
                  "variables": [
                    {
                      "name": "value_2",
                      "nativeSrc": "47033:7:136",
                      "nodeType": "YulTypedName",
                      "src": "47033:7:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value_2",
                        "nativeSrc": "47100:7:136",
                        "nodeType": "YulIdentifier",
                        "src": "47100:7:136"
                      }
                    ],
                    "functionName": {
                      "name": "validator_revert_int8",
                      "nativeSrc": "47078:21:136",
                      "nodeType": "YulIdentifier",
                      "src": "47078:21:136"
                    },
                    "nativeSrc": "47078:30:136",
                    "nodeType": "YulFunctionCall",
                    "src": "47078:30:136"
                  },
                  "nativeSrc": "47078:30:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "47078:30:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "memPtr",
                            "nativeSrc": "47128:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "47128:6:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "47136:2:136",
                            "nodeType": "YulLiteral",
                            "src": "47136:2:136",
                            "type": "",
                            "value": "96"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "47124:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "47124:3:136"
                        },
                        "nativeSrc": "47124:15:136",
                        "nodeType": "YulFunctionCall",
                        "src": "47124:15:136"
                      },
                      {
                        "name": "value_2",
                        "nativeSrc": "47141:7:136",
                        "nodeType": "YulIdentifier",
                        "src": "47141:7:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "47117:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "47117:6:136"
                    },
                    "nativeSrc": "47117:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "47117:32:136"
                  },
                  "nativeSrc": "47117:32:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "47117:32:136"
                },
                {
                  "nativeSrc": "47158:41:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "47158:41:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "47183:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "47183:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "47194:3:136",
                            "nodeType": "YulLiteral",
                            "src": "47194:3:136",
                            "type": "",
                            "value": "128"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "47179:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "47179:3:136"
                        },
                        "nativeSrc": "47179:19:136",
                        "nodeType": "YulFunctionCall",
                        "src": "47179:19:136"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "47173:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "47173:5:136"
                    },
                    "nativeSrc": "47173:26:136",
                    "nodeType": "YulFunctionCall",
                    "src": "47173:26:136"
                  },
                  "variables": [
                    {
                      "name": "value_3",
                      "nativeSrc": "47162:7:136",
                      "nodeType": "YulTypedName",
                      "src": "47162:7:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value_3",
                        "nativeSrc": "47232:7:136",
                        "nodeType": "YulIdentifier",
                        "src": "47232:7:136"
                      }
                    ],
                    "functionName": {
                      "name": "validator_revert_uint64",
                      "nativeSrc": "47208:23:136",
                      "nodeType": "YulIdentifier",
                      "src": "47208:23:136"
                    },
                    "nativeSrc": "47208:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "47208:32:136"
                  },
                  "nativeSrc": "47208:32:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "47208:32:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "memPtr",
                            "nativeSrc": "47260:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "47260:6:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "47268:3:136",
                            "nodeType": "YulLiteral",
                            "src": "47268:3:136",
                            "type": "",
                            "value": "128"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "47256:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "47256:3:136"
                        },
                        "nativeSrc": "47256:16:136",
                        "nodeType": "YulFunctionCall",
                        "src": "47256:16:136"
                      },
                      {
                        "name": "value_3",
                        "nativeSrc": "47274:7:136",
                        "nodeType": "YulIdentifier",
                        "src": "47274:7:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "47249:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "47249:6:136"
                    },
                    "nativeSrc": "47249:33:136",
                    "nodeType": "YulFunctionCall",
                    "src": "47249:33:136"
                  },
                  "nativeSrc": "47249:33:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "47249:33:136"
                },
                {
                  "nativeSrc": "47291:16:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "47291:16:136",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "47306:1:136",
                    "nodeType": "YulLiteral",
                    "src": "47306:1:136",
                    "type": "",
                    "value": "0"
                  },
                  "variables": [
                    {
                      "name": "value_4",
                      "nativeSrc": "47295:7:136",
                      "nodeType": "YulTypedName",
                      "src": "47295:7:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "47316:37:136",
                  "nodeType": "YulAssignment",
                  "src": "47316:37:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "47337:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "47337:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "47348:3:136",
                            "nodeType": "YulLiteral",
                            "src": "47348:3:136",
                            "type": "",
                            "value": "160"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "47333:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "47333:3:136"
                        },
                        "nativeSrc": "47333:19:136",
                        "nodeType": "YulFunctionCall",
                        "src": "47333:19:136"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "47327:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "47327:5:136"
                    },
                    "nativeSrc": "47327:26:136",
                    "nodeType": "YulFunctionCall",
                    "src": "47327:26:136"
                  },
                  "variableNames": [
                    {
                      "name": "value_4",
                      "nativeSrc": "47316:7:136",
                      "nodeType": "YulIdentifier",
                      "src": "47316:7:136"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "memPtr",
                            "nativeSrc": "47373:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "47373:6:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "47381:3:136",
                            "nodeType": "YulLiteral",
                            "src": "47381:3:136",
                            "type": "",
                            "value": "160"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "47369:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "47369:3:136"
                        },
                        "nativeSrc": "47369:16:136",
                        "nodeType": "YulFunctionCall",
                        "src": "47369:16:136"
                      },
                      {
                        "name": "value_4",
                        "nativeSrc": "47387:7:136",
                        "nodeType": "YulIdentifier",
                        "src": "47387:7:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "47362:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "47362:6:136"
                    },
                    "nativeSrc": "47362:33:136",
                    "nodeType": "YulFunctionCall",
                    "src": "47362:33:136"
                  },
                  "nativeSrc": "47362:33:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "47362:33:136"
                },
                {
                  "nativeSrc": "47404:16:136",
                  "nodeType": "YulAssignment",
                  "src": "47404:16:136",
                  "value": {
                    "name": "memPtr",
                    "nativeSrc": "47414:6:136",
                    "nodeType": "YulIdentifier",
                    "src": "47414:6:136"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "47404:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "47404:6:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_struct$_PriceData_$22357_memory_ptr_fromMemory",
            "nativeSrc": "46419:1007:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "46494:9:136",
                "nodeType": "YulTypedName",
                "src": "46494:9:136",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "46505:7:136",
                "nodeType": "YulTypedName",
                "src": "46505:7:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "46517:6:136",
                "nodeType": "YulTypedName",
                "src": "46517:6:136",
                "type": ""
              }
            ],
            "src": "46419:1007:136"
          },
          {
            "body": {
              "nativeSrc": "47539:101:136",
              "nodeType": "YulBlock",
              "src": "47539:101:136",
              "statements": [
                {
                  "nativeSrc": "47549:26:136",
                  "nodeType": "YulAssignment",
                  "src": "47549:26:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "47561:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "47561:9:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "47572:2:136",
                        "nodeType": "YulLiteral",
                        "src": "47572:2:136",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "47557:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "47557:3:136"
                    },
                    "nativeSrc": "47557:18:136",
                    "nodeType": "YulFunctionCall",
                    "src": "47557:18:136"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "47549:4:136",
                      "nodeType": "YulIdentifier",
                      "src": "47549:4:136"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "47591:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "47591:9:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value0",
                            "nativeSrc": "47606:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "47606:6:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "47614:18:136",
                            "nodeType": "YulLiteral",
                            "src": "47614:18:136",
                            "type": "",
                            "value": "0xffffffffffffffff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "47602:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "47602:3:136"
                        },
                        "nativeSrc": "47602:31:136",
                        "nodeType": "YulFunctionCall",
                        "src": "47602:31:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "47584:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "47584:6:136"
                    },
                    "nativeSrc": "47584:50:136",
                    "nodeType": "YulFunctionCall",
                    "src": "47584:50:136"
                  },
                  "nativeSrc": "47584:50:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "47584:50:136"
                }
              ]
            },
            "name": "abi_encode_tuple_t_rational_1_by_1__to_t_uint64__fromStack_reversed",
            "nativeSrc": "47431:209:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "47508:9:136",
                "nodeType": "YulTypedName",
                "src": "47508:9:136",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "47519:6:136",
                "nodeType": "YulTypedName",
                "src": "47519:6:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "47530:4:136",
                "nodeType": "YulTypedName",
                "src": "47530:4:136",
                "type": ""
              }
            ],
            "src": "47431:209:136"
          },
          {
            "body": {
              "nativeSrc": "47819:173:136",
              "nodeType": "YulBlock",
              "src": "47819:173:136",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "47836:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "47836:9:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "47847:2:136",
                        "nodeType": "YulLiteral",
                        "src": "47847:2:136",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "47829:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "47829:6:136"
                    },
                    "nativeSrc": "47829:21:136",
                    "nodeType": "YulFunctionCall",
                    "src": "47829:21:136"
                  },
                  "nativeSrc": "47829:21:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "47829:21:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "47870:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "47870:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "47881:2:136",
                            "nodeType": "YulLiteral",
                            "src": "47881:2:136",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "47866:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "47866:3:136"
                        },
                        "nativeSrc": "47866:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "47866:18:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "47886:2:136",
                        "nodeType": "YulLiteral",
                        "src": "47886:2:136",
                        "type": "",
                        "value": "23"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "47859:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "47859:6:136"
                    },
                    "nativeSrc": "47859:30:136",
                    "nodeType": "YulFunctionCall",
                    "src": "47859:30:136"
                  },
                  "nativeSrc": "47859:30:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "47859:30:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "47909:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "47909:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "47920:2:136",
                            "nodeType": "YulLiteral",
                            "src": "47920:2:136",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "47905:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "47905:3:136"
                        },
                        "nativeSrc": "47905:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "47905:18:136"
                      },
                      {
                        "hexValue": "63626f723a2063616e6e6f742066657463682064617461",
                        "kind": "string",
                        "nativeSrc": "47925:25:136",
                        "nodeType": "YulLiteral",
                        "src": "47925:25:136",
                        "type": "",
                        "value": "cbor: cannot fetch data"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "47898:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "47898:6:136"
                    },
                    "nativeSrc": "47898:53:136",
                    "nodeType": "YulFunctionCall",
                    "src": "47898:53:136"
                  },
                  "nativeSrc": "47898:53:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "47898:53:136"
                },
                {
                  "nativeSrc": "47960:26:136",
                  "nodeType": "YulAssignment",
                  "src": "47960:26:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "47972:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "47972:9:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "47983:2:136",
                        "nodeType": "YulLiteral",
                        "src": "47983:2:136",
                        "type": "",
                        "value": "96"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "47968:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "47968:3:136"
                    },
                    "nativeSrc": "47968:18:136",
                    "nodeType": "YulFunctionCall",
                    "src": "47968:18:136"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "47960:4:136",
                      "nodeType": "YulIdentifier",
                      "src": "47960:4:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_t_stringliteral_f9e00dcd71685f8522f8d07872510c3a81c2039687b393455d27e0cdc22dcafa__to_t_string_memory_ptr__fromStack_reversed",
            "nativeSrc": "47645:347:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "47796:9:136",
                "nodeType": "YulTypedName",
                "src": "47796:9:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "47810:4:136",
                "nodeType": "YulTypedName",
                "src": "47810:4:136",
                "type": ""
              }
            ],
            "src": "47645:347:136"
          },
          {
            "body": {
              "nativeSrc": "48171:231:136",
              "nodeType": "YulBlock",
              "src": "48171:231:136",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "48188:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "48188:9:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "48199:2:136",
                        "nodeType": "YulLiteral",
                        "src": "48199:2:136",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "48181:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "48181:6:136"
                    },
                    "nativeSrc": "48181:21:136",
                    "nodeType": "YulFunctionCall",
                    "src": "48181:21:136"
                  },
                  "nativeSrc": "48181:21:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "48181:21:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "48222:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "48222:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "48233:2:136",
                            "nodeType": "YulLiteral",
                            "src": "48233:2:136",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "48218:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "48218:3:136"
                        },
                        "nativeSrc": "48218:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "48218:18:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "48238:2:136",
                        "nodeType": "YulLiteral",
                        "src": "48238:2:136",
                        "type": "",
                        "value": "41"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "48211:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "48211:6:136"
                    },
                    "nativeSrc": "48211:30:136",
                    "nodeType": "YulFunctionCall",
                    "src": "48211:30:136"
                  },
                  "nativeSrc": "48211:30:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "48211:30:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "48261:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "48261:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "48272:2:136",
                            "nodeType": "YulLiteral",
                            "src": "48272:2:136",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "48257:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "48257:3:136"
                        },
                        "nativeSrc": "48257:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "48257:18:136"
                      },
                      {
                        "hexValue": "4f776e61626c6532537465703a2063616c6c6572206973206e6f742074686520",
                        "kind": "string",
                        "nativeSrc": "48277:34:136",
                        "nodeType": "YulLiteral",
                        "src": "48277:34:136",
                        "type": "",
                        "value": "Ownable2Step: caller is not the "
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "48250:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "48250:6:136"
                    },
                    "nativeSrc": "48250:62:136",
                    "nodeType": "YulFunctionCall",
                    "src": "48250:62:136"
                  },
                  "nativeSrc": "48250:62:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "48250:62:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "48332:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "48332:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "48343:2:136",
                            "nodeType": "YulLiteral",
                            "src": "48343:2:136",
                            "type": "",
                            "value": "96"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "48328:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "48328:3:136"
                        },
                        "nativeSrc": "48328:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "48328:18:136"
                      },
                      {
                        "hexValue": "6e6577206f776e6572",
                        "kind": "string",
                        "nativeSrc": "48348:11:136",
                        "nodeType": "YulLiteral",
                        "src": "48348:11:136",
                        "type": "",
                        "value": "new owner"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "48321:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "48321:6:136"
                    },
                    "nativeSrc": "48321:39:136",
                    "nodeType": "YulFunctionCall",
                    "src": "48321:39:136"
                  },
                  "nativeSrc": "48321:39:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "48321:39:136"
                },
                {
                  "nativeSrc": "48369:27:136",
                  "nodeType": "YulAssignment",
                  "src": "48369:27:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "48381:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "48381:9:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "48392:3:136",
                        "nodeType": "YulLiteral",
                        "src": "48392:3:136",
                        "type": "",
                        "value": "128"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "48377:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "48377:3:136"
                    },
                    "nativeSrc": "48377:19:136",
                    "nodeType": "YulFunctionCall",
                    "src": "48377:19:136"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "48369:4:136",
                      "nodeType": "YulIdentifier",
                      "src": "48369:4:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_t_stringliteral_225559eb8402045bea7ff07c35d0ad8c0547830223ac1c21d44fb948d6896ebc__to_t_string_memory_ptr__fromStack_reversed",
            "nativeSrc": "47997:405:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "48148:9:136",
                "nodeType": "YulTypedName",
                "src": "48148:9:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "48162:4:136",
                "nodeType": "YulTypedName",
                "src": "48162:4:136",
                "type": ""
              }
            ],
            "src": "47997:405:136"
          },
          {
            "body": {
              "nativeSrc": "48581:173:136",
              "nodeType": "YulBlock",
              "src": "48581:173:136",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "48598:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "48598:9:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "48609:2:136",
                        "nodeType": "YulLiteral",
                        "src": "48609:2:136",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "48591:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "48591:6:136"
                    },
                    "nativeSrc": "48591:21:136",
                    "nodeType": "YulFunctionCall",
                    "src": "48591:21:136"
                  },
                  "nativeSrc": "48591:21:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "48591:21:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "48632:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "48632:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "48643:2:136",
                            "nodeType": "YulLiteral",
                            "src": "48643:2:136",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "48628:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "48628:3:136"
                        },
                        "nativeSrc": "48628:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "48628:18:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "48648:2:136",
                        "nodeType": "YulLiteral",
                        "src": "48648:2:136",
                        "type": "",
                        "value": "23"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "48621:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "48621:6:136"
                    },
                    "nativeSrc": "48621:30:136",
                    "nodeType": "YulFunctionCall",
                    "src": "48621:30:136"
                  },
                  "nativeSrc": "48621:30:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "48621:30:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "48671:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "48671:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "48682:2:136",
                            "nodeType": "YulLiteral",
                            "src": "48682:2:136",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "48667:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "48667:3:136"
                        },
                        "nativeSrc": "48667:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "48667:18:136"
                      },
                      {
                        "hexValue": "436c6f6e61626c653a20435245415445206661696c6564",
                        "kind": "string",
                        "nativeSrc": "48687:25:136",
                        "nodeType": "YulLiteral",
                        "src": "48687:25:136",
                        "type": "",
                        "value": "Clonable: CREATE failed"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "48660:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "48660:6:136"
                    },
                    "nativeSrc": "48660:53:136",
                    "nodeType": "YulFunctionCall",
                    "src": "48660:53:136"
                  },
                  "nativeSrc": "48660:53:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "48660:53:136"
                },
                {
                  "nativeSrc": "48722:26:136",
                  "nodeType": "YulAssignment",
                  "src": "48722:26:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "48734:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "48734:9:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "48745:2:136",
                        "nodeType": "YulLiteral",
                        "src": "48745:2:136",
                        "type": "",
                        "value": "96"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "48730:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "48730:3:136"
                    },
                    "nativeSrc": "48730:18:136",
                    "nodeType": "YulFunctionCall",
                    "src": "48730:18:136"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "48722:4:136",
                      "nodeType": "YulIdentifier",
                      "src": "48722:4:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_t_stringliteral_f8cfba6ed78807628b270dde5bcd8cbfca4a14a698a8ee8cad29a9a244bc492e__to_t_string_memory_ptr__fromStack_reversed",
            "nativeSrc": "48407:347:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "48558:9:136",
                "nodeType": "YulTypedName",
                "src": "48558:9:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "48572:4:136",
                "nodeType": "YulTypedName",
                "src": "48572:4:136",
                "type": ""
              }
            ],
            "src": "48407:347:136"
          },
          {
            "body": {
              "nativeSrc": "48960:240:136",
              "nodeType": "YulBlock",
              "src": "48960:240:136",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "pos",
                        "nativeSrc": "48977:3:136",
                        "nodeType": "YulIdentifier",
                        "src": "48977:3:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value0",
                            "nativeSrc": "48986:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "48986:6:136"
                          },
                          {
                            "arguments": [
                              {
                                "kind": "number",
                                "nativeSrc": "48998:3:136",
                                "nodeType": "YulLiteral",
                                "src": "48998:3:136",
                                "type": "",
                                "value": "248"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "49003:3:136",
                                "nodeType": "YulLiteral",
                                "src": "49003:3:136",
                                "type": "",
                                "value": "255"
                              }
                            ],
                            "functionName": {
                              "name": "shl",
                              "nativeSrc": "48994:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "48994:3:136"
                            },
                            "nativeSrc": "48994:13:136",
                            "nodeType": "YulFunctionCall",
                            "src": "48994:13:136"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "48982:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "48982:3:136"
                        },
                        "nativeSrc": "48982:26:136",
                        "nodeType": "YulFunctionCall",
                        "src": "48982:26:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "48970:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "48970:6:136"
                    },
                    "nativeSrc": "48970:39:136",
                    "nodeType": "YulFunctionCall",
                    "src": "48970:39:136"
                  },
                  "nativeSrc": "48970:39:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "48970:39:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "49029:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "49029:3:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "49034:1:136",
                            "nodeType": "YulLiteral",
                            "src": "49034:1:136",
                            "type": "",
                            "value": "1"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "49025:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "49025:3:136"
                        },
                        "nativeSrc": "49025:11:136",
                        "nodeType": "YulFunctionCall",
                        "src": "49025:11:136"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "kind": "number",
                                "nativeSrc": "49046:2:136",
                                "nodeType": "YulLiteral",
                                "src": "49046:2:136",
                                "type": "",
                                "value": "96"
                              },
                              {
                                "name": "value1",
                                "nativeSrc": "49050:6:136",
                                "nodeType": "YulIdentifier",
                                "src": "49050:6:136"
                              }
                            ],
                            "functionName": {
                              "name": "shl",
                              "nativeSrc": "49042:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "49042:3:136"
                            },
                            "nativeSrc": "49042:15:136",
                            "nodeType": "YulFunctionCall",
                            "src": "49042:15:136"
                          },
                          {
                            "arguments": [
                              {
                                "kind": "number",
                                "nativeSrc": "49063:26:136",
                                "nodeType": "YulLiteral",
                                "src": "49063:26:136",
                                "type": "",
                                "value": "0xffffffffffffffffffffffff"
                              }
                            ],
                            "functionName": {
                              "name": "not",
                              "nativeSrc": "49059:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "49059:3:136"
                            },
                            "nativeSrc": "49059:31:136",
                            "nodeType": "YulFunctionCall",
                            "src": "49059:31:136"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "49038:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "49038:3:136"
                        },
                        "nativeSrc": "49038:53:136",
                        "nodeType": "YulFunctionCall",
                        "src": "49038:53:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "49018:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "49018:6:136"
                    },
                    "nativeSrc": "49018:74:136",
                    "nodeType": "YulFunctionCall",
                    "src": "49018:74:136"
                  },
                  "nativeSrc": "49018:74:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "49018:74:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "49112:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "49112:3:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "49117:2:136",
                            "nodeType": "YulLiteral",
                            "src": "49117:2:136",
                            "type": "",
                            "value": "21"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "49108:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "49108:3:136"
                        },
                        "nativeSrc": "49108:12:136",
                        "nodeType": "YulFunctionCall",
                        "src": "49108:12:136"
                      },
                      {
                        "name": "value2",
                        "nativeSrc": "49122:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "49122:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "49101:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "49101:6:136"
                    },
                    "nativeSrc": "49101:28:136",
                    "nodeType": "YulFunctionCall",
                    "src": "49101:28:136"
                  },
                  "nativeSrc": "49101:28:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "49101:28:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "49149:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "49149:3:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "49154:2:136",
                            "nodeType": "YulLiteral",
                            "src": "49154:2:136",
                            "type": "",
                            "value": "53"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "49145:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "49145:3:136"
                        },
                        "nativeSrc": "49145:12:136",
                        "nodeType": "YulFunctionCall",
                        "src": "49145:12:136"
                      },
                      {
                        "name": "value3",
                        "nativeSrc": "49159:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "49159:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "49138:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "49138:6:136"
                    },
                    "nativeSrc": "49138:28:136",
                    "nodeType": "YulFunctionCall",
                    "src": "49138:28:136"
                  },
                  "nativeSrc": "49138:28:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "49138:28:136"
                },
                {
                  "nativeSrc": "49175:19:136",
                  "nodeType": "YulAssignment",
                  "src": "49175:19:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "pos",
                        "nativeSrc": "49186:3:136",
                        "nodeType": "YulIdentifier",
                        "src": "49186:3:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "49191:2:136",
                        "nodeType": "YulLiteral",
                        "src": "49191:2:136",
                        "type": "",
                        "value": "85"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "49182:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "49182:3:136"
                    },
                    "nativeSrc": "49182:12:136",
                    "nodeType": "YulFunctionCall",
                    "src": "49182:12:136"
                  },
                  "variableNames": [
                    {
                      "name": "end",
                      "nativeSrc": "49175:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "49175:3:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_packed_t_bytes1_t_address_t_bytes32_t_bytes32__to_t_bytes1_t_address_t_bytes32_t_bytes32__nonPadded_inplace_fromStack_reversed",
            "nativeSrc": "48759:441:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "pos",
                "nativeSrc": "48912:3:136",
                "nodeType": "YulTypedName",
                "src": "48912:3:136",
                "type": ""
              },
              {
                "name": "value3",
                "nativeSrc": "48917:6:136",
                "nodeType": "YulTypedName",
                "src": "48917:6:136",
                "type": ""
              },
              {
                "name": "value2",
                "nativeSrc": "48925:6:136",
                "nodeType": "YulTypedName",
                "src": "48925:6:136",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "48933:6:136",
                "nodeType": "YulTypedName",
                "src": "48933:6:136",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "48941:6:136",
                "nodeType": "YulTypedName",
                "src": "48941:6:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "end",
                "nativeSrc": "48952:3:136",
                "nodeType": "YulTypedName",
                "src": "48952:3:136",
                "type": ""
              }
            ],
            "src": "48759:441:136"
          },
          {
            "body": {
              "nativeSrc": "49388:80:136",
              "nodeType": "YulBlock",
              "src": "49388:80:136",
              "statements": [
                {
                  "nativeSrc": "49398:64:136",
                  "nodeType": "YulAssignment",
                  "src": "49398:64:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "value1",
                        "nativeSrc": "49423:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "49423:6:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value0",
                            "nativeSrc": "49449:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "49449:6:136"
                          },
                          {
                            "name": "pos",
                            "nativeSrc": "49457:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "49457:3:136"
                          }
                        ],
                        "functionName": {
                          "name": "abi_encode_string",
                          "nativeSrc": "49431:17:136",
                          "nodeType": "YulIdentifier",
                          "src": "49431:17:136"
                        },
                        "nativeSrc": "49431:30:136",
                        "nodeType": "YulFunctionCall",
                        "src": "49431:30:136"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_string",
                      "nativeSrc": "49405:17:136",
                      "nodeType": "YulIdentifier",
                      "src": "49405:17:136"
                    },
                    "nativeSrc": "49405:57:136",
                    "nodeType": "YulFunctionCall",
                    "src": "49405:57:136"
                  },
                  "variableNames": [
                    {
                      "name": "end",
                      "nativeSrc": "49398:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "49398:3:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_packed_t_bytes_memory_ptr_t_bytes_memory_ptr__to_t_bytes_memory_ptr_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed",
            "nativeSrc": "49205:263:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "pos",
                "nativeSrc": "49356:3:136",
                "nodeType": "YulTypedName",
                "src": "49356:3:136",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "49361:6:136",
                "nodeType": "YulTypedName",
                "src": "49361:6:136",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "49369:6:136",
                "nodeType": "YulTypedName",
                "src": "49369:6:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "end",
                "nativeSrc": "49380:3:136",
                "nodeType": "YulTypedName",
                "src": "49380:3:136",
                "type": ""
              }
            ],
            "src": "49205:263:136"
          },
          {
            "body": {
              "nativeSrc": "49719:343:136",
              "nodeType": "YulBlock",
              "src": "49719:343:136",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "49736:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "49736:9:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "49747:3:136",
                        "nodeType": "YulLiteral",
                        "src": "49747:3:136",
                        "type": "",
                        "value": "160"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "49729:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "49729:6:136"
                    },
                    "nativeSrc": "49729:22:136",
                    "nodeType": "YulFunctionCall",
                    "src": "49729:22:136"
                  },
                  "nativeSrc": "49729:22:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "49729:22:136"
                },
                {
                  "nativeSrc": "49760:65:136",
                  "nodeType": "YulAssignment",
                  "src": "49760:65:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "value0",
                        "nativeSrc": "49797:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "49797:6:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "49809:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "49809:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "49820:3:136",
                            "nodeType": "YulLiteral",
                            "src": "49820:3:136",
                            "type": "",
                            "value": "160"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "49805:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "49805:3:136"
                        },
                        "nativeSrc": "49805:19:136",
                        "nodeType": "YulFunctionCall",
                        "src": "49805:19:136"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_string_memory_ptr",
                      "nativeSrc": "49768:28:136",
                      "nodeType": "YulIdentifier",
                      "src": "49768:28:136"
                    },
                    "nativeSrc": "49768:57:136",
                    "nodeType": "YulFunctionCall",
                    "src": "49768:57:136"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "49760:4:136",
                      "nodeType": "YulIdentifier",
                      "src": "49760:4:136"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "49845:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "49845:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "49856:2:136",
                            "nodeType": "YulLiteral",
                            "src": "49856:2:136",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "49841:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "49841:3:136"
                        },
                        "nativeSrc": "49841:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "49841:18:136"
                      },
                      {
                        "arguments": [
                          {
                            "kind": "number",
                            "nativeSrc": "49872:1:136",
                            "nodeType": "YulLiteral",
                            "src": "49872:1:136",
                            "type": "",
                            "value": "0"
                          },
                          {
                            "name": "value1",
                            "nativeSrc": "49875:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "49875:6:136"
                          }
                        ],
                        "functionName": {
                          "name": "signextend",
                          "nativeSrc": "49861:10:136",
                          "nodeType": "YulIdentifier",
                          "src": "49861:10:136"
                        },
                        "nativeSrc": "49861:21:136",
                        "nodeType": "YulFunctionCall",
                        "src": "49861:21:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "49834:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "49834:6:136"
                    },
                    "nativeSrc": "49834:49:136",
                    "nodeType": "YulFunctionCall",
                    "src": "49834:49:136"
                  },
                  "nativeSrc": "49834:49:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "49834:49:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value2",
                        "nativeSrc": "49916:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "49916:6:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "49928:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "49928:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "49939:2:136",
                            "nodeType": "YulLiteral",
                            "src": "49939:2:136",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "49924:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "49924:3:136"
                        },
                        "nativeSrc": "49924:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "49924:18:136"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_enum_Oracles",
                      "nativeSrc": "49892:23:136",
                      "nodeType": "YulIdentifier",
                      "src": "49892:23:136"
                    },
                    "nativeSrc": "49892:51:136",
                    "nodeType": "YulFunctionCall",
                    "src": "49892:51:136"
                  },
                  "nativeSrc": "49892:51:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "49892:51:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "49963:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "49963:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "49974:2:136",
                            "nodeType": "YulLiteral",
                            "src": "49974:2:136",
                            "type": "",
                            "value": "96"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "49959:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "49959:3:136"
                        },
                        "nativeSrc": "49959:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "49959:18:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value3",
                            "nativeSrc": "49983:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "49983:6:136"
                          },
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "kind": "number",
                                    "nativeSrc": "49999:3:136",
                                    "nodeType": "YulLiteral",
                                    "src": "49999:3:136",
                                    "type": "",
                                    "value": "160"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "50004:1:136",
                                    "nodeType": "YulLiteral",
                                    "src": "50004:1:136",
                                    "type": "",
                                    "value": "1"
                                  }
                                ],
                                "functionName": {
                                  "name": "shl",
                                  "nativeSrc": "49995:3:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "49995:3:136"
                                },
                                "nativeSrc": "49995:11:136",
                                "nodeType": "YulFunctionCall",
                                "src": "49995:11:136"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "50008:1:136",
                                "nodeType": "YulLiteral",
                                "src": "50008:1:136",
                                "type": "",
                                "value": "1"
                              }
                            ],
                            "functionName": {
                              "name": "sub",
                              "nativeSrc": "49991:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "49991:3:136"
                            },
                            "nativeSrc": "49991:19:136",
                            "nodeType": "YulFunctionCall",
                            "src": "49991:19:136"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "49979:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "49979:3:136"
                        },
                        "nativeSrc": "49979:32:136",
                        "nodeType": "YulFunctionCall",
                        "src": "49979:32:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "49952:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "49952:6:136"
                    },
                    "nativeSrc": "49952:60:136",
                    "nodeType": "YulFunctionCall",
                    "src": "49952:60:136"
                  },
                  "nativeSrc": "49952:60:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "49952:60:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "50032:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "50032:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "50043:3:136",
                            "nodeType": "YulLiteral",
                            "src": "50043:3:136",
                            "type": "",
                            "value": "128"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "50028:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "50028:3:136"
                        },
                        "nativeSrc": "50028:19:136",
                        "nodeType": "YulFunctionCall",
                        "src": "50028:19:136"
                      },
                      {
                        "name": "value4",
                        "nativeSrc": "50049:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "50049:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "50021:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "50021:6:136"
                    },
                    "nativeSrc": "50021:35:136",
                    "nodeType": "YulFunctionCall",
                    "src": "50021:35:136"
                  },
                  "nativeSrc": "50021:35:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "50021:35:136"
                }
              ]
            },
            "name": "abi_encode_tuple_t_string_memory_ptr_t_int8_t_enum$_Oracles_$28092_t_address_t_bytes32__to_t_string_memory_ptr_t_int8_t_uint8_t_address_t_bytes32__fromStack_library_reversed",
            "nativeSrc": "49473:589:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "49656:9:136",
                "nodeType": "YulTypedName",
                "src": "49656:9:136",
                "type": ""
              },
              {
                "name": "value4",
                "nativeSrc": "49667:6:136",
                "nodeType": "YulTypedName",
                "src": "49667:6:136",
                "type": ""
              },
              {
                "name": "value3",
                "nativeSrc": "49675:6:136",
                "nodeType": "YulTypedName",
                "src": "49675:6:136",
                "type": ""
              },
              {
                "name": "value2",
                "nativeSrc": "49683:6:136",
                "nodeType": "YulTypedName",
                "src": "49683:6:136",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "49691:6:136",
                "nodeType": "YulTypedName",
                "src": "49691:6:136",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "49699:6:136",
                "nodeType": "YulTypedName",
                "src": "49699:6:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "49710:4:136",
                "nodeType": "YulTypedName",
                "src": "49710:4:136",
                "type": ""
              }
            ],
            "src": "49473:589:136"
          },
          {
            "body": {
              "nativeSrc": "50357:414:136",
              "nodeType": "YulBlock",
              "src": "50357:414:136",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "50374:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "50374:9:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value0",
                            "nativeSrc": "50389:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "50389:6:136"
                          },
                          {
                            "arguments": [
                              {
                                "kind": "number",
                                "nativeSrc": "50401:3:136",
                                "nodeType": "YulLiteral",
                                "src": "50401:3:136",
                                "type": "",
                                "value": "224"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "50406:10:136",
                                "nodeType": "YulLiteral",
                                "src": "50406:10:136",
                                "type": "",
                                "value": "0xffffffff"
                              }
                            ],
                            "functionName": {
                              "name": "shl",
                              "nativeSrc": "50397:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "50397:3:136"
                            },
                            "nativeSrc": "50397:20:136",
                            "nodeType": "YulFunctionCall",
                            "src": "50397:20:136"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "50385:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "50385:3:136"
                        },
                        "nativeSrc": "50385:33:136",
                        "nodeType": "YulFunctionCall",
                        "src": "50385:33:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "50367:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "50367:6:136"
                    },
                    "nativeSrc": "50367:52:136",
                    "nodeType": "YulFunctionCall",
                    "src": "50367:52:136"
                  },
                  "nativeSrc": "50367:52:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "50367:52:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "50439:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "50439:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "50450:2:136",
                            "nodeType": "YulLiteral",
                            "src": "50450:2:136",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "50435:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "50435:3:136"
                        },
                        "nativeSrc": "50435:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "50435:18:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "50455:3:136",
                        "nodeType": "YulLiteral",
                        "src": "50455:3:136",
                        "type": "",
                        "value": "192"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "50428:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "50428:6:136"
                    },
                    "nativeSrc": "50428:31:136",
                    "nodeType": "YulFunctionCall",
                    "src": "50428:31:136"
                  },
                  "nativeSrc": "50428:31:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "50428:31:136"
                },
                {
                  "nativeSrc": "50468:65:136",
                  "nodeType": "YulAssignment",
                  "src": "50468:65:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "value1",
                        "nativeSrc": "50505:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "50505:6:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "50517:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "50517:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "50528:3:136",
                            "nodeType": "YulLiteral",
                            "src": "50528:3:136",
                            "type": "",
                            "value": "192"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "50513:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "50513:3:136"
                        },
                        "nativeSrc": "50513:19:136",
                        "nodeType": "YulFunctionCall",
                        "src": "50513:19:136"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_string_memory_ptr",
                      "nativeSrc": "50476:28:136",
                      "nodeType": "YulIdentifier",
                      "src": "50476:28:136"
                    },
                    "nativeSrc": "50476:57:136",
                    "nodeType": "YulFunctionCall",
                    "src": "50476:57:136"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "50468:4:136",
                      "nodeType": "YulIdentifier",
                      "src": "50468:4:136"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "50553:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "50553:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "50564:2:136",
                            "nodeType": "YulLiteral",
                            "src": "50564:2:136",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "50549:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "50549:3:136"
                        },
                        "nativeSrc": "50549:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "50549:18:136"
                      },
                      {
                        "arguments": [
                          {
                            "kind": "number",
                            "nativeSrc": "50580:1:136",
                            "nodeType": "YulLiteral",
                            "src": "50580:1:136",
                            "type": "",
                            "value": "0"
                          },
                          {
                            "name": "value2",
                            "nativeSrc": "50583:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "50583:6:136"
                          }
                        ],
                        "functionName": {
                          "name": "signextend",
                          "nativeSrc": "50569:10:136",
                          "nodeType": "YulIdentifier",
                          "src": "50569:10:136"
                        },
                        "nativeSrc": "50569:21:136",
                        "nodeType": "YulFunctionCall",
                        "src": "50569:21:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "50542:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "50542:6:136"
                    },
                    "nativeSrc": "50542:49:136",
                    "nodeType": "YulFunctionCall",
                    "src": "50542:49:136"
                  },
                  "nativeSrc": "50542:49:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "50542:49:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value3",
                        "nativeSrc": "50624:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "50624:6:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "50636:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "50636:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "50647:2:136",
                            "nodeType": "YulLiteral",
                            "src": "50647:2:136",
                            "type": "",
                            "value": "96"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "50632:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "50632:3:136"
                        },
                        "nativeSrc": "50632:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "50632:18:136"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_enum_Oracles",
                      "nativeSrc": "50600:23:136",
                      "nodeType": "YulIdentifier",
                      "src": "50600:23:136"
                    },
                    "nativeSrc": "50600:51:136",
                    "nodeType": "YulFunctionCall",
                    "src": "50600:51:136"
                  },
                  "nativeSrc": "50600:51:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "50600:51:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "50671:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "50671:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "50682:3:136",
                            "nodeType": "YulLiteral",
                            "src": "50682:3:136",
                            "type": "",
                            "value": "128"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "50667:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "50667:3:136"
                        },
                        "nativeSrc": "50667:19:136",
                        "nodeType": "YulFunctionCall",
                        "src": "50667:19:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value4",
                            "nativeSrc": "50692:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "50692:6:136"
                          },
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "kind": "number",
                                    "nativeSrc": "50708:3:136",
                                    "nodeType": "YulLiteral",
                                    "src": "50708:3:136",
                                    "type": "",
                                    "value": "160"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "50713:1:136",
                                    "nodeType": "YulLiteral",
                                    "src": "50713:1:136",
                                    "type": "",
                                    "value": "1"
                                  }
                                ],
                                "functionName": {
                                  "name": "shl",
                                  "nativeSrc": "50704:3:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "50704:3:136"
                                },
                                "nativeSrc": "50704:11:136",
                                "nodeType": "YulFunctionCall",
                                "src": "50704:11:136"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "50717:1:136",
                                "nodeType": "YulLiteral",
                                "src": "50717:1:136",
                                "type": "",
                                "value": "1"
                              }
                            ],
                            "functionName": {
                              "name": "sub",
                              "nativeSrc": "50700:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "50700:3:136"
                            },
                            "nativeSrc": "50700:19:136",
                            "nodeType": "YulFunctionCall",
                            "src": "50700:19:136"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "50688:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "50688:3:136"
                        },
                        "nativeSrc": "50688:32:136",
                        "nodeType": "YulFunctionCall",
                        "src": "50688:32:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "50660:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "50660:6:136"
                    },
                    "nativeSrc": "50660:61:136",
                    "nodeType": "YulFunctionCall",
                    "src": "50660:61:136"
                  },
                  "nativeSrc": "50660:61:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "50660:61:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "50741:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "50741:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "50752:3:136",
                            "nodeType": "YulLiteral",
                            "src": "50752:3:136",
                            "type": "",
                            "value": "160"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "50737:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "50737:3:136"
                        },
                        "nativeSrc": "50737:19:136",
                        "nodeType": "YulFunctionCall",
                        "src": "50737:19:136"
                      },
                      {
                        "name": "value5",
                        "nativeSrc": "50758:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "50758:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "50730:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "50730:6:136"
                    },
                    "nativeSrc": "50730:35:136",
                    "nodeType": "YulFunctionCall",
                    "src": "50730:35:136"
                  },
                  "nativeSrc": "50730:35:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "50730:35:136"
                }
              ]
            },
            "name": "abi_encode_tuple_t_userDefinedValueType$_ID4_$28155_t_string_memory_ptr_t_int8_t_enum$_Oracles_$28092_t_address_t_bytes32__to_t_bytes4_t_string_memory_ptr_t_int8_t_uint8_t_address_t_bytes32__fromStack_reversed",
            "nativeSrc": "50067:704:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "50286:9:136",
                "nodeType": "YulTypedName",
                "src": "50286:9:136",
                "type": ""
              },
              {
                "name": "value5",
                "nativeSrc": "50297:6:136",
                "nodeType": "YulTypedName",
                "src": "50297:6:136",
                "type": ""
              },
              {
                "name": "value4",
                "nativeSrc": "50305:6:136",
                "nodeType": "YulTypedName",
                "src": "50305:6:136",
                "type": ""
              },
              {
                "name": "value3",
                "nativeSrc": "50313:6:136",
                "nodeType": "YulTypedName",
                "src": "50313:6:136",
                "type": ""
              },
              {
                "name": "value2",
                "nativeSrc": "50321:6:136",
                "nodeType": "YulTypedName",
                "src": "50321:6:136",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "50329:6:136",
                "nodeType": "YulTypedName",
                "src": "50329:6:136",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "50337:6:136",
                "nodeType": "YulTypedName",
                "src": "50337:6:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "50348:4:136",
                "nodeType": "YulTypedName",
                "src": "50348:4:136",
                "type": ""
              }
            ],
            "src": "50067:704:136"
          },
          {
            "body": {
              "nativeSrc": "51047:253:136",
              "nodeType": "YulBlock",
              "src": "51047:253:136",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "51064:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "51064:9:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value0",
                            "nativeSrc": "51079:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "51079:6:136"
                          },
                          {
                            "arguments": [
                              {
                                "kind": "number",
                                "nativeSrc": "51091:3:136",
                                "nodeType": "YulLiteral",
                                "src": "51091:3:136",
                                "type": "",
                                "value": "224"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "51096:10:136",
                                "nodeType": "YulLiteral",
                                "src": "51096:10:136",
                                "type": "",
                                "value": "0xffffffff"
                              }
                            ],
                            "functionName": {
                              "name": "shl",
                              "nativeSrc": "51087:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "51087:3:136"
                            },
                            "nativeSrc": "51087:20:136",
                            "nodeType": "YulFunctionCall",
                            "src": "51087:20:136"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "51075:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "51075:3:136"
                        },
                        "nativeSrc": "51075:33:136",
                        "nodeType": "YulFunctionCall",
                        "src": "51075:33:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "51057:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "51057:6:136"
                    },
                    "nativeSrc": "51057:52:136",
                    "nodeType": "YulFunctionCall",
                    "src": "51057:52:136"
                  },
                  "nativeSrc": "51057:52:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "51057:52:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "51129:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "51129:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "51140:2:136",
                            "nodeType": "YulLiteral",
                            "src": "51140:2:136",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "51125:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "51125:3:136"
                        },
                        "nativeSrc": "51125:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "51125:18:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "51145:3:136",
                        "nodeType": "YulLiteral",
                        "src": "51145:3:136",
                        "type": "",
                        "value": "256"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "51118:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "51118:6:136"
                    },
                    "nativeSrc": "51118:31:136",
                    "nodeType": "YulFunctionCall",
                    "src": "51118:31:136"
                  },
                  "nativeSrc": "51118:31:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "51118:31:136"
                },
                {
                  "nativeSrc": "51158:65:136",
                  "nodeType": "YulAssignment",
                  "src": "51158:65:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "value1",
                        "nativeSrc": "51195:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "51195:6:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "51207:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "51207:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "51218:3:136",
                            "nodeType": "YulLiteral",
                            "src": "51218:3:136",
                            "type": "",
                            "value": "256"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "51203:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "51203:3:136"
                        },
                        "nativeSrc": "51203:19:136",
                        "nodeType": "YulFunctionCall",
                        "src": "51203:19:136"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_string_memory_ptr",
                      "nativeSrc": "51166:28:136",
                      "nodeType": "YulIdentifier",
                      "src": "51166:28:136"
                    },
                    "nativeSrc": "51166:57:136",
                    "nodeType": "YulFunctionCall",
                    "src": "51166:57:136"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "51158:4:136",
                      "nodeType": "YulIdentifier",
                      "src": "51158:4:136"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value2",
                        "nativeSrc": "51267:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "51267:6:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "51279:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "51279:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "51290:2:136",
                            "nodeType": "YulLiteral",
                            "src": "51290:2:136",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "51275:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "51275:3:136"
                        },
                        "nativeSrc": "51275:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "51275:18:136"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_struct_UpdateConditions",
                      "nativeSrc": "51232:34:136",
                      "nodeType": "YulIdentifier",
                      "src": "51232:34:136"
                    },
                    "nativeSrc": "51232:62:136",
                    "nodeType": "YulFunctionCall",
                    "src": "51232:62:136"
                  },
                  "nativeSrc": "51232:62:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "51232:62:136"
                }
              ]
            },
            "name": "abi_encode_tuple_t_userDefinedValueType$_ID4_$28155_t_string_memory_ptr_t_struct$_UpdateConditions_$28153_memory_ptr__to_t_bytes4_t_string_memory_ptr_t_struct$_UpdateConditions_$28153_memory_ptr__fromStack_reversed",
            "nativeSrc": "50776:524:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "51000:9:136",
                "nodeType": "YulTypedName",
                "src": "51000:9:136",
                "type": ""
              },
              {
                "name": "value2",
                "nativeSrc": "51011:6:136",
                "nodeType": "YulTypedName",
                "src": "51011:6:136",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "51019:6:136",
                "nodeType": "YulTypedName",
                "src": "51019:6:136",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "51027:6:136",
                "nodeType": "YulTypedName",
                "src": "51027:6:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "51038:4:136",
                "nodeType": "YulTypedName",
                "src": "51038:4:136",
                "type": ""
              }
            ],
            "src": "50776:524:136"
          },
          {
            "body": {
              "nativeSrc": "51430:141:136",
              "nodeType": "YulBlock",
              "src": "51430:141:136",
              "statements": [
                {
                  "nativeSrc": "51440:26:136",
                  "nodeType": "YulAssignment",
                  "src": "51440:26:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "51452:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "51452:9:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "51463:2:136",
                        "nodeType": "YulLiteral",
                        "src": "51463:2:136",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "51448:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "51448:3:136"
                    },
                    "nativeSrc": "51448:18:136",
                    "nodeType": "YulFunctionCall",
                    "src": "51448:18:136"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "51440:4:136",
                      "nodeType": "YulIdentifier",
                      "src": "51440:4:136"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "51482:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "51482:9:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value0",
                            "nativeSrc": "51497:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "51497:6:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "51505:4:136",
                            "nodeType": "YulLiteral",
                            "src": "51505:4:136",
                            "type": "",
                            "value": "0xff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "51493:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "51493:3:136"
                        },
                        "nativeSrc": "51493:17:136",
                        "nodeType": "YulFunctionCall",
                        "src": "51493:17:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "51475:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "51475:6:136"
                    },
                    "nativeSrc": "51475:36:136",
                    "nodeType": "YulFunctionCall",
                    "src": "51475:36:136"
                  },
                  "nativeSrc": "51475:36:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "51475:36:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "51531:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "51531:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "51542:2:136",
                            "nodeType": "YulLiteral",
                            "src": "51542:2:136",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "51527:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "51527:3:136"
                        },
                        "nativeSrc": "51527:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "51527:18:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value1",
                            "nativeSrc": "51551:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "51551:6:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "51559:4:136",
                            "nodeType": "YulLiteral",
                            "src": "51559:4:136",
                            "type": "",
                            "value": "0xff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "51547:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "51547:3:136"
                        },
                        "nativeSrc": "51547:17:136",
                        "nodeType": "YulFunctionCall",
                        "src": "51547:17:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "51520:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "51520:6:136"
                    },
                    "nativeSrc": "51520:45:136",
                    "nodeType": "YulFunctionCall",
                    "src": "51520:45:136"
                  },
                  "nativeSrc": "51520:45:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "51520:45:136"
                }
              ]
            },
            "name": "abi_encode_tuple_t_uint8_t_uint8__to_t_uint256_t_uint256__fromStack_reversed",
            "nativeSrc": "51305:266:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "51391:9:136",
                "nodeType": "YulTypedName",
                "src": "51391:9:136",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "51402:6:136",
                "nodeType": "YulTypedName",
                "src": "51402:6:136",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "51410:6:136",
                "nodeType": "YulTypedName",
                "src": "51410:6:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "51421:4:136",
                "nodeType": "YulTypedName",
                "src": "51421:4:136",
                "type": ""
              }
            ],
            "src": "51305:266:136"
          },
          {
            "body": {
              "nativeSrc": "51675:87:136",
              "nodeType": "YulBlock",
              "src": "51675:87:136",
              "statements": [
                {
                  "nativeSrc": "51685:26:136",
                  "nodeType": "YulAssignment",
                  "src": "51685:26:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "51697:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "51697:9:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "51708:2:136",
                        "nodeType": "YulLiteral",
                        "src": "51708:2:136",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "51693:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "51693:3:136"
                    },
                    "nativeSrc": "51693:18:136",
                    "nodeType": "YulFunctionCall",
                    "src": "51693:18:136"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "51685:4:136",
                      "nodeType": "YulIdentifier",
                      "src": "51685:4:136"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "51727:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "51727:9:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value0",
                            "nativeSrc": "51742:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "51742:6:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "51750:4:136",
                            "nodeType": "YulLiteral",
                            "src": "51750:4:136",
                            "type": "",
                            "value": "0xff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "51738:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "51738:3:136"
                        },
                        "nativeSrc": "51738:17:136",
                        "nodeType": "YulFunctionCall",
                        "src": "51738:17:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "51720:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "51720:6:136"
                    },
                    "nativeSrc": "51720:36:136",
                    "nodeType": "YulFunctionCall",
                    "src": "51720:36:136"
                  },
                  "nativeSrc": "51720:36:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "51720:36:136"
                }
              ]
            },
            "name": "abi_encode_tuple_t_uint8__to_t_uint256__fromStack_reversed",
            "nativeSrc": "51576:186:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "51644:9:136",
                "nodeType": "YulTypedName",
                "src": "51644:9:136",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "51655:6:136",
                "nodeType": "YulTypedName",
                "src": "51655:6:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "51666:4:136",
                "nodeType": "YulTypedName",
                "src": "51666:4:136",
                "type": ""
              }
            ],
            "src": "51576:186:136"
          },
          {
            "body": {
              "nativeSrc": "51896:119:136",
              "nodeType": "YulBlock",
              "src": "51896:119:136",
              "statements": [
                {
                  "nativeSrc": "51906:26:136",
                  "nodeType": "YulAssignment",
                  "src": "51906:26:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "51918:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "51918:9:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "51929:2:136",
                        "nodeType": "YulLiteral",
                        "src": "51929:2:136",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "51914:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "51914:3:136"
                    },
                    "nativeSrc": "51914:18:136",
                    "nodeType": "YulFunctionCall",
                    "src": "51914:18:136"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "51906:4:136",
                      "nodeType": "YulIdentifier",
                      "src": "51906:4:136"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "51948:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "51948:9:136"
                      },
                      {
                        "name": "value0",
                        "nativeSrc": "51959:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "51959:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "51941:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "51941:6:136"
                    },
                    "nativeSrc": "51941:25:136",
                    "nodeType": "YulFunctionCall",
                    "src": "51941:25:136"
                  },
                  "nativeSrc": "51941:25:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "51941:25:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "51986:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "51986:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "51997:2:136",
                            "nodeType": "YulLiteral",
                            "src": "51997:2:136",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "51982:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "51982:3:136"
                        },
                        "nativeSrc": "51982:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "51982:18:136"
                      },
                      {
                        "name": "value1",
                        "nativeSrc": "52002:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "52002:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "51975:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "51975:6:136"
                    },
                    "nativeSrc": "51975:34:136",
                    "nodeType": "YulFunctionCall",
                    "src": "51975:34:136"
                  },
                  "nativeSrc": "51975:34:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "51975:34:136"
                }
              ]
            },
            "name": "abi_encode_tuple_t_uint256_t_uint256__to_t_uint256_t_uint256__fromStack_reversed",
            "nativeSrc": "51767:248:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "51857:9:136",
                "nodeType": "YulTypedName",
                "src": "51857:9:136",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "51868:6:136",
                "nodeType": "YulTypedName",
                "src": "51868:6:136",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "51876:6:136",
                "nodeType": "YulTypedName",
                "src": "51876:6:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "51887:4:136",
                "nodeType": "YulTypedName",
                "src": "51887:4:136",
                "type": ""
              }
            ],
            "src": "51767:248:136"
          },
          {
            "body": {
              "nativeSrc": "52067:88:136",
              "nodeType": "YulBlock",
              "src": "52067:88:136",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "52098:22:136",
                    "nodeType": "YulBlock",
                    "src": "52098:22:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x11",
                            "nativeSrc": "52100:16:136",
                            "nodeType": "YulIdentifier",
                            "src": "52100:16:136"
                          },
                          "nativeSrc": "52100:18:136",
                          "nodeType": "YulFunctionCall",
                          "src": "52100:18:136"
                        },
                        "nativeSrc": "52100:18:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "52100:18:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "52083:5:136",
                        "nodeType": "YulIdentifier",
                        "src": "52083:5:136"
                      },
                      {
                        "arguments": [
                          {
                            "kind": "number",
                            "nativeSrc": "52094:1:136",
                            "nodeType": "YulLiteral",
                            "src": "52094:1:136",
                            "type": "",
                            "value": "0"
                          }
                        ],
                        "functionName": {
                          "name": "not",
                          "nativeSrc": "52090:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "52090:3:136"
                        },
                        "nativeSrc": "52090:6:136",
                        "nodeType": "YulFunctionCall",
                        "src": "52090:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "eq",
                      "nativeSrc": "52080:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "52080:2:136"
                    },
                    "nativeSrc": "52080:17:136",
                    "nodeType": "YulFunctionCall",
                    "src": "52080:17:136"
                  },
                  "nativeSrc": "52077:43:136",
                  "nodeType": "YulIf",
                  "src": "52077:43:136"
                },
                {
                  "nativeSrc": "52129:20:136",
                  "nodeType": "YulAssignment",
                  "src": "52129:20:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "52140:5:136",
                        "nodeType": "YulIdentifier",
                        "src": "52140:5:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "52147:1:136",
                        "nodeType": "YulLiteral",
                        "src": "52147:1:136",
                        "type": "",
                        "value": "1"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "52136:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "52136:3:136"
                    },
                    "nativeSrc": "52136:13:136",
                    "nodeType": "YulFunctionCall",
                    "src": "52136:13:136"
                  },
                  "variableNames": [
                    {
                      "name": "ret",
                      "nativeSrc": "52129:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "52129:3:136"
                    }
                  ]
                }
              ]
            },
            "name": "increment_t_uint256",
            "nativeSrc": "52020:135:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "value",
                "nativeSrc": "52049:5:136",
                "nodeType": "YulTypedName",
                "src": "52049:5:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "ret",
                "nativeSrc": "52059:3:136",
                "nodeType": "YulTypedName",
                "src": "52059:3:136",
                "type": ""
              }
            ],
            "src": "52020:135:136"
          },
          {
            "body": {
              "nativeSrc": "52208:77:136",
              "nodeType": "YulBlock",
              "src": "52208:77:136",
              "statements": [
                {
                  "nativeSrc": "52218:16:136",
                  "nodeType": "YulAssignment",
                  "src": "52218:16:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "x",
                        "nativeSrc": "52229:1:136",
                        "nodeType": "YulIdentifier",
                        "src": "52229:1:136"
                      },
                      {
                        "name": "y",
                        "nativeSrc": "52232:1:136",
                        "nodeType": "YulIdentifier",
                        "src": "52232:1:136"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "52225:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "52225:3:136"
                    },
                    "nativeSrc": "52225:9:136",
                    "nodeType": "YulFunctionCall",
                    "src": "52225:9:136"
                  },
                  "variableNames": [
                    {
                      "name": "sum",
                      "nativeSrc": "52218:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "52218:3:136"
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "52257:22:136",
                    "nodeType": "YulBlock",
                    "src": "52257:22:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x11",
                            "nativeSrc": "52259:16:136",
                            "nodeType": "YulIdentifier",
                            "src": "52259:16:136"
                          },
                          "nativeSrc": "52259:18:136",
                          "nodeType": "YulFunctionCall",
                          "src": "52259:18:136"
                        },
                        "nativeSrc": "52259:18:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "52259:18:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "x",
                        "nativeSrc": "52249:1:136",
                        "nodeType": "YulIdentifier",
                        "src": "52249:1:136"
                      },
                      {
                        "name": "sum",
                        "nativeSrc": "52252:3:136",
                        "nodeType": "YulIdentifier",
                        "src": "52252:3:136"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "52246:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "52246:2:136"
                    },
                    "nativeSrc": "52246:10:136",
                    "nodeType": "YulFunctionCall",
                    "src": "52246:10:136"
                  },
                  "nativeSrc": "52243:36:136",
                  "nodeType": "YulIf",
                  "src": "52243:36:136"
                }
              ]
            },
            "name": "checked_add_t_uint256",
            "nativeSrc": "52160:125:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "x",
                "nativeSrc": "52191:1:136",
                "nodeType": "YulTypedName",
                "src": "52191:1:136",
                "type": ""
              },
              {
                "name": "y",
                "nativeSrc": "52194:1:136",
                "nodeType": "YulTypedName",
                "src": "52194:1:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "sum",
                "nativeSrc": "52200:3:136",
                "nodeType": "YulTypedName",
                "src": "52200:3:136",
                "type": ""
              }
            ],
            "src": "52160:125:136"
          }
        ]
      },
      "contents": "{\n    { }\n    function validator_revert_userDefinedValueType_ID4(value)\n    {\n        if iszero(eq(value, and(value, shl(224, 0xffffffff)))) { revert(0, 0) }\n    }\n    function abi_decode_tuple_t_userDefinedValueType$_ID4_$28155(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := calldataload(headStart)\n        validator_revert_userDefinedValueType_ID4(value)\n        value0 := value\n    }\n    function abi_encode_string_memory_ptr(value, pos) -> end\n    {\n        let length := mload(value)\n        mstore(pos, length)\n        mcopy(add(pos, 0x20), add(value, 0x20), length)\n        mstore(add(add(pos, length), 0x20), 0)\n        end := add(add(pos, and(add(length, 31), not(31))), 0x20)\n    }\n    function panic_error_0x21()\n    {\n        mstore(0, shl(224, 0x4e487b71))\n        mstore(4, 0x21)\n        revert(0, 0x24)\n    }\n    function abi_encode_enum_Mappers(value, pos)\n    {\n        if iszero(lt(value, 5)) { panic_error_0x21() }\n        mstore(pos, value)\n    }\n    function abi_encode_enum_Oracles(value, pos)\n    {\n        if iszero(lt(value, 4)) { panic_error_0x21() }\n        mstore(pos, value)\n    }\n    function abi_encode_struct_Oracle(value, pos)\n    {\n        abi_encode_enum_Oracles(mload(value), pos)\n        mstore(add(pos, 0x20), and(mload(add(value, 0x20)), sub(shl(160, 1), 1)))\n        mstore(add(pos, 0x40), mload(add(value, 0x40)))\n    }\n    function abi_encode_uint16(value, pos)\n    {\n        mstore(pos, and(value, 0xffff))\n    }\n    function abi_encode_struct_UpdateConditions(value, pos)\n    {\n        mstore(pos, and(mload(value), 0xffffff))\n        mstore(add(pos, 0x20), iszero(iszero(mload(add(value, 0x20)))))\n        mstore(add(pos, 0x40), and(mload(add(value, 0x40)), 0xffffff))\n        mstore(add(pos, 0x60), and(mload(add(value, 0x60)), 0xffffff))\n        mstore(add(pos, 0x80), and(mload(add(value, 0x80)), 0xffff))\n        mstore(add(pos, 0xa0), and(mload(add(value, 0xa0)), 0xffff))\n    }\n    function abi_encode_userDefinedValueType_Timestamp(value, pos)\n    {\n        mstore(pos, and(value, 0xffffffffffffffff))\n    }\n    function abi_encode_struct_Price(value, pos)\n    {\n        mstore(pos, signextend(0, mload(value)))\n        mstore(add(pos, 0x20), and(mload(add(value, 0x20)), 0xffffffffffffffff))\n        mstore(add(pos, 0x40), signextend(6, mload(add(value, 0x40))))\n        mstore(add(pos, 0x60), and(mload(add(value, 0x60)), 0xffffffffffffffff))\n        mstore(add(pos, 0x80), mload(add(value, 0x80)))\n    }\n    function abi_encode_struct_Info(value, pos) -> end\n    {\n        mstore(pos, mload(value))\n        mstore(add(pos, 0x20), signextend(0, mload(add(value, 0x20))))\n        let memberValue0 := mload(add(value, 0x40))\n        mstore(add(pos, 0x40), 0x0240)\n        let tail := abi_encode_string_memory_ptr(memberValue0, add(pos, 0x0240))\n        let memberValue0_1 := mload(add(value, 0x60))\n        mstore(add(pos, 0x60), sub(tail, pos))\n        let tail_1 := add(tail, 0x40)\n        abi_encode_enum_Mappers(mload(memberValue0_1), tail)\n        let memberValue0_2 := mload(add(memberValue0_1, 0x20))\n        mstore(add(tail, 0x20), 0x40)\n        let pos_1 := tail_1\n        let length := mload(memberValue0_2)\n        mstore(tail_1, length)\n        pos_1 := add(tail, 0x60)\n        let tail_2 := add(add(tail, shl(5, length)), 0x60)\n        let srcPtr := add(memberValue0_2, 0x20)\n        let i := 0\n        for { } lt(i, length) { i := add(i, 1) }\n        {\n            mstore(pos_1, add(sub(tail_2, tail), not(95)))\n            tail_2 := abi_encode_string_memory_ptr(mload(srcPtr), tail_2)\n            srcPtr := add(srcPtr, 0x20)\n            pos_1 := add(pos_1, 0x20)\n        }\n        let memberValue0_3 := mload(add(value, 0x80))\n        abi_encode_struct_Oracle(memberValue0_3, add(pos, 0x80))\n        let memberValue0_4 := mload(add(value, 0xa0))\n        abi_encode_struct_UpdateConditions(memberValue0_4, add(pos, 0xe0))\n        let memberValue0_5 := mload(add(value, 0xc0))\n        abi_encode_struct_Price(memberValue0_5, add(pos, 0x01a0))\n        end := tail_2\n    }\n    function abi_encode_tuple_t_struct$_Info_$28125_memory_ptr__to_t_struct$_Info_$28125_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n    {\n        mstore(headStart, 32)\n        tail := abi_encode_struct_Info(value0, add(headStart, 32))\n    }\n    function abi_encode_tuple_t_address__to_t_address__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n    }\n    function abi_encode_tuple_t_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_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_bytes_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_bytes_calldata(add(headStart, offset), dataEnd)\n        value0 := value0_1\n        value1 := value1_1\n    }\n    function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, value0)\n    }\n    function abi_encode_tuple_t_int8__to_t_int8__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, signextend(0, value0))\n    }\n    function validator_revert_uint64(value)\n    {\n        if iszero(eq(value, and(value, 0xffffffffffffffff))) { revert(0, 0) }\n    }\n    function abi_decode_uint64(offset) -> value\n    {\n        value := calldataload(offset)\n        validator_revert_uint64(value)\n    }\n    function abi_decode_tuple_t_userDefinedValueType$_ID_$29561t_uint64(headStart, dataEnd) -> value0, value1\n    {\n        if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n        let value := 0\n        value := calldataload(headStart)\n        value0 := value\n        let value_1 := calldataload(add(headStart, 32))\n        validator_revert_uint64(value_1)\n        value1 := value_1\n    }\n    function abi_encode_tuple_t_struct$_PythPrice_$29570_memory_ptr__to_t_struct$_PythPrice_$29570_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 128)\n        mstore(headStart, signextend(7, mload(value0)))\n        mstore(add(headStart, 0x20), and(mload(add(value0, 0x20)), 0xffffffffffffffff))\n        mstore(add(headStart, 0x40), signextend(3, mload(add(value0, 0x40))))\n        mstore(add(headStart, 0x60), mload(add(value0, 0x60)))\n    }\n    function abi_encode_tuple_t_array$_t_struct$_Info_$28125_memory_ptr_$dyn_memory_ptr__to_t_array$_t_struct$_Info_$28125_memory_ptr_$dyn_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n    {\n        let tail_1 := add(headStart, 32)\n        mstore(headStart, 32)\n        let pos := tail_1\n        let length := mload(value0)\n        mstore(tail_1, length)\n        pos := add(headStart, 64)\n        let tail_2 := add(add(headStart, shl(5, length)), 64)\n        let srcPtr := add(value0, 32)\n        let i := 0\n        for { } lt(i, length) { i := add(i, 1) }\n        {\n            mstore(pos, add(sub(tail_2, headStart), not(63)))\n            tail_2 := abi_encode_struct_Info(mload(srcPtr), tail_2)\n            srcPtr := add(srcPtr, 32)\n            pos := add(pos, 32)\n        }\n        tail := tail_2\n    }\n    function abi_decode_tuple_t_userDefinedValueType$_ID_$29561(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := 0\n        value := calldataload(headStart)\n        value0 := value\n    }\n    function panic_error_0x41()\n    {\n        mstore(0, shl(224, 0x4e487b71))\n        mstore(4, 0x41)\n        revert(0, 0x24)\n    }\n    function finalize_allocation_6265(memPtr)\n    {\n        let newFreePtr := add(memPtr, 0xc0)\n        if or(gt(newFreePtr, 0xffffffffffffffff), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n        mstore(64, newFreePtr)\n    }\n    function finalize_allocation_6266(memPtr)\n    {\n        let newFreePtr := add(memPtr, 64)\n        if or(gt(newFreePtr, 0xffffffffffffffff), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n        mstore(64, newFreePtr)\n    }\n    function finalize_allocation(memPtr, size)\n    {\n        let newFreePtr := add(memPtr, and(add(size, 31), not(31)))\n        if or(gt(newFreePtr, 0xffffffffffffffff), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n        mstore(64, newFreePtr)\n    }\n    function array_allocation_size_bytes(length) -> size\n    {\n        if gt(length, 0xffffffffffffffff) { panic_error_0x41() }\n        size := add(and(add(length, 31), not(31)), 0x20)\n    }\n    function abi_decode_available_length_bytes(src, length, end) -> array\n    {\n        let _1 := array_allocation_size_bytes(length)\n        let memPtr := mload(64)\n        finalize_allocation(memPtr, _1)\n        array := memPtr\n        mstore(memPtr, length)\n        if gt(add(src, length), end) { revert(0, 0) }\n        calldatacopy(add(memPtr, 0x20), src, length)\n        mstore(add(add(memPtr, length), 0x20), 0)\n    }\n    function abi_decode_tuple_t_bytes_memory_ptr(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let offset := calldataload(headStart)\n        if gt(offset, 0xffffffffffffffff) { revert(0, 0) }\n        let _1 := add(headStart, offset)\n        if iszero(slt(add(_1, 0x1f), dataEnd)) { revert(0, 0) }\n        value0 := abi_decode_available_length_bytes(add(_1, 32), calldataload(_1), dataEnd)\n    }\n    function validator_revert_bool(value)\n    {\n        if iszero(eq(value, iszero(iszero(value)))) { revert(0, 0) }\n    }\n    function abi_decode_tuple_t_string_calldata_ptrt_bool(headStart, dataEnd) -> value0, value1, value2\n    {\n        if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n        let offset := calldataload(headStart)\n        if gt(offset, 0xffffffffffffffff) { revert(0, 0) }\n        let value0_1, value1_1 := abi_decode_bytes_calldata(add(headStart, offset), dataEnd)\n        value0 := value0_1\n        value1 := value1_1\n        let value := calldataload(add(headStart, 32))\n        validator_revert_bool(value)\n        value2 := value\n    }\n    function abi_encode_tuple_t_bytes4__to_t_bytes4__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, shl(224, 0xffffffff)))\n    }\n    function abi_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_string_memory_ptr(value0, add(headStart, 32))\n    }\n    function validator_revert_int8(value)\n    {\n        if iszero(eq(value, signextend(0, value))) { revert(0, 0) }\n    }\n    function abi_decode_tuple_t_string_calldata_ptrt_int8t_enum$_Mappers_$28087t_array$_t_string_calldata_ptr_$dyn_calldata_ptr(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        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        let value := calldataload(add(headStart, 32))\n        validator_revert_int8(value)\n        value2 := value\n        let value_1 := calldataload(add(headStart, 64))\n        if iszero(lt(value_1, 5)) { revert(0, 0) }\n        value3 := value_1\n        let offset_1 := calldataload(add(headStart, 96))\n        if gt(offset_1, 0xffffffffffffffff) { revert(0, 0) }\n        let _1 := add(headStart, offset_1)\n        if iszero(slt(add(_1, 0x1f), dataEnd)) { revert(0, 0) }\n        let length := calldataload(_1)\n        if gt(length, 0xffffffffffffffff) { revert(0, 0) }\n        if gt(add(add(_1, shl(5, length)), 32), dataEnd) { revert(0, 0) }\n        value4 := add(_1, 32)\n        value5 := length\n    }\n    function abi_decode_tuple_t_string_calldata_ptrt_int8t_bytes_calldata_ptr(headStart, dataEnd) -> value0, value1, value2, value3, value4\n    {\n        if slt(sub(dataEnd, headStart), 96) { revert(0, 0) }\n        let offset := calldataload(headStart)\n        if gt(offset, 0xffffffffffffffff) { revert(0, 0) }\n        let value0_1, value1_1 := abi_decode_bytes_calldata(add(headStart, offset), dataEnd)\n        value0 := value0_1\n        value1 := value1_1\n        let value := calldataload(add(headStart, 32))\n        validator_revert_int8(value)\n        value2 := value\n        let offset_1 := calldataload(add(headStart, 64))\n        if gt(offset_1, 0xffffffffffffffff) { revert(0, 0) }\n        let value3_1, value4_1 := abi_decode_bytes_calldata(add(headStart, offset_1), dataEnd)\n        value3 := value3_1\n        value4 := value4_1\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_decode_tuple_t_struct$_DataPushReport_$37274_calldata_ptrt_bytes_calldata_ptr(headStart, dataEnd) -> value0, value1, value2\n    {\n        if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n        let offset := calldataload(headStart)\n        if gt(offset, 0xffffffffffffffff) { revert(0, 0) }\n        let _1 := add(headStart, offset)\n        if slt(sub(dataEnd, _1), 224) { revert(0, 0) }\n        value0 := _1\n        let offset_1 := calldataload(add(headStart, 32))\n        if gt(offset_1, 0xffffffffffffffff) { revert(0, 0) }\n        let value1_1, value2_1 := abi_decode_bytes_calldata(add(headStart, offset_1), dataEnd)\n        value1 := value1_1\n        value2 := value2_1\n    }\n    function abi_encode_tuple_t_struct$_UpdateConditions_$28153_memory_ptr__to_t_struct$_UpdateConditions_$28153_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 192)\n        abi_encode_struct_UpdateConditions(value0, headStart)\n    }\n    function abi_encode_tuple_t_struct$_Price_$28105_memory_ptr__to_t_struct$_Price_$28105_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 160)\n        abi_encode_struct_Price(value0, headStart)\n    }\n    function abi_decode_struct_UpdateConditions_calldata(offset, end) -> value\n    {\n        if slt(sub(end, offset), 192) { revert(0, 0) }\n        value := offset\n    }\n    function abi_decode_tuple_t_struct$_UpdateConditions_$28153_calldata_ptr(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 192) { revert(0, 0) }\n        value0 := abi_decode_struct_UpdateConditions_calldata(headStart, dataEnd)\n    }\n    function abi_decode_tuple_t_string_memory_ptr(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let offset := calldataload(headStart)\n        if gt(offset, 0xffffffffffffffff) { revert(0, 0) }\n        let _1 := add(headStart, offset)\n        if iszero(slt(add(_1, 0x1f), dataEnd)) { revert(0, 0) }\n        value0 := abi_decode_available_length_bytes(add(_1, 32), calldataload(_1), dataEnd)\n    }\n    function abi_encode_tuple_t_userDefinedValueType$_ID_$29561__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_contract$_IWitPriceFeedsConsumer_$27992__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_string_calldata_ptr(headStart, dataEnd) -> value0, value1\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let offset := calldataload(headStart)\n        if gt(offset, 0xffffffffffffffff) { revert(0, 0) }\n        let value0_1, value1_1 := abi_decode_bytes_calldata(add(headStart, offset), dataEnd)\n        value0 := value0_1\n        value1 := value1_1\n    }\n    function abi_decode_tuple_t_string_calldata_ptrt_int8t_userDefinedValueType$_RadonHash_$37153(headStart, dataEnd) -> value0, value1, value2, value3\n    {\n        if slt(sub(dataEnd, headStart), 96) { revert(0, 0) }\n        let offset := calldataload(headStart)\n        if gt(offset, 0xffffffffffffffff) { revert(0, 0) }\n        let value0_1, value1_1 := abi_decode_bytes_calldata(add(headStart, offset), dataEnd)\n        value0 := value0_1\n        value1 := value1_1\n        let value := calldataload(add(headStart, 32))\n        validator_revert_int8(value)\n        value2 := value\n        let value_1 := 0\n        value_1 := calldataload(add(headStart, 64))\n        value3 := value_1\n    }\n    function validator_revert_uint24(value)\n    {\n        if iszero(eq(value, and(value, 0xffffff))) { revert(0, 0) }\n    }\n    function abi_decode_tuple_t_userDefinedValueType$_ID4_$28155t_uint24(headStart, dataEnd) -> value0, value1\n    {\n        if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n        let value := calldataload(headStart)\n        validator_revert_userDefinedValueType_ID4(value)\n        value0 := value\n        let value_1 := calldataload(add(headStart, 32))\n        validator_revert_uint24(value_1)\n        value1 := value_1\n    }\n    function abi_decode_tuple_t_string_calldata_ptrt_int8t_enum$_Oracles_$28092t_addresst_bytes32(headStart, dataEnd) -> value0, value1, value2, value3, value4, value5\n    {\n        if slt(sub(dataEnd, headStart), 160) { 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        let value := calldataload(add(headStart, 32))\n        validator_revert_int8(value)\n        value2 := value\n        let value_1 := calldataload(add(headStart, 64))\n        if iszero(lt(value_1, 4)) { revert(0, 0) }\n        value3 := value_1\n        let value_2 := calldataload(add(headStart, 96))\n        validator_revert_address(value_2)\n        value4 := value_2\n        let value_3 := 0\n        value_3 := calldataload(add(headStart, 128))\n        value5 := value_3\n    }\n    function abi_decode_tuple_t_bytes32(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := 0\n        value := calldataload(headStart)\n        value0 := value\n    }\n    function abi_encode_tuple_t_int256_t_uint256_t_uint256__to_t_int256_t_uint256_t_uint256__fromStack_reversed(headStart, value2, value1, value0) -> tail\n    {\n        tail := add(headStart, 96)\n        mstore(headStart, value0)\n        mstore(add(headStart, 32), value1)\n        mstore(add(headStart, 64), value2)\n    }\n    function abi_decode_tuple_t_string_calldata_ptrt_struct$_UpdateConditions_$28153_calldata_ptr(headStart, dataEnd) -> value0, value1, value2\n    {\n        if slt(sub(dataEnd, headStart), 224) { 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_UpdateConditions_calldata(add(headStart, 32), dataEnd)\n    }\n    function abi_decode_tuple_t_addresst_struct$_UpdateConditions_$28153_calldata_ptr(headStart, dataEnd) -> value0, value1\n    {\n        if slt(sub(dataEnd, headStart), 224) { revert(0, 0) }\n        let value := calldataload(headStart)\n        validator_revert_address(value)\n        value0 := value\n        value1 := abi_decode_struct_UpdateConditions_calldata(add(headStart, 32), dataEnd)\n    }\n    function abi_encode_string(value, pos) -> end\n    {\n        let length := mload(value)\n        mcopy(pos, add(value, 0x20), length)\n        let _1 := add(pos, length)\n        mstore(_1, 0)\n        end := _1\n    }\n    function abi_encode_tuple_packed_t_string_memory_ptr_t_stringliteral_e64009107d042bdc478cc69a5433e4573ea2e8a23a46646c0ee241e30c888e73_t_string_memory_ptr__to_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed(pos, value1, value0) -> end\n    {\n        let _1 := abi_encode_string(value0, pos)\n        mstore(_1, \": \")\n        end := abi_encode_string(value1, add(_1, 2))\n    }\n    function panic_error_0x32()\n    {\n        mstore(0, shl(224, 0x4e487b71))\n        mstore(4, 0x32)\n        revert(0, 0x24)\n    }\n    function extract_byte_array_length(data) -> length\n    {\n        length := shr(1, data)\n        let outOfPlaceEncoding := and(data, 1)\n        if iszero(outOfPlaceEncoding) { length := and(length, 0x7f) }\n        if eq(outOfPlaceEncoding, lt(length, 32))\n        {\n            mstore(0, shl(224, 0x4e487b71))\n            mstore(4, 0x22)\n            revert(0, 0x24)\n        }\n    }\n    function abi_encode_tuple_t_userDefinedValueType$_ID4_$28155__to_t_bytes4__fromStack_library_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, shl(224, 0xffffffff)))\n    }\n    function abi_decode_uint64_fromMemory(offset) -> value\n    {\n        value := mload(offset)\n        validator_revert_uint64(value)\n    }\n    function abi_decode_int56_fromMemory(offset) -> value\n    {\n        value := mload(offset)\n        if iszero(eq(value, signextend(6, value))) { revert(0, 0) }\n    }\n    function abi_decode_tuple_t_struct$_Price_$28105_memory_ptr_fromMemory(headStart, dataEnd) -> value0\n    {\n        let _1 := slt(sub(dataEnd, headStart), 160)\n        if _1 { revert(0, 0) }\n        _1 := 0\n        let memPtr := mload(64)\n        let newFreePtr := add(memPtr, 160)\n        if or(gt(newFreePtr, 0xffffffffffffffff), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n        mstore(64, newFreePtr)\n        let value := mload(headStart)\n        validator_revert_int8(value)\n        mstore(memPtr, value)\n        let value_1 := mload(add(headStart, 32))\n        validator_revert_uint64(value_1)\n        mstore(add(memPtr, 32), value_1)\n        mstore(add(memPtr, 64), abi_decode_int56_fromMemory(add(headStart, 64)))\n        let value_2 := mload(add(headStart, 96))\n        validator_revert_uint64(value_2)\n        mstore(add(memPtr, 96), value_2)\n        let value_3 := 0\n        value_3 := mload(add(headStart, 128))\n        mstore(add(memPtr, 128), value_3)\n        value0 := memPtr\n    }\n    function abi_encode_tuple_t_userDefinedValueType$_ID4_$28155_t_uint24__to_t_bytes4_t_uint24__fromStack_library_reversed(headStart, value1, value0) -> tail\n    {\n        tail := add(headStart, 64)\n        mstore(headStart, and(value0, shl(224, 0xffffffff)))\n        mstore(add(headStart, 32), and(value1, 0xffffff))\n    }\n    function abi_decode_bytes_fromMemory(offset, end) -> array\n    {\n        if iszero(slt(add(offset, 0x1f), end)) { revert(0, 0) }\n        let length := mload(offset)\n        let _1 := array_allocation_size_bytes(length)\n        let memPtr := mload(64)\n        finalize_allocation(memPtr, _1)\n        mstore(memPtr, length)\n        if gt(add(add(offset, length), 0x20), end) { revert(0, 0) }\n        mcopy(add(memPtr, 0x20), add(offset, 0x20), length)\n        mstore(add(add(memPtr, length), 0x20), 0)\n        array := memPtr\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_bytes_fromMemory(add(headStart, offset), dataEnd)\n    }\n    function abi_encode_tuple_t_stringliteral_09ee694bb6d0f66081e15dd53293c7f941705ae2fd8f9732918eb9f8e2ff3219__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 13)\n        mstore(add(headStart, 64), \"not the owner\")\n        tail := add(headStart, 96)\n    }\n    function abi_encode_tuple_t_stringliteral_6fad3ee6d344e662108f49bced409fae87c3af64246556bdd23a34dddc7e1adc__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 19)\n        mstore(add(headStart, 64), \"already initialized\")\n        tail := add(headStart, 96)\n    }\n    function abi_encode_tuple_t_userDefinedValueType$_ID4_$28155_t_bool__to_t_bytes4_t_bool__fromStack_library_reversed(headStart, value1, value0) -> tail\n    {\n        tail := add(headStart, 64)\n        mstore(headStart, and(value0, shl(224, 0xffffffff)))\n        mstore(add(headStart, 32), iszero(iszero(value1)))\n    }\n    function abi_encode_string_calldata(start, length, pos) -> end\n    {\n        mstore(pos, length)\n        calldatacopy(add(pos, 0x20), start, length)\n        mstore(add(add(pos, length), 0x20), 0)\n        end := add(add(pos, and(add(length, 31), not(31))), 0x20)\n    }\n    function abi_encode_tuple_t_userDefinedValueType$_ID4_$28155_t_string_calldata_ptr__to_t_bytes4_t_string_memory_ptr__fromStack_reversed(headStart, value2, value1, value0) -> tail\n    {\n        mstore(headStart, and(value0, shl(224, 0xffffffff)))\n        mstore(add(headStart, 32), 64)\n        tail := abi_encode_string_calldata(value1, value2, add(headStart, 64))\n    }\n    function abi_decode_tuple_t_bytes4_fromMemory(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := mload(headStart)\n        validator_revert_userDefinedValueType_ID4(value)\n        value0 := value\n    }\n    function calldata_access_string_calldata(base_ref, ptr) -> value, length\n    {\n        let rel_offset_of_tail := calldataload(ptr)\n        if iszero(slt(rel_offset_of_tail, add(sub(calldatasize(), base_ref), not(30)))) { revert(0, 0) }\n        let value_1 := add(rel_offset_of_tail, base_ref)\n        length := calldataload(value_1)\n        value := add(value_1, 0x20)\n        if gt(length, 0xffffffffffffffff) { revert(0, 0) }\n        if sgt(value, sub(calldatasize(), length)) { revert(0, 0) }\n    }\n    function abi_encode_tuple_t_string_calldata_ptr_t_int8_t_enum$_Mappers_$28087_t_array$_t_string_calldata_ptr_$dyn_calldata_ptr__to_t_string_memory_ptr_t_int8_t_uint8_t_array$_t_string_memory_ptr_$dyn_memory_ptr__fromStack_library_reversed(headStart, value5, value4, value3, value2, value1, value0) -> tail\n    {\n        mstore(headStart, 128)\n        let tail_1 := abi_encode_string_calldata(value0, value1, add(headStart, 128))\n        mstore(add(headStart, 32), signextend(0, value2))\n        abi_encode_enum_Mappers(value3, add(headStart, 64))\n        mstore(add(headStart, 96), sub(tail_1, headStart))\n        let pos := tail_1\n        mstore(tail_1, value5)\n        pos := add(tail_1, 32)\n        let tail_2 := add(add(tail_1, shl(5, value5)), 32)\n        let srcPtr := value4\n        let i := 0\n        for { } lt(i, value5) { i := add(i, 1) }\n        {\n            mstore(pos, add(sub(tail_2, tail_1), not(31)))\n            let elementValue0, elementValue1 := calldata_access_string_calldata(value4, srcPtr)\n            tail_2 := abi_encode_string_calldata(elementValue0, elementValue1, tail_2)\n            srcPtr := add(srcPtr, 32)\n            pos := add(pos, 32)\n        }\n        tail := tail_2\n    }\n    function return_data_selector() -> sig\n    {\n        if gt(returndatasize(), 3)\n        {\n            returndatacopy(0, 0, 4)\n            sig := shr(224, mload(0))\n        }\n    }\n    function try_decode_error_message() -> ret\n    {\n        if lt(returndatasize(), 0x44) { leave }\n        let data := mload(64)\n        returndatacopy(data, 4, add(returndatasize(), not(3)))\n        let offset := mload(data)\n        if or(gt(offset, 0xffffffffffffffff), gt(add(offset, 0x24), returndatasize())) { leave }\n        let msg := add(data, offset)\n        let length := mload(msg)\n        if gt(length, 0xffffffffffffffff) { leave }\n        if gt(add(add(msg, length), 0x20), add(add(data, returndatasize()), not(3))) { leave }\n        finalize_allocation(data, add(add(offset, length), 0x20))\n        ret := msg\n    }\n    function abi_encode_tuple_t_userDefinedValueType$_ID4_$28155_t_string_calldata_ptr_t_int8_t_enum$_Mappers_$28087_t_array$_t_string_calldata_ptr_$dyn_calldata_ptr__to_t_bytes4_t_string_memory_ptr_t_int8_t_uint8_t_array$_t_string_memory_ptr_$dyn_memory_ptr__fromStack_reversed(headStart, value6, value5, value4, value3, value2, value1, value0) -> tail\n    {\n        mstore(headStart, and(value0, shl(224, 0xffffffff)))\n        mstore(add(headStart, 32), 160)\n        let tail_1 := abi_encode_string_calldata(value1, value2, add(headStart, 160))\n        mstore(add(headStart, 64), signextend(0, value3))\n        abi_encode_enum_Mappers(value4, add(headStart, 96))\n        mstore(add(headStart, 128), sub(tail_1, headStart))\n        let pos := tail_1\n        mstore(tail_1, value6)\n        pos := add(tail_1, 32)\n        let tail_2 := add(add(tail_1, shl(5, value6)), 32)\n        let srcPtr := value5\n        let i := 0\n        for { } lt(i, value6) { i := add(i, 1) }\n        {\n            mstore(pos, add(sub(tail_2, tail_1), not(31)))\n            let elementValue0, elementValue1 := calldata_access_string_calldata(value5, srcPtr)\n            tail_2 := abi_encode_string_calldata(elementValue0, elementValue1, tail_2)\n            srcPtr := add(srcPtr, 32)\n            pos := add(pos, 32)\n        }\n        tail := tail_2\n    }\n    function abi_decode_tuple_t_contract$_IWitOracleRadonRegistry_$27394_fromMemory(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := mload(headStart)\n        validator_revert_address(value)\n        value0 := value\n    }\n    function abi_encode_tuple_t_string_calldata_ptr_t_bytes_calldata_ptr_t_int8_t_contract$_IWitOracleRadonRegistry_$27394__to_t_string_memory_ptr_t_bytes_memory_ptr_t_int8_t_address__fromStack_library_reversed(headStart, value5, value4, value3, value2, value1, value0) -> tail\n    {\n        mstore(headStart, 128)\n        let tail_1 := abi_encode_string_calldata(value0, value1, add(headStart, 128))\n        mstore(add(headStart, 32), sub(tail_1, headStart))\n        tail := abi_encode_string_calldata(value2, value3, tail_1)\n        mstore(add(headStart, 64), signextend(0, value4))\n        mstore(add(headStart, 96), and(value5, sub(shl(160, 1), 1)))\n    }\n    function abi_decode_tuple_t_bytes4t_userDefinedValueType$_RadonHash_$37153_fromMemory(headStart, dataEnd) -> value0, value1\n    {\n        if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n        let value := mload(headStart)\n        validator_revert_userDefinedValueType_ID4(value)\n        value0 := value\n        let value_1 := 0\n        value_1 := mload(add(headStart, 32))\n        value1 := value_1\n    }\n    function abi_encode_tuple_t_userDefinedValueType$_ID4_$28155_t_string_calldata_ptr_t_int8_t_enum$_Oracles_$28092_t_address_t_bytes32__to_t_bytes4_t_string_memory_ptr_t_int8_t_uint8_t_address_t_bytes32__fromStack_reversed(headStart, value6, value5, value4, value3, value2, value1, value0) -> tail\n    {\n        mstore(headStart, and(value0, shl(224, 0xffffffff)))\n        mstore(add(headStart, 32), 192)\n        tail := abi_encode_string_calldata(value1, value2, add(headStart, 192))\n        mstore(add(headStart, 64), signextend(0, value3))\n        abi_encode_enum_Oracles(value4, add(headStart, 96))\n        mstore(add(headStart, 128), and(value5, sub(shl(160, 1), 1)))\n        mstore(add(headStart, 160), value6)\n    }\n    function validator_revert_uint16(value)\n    {\n        if iszero(eq(value, and(value, 0xffff))) { revert(0, 0) }\n    }\n    function abi_decode_uint16(offset) -> value\n    {\n        value := calldataload(offset)\n        validator_revert_uint16(value)\n    }\n    function abi_decode_tuple_t_uint16(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := calldataload(headStart)\n        validator_revert_uint16(value)\n        value0 := value\n    }\n    function abi_encode_tuple_t_struct$_DataPushReport_$37274_calldata_ptr_t_bytes_calldata_ptr__to_t_struct$_DataPushReport_$37274_memory_ptr_t_bytes_memory_ptr__fromStack_reversed(headStart, value2, value1, value0) -> tail\n    {\n        mstore(headStart, 64)\n        let value := 0\n        value := calldataload(value0)\n        mstore(add(headStart, 64), value)\n        let value_1 := 0\n        value_1 := calldataload(add(value0, 0x20))\n        mstore(add(headStart, 96), value_1)\n        let value_2 := calldataload(add(value0, 64))\n        validator_revert_uint16(value_2)\n        mstore(add(headStart, 128), and(value_2, 0xffff))\n        let value_3 := calldataload(add(value0, 96))\n        validator_revert_uint16(value_3)\n        mstore(add(headStart, 160), and(value_3, 0xffff))\n        let value_4 := calldataload(add(value0, 128))\n        validator_revert_uint64(value_4)\n        mstore(add(headStart, 192), and(value_4, 0xffffffffffffffff))\n        let memberValue0 := abi_decode_uint64(add(value0, 160))\n        abi_encode_userDefinedValueType_Timestamp(memberValue0, add(headStart, 0xe0))\n        let memberValue0_1, memberValue1 := calldata_access_string_calldata(value0, add(value0, 192))\n        mstore(add(headStart, 256), 0xe0)\n        let end := abi_encode_string_calldata(memberValue0_1, memberValue1, add(headStart, 288))\n        mstore(add(headStart, 0x20), sub(end, headStart))\n        tail := abi_encode_string_calldata(value1, value2, end)\n    }\n    function abi_decode_enum_RadonDataTypes_fromMemory(offset) -> value\n    {\n        value := mload(offset)\n        if iszero(lt(value, 20)) { revert(0, 0) }\n    }\n    function abi_decode_uint8_fromMemory(offset) -> value\n    {\n        value := mload(offset)\n        if iszero(eq(value, and(value, 0xff))) { revert(0, 0) }\n    }\n    function abi_decode_struct_CBOR_fromMemory(headStart, end) -> value\n    {\n        if slt(sub(end, headStart), 0xc0) { revert(0, 0) }\n        let memPtr := mload(64)\n        finalize_allocation_6265(memPtr)\n        value := memPtr\n        let offset := mload(headStart)\n        if gt(offset, 0xffffffffffffffff) { revert(0, 0) }\n        let _1 := add(headStart, offset)\n        if slt(sub(end, _1), 64) { revert(0, 0) }\n        let memPtr_1 := mload(64)\n        finalize_allocation_6266(memPtr_1)\n        let offset_1 := mload(_1)\n        if gt(offset_1, 0xffffffffffffffff) { revert(0, 0) }\n        mstore(memPtr_1, abi_decode_bytes_fromMemory(add(_1, offset_1), end))\n        let value_1 := 0\n        value_1 := mload(add(_1, 32))\n        mstore(add(memPtr_1, 32), value_1)\n        mstore(memPtr, memPtr_1)\n        mstore(add(memPtr, 32), abi_decode_uint8_fromMemory(add(headStart, 32)))\n        mstore(add(memPtr, 64), abi_decode_uint8_fromMemory(add(headStart, 64)))\n        mstore(add(memPtr, 96), abi_decode_uint8_fromMemory(add(headStart, 96)))\n        mstore(add(memPtr, 128), abi_decode_uint64_fromMemory(add(headStart, 128)))\n        mstore(add(memPtr, 160), abi_decode_uint64_fromMemory(add(headStart, 160)))\n    }\n    function abi_decode_tuple_t_struct$_DataResult_$37293_memory_ptr_fromMemory(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let offset := mload(headStart)\n        if gt(offset, 0xffffffffffffffff) { revert(0, 0) }\n        let _1 := add(headStart, offset)\n        if slt(sub(dataEnd, _1), 0xc0) { revert(0, 0) }\n        let memPtr := mload(64)\n        finalize_allocation_6265(memPtr)\n        let value := mload(_1)\n        if iszero(lt(value, 256)) { revert(0, 0) }\n        mstore(memPtr, value)\n        mstore(add(memPtr, 32), abi_decode_enum_RadonDataTypes_fromMemory(add(_1, 32)))\n        let value_1 := 0\n        value_1 := mload(add(_1, 64))\n        mstore(add(memPtr, 64), value_1)\n        let value_2 := 0\n        value_2 := mload(add(_1, 96))\n        mstore(add(memPtr, 96), value_2)\n        mstore(add(memPtr, 128), abi_decode_uint64_fromMemory(add(_1, 128)))\n        let offset_1 := mload(add(_1, 160))\n        if gt(offset_1, 0xffffffffffffffff) { revert(0, 0) }\n        mstore(add(memPtr, 160), abi_decode_struct_CBOR_fromMemory(add(_1, offset_1), dataEnd))\n        value0 := memPtr\n    }\n    function panic_error_0x11()\n    {\n        mstore(0, shl(224, 0x4e487b71))\n        mstore(4, 0x11)\n        revert(0, 0x24)\n    }\n    function checked_add_t_uint64(x, y) -> sum\n    {\n        sum := add(and(x, 0xffffffffffffffff), and(y, 0xffffffffffffffff))\n        if gt(sum, 0xffffffffffffffff) { panic_error_0x11() }\n    }\n    function checked_sub_t_uint64(x, y) -> diff\n    {\n        diff := sub(and(x, 0xffffffffffffffff), and(y, 0xffffffffffffffff))\n        if gt(diff, 0xffffffffffffffff) { panic_error_0x11() }\n    }\n    function checked_sub_t_int64(x, y) -> diff\n    {\n        diff := sub(signextend(7, x), signextend(7, y))\n        if or(slt(diff, not(0x7fffffffffffffff)), sgt(diff, 0x7fffffffffffffff)) { panic_error_0x11() }\n    }\n    function negate_t_int56(value) -> ret\n    {\n        let value_1 := signextend(6, value)\n        if eq(value_1, not(0x7fffffffffffff)) { panic_error_0x11() }\n        ret := sub(0, value_1)\n    }\n    function checked_mul_t_int56(x, y) -> product\n    {\n        let product_raw := mul(signextend(6, x), signextend(6, y))\n        product := signextend(6, product_raw)\n        if iszero(eq(product, product_raw)) { panic_error_0x11() }\n    }\n    function checked_div_t_uint64(x, y) -> r\n    {\n        let y_1 := and(y, 0xffffffffffffffff)\n        if iszero(y_1)\n        {\n            mstore(0, shl(224, 0x4e487b71))\n            mstore(4, 0x12)\n            revert(0, 0x24)\n        }\n        r := div(and(x, 0xffffffffffffffff), y_1)\n    }\n    function abi_encode_tuple_t_userDefinedValueType$_Timestamp_$37157_t_userDefinedValueType$_TransactionHash_$37159_t_uint64_t_int56_t_int8__to_t_uint64_t_bytes32_t_uint64_t_int56_t_int8__fromStack_reversed(headStart, value4, value3, value2, value1, value0) -> tail\n    {\n        tail := add(headStart, 160)\n        mstore(headStart, and(value0, 0xffffffffffffffff))\n        mstore(add(headStart, 32), value1)\n        mstore(add(headStart, 64), and(value2, 0xffffffffffffffff))\n        mstore(add(headStart, 96), signextend(6, value3))\n        mstore(add(headStart, 128), signextend(0, value4))\n    }\n    function abi_encode_tuple_t_userDefinedValueType$_ID4_$28155_t_userDefinedValueType$_Timestamp_$37157_t_userDefinedValueType$_TransactionHash_$37159_t_uint64_t_int56_t_uint64_t_int8__to_t_bytes4_t_uint64_t_bytes32_t_uint64_t_int56_t_uint64_t_int8__fromStack_reversed(headStart, value6, value5, value4, value3, value2, value1, value0) -> tail\n    {\n        tail := add(headStart, 224)\n        mstore(headStart, and(value0, shl(224, 0xffffffff)))\n        mstore(add(headStart, 32), and(value1, 0xffffffffffffffff))\n        mstore(add(headStart, 64), value2)\n        mstore(add(headStart, 96), and(value3, 0xffffffffffffffff))\n        mstore(add(headStart, 128), signextend(6, value4))\n        mstore(add(headStart, 160), and(value5, 0xffffffffffffffff))\n        mstore(add(headStart, 192), signextend(0, value6))\n    }\n    function abi_encode_tuple_t_stringliteral_679c3eba4e7d658297efbb8047c8787b8adf0086ae8149ace5cf10d6f2df7de4__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 24)\n        mstore(add(headStart, 64), \"Clonable: only on clones\")\n        tail := add(headStart, 96)\n    }\n    function abi_decode_tuple_t_contract$_IWitPriceFeeds_$27848_fromMemory(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := mload(headStart)\n        validator_revert_address(value)\n        value0 := value\n    }\n    function abi_encode_tuple_t_address_t_struct$_UpdateConditions_$28153_storage__to_t_address_t_struct$_UpdateConditions_$28153_memory_ptr__fromStack_reversed(headStart, value1, value0) -> tail\n    {\n        tail := add(headStart, 224)\n        mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n        let slotValue := sload(value1)\n        mstore(add(headStart, 32), and(slotValue, 0xffffff))\n        mstore(add(headStart, 64), iszero(iszero(and(shr(24, slotValue), 0xff))))\n        mstore(add(headStart, 96), and(shr(32, slotValue), 0xffffff))\n        mstore(add(headStart, 128), and(shr(56, slotValue), 0xffffff))\n        abi_encode_uint16(and(shr(80, slotValue), 0xffff), add(headStart, 160))\n        abi_encode_uint16(and(shr(96, slotValue), 0xffff), add(headStart, 192))\n    }\n    function abi_decode_tuple_t_address_fromMemory(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := mload(headStart)\n        validator_revert_address(value)\n        value0 := value\n    }\n    function abi_decode_tuple_t_struct$_UpdateConditions_$28153_memory_ptr(headStart, dataEnd) -> value0\n    {\n        let _1 := slt(sub(dataEnd, headStart), 192)\n        if _1 { revert(0, 0) }\n        _1 := 0\n        let memPtr := mload(64)\n        finalize_allocation_6265(memPtr)\n        let value := calldataload(headStart)\n        validator_revert_uint24(value)\n        mstore(memPtr, value)\n        let value_1 := calldataload(add(headStart, 32))\n        validator_revert_bool(value_1)\n        mstore(add(memPtr, 32), value_1)\n        let value_2 := calldataload(add(headStart, 64))\n        validator_revert_uint24(value_2)\n        mstore(add(memPtr, 64), value_2)\n        let value_3 := calldataload(add(headStart, 96))\n        validator_revert_uint24(value_3)\n        mstore(add(memPtr, 96), value_3)\n        let value_4 := calldataload(add(headStart, 128))\n        validator_revert_uint16(value_4)\n        mstore(add(memPtr, 128), value_4)\n        mstore(add(memPtr, 160), abi_decode_uint16(add(headStart, 160)))\n        value0 := memPtr\n    }\n    function read_from_calldatat_uint24(ptr) -> returnValue\n    {\n        let value := calldataload(ptr)\n        validator_revert_uint24(value)\n        returnValue := value\n    }\n    function update_storage_value_offset_uint24_to_uint24(slot, value)\n    {\n        let _1 := sload(slot)\n        sstore(slot, or(and(_1, not(0xffffff00000000000000)), and(shl(56, value), 0xffffff00000000000000)))\n    }\n    function read_from_calldatat_uint16(ptr) -> returnValue\n    {\n        let value := calldataload(ptr)\n        validator_revert_uint16(value)\n        returnValue := value\n    }\n    function update_storage_value_offset_uint16_to_uint16(slot, value)\n    {\n        let _1 := sload(slot)\n        sstore(slot, or(and(_1, not(shl(80, 65535))), and(shl(80, value), shl(80, 65535))))\n    }\n    function update_storage_value_offset_t_uint16_to_t_uint16(slot, value)\n    {\n        let _1 := sload(slot)\n        sstore(slot, or(and(_1, not(shl(96, 65535))), and(shl(96, value), shl(96, 65535))))\n    }\n    function update_storage_value_offset_0_t_struct$_UpdateConditions_$28153_calldata_ptr_to_t_struct$_UpdateConditions_$28153_storage(slot, value)\n    {\n        let value_1 := calldataload(value)\n        validator_revert_uint24(value_1)\n        let _1 := and(value_1, 0xffffff)\n        let _2 := sload(slot)\n        sstore(slot, or(and(_2, not(16777215)), _1))\n        let value_2 := calldataload(add(value, 32))\n        validator_revert_bool(value_2)\n        sstore(slot, or(or(and(_2, not(0xffffffff)), _1), and(shl(24, iszero(iszero(value_2))), 0xff000000)))\n        let returnValue := 0\n        let value_3 := calldataload(add(value, 64))\n        validator_revert_uint24(value_3)\n        returnValue := value_3\n        let _3 := sload(slot)\n        sstore(slot, or(and(_3, not(0xffffff00000000)), and(shl(32, value_3), 0xffffff00000000)))\n        update_storage_value_offset_uint24_to_uint24(slot, read_from_calldatat_uint24(add(value, 96)))\n        update_storage_value_offset_uint16_to_uint16(slot, read_from_calldatat_uint16(add(value, 128)))\n        update_storage_value_offset_t_uint16_to_t_uint16(slot, read_from_calldatat_uint16(add(value, 160)))\n    }\n    function abi_encode_tuple_t_string_calldata_ptr_t_userDefinedValueType$_RadonHash_$37153_t_int8_t_contract$_IWitOracleRadonRegistry_$27394__to_t_string_memory_ptr_t_bytes32_t_int8_t_address__fromStack_library_reversed(headStart, value4, value3, value2, value1, value0) -> tail\n    {\n        mstore(headStart, 128)\n        tail := abi_encode_string_calldata(value0, value1, add(headStart, 128))\n        mstore(add(headStart, 32), value2)\n        mstore(add(headStart, 64), signextend(0, value3))\n        mstore(add(headStart, 96), and(value4, sub(shl(160, 1), 1)))\n    }\n    function abi_encode_tuple_packed_t_address_t_userDefinedValueType$_ID4_$28155__to_t_address_t_bytes4__nonPadded_inplace_fromStack_reversed(pos, value1, value0) -> end\n    {\n        mstore(pos, and(shl(96, value0), not(0xffffffffffffffffffffffff)))\n        mstore(add(pos, 20), and(value1, shl(224, 0xffffffff)))\n        end := add(pos, 24)\n    }\n    function abi_encode_tuple_t_struct$_PriceFeed_$22395_storage_ptr_t_userDefinedValueType$_ID4_$28155_t_uint24__to_t_uint256_t_bytes4_t_uint24__fromStack_library_reversed(headStart, value2, value1, value0) -> tail\n    {\n        tail := add(headStart, 96)\n        mstore(headStart, value0)\n        mstore(add(headStart, 32), and(value1, shl(224, 0xffffffff)))\n        mstore(add(headStart, 64), and(value2, 0xffffff))\n    }\n    function abi_decode_tuple_t_struct$_PriceData_$22357_memory_ptr_fromMemory(headStart, dataEnd) -> value0\n    {\n        let _1 := slt(sub(dataEnd, headStart), 192)\n        if _1 { revert(0, 0) }\n        _1 := 0\n        let memPtr := mload(64)\n        finalize_allocation_6265(memPtr)\n        let value := mload(headStart)\n        validator_revert_uint64(value)\n        mstore(memPtr, value)\n        let value_1 := mload(add(headStart, 32))\n        validator_revert_uint64(value_1)\n        mstore(add(memPtr, 32), value_1)\n        mstore(add(memPtr, 64), abi_decode_int56_fromMemory(add(headStart, 64)))\n        let value_2 := mload(add(headStart, 96))\n        validator_revert_int8(value_2)\n        mstore(add(memPtr, 96), value_2)\n        let value_3 := mload(add(headStart, 128))\n        validator_revert_uint64(value_3)\n        mstore(add(memPtr, 128), value_3)\n        let value_4 := 0\n        value_4 := mload(add(headStart, 160))\n        mstore(add(memPtr, 160), value_4)\n        value0 := memPtr\n    }\n    function abi_encode_tuple_t_rational_1_by_1__to_t_uint64__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, 0xffffffffffffffff))\n    }\n    function abi_encode_tuple_t_stringliteral_f9e00dcd71685f8522f8d07872510c3a81c2039687b393455d27e0cdc22dcafa__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 23)\n        mstore(add(headStart, 64), \"cbor: cannot fetch data\")\n        tail := add(headStart, 96)\n    }\n    function abi_encode_tuple_t_stringliteral_225559eb8402045bea7ff07c35d0ad8c0547830223ac1c21d44fb948d6896ebc__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 41)\n        mstore(add(headStart, 64), \"Ownable2Step: caller is not the \")\n        mstore(add(headStart, 96), \"new owner\")\n        tail := add(headStart, 128)\n    }\n    function abi_encode_tuple_t_stringliteral_f8cfba6ed78807628b270dde5bcd8cbfca4a14a698a8ee8cad29a9a244bc492e__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 23)\n        mstore(add(headStart, 64), \"Clonable: CREATE failed\")\n        tail := add(headStart, 96)\n    }\n    function abi_encode_tuple_packed_t_bytes1_t_address_t_bytes32_t_bytes32__to_t_bytes1_t_address_t_bytes32_t_bytes32__nonPadded_inplace_fromStack_reversed(pos, value3, value2, value1, value0) -> end\n    {\n        mstore(pos, and(value0, shl(248, 255)))\n        mstore(add(pos, 1), and(shl(96, value1), not(0xffffffffffffffffffffffff)))\n        mstore(add(pos, 21), value2)\n        mstore(add(pos, 53), value3)\n        end := add(pos, 85)\n    }\n    function abi_encode_tuple_packed_t_bytes_memory_ptr_t_bytes_memory_ptr__to_t_bytes_memory_ptr_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed(pos, value1, value0) -> end\n    {\n        end := abi_encode_string(value1, abi_encode_string(value0, pos))\n    }\n    function abi_encode_tuple_t_string_memory_ptr_t_int8_t_enum$_Oracles_$28092_t_address_t_bytes32__to_t_string_memory_ptr_t_int8_t_uint8_t_address_t_bytes32__fromStack_library_reversed(headStart, value4, value3, value2, value1, value0) -> tail\n    {\n        mstore(headStart, 160)\n        tail := abi_encode_string_memory_ptr(value0, add(headStart, 160))\n        mstore(add(headStart, 32), signextend(0, value1))\n        abi_encode_enum_Oracles(value2, add(headStart, 64))\n        mstore(add(headStart, 96), and(value3, sub(shl(160, 1), 1)))\n        mstore(add(headStart, 128), value4)\n    }\n    function abi_encode_tuple_t_userDefinedValueType$_ID4_$28155_t_string_memory_ptr_t_int8_t_enum$_Oracles_$28092_t_address_t_bytes32__to_t_bytes4_t_string_memory_ptr_t_int8_t_uint8_t_address_t_bytes32__fromStack_reversed(headStart, value5, value4, value3, value2, value1, value0) -> tail\n    {\n        mstore(headStart, and(value0, shl(224, 0xffffffff)))\n        mstore(add(headStart, 32), 192)\n        tail := abi_encode_string_memory_ptr(value1, add(headStart, 192))\n        mstore(add(headStart, 64), signextend(0, value2))\n        abi_encode_enum_Oracles(value3, add(headStart, 96))\n        mstore(add(headStart, 128), and(value4, sub(shl(160, 1), 1)))\n        mstore(add(headStart, 160), value5)\n    }\n    function abi_encode_tuple_t_userDefinedValueType$_ID4_$28155_t_string_memory_ptr_t_struct$_UpdateConditions_$28153_memory_ptr__to_t_bytes4_t_string_memory_ptr_t_struct$_UpdateConditions_$28153_memory_ptr__fromStack_reversed(headStart, value2, value1, value0) -> tail\n    {\n        mstore(headStart, and(value0, shl(224, 0xffffffff)))\n        mstore(add(headStart, 32), 256)\n        tail := abi_encode_string_memory_ptr(value1, add(headStart, 256))\n        abi_encode_struct_UpdateConditions(value2, add(headStart, 64))\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 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 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 increment_t_uint256(value) -> ret\n    {\n        if eq(value, not(0)) { panic_error_0x11() }\n        ret := add(value, 1)\n    }\n    function checked_add_t_uint256(x, y) -> sum\n    {\n        sum := add(x, y)\n        if gt(x, sum) { panic_error_0x11() }\n    }\n}",
      "id": 136,
      "language": "Yul",
      "name": "#utility.yul"
    }
  ],
  "sourceMap": "1583:5749:18:-:0;;;214:4:127;170:49;;1866:321:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2046:10;2058;;2822:48:19;;2860:10;2822:48;;;2848:9;2822:48;1288:4:135;1304:13;;1328:27;;;;;-1:-1:-1;;;;;1273:26:1;;1269:95;;1322:31;;-1:-1:-1;;;1322:31:1;;1350:1;1322:31;;;678:51:136;651:18;;1322:31:1;;;;;;;;1269:95;1373:32;1392:12;1373:18;:32::i;:::-;1225:187;2935:1:19::1;2910:10;-1:-1:-1::0;;;;;2910:22:19::1;;:26;2888:97;;;::::0;-1:-1:-1;;;2888:97:19;;942:2:136;2888:97:19::1;::::0;::::1;924:21:136::0;981:2;961:18;;;954:30;1020:23;1000:18;;;993:51;1061:18;;2888:97:19::1;740:345:136::0;2888:97:19::1;2996:22;3043:10;-1:-1:-1::0;;;;;3021:40:19::1;;:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2996:67:::0;-1:-1:-1;;;;;;;3096:47:19;::::1;-1:-1:-1::0;;;3096:47:19::1;::::0;:156:::1;;-1:-1:-1::0;;;;;;;3165:87:19;::::1;-1:-1:-1::0;;;3165:87:19::1;3096:156;3074:228;;;::::0;-1:-1:-1;;;3074:228:19;;1587:2:136;3074:228:19::1;::::0;::::1;1569:21:136::0;1626:2;1606:18;;;1599:30;1665:24;1645:18;;;1638:52;1707:18;;3074:228:19::1;1385:346:136::0;3074:228:19::1;-1:-1:-1::0;;;;;;;3313:22:19::1;;::::0;-1:-1:-1;3384:243:19::1;::::0;;::::1;::::0;::::1;::::0;;3429:9:::1;3384:243:::0;;-1:-1:-1;3384:243:19::1;::::0;;::::1;::::0;;;3499:10:::1;3384:243:::0;;;;3539:6:::1;3384:243:::0;;;;;;;;;;;3614:1:::1;3384:243:::0;;;;;;;;3346:35;:281;;-1:-1:-1;;;;;;3346:281:19;;;;;2086:23:18::2;::::0;;;;2146:32;;;;::::2;::::0;;;::::2;::::0;;::::2;::::0;::::2;::::0;-1:-1:-1;2136:43:18;2120:59:::2;::::0;1583:5749;;1480:156:131;1570:13;1563:20;;-1:-1:-1;;;;;;1563:20:131;;;1594:34;1619:8;1594:24;:34::i;:::-;1480:156;:::o;2912:187:1:-;2985:16;3004:6;;-1:-1:-1;;;;;3020:17:1;;;-1:-1:-1;;;;;;3020:17:1;;;;;;3052:40;;3004:6;;;;;;;3052:40;;2985:16;3052:40;2975:124;2912:187;:::o;14:513:136:-;99:6;107;115;168:2;156:9;147:7;143:23;139:32;136:52;;;184:1;181;174:12;136:52;210:16;;-1:-1:-1;;;;;255:31:136;;245:42;;235:70;;301:1;298;291:12;235:70;369:2;354:18;;348:25;418:2;403:18;;397:25;324:5;;-1:-1:-1;348:25:136;-1:-1:-1;460:15:136;;453:23;441:36;;431:64;;491:1;488;481:12;431:64;514:7;504:17;;;14:513;;;;;:::o;1090:290::-;1159:6;1212:2;1200:9;1191:7;1187:23;1183:32;1180:52;;;1228:1;1225;1218:12;1180:52;1254:16;;-1:-1:-1;;;;;;1299:32:136;;1289:43;;1279:71;;1346:1;1343;1336:12;1279:71;1369:5;1090:290;-1:-1:-1;;;1090:290:136:o;1385:346::-;1583:5749:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;",
  "deployedSourceMap": "1583:5749:18:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2349:29;;;;;;;;;;;;;;-1:-1:-1;;;2349:29:18;;;:7;:29::i;:::-;1583:5749;16652:1313:19;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2535:43;;;;;;;;-1:-1:-1;;;;;4531:32:136;;;4513:51;;4501:2;4486:18;2535:43:19;4367:203:136;4443:145:19;-1:-1:-1;;;;;;;;;;;4528:48:19;-1:-1:-1;;;4528:48:19;;;;:52;;4443:145;;;4740:14:136;;4733:22;4715:41;;4703:2;4688:18;4443:145:19;4575:187:136;10326:106:19;;;;;;:::i;:::-;;:::i;:::-;;;5679:25:136;;;5667:2;5652:18;10326:106:19;5533:177:136;18132:135:19;;;;;;:::i;:::-;;:::i;:::-;;;5801:4:136;5873:21;;;;5855:40;;5843:2;5828:18;18132:135:19;5715:186:136;6980:263:19;;;;;;:::i;:::-;;:::i;:::-;;;;;;6806:13:136;;6803:1;6792:28;6774:47;;6881:4;6869:17;;;6863:24;-1:-1:-1;;;;;6859:49:136;6837:20;;;6830:79;6979:4;6967:17;;;6961:24;6958:1;6947:39;6925:20;;;6918:69;7043:4;7031:17;;;7025:24;7003:20;;;6996:54;;;;6761:3;6746:19;;6571:485;18413:313:19;;;:::i;:::-;;;;;;;:::i;8523:209::-;;;;;;:::i;:::-;;:::i;4121:1183:18:-;;;;;;:::i;:::-;;:::i;20166:454:19:-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;2638:160:18:-;2784:6;2638:160;;3638:47;;;;;1939:88:135;2008:11;1939:88;;5704:118:18;;;:::i;:::-;;;;;;;:::i;21397:933:19:-;;;;;;:::i;:::-;;:::i;22748:1051::-;;;;;;:::i;:::-;;:::i;5391:305:18:-;;;;;;:::i;:::-;;:::i;25425:3181:19:-;;;;;;:::i;:::-;;:::i;2293:101:1:-;;;:::i;20628:475:19:-;;;;;;:::i;:::-;;:::i;19221:159::-;;;:::i;11397:262::-;;;;;;:::i;:::-;;:::i;13861:119::-;13951:21;;-1:-1:-1;;;13951:21:19;;;;13861:119;;19572:169;19686:7;1710:6:1;-1:-1:-1;;;;;1710:6:1;19572:169:19;5704:118:18;19388:176:19;;;:::i;:::-;;;;;;;:::i;8076:226::-;;;;;;:::i;:::-;;:::i;16493:147::-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;2806:296:18:-;;;:::i;1668:176:135:-;1755:5;1808:18;1668:176;;21111:278:19;;;;;;:::i;:::-;;:::i;588:149:12:-;-1:-1:-1;;;588:149:12;;14053:131:19;;;;;;:::i;:::-;;:::i;13367:146::-;13484:20;;-1:-1:-1;;;;;13484:20:19;13367:146;;1726:132:18;1814:36;;;;;;;;;;;;-1:-1:-1;;;1814:36:18;;;;1726:132;;18734:233:19;;;;;;:::i;:::-;;:::i;14981:135::-;;;;;;:::i;:::-;;:::i;23807:1007::-;;;;;;:::i;:::-;;:::i;15729:178::-;;;;;;:::i;:::-;;:::i;17973:151::-;;;;;;:::i;:::-;;:::i;19749:193::-;;;:::i;18275:126::-;;;;;;:::i;:::-;;:::i;11788:835::-;;;;;;:::i;:::-;;:::i;22338:402::-;;;;;;:::i;:::-;;:::i;19954:204::-;;;;;;:::i;:::-;;:::i;4850:980::-;;;;;;:::i;:::-;;:::i;:::-;;;;19554:25:136;;;19610:2;19595:18;;19588:34;;;;19638:18;;;19631:34;19542:2;19527:18;4850:980:19;19354:317:136;24822:349:19;;;;;;:::i;:::-;;:::i;3643:542::-;;;;;;:::i;:::-;;:::i;608:229:63:-;1814:36:18;;;;;;;;;;;;-1:-1:-1;;;1814:36:18;;;;794:8:63;710:107;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;710:107:63;;;;;;;;;;-1:-1:-1;;;682:147:63;;;;;;;:::i;:::-;;;;;;;;16652:1313:19;16746:11;;:::i;:::-;16775:47;16825:21;16841:4;16825:15;:21::i;:::-;16875:15;;;;;;-1:-1:-1;;;;16875:15:19;;;;16901:27;16857:15;16943:7;:23;;;;;;;;:::i;:::-;;16939:296;;16983:18;17004:11;-1:-1:-1;;;;;;17004:9:19;;;:11::i;:::-;16983:32;;17057:5;:12;-1:-1:-1;;;;;17044:26:19;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;17030:40:19;-1:-1:-1;17090:8:19;17085:139;17110:5;:12;17104:3;:18;17085:139;;;-1:-1:-1;;;;;;;;;;;17170:19:19;;:31;17190:5;17196:3;17190:10;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;;;;17170:31:19;;-1:-1:-1;;;;;17170:31:19;;;;;;;;;;;;;:38;;17151:57;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:11;17163:3;17151:16;;;;;;;;:::i;:::-;;;;;;;;;;:57;17124:6;;17085:139;;;;16968:267;16939:296;17263:15;;;;17314:22;;;;17414:543;;;;;;;;;-1:-1:-1;;;17263:15:19;;;;;-1:-1:-1;;;17372:22:19;;-1:-1:-1;;;;;17372:22:19;;17414:543;17438:13;17446:4;17438:7;:13::i;:::-;17414:543;;17476:17;;;;-1:-1:-1;;;17476:17:19;;;;17414:543;;;;;;;;;;;17476:8;;17414:543;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17554:92;;;;;;;;17587:7;17554:92;;;;;;;;:::i;:::-;;;;;17619:11;17554:92;;;17414:543;;;;17669:139;;;;;;;;17702:7;17669:139;;;;;;;;:::i;:::-;;;;;17736:14;-1:-1:-1;;;;;17669:139:19;;;;;17778:14;17669:139;;;17414:543;;;;17841:36;:8;:25;;:34;:36::i;:::-;17414:543;;;;17904:20;:35;17940:4;17904:41;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;17414:543;;17407:550;16652:1313;-1:-1:-1;;;;;;;;16652:1313:19:o;10326:106::-;10396:7;10326:106;;;;;:::o;18132:135::-;18205:4;18229:21;18245:4;18229:15;:21::i;:::-;:30;;;-1:-1:-1;;;18229:30:19;;;;;18132:135;-1:-1:-1;;18132:135:19:o;6980:263::-;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;7154:70:19;;-1:-1:-1;;;7154:70:19;;-1:-1:-1;;;;;;23574:33:136;;7154:70:19;;;23556:52:136;23656:8;23644:21;;23624:18;;;23617:49;7125:110:19;;7154:20;;:41;;23529:18:136;;7154:70:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;29923:212:19;;;;;;;29961:15;;;;29923:212;;;;;;;;;30026:18;;30020:25;;29923:212;;;;;;;30102:19;;;;-1:-1:-1;;;;;30073:50:19;29923:212;;;;;;;;29816:327;7125:110;7118:117;6980:263;-1:-1:-1;;;6980:263:19:o;18413:313::-;-1:-1:-1;;;;;;;;;;;18573:12:19;;18473:20;;20759:24:61;-1:-1:-1;;;;;18562:24:19;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;18553:33;;18602:8;18597:122;18618:6;:13;18612:3;:19;18597:122;;;18670:37;18686:20;18695:5;18701:3;18695:10;;;;;;;;:::i;:::-;;;;;;;;;29795:2;29698:110;18670:37;18656:6;18663:3;18656:11;;;;;;;;:::i;:::-;;;;;;;;;;:51;18633:6;;18597:122;;;;18495:231;18413:313;:::o;8523:209::-;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8640:84:19;8669:20;:29;8708:3;8699:13;8669:44;;;;;;;;;;;;;;;:::i;4121:1183:18:-;-1:-1:-1;;;;;;;;;;;4528:48:19;4226:54:18;;-1:-1:-1;;;4528:48:19;;;;:52;;4235:27:18;;;4254:8;:6;:8::i;:::-;4253:9;4235:27;4226:54;;;;;;;;;;;;;-1:-1:-1;;;4226:54:18;;;:8;:54::i;:::-;4301:14;1710:6:1;-1:-1:-1;;;;;1710:6:1;;4336:385:18;;4490:9;4479:39;;;;;;;;;;;;:::i;:::-;4457:61;-1:-1:-1;4457:61:18;-1:-1:-1;4533:26:18;4457:61;4533:18;:26::i;:::-;4336:385;;;4671:10;-1:-1:-1;;;;;4671:20:18;;;4663:46;;;;-1:-1:-1;;;4663:46:18;;24889:2:136;4663:46:18;;;24871:21:136;24928:2;24908:18;;;24901:30;-1:-1:-1;;;24947:18:136;;;24940:43;25000:18;;4663:46:18;24687:337:136;4663:46:18;-1:-1:-1;;;;;;;;;;;4749:22:18;:36;;;;:93;;-1:-1:-1;;;;;;;;;;;;4806:22:18;1755:5:135;1808:18;4806:36:18;4749:93;4731:179;;;4869:29;;-1:-1:-1;;;4869:29:18;;25231:2:136;4869:29:18;;;25213:21:136;25270:2;25250:18;;;25243:30;-1:-1:-1;;;25289:18:136;;;25282:49;25348:18;;4869:29:18;25029:343:136;4731:179:18;4924:19;;-1:-1:-1;;;;;4924:19:18;4920:171;;5041:19;:35;;-1:-1:-1;;;;;;5041:35:18;5071:4;5041:35;;;4920:171;1755:5:135;1808:18;-1:-1:-1;;;;;;;;;;;5101:35:18;879:66:133;5147:37:18;;-1:-1:-1;;;;;;5147:37:18;2784:6;-1:-1:-1;;;;;5147:37:18;;;;5195;5222:9;5195:26;:37::i;:::-;1755:5:135;1808:18;2784:6:18;-1:-1:-1;;;;;5248:48:18;5257:7;19686::19;1710:6:1;-1:-1:-1;;;;;1710:6:1;;5704:118:18;5257:7;-1:-1:-1;;;;;5248:48:18;;5286:9;:7;:9::i;:::-;5248:48;;;;;;:::i;:::-;;;;;;;;4215:1089;4121:1183;:::o;20166:454:19:-;20300:17;1531:13:1;:11;:13::i;:::-;20335:8:19::1;20346:23;20355:13;20360:7;;20355:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;20355:4:19::1;::::0;-1:-1:-1;;;20355:13:19:i:1;:::-;29795:2:::0;29698:110;20346:23:::1;20380:56;::::0;-1:-1:-1;;;20380:56:19;;-1:-1:-1;;;;;;25595:33:136;;20380:56:19::1;::::0;::::1;25577:52:136::0;25672:14;;25665:22;25645:18;;;25638:50;20335:34:19;;-1:-1:-1;20380:20:19::1;::::0;:36:::1;::::0;25550:18:136;;20380:56:19::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20483:10;-1:-1:-1::0;;;;;20452:95:19::1;;20509:4;20529:7;;20452:95;;;;;;;;:::i;:::-;;;;;;;;20565:20;:45;:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;20558:54:::0;20166:454;-1:-1:-1;;;;;20166:454:19:o;5704:118:18:-;5761:13;5794:20;5804:9;5794;:20::i;:::-;5787:27;;5704:118;:::o;21397:933:19:-;21640:6;1531:13:1;:11;:13::i;:::-;21668:177:19::1;::::0;-1:-1:-1;;;21668:177:19;;:20:::1;::::0;:56:::1;::::0;:177:::1;::::0;21743:7;;;;21770:9;;21799:7;;21825:5;;;;21668:177:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;21668:177:19::1;::::0;;::::1;;::::0;;::::1;-1:-1:-1::0;;21668:177:19::1;::::0;::::1;::::0;;;::::1;::::0;;::::1;::::0;::::1;:::i;:::-;;;21664:659;;;;:::i;:::-;;;::::0;::::1;;;;;:::i;:::-;;;;;;;;22216:16;22224:7;22216;:16::i;:::-;22165:90;21664:659;;;;;;::::0;;;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22292:18;:16;:18::i;21664:659::-;21938:10;-1:-1:-1::0;;;;;21904:205:19::1;;21967:23;21976:13;21981:7;;21976:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;21976:4:19::1;::::0;-1:-1:-1;;;21976:13:19:i:1;21967:23::-;22009:7;;22035:9;22063:7;22089:5;;21904:205;;;;;;;;;;;;:::i;:::-;;;;;;;;22131:10:::0;-1:-1:-1;21664:659:19::1;21397:933:::0;;;;;;;;:::o;22748:1051::-;22974:6;1531:13:1;:11;:13::i;:::-;23002:20:19::1;:63;23084:7;;23110:14;;23143:9;23182;-1:-1:-1::0;;;;;23171:30:19::1;;:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;23002:216;;;;;;;;;;;;;;;;;;;;:::i;:::-;;::::0;::::1;;;;;;;;;;;;;;;;-1:-1:-1::0;23002:216:19::1;::::0;;::::1;;::::0;;::::1;-1:-1:-1::0;;23002:216:19::1;::::0;::::1;::::0;;;::::1;::::0;;::::1;::::0;::::1;:::i;:::-;;;22998:794;;;;:::i;:::-;;;::::0;::::1;;;;;:::i;:::-;;;;;;;;23685:16;23693:7;23685;:16::i;:::-;23634:90;22998:794;;;;;;::::0;;;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23761:18;:16;:18::i;22998:794::-;23339:10;-1:-1:-1::0;;;;;23305:274:19::1;;23368:23;23377:13;23382:7;;23377:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;23377:4:19::1;::::0;-1:-1:-1;;;23377:13:19:i:1;23368:23::-;23410:7;;23436:9;23464:14;23505:4;23553:10;23305:274;;;;;;;;;;;;:::i;:::-;;;;;;;;-1:-1:-1::0;23601:10:19;22748:1051;-1:-1:-1;;;;;;22748:1051:19:o;5391:305:18:-;5502:4;2008:11:135;5626:51:18;;;;;5672:5;-1:-1:-1;;;;;5661:16:18;:7;19686::19;1710:6:1;-1:-1:-1;;;;;1710:6:1;;5704:118:18;5661:7;-1:-1:-1;;;;;5661:16:18;;5524:164;5391:305;-1:-1:-1;;5391:305:18:o;25425:3181:19:-;25640:19;;;;;25606:8;25617:43;;;:22;:43;;;;;;;;;-1:-1:-1;;;;;;25694:11:19;;25671:88;;;;-1:-1:-1;;;25671:88:19;;;;;;;;;;;;25770:47;25820:21;25836:4;25820:15;:21::i;:::-;25770:71;;25852:41;25896:36;:8;:25;;:34;:36::i;:::-;26004:30;;;;25852:80;;-1:-1:-1;25965:69:19;;:35;;;;;;;;:::i;:::-;:69;;;;25943:142;;;;-1:-1:-1;;;25943:142:19;;;;;;;;;;;;26135:88;;-1:-1:-1;;;26135:88:19;;26096:36;;-1:-1:-1;;;;;26146:9:19;26135:36;;;;:88;;26186:6;;26207:5;;;;26135:88;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;26135:88:19;;;;;;;;;;;;:::i;:::-;26096:127;-1:-1:-1;26278:28:19;26256:18;;:50;;;;;;;;:::i;:::-;;:124;;;;-1:-1:-1;26351:29:19;26327:11;:20;;;:53;;;;;;;;:::i;:::-;;26256:124;26234:191;;;;-1:-1:-1;;;26234:191:19;;;;;;;;;;;;26483:19;;;:29;26458:21;;;;-1:-1:-1;;;;;;;;26483:29:19;;;;;26458:24;;37963:41:116;26436:118:19;;;;-1:-1:-1;;;26436:118:19;;;;;;;;;;;;26711:30;;;;26678:19;;;:29;26654:87;;;;;-1:-1:-1;;;26678:29:19;;-1:-1:-1;;;;;26678:29:19;26654:87;:::i;:::-;-1:-1:-1;;;;;26587:154:19;26611:11;:21;;;-1:-1:-1;;;;;26587:154:19;;;26565:212;;;;-1:-1:-1;;;26565:212:19;;;;;;;;;;;;26815:19;;;:28;26993:21;;;;-1:-1:-1;;;26815:28:19;;26798:14;26815:28;;;;26798:14;;26895:120;;-1:-1:-1;;;26919:29:19;;-1:-1:-1;;;;;26919:29:19;26895:120;:::i;:::-;27057:19;;;:25;26854:172;;;;;;-1:-1:-1;;;;27057:25:19;;-1:-1:-1;;;;;27057:25:19;27037:17;27113:23;:11;:21;:23::i;:::-;27093:43;-1:-1:-1;27147:17:19;27173:37;27199:10;27093:43;27173:37;:::i;:::-;27147:64;;27222:21;27276:1;27261:11;:16;;;;:135;;27386:10;27363:12;27364:11;27363:12;:::i;:::-;:19;;27378:4;27363:19;:::i;:::-;27356:40;;;;;;:::i;:::-;27261:135;;;27326:10;27304:18;:11;27318:4;27304:18;:::i;:::-;27297:39;;;;;;:::i;:::-;27222:185;;27450:17;:34;;;:39;;27488:1;27450:39;:95;;;;27511:17;:34;;;27493:52;;:14;-1:-1:-1;;;;;27493:52:19;;;27450:95;27428:157;;;;-1:-1:-1;;;27428:157:19;;;;;;;;;;;;27598:19;;;:44;;27734:21;;;;-1:-1:-1;;;;;27702:53:19;;;-1:-1:-1;;;27702:53:19;-1:-1:-1;;;;;27653:38:19;;;-1:-1:-1;;;27653:38:19;-1:-1:-1;;27598:44:19;;;-1:-1:-1;;;27598:44:19;27653:38;-1:-1:-1;;27653:38:19;;;;;;;;;;;27702:53;;;;27794:20;;;;27598:44;27766:25;;:48;28021:1;27989:11;-1:-1:-1;;;;;;;;;;;20759:24:61;5704:118:18;27989:11:19;:20;;;-1:-1:-1;;;;;27989:20:19;:34;27985:614;;28102:21;;;;;28142:20;;;;;28045:219;;-1:-1:-1;;;;;39091:31:136;;;39073:50;;39154:2;39139:18;;39132:34;;;;39202:31;;;39182:18;;;39175:59;39281:1;39270:21;;;39265:2;39250:18;;39243:49;-1:-1:-1;39329:21:136;;;39308:19;;;39301:50;;;;-1:-1:-1;;;;;;28045:219:19;;;;;39060:3:136;39045:19;28045:219:19;;;;;;;27985:614;;;-1:-1:-1;;;;;;;;;;;28320:20:19;;;28396:21;;;;28436:20;;;;;28297:290;;-1:-1:-1;;;28297:290:19;;-1:-1:-1;;;;;;39772:33:136;;28297:290:19;;;39754:52:136;-1:-1:-1;;;;;39842:31:136;;;39822:18;;;39815:59;39890:18;;;39883:34;;;;39953:31;;;39933:18;;;39926:59;40033:1;40022:21;;;40001:19;;;39994:50;40081:31;;;40060:19;;;40053:60;-1:-1:-1;40150:21:136;;;40129:19;;;40122:50;-1:-1:-1;;;;;28320:20:19;;;;28297:57;;39726:19:136;;28297:290:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27985:614;25595:3011;;;;;;;;;;25425:3181;;;:::o;2293:101:1:-;1531:13;:11;:13::i;:::-;2357:30:::1;2384:1;2357:18;:30::i;:::-;2293:101::o:0;20628:475:19:-;365:8:127;:6;:8::i;:::-;357:45;;;;-1:-1:-1;;;357:45:127;;40385:2:136;357:45:127;;;40367:21:136;40424:2;40404:18;;;40397:30;-1:-1:-1;;;40443:18:136;;;40436:54;40507:18;;357:45:127;40183:348:136;357:45:127;1531:13:1::1;:11;:13::i;:::-;20755:297:19::2;-1:-1:-1::0;;;;;20778:26:19;::::2;20799:4;20778:26;::::0;::::2;::::0;:66:::2;;-1:-1:-1::0;2784:6:18;-1:-1:-1;;;;;20825:19:19::2;:9;-1:-1:-1::0;;;;;20825:19:19::2;;;20778:66;:112;;;;;20889:1;20865:9;-1:-1:-1::0;;;;;20865:21:19::2;;:25;20778:112;:230;;;;;21003:4;-1:-1:-1::0;;;;;20933:75:19::2;20964:9;-1:-1:-1::0;;;;;20941:47:19::2;;:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;20933:75:19::2;;20778:230;20755:297;;;;;;;;;;;;;-1:-1:-1::0;;;20755:297:19::2;;::::0;:8:::2;:297::i;:::-;21063:20:::0;:32;;-1:-1:-1;;;;;;21063:32:19::2;-1:-1:-1::0;;;;;21063:32:19;;;::::2;::::0;;;::::2;::::0;;20628:475::o;19221:159::-;19342:30;:28;:30::i;11397:262::-;11493:7;11541:9;:7;:9::i;:::-;11525:126;;-1:-1:-1;;;11525:126:19;;-1:-1:-1;;;;;11525:42:19;;;;;;;:126;;11582:8;;-1:-1:-1;;;;;;;;;;;11605:35:19;;11525:126;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;19388:176::-;19473:23;;:::i;:::-;-1:-1:-1;19514:42:19;;;;;;;;-1:-1:-1;;;;;;;;;;;19514:42:19;;;;;;;;;;;;;;;;;;-1:-1:-1;;;19514:42:19;;;;;;;;;;;-1:-1:-1;;;19514:42:19;;;;;;;;;;-1:-1:-1;;;19514:42:19;;;;;;;;-1:-1:-1;;;19514:42:19;;;;;;;;;;;19388:176::o;8076:226::-;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8204:90:19;8233:20;:35;8278:3;8269:13;29698:110;16493:147;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16591:41:19;;-1:-1:-1;;;16591:41:19;;:20;;:35;;:41;;16627:4;;16591:41;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;2806:296:18:-;2892:4;879:66:133;2953:19:18;;;-1:-1:-1;;;;;2953:19:18;2944:4;2936:36;;;;:117;;-1:-1:-1;;3047:6:18;-1:-1:-1;;;;;3030:23:18;3038:4;3030:23;;;2806:296::o;21111:278:19:-;1531:13:1;:11;:13::i;:::-;21251:70:19::1;21260:38;;;::::0;;::::1;::::0;::::1;21286:11:::0;21260:38:::1;:::i;:::-;:25;:38::i;:::-;21251:70;;;;;;;;;;;;;-1:-1:-1::0;;;21251:70:19::1;;::::0;:8:::1;:70::i;:::-;21370:11:::0;-1:-1:-1;;;;;;;;;;;21332:49:19::1;21370:11:::0;21332:35;:49:::1;:::i;:::-;-1:-1:-1::0;;;21111:278:19:o;14053:131::-;14111:2;14141:34;14167:7;14141:25;:34::i;18734:233::-;18815:4;18832:47;18882:41;18898:24;18907:14;18912:8;;18907:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;18907:4:19;;-1:-1:-1;;;18907:14:19:i;18898:24::-;18882:15;:41::i;:::-;18832:91;;18941:18;:8;:16;:18::i;:::-;18934:25;18734:233;-1:-1:-1;;;;18734:233:19:o;14981:135::-;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15073:35:19;;-1:-1:-1;;;15073:35:19;;:20;;:29;;:35;;15103:4;;15073:35;;;:::i;23807:1007::-;24027:6;1531:13:1;:11;:13::i;:::-;24055:20:19::1;:59;24133:7;;24159:10;24188:9;24227;-1:-1:-1::0;;;;;24216:30:19::1;;:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;24055:208;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;24055:208:19::1;::::0;;::::1;;::::0;;::::1;-1:-1:-1::0;;24055:208:19::1;::::0;::::1;::::0;;;::::1;::::0;;::::1;::::0;::::1;:::i;:::-;;;24051:756;;;;:::i;:::-;;;::::0;::::1;;;;;:::i;:::-;;;;;;;;24700:16;24708:7;24700;:16::i;:::-;24649:90;24051:756;;;;;;::::0;;;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;24776:18;:16;:18::i;24051:756::-;24355:10;-1:-1:-1::0;;;;;24321:274:19::1;;24384:23;24393:13;24398:7;;24393:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;24393:4:19::1;::::0;-1:-1:-1;;;24393:13:19:i:1;24384:23::-;24426:7;;24452:9;24480:14;24521:4;24569:10;24321:274;;;;;;;;;;;;:::i;:::-;;;;;;;;24617:10:::0;23807:1007;-1:-1:-1;;;;;23807:1007:19:o;15729:178::-;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15846:53:19;;-1:-1:-1;;;15846:53:19;;-1:-1:-1;;;;;;23574:33:136;;15846:53:19;;;23556:52:136;23656:8;23644:21;;23624:18;;;23617:49;15846:20:19;;:41;;23529:18:136;;15846:53:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;17973:151::-;18047:21;18088;18104:4;18088:15;:21::i;:::-;18081:35;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17973:151;;;:::o;19749:193::-;19875:7;19907:27;889:13:131;;-1:-1:-1;;;;;889:13:131;;809:101;18275:126:19;18342:7;18379:13;18387:4;18379:7;:13::i;11788:835::-;11900:7;11933:23;11949:6;;11933:15;:23::i;:::-;11925:53;;;;-1:-1:-1;;;11925:53:19;;;;;;;;;;;;11989:22;12014:45;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;11989:70;;12070:20;12118:4;12125:22;12134:12;12139:6;;12134:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;12134:4:19;;-1:-1:-1;;;12134:12:19:i;12125:22::-;12093:55;;45845:2:136;45841:15;;;;-1:-1:-1;;45837:53:136;12093:55:19;;;45825:66:136;-1:-1:-1;;;;;;45921:33:136;45907:12;;;45900:55;45971:12;;12093:55:19;;;;;;;;;;;;12070:78;;12159:19;12181:44;12206:9;12217:7;12181:24;:44::i;:::-;12159:66;;12240:11;-1:-1:-1;;;;;12240:23:19;;12267:1;12240:28;12236:351;;12285:22;12310:37;12328:9;12339:7;12310:17;:37::i;:::-;12285:62;;12541:1;12508:9;12502:16;12474:4;12463:9;12459:20;12435:1;12405:156;12390:171;12604:11;-1:-1:-1;;;;;;;11788:835:19:o;22338:402::-;22617:6;1531:13:1;:11;:13::i;:::-;22648:84:19::1;22672:7;;22648:84;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;22681:9:19;;-1:-1:-1;22692:7:19;;-1:-1:-1;22701:14:19;;-1:-1:-1;22717:14:19;22648:23:::1;:84::i;:::-;22641:91:::0;22338:402;-1:-1:-1;;;;;;;22338:402:19:o;19954:204::-;1531:13:1;:11;:13::i;:::-;20114:36:19::1;20140:9;20114:25;:36::i;:::-;19954:204:::0;:::o;4850:980::-;4940:13;;;5035:3;4940:13;5101:21;5035:3;5101:15;:21::i;:::-;5051:71;;5133:41;5177:36;:8;:25;;:34;:36::i;:::-;5307:31;;;;5276:63;;-1:-1:-1;;;5276:63:19;;;;;46255:25:136;;;-1:-1:-1;;;;;;46316:33:136;;46296:18;;;46289:61;46398:8;46386:21;;;46366:18;;;46359:49;5307:31:19;;-1:-1:-1;5224:49:19;;5276:24;;;;46228:18:136;;5276:63:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5368:20;;5224:115;;-1:-1:-1;;;;;;5368:24:19;:67;;5418:11;:17;;;5368:67;;;5395:20;;5368:67;-1:-1:-1;;;;;5363:73:19;5350:87;;5490:11;:21;;;-1:-1:-1;;;;;5461:52:19;5448:65;;5549:10;5563:1;5549:15;:262;;5698:17;:31;;;5649:80;;5673:11;:21;;;5649:80;;;;:::i;:::-;-1:-1:-1;;;;;5631:98:19;:15;:98;:161;;5789:3;5549:262;;5631:161;5757:3;5549:262;;;5585:3;5549:262;5524:298;;;;4997:833;;;;4850:980;;;;;:::o;24822:349::-;1531:13:1;:11;:13::i;:::-;25027:70:19::1;25036:38;;;::::0;;::::1;::::0;::::1;25062:11:::0;25036:38:::1;:::i;25027:70::-;25108:55;25142:7;;25108:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;25108:55:19::1;::::0;-1:-1:-1;;;25108:55:19::1;::::0;;::::1;::::0;::::1;25151:11:::0;25108:55:::1;:::i;:::-;:33;:55::i;3643:542::-:0;3855:7;365:8:127;:6;:8::i;:::-;357:45;;;;-1:-1:-1;;;357:45:127;;40385:2:136;357:45:127;;;40367:21:136;40424:2;40404:18;;;40397:30;-1:-1:-1;;;40443:18:136;;;40436:54;40507:18;;357:45:127;40183:348:136;357:45:127;4158:30:0::1;4191:26;:24;:26::i;:::-;4302:15:::0;;4158:59;;-1:-1:-1;4302:15:0::1;-1:-1:-1::0;;;4302:15:0;::::1;;4301:16;::::0;-1:-1:-1;;;;;4348:14:0::1;4279:19;4724:16:::0;;:34;::::1;;;;4744:14;4724:34;4704:54;;4768:17;4788:11;-1:-1:-1::0;;;;;4788:16:0::1;4803:1;4788:16;:50;;;;-1:-1:-1::0;4816:4:0::1;4808:25;:30:::0;4788:50:::1;4768:70;;4854:12;4853:13;:30;;;;;4871:12;4870:13;4853:30;4849:91;;;4906:23;;-1:-1:-1::0;;;4906:23:0::1;;;;;;;;;;;4849:91;4949:18:::0;;-1:-1:-1;;4949:18:0::1;4966:1;4949:18;::::0;;4977:67;::::1;;;5011:22:::0;;-1:-1:-1;;;;5011:22:0::1;-1:-1:-1::0;;;5011:22:0::1;::::0;;4977:67:::1;3880:48:19::2;::::0;;;;::::2;::::0;;;::::2;::::0;;-1:-1:-1;;;3880:48:19::2;::::0;::::2;::::0;::::2;::::0;-1:-1:-1;;;;;3889:22:19;::::2;::::0;::::2;::::0;3880:8:::2;:48::i;:::-;3939:28;3958:8;3939:18;:28::i;:::-;3988:83;3997:51;;;::::0;;::::2;::::0;::::2;4023:24:::0;3997:51:::2;:::i;3988:83::-;4120:24:::0;-1:-1:-1;;;;;;;;;;;4082:62:19::2;4120:24:::0;4082:35;:62:::2;:::i;:::-;-1:-1:-1::0;4172:4:19::2;::::0;-1:-1:-1;;5068:14:0::1;5064:101;;;5098:23:::0;;-1:-1:-1;;;;5098:23:0::1;::::0;;5140:14:::1;::::0;-1:-1:-1;47584:50:136;;5140:14:0::1;::::0;47572:2:136;47557:18;5140:14:0::1;;;;;;;5064:101;4092:1079;;;;;3643:542:19::0;;;;:::o;30557:164::-;-1:-1:-1;;;;;;29098:19:61;;30615:38:19;29098:19:61;;;:14;:19;;;;;30673:40:19;28986:139:61;21219:684;-1:-1:-1;;;;;;21363:20:61;;21337:23;21363:20;;;:14;:20;;;;;;;;;:31;;;21413:32;;21443:1;21413:32;;;;;;;;;21286:38;;21363:31;;21413:32;;21443:1;21413:32;;;;;;;;;-1:-1:-1;21413:32:61;21405:40;;21456:9;21476:293;21494:1;21487:4;:8;21476:293;;;21542:15;-1:-1:-1;;;;;;21577:9:61;;21521:11;21577:9;21573:185;;21607:5;;;21573:185;21696:4;21653:5;21659:4;21653:11;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;21653:48:61;;;:11;;;;;;;;;;:48;21720:22;;;;;-1:-1:-1;21497:7:61;;21476:293;;;21866:19;;-1:-1:-1;21873:5:61;21219:684;-1:-1:-1;21219:684:61:o;29564:126:19:-;-1:-1:-1;;;;;;29651:24:19;;29613:2;29651:24;;;:19;:24;;;;;:19;:30;;-1:-1:-1;;;;;;;;;;;29635:47:19;;20759:24:61;;29651:30:19;;;29635:47;;;;;;:::i;:::-;;;;;;;;;29628:54;;29564:126;;;:::o;18681:914:61:-;18793:43;;:::i;:::-;18959:628;;;;;;;;;19024:16;;-1:-1:-1;;;;;;;;;;;18911:30:61;18959:628;;;19024:16;;:21;:64;;19072:16;;;;19024:64;;;19048:21;;;;19024:64;18959:628;;;;19115:15;;18959:628;;;;;19115:15;;;;;;:39;;-1:-1:-1;19134:20:61;;;;;;;19115:39;18959:628;;;;19184:17;;18959:628;;;;;-1:-1:-1;;;19184:17:61;;;;:22;:67;;19234:17;;-1:-1:-1;;;19234:17:61;;;;19184:67;;;19209:22;;-1:-1:-1;;;19209:22:61;;;;19184:67;18959:628;;;;;;19281:18;;18959:628;;;;;-1:-1:-1;;;19281:18:61;;;:23;:70;;19333:18;;-1:-1:-1;;;19333:18:61;;;;19281:70;;;19307:23;;-1:-1:-1;;;19307:23:61;;;;19281:70;18959:628;;;;19384:21;;18959:628;;;;;-1:-1:-1;;;19384:21:61;;;;:26;:79;;19442:21;;-1:-1:-1;;;19442:21:61;;;;19384:79;;;19413:26;;-1:-1:-1;;;19413:26:61;;;;19384:79;18959:628;;;;;;19492:17;;18959:628;;;;;-1:-1:-1;;;19492:17:61;;;:22;:67;;19542:17;;-1:-1:-1;;;19542:17:61;;;;19492:67;;;19517:22;;-1:-1:-1;;;19517:22:61;;;;19492:67;18959:628;;;;18952:635;18681:914;-1:-1:-1;;;18681:914:61:o;440:160:63:-;537:10;532:61;;564:17;572:8;564:7;:17::i;:::-;440:160;;:::o;1480:156:131:-;1570:13;1563:20;;-1:-1:-1;;;;;;1563:20:131;;;1594:34;1619:8;1594:24;:34::i;5921:604:18:-;-1:-1:-1;;;;;;;;;;;6050:22:18;:36;;:120;;-1:-1:-1;6108:62:18;;;;;;;;-1:-1:-1;;;;;;;;;;;6108:62:18;;;;;;;;;;;;;;;;;;-1:-1:-1;;;6108:62:18;;;;;;;;;;;-1:-1:-1;;;6108:62:18;;;;;;;;;;-1:-1:-1;;;6108:62:18;;;;;;;;-1:-1:-1;;;6108:62:18;;;;;;;;;;;;:25;:62::i;:::-;6107:63;6050:120;6032:486;;;-1:-1:-1;6235:271:18;;;;;;;;6284:9;6235:271;;-1:-1:-1;6235:271:18;;;;;;6362:10;6235:271;;;;;;;6406:6;6235:271;;;;;;;;;;;6489:1;6235:271;;;;;-1:-1:-1;;;;;;;;;;;6197:309:18;;-1:-1:-1;;6197:309:18;;;;;5921:604::o;1796:162:1:-;19686:7:19;1710:6:1;-1:-1:-1;;;;;1710:6:1;735:10:3;1855:23:1;1851:101;;1901:40;;-1:-1:-1;;;1901:40:1;;735:10:3;1901:40:1;;;4513:51:136;4486:18;;1901:40:1;4367:203:136;6578:372:18;6656:13;6687:19;6719:25;6735:8;6719:15;:25::i;:::-;-1:-1:-1;;;;;6709:36:18;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6709:36:18;-1:-1:-1;6687:58:18;-1:-1:-1;6761:7:18;6756:155;6779:6;:13;6774:2;:18;6756:155;;;6823:8;6832:2;6823:12;;;;;;;:::i;:::-;;;;6810:6;6817:2;6810:10;;;;;;;;:::i;:::-;;;;:25;-1:-1:-1;;;;;6810:25:18;;;;;;;;-1:-1:-1;6879:5:18;;6756:155;;;-1:-1:-1;6935:6:18;6578:372;-1:-1:-1;;6578:372:18:o;30151:88:19:-;30204:27;;;;;;;;;;;;;;-1:-1:-1;;;30204:27:19;;;:7;:27::i;31511:198:116:-;31649:6;31601:4;31607:22;27997:17;28009:4;27997:11;:17::i;:::-;27996:18;:72;;;;;28052:16;28035:33;;;;;;;;:::i;:::-;:4;:13;;;:33;;;;;;;;:::i;:::-;;27996:72;27974:146;;;;-1:-1:-1;;;27974:146:116;;47847:2:136;27974:146:116;;;47829:21:136;47886:2;47866:18;;;47859:30;47925:25;47905:18;;;47898:53;47968:18;;27974:146:116;47645:347:136;27974:146:116;31680:21:::1;:4;:10;;;:19;:21::i;:::-;31673:28;;28151:29:::0;28169:4;:10;;;28151:17;:29::i;:::-;28135:4;:13;;:45;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;31511:198;;;;;:::o;1721:245:131:-;735:10:3;;1818:14:131;:12;:14::i;:::-;-1:-1:-1;;;;;1818:24:131;;1814:108;;1859:51;;-1:-1:-1;;;1859:51:131;;48199:2:136;1859:51:131;;;48181:21:136;48238:2;48218:18;;;48211:30;48277:34;48257:18;;;48250:62;-1:-1:-1;;;48328:18:136;;;48321:39;48377:19;;1859:51:131;47997:405:136;1814:108:131;1932:26;1951:6;1932:18;:26::i;1532:382:127:-;1587:17;1622:16;1641:19;3534:4;3528:11;-1:-1:-1;;;3612:79:127;;2784:6:18;3397:16:127;3797;3790:4;3781:14;;3774:40;-1:-1:-1;;;3901:4:127;3892:14;;3885:90;3528:11;3328:665;1641:19;1622:38;;1760:4;1755:3;1752:1;1745:20;1732:33;-1:-1:-1;;;;;;1802:23:127;;1794:59;;;;-1:-1:-1;;;1794:59:127;;48609:2:136;1794:59:127;;;48591:21:136;48648:2;48628:18;;;48621:30;48687:25;48667:18;;;48660:53;48730:18;;1794:59:127;48407:347:136;1794:59:127;-1:-1:-1;;;;;1869:37:127;;2784:6:18;-1:-1:-1;;;;;1869:37:127;1876:10;-1:-1:-1;;;;;1869:37:127;;;;;;;;;;;1611:303;1532:382;:::o;30247:302:19:-;30404:23;;30360:4;;30404:27;;;;;;:77;;;30480:1;30452:11;:25;;;:29;;;30404:77;:126;;;;-1:-1:-1;;30502:24:19;;;:28;;;;;30247:302::o;27189:123:61:-;27248:7;27296:6;27285:18;;;;;;;;:::i;:::-;;;;;;;;;;;;;27275:29;;;;;;27268:36;;27189:123;;;:::o;29133:250::-;29235:18;;;;29197:4;;29235:32;;;:76;;-1:-1:-1;29294:11:61;;;;-1:-1:-1;;;29294:11:61;;;;29288:18;;;;;;;;:::i;:::-;:23;;;;29235:76;:129;;;-1:-1:-1;;29332:18:61;;;-1:-1:-1;;;29332:18:61;;-1:-1:-1;;;;;29332:18:61;:32;;;29133:250::o;29099:457:19:-;29217:7;-1:-1:-1;;;;;;29394:4:19;29217:7;29465:35;29483:8;29493:6;29465:17;:35::i;:::-;29455:46;;;;;;;29312:208;;;;;;;;-1:-1:-1;;;;;;48982:26:136;;;;48970:39;;49046:2;49042:15;;;;-1:-1:-1;;49038:53:136;49034:1;49025:11;;49018:74;49117:2;49108:12;;49101:28;49154:2;49145:12;;49138:28;49191:2;49182:12;;48759:441;29312:208:19;;;;-1:-1:-1;;29312:208:19;;;;;;;;;29284:251;;29312:208;29284:251;;;;;29099:457;-1:-1:-1;;;29099:457:19:o;28864:227::-;28975:12;29043:8;29066:6;29012:71;;;;;;;;;:::i;:::-;;;;;;;;;;;;;29005:78;;28864:227;;;;:::o;30729:1033::-;31016:219;;-1:-1:-1;;;;;;31016:219:19;;30988:6;;31016:20;;:56;;:219;;31091:7;;31118:9;;31147:7;;31173:14;;31206;;31016:219;;;:::i;:::-;;;;;;;;;;;;;;;;;;;-1:-1:-1;31016:219:19;;;;;;;;-1:-1:-1;;31016:219:19;;;;;;;;;;;;:::i;:::-;;;31012:743;;;;:::i;:::-;31328:10;31294:247;31357:23;31366:13;31371:7;31366:4;:13::i;31357:23::-;31399:7;31425:9;31453:7;31479:14;31512;31294:247;;;;;;;;;;;:::i;:::-;;;;;;;;31563:10;-1:-1:-1;31556:17:19;;2543:215:1;1531:13;:11;:13::i;:::-;-1:-1:-1;;;;;2627:22:1;::::1;2623:91;;2672:31;::::0;-1:-1:-1;;;2672:31:1;;2700:1:::1;2672:31;::::0;::::1;4513:51:136::0;4486:18;;2672:31:1::1;4367:203:136::0;31770:589:19;31953:8;31964:23;31973:13;31978:7;31973:4;:13::i;31964:23::-;31953:34;;31998:43;32044:21;32060:4;32044:15;:21::i;:::-;32076:35;;:21;;;:35;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;32076:35:19;;;;;;;;;;;;;-1:-1:-1;;32076:35:19;-1:-1:-1;;;32076:35:19;;;;;;;-1:-1:-1;;;;32076:35:19;;;;;-1:-1:-1;;;32076:35:19;;;;;;;;;;;;-1:-1:-1;;;;32076:35:19;-1:-1:-1;;;32076:35:19;;;;;-1:-1:-1;;;;32076:35:19;;-1:-1:-1;;;32076:35:19;;;;;;;;;;;:21;;-1:-1:-1;32122:84:19;;32166:15;;;:28;;-1:-1:-1;;32166:28:19;;;32122:84;735:10:3;-1:-1:-1;;;;;32221:130:19;;32288:4;32307:7;32329:11;32221:130;;;;;;;;:::i;:::-;;;;;;;;31942:417;;31770:589;;:::o;9071:205:0:-;9129:30;;3147:66;9186:27;8819:122;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;7022:307:18:-;7106:12;7136:186;7153:2;7143:7;:12;7136:186;;;7178:8;7187:7;7178:17;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;;7178:22:18;7174:68;7221:5;7174:68;7285:10;;7136:186;;;7022:307;;;:::o;27622:124:116:-;27690:4;27714:24;27726:4;:11;;;27714;:24::i;17873:211:118:-;17981:6;17945:4;966:1;1787:8;1769:26;;:4;:14;;;:26;;;1765:101;;1833:14;;;;;1813:45;;-1:-1:-1;;;1813:45:118;;51505:4:136;51493:17;;;1813:45:118;;;51475:36:136;51547:17;;;51527:18;;;51520:45;51448:18;;1813:45:118;51305:266:136;1765:101:118;18006:72:::1;18025:4;:11;;;18045:4;:26;;;18006:10;:72::i;32032:743:116:-:0;32111:20;32186:10;:4;2152:11:118;:16;;:23;2130:18;;;;;:45;;;2043:138;32186:10:116;32181:587;;32235:1;32217:4;:14;;;:19;;;32213:544;;32333:14;;;;-1:-1:-1;;;32292:40:116;:56;;;;;;;;;:::i;:::-;;32264:87;;;;;;;;:::i;32213:544::-;32391:4;:14;;;:19;;32409:1;32391:19;32387:370;;32435:4;:26;;;:32;;32465:2;32435:32;:68;;;;32471:4;:26;;;:32;;32501:2;32471:32;32435:68;32431:311;;;-1:-1:-1;32535:19:116;;32032:743;-1:-1:-1;32032:743:116:o;32431:311::-;32632:2;32602:4;:26;;;:32;;;;:68;;;;;32668:2;32638:4;:26;;;:32;;;;32602:68;32598:144;;;-1:-1:-1;32702:20:116;;32032:743;-1:-1:-1;32032:743:116:o;36740:224::-;36803:4;36850:32;36842:4;:40;;;;;;;;:::i;:::-;;:103;;;-1:-1:-1;36911:34:116;36903:4;:42;;;;;;;;:::i;:::-;;36820:136;36740:224;-1:-1:-1;;36740:224:116:o;8833:697:118:-;8972:6;9018:2;8994:21;:26;;;8990:77;;;-1:-1:-1;9031:28:118;;;;;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:118;;9400:67;9480:44;;-1:-1:-1;;;9480:44:118;;51750:4:136;51738:17;;9480:44:118;;;51720:36:136;51693:18;;9480:44:118;51576:186:136;13731:315:117;13857:11;13808:6;:13;;;13823:6;:11;;;:18;1012:6;1004:5;:14;1000:75;;;1036:31;;-1:-1:-1;;;1036:31:117;;;;;51941:25:136;;;51982:18;;;51975:34;;;51914:18;;1036:31:117;51767:248:136;1000:75:117;13900:11;;13932:13:::1;::::0;::::1;::::0;;13985:25;;;13999:1:::1;13985:25:::0;13979:32;;-1:-1:-1;13932:13:117;;;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:117;;;;;51941:25:136;;;51982:18;;;51975:34;;;51914:18;;1036:31:117;51767:248:136;1000:75:117;14463:11;;14495:13:::1;::::0;::::1;::::0;;14562:1:::1;14548:25:::0;;;;;14542:32;;-1:-1:-1;14495:13:117;;14587:18:::1;14562:1:::0;14495:13;14587:18:::1;:::i;:::-;::::0;;-1:-1:-1;14288:323:117;;;-1:-1:-1;;;;;14288:323:117: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:117;;;;;51941:25:136;;;51982:18;;;51975:34;;;51914:18;;1036:31:117;51767:248:136;1000:75:117;15028:11;;15060:13:::1;::::0;::::1;::::0;;15127:1:::1;15113:25:::0;;;;;15107:32;;-1:-1:-1;15060:13:117;;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:117;;;;;51941:25:136;;;51982:18;;;51975:34;;;51914:18;;1036:31:117;51767:248:136;1000:75:117;15593:11;;15625:13:::1;::::0;::::1;::::0;;15692:1:::1;15678:25:::0;;;;;15672:32;;-1:-1:-1;15625:13:117;;15717:18:::1;15692:1:::0;15625:13;15717:18:::1;:::i;-1:-1:-1:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;:::o;14:149:136:-;-1:-1:-1;;;;;;106:32:136;;96:43;;86:71;;153:1;150;143:12;168:289;252:6;305:2;293:9;284:7;280:23;276:32;273:52;;;321:1;318;311:12;273:52;360:9;347:23;379:48;421:5;379:48;:::i;462:300::-;515:3;553:5;547:12;580:6;575:3;568:19;636:6;629:4;622:5;618:16;611:4;606:3;602:14;596:47;688:1;681:4;672:6;667:3;663:16;659:27;652:38;751:4;744:2;740:7;735:2;727:6;723:15;719:29;714:3;710:39;706:50;699:57;;;462:300;;;;:::o;767:127::-;828:10;823:3;819:20;816:1;809:31;859:4;856:1;849:15;883:4;880:1;873:15;899:138;978:1;971:5;968:12;958:46;;984:18;;:::i;:::-;1013;;899:138::o;1042:::-;1121:1;1114:5;1111:12;1101:46;;1127:18;;:::i;1185:246::-;1245:42;1283:3;1275:5;1269:12;1245:42;:::i;:::-;1340:4;1329:16;;;1323:23;-1:-1:-1;;;;;1319:49:136;1303:14;;;1296:73;1418:4;1407:16;;;1401:23;1385:14;;1378:47;1185:246::o;1531:468::-;1631:8;1623:5;1617:12;1613:27;1608:3;1601:40;1704:4;1697:5;1693:16;1687:23;1680:31;1673:39;1666:4;1661:3;1657:14;1650:63;1774:8;1766:4;1759:5;1755:16;1749:23;1745:38;1738:4;1733:3;1729:14;1722:62;1845:8;1837:4;1830:5;1826:16;1820:23;1816:38;1809:4;1804:3;1800:14;1793:62;1916:6;1908:4;1901:5;1897:16;1891:23;1887:36;1880:4;1875:3;1871:14;1864:60;1985:6;1977:4;1970:5;1966:16;1960:23;1956:36;1949:4;1944:3;1940:14;1933:60;;;1531:468::o;2135:394::-;2226:5;2220:12;2217:1;2206:27;2201:3;2194:40;-1:-1:-1;;;;;2287:4:136;2280:5;2276:16;2270:23;2266:48;2259:4;2254:3;2250:14;2243:72;2378:4;2371:5;2367:16;2361:23;2358:1;2347:38;2340:4;2335:3;2331:14;2324:62;-1:-1:-1;;;;;2439:4:136;2432:5;2428:16;2422:23;2418:48;2411:4;2406:3;2402:14;2395:72;2516:4;2509:5;2505:16;2499:23;2492:4;2487:3;2483:14;2476:47;;;2135:394::o;2534:1572::-;2617:5;2611:12;2606:3;2599:25;2687:4;2680:5;2676:16;2670:23;2667:1;2656:38;2649:4;2644:3;2640:14;2633:62;2581:3;2741:4;2734:5;2730:16;2724:23;2779:6;2772:4;2767:3;2763:14;2756:30;2807:60;2859:6;2854:3;2850:16;2836:12;2807:60;:::i;:::-;2795:72;;2915:4;2908:5;2904:16;2898:23;2963:3;2957:4;2953:14;2946:4;2941:3;2937:14;2930:38;3001:4;2995;2991:15;3015:52;3062:4;3045:14;3039:21;3015:52;:::i;:::-;3124:4;3104:25;;;3098:32;3163:4;3146:15;;;3139:29;3219:21;;3249:22;;;;3386:25;;;;3299:4;3345:1;3341:14;;;3331:25;;3327:36;;;3289:15;;;;-1:-1:-1;3439:271:136;3453:6;3450:1;3447:13;3439:271;;;3543:2;3539:7;3532:4;3524:6;3520:17;3516:31;3509:5;3502:46;3571:51;3615:6;3606;3600:13;3571:51;:::i;:::-;3657:4;3645:17;;;;3561:61;;-1:-1:-1;3684:16:136;;;;;3475:1;3468:9;3439:271;;;3443:3;;;3758:4;3751:5;3747:16;3741:23;3719:45;;3773:56;3823:4;3818:3;3814:14;3798;3773:56;:::i;:::-;3877:4;3870:5;3866:16;3860:23;3838:45;;3892:66;3952:4;3947:3;3943:14;3927;3892:66;:::i;:::-;4006:4;3999:5;3995:16;3989:23;3967:45;;4021:57;4070:6;4065:3;4061:16;4045:14;4021:57;:::i;4111:251::-;4286:2;4275:9;4268:21;4249:4;4306:50;4352:2;4341:9;4337:18;4329:6;4306:50;:::i;4767:347::-;4818:8;4828:6;4882:3;4875:4;4867:6;4863:17;4859:27;4849:55;;4900:1;4897;4890:12;4849:55;-1:-1:-1;4923:20:136;;-1:-1:-1;;;;;4955:30:136;;4952:50;;;4998:1;4995;4988:12;4952:50;5035:4;5027:6;5023:17;5011:29;;5087:3;5080:4;5071:6;5063;5059:19;5055:30;5052:39;5049:59;;;5104:1;5101;5094:12;5049:59;4767:347;;;;;:::o;5119:409::-;5189:6;5197;5250:2;5238:9;5229:7;5225:23;5221:32;5218:52;;;5266:1;5263;5256:12;5218:52;5306:9;5293:23;-1:-1:-1;;;;;5331:6:136;5328:30;5325:50;;;5371:1;5368;5361:12;5325:50;5410:58;5460:7;5451:6;5440:9;5436:22;5410:58;:::i;:::-;5487:8;;5384:84;;-1:-1:-1;5119:409:136;-1:-1:-1;;;;5119:409:136:o;5906:129::-;-1:-1:-1;;;;;5984:5:136;5980:30;5973:5;5970:41;5960:69;;6025:1;6022;6015:12;6040:132;6107:20;;6136:30;6107:20;6136:30;:::i;6177:389::-;6268:6;6276;6329:2;6317:9;6308:7;6304:23;6300:32;6297:52;;;6345:1;6342;6335:12;6297:52;6390:23;;;-1:-1:-1;6489:2:136;6474:18;;6461:32;6502;6461;6502;:::i;:::-;6553:7;6543:17;;;6177:389;;;;;:::o;7061:813::-;7249:4;7297:2;7286:9;7282:18;7327:2;7316:9;7309:21;7350:6;7385;7379:13;7416:6;7408;7401:22;7454:2;7443:9;7439:18;7432:25;;7516:2;7506:6;7503:1;7499:14;7488:9;7484:30;7480:39;7466:53;;7554:2;7546:6;7542:15;7575:1;7585:260;7599:6;7596:1;7593:13;7585:260;;;7692:2;7688:7;7676:9;7668:6;7664:22;7660:36;7655:3;7648:49;7720:45;7758:6;7749;7743:13;7720:45;:::i;:::-;7710:55;-1:-1:-1;7800:2:136;7823:12;;;;7788:15;;;;;7621:1;7614:9;7585:260;;;-1:-1:-1;7862:6:136;;7061:813;-1:-1:-1;;;;;;7061:813:136:o;7879:250::-;7962:6;8015:2;8003:9;7994:7;7990:23;7986:32;7983:52;;;8031:1;8028;8021:12;7983:52;-1:-1:-1;8076:23:136;;7879:250;-1:-1:-1;7879:250:136:o;8134:127::-;8195:10;8190:3;8186:20;8183:1;8176:31;8226:4;8223:1;8216:15;8250:4;8247:1;8240:15;8266:225;8352:4;8344:6;8340:17;8423:6;8411:10;8408:22;-1:-1:-1;;;;;8375:10:136;8372:34;8369:62;8366:88;;;8434:18;;:::i;:::-;8470:2;8463:22;-1:-1:-1;8266:225:136:o;8496:223::-;8582:2;8574:6;8570:15;8651:6;8639:10;8636:22;-1:-1:-1;;;;;8603:10:136;8600:34;8597:62;8594:88;;;8662:18;;:::i;8724:249::-;8834:2;8815:13;;-1:-1:-1;;8811:27:136;8799:40;;-1:-1:-1;;;;;8854:34:136;;8890:22;;;8851:62;8848:88;;;8916:18;;:::i;:::-;8952:2;8945:22;-1:-1:-1;;8724:249:136:o;8978:186::-;9026:4;-1:-1:-1;;;;;9051:6:136;9048:30;9045:56;;;9081:18;;:::i;:::-;-1:-1:-1;9147:2:136;9126:15;-1:-1:-1;;9122:29:136;9153:4;9118:40;;8978:186::o;9169:419::-;9233:5;9263:35;9291:6;9263:35;:::i;:::-;9327:2;9321:9;9339:31;9367:2;9359:6;9339:31;:::i;:::-;9388:6;9379:15;;9418:6;9410;9403:22;9458:3;9449:6;9444:3;9440:16;9437:25;9434:45;;;9475:1;9472;9465:12;9434:45;9525:6;9520:3;9513:4;9505:6;9501:17;9488:44;9580:1;9573:4;9564:6;9556;9552:19;9548:30;9541:41;;;9169:419;;;;;:::o;9593:449::-;9661:6;9714:2;9702:9;9693:7;9689:23;9685:32;9682:52;;;9730:1;9727;9720:12;9682:52;9770:9;9757:23;-1:-1:-1;;;;;9795:6:136;9792:30;9789:50;;;9835:1;9832;9825:12;9789:50;9858:22;;9911:4;9903:13;;9899:27;-1:-1:-1;9889:55:136;;9940:1;9937;9930:12;9889:55;9963:73;10028:7;10023:2;10010:16;10005:2;10001;9997:11;9963:73;:::i;10047:118::-;10133:5;10126:13;10119:21;10112:5;10109:32;10099:60;;10155:1;10152;10145:12;10170:539;10247:6;10255;10263;10316:2;10304:9;10295:7;10291:23;10287:32;10284:52;;;10332:1;10329;10322:12;10284:52;10372:9;10359:23;-1:-1:-1;;;;;10397:6:136;10394:30;10391:50;;;10437:1;10434;10427:12;10391:50;10476:58;10526:7;10517:6;10506:9;10502:22;10476:58;:::i;:::-;10553:8;;-1:-1:-1;10450:84:136;-1:-1:-1;;10638:2:136;10623:18;;10610:32;10651:28;10610:32;10651:28;:::i;:::-;10698:5;10688:15;;;10170:539;;;;;:::o;10714:202::-;-1:-1:-1;;;;;;10876:33:136;;;;10858:52;;10846:2;10831:18;;10714:202::o;11103:231::-;11252:2;11241:9;11234:21;11215:4;11272:56;11324:2;11313:9;11309:18;11301:6;11272:56;:::i;11339:117::-;11425:5;11422:1;11411:20;11404:5;11401:31;11391:59;;11446:1;11443;11436:12;11461:1219;11608:6;11616;11624;11632;11640;11648;11701:3;11689:9;11680:7;11676:23;11672:33;11669:53;;;11718:1;11715;11708:12;11669:53;11758:9;11745:23;-1:-1:-1;;;;;11783:6:136;11780:30;11777:50;;;11823:1;11820;11813:12;11777:50;11862:58;11912:7;11903:6;11892:9;11888:22;11862:58;:::i;:::-;11939:8;;-1:-1:-1;11836:84:136;-1:-1:-1;;12024:2:136;12009:18;;11996:32;12037:28;11996:32;12037:28;:::i;:::-;12084:5;-1:-1:-1;12141:2:136;12126:18;;12113:32;12176:1;12164:14;;12154:42;;12192:1;12189;12182:12;12154:42;12215:7;-1:-1:-1;12275:2:136;12260:18;;12247:32;-1:-1:-1;;;;;12291:32:136;;12288:52;;;12336:1;12333;12326:12;12288:52;12359:24;;12414:4;12406:13;;12402:27;-1:-1:-1;12392:55:136;;12443:1;12440;12433:12;12392:55;12483:2;12470:16;-1:-1:-1;;;;;12501:6:136;12498:30;12495:50;;;12541:1;12538;12531:12;12495:50;12594:7;12589:2;12579:6;12576:1;12572:14;12568:2;12564:23;12560:32;12557:45;12554:65;;;12615:1;12612;12605:12;12554:65;12646:2;12642;12638:11;12628:21;;12668:6;12658:16;;;;11461:1219;;;;;;;;:::o;12685:842::-;12782:6;12790;12798;12806;12814;12867:2;12855:9;12846:7;12842:23;12838:32;12835:52;;;12883:1;12880;12873:12;12835:52;12923:9;12910:23;-1:-1:-1;;;;;12948:6:136;12945:30;12942:50;;;12988:1;12985;12978:12;12942:50;13027:58;13077:7;13068:6;13057:9;13053:22;13027:58;:::i;:::-;13104:8;;-1:-1:-1;13001:84:136;-1:-1:-1;;13189:2:136;13174:18;;13161:32;13202:28;13161:32;13202:28;:::i;:::-;13249:5;-1:-1:-1;13307:2:136;13292:18;;13279:32;-1:-1:-1;;;;;13323:32:136;;13320:52;;;13368:1;13365;13358:12;13320:52;13407:60;13459:7;13448:8;13437:9;13433:24;13407:60;:::i;:::-;12685:842;;;;-1:-1:-1;12685:842:136;;-1:-1:-1;13486:8:136;;13381:86;12685:842;-1:-1:-1;;;12685:842:136:o;13532:131::-;-1:-1:-1;;;;;13607:31:136;;13597:42;;13587:70;;13653:1;13650;13643:12;13668:247;13727:6;13780:2;13768:9;13759:7;13755:23;13751:32;13748:52;;;13796:1;13793;13786:12;13748:52;13835:9;13822:23;13854:31;13879:5;13854:31;:::i;13920:698::-;14034:6;14042;14050;14103:2;14091:9;14082:7;14078:23;14074:32;14071:52;;;14119:1;14116;14109:12;14071:52;14159:9;14146:23;-1:-1:-1;;;;;14184:6:136;14181:30;14178:50;;;14224:1;14221;14214:12;14178:50;14247:22;;14303:3;14285:16;;;14281:26;14278:46;;;14320:1;14317;14310:12;14278:46;14343:2;-1:-1:-1;14398:2:136;14383:18;;14370:32;-1:-1:-1;;;;;14414:32:136;;14411:52;;;14459:1;14456;14449:12;14411:52;14498:60;14550:7;14539:8;14528:9;14524:24;14498:60;:::i;:::-;13920:698;;14577:8;;-1:-1:-1;14472:86:136;;-1:-1:-1;;;;13920:698:136:o;14623:276::-;14827:3;14812:19;;14840:53;14816:9;14875:6;14840:53;:::i;14904:243::-;15086:3;15071:19;;15099:42;15075:9;15123:6;15099:42;:::i;15152:165::-;15221:5;15266:3;15257:6;15252:3;15248:16;15244:26;15241:46;;;15283:1;15280;15273:12;15241:46;-1:-1:-1;15305:6:136;15152:165;-1:-1:-1;15152:165:136:o;15322:258::-;15418:6;15471:3;15459:9;15450:7;15446:23;15442:33;15439:53;;;15488:1;15485;15478:12;15439:53;15511:63;15566:7;15555:9;15511:63;:::i;16901:690::-;17018:6;17026;17034;17042;17095:2;17083:9;17074:7;17070:23;17066:32;17063:52;;;17111:1;17108;17101:12;17063:52;17151:9;17138:23;-1:-1:-1;;;;;17176:6:136;17173:30;17170:50;;;17216:1;17213;17206:12;17170:50;17255:58;17305:7;17296:6;17285:9;17281:22;17255:58;:::i;:::-;17332:8;;-1:-1:-1;17229:84:136;-1:-1:-1;;17417:2:136;17402:18;;17389:32;17430:28;17389:32;17430:28;:::i;:::-;16901:690;;;;-1:-1:-1;17477:5:136;;17555:2;17540:18;17527:32;;-1:-1:-1;;16901:690:136:o;17596:119::-;17681:8;17674:5;17670:20;17663:5;17660:31;17650:59;;17705:1;17702;17695:12;17720:428;17812:6;17820;17873:2;17861:9;17852:7;17848:23;17844:32;17841:52;;;17889:1;17886;17879:12;17841:52;17928:9;17915:23;17947:48;17989:5;17947:48;:::i;:::-;18014:5;-1:-1:-1;18071:2:136;18056:18;;18043:32;18084;18043;18084;:::i;18153:965::-;18270:6;18278;18286;18294;18302;18310;18363:3;18351:9;18342:7;18338:23;18334:33;18331:53;;;18380:1;18377;18370:12;18331:53;18420:9;18407:23;-1:-1:-1;;;;;18445:6:136;18442:30;18439:50;;;18485:1;18482;18475:12;18439:50;18524:58;18574:7;18565:6;18554:9;18550:22;18524:58;:::i;:::-;18601:8;;-1:-1:-1;18498:84:136;-1:-1:-1;;18686:2:136;18671:18;;18658:32;18699:28;18658:32;18699:28;:::i;:::-;18746:5;-1:-1:-1;18803:2:136;18788:18;;18775:32;18838:1;18826:14;;18816:42;;18854:1;18851;18844:12;18816:42;18877:7;-1:-1:-1;18936:2:136;18921:18;;18908:32;18949:33;18908:32;18949:33;:::i;:::-;18153:965;;;;-1:-1:-1;18153:965:136;;;;;19081:3;19066:19;;;19053:33;;-1:-1:-1;;18153:965:136:o;19676:556::-;19793:6;19801;19809;19862:3;19850:9;19841:7;19837:23;19833:33;19830:53;;;19879:1;19876;19869:12;19830:53;19919:9;19906:23;-1:-1:-1;;;;;19944:6:136;19941:30;19938:50;;;19984:1;19981;19974:12;19938:50;20023:58;20073:7;20064:6;20053:9;20049:22;20023:58;:::i;:::-;20100:8;;-1:-1:-1;19997:84:136;-1:-1:-1;20154:72:136;;-1:-1:-1;20218:7:136;20213:2;20198:18;;20154:72;:::i;:::-;20144:82;;19676:556;;;;;:::o;20237:393::-;20342:6;20350;20403:3;20391:9;20382:7;20378:23;20374:33;20371:53;;;20420:1;20417;20410:12;20371:53;20459:9;20446:23;20478:31;20503:5;20478:31;:::i;:::-;20528:5;-1:-1:-1;20552:72:136;20616:7;20611:2;20596:18;;20552:72;:::i;:::-;20542:82;;20237:393;;;;;:::o;20635:212::-;20677:3;20715:5;20709:12;20759:6;20752:4;20745:5;20741:16;20736:3;20730:36;20821:1;20785:16;;20810:13;;;-1:-1:-1;20785:16:136;;20635:212;-1:-1:-1;20635:212:136:o;20852:422::-;21132:3;21160:30;21186:3;21178:6;21160:30;:::i;:::-;-1:-1:-1;;;21206:2:136;21199:16;21231:37;21265:1;21261:2;21257:10;21249:6;21231:37;:::i;21279:127::-;21340:10;21335:3;21331:20;21328:1;21321:31;21371:4;21368:1;21361:15;21395:4;21392:1;21385:15;21411:380;21490:1;21486:12;;;;21533;;;21554:61;;21608:4;21600:6;21596:17;21586:27;;21554:61;21661:2;21653:6;21650:14;21630:18;21627:38;21624:161;;21707:10;21702:3;21698:20;21695:1;21688:31;21742:4;21739:1;21732:15;21770:4;21767:1;21760:15;22037:136;22115:13;;22137:30;22115:13;22137:30;:::i;22178:164::-;22255:13;;22308:1;22297:20;;;22287:31;;22277:59;;22332:1;22329;22322:12;22347:1000;22441:6;22501:3;22489:9;22480:7;22476:23;22472:33;22517:2;22514:22;;;22532:1;22529;22522:12;22514:22;-1:-1:-1;22581:2:136;22575:9;22623:3;22611:16;;-1:-1:-1;;;;;22642:34:136;;22678:22;;;22639:62;22636:88;;;22704:18;;:::i;:::-;22740:2;22733:22;22777:16;;22802:28;22777:16;22802:28;:::i;:::-;22839:21;;22905:2;22890:18;;22884:25;22918:32;22884:25;22918:32;:::i;:::-;22978:2;22966:15;;22959:32;23024:47;23067:2;23052:18;;23024:47;:::i;:::-;23019:2;23011:6;23007:15;23000:72;23117:2;23106:9;23102:18;23096:25;23130:32;23154:7;23130:32;:::i;:::-;23190:2;23178:15;;23171:32;23269:3;23254:19;;;23248:26;23290:16;;;23283:33;;;;-1:-1:-1;23182:6:136;22347:1000;-1:-1:-1;22347:1000:136:o;23677:529::-;23730:5;23783:3;23776:4;23768:6;23764:17;23760:27;23750:55;;23801:1;23798;23791:12;23750:55;23834:6;23828:13;23860:35;23888:6;23860:35;:::i;:::-;23924:2;23918:9;23936:31;23964:2;23956:6;23936:31;:::i;:::-;23991:6;23983;23976:22;24045:3;24038:4;24029:6;24021;24017:19;24013:30;24010:39;24007:59;;;24062:1;24059;24052:12;24007:59;24119:6;24112:4;24104:6;24100:17;24093:4;24085:6;24081:17;24075:51;24174:1;24146:19;;;24167:4;24142:30;24135:41;;;;-1:-1:-1;24150:6:136;23677:529;-1:-1:-1;;;23677:529:136:o;24211:471::-;24307:6;24315;24368:2;24356:9;24347:7;24343:23;24339:32;24336:52;;;24384:1;24381;24374:12;24336:52;24416:9;24410:16;24435:31;24460:5;24435:31;:::i;:::-;24534:2;24519:18;;24513:25;24485:5;;-1:-1:-1;;;;;;24550:30:136;;24547:50;;;24593:1;24590;24583:12;24547:50;24616:60;24668:7;24659:6;24648:9;24644:22;24616:60;:::i;:::-;24606:70;;;24211:471;;;;;:::o;25699:267::-;25788:6;25783:3;25776:19;25840:6;25833:5;25826:4;25821:3;25817:14;25804:43;-1:-1:-1;25892:1:136;25867:16;;;25885:4;25863:27;;;25856:38;;;;25948:2;25927:15;;;-1:-1:-1;;25923:29:136;25914:39;;;25910:50;;25699:267::o;25971:369::-;26203:10;26198:3;26194:20;26186:6;26182:33;26171:9;26164:52;26252:2;26247;26236:9;26232:18;26225:30;26145:4;26272:62;26330:2;26319:9;26315:18;26307:6;26299;26272:62;:::i;26345:267::-;26414:6;26467:2;26455:9;26446:7;26442:23;26438:32;26435:52;;;26483:1;26480;26473:12;26435:52;26515:9;26509:16;26534:48;26576:5;26534:48;:::i;26617:501::-;26676:5;26683:6;26743:3;26730:17;26829:2;26825:7;26814:8;26798:14;26794:29;26790:43;26770:18;26766:68;26756:96;;26848:1;26845;26838:12;26756:96;26876:33;;26980:4;26967:18;;;-1:-1:-1;26928:21:136;;-1:-1:-1;;;;;;26997:30:136;;26994:50;;;27040:1;27037;27030:12;26994:50;27087:6;27071:14;27067:27;27060:5;27056:39;27053:59;;;27108:1;27105;27098:12;27123:1210;27461:3;27450:9;27443:22;27424:4;27488:63;27546:3;27535:9;27531:19;27523:6;27515;27488:63;:::i;:::-;27601:6;27598:1;27587:21;27582:2;27571:9;27567:18;27560:49;27618:51;27665:2;27654:9;27650:18;27642:6;27618:51;:::i;:::-;27705:22;;;27700:2;27685:18;;27678:50;27763:22;;;27813:2;27801:15;;;;27859:1;27855:14;;;27843:27;;27839:36;27898:6;27922:1;27932:372;27946:6;27943:1;27940:13;27932:372;;;28011:19;;;-1:-1:-1;;28007:33:136;27995:46;;28090:47;28130:6;28122;28090:47;:::i;:::-;28160:64;28217:6;28202:13;28187;28160:64;:::i;:::-;28259:2;28282:12;;;;28150:74;;-1:-1:-1;28247:15:136;;;;;-1:-1:-1;;27968:1:136;27961:9;27932:372;;;-1:-1:-1;28321:6:136;;27123:1210;-1:-1:-1;;;;;;;;;;;27123:1210:136:o;28338:179::-;28373:3;28415:1;28397:16;28394:23;28391:120;;;28461:1;28458;28455;28440:23;-1:-1:-1;28498:1:136;28492:8;28487:3;28483:18;28338:179;:::o;28522:628::-;28561:3;28603:4;28585:16;28582:26;28579:39;;;28522:628;:::o;28579:39::-;28645:2;28639:9;28685:16;-1:-1:-1;;28681:29:136;28678:1;28639:9;28657:54;28740:4;28734:11;28814:16;28807:4;28799:6;28795:17;28792:39;-1:-1:-1;;;;;28763:6:136;28760:30;28757:75;28754:88;;;28835:5;;28522:628;:::o;28754:88::-;28872:6;28866:4;28862:17;28908:3;28902:10;-1:-1:-1;;;;;28927:6:136;28924:30;28921:43;;;28957:5;;;;28522:628;:::o;28921:43::-;29022:16;29012:27;;-1:-1:-1;;29008:40:136;28983:16;;;29001:4;28979:27;28976:73;28973:86;;;29052:5;;;;28522:628;:::o;28973:86::-;29068:57;29119:4;29110:6;29102;29098:19;29094:30;29088:4;29068:57;:::i;:::-;-1:-1:-1;29141:3:136;28522:628;-1:-1:-1;;;28522:628:136:o;29155:1325::-;29558:10;29553:3;29549:20;29541:6;29537:33;29526:9;29519:52;29607:3;29602:2;29591:9;29587:18;29580:31;29500:4;29634:63;29692:3;29681:9;29677:19;29669:6;29661;29634:63;:::i;:::-;29747:6;29744:1;29733:21;29728:2;29717:9;29713:18;29706:49;29764:51;29811:2;29800:9;29796:18;29788:6;29764:51;:::i;:::-;29852:22;;;29846:3;29831:19;;29824:51;29910:22;;;29960:2;29948:15;;;;30006:1;30002:14;;;29990:27;;29986:36;30045:6;30069:1;30079:372;30093:6;30090:1;30087:13;30079:372;;;30158:19;;;-1:-1:-1;;30154:33:136;30142:46;;30237:47;30277:6;30269;30237:47;:::i;:::-;30307:64;30364:6;30349:13;30334;30307:64;:::i;:::-;30406:2;30429:12;;;;30297:74;;-1:-1:-1;30394:15:136;;;;;-1:-1:-1;;30115:1:136;30108:9;30079:372;;;-1:-1:-1;30468:6:136;;29155:1325;-1:-1:-1;;;;;;;;;;;;29155:1325:136:o;30485:284::-;30588:6;30641:2;30629:9;30620:7;30616:23;30612:32;30609:52;;;30657:1;30654;30647:12;30609:52;30689:9;30683:16;30708:31;30733:5;30708:31;:::i;30774:655::-;31080:3;31069:9;31062:22;31043:4;31107:63;31165:3;31154:9;31150:19;31142:6;31134;31107:63;:::i;:::-;31218:9;31210:6;31206:22;31201:2;31190:9;31186:18;31179:50;31246;31289:6;31281;31273;31246:50;:::i;:::-;31343:1;31332:21;;;;31327:2;31312:18;;31305:49;-1:-1:-1;;;;;;;31390:32:136;;;;31385:2;31370:18;;;31363:60;31238:58;30774:655;-1:-1:-1;;;;30774:655:136:o;31434:411::-;31543:6;31551;31604:2;31592:9;31583:7;31579:23;31575:32;31572:52;;;31620:1;31617;31610:12;31572:52;31652:9;31646:16;31671:48;31713:5;31671:48;:::i;:::-;31809:2;31794:18;;;;31788:25;31738:5;;31788:25;;-1:-1:-1;;;31434:411:136:o;31850:720::-;32199:10;32194:3;32190:20;32182:6;32178:33;32167:9;32160:52;32248:3;32243:2;32232:9;32228:18;32221:31;32141:4;32269:63;32327:3;32316:9;32312:19;32304:6;32296;32269:63;:::i;:::-;32261:71;;32382:6;32379:1;32368:21;32363:2;32352:9;32348:18;32341:49;32399:51;32446:2;32435:9;32431:18;32423:6;32399:51;:::i;:::-;-1:-1:-1;;;;;32487:32:136;;;;32481:3;32466:19;;32459:61;32507:3;32536:19;32529:35;31850:720;;-1:-1:-1;;;;;31850:720:136:o;32575:117::-;32660:6;32653:5;32649:18;32642:5;32639:29;32629:57;;32682:1;32679;32672:12;32697:132;32764:20;;32793:30;32764:20;32793:30;:::i;32834:245::-;32892:6;32945:2;32933:9;32924:7;32920:23;32916:32;32913:52;;;32961:1;32958;32951:12;32913:52;33000:9;32987:23;33019:30;33043:5;33019:30;:::i;33084:1467::-;33337:2;33319:21;;;33381:20;;33417:18;;;33410:33;33513:4;33501:17;;33488:31;33550:2;33535:18;;33528:35;33300:4;;33600:15;;33587:29;33625:32;33587:29;33625:32;:::i;:::-;33707:6;33694:20;33688:3;33673:19;;33666:49;33764:2;33752:15;;33739:29;33777:32;33739:29;33777:32;:::i;:::-;33859:6;33846:20;33840:3;33825:19;;33818:49;33916:3;33904:16;;33891:30;33930:32;33891:30;33930:32;:::i;:::-;-1:-1:-1;;;;;33999:32:136;33993:3;33978:19;;33971:61;34061:35;34091:3;34079:16;;34061:35;:::i;:::-;-1:-1:-1;;;;;2093:30:136;34176:4;34161:20;;2081:43;34227:57;34279:3;34267:16;;34271:6;34227:57;:::i;:::-;34321:4;34315:3;34304:9;34300:19;34293:33;34346:77;34418:3;34407:9;34403:19;34389:12;34373:14;34346:77;:::i;:::-;34335:88;;;34470:9;34465:3;34461:19;34454:4;34443:9;34439:20;34432:49;34498:47;34541:3;34533:6;34525;34498:47;:::i;34556:160::-;34647:13;;34689:2;34679:13;;34669:41;;34706:1;34703;34696:12;34721:160;34798:13;;34851:4;34840:16;;34830:27;;34820:55;;34871:1;34868;34861:12;34886:1224;34948:5;34996:4;34984:9;34979:3;34975:19;34971:30;34968:50;;;35014:1;35011;35004:12;34968:50;35047:2;35041:9;35059:32;35084:6;35059:32;:::i;:::-;35109:6;35100:15;;35144:9;35138:16;-1:-1:-1;;;;;35169:6:136;35166:30;35163:50;;;35209:1;35206;35199:12;35163:50;35232:22;;35284:2;35270:12;;;35266:21;35263:41;;;35300:1;35297;35290:12;35263:41;35335:2;35329:9;35347:34;35372:8;35347:34;:::i;:::-;35412:2;35406:9;-1:-1:-1;;;;;35430:8:136;35427:32;35424:52;;;35472:1;35469;35462:12;35424:52;35502:51;35549:3;35538:8;35534:2;35530:17;35502:51;:::i;:::-;35485:69;;-1:-1:-1;35613:2:136;35605:11;;;35599:18;35633:17;;;35626:34;35669:24;;35726:47;;35754:18;;35726:47;:::i;:::-;35721:2;35713:6;35709:15;35702:72;35807:47;35850:2;35839:9;35835:18;35807:47;:::i;:::-;35802:2;35794:6;35790:15;35783:72;35888:47;35931:2;35920:9;35916:18;35888:47;:::i;:::-;35883:2;35875:6;35871:15;35864:72;35970:49;36014:3;36003:9;35999:19;35970:49;:::i;:::-;35964:3;35956:6;35952:16;35945:75;36054:49;36098:3;36087:9;36083:19;36054:49;:::i;:::-;36048:3;36040:6;36036:16;36029:75;;34886:1224;;;;:::o;36115:1157::-;36214:6;36267:2;36255:9;36246:7;36242:23;36238:32;36235:52;;;36283:1;36280;36273:12;36235:52;36316:9;36310:16;-1:-1:-1;;;;;36341:6:136;36338:30;36335:50;;;36381:1;36378;36371:12;36335:50;36404:22;;36460:4;36442:16;;;36438:27;36435:47;;;36478:1;36475;36468:12;36435:47;36511:2;36505:9;36523:32;36548:6;36523:32;:::i;:::-;36583:2;36577:9;36615:3;36608:5;36605:14;36595:42;;36633:1;36630;36623:12;36595:42;36646:21;;36700:54;36750:2;36742:11;;36700:54;:::i;:::-;36695:2;36683:15;;36676:79;36814:2;36806:11;;;36800:18;36834:15;;;36827:32;36918:2;36910:11;;;36904:18;36938:15;;;36931:32;36997:42;37034:3;37026:12;;36997:42;:::i;:::-;36991:3;36983:6;36979:16;36972:68;37079:3;37075:2;37071:12;37065:19;-1:-1:-1;;;;;37099:8:136;37096:32;37093:52;;;37141:1;37138;37131:12;37093:52;37179:61;37232:7;37221:8;37217:2;37213:17;37179:61;:::i;:::-;37173:3;37161:16;;37154:87;-1:-1:-1;37165:6:136;36115:1157;-1:-1:-1;;;;36115:1157:136:o;37277:127::-;37338:10;37333:3;37329:20;37326:1;37319:31;37369:4;37366:1;37359:15;37393:4;37390:1;37383:15;37409:191;-1:-1:-1;;;;;37477:26:136;;;37505;;;37473:59;;37544:27;;37541:53;;;37574:18;;:::i;37605:194::-;-1:-1:-1;;;;;37703:26:136;;;37675;;;37671:59;;37742:28;;37739:54;;;37773:18;;:::i;37804:214::-;37902:1;37891:16;;;37873;;;;37869:39;-1:-1:-1;;37923:34:136;;37969:18;37959:29;;37920:69;37917:95;;;37992:18;;:::i;38023:193::-;38057:3;38104:5;38101:1;38090:20;38138:16;38134:21;38125:7;38122:34;38119:60;;38159:18;;:::i;:::-;38199:1;38195:15;;38023:193;-1:-1:-1;;38023:193:136:o;38221:237::-;38259:7;38336:1;38333;38322:16;38318:1;38315;38304:16;38300:39;38373:11;38370:1;38359:26;38348:37;;38416:11;38407:7;38404:24;38394:58;;38432:18;;:::i;38463:291::-;38502:1;-1:-1:-1;;;;;38533:1:136;38529:26;38574:3;38564:134;;38620:10;38615:3;38611:20;38608:1;38601:31;38655:4;38652:1;38645:15;38683:4;38680:1;38673:15;38564:134;38744:3;-1:-1:-1;;;;;38720:1:136;38716:26;38712:36;38707:41;;;38463:291;;;;:::o;40816:782::-;-1:-1:-1;;;;;41076:32:136;;41058:51;;41135:13;;41199:8;41184:24;;;41179:2;41164:18;;;41157:52;;;;41267:2;41263:18;;;41283:4;41259:29;41252:37;41245:45;41240:2;41225:18;;41218:73;41331:18;;;41327:33;;41322:2;41307:18;;41300:61;41406:2;41402:18;;;41398:33;41392:3;41377:19;;41370:62;41467:2;41463:18;;;41483:6;41459:31;41096:3;41492:19;;1489:31;41045:3;41030:19;;;41547:2;41543:18;;;41563:6;41539:31;41587:3;41572:19;;1489:31;41521:71;1436:90;41859:1048;41953:6;42013:3;42001:9;41992:7;41988:23;41984:33;42029:2;42026:22;;;42044:1;42041;42034:12;42026:22;-1:-1:-1;42093:2:136;42087:9;42105:32;42087:9;42105:32;:::i;:::-;42172:9;42159:23;42191:30;42215:5;42191:30;:::i;:::-;42230:21;;42303:2;42288:18;;42275:32;42316:30;42275:32;42316:30;:::i;:::-;42374:2;42362:15;;42355:32;42439:2;42424:18;;42411:32;42452;42411;42452;:::i;:::-;42512:2;42500:15;;42493:32;42577:2;42562:18;;42549:32;42590;42549;42590;:::i;:::-;42650:2;42638:15;;42631:32;42715:3;42700:19;;42687:33;42729:32;42687:33;42729:32;:::i;:::-;42789:3;42777:16;;42770:33;42837:38;42870:3;42855:19;;42837:38;:::i;:::-;42831:3;42819:16;;42812:64;42823:6;41859:1048;-1:-1:-1;;;41859:1048:136:o;42912:174::-;42956:11;43008:3;42995:17;43021:30;43045:5;43021:30;:::i;43312:174::-;43356:11;43408:3;43395:17;43421:30;43445:5;43421:30;:::i;43905:1160::-;44091:5;44078:19;44106:32;44130:7;44106:32;:::i;:::-;44170:8;44161:7;44157:22;44147:32;;44204:4;44198:11;44258:2;44246:8;44242:13;44238:2;44234:22;44231:30;44225:4;44218:44;44310:2;44303:5;44299:14;44286:28;44323:30;44345:7;44323:30;:::i;:::-;-1:-1:-1;;44381:24:136;;;;44378:32;;;44431:15;;44424:23;44420:2;44416:32;44450:10;44412:49;44375:87;44362:101;;44491:1;44540:2;44529:14;;44516:28;44553:32;44516:28;44553:32;:::i;:::-;44635:11;;-1:-1:-1;;44671:30:136;44711:2;44707:16;;;;44725;44703:39;44668:75;44655:89;;-1:-1:-1;44753:94:136;44804:42;44842:2;44831:14;;44804:42;:::i;:::-;43182:11;;-1:-1:-1;;;;43218:36:136;43264:2;43260:14;;;;43276:22;43256:43;43215:85;43202:99;;43091:216;44753:94;44856:95;44907:43;44945:3;44938:5;44934:15;44907:43;:::i;:::-;44901:4;43582:11;;-1:-1:-1;;;;43618:28:136;43672:2;43652:14;;;;-1:-1:-1;;;43648:35:136;43615:69;;;;43602:83;;43491:200;44856:95;44960:99;45015:43;45053:3;45046:5;45042:15;45015:43;:::i;:::-;45009:4;43791:11;;-1:-1:-1;;;;43827:28:136;43881:2;43861:14;;;;-1:-1:-1;;;43857:35:136;43824:69;;;;43811:83;;43696:204;45070:569;45379:3;45368:9;45361:22;45342:4;45400:63;45458:3;45447:9;45443:19;45435:6;45427;45400:63;:::i;:::-;45494:2;45479:18;;45472:34;;;;-1:-1:-1;45553:1:136;45542:21;;;;45537:2;45522:18;;45515:49;-1:-1:-1;;;;;45600:32:136;45595:2;45580:18;;;45573:60;45392:71;45070:569;-1:-1:-1;;45070:569:136:o;46419:1007::-;46517:6;46577:3;46565:9;46556:7;46552:23;46548:33;46593:2;46590:22;;;46608:1;46605;46598:12;46590:22;-1:-1:-1;46657:2:136;46651:9;46669:32;46651:9;46669:32;:::i;:::-;46729:9;46723:16;46748:30;46772:5;46748:30;:::i;:::-;46787:21;;46853:2;46838:18;;46832:25;46866:32;46832:25;46866:32;:::i;:::-;46926:2;46914:15;;46907:32;46972:47;47015:2;47000:18;;46972:47;:::i;:::-;46967:2;46959:6;46955:15;46948:72;47065:2;47054:9;47050:18;47044:25;47078:30;47100:7;47078:30;:::i;:::-;47136:2;47124:15;;47117:32;47194:3;47179:19;;47173:26;47208:32;47173:26;47208:32;:::i;:::-;47268:3;47256:16;;47249:33;47348:3;47333:19;;;47327:26;47369:16;;;47362:33;;;;-1:-1:-1;47260:6:136;46419:1007;-1:-1:-1;46419:1007:136:o;49205:263::-;49380:3;49405:57;49431:30;49457:3;49449:6;49431:30;:::i;:::-;49423:6;49405:57;:::i;49473:589::-;49747:3;49736:9;49729:22;49710:4;49768:57;49820:3;49809:9;49805:19;49797:6;49768:57;:::i;:::-;49760:65;;49875:6;49872:1;49861:21;49856:2;49845:9;49841:18;49834:49;49892:51;49939:2;49928:9;49924:18;49916:6;49892:51;:::i;:::-;-1:-1:-1;;;;;49979:32:136;;;;49974:2;49959:18;;49952:60;50043:3;50028:19;50021:35;49473:589;;-1:-1:-1;;;49473:589:136:o;50067:704::-;50406:10;50401:3;50397:20;50389:6;50385:33;50374:9;50367:52;50455:3;50450:2;50439:9;50435:18;50428:31;50348:4;50476:57;50528:3;50517:9;50513:19;50505:6;50476:57;:::i;:::-;50468:65;;50583:6;50580:1;50569:21;50564:2;50553:9;50549:18;50542:49;50600:51;50647:2;50636:9;50632:18;50624:6;50600:51;:::i;:::-;-1:-1:-1;;;;;50688:32:136;;;;50682:3;50667:19;;50660:61;50708:3;50737:19;50730:35;50067:704;;-1:-1:-1;;;;50067:704:136:o;50776:524::-;51096:10;51091:3;51087:20;51079:6;51075:33;51064:9;51057:52;51145:3;51140:2;51129:9;51125:18;51118:31;51038:4;51166:57;51218:3;51207:9;51203:19;51195:6;51166:57;:::i;:::-;51158:65;;51232:62;51290:2;51279:9;51275:18;51267:6;51232:62;:::i;52020:135::-;52059:3;52080:17;;;52077:43;;52100:18;;:::i;:::-;-1:-1:-1;52147:1:136;52136:13;;52020:135::o;52160:125::-;52225:9;;;52246:10;;;52243:36;;;52259:18;;:::i",
  "source": "// SPDX-License-Identifier: MIT\r\npragma solidity >=0.8.0 <0.9.0;\r\n\r\nimport {WitPriceFeedsV3} from \"./WitPriceFeedsV3.sol\";\r\nimport {Upgradeable} from \"../patterns/Upgradeable.sol\";\r\n\r\n/// @title WitPriceFeedsUpgradableV3: On-demand Price Feeds registry for EVM-compatible L1/L2 chains, \r\n/// natively powered by the Wit/Oracle blockchain, but yet capable of aggregating price \r\n/// updates from other on-chain price-feed oracles too, if required.\r\n/// \r\n/// Price feeds purely relying on the Wit/Oracle present some advantanges, though:\r\n/// - Anyone can permissionless pull and report price updates on-chain.\r\n/// - Updating the price requires paying no extra \"update fees\".\r\n/// - Prices can be extracted from independent and highly reputed exchanges and data providers.\r\n/// - Actual data sources for each price feed can be introspected on-chain.\r\n/// - Data source traceability in the Wit/Oracle blockchain is possible for every single price update.\r\n///\r\n/// Instances of this contract may also provide support for \"routed price feeds\" (computed as the \r\n/// product or mean average of up to other 8 different price feeds), as well as \"cascade price feeds\" \r\n/// (where multiple oracles could be used as backup when preferred ones don't manage to provide \r\n/// fresh enough updates for whatever reason).\r\n///\r\n/// Also, this contract allows simple plug-and-play integration from \r\n/// smart contracts, dapps and DeFi projects currently adapted to operate with\r\n/// other price feed solutions, like Chainlink, or Pyth. \r\n///\r\n/// @author Guillermo Díaz <guillermo@witnet.io>\r\n\r\ncontract WitPriceFeedsUpgradableV3\r\n    is\r\n        Upgradeable,\r\n        WitPriceFeedsV3\r\n{\r\n    bytes32 internal immutable __VERSION;\r\n\r\n    function class() virtual override public pure returns (string memory) {\r\n        return type(WitPriceFeedsUpgradableV3).name;\r\n    }\r\n\r\n    constructor(\r\n            address _witOracle,\r\n            bytes32 _versionTag,\r\n            bool _upgradable\r\n        )\r\n        Upgradeable(_upgradable)\r\n        WitPriceFeedsV3(_witOracle, msg.sender)\r\n    {\r\n        __VERSION = _versionTag;\r\n        proxiableUUID = keccak256(bytes(\"io.witnet.pricefeeds.v3\"));\r\n    }\r\n\r\n    /// @dev Reverts if proxy delegatecalls to unexistent method.\r\n    /* solhint-disable no-complex-fallback */\r\n    fallback() virtual external { \r\n        _revert(\"unsupported method\");\r\n    }\r\n\r\n    /// ===============================================================================================================\r\n    /// --- Clonable --------------------------------------------------------------------------------------------------\r\n\r\n    function base() \r\n        virtual override (WitPriceFeedsV3, Upgradeable)\r\n        public view \r\n        returns (address)\r\n    {\r\n        return __SELF;\r\n    }\r\n\r\n    function cloned() \r\n        virtual override \r\n        public view \r\n        returns (bool)\r\n    {\r\n        return (\r\n            address(this) != __proxiable().proxy // => not an initialized WitnetProxy\r\n                && address(this) != __SELF       // => a proxy to __SELF\r\n        );\r\n    }\r\n\r\n\r\n    // ================================================================================================================\r\n    // --- Overrides 'Proxiable' --------------------------------------------------------------------------------------\r\n\r\n    /// @dev Gets immutable \"heritage blood line\" (ie. genotype) as a Proxiable, and eventually Upgradeable, contract.\r\n    ///      If implemented as an Upgradeable touch, upgrading this contract to another one with a different \r\n    ///      `proxiableUUID()` value should fail.\r\n    bytes32 public immutable override proxiableUUID;\r\n\r\n    \r\n    // ================================================================================================================\r\n    // --- Overrides 'Upgradeable' ------------------------------------------------------------------------------------\r\n\r\n    /// @notice Re-initialize contract's storage context upon a new upgrade from a proxy.\r\n    /// @dev Must fail when trying to upgrade to same logic contract more than once.\r\n    function initialize(bytes memory _initData) \r\n        virtual override \r\n        public \r\n    {\r\n        _require(!initialized() || !cloned(), \"not on clones\");\r\n        \r\n        address _owner = owner();\r\n        if (_owner == address(0)) {\r\n            // upon first upgrade, extract decode owner address from _intidata\r\n            (_owner, _initData) = abi.decode(_initData, (address, bytes));\r\n            _transferOwnership(_owner);\r\n        \r\n        } else {\r\n            // only owner can initialize an existing proxy:\r\n            require(msg.sender == _owner, \"not the owner\");\r\n        }\r\n        if (\r\n            __proxiable().codehash != bytes32(0)\r\n                && __proxiable().codehash == codehash()\r\n        ) {\r\n            revert(\"already initialized\");\r\n        }\r\n        if (__proxiable().proxy == address(0)) {\r\n            // a proxy is being initialized for the first time...\r\n            __proxiable().proxy = address(this);   \r\n        }\r\n        __proxiable().codehash = codehash();\r\n        __proxiable().implementation = base();\r\n        __initializeUpgradableData(_initData);\r\n        emit Upgraded(owner(), base(), codehash(), version());\r\n    }\r\n\r\n    /// Tells whether provided address could eventually upgrade the contract.\r\n    function isUpgradableFrom(address _from) \r\n        virtual override\r\n        external view  \r\n        returns (bool)\r\n    {\r\n        return (\r\n            // false if the contract is not upgradable, or `_from` is no owner\r\n            isUpgradable()\r\n                && owner() == _from\r\n        );\r\n    }\r\n\r\n    function version() public view virtual override returns (string memory) {\r\n        return _toString(__VERSION);\r\n    }\r\n\r\n    /// @notice Re-initialize contract's storage context upon a new upgrade from a proxy.\r\n    function __initializeUpgradableData(bytes memory)\r\n        virtual override \r\n        internal\r\n    {\r\n        if (\r\n            __proxiable().codehash == bytes32(0)\r\n                || !_validateUpdateConditions(__storage().defaultUpdateConditions)\r\n        ) {\r\n            __storage().defaultUpdateConditions = UpdateConditions({\r\n                callbackGas: 1_000_000,\r\n                computeEma: false,\r\n                cooldownSecs: 15 minutes,\r\n                heartbeatSecs: 1 days,\r\n                maxDeviation1000: 0, // oo\r\n                minWitnesses: 3\r\n            });\r\n        }\r\n    }\r\n\r\n    \r\n    /// Converts bytes32 into string.\r\n    function _toString(bytes32 _bytes32)\r\n        internal pure\r\n        returns (string memory)\r\n    {\r\n        bytes memory _bytes = new bytes(_toStringLength(_bytes32));\r\n        for (uint _i = 0; _i < _bytes.length;) {\r\n            _bytes[_i] = _bytes32[_i];\r\n            unchecked {\r\n                _i ++;\r\n            }\r\n        }\r\n        return string(_bytes);\r\n    }\r\n\r\n    // Calculate length of string-equivalent to given bytes32.\r\n    function _toStringLength(bytes32 _bytes32)\r\n        internal pure\r\n        returns (uint _length)\r\n    {\r\n        for (; _length < 32; ) {\r\n            if (_bytes32[_length] == 0) {\r\n                break;\r\n            }\r\n            unchecked {\r\n                _length ++;\r\n            }\r\n        }\r\n    }\r\n}\r\n",
  "sourcePath": "C:\\Users\\guill\\github\\guidiaz\\witnet-solidity-bridge\\contracts\\apps\\WitPriceFeedsUpgradableV3.sol",
  "ast": {
    "absolutePath": "project:/contracts/apps/WitPriceFeedsUpgradableV3.sol",
    "exportedSymbols": {
      "Upgradeable": [
        45930
      ],
      "WitPriceFeedsUpgradableV3": [
        4361
      ],
      "WitPriceFeedsV3": [
        6343
      ]
    },
    "id": 4362,
    "license": "MIT",
    "nodeType": "SourceUnit",
    "nodes": [
      {
        "id": 3991,
        "literals": [
          "solidity",
          ">=",
          "0.8",
          ".0",
          "<",
          "0.9",
          ".0"
        ],
        "nodeType": "PragmaDirective",
        "src": "33:31:18"
      },
      {
        "absolutePath": "project:/contracts/apps/WitPriceFeedsV3.sol",
        "file": "./WitPriceFeedsV3.sol",
        "id": 3993,
        "nameLocation": "-1:-1:-1",
        "nodeType": "ImportDirective",
        "scope": 4362,
        "sourceUnit": 6344,
        "src": "68:54:18",
        "symbolAliases": [
          {
            "foreign": {
              "id": 3992,
              "name": "WitPriceFeedsV3",
              "nodeType": "Identifier",
              "overloadedDeclarations": [],
              "referencedDeclaration": 6343,
              "src": "76:15:18",
              "typeDescriptions": {}
            },
            "nameLocation": "-1:-1:-1"
          }
        ],
        "unitAlias": ""
      },
      {
        "absolutePath": "project:/contracts/patterns/Upgradeable.sol",
        "file": "../patterns/Upgradeable.sol",
        "id": 3995,
        "nameLocation": "-1:-1:-1",
        "nodeType": "ImportDirective",
        "scope": 4362,
        "sourceUnit": 45931,
        "src": "124:56:18",
        "symbolAliases": [
          {
            "foreign": {
              "id": 3994,
              "name": "Upgradeable",
              "nodeType": "Identifier",
              "overloadedDeclarations": [],
              "referencedDeclaration": 45930,
              "src": "132:11:18",
              "typeDescriptions": {}
            },
            "nameLocation": "-1:-1:-1"
          }
        ],
        "unitAlias": ""
      },
      {
        "abstract": false,
        "baseContracts": [
          {
            "baseName": {
              "id": 3997,
              "name": "Upgradeable",
              "nameLocations": [
                "1635:11:18"
              ],
              "nodeType": "IdentifierPath",
              "referencedDeclaration": 45930,
              "src": "1635:11:18"
            },
            "id": 3998,
            "nodeType": "InheritanceSpecifier",
            "src": "1635:11:18"
          },
          {
            "baseName": {
              "id": 3999,
              "name": "WitPriceFeedsV3",
              "nameLocations": [
                "1657:15:18"
              ],
              "nodeType": "IdentifierPath",
              "referencedDeclaration": 6343,
              "src": "1657:15:18"
            },
            "id": 4000,
            "nodeType": "InheritanceSpecifier",
            "src": "1657:15:18"
          }
        ],
        "canonicalName": "WitPriceFeedsUpgradableV3",
        "contractDependencies": [
          44805
        ],
        "contractKind": "contract",
        "documentation": {
          "id": 3996,
          "nodeType": "StructuredDocumentation",
          "src": "184:1397:18",
          "text": "@title WitPriceFeedsUpgradableV3: On-demand Price Feeds registry for EVM-compatible L1/L2 chains, \n natively powered by the Wit/Oracle blockchain, but yet capable of aggregating price \n updates from other on-chain price-feed oracles too, if required.\n \n Price feeds purely relying on the Wit/Oracle present some advantanges, though:\n - Anyone can permissionless pull and report price updates on-chain.\n - Updating the price requires paying no extra \"update fees\".\n - Prices can be extracted from independent and highly reputed exchanges and data providers.\n - Actual data sources for each price feed can be introspected on-chain.\n - Data source traceability in the Wit/Oracle blockchain is possible for every single price update.\n Instances of this contract may also provide support for \"routed price feeds\" (computed as the \n product or mean average of up to other 8 different price feeds), as well as \"cascade price feeds\" \n (where multiple oracles could be used as backup when preferred ones don't manage to provide \n fresh enough updates for whatever reason).\n Also, this contract allows simple plug-and-play integration from \n smart contracts, dapps and DeFi projects currently adapted to operate with\n other price feed solutions, like Chainlink, or Pyth. \n @author Guillermo Díaz <guillermo@witnet.io>"
        },
        "fullyImplemented": true,
        "id": 4361,
        "linearizedBaseContracts": [
          4361,
          6343,
          780,
          27848,
          29643,
          29711,
          29697,
          28156,
          28075,
          27955,
          26606,
          26514,
          644,
          45709,
          415,
          523,
          45518,
          45930,
          45810,
          267
        ],
        "name": "WitPriceFeedsUpgradableV3",
        "nameLocation": "1592:25:18",
        "nodeType": "ContractDefinition",
        "nodes": [
          {
            "constant": false,
            "id": 4002,
            "mutability": "immutable",
            "name": "__VERSION",
            "nameLocation": "1708:9:18",
            "nodeType": "VariableDeclaration",
            "scope": 4361,
            "src": "1681:36:18",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_bytes32",
              "typeString": "bytes32"
            },
            "typeName": {
              "id": 4001,
              "name": "bytes32",
              "nodeType": "ElementaryTypeName",
              "src": "1681:7:18",
              "typeDescriptions": {
                "typeIdentifier": "t_bytes32",
                "typeString": "bytes32"
              }
            },
            "visibility": "internal"
          },
          {
            "baseFunctions": [
              4438
            ],
            "body": {
              "id": 4013,
              "nodeType": "Block",
              "src": "1796:62:18",
              "statements": [
                {
                  "expression": {
                    "expression": {
                      "arguments": [
                        {
                          "id": 4009,
                          "name": "WitPriceFeedsUpgradableV3",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 4361,
                          "src": "1819:25:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_contract$_WitPriceFeedsUpgradableV3_$4361_$",
                            "typeString": "type(contract WitPriceFeedsUpgradableV3)"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_type$_t_contract$_WitPriceFeedsUpgradableV3_$4361_$",
                            "typeString": "type(contract WitPriceFeedsUpgradableV3)"
                          }
                        ],
                        "id": 4008,
                        "name": "type",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4294967269,
                        "src": "1814:4:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_metatype_pure$__$returns$__$",
                          "typeString": "function () pure"
                        }
                      },
                      "id": 4010,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "nameLocations": [],
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "1814:31:18",
                      "tryCall": false,
                      "typeDescriptions": {
                        "typeIdentifier": "t_magic_meta_type_t_contract$_WitPriceFeedsUpgradableV3_$4361",
                        "typeString": "type(contract WitPriceFeedsUpgradableV3)"
                      }
                    },
                    "id": 4011,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": true,
                    "lValueRequested": false,
                    "memberLocation": "1846:4:18",
                    "memberName": "name",
                    "nodeType": "MemberAccess",
                    "src": "1814:36:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_memory_ptr",
                      "typeString": "string memory"
                    }
                  },
                  "functionReturnParameters": 4007,
                  "id": 4012,
                  "nodeType": "Return",
                  "src": "1807:43:18"
                }
              ]
            },
            "functionSelector": "bff852fa",
            "id": 4014,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "class",
            "nameLocation": "1735:5:18",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 4004,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "1751:8:18"
            },
            "parameters": {
              "id": 4003,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1740:2:18"
            },
            "returnParameters": {
              "id": 4007,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4006,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 4014,
                  "src": "1781:13:18",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 4005,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "1781:6:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1780:15:18"
            },
            "scope": 4361,
            "src": "1726:132:18",
            "stateMutability": "pure",
            "virtual": true,
            "visibility": "public"
          },
          {
            "body": {
              "id": 4044,
              "nodeType": "Block",
              "src": "2075:112:18",
              "statements": [
                {
                  "expression": {
                    "id": 4033,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "id": 4031,
                      "name": "__VERSION",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 4002,
                      "src": "2086:9:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "id": 4032,
                      "name": "_versionTag",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 4018,
                      "src": "2098:11:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      }
                    },
                    "src": "2086:23:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "id": 4034,
                  "nodeType": "ExpressionStatement",
                  "src": "2086:23:18"
                },
                {
                  "expression": {
                    "id": 4042,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "id": 4035,
                      "name": "proxiableUUID",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 4094,
                      "src": "2120:13:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "arguments": [
                        {
                          "arguments": [
                            {
                              "hexValue": "696f2e7769746e65742e707269636566656564732e7633",
                              "id": 4039,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "string",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "2152:25:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_stringliteral_33f433a1d48c1d0bc6c5dce7fc5ae960b57aa338a1fb7b7ecbcbeaf0cf1deb3d",
                                "typeString": "literal_string \"io.witnet.pricefeeds.v3\""
                              },
                              "value": "io.witnet.pricefeeds.v3"
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_stringliteral_33f433a1d48c1d0bc6c5dce7fc5ae960b57aa338a1fb7b7ecbcbeaf0cf1deb3d",
                                "typeString": "literal_string \"io.witnet.pricefeeds.v3\""
                              }
                            ],
                            "id": 4038,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "lValueRequested": false,
                            "nodeType": "ElementaryTypeNameExpression",
                            "src": "2146:5:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_bytes_storage_ptr_$",
                              "typeString": "type(bytes storage pointer)"
                            },
                            "typeName": {
                              "id": 4037,
                              "name": "bytes",
                              "nodeType": "ElementaryTypeName",
                              "src": "2146:5:18",
                              "typeDescriptions": {}
                            }
                          },
                          "id": 4040,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "typeConversion",
                          "lValueRequested": false,
                          "nameLocations": [],
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "2146:32:18",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes_memory_ptr",
                            "typeString": "bytes memory"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_bytes_memory_ptr",
                            "typeString": "bytes memory"
                          }
                        ],
                        "id": 4036,
                        "name": "keccak256",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4294967288,
                        "src": "2136:9:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$",
                          "typeString": "function (bytes memory) pure returns (bytes32)"
                        }
                      },
                      "id": 4041,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "nameLocations": [],
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "2136:43:18",
                      "tryCall": false,
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      }
                    },
                    "src": "2120:59:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "id": 4043,
                  "nodeType": "ExpressionStatement",
                  "src": "2120:59:18"
                }
              ]
            },
            "id": 4045,
            "implemented": true,
            "kind": "constructor",
            "modifiers": [
              {
                "arguments": [
                  {
                    "id": 4023,
                    "name": "_upgradable",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 4020,
                    "src": "2008:11:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  }
                ],
                "id": 4024,
                "kind": "baseConstructorSpecifier",
                "modifierName": {
                  "id": 4022,
                  "name": "Upgradeable",
                  "nameLocations": [
                    "1996:11:18"
                  ],
                  "nodeType": "IdentifierPath",
                  "referencedDeclaration": 45930,
                  "src": "1996:11:18"
                },
                "nodeType": "ModifierInvocation",
                "src": "1996:24:18"
              },
              {
                "arguments": [
                  {
                    "id": 4026,
                    "name": "_witOracle",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 4016,
                    "src": "2046:10:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  {
                    "expression": {
                      "id": 4027,
                      "name": "msg",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 4294967281,
                      "src": "2058:3:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_magic_message",
                        "typeString": "msg"
                      }
                    },
                    "id": 4028,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "memberLocation": "2062:6:18",
                    "memberName": "sender",
                    "nodeType": "MemberAccess",
                    "src": "2058:10:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  }
                ],
                "id": 4029,
                "kind": "baseConstructorSpecifier",
                "modifierName": {
                  "id": 4025,
                  "name": "WitPriceFeedsV3",
                  "nameLocations": [
                    "2030:15:18"
                  ],
                  "nodeType": "IdentifierPath",
                  "referencedDeclaration": 6343,
                  "src": "2030:15:18"
                },
                "nodeType": "ModifierInvocation",
                "src": "2030:39:18"
              }
            ],
            "name": "",
            "nameLocation": "-1:-1:-1",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 4021,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4016,
                  "mutability": "mutable",
                  "name": "_witOracle",
                  "nameLocation": "1900:10:18",
                  "nodeType": "VariableDeclaration",
                  "scope": 4045,
                  "src": "1892:18:18",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 4015,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1892:7:18",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 4018,
                  "mutability": "mutable",
                  "name": "_versionTag",
                  "nameLocation": "1933:11:18",
                  "nodeType": "VariableDeclaration",
                  "scope": 4045,
                  "src": "1925:19:18",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 4017,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "1925:7:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 4020,
                  "mutability": "mutable",
                  "name": "_upgradable",
                  "nameLocation": "1964:11:18",
                  "nodeType": "VariableDeclaration",
                  "scope": 4045,
                  "src": "1959:16:18",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 4019,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "1959:4:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1877:109:18"
            },
            "returnParameters": {
              "id": 4030,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "2075:0:18"
            },
            "scope": 4361,
            "src": "1866:321:18",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "public"
          },
          {
            "body": {
              "id": 4053,
              "nodeType": "Block",
              "src": "2337:49:18",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "hexValue": "756e737570706f72746564206d6574686f64",
                        "id": 4050,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "2357:20:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_6cd7db326b1c3288fb2d570f8e6dc0541eae94a15ccc698883c20fd89936a43f",
                          "typeString": "literal_string \"unsupported method\""
                        },
                        "value": "unsupported method"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_stringliteral_6cd7db326b1c3288fb2d570f8e6dc0541eae94a15ccc698883c20fd89936a43f",
                          "typeString": "literal_string \"unsupported method\""
                        }
                      ],
                      "id": 4049,
                      "name": "_revert",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 26513,
                      "src": "2349:7:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_view$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (string memory) view"
                      }
                    },
                    "id": 4051,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "2349:29:18",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 4052,
                  "nodeType": "ExpressionStatement",
                  "src": "2349:29:18"
                }
              ]
            },
            "documentation": {
              "id": 4046,
              "nodeType": "StructuredDocumentation",
              "src": "2195:61:18",
              "text": "@dev Reverts if proxy delegatecalls to unexistent method."
            },
            "id": 4054,
            "implemented": true,
            "kind": "fallback",
            "modifiers": [],
            "name": "",
            "nameLocation": "-1:-1:-1",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 4047,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "2317:2:18"
            },
            "returnParameters": {
              "id": 4048,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "2337:0:18"
            },
            "scope": 4361,
            "src": "2309:77:18",
            "stateMutability": "nonpayable",
            "virtual": true,
            "visibility": "external"
          },
          {
            "baseFunctions": [
              4937,
              45883
            ],
            "body": {
              "id": 4065,
              "nodeType": "Block",
              "src": "2766:32:18",
              "statements": [
                {
                  "expression": {
                    "id": 4063,
                    "name": "__SELF",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 45353,
                    "src": "2784:6:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "functionReturnParameters": 4062,
                  "id": 4064,
                  "nodeType": "Return",
                  "src": "2777:13:18"
                }
              ]
            },
            "documentation": {
              "id": 4055,
              "nodeType": "StructuredDocumentation",
              "src": "2394:238:18",
              "text": "===============================================================================================================\n --- Clonable --------------------------------------------------------------------------------------------------"
            },
            "functionSelector": "5001f3b5",
            "id": 4066,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "base",
            "nameLocation": "2647:4:18",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 4059,
              "nodeType": "OverrideSpecifier",
              "overrides": [
                {
                  "id": 4057,
                  "name": "WitPriceFeedsV3",
                  "nameLocations": [
                    "2682:15:18"
                  ],
                  "nodeType": "IdentifierPath",
                  "referencedDeclaration": 6343,
                  "src": "2682:15:18"
                },
                {
                  "id": 4058,
                  "name": "Upgradeable",
                  "nameLocations": [
                    "2699:11:18"
                  ],
                  "nodeType": "IdentifierPath",
                  "referencedDeclaration": 45930,
                  "src": "2699:11:18"
                }
              ],
              "src": "2672:39:18"
            },
            "parameters": {
              "id": 4056,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "2651:2:18"
            },
            "returnParameters": {
              "id": 4062,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4061,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 4066,
                  "src": "2752:7:18",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 4060,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "2752:7:18",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "2751:9:18"
            },
            "scope": 4361,
            "src": "2638:160:18",
            "stateMutability": "view",
            "virtual": true,
            "visibility": "public"
          },
          {
            "baseFunctions": [
              45414
            ],
            "body": {
              "id": 4089,
              "nodeType": "Block",
              "src": "2903:199:18",
              "statements": [
                {
                  "expression": {
                    "components": [
                      {
                        "commonType": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        "id": 4086,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "commonType": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          },
                          "id": 4079,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "arguments": [
                              {
                                "id": 4074,
                                "name": "this",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 4294967268,
                                "src": "2944:4:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_contract$_WitPriceFeedsUpgradableV3_$4361",
                                  "typeString": "contract WitPriceFeedsUpgradableV3"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_contract$_WitPriceFeedsUpgradableV3_$4361",
                                  "typeString": "contract WitPriceFeedsUpgradableV3"
                                }
                              ],
                              "id": 4073,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "nodeType": "ElementaryTypeNameExpression",
                              "src": "2936:7:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_address_$",
                                "typeString": "type(address)"
                              },
                              "typeName": {
                                "id": 4072,
                                "name": "address",
                                "nodeType": "ElementaryTypeName",
                                "src": "2936:7:18",
                                "typeDescriptions": {}
                              }
                            },
                            "id": 4075,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "typeConversion",
                            "lValueRequested": false,
                            "nameLocations": [],
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "2936:13:18",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": "!=",
                          "rightExpression": {
                            "expression": {
                              "arguments": [],
                              "expression": {
                                "argumentTypes": [],
                                "id": 4076,
                                "name": "__proxiable",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 45809,
                                "src": "2953:11:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_function_internal_pure$__$returns$_t_struct$_ProxiableSlot_$45781_storage_ptr_$",
                                  "typeString": "function () pure returns (struct Proxiable.ProxiableSlot storage pointer)"
                                }
                              },
                              "id": 4077,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "functionCall",
                              "lValueRequested": false,
                              "nameLocations": [],
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "2953:13:18",
                              "tryCall": false,
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_ProxiableSlot_$45781_storage_ptr",
                                "typeString": "struct Proxiable.ProxiableSlot storage pointer"
                              }
                            },
                            "id": 4078,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberLocation": "2967:5:18",
                            "memberName": "proxy",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 45778,
                            "src": "2953:19:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          "src": "2936:36:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "&&",
                        "rightExpression": {
                          "commonType": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          },
                          "id": 4085,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "arguments": [
                              {
                                "id": 4082,
                                "name": "this",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 4294967268,
                                "src": "3038:4:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_contract$_WitPriceFeedsUpgradableV3_$4361",
                                  "typeString": "contract WitPriceFeedsUpgradableV3"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_contract$_WitPriceFeedsUpgradableV3_$4361",
                                  "typeString": "contract WitPriceFeedsUpgradableV3"
                                }
                              ],
                              "id": 4081,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "nodeType": "ElementaryTypeNameExpression",
                              "src": "3030:7:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_address_$",
                                "typeString": "type(address)"
                              },
                              "typeName": {
                                "id": 4080,
                                "name": "address",
                                "nodeType": "ElementaryTypeName",
                                "src": "3030:7:18",
                                "typeDescriptions": {}
                              }
                            },
                            "id": 4083,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "typeConversion",
                            "lValueRequested": false,
                            "nameLocations": [],
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "3030:13:18",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": "!=",
                          "rightExpression": {
                            "id": 4084,
                            "name": "__SELF",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 45353,
                            "src": "3047:6:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          "src": "3030:23:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "src": "2936:117:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      }
                    ],
                    "id": 4087,
                    "isConstant": false,
                    "isInlineArray": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "nodeType": "TupleExpression",
                    "src": "2921:173:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "functionReturnParameters": 4071,
                  "id": 4088,
                  "nodeType": "Return",
                  "src": "2914:180:18"
                }
              ]
            },
            "functionSelector": "a04daef0",
            "id": 4090,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "cloned",
            "nameLocation": "2815:6:18",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 4068,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "2842:8:18"
            },
            "parameters": {
              "id": 4067,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "2821:2:18"
            },
            "returnParameters": {
              "id": 4071,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4070,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 4090,
                  "src": "2892:4:18",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 4069,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "2892:4:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "2891:6:18"
            },
            "scope": 4361,
            "src": "2806:296:18",
            "stateMutability": "view",
            "virtual": true,
            "visibility": "public"
          },
          {
            "baseFunctions": [
              45774
            ],
            "constant": false,
            "documentation": {
              "id": 4091,
              "nodeType": "StructuredDocumentation",
              "src": "3356:276:18",
              "text": "@dev Gets immutable \"heritage blood line\" (ie. genotype) as a Proxiable, and eventually Upgradeable, contract.\n      If implemented as an Upgradeable touch, upgrading this contract to another one with a different \n      `proxiableUUID()` value should fail."
            },
            "functionSelector": "52d1902d",
            "id": 4094,
            "mutability": "immutable",
            "name": "proxiableUUID",
            "nameLocation": "3672:13:18",
            "nodeType": "VariableDeclaration",
            "overrides": {
              "id": 4093,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "3663:8:18"
            },
            "scope": 4361,
            "src": "3638:47:18",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_bytes32",
              "typeString": "bytes32"
            },
            "typeName": {
              "id": 4092,
              "name": "bytes32",
              "nodeType": "ElementaryTypeName",
              "src": "3638:7:18",
              "typeDescriptions": {
                "typeIdentifier": "t_bytes32",
                "typeString": "bytes32"
              }
            },
            "visibility": "public"
          },
          {
            "baseFunctions": [
              45918
            ],
            "body": {
              "id": 4221,
              "nodeType": "Block",
              "src": "4215:1089:18",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "commonType": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        "id": 4108,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "id": 4104,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "nodeType": "UnaryOperation",
                          "operator": "!",
                          "prefix": true,
                          "src": "4235:14:18",
                          "subExpression": {
                            "arguments": [],
                            "expression": {
                              "argumentTypes": [],
                              "id": 4102,
                              "name": "initialized",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [
                                4579
                              ],
                              "referencedDeclaration": 4579,
                              "src": "4236:11:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_internal_view$__$returns$_t_bool_$",
                                "typeString": "function () view returns (bool)"
                              }
                            },
                            "id": 4103,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "nameLocations": [],
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "4236:13:18",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_bool",
                              "typeString": "bool"
                            }
                          },
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "||",
                        "rightExpression": {
                          "id": 4107,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "nodeType": "UnaryOperation",
                          "operator": "!",
                          "prefix": true,
                          "src": "4253:9:18",
                          "subExpression": {
                            "arguments": [],
                            "expression": {
                              "argumentTypes": [],
                              "id": 4105,
                              "name": "cloned",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [
                                4090
                              ],
                              "referencedDeclaration": 4090,
                              "src": "4254:6:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_internal_view$__$returns$_t_bool_$",
                                "typeString": "function () view returns (bool)"
                              }
                            },
                            "id": 4106,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "nameLocations": [],
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "4254:8:18",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_bool",
                              "typeString": "bool"
                            }
                          },
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "src": "4235:27:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "hexValue": "6e6f74206f6e20636c6f6e6573",
                        "id": 4109,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "4264:15:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_9e8e3e455d1b9dce268166b954d71170d71d574bd83ee4ec8f649aff0aefe1c3",
                          "typeString": "literal_string \"not on clones\""
                        },
                        "value": "not on clones"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_9e8e3e455d1b9dce268166b954d71170d71d574bd83ee4ec8f649aff0aefe1c3",
                          "typeString": "literal_string \"not on clones\""
                        }
                      ],
                      "id": 4101,
                      "name": "_require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 26494,
                      "src": "4226:8:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_view$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) view"
                      }
                    },
                    "id": 4110,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "4226:54:18",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 4111,
                  "nodeType": "ExpressionStatement",
                  "src": "4226:54:18"
                },
                {
                  "assignments": [
                    4113
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 4113,
                      "mutability": "mutable",
                      "name": "_owner",
                      "nameLocation": "4309:6:18",
                      "nodeType": "VariableDeclaration",
                      "scope": 4221,
                      "src": "4301:14:18",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      },
                      "typeName": {
                        "id": 4112,
                        "name": "address",
                        "nodeType": "ElementaryTypeName",
                        "src": "4301:7:18",
                        "stateMutability": "nonpayable",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 4116,
                  "initialValue": {
                    "arguments": [],
                    "expression": {
                      "argumentTypes": [],
                      "id": 4114,
                      "name": "owner",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        5324
                      ],
                      "referencedDeclaration": 5324,
                      "src": "4318:5:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$",
                        "typeString": "function () view returns (address)"
                      }
                    },
                    "id": 4115,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "4318:7:18",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "4301:24:18"
                },
                {
                  "condition": {
                    "commonType": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    },
                    "id": 4122,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "id": 4117,
                      "name": "_owner",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 4113,
                      "src": "4340:6:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "==",
                    "rightExpression": {
                      "arguments": [
                        {
                          "hexValue": "30",
                          "id": 4120,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "number",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "4358:1:18",
                          "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": 4119,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "lValueRequested": false,
                        "nodeType": "ElementaryTypeNameExpression",
                        "src": "4350:7:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_address_$",
                          "typeString": "type(address)"
                        },
                        "typeName": {
                          "id": 4118,
                          "name": "address",
                          "nodeType": "ElementaryTypeName",
                          "src": "4350:7:18",
                          "typeDescriptions": {}
                        }
                      },
                      "id": 4121,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "typeConversion",
                      "lValueRequested": false,
                      "nameLocations": [],
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "4350:10:18",
                      "tryCall": false,
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "src": "4340:20:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "falseBody": {
                    "id": 4150,
                    "nodeType": "Block",
                    "src": "4587:134:18",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "commonType": {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              },
                              "id": 4146,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "leftExpression": {
                                "expression": {
                                  "id": 4143,
                                  "name": "msg",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 4294967281,
                                  "src": "4671:3:18",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_magic_message",
                                    "typeString": "msg"
                                  }
                                },
                                "id": 4144,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberLocation": "4675:6:18",
                                "memberName": "sender",
                                "nodeType": "MemberAccess",
                                "src": "4671:10:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                }
                              },
                              "nodeType": "BinaryOperation",
                              "operator": "==",
                              "rightExpression": {
                                "id": 4145,
                                "name": "_owner",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 4113,
                                "src": "4685:6:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                }
                              },
                              "src": "4671:20:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              }
                            },
                            {
                              "hexValue": "6e6f7420746865206f776e6572",
                              "id": 4147,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "string",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "4693:15:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_stringliteral_09ee694bb6d0f66081e15dd53293c7f941705ae2fd8f9732918eb9f8e2ff3219",
                                "typeString": "literal_string \"not the owner\""
                              },
                              "value": "not the owner"
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              },
                              {
                                "typeIdentifier": "t_stringliteral_09ee694bb6d0f66081e15dd53293c7f941705ae2fd8f9732918eb9f8e2ff3219",
                                "typeString": "literal_string \"not the owner\""
                              }
                            ],
                            "id": 4142,
                            "name": "require",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [
                              4294967278,
                              4294967278,
                              4294967278
                            ],
                            "referencedDeclaration": 4294967278,
                            "src": "4663:7:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                              "typeString": "function (bool,string memory) pure"
                            }
                          },
                          "id": 4148,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "nameLocations": [],
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "4663:46:18",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$__$",
                            "typeString": "tuple()"
                          }
                        },
                        "id": 4149,
                        "nodeType": "ExpressionStatement",
                        "src": "4663:46:18"
                      }
                    ]
                  },
                  "id": 4151,
                  "nodeType": "IfStatement",
                  "src": "4336:385:18",
                  "trueBody": {
                    "id": 4141,
                    "nodeType": "Block",
                    "src": "4362:219:18",
                    "statements": [
                      {
                        "expression": {
                          "id": 4135,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "components": [
                              {
                                "id": 4123,
                                "name": "_owner",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 4113,
                                "src": "4458:6:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                }
                              },
                              {
                                "id": 4124,
                                "name": "_initData",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 4097,
                                "src": "4466:9:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes_memory_ptr",
                                  "typeString": "bytes memory"
                                }
                              }
                            ],
                            "id": 4125,
                            "isConstant": false,
                            "isInlineArray": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": true,
                            "nodeType": "TupleExpression",
                            "src": "4457:19:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_tuple$_t_address_$_t_bytes_memory_ptr_$",
                              "typeString": "tuple(address,bytes memory)"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "arguments": [
                              {
                                "id": 4128,
                                "name": "_initData",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 4097,
                                "src": "4490:9:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes_memory_ptr",
                                  "typeString": "bytes memory"
                                }
                              },
                              {
                                "components": [
                                  {
                                    "id": 4130,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": true,
                                    "lValueRequested": false,
                                    "nodeType": "ElementaryTypeNameExpression",
                                    "src": "4502:7:18",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_type$_t_address_$",
                                      "typeString": "type(address)"
                                    },
                                    "typeName": {
                                      "id": 4129,
                                      "name": "address",
                                      "nodeType": "ElementaryTypeName",
                                      "src": "4502:7:18",
                                      "typeDescriptions": {}
                                    }
                                  },
                                  {
                                    "id": 4132,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": true,
                                    "lValueRequested": false,
                                    "nodeType": "ElementaryTypeNameExpression",
                                    "src": "4511:5:18",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_type$_t_bytes_storage_ptr_$",
                                      "typeString": "type(bytes storage pointer)"
                                    },
                                    "typeName": {
                                      "id": 4131,
                                      "name": "bytes",
                                      "nodeType": "ElementaryTypeName",
                                      "src": "4511:5:18",
                                      "typeDescriptions": {}
                                    }
                                  }
                                ],
                                "id": 4133,
                                "isConstant": false,
                                "isInlineArray": false,
                                "isLValue": false,
                                "isPure": true,
                                "lValueRequested": false,
                                "nodeType": "TupleExpression",
                                "src": "4501:16:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_tuple$_t_type$_t_address_$_$_t_type$_t_bytes_storage_ptr_$_$",
                                  "typeString": "tuple(type(address),type(bytes storage pointer))"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_bytes_memory_ptr",
                                  "typeString": "bytes memory"
                                },
                                {
                                  "typeIdentifier": "t_tuple$_t_type$_t_address_$_$_t_type$_t_bytes_storage_ptr_$_$",
                                  "typeString": "tuple(type(address),type(bytes storage pointer))"
                                }
                              ],
                              "expression": {
                                "id": 4126,
                                "name": "abi",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 4294967295,
                                "src": "4479:3:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_magic_abi",
                                  "typeString": "abi"
                                }
                              },
                              "id": 4127,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "memberLocation": "4483:6:18",
                              "memberName": "decode",
                              "nodeType": "MemberAccess",
                              "src": "4479:10:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_abidecode_pure$__$returns$__$",
                                "typeString": "function () pure"
                              }
                            },
                            "id": 4134,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "nameLocations": [],
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "4479:39:18",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_tuple$_t_address_payable_$_t_bytes_memory_ptr_$",
                              "typeString": "tuple(address payable,bytes memory)"
                            }
                          },
                          "src": "4457:61:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$__$",
                            "typeString": "tuple()"
                          }
                        },
                        "id": 4136,
                        "nodeType": "ExpressionStatement",
                        "src": "4457:61:18"
                      },
                      {
                        "expression": {
                          "arguments": [
                            {
                              "id": 4138,
                              "name": "_owner",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 4113,
                              "src": "4552:6:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              }
                            ],
                            "id": 4137,
                            "name": "_transferOwnership",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [
                              45684
                            ],
                            "referencedDeclaration": 45684,
                            "src": "4533:18:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$",
                              "typeString": "function (address)"
                            }
                          },
                          "id": 4139,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "nameLocations": [],
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "4533:26:18",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$__$",
                            "typeString": "tuple()"
                          }
                        },
                        "id": 4140,
                        "nodeType": "ExpressionStatement",
                        "src": "4533:26:18"
                      }
                    ]
                  }
                },
                {
                  "condition": {
                    "commonType": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    },
                    "id": 4166,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "commonType": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      },
                      "id": 4159,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "leftExpression": {
                        "expression": {
                          "arguments": [],
                          "expression": {
                            "argumentTypes": [],
                            "id": 4152,
                            "name": "__proxiable",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 45809,
                            "src": "4749:11:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_pure$__$returns$_t_struct$_ProxiableSlot_$45781_storage_ptr_$",
                              "typeString": "function () pure returns (struct Proxiable.ProxiableSlot storage pointer)"
                            }
                          },
                          "id": 4153,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "nameLocations": [],
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "4749:13:18",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_ProxiableSlot_$45781_storage_ptr",
                            "typeString": "struct Proxiable.ProxiableSlot storage pointer"
                          }
                        },
                        "id": 4154,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberLocation": "4763:8:18",
                        "memberName": "codehash",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 45780,
                        "src": "4749:22:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      "nodeType": "BinaryOperation",
                      "operator": "!=",
                      "rightExpression": {
                        "arguments": [
                          {
                            "hexValue": "30",
                            "id": 4157,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "number",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "4783:1:18",
                            "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": 4156,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "nodeType": "ElementaryTypeNameExpression",
                          "src": "4775:7:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_bytes32_$",
                            "typeString": "type(bytes32)"
                          },
                          "typeName": {
                            "id": 4155,
                            "name": "bytes32",
                            "nodeType": "ElementaryTypeName",
                            "src": "4775:7:18",
                            "typeDescriptions": {}
                          }
                        },
                        "id": 4158,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "typeConversion",
                        "lValueRequested": false,
                        "nameLocations": [],
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "4775:10:18",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      "src": "4749:36:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "&&",
                    "rightExpression": {
                      "commonType": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      },
                      "id": 4165,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "leftExpression": {
                        "expression": {
                          "arguments": [],
                          "expression": {
                            "argumentTypes": [],
                            "id": 4160,
                            "name": "__proxiable",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 45809,
                            "src": "4806:11:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_pure$__$returns$_t_struct$_ProxiableSlot_$45781_storage_ptr_$",
                              "typeString": "function () pure returns (struct Proxiable.ProxiableSlot storage pointer)"
                            }
                          },
                          "id": 4161,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "nameLocations": [],
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "4806:13:18",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_ProxiableSlot_$45781_storage_ptr",
                            "typeString": "struct Proxiable.ProxiableSlot storage pointer"
                          }
                        },
                        "id": 4162,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberLocation": "4820:8:18",
                        "memberName": "codehash",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 45780,
                        "src": "4806:22:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      "nodeType": "BinaryOperation",
                      "operator": "==",
                      "rightExpression": {
                        "arguments": [],
                        "expression": {
                          "argumentTypes": [],
                          "id": 4163,
                          "name": "codehash",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 45895,
                          "src": "4832:8:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_internal_view$__$returns$_t_bytes32_$",
                            "typeString": "function () view returns (bytes32)"
                          }
                        },
                        "id": 4164,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "nameLocations": [],
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "4832:10:18",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      "src": "4806:36:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "src": "4749:93:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 4172,
                  "nodeType": "IfStatement",
                  "src": "4731:179:18",
                  "trueBody": {
                    "id": 4171,
                    "nodeType": "Block",
                    "src": "4854:56:18",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "hexValue": "616c726561647920696e697469616c697a6564",
                              "id": 4168,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "string",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "4876:21:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_stringliteral_6fad3ee6d344e662108f49bced409fae87c3af64246556bdd23a34dddc7e1adc",
                                "typeString": "literal_string \"already initialized\""
                              },
                              "value": "already initialized"
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_stringliteral_6fad3ee6d344e662108f49bced409fae87c3af64246556bdd23a34dddc7e1adc",
                                "typeString": "literal_string \"already initialized\""
                              }
                            ],
                            "id": 4167,
                            "name": "revert",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [
                              4294967277,
                              4294967277
                            ],
                            "referencedDeclaration": 4294967277,
                            "src": "4869:6:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_revert_pure$_t_string_memory_ptr_$returns$__$",
                              "typeString": "function (string memory) pure"
                            }
                          },
                          "id": 4169,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "nameLocations": [],
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "4869:29:18",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$__$",
                            "typeString": "tuple()"
                          }
                        },
                        "id": 4170,
                        "nodeType": "ExpressionStatement",
                        "src": "4869:29:18"
                      }
                    ]
                  }
                },
                {
                  "condition": {
                    "commonType": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    },
                    "id": 4180,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "expression": {
                        "arguments": [],
                        "expression": {
                          "argumentTypes": [],
                          "id": 4173,
                          "name": "__proxiable",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 45809,
                          "src": "4924:11:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_internal_pure$__$returns$_t_struct$_ProxiableSlot_$45781_storage_ptr_$",
                            "typeString": "function () pure returns (struct Proxiable.ProxiableSlot storage pointer)"
                          }
                        },
                        "id": 4174,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "nameLocations": [],
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "4924:13:18",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_ProxiableSlot_$45781_storage_ptr",
                          "typeString": "struct Proxiable.ProxiableSlot storage pointer"
                        }
                      },
                      "id": 4175,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "4938:5:18",
                      "memberName": "proxy",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 45778,
                      "src": "4924:19:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "==",
                    "rightExpression": {
                      "arguments": [
                        {
                          "hexValue": "30",
                          "id": 4178,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "number",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "4955:1:18",
                          "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": 4177,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "lValueRequested": false,
                        "nodeType": "ElementaryTypeNameExpression",
                        "src": "4947:7:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_address_$",
                          "typeString": "type(address)"
                        },
                        "typeName": {
                          "id": 4176,
                          "name": "address",
                          "nodeType": "ElementaryTypeName",
                          "src": "4947:7:18",
                          "typeDescriptions": {}
                        }
                      },
                      "id": 4179,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "typeConversion",
                      "lValueRequested": false,
                      "nameLocations": [],
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "4947:10:18",
                      "tryCall": false,
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "src": "4924:33:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 4191,
                  "nodeType": "IfStatement",
                  "src": "4920:171:18",
                  "trueBody": {
                    "id": 4190,
                    "nodeType": "Block",
                    "src": "4959:132:18",
                    "statements": [
                      {
                        "expression": {
                          "id": 4188,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "expression": {
                              "arguments": [],
                              "expression": {
                                "argumentTypes": [],
                                "id": 4181,
                                "name": "__proxiable",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 45809,
                                "src": "5041:11:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_function_internal_pure$__$returns$_t_struct$_ProxiableSlot_$45781_storage_ptr_$",
                                  "typeString": "function () pure returns (struct Proxiable.ProxiableSlot storage pointer)"
                                }
                              },
                              "id": 4182,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "functionCall",
                              "lValueRequested": false,
                              "nameLocations": [],
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "5041:13:18",
                              "tryCall": false,
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_ProxiableSlot_$45781_storage_ptr",
                                "typeString": "struct Proxiable.ProxiableSlot storage pointer"
                              }
                            },
                            "id": 4183,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": true,
                            "memberLocation": "5055:5:18",
                            "memberName": "proxy",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 45778,
                            "src": "5041:19:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "arguments": [
                              {
                                "id": 4186,
                                "name": "this",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 4294967268,
                                "src": "5071:4:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_contract$_WitPriceFeedsUpgradableV3_$4361",
                                  "typeString": "contract WitPriceFeedsUpgradableV3"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_contract$_WitPriceFeedsUpgradableV3_$4361",
                                  "typeString": "contract WitPriceFeedsUpgradableV3"
                                }
                              ],
                              "id": 4185,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "nodeType": "ElementaryTypeNameExpression",
                              "src": "5063:7:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_address_$",
                                "typeString": "type(address)"
                              },
                              "typeName": {
                                "id": 4184,
                                "name": "address",
                                "nodeType": "ElementaryTypeName",
                                "src": "5063:7:18",
                                "typeDescriptions": {}
                              }
                            },
                            "id": 4187,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "typeConversion",
                            "lValueRequested": false,
                            "nameLocations": [],
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "5063:13:18",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          "src": "5041:35:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "id": 4189,
                        "nodeType": "ExpressionStatement",
                        "src": "5041:35:18"
                      }
                    ]
                  }
                },
                {
                  "expression": {
                    "id": 4197,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "expression": {
                        "arguments": [],
                        "expression": {
                          "argumentTypes": [],
                          "id": 4192,
                          "name": "__proxiable",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 45809,
                          "src": "5101:11:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_internal_pure$__$returns$_t_struct$_ProxiableSlot_$45781_storage_ptr_$",
                            "typeString": "function () pure returns (struct Proxiable.ProxiableSlot storage pointer)"
                          }
                        },
                        "id": 4193,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "nameLocations": [],
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "5101:13:18",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_ProxiableSlot_$45781_storage_ptr",
                          "typeString": "struct Proxiable.ProxiableSlot storage pointer"
                        }
                      },
                      "id": 4194,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "memberLocation": "5115:8:18",
                      "memberName": "codehash",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 45780,
                      "src": "5101:22:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "arguments": [],
                      "expression": {
                        "argumentTypes": [],
                        "id": 4195,
                        "name": "codehash",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 45895,
                        "src": "5126:8:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_internal_view$__$returns$_t_bytes32_$",
                          "typeString": "function () view returns (bytes32)"
                        }
                      },
                      "id": 4196,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "nameLocations": [],
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "5126:10:18",
                      "tryCall": false,
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      }
                    },
                    "src": "5101:35:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "id": 4198,
                  "nodeType": "ExpressionStatement",
                  "src": "5101:35:18"
                },
                {
                  "expression": {
                    "id": 4204,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "expression": {
                        "arguments": [],
                        "expression": {
                          "argumentTypes": [],
                          "id": 4199,
                          "name": "__proxiable",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 45809,
                          "src": "5147:11:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_internal_pure$__$returns$_t_struct$_ProxiableSlot_$45781_storage_ptr_$",
                            "typeString": "function () pure returns (struct Proxiable.ProxiableSlot storage pointer)"
                          }
                        },
                        "id": 4200,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "nameLocations": [],
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "5147:13:18",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_ProxiableSlot_$45781_storage_ptr",
                          "typeString": "struct Proxiable.ProxiableSlot storage pointer"
                        }
                      },
                      "id": 4201,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "memberLocation": "5161:14:18",
                      "memberName": "implementation",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 45776,
                      "src": "5147:28:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "arguments": [],
                      "expression": {
                        "argumentTypes": [],
                        "id": 4202,
                        "name": "base",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [
                          4066
                        ],
                        "referencedDeclaration": 4066,
                        "src": "5178:4:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$",
                          "typeString": "function () view returns (address)"
                        }
                      },
                      "id": 4203,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "nameLocations": [],
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "5178:6:18",
                      "tryCall": false,
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "src": "5147:37:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "id": 4205,
                  "nodeType": "ExpressionStatement",
                  "src": "5147:37:18"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "id": 4207,
                        "name": "_initData",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4097,
                        "src": "5222:9:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      ],
                      "id": 4206,
                      "name": "__initializeUpgradableData",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        4290
                      ],
                      "referencedDeclaration": 4290,
                      "src": "5195:26:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_bytes_memory_ptr_$returns$__$",
                        "typeString": "function (bytes memory)"
                      }
                    },
                    "id": 4208,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "5195:37:18",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 4209,
                  "nodeType": "ExpressionStatement",
                  "src": "5195:37:18"
                },
                {
                  "eventCall": {
                    "arguments": [
                      {
                        "arguments": [],
                        "expression": {
                          "argumentTypes": [],
                          "id": 4211,
                          "name": "owner",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [
                            5324
                          ],
                          "referencedDeclaration": 5324,
                          "src": "5257:5:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$",
                            "typeString": "function () view returns (address)"
                          }
                        },
                        "id": 4212,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "nameLocations": [],
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "5257:7:18",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "arguments": [],
                        "expression": {
                          "argumentTypes": [],
                          "id": 4213,
                          "name": "base",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [
                            4066
                          ],
                          "referencedDeclaration": 4066,
                          "src": "5266:4:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$",
                            "typeString": "function () view returns (address)"
                          }
                        },
                        "id": 4214,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "nameLocations": [],
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "5266:6:18",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "arguments": [],
                        "expression": {
                          "argumentTypes": [],
                          "id": 4215,
                          "name": "codehash",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 45895,
                          "src": "5274:8:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_internal_view$__$returns$_t_bytes32_$",
                            "typeString": "function () view returns (bytes32)"
                          }
                        },
                        "id": 4216,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "nameLocations": [],
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "5274:10:18",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      {
                        "arguments": [],
                        "expression": {
                          "argumentTypes": [],
                          "id": 4217,
                          "name": "version",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [
                            4252
                          ],
                          "referencedDeclaration": 4252,
                          "src": "5286:7:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_internal_view$__$returns$_t_string_memory_ptr_$",
                            "typeString": "function () view returns (string memory)"
                          }
                        },
                        "id": 4218,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "nameLocations": [],
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "5286:9:18",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        },
                        {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      ],
                      "id": 4210,
                      "name": "Upgraded",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 45853,
                      "src": "5248:8:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_bytes32_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (address,address,bytes32,string memory)"
                      }
                    },
                    "id": 4219,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "5248:48:18",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 4220,
                  "nodeType": "EmitStatement",
                  "src": "5243:53:18"
                }
              ]
            },
            "documentation": {
              "id": 4095,
              "nodeType": "StructuredDocumentation",
              "src": "3944:171:18",
              "text": "@notice Re-initialize contract's storage context upon a new upgrade from a proxy.\n @dev Must fail when trying to upgrade to same logic contract more than once."
            },
            "functionSelector": "439fab91",
            "id": 4222,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "initialize",
            "nameLocation": "4130:10:18",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 4099,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "4183:8:18"
            },
            "parameters": {
              "id": 4098,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4097,
                  "mutability": "mutable",
                  "name": "_initData",
                  "nameLocation": "4154:9:18",
                  "nodeType": "VariableDeclaration",
                  "scope": 4222,
                  "src": "4141:22:18",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_memory_ptr",
                    "typeString": "bytes"
                  },
                  "typeName": {
                    "id": 4096,
                    "name": "bytes",
                    "nodeType": "ElementaryTypeName",
                    "src": "4141:5:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_storage_ptr",
                      "typeString": "bytes"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "4140:24:18"
            },
            "returnParameters": {
              "id": 4100,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "4215:0:18"
            },
            "scope": 4361,
            "src": "4121:1183:18",
            "stateMutability": "nonpayable",
            "virtual": true,
            "visibility": "public"
          },
          {
            "baseFunctions": [
              45912
            ],
            "body": {
              "id": 4240,
              "nodeType": "Block",
              "src": "5513:183:18",
              "statements": [
                {
                  "expression": {
                    "components": [
                      {
                        "commonType": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        "id": 4237,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "arguments": [],
                          "expression": {
                            "argumentTypes": [],
                            "id": 4231,
                            "name": "isUpgradable",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 45904,
                            "src": "5626:12:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_view$__$returns$_t_bool_$",
                              "typeString": "function () view returns (bool)"
                            }
                          },
                          "id": 4232,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "nameLocations": [],
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "5626:14:18",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "&&",
                        "rightExpression": {
                          "commonType": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          },
                          "id": 4236,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "arguments": [],
                            "expression": {
                              "argumentTypes": [],
                              "id": 4233,
                              "name": "owner",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [
                                5324
                              ],
                              "referencedDeclaration": 5324,
                              "src": "5661:5:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$",
                                "typeString": "function () view returns (address)"
                              }
                            },
                            "id": 4234,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "nameLocations": [],
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "5661:7:18",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": "==",
                          "rightExpression": {
                            "id": 4235,
                            "name": "_from",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 4225,
                            "src": "5672:5:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          "src": "5661:16:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "src": "5626:51:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      }
                    ],
                    "id": 4238,
                    "isConstant": false,
                    "isInlineArray": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "nodeType": "TupleExpression",
                    "src": "5531:157:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "functionReturnParameters": 4230,
                  "id": 4239,
                  "nodeType": "Return",
                  "src": "5524:164:18"
                }
              ]
            },
            "documentation": {
              "id": 4223,
              "nodeType": "StructuredDocumentation",
              "src": "5312:73:18",
              "text": "Tells whether provided address could eventually upgrade the contract."
            },
            "functionSelector": "6b58960a",
            "id": 4241,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "isUpgradableFrom",
            "nameLocation": "5400:16:18",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 4227,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "5450:8:18"
            },
            "parameters": {
              "id": 4226,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4225,
                  "mutability": "mutable",
                  "name": "_from",
                  "nameLocation": "5425:5:18",
                  "nodeType": "VariableDeclaration",
                  "scope": 4241,
                  "src": "5417:13:18",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 4224,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "5417:7:18",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "5416:15:18"
            },
            "returnParameters": {
              "id": 4230,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4229,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 4241,
                  "src": "5502:4:18",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 4228,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "5502:4:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "5501:6:18"
            },
            "scope": 4361,
            "src": "5391:305:18",
            "stateMutability": "view",
            "virtual": true,
            "visibility": "external"
          },
          {
            "baseFunctions": [
              45929
            ],
            "body": {
              "id": 4251,
              "nodeType": "Block",
              "src": "5776:46:18",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "id": 4248,
                        "name": "__VERSION",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4002,
                        "src": "5804:9:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      ],
                      "id": 4247,
                      "name": "_toString",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 4335,
                      "src": "5794:9:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_pure$_t_bytes32_$returns$_t_string_memory_ptr_$",
                        "typeString": "function (bytes32) pure returns (string memory)"
                      }
                    },
                    "id": 4249,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "5794:20:18",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_memory_ptr",
                      "typeString": "string memory"
                    }
                  },
                  "functionReturnParameters": 4246,
                  "id": 4250,
                  "nodeType": "Return",
                  "src": "5787:27:18"
                }
              ]
            },
            "functionSelector": "54fd4d50",
            "id": 4252,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "version",
            "nameLocation": "5713:7:18",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 4243,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "5743:8:18"
            },
            "parameters": {
              "id": 4242,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "5720:2:18"
            },
            "returnParameters": {
              "id": 4246,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4245,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 4252,
                  "src": "5761:13:18",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 4244,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "5761:6:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "5760:15:18"
            },
            "scope": 4361,
            "src": "5704:118:18",
            "stateMutability": "view",
            "virtual": true,
            "visibility": "public"
          },
          {
            "baseFunctions": [
              45923
            ],
            "body": {
              "id": 4289,
              "nodeType": "Block",
              "src": "6021:504:18",
              "statements": [
                {
                  "condition": {
                    "commonType": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    },
                    "id": 4273,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "commonType": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      },
                      "id": 4266,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "leftExpression": {
                        "expression": {
                          "arguments": [],
                          "expression": {
                            "argumentTypes": [],
                            "id": 4259,
                            "name": "__proxiable",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 45809,
                            "src": "6050:11:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_pure$__$returns$_t_struct$_ProxiableSlot_$45781_storage_ptr_$",
                              "typeString": "function () pure returns (struct Proxiable.ProxiableSlot storage pointer)"
                            }
                          },
                          "id": 4260,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "nameLocations": [],
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "6050:13:18",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_ProxiableSlot_$45781_storage_ptr",
                            "typeString": "struct Proxiable.ProxiableSlot storage pointer"
                          }
                        },
                        "id": 4261,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberLocation": "6064:8:18",
                        "memberName": "codehash",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 45780,
                        "src": "6050:22:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      "nodeType": "BinaryOperation",
                      "operator": "==",
                      "rightExpression": {
                        "arguments": [
                          {
                            "hexValue": "30",
                            "id": 4264,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "number",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "6084:1:18",
                            "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": 4263,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "nodeType": "ElementaryTypeNameExpression",
                          "src": "6076:7:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_bytes32_$",
                            "typeString": "type(bytes32)"
                          },
                          "typeName": {
                            "id": 4262,
                            "name": "bytes32",
                            "nodeType": "ElementaryTypeName",
                            "src": "6076:7:18",
                            "typeDescriptions": {}
                          }
                        },
                        "id": 4265,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "typeConversion",
                        "lValueRequested": false,
                        "nameLocations": [],
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "6076:10:18",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      "src": "6050:36:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "||",
                    "rightExpression": {
                      "id": 4272,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "UnaryOperation",
                      "operator": "!",
                      "prefix": true,
                      "src": "6107:63:18",
                      "subExpression": {
                        "arguments": [
                          {
                            "expression": {
                              "arguments": [],
                              "expression": {
                                "argumentTypes": [],
                                "id": 4268,
                                "name": "__storage",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 6342,
                                "src": "6134:9:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_function_internal_pure$__$returns$_t_struct$_Storage_$22336_storage_ptr_$",
                                  "typeString": "function () pure returns (struct WitPriceFeedsDataLib.Storage storage pointer)"
                                }
                              },
                              "id": 4269,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "functionCall",
                              "lValueRequested": false,
                              "nameLocations": [],
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "6134:11:18",
                              "tryCall": false,
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_Storage_$22336_storage_ptr",
                                "typeString": "struct WitPriceFeedsDataLib.Storage storage pointer"
                              }
                            },
                            "id": 4270,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberLocation": "6146:23:18",
                            "memberName": "defaultUpdateConditions",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 22331,
                            "src": "6134:35:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_UpdateConditions_$28153_storage",
                              "typeString": "struct IWitPriceFeedsTypes.UpdateConditions storage ref"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_struct$_UpdateConditions_$28153_storage",
                              "typeString": "struct IWitPriceFeedsTypes.UpdateConditions storage ref"
                            }
                          ],
                          "id": 4267,
                          "name": "_validateUpdateConditions",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 6197,
                          "src": "6108:25:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_internal_pure$_t_struct$_UpdateConditions_$28153_memory_ptr_$returns$_t_bool_$",
                            "typeString": "function (struct IWitPriceFeedsTypes.UpdateConditions memory) pure returns (bool)"
                          }
                        },
                        "id": 4271,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "nameLocations": [],
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "6108:62:18",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "src": "6050:120:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 4288,
                  "nodeType": "IfStatement",
                  "src": "6032:486:18",
                  "trueBody": {
                    "id": 4287,
                    "nodeType": "Block",
                    "src": "6182:336:18",
                    "statements": [
                      {
                        "expression": {
                          "id": 4285,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "expression": {
                              "arguments": [],
                              "expression": {
                                "argumentTypes": [],
                                "id": 4274,
                                "name": "__storage",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 6342,
                                "src": "6197:9:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_function_internal_pure$__$returns$_t_struct$_Storage_$22336_storage_ptr_$",
                                  "typeString": "function () pure returns (struct WitPriceFeedsDataLib.Storage storage pointer)"
                                }
                              },
                              "id": 4275,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "functionCall",
                              "lValueRequested": false,
                              "nameLocations": [],
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "6197:11:18",
                              "tryCall": false,
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_Storage_$22336_storage_ptr",
                                "typeString": "struct WitPriceFeedsDataLib.Storage storage pointer"
                              }
                            },
                            "id": 4276,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": true,
                            "memberLocation": "6209:23:18",
                            "memberName": "defaultUpdateConditions",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 22331,
                            "src": "6197:35:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_UpdateConditions_$28153_storage",
                              "typeString": "struct IWitPriceFeedsTypes.UpdateConditions storage ref"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "arguments": [
                              {
                                "hexValue": "315f3030305f303030",
                                "id": 4278,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "kind": "number",
                                "lValueRequested": false,
                                "nodeType": "Literal",
                                "src": "6284:9:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_rational_1000000_by_1",
                                  "typeString": "int_const 1000000"
                                },
                                "value": "1_000_000"
                              },
                              {
                                "hexValue": "66616c7365",
                                "id": 4279,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "kind": "bool",
                                "lValueRequested": false,
                                "nodeType": "Literal",
                                "src": "6324:5:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bool",
                                  "typeString": "bool"
                                },
                                "value": "false"
                              },
                              {
                                "hexValue": "3135",
                                "id": 4280,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "kind": "number",
                                "lValueRequested": false,
                                "nodeType": "Literal",
                                "src": "6362:10:18",
                                "subdenomination": "minutes",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_rational_900_by_1",
                                  "typeString": "int_const 900"
                                },
                                "value": "15"
                              },
                              {
                                "hexValue": "31",
                                "id": 4281,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "kind": "number",
                                "lValueRequested": false,
                                "nodeType": "Literal",
                                "src": "6406:6:18",
                                "subdenomination": "days",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_rational_86400_by_1",
                                  "typeString": "int_const 86400"
                                },
                                "value": "1"
                              },
                              {
                                "hexValue": "30",
                                "id": 4282,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "kind": "number",
                                "lValueRequested": false,
                                "nodeType": "Literal",
                                "src": "6449:1:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_rational_0_by_1",
                                  "typeString": "int_const 0"
                                },
                                "value": "0"
                              },
                              {
                                "hexValue": "33",
                                "id": 4283,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "kind": "number",
                                "lValueRequested": false,
                                "nodeType": "Literal",
                                "src": "6489:1:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_rational_3_by_1",
                                  "typeString": "int_const 3"
                                },
                                "value": "3"
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_rational_1000000_by_1",
                                  "typeString": "int_const 1000000"
                                },
                                {
                                  "typeIdentifier": "t_bool",
                                  "typeString": "bool"
                                },
                                {
                                  "typeIdentifier": "t_rational_900_by_1",
                                  "typeString": "int_const 900"
                                },
                                {
                                  "typeIdentifier": "t_rational_86400_by_1",
                                  "typeString": "int_const 86400"
                                },
                                {
                                  "typeIdentifier": "t_rational_0_by_1",
                                  "typeString": "int_const 0"
                                },
                                {
                                  "typeIdentifier": "t_rational_3_by_1",
                                  "typeString": "int_const 3"
                                }
                              ],
                              "id": 4277,
                              "name": "UpdateConditions",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 28153,
                              "src": "6235:16:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_struct$_UpdateConditions_$28153_storage_ptr_$",
                                "typeString": "type(struct IWitPriceFeedsTypes.UpdateConditions storage pointer)"
                              }
                            },
                            "id": 4284,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "structConstructorCall",
                            "lValueRequested": false,
                            "nameLocations": [
                              "6271:11:18",
                              "6312:10:18",
                              "6348:12:18",
                              "6391:13:18",
                              "6431:16:18",
                              "6475:12:18"
                            ],
                            "names": [
                              "callbackGas",
                              "computeEma",
                              "cooldownSecs",
                              "heartbeatSecs",
                              "maxDeviation1000",
                              "minWitnesses"
                            ],
                            "nodeType": "FunctionCall",
                            "src": "6235:271:18",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_UpdateConditions_$28153_memory_ptr",
                              "typeString": "struct IWitPriceFeedsTypes.UpdateConditions memory"
                            }
                          },
                          "src": "6197:309:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_UpdateConditions_$28153_storage",
                            "typeString": "struct IWitPriceFeedsTypes.UpdateConditions storage ref"
                          }
                        },
                        "id": 4286,
                        "nodeType": "ExpressionStatement",
                        "src": "6197:309:18"
                      }
                    ]
                  }
                }
              ]
            },
            "documentation": {
              "id": 4253,
              "nodeType": "StructuredDocumentation",
              "src": "5830:85:18",
              "text": "@notice Re-initialize contract's storage context upon a new upgrade from a proxy."
            },
            "id": 4290,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "__initializeUpgradableData",
            "nameLocation": "5930:26:18",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 4257,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "5988:8:18"
            },
            "parameters": {
              "id": 4256,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4255,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 4290,
                  "src": "5957:12:18",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_memory_ptr",
                    "typeString": "bytes"
                  },
                  "typeName": {
                    "id": 4254,
                    "name": "bytes",
                    "nodeType": "ElementaryTypeName",
                    "src": "5957:5:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_storage_ptr",
                      "typeString": "bytes"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "5956:14:18"
            },
            "returnParameters": {
              "id": 4258,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "6021:0:18"
            },
            "scope": 4361,
            "src": "5921:604:18",
            "stateMutability": "nonpayable",
            "virtual": true,
            "visibility": "internal"
          },
          {
            "body": {
              "id": 4334,
              "nodeType": "Block",
              "src": "6676:274:18",
              "statements": [
                {
                  "assignments": [
                    4299
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 4299,
                      "mutability": "mutable",
                      "name": "_bytes",
                      "nameLocation": "6700:6:18",
                      "nodeType": "VariableDeclaration",
                      "scope": 4334,
                      "src": "6687:19:18",
                      "stateVariable": false,
                      "storageLocation": "memory",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes_memory_ptr",
                        "typeString": "bytes"
                      },
                      "typeName": {
                        "id": 4298,
                        "name": "bytes",
                        "nodeType": "ElementaryTypeName",
                        "src": "6687:5:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_storage_ptr",
                          "typeString": "bytes"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 4306,
                  "initialValue": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "id": 4303,
                            "name": "_bytes32",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 4293,
                            "src": "6735:8:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          ],
                          "id": 4302,
                          "name": "_toStringLength",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 4360,
                          "src": "6719:15:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_internal_pure$_t_bytes32_$returns$_t_uint256_$",
                            "typeString": "function (bytes32) pure returns (uint256)"
                          }
                        },
                        "id": 4304,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "nameLocations": [],
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "6719:25:18",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "id": 4301,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "lValueRequested": false,
                      "nodeType": "NewExpression",
                      "src": "6709:9:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_bytes_memory_ptr_$",
                        "typeString": "function (uint256) pure returns (bytes memory)"
                      },
                      "typeName": {
                        "id": 4300,
                        "name": "bytes",
                        "nodeType": "ElementaryTypeName",
                        "src": "6713:5:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_storage_ptr",
                          "typeString": "bytes"
                        }
                      }
                    },
                    "id": 4305,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "6709:36:18",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_memory_ptr",
                      "typeString": "bytes memory"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "6687:58:18"
                },
                {
                  "body": {
                    "id": 4327,
                    "nodeType": "Block",
                    "src": "6795:116:18",
                    "statements": [
                      {
                        "expression": {
                          "id": 4321,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "baseExpression": {
                              "id": 4315,
                              "name": "_bytes",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 4299,
                              "src": "6810:6:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes_memory_ptr",
                                "typeString": "bytes memory"
                              }
                            },
                            "id": 4317,
                            "indexExpression": {
                              "id": 4316,
                              "name": "_i",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 4308,
                              "src": "6817:2:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": true,
                            "nodeType": "IndexAccess",
                            "src": "6810:10:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes1",
                              "typeString": "bytes1"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "baseExpression": {
                              "id": 4318,
                              "name": "_bytes32",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 4293,
                              "src": "6823:8:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            },
                            "id": 4320,
                            "indexExpression": {
                              "id": 4319,
                              "name": "_i",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 4308,
                              "src": "6832:2:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "nodeType": "IndexAccess",
                            "src": "6823:12:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes1",
                              "typeString": "bytes1"
                            }
                          },
                          "src": "6810:25:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes1",
                            "typeString": "bytes1"
                          }
                        },
                        "id": 4322,
                        "nodeType": "ExpressionStatement",
                        "src": "6810:25:18"
                      },
                      {
                        "id": 4326,
                        "nodeType": "UncheckedBlock",
                        "src": "6850:50:18",
                        "statements": [
                          {
                            "expression": {
                              "id": 4324,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "nodeType": "UnaryOperation",
                              "operator": "++",
                              "prefix": false,
                              "src": "6879:5:18",
                              "subExpression": {
                                "id": 4323,
                                "name": "_i",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 4308,
                                "src": "6879:2:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "id": 4325,
                            "nodeType": "ExpressionStatement",
                            "src": "6879:5:18"
                          }
                        ]
                      }
                    ]
                  },
                  "condition": {
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 4314,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "id": 4311,
                      "name": "_i",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 4308,
                      "src": "6774:2:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "<",
                    "rightExpression": {
                      "expression": {
                        "id": 4312,
                        "name": "_bytes",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4299,
                        "src": "6779:6:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      },
                      "id": 4313,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "6786:6:18",
                      "memberName": "length",
                      "nodeType": "MemberAccess",
                      "src": "6779:13:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "6774:18:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 4328,
                  "initializationExpression": {
                    "assignments": [
                      4308
                    ],
                    "declarations": [
                      {
                        "constant": false,
                        "id": 4308,
                        "mutability": "mutable",
                        "name": "_i",
                        "nameLocation": "6766:2:18",
                        "nodeType": "VariableDeclaration",
                        "scope": 4328,
                        "src": "6761:7:18",
                        "stateVariable": false,
                        "storageLocation": "default",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "typeName": {
                          "id": 4307,
                          "name": "uint",
                          "nodeType": "ElementaryTypeName",
                          "src": "6761:4:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "visibility": "internal"
                      }
                    ],
                    "id": 4310,
                    "initialValue": {
                      "hexValue": "30",
                      "id": 4309,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "number",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "6771:1:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_rational_0_by_1",
                        "typeString": "int_const 0"
                      },
                      "value": "0"
                    },
                    "nodeType": "VariableDeclarationStatement",
                    "src": "6761:11:18"
                  },
                  "isSimpleCounterLoop": false,
                  "nodeType": "ForStatement",
                  "src": "6756:155:18"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "id": 4331,
                        "name": "_bytes",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4299,
                        "src": "6935:6:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      ],
                      "id": 4330,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "lValueRequested": false,
                      "nodeType": "ElementaryTypeNameExpression",
                      "src": "6928:6:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_type$_t_string_storage_ptr_$",
                        "typeString": "type(string storage pointer)"
                      },
                      "typeName": {
                        "id": 4329,
                        "name": "string",
                        "nodeType": "ElementaryTypeName",
                        "src": "6928:6:18",
                        "typeDescriptions": {}
                      }
                    },
                    "id": 4332,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "typeConversion",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "6928:14:18",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_memory_ptr",
                      "typeString": "string memory"
                    }
                  },
                  "functionReturnParameters": 4297,
                  "id": 4333,
                  "nodeType": "Return",
                  "src": "6921:21:18"
                }
              ]
            },
            "documentation": {
              "id": 4291,
              "nodeType": "StructuredDocumentation",
              "src": "6539:33:18",
              "text": "Converts bytes32 into string."
            },
            "id": 4335,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "_toString",
            "nameLocation": "6587:9:18",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 4294,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4293,
                  "mutability": "mutable",
                  "name": "_bytes32",
                  "nameLocation": "6605:8:18",
                  "nodeType": "VariableDeclaration",
                  "scope": 4335,
                  "src": "6597:16:18",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 4292,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "6597:7:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "6596:18:18"
            },
            "returnParameters": {
              "id": 4297,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4296,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 4335,
                  "src": "6656:13:18",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 4295,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "6656:6:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "6655:15:18"
            },
            "scope": 4361,
            "src": "6578:372:18",
            "stateMutability": "pure",
            "virtual": false,
            "visibility": "internal"
          },
          {
            "body": {
              "id": 4359,
              "nodeType": "Block",
              "src": "7125:204:18",
              "statements": [
                {
                  "body": {
                    "id": 4357,
                    "nodeType": "Block",
                    "src": "7159:163:18",
                    "statements": [
                      {
                        "condition": {
                          "commonType": {
                            "typeIdentifier": "t_bytes1",
                            "typeString": "bytes1"
                          },
                          "id": 4349,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "baseExpression": {
                              "id": 4345,
                              "name": "_bytes32",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 4337,
                              "src": "7178:8:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            },
                            "id": 4347,
                            "indexExpression": {
                              "id": 4346,
                              "name": "_length",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 4340,
                              "src": "7187:7:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "nodeType": "IndexAccess",
                            "src": "7178:17:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes1",
                              "typeString": "bytes1"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": "==",
                          "rightExpression": {
                            "hexValue": "30",
                            "id": 4348,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "number",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "7199:1:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_rational_0_by_1",
                              "typeString": "int_const 0"
                            },
                            "value": "0"
                          },
                          "src": "7178:22:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "id": 4352,
                        "nodeType": "IfStatement",
                        "src": "7174:68:18",
                        "trueBody": {
                          "id": 4351,
                          "nodeType": "Block",
                          "src": "7202:40:18",
                          "statements": [
                            {
                              "id": 4350,
                              "nodeType": "Break",
                              "src": "7221:5:18"
                            }
                          ]
                        }
                      },
                      {
                        "id": 4356,
                        "nodeType": "UncheckedBlock",
                        "src": "7256:55:18",
                        "statements": [
                          {
                            "expression": {
                              "id": 4354,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "nodeType": "UnaryOperation",
                              "operator": "++",
                              "prefix": false,
                              "src": "7285:10:18",
                              "subExpression": {
                                "id": 4353,
                                "name": "_length",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 4340,
                                "src": "7285:7:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "id": 4355,
                            "nodeType": "ExpressionStatement",
                            "src": "7285:10:18"
                          }
                        ]
                      }
                    ]
                  },
                  "condition": {
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 4344,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "id": 4342,
                      "name": "_length",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 4340,
                      "src": "7143:7:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "<",
                    "rightExpression": {
                      "hexValue": "3332",
                      "id": 4343,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "number",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "7153:2:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_rational_32_by_1",
                        "typeString": "int_const 32"
                      },
                      "value": "32"
                    },
                    "src": "7143:12:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 4358,
                  "isSimpleCounterLoop": false,
                  "nodeType": "ForStatement",
                  "src": "7136:186:18"
                }
              ]
            },
            "id": 4360,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "_toStringLength",
            "nameLocation": "7031:15:18",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 4338,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4337,
                  "mutability": "mutable",
                  "name": "_bytes32",
                  "nameLocation": "7055:8:18",
                  "nodeType": "VariableDeclaration",
                  "scope": 4360,
                  "src": "7047:16:18",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 4336,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "7047:7:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "7046:18:18"
            },
            "returnParameters": {
              "id": 4341,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4340,
                  "mutability": "mutable",
                  "name": "_length",
                  "nameLocation": "7111:7:18",
                  "nodeType": "VariableDeclaration",
                  "scope": 4360,
                  "src": "7106:12:18",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 4339,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "7106:4:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "7105:14:18"
            },
            "scope": 4361,
            "src": "7022:307:18",
            "stateMutability": "pure",
            "virtual": false,
            "visibility": "internal"
          }
        ],
        "scope": 4362,
        "src": "1583:5749:18",
        "usedErrors": [
          16,
          19,
          281,
          286,
          29669,
          29672,
          29675,
          29678,
          29681,
          29684,
          29687,
          29690,
          29693,
          29696,
          40752,
          42702,
          42708
        ],
        "usedEvents": [
          24,
          292,
          28015,
          28034,
          28044,
          28061,
          28074,
          29710,
          45361,
          45638,
          45853
        ]
      }
    ],
    "src": "33:7301:18"
  },
  "compiler": {
    "name": "solc",
    "version": "0.8.30+commit.73712a01.Emscripten.clang"
  },
  "networks": {
    "11142220": {
      "events": {},
      "links": {
        "WitPriceFeedsDataLib": "0x705E076F3387cFd59708D8D8508CECe3e1C65C87"
      },
      "address": "0x5484018D12F7d726df439Ae66B72b9BD0e143E6d"
    },
    "11155111": {
      "events": {},
      "links": {
        "WitPriceFeedsDataLib": "0x9C3b7240ed85b3B88952D1e1d4DD108F85756E8d"
      },
      "address": "0xA4b96ef00244a99661851594Bd672B5D343c2Da4"
    }
  },
  "schemaVersion": "3.4.16",
  "updatedAt": "2025-10-15T14:34:45.394Z",
  "devdoc": {
    "author": "Guillermo Díaz <guillermo@witnet.io>",
    "errors": {
      "DeviantPrice()": [
        {
          "details": "Signature: 0x7b0d2bb5"
        }
      ],
      "HotPrice()": [
        {
          "details": "Signature: 0x0fbbc581"
        }
      ],
      "InvalidArgument()": [
        {
          "details": "Signature: 0xa9cb9e0d"
        }
      ],
      "InvalidInitialization()": [
        {
          "details": "The contract is already initialized."
        }
      ],
      "InvalidUpdateData()": [
        {
          "details": "Signature: 0xe69ffece"
        }
      ],
      "InvalidUpdateDataSource()": [
        {
          "details": "Signature: 0xe60dce71"
        }
      ],
      "NoFreshUpdate()": [
        {
          "details": "Signature: 0xde2c57fa"
        }
      ],
      "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."
        }
      ],
      "PriceFeedNotFound()": [
        {
          "details": "Signature: 0x14aebe68"
        }
      ],
      "PriceFeedNotFoundWithinRange()": [
        {
          "details": "Signature: 0x45805f5d"
        }
      ],
      "StalePrice()": [
        {
          "details": "Signature: 0x19abf40e"
        }
      ]
    },
    "events": {
      "Initialized(uint64)": {
        "details": "Triggered when the contract has been initialized or reinitialized."
      },
      "PriceFeedUpdate(bytes32,uint64,int64,uint64)": {
        "details": "Emitted when the price feed with `id` has received a fresh update.",
        "params": {
          "id": "The Pyth Price Feed ID.",
          "price": "Price of the given price update.",
          "publishTime": "Publish time of the given price update."
        }
      },
      "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": {
      "clone(address)": {
        "params": {
          "_curator": "Address that will have rights to manage price feeds on the new light-proxy clone."
        }
      },
      "codehash()": {
        "details": "Retrieves the immutable codehash of this contract, even if invoked as delegatecall."
      },
      "consumer()": {
        "details": "If zero, new price updates will not be reported to any other external address.The consumer contract must implement the `IWitPriceFeedsConsumer` interface, and accept this instance as source of truth.It can only be settled by a curator on cloned instances.It can only be settled by a curator, only on cloned instances."
      },
      "createChainlinkAggregator(string)": {
        "details": "Reverts if symbol is not supported."
      },
      "getEmaPrice(bytes32)": {
        "details": "Reverts if the EMA price is not available, or if the price feeds is settled with a heartbeat and the price was not recently updated.",
        "params": {
          "_id": "The Price Feed ID of which to fetch the EMA price."
        }
      },
      "getEmaPriceNotOlderThan(bytes32,uint64)": {
        "details": "This function is a sanity-checked version of `getEmaPriceUnsafe` which is useful in applications that require a sufficiently-recent price. Reverts if the price wasn't updated sufficiently recently."
      },
      "getEmaPriceUnsafe(bytes32)": {
        "details": "This function returns the same price as `getEmaPrice` in the case where the price is available. However, if the price is not recent this function returns the latest available price. The returned price can be from arbitrarily far in the past; this function makes no guarantees that the returned price is recent or useful for any particular application. Users of this function should check the `timestamp` in the price to ensure that the returned price is sufficiently recent for their application. If you are considering using this function, it may be safer / easier to use either `getEmaPrice` or `getEmaPriceNoOlderThan`."
      },
      "getPrice(bytes32)": {
        "details": "Reverts if the price has not been updated within the last `heartbeatSecs`. ",
        "params": {
          "_id": "The Price Feed ID of which to fetch the price."
        }
      },
      "getPrice(bytes4)": {
        "details": "Reverts if: - `StalePrice()`: the price feed has not been updated within the last `UpdateConditions.heartbeatSecs`, - `DeviantPrice()`: a deviation greater than `UpdateConditions.maxDeviation1000` was detected upon last update attempt. - `InvalidGovernanceTarget()`: no EMA is curretly settled to be computed for this price feed.",
        "params": {
          "_id4": "Unique ID4 identifier of a price feed supported by this contract."
        }
      },
      "getPriceNotOlderThan(bytes32,uint64)": {
        "details": "This function is a sanity-checked version of `getPriceUnsafe` which is useful in applications that require a sufficiently-recent price.  Reverts if the price wasn't updated sufficiently recently."
      },
      "getPriceNotOlderThan(bytes4,uint24)": {
        "details": "Reverts if: - `StalePrice()`: the price feed has not been updated within the last `_age` seconds, ",
        "params": {
          "_age": "Maximum age of acceptable price value.",
          "_id4": "Unique ID4 identifier of a price feed supported by this contract."
        }
      },
      "getPriceUnsafe(bytes32)": {
        "details": "This function returns the most recent price update in this contract without any recency checks. This function is unsafe as the returned price update may be arbitrarily far in the past.  Users of this function should check the `timestamp` in the price to ensure that the returned price is sufficiently recent for their application. If you are considering using this function, it may be safer / easier to use either `getPrice` or `getPriceNoOlderThan`."
      },
      "getPriceUnsafe(bytes4)": {
        "params": {
          "_id4": "Unique ID4 identifier of a price feed supported by this contract."
        }
      },
      "initialize(bytes)": {
        "details": "Must fail when trying to upgrade to same logic contract more than once."
      },
      "isUpgradable()": {
        "details": "Determines whether the logic of this contract is potentially upgradable."
      },
      "renounceOwnership()": {
        "details": "Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner."
      },
      "version()": {
        "details": "Retrieves human-redable named version of current implementation."
      }
    },
    "stateVariables": {
      "proxiableUUID": {
        "details": "Gets immutable \"heritage blood line\" (ie. genotype) as a Proxiable, and eventually Upgradeable, contract.      If implemented as an Upgradeable touch, upgrading this contract to another one with a different       `proxiableUUID()` value should fail."
      }
    },
    "title": "WitPriceFeedsUpgradableV3: On-demand Price Feeds registry for EVM-compatible L1/L2 chains,  natively powered by the Wit/Oracle blockchain, but yet capable of aggregating price  updates from other on-chain price-feed oracles too, if required.  Price feeds purely relying on the Wit/Oracle present some advantanges, though: - Anyone can permissionless pull and report price updates on-chain. - Updating the price requires paying no extra \"update fees\". - Prices can be extracted from independent and highly reputed exchanges and data providers. - Actual data sources for each price feed can be introspected on-chain. - Data source traceability in the Wit/Oracle blockchain is possible for every single price update. Instances of this contract may also provide support for \"routed price feeds\" (computed as the  product or mean average of up to other 8 different price feeds), as well as \"cascade price feeds\"  (where multiple oracles could be used as backup when preferred ones don't manage to provide  fresh enough updates for whatever reason). Also, this contract allows simple plug-and-play integration from  smart contracts, dapps and DeFi projects currently adapted to operate with other price feed solutions, like Chainlink, or Pyth. ",
    "version": 1
  },
  "userdoc": {
    "errors": {
      "DeviantPrice()": [
        {
          "notice": "Requested price deviated too much after previous update."
        }
      ],
      "HotPrice()": [
        {
          "notice": "Attempting to update a price before cooldown period expires."
        }
      ],
      "InvalidArgument()": [
        {
          "notice": "Function arguments are invalid (e.g., the arguments lengths mismatch)"
        }
      ],
      "InvalidGovernanceTarget()": [
        {
          "notice": "Either the number of witnesses that solved a price update is not within the settled range in this contract, or an EMA is being asked for a price feed that's not settled for the EMA to be computed. "
        }
      ],
      "InvalidUpdateData()": [
        {
          "notice": "Update data is invalid (e.g. badly serialized, or bad proof was provided)."
        }
      ],
      "InvalidUpdateDataSource()": [
        {
          "notice": "Update data is coming from an invalid Wit/Oracle Radon Hash."
        }
      ],
      "NoFreshUpdate()": [
        {
          "notice": "There is no fresh update, whereas expected fresh updates."
        }
      ],
      "PriceFeedNotFound()": [
        {
          "notice": "Price feed not found or it is not pushed on-chain yet."
        }
      ],
      "PriceFeedNotFoundWithinRange()": [
        {
          "notice": "There is no price feed found within the given range or it does not exist."
        }
      ],
      "StalePrice()": [
        {
          "notice": "Requested price is stale."
        }
      ]
    },
    "events": {
      "PriceFeedMapper(address,bytes4,string,int8,uint8,string[])": {
        "notice": "Emitted when a new routed price feed gets settled."
      },
      "PriceFeedOracle(address,bytes4,string,int8,uint8,address,bytes32)": {
        "notice": "Emitted when a new oraclized price feed gets settled."
      },
      "PriceFeedRemoved(address,bytes4,string)": {
        "notice": "Emitted when a price feeds gets removed from the list of supported price feeds."
      },
      "PriceFeedUpdateConditions(address,bytes4,string,(uint24,bool,uint24,uint24,uint16,uint16))": {
        "notice": "Emitted when the update conditions of some existing price feed get altered."
      },
      "Upgraded(address,address,bytes32,string)": {
        "notice": "Emitted every time the contract gets upgraded."
      }
    },
    "kind": "user",
    "methods": {
      "acceptOwnership()": {
        "notice": "=============================================================================================================== --- IWitPriceFeedsAdmin ---------------------------------------------------------------------------------------"
      },
      "base()": {
        "notice": "=============================================================================================================== --- Clonable --------------------------------------------------------------------------------------------------"
      },
      "class()": {
        "notice": "Returns the name of the actual contract implementing the logic of this Witnet appliance."
      },
      "clone(address)": {
        "notice": "Creates a light-proxy clone to the `base()` contract address, to be owned by the specified `curator` address.  Curators of cloned contracts can optionally settle one single `IWitPriceFeedConsumer` consuming contract.  The consuming contract, if settled, will be immediately reported every time a new Witnet-certified price update gets pushed into the cloned instance. Either way, price feeds data will be stored in the `WitPriceFeeds` storage. "
      },
      "cloned()": {
        "notice": "Tells whether this contract is a clone of `self()`"
      },
      "consumer()": {
        "notice": "Returns the consumer address where all price updates will be reported to."
      },
      "createChainlinkAggregator(string)": {
        "notice": "Creates a Chainlink Aggregator proxy to the specified symbol."
      },
      "defaultUpdateConditions()": {
        "notice": "Default update conditions that apply to brand new price feeds."
      },
      "footprint()": {
        "notice": "Returns a unique hash determined by the combination of data sources being used by  supported non-routed price feeds, and dependencies of all supported routed  price feeds. The footprint changes if any price feed is modified, added, removed  or if the dependency tree of any routed price feed is altered."
      },
      "getEmaPrice(bytes32)": {
        "notice": "Returns the exponentially-weighted moving average price."
      },
      "getEmaPriceNotOlderThan(bytes32,uint64)": {
        "notice": "Returns the exponentially-weighted moving average price that is no older than `_age` seconds of the current time."
      },
      "getEmaPriceUnsafe(bytes32)": {
        "notice": "Returns the exponentially-weighted moving average price of a price feed without any sanity checks."
      },
      "getPrice(bytes32)": {
        "notice": "Returns the price of given price feed."
      },
      "getPrice(bytes4)": {
        "notice": "Returns last update price for the specified ID4 price feed. Note: This function is sanity-checked version of `getPriceUnsafe` which is useful in applications and smart contracts that require recentl updated price, and no hint of market deviation being currently excessive. "
      },
      "getPriceNotOlderThan(bytes32,uint64)": {
        "notice": "Returns the price that is no older than `_age` seconds of the current time."
      },
      "getPriceNotOlderThan(bytes4,uint24)": {
        "notice": "Returns last known price if no older than `_age` seconds of the current time. Note: This function is a sanity-checked version of `getPriceUnsafe` which is useful in applications and smart contracts that require last known non-deviant price, last updated within specified time range."
      },
      "getPriceUnsafe(bytes32)": {
        "notice": "Returns the price of a price feed without any sanity checks."
      },
      "getPriceUnsafe(bytes4)": {
        "notice": "Returns last updated price without any sanity checks. Note: This function is unsafe as the returned price update may be arbitrarily far in the past. Users of this function should check the `timestamp` of each price feed to ensure that the returned values  are sufficiently recent for their application. If you need safe access to fresh data, please consider using calling to either `getPrice` or `getPriceNoOlderThan` variants. "
      },
      "getUpdateFee(bytes)": {
        "notice": "Legacy-compliant to get the required fee to update an array of price updates, which would be always 0 if relying from the Wit/Oracle framework."
      },
      "hash(string)": {
        "notice": "Determines unique ID for specified `symbol` string."
      },
      "initialize(bytes)": {
        "notice": "Re-initialize contract's storage context upon a new upgrade from a proxy."
      },
      "initialized()": {
        "notice": "=============================================================================================================== --- Clonable --------------------------------------------------------------------------------------------------"
      },
      "isUpgradableFrom(address)": {
        "notice": "Tells whether provided address could eventually upgrade the contract."
      },
      "lookupPriceFeeds()": {
        "notice": "Returns last known price updates and deviations for all supported price feeds without any sanity checks.    "
      },
      "pushDataReport((bytes32,bytes32,(uint16,uint16,uint64),uint64,bytes),bytes)": {
        "notice": "=============================================================================================================== --- IWitOracleConsumer ----------------------------------------------------------------------------------------"
      },
      "specs()": {
        "notice": "Returns the ERC-165 id of the minimal functionality expected for this appliance."
      },
      "valueFor(bytes32)": {
        "notice": "=============================================================================================================== --- IERC2362 --------------------------------------------------------------------------------------------------"
      },
      "witOracle()": {
        "notice": "The Wit/Oracle core address accepted as source of truth."
      }
    },
    "version": 1
  }
}