{
  "contractName": "IUniswapV2Pair",
  "abi": [
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "owner",
          "type": "address"
        },
        {
          "indexed": true,
          "internalType": "address",
          "name": "spender",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "value",
          "type": "uint256"
        }
      ],
      "name": "Approval",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "sender",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "amount0",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "amount1",
          "type": "uint256"
        },
        {
          "indexed": true,
          "internalType": "address",
          "name": "to",
          "type": "address"
        }
      ],
      "name": "Burn",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "sender",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "amount0",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "amount1",
          "type": "uint256"
        }
      ],
      "name": "Mint",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "sender",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "amount0In",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "amount1In",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "amount0Out",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "amount1Out",
          "type": "uint256"
        },
        {
          "indexed": true,
          "internalType": "address",
          "name": "to",
          "type": "address"
        }
      ],
      "name": "Swap",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "uint112",
          "name": "reserve0",
          "type": "uint112"
        },
        {
          "indexed": false,
          "internalType": "uint112",
          "name": "reserve1",
          "type": "uint112"
        }
      ],
      "name": "Sync",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "from",
          "type": "address"
        },
        {
          "indexed": true,
          "internalType": "address",
          "name": "to",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "value",
          "type": "uint256"
        }
      ],
      "name": "Transfer",
      "type": "event"
    },
    {
      "inputs": [],
      "name": "name",
      "outputs": [
        {
          "internalType": "string",
          "name": "",
          "type": "string"
        }
      ],
      "stateMutability": "pure",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "symbol",
      "outputs": [
        {
          "internalType": "string",
          "name": "",
          "type": "string"
        }
      ],
      "stateMutability": "pure",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "decimals",
      "outputs": [
        {
          "internalType": "uint8",
          "name": "",
          "type": "uint8"
        }
      ],
      "stateMutability": "pure",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "totalSupply",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "owner",
          "type": "address"
        }
      ],
      "name": "balanceOf",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "owner",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "spender",
          "type": "address"
        }
      ],
      "name": "allowance",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "spender",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "value",
          "type": "uint256"
        }
      ],
      "name": "approve",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "to",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "value",
          "type": "uint256"
        }
      ],
      "name": "transfer",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "from",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "to",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "value",
          "type": "uint256"
        }
      ],
      "name": "transferFrom",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "DOMAIN_SEPARATOR",
      "outputs": [
        {
          "internalType": "bytes32",
          "name": "",
          "type": "bytes32"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "PERMIT_TYPEHASH",
      "outputs": [
        {
          "internalType": "bytes32",
          "name": "",
          "type": "bytes32"
        }
      ],
      "stateMutability": "pure",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "owner",
          "type": "address"
        }
      ],
      "name": "nonces",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "owner",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "spender",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "value",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "deadline",
          "type": "uint256"
        },
        {
          "internalType": "uint8",
          "name": "v",
          "type": "uint8"
        },
        {
          "internalType": "bytes32",
          "name": "r",
          "type": "bytes32"
        },
        {
          "internalType": "bytes32",
          "name": "s",
          "type": "bytes32"
        }
      ],
      "name": "permit",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "MINIMUM_LIQUIDITY",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "pure",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "factory",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "token0",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "token1",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "getReserves",
      "outputs": [
        {
          "internalType": "uint112",
          "name": "reserve0",
          "type": "uint112"
        },
        {
          "internalType": "uint112",
          "name": "reserve1",
          "type": "uint112"
        },
        {
          "internalType": "uint32",
          "name": "blockTimestampLast",
          "type": "uint32"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "price0CumulativeLast",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "price1CumulativeLast",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "kLast",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "to",
          "type": "address"
        }
      ],
      "name": "mint",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "liquidity",
          "type": "uint256"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "to",
          "type": "address"
        }
      ],
      "name": "burn",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "amount0",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "amount1",
          "type": "uint256"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "amount0Out",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "amount1Out",
          "type": "uint256"
        },
        {
          "internalType": "address",
          "name": "to",
          "type": "address"
        },
        {
          "internalType": "bytes",
          "name": "data",
          "type": "bytes"
        }
      ],
      "name": "swap",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "to",
          "type": "address"
        }
      ],
      "name": "skim",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "sync",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "name": "initialize",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    }
  ],
  "metadata": "{\"compiler\":{\"version\":\"0.6.8+commit.0bbfe453\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount0\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount1\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"}],\"name\":\"Burn\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount0\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount1\",\"type\":\"uint256\"}],\"name\":\"Mint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount0In\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount1In\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount0Out\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount1Out\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"}],\"name\":\"Swap\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint112\",\"name\":\"reserve0\",\"type\":\"uint112\"},{\"indexed\":false,\"internalType\":\"uint112\",\"name\":\"reserve1\",\"type\":\"uint112\"}],\"name\":\"Sync\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"DOMAIN_SEPARATOR\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"MINIMUM_LIQUIDITY\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"PERMIT_TYPEHASH\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"}],\"name\":\"burn\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amount0\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amount1\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"factory\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getReserves\",\"outputs\":[{\"internalType\":\"uint112\",\"name\":\"reserve0\",\"type\":\"uint112\"},{\"internalType\":\"uint112\",\"name\":\"reserve1\",\"type\":\"uint112\"},{\"internalType\":\"uint32\",\"name\":\"blockTimestampLast\",\"type\":\"uint32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"kLast\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"}],\"name\":\"mint\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"liquidity\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"nonces\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"name\":\"permit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"price0CumulativeLast\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"price1CumulativeLast\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"}],\"name\":\"skim\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount0Out\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amount1Out\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"swap\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"sync\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"token0\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"token1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"methods\":{}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"project:/contracts/interfaces/uniswap/IUniswapV2Pair.sol\":\"IUniswapV2Pair\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":10000},\"remappings\":[]},\"sources\":{\"project:/contracts/interfaces/uniswap/IUniswapV2Pair.sol\":{\"keccak256\":\"0xe89bf881b5677223429ad431a0e9b4028fedae3b10bc6e1581daa0b8a8a8b9b0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://83939573d0b85183a7c5fa6406581e396a5d9ad30758ba776294a0b33fa7a8e5\",\"dweb:/ipfs/QmQci9HzqXcMTSHDBjp9ZEVUfwcJdHaE63Pzafux7Vp61Y\"]}},\"version\":1}",
  "bytecode": "0x",
  "deployedBytecode": "0x",
  "immutableReferences": {},
  "sourceMap": "",
  "deployedSourceMap": "",
  "source": "// SPDX-License-Identifier: MIT\npragma solidity 0.6.8;\n\ninterface IUniswapV2Pair {\n    event Approval(address indexed owner, address indexed spender, uint value);\n    event Transfer(address indexed from, address indexed to, uint value);\n\n    function name() external pure returns (string memory);\n    function symbol() external pure returns (string memory);\n    function decimals() external pure returns (uint8);\n    function totalSupply() external view returns (uint);\n    function balanceOf(address owner) external view returns (uint);\n    function allowance(address owner, address spender) external view returns (uint);\n\n    function approve(address spender, uint value) external returns (bool);\n    function transfer(address to, uint value) external returns (bool);\n    function transferFrom(address from, address to, uint value) external returns (bool);\n\n    function DOMAIN_SEPARATOR() external view returns (bytes32);\n    function PERMIT_TYPEHASH() external pure returns (bytes32);\n    function nonces(address owner) external view returns (uint);\n\n    function permit(address owner, address spender, uint value, uint deadline, uint8 v, bytes32 r, bytes32 s) external;\n\n    event Mint(address indexed sender, uint amount0, uint amount1);\n    event Burn(address indexed sender, uint amount0, uint amount1, address indexed to);\n    event Swap(\n        address indexed sender,\n        uint amount0In,\n        uint amount1In,\n        uint amount0Out,\n        uint amount1Out,\n        address indexed to\n    );\n    event Sync(uint112 reserve0, uint112 reserve1);\n\n    function MINIMUM_LIQUIDITY() external pure returns (uint);\n    function factory() external view returns (address);\n    function token0() external view returns (address);\n    function token1() external view returns (address);\n    function getReserves() external view returns (uint112 reserve0, uint112 reserve1, uint32 blockTimestampLast);\n    function price0CumulativeLast() external view returns (uint);\n    function price1CumulativeLast() external view returns (uint);\n    function kLast() external view returns (uint);\n\n    function mint(address to) external returns (uint liquidity);\n    function burn(address to) external returns (uint amount0, uint amount1);\n    function swap(uint amount0Out, uint amount1Out, address to, bytes calldata data) external;\n    function skim(address to) external;\n    function sync() external;\n\n    function initialize(address, address) external;\n}\n",
  "sourcePath": "/home/thezviad_gmail_com/src/swappa/contracts/interfaces/uniswap/IUniswapV2Pair.sol",
  "ast": {
    "absolutePath": "project:/contracts/interfaces/uniswap/IUniswapV2Pair.sol",
    "exportedSymbols": {
      "IUniswapV2Pair": [
        2705
      ]
    },
    "id": 2706,
    "license": "MIT",
    "nodeType": "SourceUnit",
    "nodes": [
      {
        "id": 2465,
        "literals": [
          "solidity",
          "0.6",
          ".8"
        ],
        "nodeType": "PragmaDirective",
        "src": "32:22:28"
      },
      {
        "abstract": false,
        "baseContracts": [],
        "contractDependencies": [],
        "contractKind": "interface",
        "documentation": null,
        "fullyImplemented": false,
        "id": 2705,
        "linearizedBaseContracts": [
          2705
        ],
        "name": "IUniswapV2Pair",
        "nodeType": "ContractDefinition",
        "nodes": [
          {
            "anonymous": false,
            "documentation": null,
            "id": 2473,
            "name": "Approval",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 2472,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 2467,
                  "indexed": true,
                  "mutability": "mutable",
                  "name": "owner",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 2473,
                  "src": "102:21:28",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 2466,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "102:7:28",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 2469,
                  "indexed": true,
                  "mutability": "mutable",
                  "name": "spender",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 2473,
                  "src": "125:23:28",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 2468,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "125:7:28",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 2471,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "value",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 2473,
                  "src": "150:10:28",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 2470,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "150:4:28",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "101:60:28"
            },
            "src": "87:75:28"
          },
          {
            "anonymous": false,
            "documentation": null,
            "id": 2481,
            "name": "Transfer",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 2480,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 2475,
                  "indexed": true,
                  "mutability": "mutable",
                  "name": "from",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 2481,
                  "src": "182:20:28",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 2474,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "182:7:28",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 2477,
                  "indexed": true,
                  "mutability": "mutable",
                  "name": "to",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 2481,
                  "src": "204:18:28",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 2476,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "204:7:28",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 2479,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "value",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 2481,
                  "src": "224:10:28",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 2478,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "224:4:28",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "181:54:28"
            },
            "src": "167:69:28"
          },
          {
            "body": null,
            "documentation": null,
            "functionSelector": "06fdde03",
            "id": 2486,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "name",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 2482,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "255:2:28"
            },
            "returnParameters": {
              "id": 2485,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 2484,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 2486,
                  "src": "281:13:28",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 2483,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "281:6:28",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "280:15:28"
            },
            "scope": 2705,
            "src": "242:54:28",
            "stateMutability": "pure",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "functionSelector": "95d89b41",
            "id": 2491,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "symbol",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 2487,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "316:2:28"
            },
            "returnParameters": {
              "id": 2490,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 2489,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 2491,
                  "src": "342:13:28",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 2488,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "342:6:28",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "341:15:28"
            },
            "scope": 2705,
            "src": "301:56:28",
            "stateMutability": "pure",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "functionSelector": "313ce567",
            "id": 2496,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "decimals",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 2492,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "379:2:28"
            },
            "returnParameters": {
              "id": 2495,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 2494,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 2496,
                  "src": "405:5:28",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint8",
                    "typeString": "uint8"
                  },
                  "typeName": {
                    "id": 2493,
                    "name": "uint8",
                    "nodeType": "ElementaryTypeName",
                    "src": "405:5:28",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint8",
                      "typeString": "uint8"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "404:7:28"
            },
            "scope": 2705,
            "src": "362:50:28",
            "stateMutability": "pure",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "functionSelector": "18160ddd",
            "id": 2501,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "totalSupply",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 2497,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "437:2:28"
            },
            "returnParameters": {
              "id": 2500,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 2499,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 2501,
                  "src": "463:4:28",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 2498,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "463:4:28",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "462:6:28"
            },
            "scope": 2705,
            "src": "417:52:28",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "functionSelector": "70a08231",
            "id": 2508,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "balanceOf",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 2504,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 2503,
                  "mutability": "mutable",
                  "name": "owner",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 2508,
                  "src": "493:13:28",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 2502,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "493:7:28",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "492:15:28"
            },
            "returnParameters": {
              "id": 2507,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 2506,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 2508,
                  "src": "531:4:28",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 2505,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "531:4:28",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "530:6:28"
            },
            "scope": 2705,
            "src": "474:63:28",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "functionSelector": "dd62ed3e",
            "id": 2517,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "allowance",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 2513,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 2510,
                  "mutability": "mutable",
                  "name": "owner",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 2517,
                  "src": "561:13:28",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 2509,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "561:7:28",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 2512,
                  "mutability": "mutable",
                  "name": "spender",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 2517,
                  "src": "576:15:28",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 2511,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "576:7:28",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "560:32:28"
            },
            "returnParameters": {
              "id": 2516,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 2515,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 2517,
                  "src": "616:4:28",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 2514,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "616:4:28",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "615:6:28"
            },
            "scope": 2705,
            "src": "542:80:28",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "functionSelector": "095ea7b3",
            "id": 2526,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "approve",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 2522,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 2519,
                  "mutability": "mutable",
                  "name": "spender",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 2526,
                  "src": "645:15:28",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 2518,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "645:7:28",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 2521,
                  "mutability": "mutable",
                  "name": "value",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 2526,
                  "src": "662:10:28",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 2520,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "662:4:28",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "644:29:28"
            },
            "returnParameters": {
              "id": 2525,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 2524,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 2526,
                  "src": "692:4:28",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 2523,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "692:4:28",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "691:6:28"
            },
            "scope": 2705,
            "src": "628:70:28",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "functionSelector": "a9059cbb",
            "id": 2535,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "transfer",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 2531,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 2528,
                  "mutability": "mutable",
                  "name": "to",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 2535,
                  "src": "721:10:28",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 2527,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "721:7:28",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 2530,
                  "mutability": "mutable",
                  "name": "value",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 2535,
                  "src": "733:10:28",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 2529,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "733:4:28",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "720:24:28"
            },
            "returnParameters": {
              "id": 2534,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 2533,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 2535,
                  "src": "763:4:28",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 2532,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "763:4:28",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "762:6:28"
            },
            "scope": 2705,
            "src": "703:66:28",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "functionSelector": "23b872dd",
            "id": 2546,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "transferFrom",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 2542,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 2537,
                  "mutability": "mutable",
                  "name": "from",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 2546,
                  "src": "796:12:28",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 2536,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "796:7:28",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 2539,
                  "mutability": "mutable",
                  "name": "to",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 2546,
                  "src": "810:10:28",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 2538,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "810:7:28",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 2541,
                  "mutability": "mutable",
                  "name": "value",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 2546,
                  "src": "822:10:28",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 2540,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "822:4:28",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "795:38:28"
            },
            "returnParameters": {
              "id": 2545,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 2544,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 2546,
                  "src": "852:4:28",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 2543,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "852:4:28",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "851:6:28"
            },
            "scope": 2705,
            "src": "774:84:28",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "functionSelector": "3644e515",
            "id": 2551,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "DOMAIN_SEPARATOR",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 2547,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "889:2:28"
            },
            "returnParameters": {
              "id": 2550,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 2549,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 2551,
                  "src": "915:7:28",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 2548,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "915:7:28",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "914:9:28"
            },
            "scope": 2705,
            "src": "864:60:28",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "functionSelector": "30adf81f",
            "id": 2556,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "PERMIT_TYPEHASH",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 2552,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "953:2:28"
            },
            "returnParameters": {
              "id": 2555,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 2554,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 2556,
                  "src": "979:7:28",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 2553,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "979:7:28",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "978:9:28"
            },
            "scope": 2705,
            "src": "929:59:28",
            "stateMutability": "pure",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "functionSelector": "7ecebe00",
            "id": 2563,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "nonces",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 2559,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 2558,
                  "mutability": "mutable",
                  "name": "owner",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 2563,
                  "src": "1009:13:28",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 2557,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1009:7:28",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1008:15:28"
            },
            "returnParameters": {
              "id": 2562,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 2561,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 2563,
                  "src": "1047:4:28",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 2560,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "1047:4:28",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1046:6:28"
            },
            "scope": 2705,
            "src": "993:60:28",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "functionSelector": "d505accf",
            "id": 2580,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "permit",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 2578,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 2565,
                  "mutability": "mutable",
                  "name": "owner",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 2580,
                  "src": "1075:13:28",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 2564,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1075:7:28",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 2567,
                  "mutability": "mutable",
                  "name": "spender",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 2580,
                  "src": "1090:15:28",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 2566,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1090:7:28",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 2569,
                  "mutability": "mutable",
                  "name": "value",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 2580,
                  "src": "1107:10:28",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 2568,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "1107:4:28",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 2571,
                  "mutability": "mutable",
                  "name": "deadline",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 2580,
                  "src": "1119:13:28",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 2570,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "1119:4:28",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 2573,
                  "mutability": "mutable",
                  "name": "v",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 2580,
                  "src": "1134:7:28",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint8",
                    "typeString": "uint8"
                  },
                  "typeName": {
                    "id": 2572,
                    "name": "uint8",
                    "nodeType": "ElementaryTypeName",
                    "src": "1134:5:28",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint8",
                      "typeString": "uint8"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 2575,
                  "mutability": "mutable",
                  "name": "r",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 2580,
                  "src": "1143:9:28",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 2574,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "1143:7:28",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 2577,
                  "mutability": "mutable",
                  "name": "s",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 2580,
                  "src": "1154:9:28",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 2576,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "1154:7:28",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1074:90:28"
            },
            "returnParameters": {
              "id": 2579,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1173:0:28"
            },
            "scope": 2705,
            "src": "1059:115:28",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "anonymous": false,
            "documentation": null,
            "id": 2588,
            "name": "Mint",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 2587,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 2582,
                  "indexed": true,
                  "mutability": "mutable",
                  "name": "sender",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 2588,
                  "src": "1191:22:28",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 2581,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1191:7:28",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 2584,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "amount0",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 2588,
                  "src": "1215:12:28",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 2583,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "1215:4:28",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 2586,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "amount1",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 2588,
                  "src": "1229:12:28",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 2585,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "1229:4:28",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1190:52:28"
            },
            "src": "1180:63:28"
          },
          {
            "anonymous": false,
            "documentation": null,
            "id": 2598,
            "name": "Burn",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 2597,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 2590,
                  "indexed": true,
                  "mutability": "mutable",
                  "name": "sender",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 2598,
                  "src": "1259:22:28",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 2589,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1259:7:28",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 2592,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "amount0",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 2598,
                  "src": "1283:12:28",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 2591,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "1283:4:28",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 2594,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "amount1",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 2598,
                  "src": "1297:12:28",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 2593,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "1297:4:28",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 2596,
                  "indexed": true,
                  "mutability": "mutable",
                  "name": "to",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 2598,
                  "src": "1311:18:28",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 2595,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1311:7:28",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1258:72:28"
            },
            "src": "1248:83:28"
          },
          {
            "anonymous": false,
            "documentation": null,
            "id": 2612,
            "name": "Swap",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 2611,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 2600,
                  "indexed": true,
                  "mutability": "mutable",
                  "name": "sender",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 2612,
                  "src": "1356:22:28",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 2599,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1356:7:28",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 2602,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "amount0In",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 2612,
                  "src": "1388:14:28",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 2601,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "1388:4:28",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 2604,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "amount1In",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 2612,
                  "src": "1412:14:28",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 2603,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "1412:4:28",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 2606,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "amount0Out",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 2612,
                  "src": "1436:15:28",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 2605,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "1436:4:28",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 2608,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "amount1Out",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 2612,
                  "src": "1461:15:28",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 2607,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "1461:4:28",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 2610,
                  "indexed": true,
                  "mutability": "mutable",
                  "name": "to",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 2612,
                  "src": "1486:18:28",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 2609,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1486:7:28",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1346:164:28"
            },
            "src": "1336:175:28"
          },
          {
            "anonymous": false,
            "documentation": null,
            "id": 2618,
            "name": "Sync",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 2617,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 2614,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "reserve0",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 2618,
                  "src": "1527:16:28",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint112",
                    "typeString": "uint112"
                  },
                  "typeName": {
                    "id": 2613,
                    "name": "uint112",
                    "nodeType": "ElementaryTypeName",
                    "src": "1527:7:28",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint112",
                      "typeString": "uint112"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 2616,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "reserve1",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 2618,
                  "src": "1545:16:28",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint112",
                    "typeString": "uint112"
                  },
                  "typeName": {
                    "id": 2615,
                    "name": "uint112",
                    "nodeType": "ElementaryTypeName",
                    "src": "1545:7:28",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint112",
                      "typeString": "uint112"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1526:36:28"
            },
            "src": "1516:47:28"
          },
          {
            "body": null,
            "documentation": null,
            "functionSelector": "ba9a7a56",
            "id": 2623,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "MINIMUM_LIQUIDITY",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 2619,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1595:2:28"
            },
            "returnParameters": {
              "id": 2622,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 2621,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 2623,
                  "src": "1621:4:28",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 2620,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "1621:4:28",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1620:6:28"
            },
            "scope": 2705,
            "src": "1569:58:28",
            "stateMutability": "pure",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "functionSelector": "c45a0155",
            "id": 2628,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "factory",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 2624,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1648:2:28"
            },
            "returnParameters": {
              "id": 2627,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 2626,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 2628,
                  "src": "1674:7:28",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 2625,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1674:7:28",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1673:9:28"
            },
            "scope": 2705,
            "src": "1632:51:28",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "functionSelector": "0dfe1681",
            "id": 2633,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "token0",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 2629,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1703:2:28"
            },
            "returnParameters": {
              "id": 2632,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 2631,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 2633,
                  "src": "1729:7:28",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 2630,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1729:7:28",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1728:9:28"
            },
            "scope": 2705,
            "src": "1688:50:28",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "functionSelector": "d21220a7",
            "id": 2638,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "token1",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 2634,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1758:2:28"
            },
            "returnParameters": {
              "id": 2637,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 2636,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 2638,
                  "src": "1784:7:28",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 2635,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1784:7:28",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1783:9:28"
            },
            "scope": 2705,
            "src": "1743:50:28",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "functionSelector": "0902f1ac",
            "id": 2647,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "getReserves",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 2639,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1818:2:28"
            },
            "returnParameters": {
              "id": 2646,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 2641,
                  "mutability": "mutable",
                  "name": "reserve0",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 2647,
                  "src": "1844:16:28",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint112",
                    "typeString": "uint112"
                  },
                  "typeName": {
                    "id": 2640,
                    "name": "uint112",
                    "nodeType": "ElementaryTypeName",
                    "src": "1844:7:28",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint112",
                      "typeString": "uint112"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 2643,
                  "mutability": "mutable",
                  "name": "reserve1",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 2647,
                  "src": "1862:16:28",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint112",
                    "typeString": "uint112"
                  },
                  "typeName": {
                    "id": 2642,
                    "name": "uint112",
                    "nodeType": "ElementaryTypeName",
                    "src": "1862:7:28",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint112",
                      "typeString": "uint112"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 2645,
                  "mutability": "mutable",
                  "name": "blockTimestampLast",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 2647,
                  "src": "1880:25:28",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint32",
                    "typeString": "uint32"
                  },
                  "typeName": {
                    "id": 2644,
                    "name": "uint32",
                    "nodeType": "ElementaryTypeName",
                    "src": "1880:6:28",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint32",
                      "typeString": "uint32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1843:63:28"
            },
            "scope": 2705,
            "src": "1798:109:28",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "functionSelector": "5909c0d5",
            "id": 2652,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "price0CumulativeLast",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 2648,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1941:2:28"
            },
            "returnParameters": {
              "id": 2651,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 2650,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 2652,
                  "src": "1967:4:28",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 2649,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "1967:4:28",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1966:6:28"
            },
            "scope": 2705,
            "src": "1912:61:28",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "functionSelector": "5a3d5493",
            "id": 2657,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "price1CumulativeLast",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 2653,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "2007:2:28"
            },
            "returnParameters": {
              "id": 2656,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 2655,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 2657,
                  "src": "2033:4:28",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 2654,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "2033:4:28",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2032:6:28"
            },
            "scope": 2705,
            "src": "1978:61:28",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "functionSelector": "7464fc3d",
            "id": 2662,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "kLast",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 2658,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "2058:2:28"
            },
            "returnParameters": {
              "id": 2661,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 2660,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 2662,
                  "src": "2084:4:28",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 2659,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "2084:4:28",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2083:6:28"
            },
            "scope": 2705,
            "src": "2044:46:28",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "functionSelector": "6a627842",
            "id": 2669,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "mint",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 2665,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 2664,
                  "mutability": "mutable",
                  "name": "to",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 2669,
                  "src": "2110:10:28",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 2663,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "2110:7:28",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2109:12:28"
            },
            "returnParameters": {
              "id": 2668,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 2667,
                  "mutability": "mutable",
                  "name": "liquidity",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 2669,
                  "src": "2140:14:28",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 2666,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "2140:4:28",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2139:16:28"
            },
            "scope": 2705,
            "src": "2096:60:28",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "functionSelector": "89afcb44",
            "id": 2678,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "burn",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 2672,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 2671,
                  "mutability": "mutable",
                  "name": "to",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 2678,
                  "src": "2175:10:28",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 2670,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "2175:7:28",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2174:12:28"
            },
            "returnParameters": {
              "id": 2677,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 2674,
                  "mutability": "mutable",
                  "name": "amount0",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 2678,
                  "src": "2205:12:28",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 2673,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "2205:4:28",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 2676,
                  "mutability": "mutable",
                  "name": "amount1",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 2678,
                  "src": "2219:12:28",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 2675,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "2219:4:28",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2204:28:28"
            },
            "scope": 2705,
            "src": "2161:72:28",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "functionSelector": "022c0d9f",
            "id": 2689,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "swap",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 2687,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 2680,
                  "mutability": "mutable",
                  "name": "amount0Out",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 2689,
                  "src": "2252:15:28",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 2679,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "2252:4:28",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 2682,
                  "mutability": "mutable",
                  "name": "amount1Out",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 2689,
                  "src": "2269:15:28",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 2681,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "2269:4:28",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 2684,
                  "mutability": "mutable",
                  "name": "to",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 2689,
                  "src": "2286:10:28",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 2683,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "2286:7:28",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 2686,
                  "mutability": "mutable",
                  "name": "data",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 2689,
                  "src": "2298:19:28",
                  "stateVariable": false,
                  "storageLocation": "calldata",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_calldata_ptr",
                    "typeString": "bytes"
                  },
                  "typeName": {
                    "id": 2685,
                    "name": "bytes",
                    "nodeType": "ElementaryTypeName",
                    "src": "2298:5:28",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_storage_ptr",
                      "typeString": "bytes"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2251:67:28"
            },
            "returnParameters": {
              "id": 2688,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "2327:0:28"
            },
            "scope": 2705,
            "src": "2238:90:28",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "functionSelector": "bc25cf77",
            "id": 2694,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "skim",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 2692,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 2691,
                  "mutability": "mutable",
                  "name": "to",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 2694,
                  "src": "2347:10:28",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 2690,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "2347:7:28",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2346:12:28"
            },
            "returnParameters": {
              "id": 2693,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "2367:0:28"
            },
            "scope": 2705,
            "src": "2333:35:28",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "functionSelector": "fff6cae9",
            "id": 2697,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "sync",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 2695,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "2386:2:28"
            },
            "returnParameters": {
              "id": 2696,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "2397:0:28"
            },
            "scope": 2705,
            "src": "2373:25:28",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "functionSelector": "485cc955",
            "id": 2704,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "initialize",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 2702,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 2699,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 2704,
                  "src": "2424:7:28",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 2698,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "2424:7:28",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 2701,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 2704,
                  "src": "2433:7:28",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 2700,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "2433:7:28",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2423:18:28"
            },
            "returnParameters": {
              "id": 2703,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "2450:0:28"
            },
            "scope": 2705,
            "src": "2404:47:28",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          }
        ],
        "scope": 2706,
        "src": "56:2397:28"
      }
    ],
    "src": "32:2422:28"
  },
  "legacyAST": {
    "attributes": {
      "absolutePath": "project:/contracts/interfaces/uniswap/IUniswapV2Pair.sol",
      "exportedSymbols": {
        "IUniswapV2Pair": [
          2705
        ]
      },
      "license": "MIT"
    },
    "children": [
      {
        "attributes": {
          "literals": [
            "solidity",
            "0.6",
            ".8"
          ]
        },
        "id": 2465,
        "name": "PragmaDirective",
        "src": "32:22:28"
      },
      {
        "attributes": {
          "abstract": false,
          "baseContracts": [
            null
          ],
          "contractDependencies": [
            null
          ],
          "contractKind": "interface",
          "documentation": null,
          "fullyImplemented": false,
          "linearizedBaseContracts": [
            2705
          ],
          "name": "IUniswapV2Pair",
          "scope": 2706
        },
        "children": [
          {
            "attributes": {
              "anonymous": false,
              "documentation": null,
              "name": "Approval"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "indexed": true,
                      "mutability": "mutable",
                      "name": "owner",
                      "overrides": null,
                      "scope": 2473,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "stateMutability": "nonpayable",
                          "type": "address"
                        },
                        "id": 2466,
                        "name": "ElementaryTypeName",
                        "src": "102:7:28"
                      }
                    ],
                    "id": 2467,
                    "name": "VariableDeclaration",
                    "src": "102:21:28"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "indexed": true,
                      "mutability": "mutable",
                      "name": "spender",
                      "overrides": null,
                      "scope": 2473,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "stateMutability": "nonpayable",
                          "type": "address"
                        },
                        "id": 2468,
                        "name": "ElementaryTypeName",
                        "src": "125:7:28"
                      }
                    ],
                    "id": 2469,
                    "name": "VariableDeclaration",
                    "src": "125:23:28"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "indexed": false,
                      "mutability": "mutable",
                      "name": "value",
                      "overrides": null,
                      "scope": 2473,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint",
                          "type": "uint256"
                        },
                        "id": 2470,
                        "name": "ElementaryTypeName",
                        "src": "150:4:28"
                      }
                    ],
                    "id": 2471,
                    "name": "VariableDeclaration",
                    "src": "150:10:28"
                  }
                ],
                "id": 2472,
                "name": "ParameterList",
                "src": "101:60:28"
              }
            ],
            "id": 2473,
            "name": "EventDefinition",
            "src": "87:75:28"
          },
          {
            "attributes": {
              "anonymous": false,
              "documentation": null,
              "name": "Transfer"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "indexed": true,
                      "mutability": "mutable",
                      "name": "from",
                      "overrides": null,
                      "scope": 2481,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "stateMutability": "nonpayable",
                          "type": "address"
                        },
                        "id": 2474,
                        "name": "ElementaryTypeName",
                        "src": "182:7:28"
                      }
                    ],
                    "id": 2475,
                    "name": "VariableDeclaration",
                    "src": "182:20:28"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "indexed": true,
                      "mutability": "mutable",
                      "name": "to",
                      "overrides": null,
                      "scope": 2481,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "stateMutability": "nonpayable",
                          "type": "address"
                        },
                        "id": 2476,
                        "name": "ElementaryTypeName",
                        "src": "204:7:28"
                      }
                    ],
                    "id": 2477,
                    "name": "VariableDeclaration",
                    "src": "204:18:28"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "indexed": false,
                      "mutability": "mutable",
                      "name": "value",
                      "overrides": null,
                      "scope": 2481,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint",
                          "type": "uint256"
                        },
                        "id": 2478,
                        "name": "ElementaryTypeName",
                        "src": "224:4:28"
                      }
                    ],
                    "id": 2479,
                    "name": "VariableDeclaration",
                    "src": "224:10:28"
                  }
                ],
                "id": 2480,
                "name": "ParameterList",
                "src": "181:54:28"
              }
            ],
            "id": 2481,
            "name": "EventDefinition",
            "src": "167:69:28"
          },
          {
            "attributes": {
              "body": null,
              "documentation": null,
              "functionSelector": "06fdde03",
              "implemented": false,
              "isConstructor": false,
              "kind": "function",
              "modifiers": [
                null
              ],
              "name": "name",
              "overrides": null,
              "scope": 2705,
              "stateMutability": "pure",
              "virtual": false,
              "visibility": "external"
            },
            "children": [
              {
                "attributes": {
                  "parameters": [
                    null
                  ]
                },
                "children": [],
                "id": 2482,
                "name": "ParameterList",
                "src": "255:2:28"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "mutability": "mutable",
                      "name": "",
                      "overrides": null,
                      "scope": 2486,
                      "stateVariable": false,
                      "storageLocation": "memory",
                      "type": "string",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "string",
                          "type": "string"
                        },
                        "id": 2483,
                        "name": "ElementaryTypeName",
                        "src": "281:6:28"
                      }
                    ],
                    "id": 2484,
                    "name": "VariableDeclaration",
                    "src": "281:13:28"
                  }
                ],
                "id": 2485,
                "name": "ParameterList",
                "src": "280:15:28"
              }
            ],
            "id": 2486,
            "name": "FunctionDefinition",
            "src": "242:54:28"
          },
          {
            "attributes": {
              "body": null,
              "documentation": null,
              "functionSelector": "95d89b41",
              "implemented": false,
              "isConstructor": false,
              "kind": "function",
              "modifiers": [
                null
              ],
              "name": "symbol",
              "overrides": null,
              "scope": 2705,
              "stateMutability": "pure",
              "virtual": false,
              "visibility": "external"
            },
            "children": [
              {
                "attributes": {
                  "parameters": [
                    null
                  ]
                },
                "children": [],
                "id": 2487,
                "name": "ParameterList",
                "src": "316:2:28"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "mutability": "mutable",
                      "name": "",
                      "overrides": null,
                      "scope": 2491,
                      "stateVariable": false,
                      "storageLocation": "memory",
                      "type": "string",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "string",
                          "type": "string"
                        },
                        "id": 2488,
                        "name": "ElementaryTypeName",
                        "src": "342:6:28"
                      }
                    ],
                    "id": 2489,
                    "name": "VariableDeclaration",
                    "src": "342:13:28"
                  }
                ],
                "id": 2490,
                "name": "ParameterList",
                "src": "341:15:28"
              }
            ],
            "id": 2491,
            "name": "FunctionDefinition",
            "src": "301:56:28"
          },
          {
            "attributes": {
              "body": null,
              "documentation": null,
              "functionSelector": "313ce567",
              "implemented": false,
              "isConstructor": false,
              "kind": "function",
              "modifiers": [
                null
              ],
              "name": "decimals",
              "overrides": null,
              "scope": 2705,
              "stateMutability": "pure",
              "virtual": false,
              "visibility": "external"
            },
            "children": [
              {
                "attributes": {
                  "parameters": [
                    null
                  ]
                },
                "children": [],
                "id": 2492,
                "name": "ParameterList",
                "src": "379:2:28"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "mutability": "mutable",
                      "name": "",
                      "overrides": null,
                      "scope": 2496,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint8",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint8",
                          "type": "uint8"
                        },
                        "id": 2493,
                        "name": "ElementaryTypeName",
                        "src": "405:5:28"
                      }
                    ],
                    "id": 2494,
                    "name": "VariableDeclaration",
                    "src": "405:5:28"
                  }
                ],
                "id": 2495,
                "name": "ParameterList",
                "src": "404:7:28"
              }
            ],
            "id": 2496,
            "name": "FunctionDefinition",
            "src": "362:50:28"
          },
          {
            "attributes": {
              "body": null,
              "documentation": null,
              "functionSelector": "18160ddd",
              "implemented": false,
              "isConstructor": false,
              "kind": "function",
              "modifiers": [
                null
              ],
              "name": "totalSupply",
              "overrides": null,
              "scope": 2705,
              "stateMutability": "view",
              "virtual": false,
              "visibility": "external"
            },
            "children": [
              {
                "attributes": {
                  "parameters": [
                    null
                  ]
                },
                "children": [],
                "id": 2497,
                "name": "ParameterList",
                "src": "437:2:28"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "mutability": "mutable",
                      "name": "",
                      "overrides": null,
                      "scope": 2501,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint",
                          "type": "uint256"
                        },
                        "id": 2498,
                        "name": "ElementaryTypeName",
                        "src": "463:4:28"
                      }
                    ],
                    "id": 2499,
                    "name": "VariableDeclaration",
                    "src": "463:4:28"
                  }
                ],
                "id": 2500,
                "name": "ParameterList",
                "src": "462:6:28"
              }
            ],
            "id": 2501,
            "name": "FunctionDefinition",
            "src": "417:52:28"
          },
          {
            "attributes": {
              "body": null,
              "documentation": null,
              "functionSelector": "70a08231",
              "implemented": false,
              "isConstructor": false,
              "kind": "function",
              "modifiers": [
                null
              ],
              "name": "balanceOf",
              "overrides": null,
              "scope": 2705,
              "stateMutability": "view",
              "virtual": false,
              "visibility": "external"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "mutability": "mutable",
                      "name": "owner",
                      "overrides": null,
                      "scope": 2508,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "stateMutability": "nonpayable",
                          "type": "address"
                        },
                        "id": 2502,
                        "name": "ElementaryTypeName",
                        "src": "493:7:28"
                      }
                    ],
                    "id": 2503,
                    "name": "VariableDeclaration",
                    "src": "493:13:28"
                  }
                ],
                "id": 2504,
                "name": "ParameterList",
                "src": "492:15:28"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "mutability": "mutable",
                      "name": "",
                      "overrides": null,
                      "scope": 2508,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint",
                          "type": "uint256"
                        },
                        "id": 2505,
                        "name": "ElementaryTypeName",
                        "src": "531:4:28"
                      }
                    ],
                    "id": 2506,
                    "name": "VariableDeclaration",
                    "src": "531:4:28"
                  }
                ],
                "id": 2507,
                "name": "ParameterList",
                "src": "530:6:28"
              }
            ],
            "id": 2508,
            "name": "FunctionDefinition",
            "src": "474:63:28"
          },
          {
            "attributes": {
              "body": null,
              "documentation": null,
              "functionSelector": "dd62ed3e",
              "implemented": false,
              "isConstructor": false,
              "kind": "function",
              "modifiers": [
                null
              ],
              "name": "allowance",
              "overrides": null,
              "scope": 2705,
              "stateMutability": "view",
              "virtual": false,
              "visibility": "external"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "mutability": "mutable",
                      "name": "owner",
                      "overrides": null,
                      "scope": 2517,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "stateMutability": "nonpayable",
                          "type": "address"
                        },
                        "id": 2509,
                        "name": "ElementaryTypeName",
                        "src": "561:7:28"
                      }
                    ],
                    "id": 2510,
                    "name": "VariableDeclaration",
                    "src": "561:13:28"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "mutability": "mutable",
                      "name": "spender",
                      "overrides": null,
                      "scope": 2517,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "stateMutability": "nonpayable",
                          "type": "address"
                        },
                        "id": 2511,
                        "name": "ElementaryTypeName",
                        "src": "576:7:28"
                      }
                    ],
                    "id": 2512,
                    "name": "VariableDeclaration",
                    "src": "576:15:28"
                  }
                ],
                "id": 2513,
                "name": "ParameterList",
                "src": "560:32:28"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "mutability": "mutable",
                      "name": "",
                      "overrides": null,
                      "scope": 2517,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint",
                          "type": "uint256"
                        },
                        "id": 2514,
                        "name": "ElementaryTypeName",
                        "src": "616:4:28"
                      }
                    ],
                    "id": 2515,
                    "name": "VariableDeclaration",
                    "src": "616:4:28"
                  }
                ],
                "id": 2516,
                "name": "ParameterList",
                "src": "615:6:28"
              }
            ],
            "id": 2517,
            "name": "FunctionDefinition",
            "src": "542:80:28"
          },
          {
            "attributes": {
              "body": null,
              "documentation": null,
              "functionSelector": "095ea7b3",
              "implemented": false,
              "isConstructor": false,
              "kind": "function",
              "modifiers": [
                null
              ],
              "name": "approve",
              "overrides": null,
              "scope": 2705,
              "stateMutability": "nonpayable",
              "virtual": false,
              "visibility": "external"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "mutability": "mutable",
                      "name": "spender",
                      "overrides": null,
                      "scope": 2526,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "stateMutability": "nonpayable",
                          "type": "address"
                        },
                        "id": 2518,
                        "name": "ElementaryTypeName",
                        "src": "645:7:28"
                      }
                    ],
                    "id": 2519,
                    "name": "VariableDeclaration",
                    "src": "645:15:28"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "mutability": "mutable",
                      "name": "value",
                      "overrides": null,
                      "scope": 2526,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint",
                          "type": "uint256"
                        },
                        "id": 2520,
                        "name": "ElementaryTypeName",
                        "src": "662:4:28"
                      }
                    ],
                    "id": 2521,
                    "name": "VariableDeclaration",
                    "src": "662:10:28"
                  }
                ],
                "id": 2522,
                "name": "ParameterList",
                "src": "644:29:28"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "mutability": "mutable",
                      "name": "",
                      "overrides": null,
                      "scope": 2526,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bool",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bool",
                          "type": "bool"
                        },
                        "id": 2523,
                        "name": "ElementaryTypeName",
                        "src": "692:4:28"
                      }
                    ],
                    "id": 2524,
                    "name": "VariableDeclaration",
                    "src": "692:4:28"
                  }
                ],
                "id": 2525,
                "name": "ParameterList",
                "src": "691:6:28"
              }
            ],
            "id": 2526,
            "name": "FunctionDefinition",
            "src": "628:70:28"
          },
          {
            "attributes": {
              "body": null,
              "documentation": null,
              "functionSelector": "a9059cbb",
              "implemented": false,
              "isConstructor": false,
              "kind": "function",
              "modifiers": [
                null
              ],
              "name": "transfer",
              "overrides": null,
              "scope": 2705,
              "stateMutability": "nonpayable",
              "virtual": false,
              "visibility": "external"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "mutability": "mutable",
                      "name": "to",
                      "overrides": null,
                      "scope": 2535,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "stateMutability": "nonpayable",
                          "type": "address"
                        },
                        "id": 2527,
                        "name": "ElementaryTypeName",
                        "src": "721:7:28"
                      }
                    ],
                    "id": 2528,
                    "name": "VariableDeclaration",
                    "src": "721:10:28"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "mutability": "mutable",
                      "name": "value",
                      "overrides": null,
                      "scope": 2535,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint",
                          "type": "uint256"
                        },
                        "id": 2529,
                        "name": "ElementaryTypeName",
                        "src": "733:4:28"
                      }
                    ],
                    "id": 2530,
                    "name": "VariableDeclaration",
                    "src": "733:10:28"
                  }
                ],
                "id": 2531,
                "name": "ParameterList",
                "src": "720:24:28"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "mutability": "mutable",
                      "name": "",
                      "overrides": null,
                      "scope": 2535,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bool",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bool",
                          "type": "bool"
                        },
                        "id": 2532,
                        "name": "ElementaryTypeName",
                        "src": "763:4:28"
                      }
                    ],
                    "id": 2533,
                    "name": "VariableDeclaration",
                    "src": "763:4:28"
                  }
                ],
                "id": 2534,
                "name": "ParameterList",
                "src": "762:6:28"
              }
            ],
            "id": 2535,
            "name": "FunctionDefinition",
            "src": "703:66:28"
          },
          {
            "attributes": {
              "body": null,
              "documentation": null,
              "functionSelector": "23b872dd",
              "implemented": false,
              "isConstructor": false,
              "kind": "function",
              "modifiers": [
                null
              ],
              "name": "transferFrom",
              "overrides": null,
              "scope": 2705,
              "stateMutability": "nonpayable",
              "virtual": false,
              "visibility": "external"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "mutability": "mutable",
                      "name": "from",
                      "overrides": null,
                      "scope": 2546,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "stateMutability": "nonpayable",
                          "type": "address"
                        },
                        "id": 2536,
                        "name": "ElementaryTypeName",
                        "src": "796:7:28"
                      }
                    ],
                    "id": 2537,
                    "name": "VariableDeclaration",
                    "src": "796:12:28"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "mutability": "mutable",
                      "name": "to",
                      "overrides": null,
                      "scope": 2546,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "stateMutability": "nonpayable",
                          "type": "address"
                        },
                        "id": 2538,
                        "name": "ElementaryTypeName",
                        "src": "810:7:28"
                      }
                    ],
                    "id": 2539,
                    "name": "VariableDeclaration",
                    "src": "810:10:28"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "mutability": "mutable",
                      "name": "value",
                      "overrides": null,
                      "scope": 2546,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint",
                          "type": "uint256"
                        },
                        "id": 2540,
                        "name": "ElementaryTypeName",
                        "src": "822:4:28"
                      }
                    ],
                    "id": 2541,
                    "name": "VariableDeclaration",
                    "src": "822:10:28"
                  }
                ],
                "id": 2542,
                "name": "ParameterList",
                "src": "795:38:28"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "mutability": "mutable",
                      "name": "",
                      "overrides": null,
                      "scope": 2546,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bool",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bool",
                          "type": "bool"
                        },
                        "id": 2543,
                        "name": "ElementaryTypeName",
                        "src": "852:4:28"
                      }
                    ],
                    "id": 2544,
                    "name": "VariableDeclaration",
                    "src": "852:4:28"
                  }
                ],
                "id": 2545,
                "name": "ParameterList",
                "src": "851:6:28"
              }
            ],
            "id": 2546,
            "name": "FunctionDefinition",
            "src": "774:84:28"
          },
          {
            "attributes": {
              "body": null,
              "documentation": null,
              "functionSelector": "3644e515",
              "implemented": false,
              "isConstructor": false,
              "kind": "function",
              "modifiers": [
                null
              ],
              "name": "DOMAIN_SEPARATOR",
              "overrides": null,
              "scope": 2705,
              "stateMutability": "view",
              "virtual": false,
              "visibility": "external"
            },
            "children": [
              {
                "attributes": {
                  "parameters": [
                    null
                  ]
                },
                "children": [],
                "id": 2547,
                "name": "ParameterList",
                "src": "889:2:28"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "mutability": "mutable",
                      "name": "",
                      "overrides": null,
                      "scope": 2551,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bytes32",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bytes32",
                          "type": "bytes32"
                        },
                        "id": 2548,
                        "name": "ElementaryTypeName",
                        "src": "915:7:28"
                      }
                    ],
                    "id": 2549,
                    "name": "VariableDeclaration",
                    "src": "915:7:28"
                  }
                ],
                "id": 2550,
                "name": "ParameterList",
                "src": "914:9:28"
              }
            ],
            "id": 2551,
            "name": "FunctionDefinition",
            "src": "864:60:28"
          },
          {
            "attributes": {
              "body": null,
              "documentation": null,
              "functionSelector": "30adf81f",
              "implemented": false,
              "isConstructor": false,
              "kind": "function",
              "modifiers": [
                null
              ],
              "name": "PERMIT_TYPEHASH",
              "overrides": null,
              "scope": 2705,
              "stateMutability": "pure",
              "virtual": false,
              "visibility": "external"
            },
            "children": [
              {
                "attributes": {
                  "parameters": [
                    null
                  ]
                },
                "children": [],
                "id": 2552,
                "name": "ParameterList",
                "src": "953:2:28"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "mutability": "mutable",
                      "name": "",
                      "overrides": null,
                      "scope": 2556,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bytes32",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bytes32",
                          "type": "bytes32"
                        },
                        "id": 2553,
                        "name": "ElementaryTypeName",
                        "src": "979:7:28"
                      }
                    ],
                    "id": 2554,
                    "name": "VariableDeclaration",
                    "src": "979:7:28"
                  }
                ],
                "id": 2555,
                "name": "ParameterList",
                "src": "978:9:28"
              }
            ],
            "id": 2556,
            "name": "FunctionDefinition",
            "src": "929:59:28"
          },
          {
            "attributes": {
              "body": null,
              "documentation": null,
              "functionSelector": "7ecebe00",
              "implemented": false,
              "isConstructor": false,
              "kind": "function",
              "modifiers": [
                null
              ],
              "name": "nonces",
              "overrides": null,
              "scope": 2705,
              "stateMutability": "view",
              "virtual": false,
              "visibility": "external"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "mutability": "mutable",
                      "name": "owner",
                      "overrides": null,
                      "scope": 2563,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "stateMutability": "nonpayable",
                          "type": "address"
                        },
                        "id": 2557,
                        "name": "ElementaryTypeName",
                        "src": "1009:7:28"
                      }
                    ],
                    "id": 2558,
                    "name": "VariableDeclaration",
                    "src": "1009:13:28"
                  }
                ],
                "id": 2559,
                "name": "ParameterList",
                "src": "1008:15:28"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "mutability": "mutable",
                      "name": "",
                      "overrides": null,
                      "scope": 2563,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint",
                          "type": "uint256"
                        },
                        "id": 2560,
                        "name": "ElementaryTypeName",
                        "src": "1047:4:28"
                      }
                    ],
                    "id": 2561,
                    "name": "VariableDeclaration",
                    "src": "1047:4:28"
                  }
                ],
                "id": 2562,
                "name": "ParameterList",
                "src": "1046:6:28"
              }
            ],
            "id": 2563,
            "name": "FunctionDefinition",
            "src": "993:60:28"
          },
          {
            "attributes": {
              "body": null,
              "documentation": null,
              "functionSelector": "d505accf",
              "implemented": false,
              "isConstructor": false,
              "kind": "function",
              "modifiers": [
                null
              ],
              "name": "permit",
              "overrides": null,
              "scope": 2705,
              "stateMutability": "nonpayable",
              "virtual": false,
              "visibility": "external"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "mutability": "mutable",
                      "name": "owner",
                      "overrides": null,
                      "scope": 2580,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "stateMutability": "nonpayable",
                          "type": "address"
                        },
                        "id": 2564,
                        "name": "ElementaryTypeName",
                        "src": "1075:7:28"
                      }
                    ],
                    "id": 2565,
                    "name": "VariableDeclaration",
                    "src": "1075:13:28"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "mutability": "mutable",
                      "name": "spender",
                      "overrides": null,
                      "scope": 2580,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "stateMutability": "nonpayable",
                          "type": "address"
                        },
                        "id": 2566,
                        "name": "ElementaryTypeName",
                        "src": "1090:7:28"
                      }
                    ],
                    "id": 2567,
                    "name": "VariableDeclaration",
                    "src": "1090:15:28"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "mutability": "mutable",
                      "name": "value",
                      "overrides": null,
                      "scope": 2580,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint",
                          "type": "uint256"
                        },
                        "id": 2568,
                        "name": "ElementaryTypeName",
                        "src": "1107:4:28"
                      }
                    ],
                    "id": 2569,
                    "name": "VariableDeclaration",
                    "src": "1107:10:28"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "mutability": "mutable",
                      "name": "deadline",
                      "overrides": null,
                      "scope": 2580,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint",
                          "type": "uint256"
                        },
                        "id": 2570,
                        "name": "ElementaryTypeName",
                        "src": "1119:4:28"
                      }
                    ],
                    "id": 2571,
                    "name": "VariableDeclaration",
                    "src": "1119:13:28"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "mutability": "mutable",
                      "name": "v",
                      "overrides": null,
                      "scope": 2580,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint8",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint8",
                          "type": "uint8"
                        },
                        "id": 2572,
                        "name": "ElementaryTypeName",
                        "src": "1134:5:28"
                      }
                    ],
                    "id": 2573,
                    "name": "VariableDeclaration",
                    "src": "1134:7:28"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "mutability": "mutable",
                      "name": "r",
                      "overrides": null,
                      "scope": 2580,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bytes32",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bytes32",
                          "type": "bytes32"
                        },
                        "id": 2574,
                        "name": "ElementaryTypeName",
                        "src": "1143:7:28"
                      }
                    ],
                    "id": 2575,
                    "name": "VariableDeclaration",
                    "src": "1143:9:28"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "mutability": "mutable",
                      "name": "s",
                      "overrides": null,
                      "scope": 2580,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bytes32",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bytes32",
                          "type": "bytes32"
                        },
                        "id": 2576,
                        "name": "ElementaryTypeName",
                        "src": "1154:7:28"
                      }
                    ],
                    "id": 2577,
                    "name": "VariableDeclaration",
                    "src": "1154:9:28"
                  }
                ],
                "id": 2578,
                "name": "ParameterList",
                "src": "1074:90:28"
              },
              {
                "attributes": {
                  "parameters": [
                    null
                  ]
                },
                "children": [],
                "id": 2579,
                "name": "ParameterList",
                "src": "1173:0:28"
              }
            ],
            "id": 2580,
            "name": "FunctionDefinition",
            "src": "1059:115:28"
          },
          {
            "attributes": {
              "anonymous": false,
              "documentation": null,
              "name": "Mint"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "indexed": true,
                      "mutability": "mutable",
                      "name": "sender",
                      "overrides": null,
                      "scope": 2588,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "stateMutability": "nonpayable",
                          "type": "address"
                        },
                        "id": 2581,
                        "name": "ElementaryTypeName",
                        "src": "1191:7:28"
                      }
                    ],
                    "id": 2582,
                    "name": "VariableDeclaration",
                    "src": "1191:22:28"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "indexed": false,
                      "mutability": "mutable",
                      "name": "amount0",
                      "overrides": null,
                      "scope": 2588,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint",
                          "type": "uint256"
                        },
                        "id": 2583,
                        "name": "ElementaryTypeName",
                        "src": "1215:4:28"
                      }
                    ],
                    "id": 2584,
                    "name": "VariableDeclaration",
                    "src": "1215:12:28"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "indexed": false,
                      "mutability": "mutable",
                      "name": "amount1",
                      "overrides": null,
                      "scope": 2588,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint",
                          "type": "uint256"
                        },
                        "id": 2585,
                        "name": "ElementaryTypeName",
                        "src": "1229:4:28"
                      }
                    ],
                    "id": 2586,
                    "name": "VariableDeclaration",
                    "src": "1229:12:28"
                  }
                ],
                "id": 2587,
                "name": "ParameterList",
                "src": "1190:52:28"
              }
            ],
            "id": 2588,
            "name": "EventDefinition",
            "src": "1180:63:28"
          },
          {
            "attributes": {
              "anonymous": false,
              "documentation": null,
              "name": "Burn"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "indexed": true,
                      "mutability": "mutable",
                      "name": "sender",
                      "overrides": null,
                      "scope": 2598,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "stateMutability": "nonpayable",
                          "type": "address"
                        },
                        "id": 2589,
                        "name": "ElementaryTypeName",
                        "src": "1259:7:28"
                      }
                    ],
                    "id": 2590,
                    "name": "VariableDeclaration",
                    "src": "1259:22:28"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "indexed": false,
                      "mutability": "mutable",
                      "name": "amount0",
                      "overrides": null,
                      "scope": 2598,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint",
                          "type": "uint256"
                        },
                        "id": 2591,
                        "name": "ElementaryTypeName",
                        "src": "1283:4:28"
                      }
                    ],
                    "id": 2592,
                    "name": "VariableDeclaration",
                    "src": "1283:12:28"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "indexed": false,
                      "mutability": "mutable",
                      "name": "amount1",
                      "overrides": null,
                      "scope": 2598,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint",
                          "type": "uint256"
                        },
                        "id": 2593,
                        "name": "ElementaryTypeName",
                        "src": "1297:4:28"
                      }
                    ],
                    "id": 2594,
                    "name": "VariableDeclaration",
                    "src": "1297:12:28"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "indexed": true,
                      "mutability": "mutable",
                      "name": "to",
                      "overrides": null,
                      "scope": 2598,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "stateMutability": "nonpayable",
                          "type": "address"
                        },
                        "id": 2595,
                        "name": "ElementaryTypeName",
                        "src": "1311:7:28"
                      }
                    ],
                    "id": 2596,
                    "name": "VariableDeclaration",
                    "src": "1311:18:28"
                  }
                ],
                "id": 2597,
                "name": "ParameterList",
                "src": "1258:72:28"
              }
            ],
            "id": 2598,
            "name": "EventDefinition",
            "src": "1248:83:28"
          },
          {
            "attributes": {
              "anonymous": false,
              "documentation": null,
              "name": "Swap"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "indexed": true,
                      "mutability": "mutable",
                      "name": "sender",
                      "overrides": null,
                      "scope": 2612,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "stateMutability": "nonpayable",
                          "type": "address"
                        },
                        "id": 2599,
                        "name": "ElementaryTypeName",
                        "src": "1356:7:28"
                      }
                    ],
                    "id": 2600,
                    "name": "VariableDeclaration",
                    "src": "1356:22:28"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "indexed": false,
                      "mutability": "mutable",
                      "name": "amount0In",
                      "overrides": null,
                      "scope": 2612,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint",
                          "type": "uint256"
                        },
                        "id": 2601,
                        "name": "ElementaryTypeName",
                        "src": "1388:4:28"
                      }
                    ],
                    "id": 2602,
                    "name": "VariableDeclaration",
                    "src": "1388:14:28"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "indexed": false,
                      "mutability": "mutable",
                      "name": "amount1In",
                      "overrides": null,
                      "scope": 2612,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint",
                          "type": "uint256"
                        },
                        "id": 2603,
                        "name": "ElementaryTypeName",
                        "src": "1412:4:28"
                      }
                    ],
                    "id": 2604,
                    "name": "VariableDeclaration",
                    "src": "1412:14:28"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "indexed": false,
                      "mutability": "mutable",
                      "name": "amount0Out",
                      "overrides": null,
                      "scope": 2612,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint",
                          "type": "uint256"
                        },
                        "id": 2605,
                        "name": "ElementaryTypeName",
                        "src": "1436:4:28"
                      }
                    ],
                    "id": 2606,
                    "name": "VariableDeclaration",
                    "src": "1436:15:28"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "indexed": false,
                      "mutability": "mutable",
                      "name": "amount1Out",
                      "overrides": null,
                      "scope": 2612,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint",
                          "type": "uint256"
                        },
                        "id": 2607,
                        "name": "ElementaryTypeName",
                        "src": "1461:4:28"
                      }
                    ],
                    "id": 2608,
                    "name": "VariableDeclaration",
                    "src": "1461:15:28"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "indexed": true,
                      "mutability": "mutable",
                      "name": "to",
                      "overrides": null,
                      "scope": 2612,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "stateMutability": "nonpayable",
                          "type": "address"
                        },
                        "id": 2609,
                        "name": "ElementaryTypeName",
                        "src": "1486:7:28"
                      }
                    ],
                    "id": 2610,
                    "name": "VariableDeclaration",
                    "src": "1486:18:28"
                  }
                ],
                "id": 2611,
                "name": "ParameterList",
                "src": "1346:164:28"
              }
            ],
            "id": 2612,
            "name": "EventDefinition",
            "src": "1336:175:28"
          },
          {
            "attributes": {
              "anonymous": false,
              "documentation": null,
              "name": "Sync"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "indexed": false,
                      "mutability": "mutable",
                      "name": "reserve0",
                      "overrides": null,
                      "scope": 2618,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint112",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint112",
                          "type": "uint112"
                        },
                        "id": 2613,
                        "name": "ElementaryTypeName",
                        "src": "1527:7:28"
                      }
                    ],
                    "id": 2614,
                    "name": "VariableDeclaration",
                    "src": "1527:16:28"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "indexed": false,
                      "mutability": "mutable",
                      "name": "reserve1",
                      "overrides": null,
                      "scope": 2618,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint112",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint112",
                          "type": "uint112"
                        },
                        "id": 2615,
                        "name": "ElementaryTypeName",
                        "src": "1545:7:28"
                      }
                    ],
                    "id": 2616,
                    "name": "VariableDeclaration",
                    "src": "1545:16:28"
                  }
                ],
                "id": 2617,
                "name": "ParameterList",
                "src": "1526:36:28"
              }
            ],
            "id": 2618,
            "name": "EventDefinition",
            "src": "1516:47:28"
          },
          {
            "attributes": {
              "body": null,
              "documentation": null,
              "functionSelector": "ba9a7a56",
              "implemented": false,
              "isConstructor": false,
              "kind": "function",
              "modifiers": [
                null
              ],
              "name": "MINIMUM_LIQUIDITY",
              "overrides": null,
              "scope": 2705,
              "stateMutability": "pure",
              "virtual": false,
              "visibility": "external"
            },
            "children": [
              {
                "attributes": {
                  "parameters": [
                    null
                  ]
                },
                "children": [],
                "id": 2619,
                "name": "ParameterList",
                "src": "1595:2:28"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "mutability": "mutable",
                      "name": "",
                      "overrides": null,
                      "scope": 2623,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint",
                          "type": "uint256"
                        },
                        "id": 2620,
                        "name": "ElementaryTypeName",
                        "src": "1621:4:28"
                      }
                    ],
                    "id": 2621,
                    "name": "VariableDeclaration",
                    "src": "1621:4:28"
                  }
                ],
                "id": 2622,
                "name": "ParameterList",
                "src": "1620:6:28"
              }
            ],
            "id": 2623,
            "name": "FunctionDefinition",
            "src": "1569:58:28"
          },
          {
            "attributes": {
              "body": null,
              "documentation": null,
              "functionSelector": "c45a0155",
              "implemented": false,
              "isConstructor": false,
              "kind": "function",
              "modifiers": [
                null
              ],
              "name": "factory",
              "overrides": null,
              "scope": 2705,
              "stateMutability": "view",
              "virtual": false,
              "visibility": "external"
            },
            "children": [
              {
                "attributes": {
                  "parameters": [
                    null
                  ]
                },
                "children": [],
                "id": 2624,
                "name": "ParameterList",
                "src": "1648:2:28"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "mutability": "mutable",
                      "name": "",
                      "overrides": null,
                      "scope": 2628,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "stateMutability": "nonpayable",
                          "type": "address"
                        },
                        "id": 2625,
                        "name": "ElementaryTypeName",
                        "src": "1674:7:28"
                      }
                    ],
                    "id": 2626,
                    "name": "VariableDeclaration",
                    "src": "1674:7:28"
                  }
                ],
                "id": 2627,
                "name": "ParameterList",
                "src": "1673:9:28"
              }
            ],
            "id": 2628,
            "name": "FunctionDefinition",
            "src": "1632:51:28"
          },
          {
            "attributes": {
              "body": null,
              "documentation": null,
              "functionSelector": "0dfe1681",
              "implemented": false,
              "isConstructor": false,
              "kind": "function",
              "modifiers": [
                null
              ],
              "name": "token0",
              "overrides": null,
              "scope": 2705,
              "stateMutability": "view",
              "virtual": false,
              "visibility": "external"
            },
            "children": [
              {
                "attributes": {
                  "parameters": [
                    null
                  ]
                },
                "children": [],
                "id": 2629,
                "name": "ParameterList",
                "src": "1703:2:28"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "mutability": "mutable",
                      "name": "",
                      "overrides": null,
                      "scope": 2633,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "stateMutability": "nonpayable",
                          "type": "address"
                        },
                        "id": 2630,
                        "name": "ElementaryTypeName",
                        "src": "1729:7:28"
                      }
                    ],
                    "id": 2631,
                    "name": "VariableDeclaration",
                    "src": "1729:7:28"
                  }
                ],
                "id": 2632,
                "name": "ParameterList",
                "src": "1728:9:28"
              }
            ],
            "id": 2633,
            "name": "FunctionDefinition",
            "src": "1688:50:28"
          },
          {
            "attributes": {
              "body": null,
              "documentation": null,
              "functionSelector": "d21220a7",
              "implemented": false,
              "isConstructor": false,
              "kind": "function",
              "modifiers": [
                null
              ],
              "name": "token1",
              "overrides": null,
              "scope": 2705,
              "stateMutability": "view",
              "virtual": false,
              "visibility": "external"
            },
            "children": [
              {
                "attributes": {
                  "parameters": [
                    null
                  ]
                },
                "children": [],
                "id": 2634,
                "name": "ParameterList",
                "src": "1758:2:28"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "mutability": "mutable",
                      "name": "",
                      "overrides": null,
                      "scope": 2638,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "stateMutability": "nonpayable",
                          "type": "address"
                        },
                        "id": 2635,
                        "name": "ElementaryTypeName",
                        "src": "1784:7:28"
                      }
                    ],
                    "id": 2636,
                    "name": "VariableDeclaration",
                    "src": "1784:7:28"
                  }
                ],
                "id": 2637,
                "name": "ParameterList",
                "src": "1783:9:28"
              }
            ],
            "id": 2638,
            "name": "FunctionDefinition",
            "src": "1743:50:28"
          },
          {
            "attributes": {
              "body": null,
              "documentation": null,
              "functionSelector": "0902f1ac",
              "implemented": false,
              "isConstructor": false,
              "kind": "function",
              "modifiers": [
                null
              ],
              "name": "getReserves",
              "overrides": null,
              "scope": 2705,
              "stateMutability": "view",
              "virtual": false,
              "visibility": "external"
            },
            "children": [
              {
                "attributes": {
                  "parameters": [
                    null
                  ]
                },
                "children": [],
                "id": 2639,
                "name": "ParameterList",
                "src": "1818:2:28"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "mutability": "mutable",
                      "name": "reserve0",
                      "overrides": null,
                      "scope": 2647,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint112",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint112",
                          "type": "uint112"
                        },
                        "id": 2640,
                        "name": "ElementaryTypeName",
                        "src": "1844:7:28"
                      }
                    ],
                    "id": 2641,
                    "name": "VariableDeclaration",
                    "src": "1844:16:28"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "mutability": "mutable",
                      "name": "reserve1",
                      "overrides": null,
                      "scope": 2647,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint112",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint112",
                          "type": "uint112"
                        },
                        "id": 2642,
                        "name": "ElementaryTypeName",
                        "src": "1862:7:28"
                      }
                    ],
                    "id": 2643,
                    "name": "VariableDeclaration",
                    "src": "1862:16:28"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "mutability": "mutable",
                      "name": "blockTimestampLast",
                      "overrides": null,
                      "scope": 2647,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint32",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint32",
                          "type": "uint32"
                        },
                        "id": 2644,
                        "name": "ElementaryTypeName",
                        "src": "1880:6:28"
                      }
                    ],
                    "id": 2645,
                    "name": "VariableDeclaration",
                    "src": "1880:25:28"
                  }
                ],
                "id": 2646,
                "name": "ParameterList",
                "src": "1843:63:28"
              }
            ],
            "id": 2647,
            "name": "FunctionDefinition",
            "src": "1798:109:28"
          },
          {
            "attributes": {
              "body": null,
              "documentation": null,
              "functionSelector": "5909c0d5",
              "implemented": false,
              "isConstructor": false,
              "kind": "function",
              "modifiers": [
                null
              ],
              "name": "price0CumulativeLast",
              "overrides": null,
              "scope": 2705,
              "stateMutability": "view",
              "virtual": false,
              "visibility": "external"
            },
            "children": [
              {
                "attributes": {
                  "parameters": [
                    null
                  ]
                },
                "children": [],
                "id": 2648,
                "name": "ParameterList",
                "src": "1941:2:28"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "mutability": "mutable",
                      "name": "",
                      "overrides": null,
                      "scope": 2652,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint",
                          "type": "uint256"
                        },
                        "id": 2649,
                        "name": "ElementaryTypeName",
                        "src": "1967:4:28"
                      }
                    ],
                    "id": 2650,
                    "name": "VariableDeclaration",
                    "src": "1967:4:28"
                  }
                ],
                "id": 2651,
                "name": "ParameterList",
                "src": "1966:6:28"
              }
            ],
            "id": 2652,
            "name": "FunctionDefinition",
            "src": "1912:61:28"
          },
          {
            "attributes": {
              "body": null,
              "documentation": null,
              "functionSelector": "5a3d5493",
              "implemented": false,
              "isConstructor": false,
              "kind": "function",
              "modifiers": [
                null
              ],
              "name": "price1CumulativeLast",
              "overrides": null,
              "scope": 2705,
              "stateMutability": "view",
              "virtual": false,
              "visibility": "external"
            },
            "children": [
              {
                "attributes": {
                  "parameters": [
                    null
                  ]
                },
                "children": [],
                "id": 2653,
                "name": "ParameterList",
                "src": "2007:2:28"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "mutability": "mutable",
                      "name": "",
                      "overrides": null,
                      "scope": 2657,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint",
                          "type": "uint256"
                        },
                        "id": 2654,
                        "name": "ElementaryTypeName",
                        "src": "2033:4:28"
                      }
                    ],
                    "id": 2655,
                    "name": "VariableDeclaration",
                    "src": "2033:4:28"
                  }
                ],
                "id": 2656,
                "name": "ParameterList",
                "src": "2032:6:28"
              }
            ],
            "id": 2657,
            "name": "FunctionDefinition",
            "src": "1978:61:28"
          },
          {
            "attributes": {
              "body": null,
              "documentation": null,
              "functionSelector": "7464fc3d",
              "implemented": false,
              "isConstructor": false,
              "kind": "function",
              "modifiers": [
                null
              ],
              "name": "kLast",
              "overrides": null,
              "scope": 2705,
              "stateMutability": "view",
              "virtual": false,
              "visibility": "external"
            },
            "children": [
              {
                "attributes": {
                  "parameters": [
                    null
                  ]
                },
                "children": [],
                "id": 2658,
                "name": "ParameterList",
                "src": "2058:2:28"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "mutability": "mutable",
                      "name": "",
                      "overrides": null,
                      "scope": 2662,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint",
                          "type": "uint256"
                        },
                        "id": 2659,
                        "name": "ElementaryTypeName",
                        "src": "2084:4:28"
                      }
                    ],
                    "id": 2660,
                    "name": "VariableDeclaration",
                    "src": "2084:4:28"
                  }
                ],
                "id": 2661,
                "name": "ParameterList",
                "src": "2083:6:28"
              }
            ],
            "id": 2662,
            "name": "FunctionDefinition",
            "src": "2044:46:28"
          },
          {
            "attributes": {
              "body": null,
              "documentation": null,
              "functionSelector": "6a627842",
              "implemented": false,
              "isConstructor": false,
              "kind": "function",
              "modifiers": [
                null
              ],
              "name": "mint",
              "overrides": null,
              "scope": 2705,
              "stateMutability": "nonpayable",
              "virtual": false,
              "visibility": "external"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "mutability": "mutable",
                      "name": "to",
                      "overrides": null,
                      "scope": 2669,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "stateMutability": "nonpayable",
                          "type": "address"
                        },
                        "id": 2663,
                        "name": "ElementaryTypeName",
                        "src": "2110:7:28"
                      }
                    ],
                    "id": 2664,
                    "name": "VariableDeclaration",
                    "src": "2110:10:28"
                  }
                ],
                "id": 2665,
                "name": "ParameterList",
                "src": "2109:12:28"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "mutability": "mutable",
                      "name": "liquidity",
                      "overrides": null,
                      "scope": 2669,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint",
                          "type": "uint256"
                        },
                        "id": 2666,
                        "name": "ElementaryTypeName",
                        "src": "2140:4:28"
                      }
                    ],
                    "id": 2667,
                    "name": "VariableDeclaration",
                    "src": "2140:14:28"
                  }
                ],
                "id": 2668,
                "name": "ParameterList",
                "src": "2139:16:28"
              }
            ],
            "id": 2669,
            "name": "FunctionDefinition",
            "src": "2096:60:28"
          },
          {
            "attributes": {
              "body": null,
              "documentation": null,
              "functionSelector": "89afcb44",
              "implemented": false,
              "isConstructor": false,
              "kind": "function",
              "modifiers": [
                null
              ],
              "name": "burn",
              "overrides": null,
              "scope": 2705,
              "stateMutability": "nonpayable",
              "virtual": false,
              "visibility": "external"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "mutability": "mutable",
                      "name": "to",
                      "overrides": null,
                      "scope": 2678,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "stateMutability": "nonpayable",
                          "type": "address"
                        },
                        "id": 2670,
                        "name": "ElementaryTypeName",
                        "src": "2175:7:28"
                      }
                    ],
                    "id": 2671,
                    "name": "VariableDeclaration",
                    "src": "2175:10:28"
                  }
                ],
                "id": 2672,
                "name": "ParameterList",
                "src": "2174:12:28"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "mutability": "mutable",
                      "name": "amount0",
                      "overrides": null,
                      "scope": 2678,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint",
                          "type": "uint256"
                        },
                        "id": 2673,
                        "name": "ElementaryTypeName",
                        "src": "2205:4:28"
                      }
                    ],
                    "id": 2674,
                    "name": "VariableDeclaration",
                    "src": "2205:12:28"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "mutability": "mutable",
                      "name": "amount1",
                      "overrides": null,
                      "scope": 2678,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint",
                          "type": "uint256"
                        },
                        "id": 2675,
                        "name": "ElementaryTypeName",
                        "src": "2219:4:28"
                      }
                    ],
                    "id": 2676,
                    "name": "VariableDeclaration",
                    "src": "2219:12:28"
                  }
                ],
                "id": 2677,
                "name": "ParameterList",
                "src": "2204:28:28"
              }
            ],
            "id": 2678,
            "name": "FunctionDefinition",
            "src": "2161:72:28"
          },
          {
            "attributes": {
              "body": null,
              "documentation": null,
              "functionSelector": "022c0d9f",
              "implemented": false,
              "isConstructor": false,
              "kind": "function",
              "modifiers": [
                null
              ],
              "name": "swap",
              "overrides": null,
              "scope": 2705,
              "stateMutability": "nonpayable",
              "virtual": false,
              "visibility": "external"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "mutability": "mutable",
                      "name": "amount0Out",
                      "overrides": null,
                      "scope": 2689,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint",
                          "type": "uint256"
                        },
                        "id": 2679,
                        "name": "ElementaryTypeName",
                        "src": "2252:4:28"
                      }
                    ],
                    "id": 2680,
                    "name": "VariableDeclaration",
                    "src": "2252:15:28"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "mutability": "mutable",
                      "name": "amount1Out",
                      "overrides": null,
                      "scope": 2689,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint",
                          "type": "uint256"
                        },
                        "id": 2681,
                        "name": "ElementaryTypeName",
                        "src": "2269:4:28"
                      }
                    ],
                    "id": 2682,
                    "name": "VariableDeclaration",
                    "src": "2269:15:28"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "mutability": "mutable",
                      "name": "to",
                      "overrides": null,
                      "scope": 2689,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "stateMutability": "nonpayable",
                          "type": "address"
                        },
                        "id": 2683,
                        "name": "ElementaryTypeName",
                        "src": "2286:7:28"
                      }
                    ],
                    "id": 2684,
                    "name": "VariableDeclaration",
                    "src": "2286:10:28"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "mutability": "mutable",
                      "name": "data",
                      "overrides": null,
                      "scope": 2689,
                      "stateVariable": false,
                      "storageLocation": "calldata",
                      "type": "bytes",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bytes",
                          "type": "bytes"
                        },
                        "id": 2685,
                        "name": "ElementaryTypeName",
                        "src": "2298:5:28"
                      }
                    ],
                    "id": 2686,
                    "name": "VariableDeclaration",
                    "src": "2298:19:28"
                  }
                ],
                "id": 2687,
                "name": "ParameterList",
                "src": "2251:67:28"
              },
              {
                "attributes": {
                  "parameters": [
                    null
                  ]
                },
                "children": [],
                "id": 2688,
                "name": "ParameterList",
                "src": "2327:0:28"
              }
            ],
            "id": 2689,
            "name": "FunctionDefinition",
            "src": "2238:90:28"
          },
          {
            "attributes": {
              "body": null,
              "documentation": null,
              "functionSelector": "bc25cf77",
              "implemented": false,
              "isConstructor": false,
              "kind": "function",
              "modifiers": [
                null
              ],
              "name": "skim",
              "overrides": null,
              "scope": 2705,
              "stateMutability": "nonpayable",
              "virtual": false,
              "visibility": "external"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "mutability": "mutable",
                      "name": "to",
                      "overrides": null,
                      "scope": 2694,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "stateMutability": "nonpayable",
                          "type": "address"
                        },
                        "id": 2690,
                        "name": "ElementaryTypeName",
                        "src": "2347:7:28"
                      }
                    ],
                    "id": 2691,
                    "name": "VariableDeclaration",
                    "src": "2347:10:28"
                  }
                ],
                "id": 2692,
                "name": "ParameterList",
                "src": "2346:12:28"
              },
              {
                "attributes": {
                  "parameters": [
                    null
                  ]
                },
                "children": [],
                "id": 2693,
                "name": "ParameterList",
                "src": "2367:0:28"
              }
            ],
            "id": 2694,
            "name": "FunctionDefinition",
            "src": "2333:35:28"
          },
          {
            "attributes": {
              "body": null,
              "documentation": null,
              "functionSelector": "fff6cae9",
              "implemented": false,
              "isConstructor": false,
              "kind": "function",
              "modifiers": [
                null
              ],
              "name": "sync",
              "overrides": null,
              "scope": 2705,
              "stateMutability": "nonpayable",
              "virtual": false,
              "visibility": "external"
            },
            "children": [
              {
                "attributes": {
                  "parameters": [
                    null
                  ]
                },
                "children": [],
                "id": 2695,
                "name": "ParameterList",
                "src": "2386:2:28"
              },
              {
                "attributes": {
                  "parameters": [
                    null
                  ]
                },
                "children": [],
                "id": 2696,
                "name": "ParameterList",
                "src": "2397:0:28"
              }
            ],
            "id": 2697,
            "name": "FunctionDefinition",
            "src": "2373:25:28"
          },
          {
            "attributes": {
              "body": null,
              "documentation": null,
              "functionSelector": "485cc955",
              "implemented": false,
              "isConstructor": false,
              "kind": "function",
              "modifiers": [
                null
              ],
              "name": "initialize",
              "overrides": null,
              "scope": 2705,
              "stateMutability": "nonpayable",
              "virtual": false,
              "visibility": "external"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "mutability": "mutable",
                      "name": "",
                      "overrides": null,
                      "scope": 2704,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "stateMutability": "nonpayable",
                          "type": "address"
                        },
                        "id": 2698,
                        "name": "ElementaryTypeName",
                        "src": "2424:7:28"
                      }
                    ],
                    "id": 2699,
                    "name": "VariableDeclaration",
                    "src": "2424:7:28"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "mutability": "mutable",
                      "name": "",
                      "overrides": null,
                      "scope": 2704,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "stateMutability": "nonpayable",
                          "type": "address"
                        },
                        "id": 2700,
                        "name": "ElementaryTypeName",
                        "src": "2433:7:28"
                      }
                    ],
                    "id": 2701,
                    "name": "VariableDeclaration",
                    "src": "2433:7:28"
                  }
                ],
                "id": 2702,
                "name": "ParameterList",
                "src": "2423:18:28"
              },
              {
                "attributes": {
                  "parameters": [
                    null
                  ]
                },
                "children": [],
                "id": 2703,
                "name": "ParameterList",
                "src": "2450:0:28"
              }
            ],
            "id": 2704,
            "name": "FunctionDefinition",
            "src": "2404:47:28"
          }
        ],
        "id": 2705,
        "name": "ContractDefinition",
        "src": "56:2397:28"
      }
    ],
    "id": 2706,
    "name": "SourceUnit",
    "src": "32:2422:28"
  },
  "compiler": {
    "name": "solc",
    "version": "0.6.8+commit.0bbfe453.Emscripten.clang"
  },
  "networks": {},
  "schemaVersion": "3.4.16",
  "updatedAt": "2025-02-07T17:50:42.781Z",
  "devdoc": {
    "methods": {}
  },
  "userdoc": {
    "methods": {}
  }
}