{
  "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.10+commit.00c0fcaf\"},\"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\":{\"@uniswap/v2-core/contracts/interfaces/IUniswapV2Pair.sol\":\"IUniswapV2Pair\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":2000000},\"remappings\":[]},\"sources\":{\"@uniswap/v2-core/contracts/interfaces/IUniswapV2Pair.sol\":{\"keccak256\":\"0x7c9bc70e5996c763e02ff38905282bc24fb242b0ef2519a003b36824fc524a4b\",\"urls\":[\"bzz-raw://85d5ad2dd23ee127f40907a12865a1e8cb5828814f6f2480285e1827dd72dedf\",\"dweb:/ipfs/QmayKQWJgWmr46DqWseADyUanmqxh662hPNdAkdHRjiQQH\"]}},\"version\":1}",
  "bytecode": "0x",
  "deployedBytecode": "0x",
  "immutableReferences": {},
  "sourceMap": "",
  "deployedSourceMap": "",
  "source": "pragma solidity >=0.5.0;\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": "@uniswap/v2-core/contracts/interfaces/IUniswapV2Pair.sol",
  "ast": {
    "absolutePath": "@uniswap/v2-core/contracts/interfaces/IUniswapV2Pair.sol",
    "exportedSymbols": {
      "IUniswapV2Pair": [
        1684
      ]
    },
    "id": 1685,
    "license": null,
    "nodeType": "SourceUnit",
    "nodes": [
      {
        "id": 1444,
        "literals": [
          "solidity",
          ">=",
          "0.5",
          ".0"
        ],
        "nodeType": "PragmaDirective",
        "src": "0:24:7"
      },
      {
        "abstract": false,
        "baseContracts": [],
        "contractDependencies": [],
        "contractKind": "interface",
        "documentation": null,
        "fullyImplemented": false,
        "id": 1684,
        "linearizedBaseContracts": [
          1684
        ],
        "name": "IUniswapV2Pair",
        "nodeType": "ContractDefinition",
        "nodes": [
          {
            "anonymous": false,
            "documentation": null,
            "id": 1452,
            "name": "Approval",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 1451,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1446,
                  "indexed": true,
                  "mutability": "mutable",
                  "name": "owner",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 1452,
                  "src": "72:21:7",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 1445,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "72:7:7",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 1448,
                  "indexed": true,
                  "mutability": "mutable",
                  "name": "spender",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 1452,
                  "src": "95:23:7",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 1447,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "95:7:7",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 1450,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "value",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 1452,
                  "src": "120:10:7",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 1449,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "120:4:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "71:60:7"
            },
            "src": "57:75:7"
          },
          {
            "anonymous": false,
            "documentation": null,
            "id": 1460,
            "name": "Transfer",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 1459,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1454,
                  "indexed": true,
                  "mutability": "mutable",
                  "name": "from",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 1460,
                  "src": "152:20:7",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 1453,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "152:7:7",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 1456,
                  "indexed": true,
                  "mutability": "mutable",
                  "name": "to",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 1460,
                  "src": "174:18:7",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 1455,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "174:7:7",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 1458,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "value",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 1460,
                  "src": "194:10:7",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 1457,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "194:4:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "151:54:7"
            },
            "src": "137:69:7"
          },
          {
            "body": null,
            "documentation": null,
            "functionSelector": "06fdde03",
            "id": 1465,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "name",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 1461,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "225:2:7"
            },
            "returnParameters": {
              "id": 1464,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1463,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 1465,
                  "src": "251:13:7",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 1462,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "251:6:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "250:15:7"
            },
            "scope": 1684,
            "src": "212:54:7",
            "stateMutability": "pure",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "functionSelector": "95d89b41",
            "id": 1470,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "symbol",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 1466,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "286:2:7"
            },
            "returnParameters": {
              "id": 1469,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1468,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 1470,
                  "src": "312:13:7",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 1467,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "312:6:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "311:15:7"
            },
            "scope": 1684,
            "src": "271:56:7",
            "stateMutability": "pure",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "functionSelector": "313ce567",
            "id": 1475,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "decimals",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 1471,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "349:2:7"
            },
            "returnParameters": {
              "id": 1474,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1473,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 1475,
                  "src": "375:5:7",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint8",
                    "typeString": "uint8"
                  },
                  "typeName": {
                    "id": 1472,
                    "name": "uint8",
                    "nodeType": "ElementaryTypeName",
                    "src": "375:5:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint8",
                      "typeString": "uint8"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "374:7:7"
            },
            "scope": 1684,
            "src": "332:50:7",
            "stateMutability": "pure",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "functionSelector": "18160ddd",
            "id": 1480,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "totalSupply",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 1476,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "407:2:7"
            },
            "returnParameters": {
              "id": 1479,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1478,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 1480,
                  "src": "433:4:7",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 1477,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "433:4:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "432:6:7"
            },
            "scope": 1684,
            "src": "387:52:7",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "functionSelector": "70a08231",
            "id": 1487,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "balanceOf",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 1483,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1482,
                  "mutability": "mutable",
                  "name": "owner",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 1487,
                  "src": "463:13:7",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 1481,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "463:7:7",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "462:15:7"
            },
            "returnParameters": {
              "id": 1486,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1485,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 1487,
                  "src": "501:4:7",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 1484,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "501:4:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "500:6:7"
            },
            "scope": 1684,
            "src": "444:63:7",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "functionSelector": "dd62ed3e",
            "id": 1496,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "allowance",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 1492,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1489,
                  "mutability": "mutable",
                  "name": "owner",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 1496,
                  "src": "531:13:7",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 1488,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "531:7:7",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 1491,
                  "mutability": "mutable",
                  "name": "spender",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 1496,
                  "src": "546:15:7",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 1490,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "546:7:7",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "530:32:7"
            },
            "returnParameters": {
              "id": 1495,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1494,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 1496,
                  "src": "586:4:7",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 1493,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "586:4:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "585:6:7"
            },
            "scope": 1684,
            "src": "512:80:7",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "functionSelector": "095ea7b3",
            "id": 1505,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "approve",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 1501,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1498,
                  "mutability": "mutable",
                  "name": "spender",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 1505,
                  "src": "615:15:7",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 1497,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "615:7:7",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 1500,
                  "mutability": "mutable",
                  "name": "value",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 1505,
                  "src": "632:10:7",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 1499,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "632:4:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "614:29:7"
            },
            "returnParameters": {
              "id": 1504,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1503,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 1505,
                  "src": "662:4:7",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 1502,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "662:4:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "661:6:7"
            },
            "scope": 1684,
            "src": "598:70:7",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "functionSelector": "a9059cbb",
            "id": 1514,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "transfer",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 1510,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1507,
                  "mutability": "mutable",
                  "name": "to",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 1514,
                  "src": "691:10:7",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 1506,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "691:7:7",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 1509,
                  "mutability": "mutable",
                  "name": "value",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 1514,
                  "src": "703:10:7",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 1508,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "703:4:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "690:24:7"
            },
            "returnParameters": {
              "id": 1513,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1512,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 1514,
                  "src": "733:4:7",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 1511,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "733:4:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "732:6:7"
            },
            "scope": 1684,
            "src": "673:66:7",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "functionSelector": "23b872dd",
            "id": 1525,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "transferFrom",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 1521,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1516,
                  "mutability": "mutable",
                  "name": "from",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 1525,
                  "src": "766:12:7",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 1515,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "766:7:7",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 1518,
                  "mutability": "mutable",
                  "name": "to",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 1525,
                  "src": "780:10:7",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 1517,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "780:7:7",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 1520,
                  "mutability": "mutable",
                  "name": "value",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 1525,
                  "src": "792:10:7",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 1519,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "792:4:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "765:38:7"
            },
            "returnParameters": {
              "id": 1524,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1523,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 1525,
                  "src": "822:4:7",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 1522,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "822:4:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "821:6:7"
            },
            "scope": 1684,
            "src": "744:84:7",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "functionSelector": "3644e515",
            "id": 1530,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "DOMAIN_SEPARATOR",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 1526,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "859:2:7"
            },
            "returnParameters": {
              "id": 1529,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1528,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 1530,
                  "src": "885:7:7",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 1527,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "885:7:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "884:9:7"
            },
            "scope": 1684,
            "src": "834:60:7",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "functionSelector": "30adf81f",
            "id": 1535,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "PERMIT_TYPEHASH",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 1531,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "923:2:7"
            },
            "returnParameters": {
              "id": 1534,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1533,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 1535,
                  "src": "949:7:7",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 1532,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "949:7:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "948:9:7"
            },
            "scope": 1684,
            "src": "899:59:7",
            "stateMutability": "pure",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "functionSelector": "7ecebe00",
            "id": 1542,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "nonces",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 1538,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1537,
                  "mutability": "mutable",
                  "name": "owner",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 1542,
                  "src": "979:13:7",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 1536,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "979:7:7",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "978:15:7"
            },
            "returnParameters": {
              "id": 1541,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1540,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 1542,
                  "src": "1017:4:7",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 1539,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "1017:4:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1016:6:7"
            },
            "scope": 1684,
            "src": "963:60:7",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "functionSelector": "d505accf",
            "id": 1559,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "permit",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 1557,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1544,
                  "mutability": "mutable",
                  "name": "owner",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 1559,
                  "src": "1045:13:7",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 1543,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1045:7:7",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 1546,
                  "mutability": "mutable",
                  "name": "spender",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 1559,
                  "src": "1060:15:7",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 1545,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1060:7:7",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 1548,
                  "mutability": "mutable",
                  "name": "value",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 1559,
                  "src": "1077:10:7",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 1547,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "1077:4:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 1550,
                  "mutability": "mutable",
                  "name": "deadline",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 1559,
                  "src": "1089:13:7",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 1549,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "1089:4:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 1552,
                  "mutability": "mutable",
                  "name": "v",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 1559,
                  "src": "1104:7:7",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint8",
                    "typeString": "uint8"
                  },
                  "typeName": {
                    "id": 1551,
                    "name": "uint8",
                    "nodeType": "ElementaryTypeName",
                    "src": "1104:5:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint8",
                      "typeString": "uint8"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 1554,
                  "mutability": "mutable",
                  "name": "r",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 1559,
                  "src": "1113:9:7",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 1553,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "1113:7:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 1556,
                  "mutability": "mutable",
                  "name": "s",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 1559,
                  "src": "1124:9:7",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 1555,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "1124:7:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1044:90:7"
            },
            "returnParameters": {
              "id": 1558,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1143:0:7"
            },
            "scope": 1684,
            "src": "1029:115:7",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "anonymous": false,
            "documentation": null,
            "id": 1567,
            "name": "Mint",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 1566,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1561,
                  "indexed": true,
                  "mutability": "mutable",
                  "name": "sender",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 1567,
                  "src": "1161:22:7",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 1560,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1161:7:7",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 1563,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "amount0",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 1567,
                  "src": "1185:12:7",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 1562,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "1185:4:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 1565,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "amount1",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 1567,
                  "src": "1199:12:7",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 1564,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "1199:4:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1160:52:7"
            },
            "src": "1150:63:7"
          },
          {
            "anonymous": false,
            "documentation": null,
            "id": 1577,
            "name": "Burn",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 1576,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1569,
                  "indexed": true,
                  "mutability": "mutable",
                  "name": "sender",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 1577,
                  "src": "1229:22:7",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 1568,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1229:7:7",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 1571,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "amount0",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 1577,
                  "src": "1253:12:7",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 1570,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "1253:4:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 1573,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "amount1",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 1577,
                  "src": "1267:12:7",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 1572,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "1267:4:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 1575,
                  "indexed": true,
                  "mutability": "mutable",
                  "name": "to",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 1577,
                  "src": "1281:18:7",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 1574,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1281:7:7",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1228:72:7"
            },
            "src": "1218:83:7"
          },
          {
            "anonymous": false,
            "documentation": null,
            "id": 1591,
            "name": "Swap",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 1590,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1579,
                  "indexed": true,
                  "mutability": "mutable",
                  "name": "sender",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 1591,
                  "src": "1326:22:7",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 1578,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1326:7:7",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 1581,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "amount0In",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 1591,
                  "src": "1358:14:7",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 1580,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "1358:4:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 1583,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "amount1In",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 1591,
                  "src": "1382:14:7",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 1582,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "1382:4:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 1585,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "amount0Out",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 1591,
                  "src": "1406:15:7",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 1584,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "1406:4:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 1587,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "amount1Out",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 1591,
                  "src": "1431:15:7",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 1586,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "1431:4:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 1589,
                  "indexed": true,
                  "mutability": "mutable",
                  "name": "to",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 1591,
                  "src": "1456:18:7",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 1588,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1456:7:7",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1316:164:7"
            },
            "src": "1306:175:7"
          },
          {
            "anonymous": false,
            "documentation": null,
            "id": 1597,
            "name": "Sync",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 1596,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1593,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "reserve0",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 1597,
                  "src": "1497:16:7",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint112",
                    "typeString": "uint112"
                  },
                  "typeName": {
                    "id": 1592,
                    "name": "uint112",
                    "nodeType": "ElementaryTypeName",
                    "src": "1497:7:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint112",
                      "typeString": "uint112"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 1595,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "reserve1",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 1597,
                  "src": "1515:16:7",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint112",
                    "typeString": "uint112"
                  },
                  "typeName": {
                    "id": 1594,
                    "name": "uint112",
                    "nodeType": "ElementaryTypeName",
                    "src": "1515:7:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint112",
                      "typeString": "uint112"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1496:36:7"
            },
            "src": "1486:47:7"
          },
          {
            "body": null,
            "documentation": null,
            "functionSelector": "ba9a7a56",
            "id": 1602,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "MINIMUM_LIQUIDITY",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 1598,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1565:2:7"
            },
            "returnParameters": {
              "id": 1601,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1600,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 1602,
                  "src": "1591:4:7",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 1599,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "1591:4:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1590:6:7"
            },
            "scope": 1684,
            "src": "1539:58:7",
            "stateMutability": "pure",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "functionSelector": "c45a0155",
            "id": 1607,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "factory",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 1603,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1618:2:7"
            },
            "returnParameters": {
              "id": 1606,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1605,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 1607,
                  "src": "1644:7:7",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 1604,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1644:7:7",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1643:9:7"
            },
            "scope": 1684,
            "src": "1602:51:7",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "functionSelector": "0dfe1681",
            "id": 1612,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "token0",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 1608,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1673:2:7"
            },
            "returnParameters": {
              "id": 1611,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1610,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 1612,
                  "src": "1699:7:7",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 1609,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1699:7:7",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1698:9:7"
            },
            "scope": 1684,
            "src": "1658:50:7",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "functionSelector": "d21220a7",
            "id": 1617,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "token1",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 1613,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1728:2:7"
            },
            "returnParameters": {
              "id": 1616,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1615,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 1617,
                  "src": "1754:7:7",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 1614,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1754:7:7",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1753:9:7"
            },
            "scope": 1684,
            "src": "1713:50:7",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "functionSelector": "0902f1ac",
            "id": 1626,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "getReserves",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 1618,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1788:2:7"
            },
            "returnParameters": {
              "id": 1625,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1620,
                  "mutability": "mutable",
                  "name": "reserve0",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 1626,
                  "src": "1814:16:7",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint112",
                    "typeString": "uint112"
                  },
                  "typeName": {
                    "id": 1619,
                    "name": "uint112",
                    "nodeType": "ElementaryTypeName",
                    "src": "1814:7:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint112",
                      "typeString": "uint112"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 1622,
                  "mutability": "mutable",
                  "name": "reserve1",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 1626,
                  "src": "1832:16:7",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint112",
                    "typeString": "uint112"
                  },
                  "typeName": {
                    "id": 1621,
                    "name": "uint112",
                    "nodeType": "ElementaryTypeName",
                    "src": "1832:7:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint112",
                      "typeString": "uint112"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 1624,
                  "mutability": "mutable",
                  "name": "blockTimestampLast",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 1626,
                  "src": "1850:25:7",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint32",
                    "typeString": "uint32"
                  },
                  "typeName": {
                    "id": 1623,
                    "name": "uint32",
                    "nodeType": "ElementaryTypeName",
                    "src": "1850:6:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint32",
                      "typeString": "uint32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1813:63:7"
            },
            "scope": 1684,
            "src": "1768:109:7",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "functionSelector": "5909c0d5",
            "id": 1631,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "price0CumulativeLast",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 1627,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1911:2:7"
            },
            "returnParameters": {
              "id": 1630,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1629,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 1631,
                  "src": "1937:4:7",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 1628,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "1937:4:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1936:6:7"
            },
            "scope": 1684,
            "src": "1882:61:7",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "functionSelector": "5a3d5493",
            "id": 1636,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "price1CumulativeLast",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 1632,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1977:2:7"
            },
            "returnParameters": {
              "id": 1635,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1634,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 1636,
                  "src": "2003:4:7",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 1633,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "2003:4:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2002:6:7"
            },
            "scope": 1684,
            "src": "1948:61:7",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "functionSelector": "7464fc3d",
            "id": 1641,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "kLast",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 1637,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "2028:2:7"
            },
            "returnParameters": {
              "id": 1640,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1639,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 1641,
                  "src": "2054:4:7",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 1638,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "2054:4:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2053:6:7"
            },
            "scope": 1684,
            "src": "2014:46:7",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "functionSelector": "6a627842",
            "id": 1648,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "mint",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 1644,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1643,
                  "mutability": "mutable",
                  "name": "to",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 1648,
                  "src": "2080:10:7",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 1642,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "2080:7:7",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2079:12:7"
            },
            "returnParameters": {
              "id": 1647,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1646,
                  "mutability": "mutable",
                  "name": "liquidity",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 1648,
                  "src": "2110:14:7",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 1645,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "2110:4:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2109:16:7"
            },
            "scope": 1684,
            "src": "2066:60:7",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "functionSelector": "89afcb44",
            "id": 1657,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "burn",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 1651,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1650,
                  "mutability": "mutable",
                  "name": "to",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 1657,
                  "src": "2145:10:7",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 1649,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "2145:7:7",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2144:12:7"
            },
            "returnParameters": {
              "id": 1656,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1653,
                  "mutability": "mutable",
                  "name": "amount0",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 1657,
                  "src": "2175:12:7",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 1652,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "2175:4:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 1655,
                  "mutability": "mutable",
                  "name": "amount1",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 1657,
                  "src": "2189:12:7",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 1654,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "2189:4:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2174:28:7"
            },
            "scope": 1684,
            "src": "2131:72:7",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "functionSelector": "022c0d9f",
            "id": 1668,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "swap",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 1666,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1659,
                  "mutability": "mutable",
                  "name": "amount0Out",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 1668,
                  "src": "2222:15:7",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 1658,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "2222:4:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 1661,
                  "mutability": "mutable",
                  "name": "amount1Out",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 1668,
                  "src": "2239:15:7",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 1660,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "2239:4:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 1663,
                  "mutability": "mutable",
                  "name": "to",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 1668,
                  "src": "2256:10:7",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 1662,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "2256:7:7",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 1665,
                  "mutability": "mutable",
                  "name": "data",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 1668,
                  "src": "2268:19:7",
                  "stateVariable": false,
                  "storageLocation": "calldata",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_calldata_ptr",
                    "typeString": "bytes"
                  },
                  "typeName": {
                    "id": 1664,
                    "name": "bytes",
                    "nodeType": "ElementaryTypeName",
                    "src": "2268:5:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_storage_ptr",
                      "typeString": "bytes"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2221:67:7"
            },
            "returnParameters": {
              "id": 1667,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "2297:0:7"
            },
            "scope": 1684,
            "src": "2208:90:7",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "functionSelector": "bc25cf77",
            "id": 1673,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "skim",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 1671,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1670,
                  "mutability": "mutable",
                  "name": "to",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 1673,
                  "src": "2317:10:7",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 1669,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "2317:7:7",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2316:12:7"
            },
            "returnParameters": {
              "id": 1672,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "2337:0:7"
            },
            "scope": 1684,
            "src": "2303:35:7",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "functionSelector": "fff6cae9",
            "id": 1676,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "sync",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 1674,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "2356:2:7"
            },
            "returnParameters": {
              "id": 1675,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "2367:0:7"
            },
            "scope": 1684,
            "src": "2343:25:7",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "functionSelector": "485cc955",
            "id": 1683,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "initialize",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 1681,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1678,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 1683,
                  "src": "2394:7:7",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 1677,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "2394:7:7",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 1680,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 1683,
                  "src": "2403:7:7",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 1679,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "2403:7:7",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2393:18:7"
            },
            "returnParameters": {
              "id": 1682,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "2420:0:7"
            },
            "scope": 1684,
            "src": "2374:47:7",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          }
        ],
        "scope": 1685,
        "src": "26:2397:7"
      }
    ],
    "src": "0:2424:7"
  },
  "legacyAST": {
    "attributes": {
      "absolutePath": "@uniswap/v2-core/contracts/interfaces/IUniswapV2Pair.sol",
      "exportedSymbols": {
        "IUniswapV2Pair": [
          1684
        ]
      },
      "license": null
    },
    "children": [
      {
        "attributes": {
          "literals": [
            "solidity",
            ">=",
            "0.5",
            ".0"
          ]
        },
        "id": 1444,
        "name": "PragmaDirective",
        "src": "0:24:7"
      },
      {
        "attributes": {
          "abstract": false,
          "baseContracts": [
            null
          ],
          "contractDependencies": [
            null
          ],
          "contractKind": "interface",
          "documentation": null,
          "fullyImplemented": false,
          "linearizedBaseContracts": [
            1684
          ],
          "name": "IUniswapV2Pair",
          "scope": 1685
        },
        "children": [
          {
            "attributes": {
              "anonymous": false,
              "documentation": null,
              "name": "Approval"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "indexed": true,
                      "mutability": "mutable",
                      "name": "owner",
                      "overrides": null,
                      "scope": 1452,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "stateMutability": "nonpayable",
                          "type": "address"
                        },
                        "id": 1445,
                        "name": "ElementaryTypeName",
                        "src": "72:7:7"
                      }
                    ],
                    "id": 1446,
                    "name": "VariableDeclaration",
                    "src": "72:21:7"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "indexed": true,
                      "mutability": "mutable",
                      "name": "spender",
                      "overrides": null,
                      "scope": 1452,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "stateMutability": "nonpayable",
                          "type": "address"
                        },
                        "id": 1447,
                        "name": "ElementaryTypeName",
                        "src": "95:7:7"
                      }
                    ],
                    "id": 1448,
                    "name": "VariableDeclaration",
                    "src": "95:23:7"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "indexed": false,
                      "mutability": "mutable",
                      "name": "value",
                      "overrides": null,
                      "scope": 1452,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint",
                          "type": "uint256"
                        },
                        "id": 1449,
                        "name": "ElementaryTypeName",
                        "src": "120:4:7"
                      }
                    ],
                    "id": 1450,
                    "name": "VariableDeclaration",
                    "src": "120:10:7"
                  }
                ],
                "id": 1451,
                "name": "ParameterList",
                "src": "71:60:7"
              }
            ],
            "id": 1452,
            "name": "EventDefinition",
            "src": "57:75:7"
          },
          {
            "attributes": {
              "anonymous": false,
              "documentation": null,
              "name": "Transfer"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "indexed": true,
                      "mutability": "mutable",
                      "name": "from",
                      "overrides": null,
                      "scope": 1460,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "stateMutability": "nonpayable",
                          "type": "address"
                        },
                        "id": 1453,
                        "name": "ElementaryTypeName",
                        "src": "152:7:7"
                      }
                    ],
                    "id": 1454,
                    "name": "VariableDeclaration",
                    "src": "152:20:7"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "indexed": true,
                      "mutability": "mutable",
                      "name": "to",
                      "overrides": null,
                      "scope": 1460,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "stateMutability": "nonpayable",
                          "type": "address"
                        },
                        "id": 1455,
                        "name": "ElementaryTypeName",
                        "src": "174:7:7"
                      }
                    ],
                    "id": 1456,
                    "name": "VariableDeclaration",
                    "src": "174:18:7"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "indexed": false,
                      "mutability": "mutable",
                      "name": "value",
                      "overrides": null,
                      "scope": 1460,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint",
                          "type": "uint256"
                        },
                        "id": 1457,
                        "name": "ElementaryTypeName",
                        "src": "194:4:7"
                      }
                    ],
                    "id": 1458,
                    "name": "VariableDeclaration",
                    "src": "194:10:7"
                  }
                ],
                "id": 1459,
                "name": "ParameterList",
                "src": "151:54:7"
              }
            ],
            "id": 1460,
            "name": "EventDefinition",
            "src": "137:69:7"
          },
          {
            "attributes": {
              "body": null,
              "documentation": null,
              "functionSelector": "06fdde03",
              "implemented": false,
              "isConstructor": false,
              "kind": "function",
              "modifiers": [
                null
              ],
              "name": "name",
              "overrides": null,
              "scope": 1684,
              "stateMutability": "pure",
              "virtual": false,
              "visibility": "external"
            },
            "children": [
              {
                "attributes": {
                  "parameters": [
                    null
                  ]
                },
                "children": [],
                "id": 1461,
                "name": "ParameterList",
                "src": "225:2:7"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "mutability": "mutable",
                      "name": "",
                      "overrides": null,
                      "scope": 1465,
                      "stateVariable": false,
                      "storageLocation": "memory",
                      "type": "string",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "string",
                          "type": "string"
                        },
                        "id": 1462,
                        "name": "ElementaryTypeName",
                        "src": "251:6:7"
                      }
                    ],
                    "id": 1463,
                    "name": "VariableDeclaration",
                    "src": "251:13:7"
                  }
                ],
                "id": 1464,
                "name": "ParameterList",
                "src": "250:15:7"
              }
            ],
            "id": 1465,
            "name": "FunctionDefinition",
            "src": "212:54:7"
          },
          {
            "attributes": {
              "body": null,
              "documentation": null,
              "functionSelector": "95d89b41",
              "implemented": false,
              "isConstructor": false,
              "kind": "function",
              "modifiers": [
                null
              ],
              "name": "symbol",
              "overrides": null,
              "scope": 1684,
              "stateMutability": "pure",
              "virtual": false,
              "visibility": "external"
            },
            "children": [
              {
                "attributes": {
                  "parameters": [
                    null
                  ]
                },
                "children": [],
                "id": 1466,
                "name": "ParameterList",
                "src": "286:2:7"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "mutability": "mutable",
                      "name": "",
                      "overrides": null,
                      "scope": 1470,
                      "stateVariable": false,
                      "storageLocation": "memory",
                      "type": "string",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "string",
                          "type": "string"
                        },
                        "id": 1467,
                        "name": "ElementaryTypeName",
                        "src": "312:6:7"
                      }
                    ],
                    "id": 1468,
                    "name": "VariableDeclaration",
                    "src": "312:13:7"
                  }
                ],
                "id": 1469,
                "name": "ParameterList",
                "src": "311:15:7"
              }
            ],
            "id": 1470,
            "name": "FunctionDefinition",
            "src": "271:56:7"
          },
          {
            "attributes": {
              "body": null,
              "documentation": null,
              "functionSelector": "313ce567",
              "implemented": false,
              "isConstructor": false,
              "kind": "function",
              "modifiers": [
                null
              ],
              "name": "decimals",
              "overrides": null,
              "scope": 1684,
              "stateMutability": "pure",
              "virtual": false,
              "visibility": "external"
            },
            "children": [
              {
                "attributes": {
                  "parameters": [
                    null
                  ]
                },
                "children": [],
                "id": 1471,
                "name": "ParameterList",
                "src": "349:2:7"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "mutability": "mutable",
                      "name": "",
                      "overrides": null,
                      "scope": 1475,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint8",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint8",
                          "type": "uint8"
                        },
                        "id": 1472,
                        "name": "ElementaryTypeName",
                        "src": "375:5:7"
                      }
                    ],
                    "id": 1473,
                    "name": "VariableDeclaration",
                    "src": "375:5:7"
                  }
                ],
                "id": 1474,
                "name": "ParameterList",
                "src": "374:7:7"
              }
            ],
            "id": 1475,
            "name": "FunctionDefinition",
            "src": "332:50:7"
          },
          {
            "attributes": {
              "body": null,
              "documentation": null,
              "functionSelector": "18160ddd",
              "implemented": false,
              "isConstructor": false,
              "kind": "function",
              "modifiers": [
                null
              ],
              "name": "totalSupply",
              "overrides": null,
              "scope": 1684,
              "stateMutability": "view",
              "virtual": false,
              "visibility": "external"
            },
            "children": [
              {
                "attributes": {
                  "parameters": [
                    null
                  ]
                },
                "children": [],
                "id": 1476,
                "name": "ParameterList",
                "src": "407:2:7"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "mutability": "mutable",
                      "name": "",
                      "overrides": null,
                      "scope": 1480,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint",
                          "type": "uint256"
                        },
                        "id": 1477,
                        "name": "ElementaryTypeName",
                        "src": "433:4:7"
                      }
                    ],
                    "id": 1478,
                    "name": "VariableDeclaration",
                    "src": "433:4:7"
                  }
                ],
                "id": 1479,
                "name": "ParameterList",
                "src": "432:6:7"
              }
            ],
            "id": 1480,
            "name": "FunctionDefinition",
            "src": "387:52:7"
          },
          {
            "attributes": {
              "body": null,
              "documentation": null,
              "functionSelector": "70a08231",
              "implemented": false,
              "isConstructor": false,
              "kind": "function",
              "modifiers": [
                null
              ],
              "name": "balanceOf",
              "overrides": null,
              "scope": 1684,
              "stateMutability": "view",
              "virtual": false,
              "visibility": "external"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "mutability": "mutable",
                      "name": "owner",
                      "overrides": null,
                      "scope": 1487,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "stateMutability": "nonpayable",
                          "type": "address"
                        },
                        "id": 1481,
                        "name": "ElementaryTypeName",
                        "src": "463:7:7"
                      }
                    ],
                    "id": 1482,
                    "name": "VariableDeclaration",
                    "src": "463:13:7"
                  }
                ],
                "id": 1483,
                "name": "ParameterList",
                "src": "462:15:7"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "mutability": "mutable",
                      "name": "",
                      "overrides": null,
                      "scope": 1487,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint",
                          "type": "uint256"
                        },
                        "id": 1484,
                        "name": "ElementaryTypeName",
                        "src": "501:4:7"
                      }
                    ],
                    "id": 1485,
                    "name": "VariableDeclaration",
                    "src": "501:4:7"
                  }
                ],
                "id": 1486,
                "name": "ParameterList",
                "src": "500:6:7"
              }
            ],
            "id": 1487,
            "name": "FunctionDefinition",
            "src": "444:63:7"
          },
          {
            "attributes": {
              "body": null,
              "documentation": null,
              "functionSelector": "dd62ed3e",
              "implemented": false,
              "isConstructor": false,
              "kind": "function",
              "modifiers": [
                null
              ],
              "name": "allowance",
              "overrides": null,
              "scope": 1684,
              "stateMutability": "view",
              "virtual": false,
              "visibility": "external"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "mutability": "mutable",
                      "name": "owner",
                      "overrides": null,
                      "scope": 1496,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "stateMutability": "nonpayable",
                          "type": "address"
                        },
                        "id": 1488,
                        "name": "ElementaryTypeName",
                        "src": "531:7:7"
                      }
                    ],
                    "id": 1489,
                    "name": "VariableDeclaration",
                    "src": "531:13:7"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "mutability": "mutable",
                      "name": "spender",
                      "overrides": null,
                      "scope": 1496,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "stateMutability": "nonpayable",
                          "type": "address"
                        },
                        "id": 1490,
                        "name": "ElementaryTypeName",
                        "src": "546:7:7"
                      }
                    ],
                    "id": 1491,
                    "name": "VariableDeclaration",
                    "src": "546:15:7"
                  }
                ],
                "id": 1492,
                "name": "ParameterList",
                "src": "530:32:7"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "mutability": "mutable",
                      "name": "",
                      "overrides": null,
                      "scope": 1496,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint",
                          "type": "uint256"
                        },
                        "id": 1493,
                        "name": "ElementaryTypeName",
                        "src": "586:4:7"
                      }
                    ],
                    "id": 1494,
                    "name": "VariableDeclaration",
                    "src": "586:4:7"
                  }
                ],
                "id": 1495,
                "name": "ParameterList",
                "src": "585:6:7"
              }
            ],
            "id": 1496,
            "name": "FunctionDefinition",
            "src": "512:80:7"
          },
          {
            "attributes": {
              "body": null,
              "documentation": null,
              "functionSelector": "095ea7b3",
              "implemented": false,
              "isConstructor": false,
              "kind": "function",
              "modifiers": [
                null
              ],
              "name": "approve",
              "overrides": null,
              "scope": 1684,
              "stateMutability": "nonpayable",
              "virtual": false,
              "visibility": "external"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "mutability": "mutable",
                      "name": "spender",
                      "overrides": null,
                      "scope": 1505,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "stateMutability": "nonpayable",
                          "type": "address"
                        },
                        "id": 1497,
                        "name": "ElementaryTypeName",
                        "src": "615:7:7"
                      }
                    ],
                    "id": 1498,
                    "name": "VariableDeclaration",
                    "src": "615:15:7"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "mutability": "mutable",
                      "name": "value",
                      "overrides": null,
                      "scope": 1505,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint",
                          "type": "uint256"
                        },
                        "id": 1499,
                        "name": "ElementaryTypeName",
                        "src": "632:4:7"
                      }
                    ],
                    "id": 1500,
                    "name": "VariableDeclaration",
                    "src": "632:10:7"
                  }
                ],
                "id": 1501,
                "name": "ParameterList",
                "src": "614:29:7"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "mutability": "mutable",
                      "name": "",
                      "overrides": null,
                      "scope": 1505,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bool",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bool",
                          "type": "bool"
                        },
                        "id": 1502,
                        "name": "ElementaryTypeName",
                        "src": "662:4:7"
                      }
                    ],
                    "id": 1503,
                    "name": "VariableDeclaration",
                    "src": "662:4:7"
                  }
                ],
                "id": 1504,
                "name": "ParameterList",
                "src": "661:6:7"
              }
            ],
            "id": 1505,
            "name": "FunctionDefinition",
            "src": "598:70:7"
          },
          {
            "attributes": {
              "body": null,
              "documentation": null,
              "functionSelector": "a9059cbb",
              "implemented": false,
              "isConstructor": false,
              "kind": "function",
              "modifiers": [
                null
              ],
              "name": "transfer",
              "overrides": null,
              "scope": 1684,
              "stateMutability": "nonpayable",
              "virtual": false,
              "visibility": "external"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "mutability": "mutable",
                      "name": "to",
                      "overrides": null,
                      "scope": 1514,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "stateMutability": "nonpayable",
                          "type": "address"
                        },
                        "id": 1506,
                        "name": "ElementaryTypeName",
                        "src": "691:7:7"
                      }
                    ],
                    "id": 1507,
                    "name": "VariableDeclaration",
                    "src": "691:10:7"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "mutability": "mutable",
                      "name": "value",
                      "overrides": null,
                      "scope": 1514,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint",
                          "type": "uint256"
                        },
                        "id": 1508,
                        "name": "ElementaryTypeName",
                        "src": "703:4:7"
                      }
                    ],
                    "id": 1509,
                    "name": "VariableDeclaration",
                    "src": "703:10:7"
                  }
                ],
                "id": 1510,
                "name": "ParameterList",
                "src": "690:24:7"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "mutability": "mutable",
                      "name": "",
                      "overrides": null,
                      "scope": 1514,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bool",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bool",
                          "type": "bool"
                        },
                        "id": 1511,
                        "name": "ElementaryTypeName",
                        "src": "733:4:7"
                      }
                    ],
                    "id": 1512,
                    "name": "VariableDeclaration",
                    "src": "733:4:7"
                  }
                ],
                "id": 1513,
                "name": "ParameterList",
                "src": "732:6:7"
              }
            ],
            "id": 1514,
            "name": "FunctionDefinition",
            "src": "673:66:7"
          },
          {
            "attributes": {
              "body": null,
              "documentation": null,
              "functionSelector": "23b872dd",
              "implemented": false,
              "isConstructor": false,
              "kind": "function",
              "modifiers": [
                null
              ],
              "name": "transferFrom",
              "overrides": null,
              "scope": 1684,
              "stateMutability": "nonpayable",
              "virtual": false,
              "visibility": "external"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "mutability": "mutable",
                      "name": "from",
                      "overrides": null,
                      "scope": 1525,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "stateMutability": "nonpayable",
                          "type": "address"
                        },
                        "id": 1515,
                        "name": "ElementaryTypeName",
                        "src": "766:7:7"
                      }
                    ],
                    "id": 1516,
                    "name": "VariableDeclaration",
                    "src": "766:12:7"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "mutability": "mutable",
                      "name": "to",
                      "overrides": null,
                      "scope": 1525,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "stateMutability": "nonpayable",
                          "type": "address"
                        },
                        "id": 1517,
                        "name": "ElementaryTypeName",
                        "src": "780:7:7"
                      }
                    ],
                    "id": 1518,
                    "name": "VariableDeclaration",
                    "src": "780:10:7"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "mutability": "mutable",
                      "name": "value",
                      "overrides": null,
                      "scope": 1525,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint",
                          "type": "uint256"
                        },
                        "id": 1519,
                        "name": "ElementaryTypeName",
                        "src": "792:4:7"
                      }
                    ],
                    "id": 1520,
                    "name": "VariableDeclaration",
                    "src": "792:10:7"
                  }
                ],
                "id": 1521,
                "name": "ParameterList",
                "src": "765:38:7"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "mutability": "mutable",
                      "name": "",
                      "overrides": null,
                      "scope": 1525,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bool",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bool",
                          "type": "bool"
                        },
                        "id": 1522,
                        "name": "ElementaryTypeName",
                        "src": "822:4:7"
                      }
                    ],
                    "id": 1523,
                    "name": "VariableDeclaration",
                    "src": "822:4:7"
                  }
                ],
                "id": 1524,
                "name": "ParameterList",
                "src": "821:6:7"
              }
            ],
            "id": 1525,
            "name": "FunctionDefinition",
            "src": "744:84:7"
          },
          {
            "attributes": {
              "body": null,
              "documentation": null,
              "functionSelector": "3644e515",
              "implemented": false,
              "isConstructor": false,
              "kind": "function",
              "modifiers": [
                null
              ],
              "name": "DOMAIN_SEPARATOR",
              "overrides": null,
              "scope": 1684,
              "stateMutability": "view",
              "virtual": false,
              "visibility": "external"
            },
            "children": [
              {
                "attributes": {
                  "parameters": [
                    null
                  ]
                },
                "children": [],
                "id": 1526,
                "name": "ParameterList",
                "src": "859:2:7"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "mutability": "mutable",
                      "name": "",
                      "overrides": null,
                      "scope": 1530,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bytes32",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bytes32",
                          "type": "bytes32"
                        },
                        "id": 1527,
                        "name": "ElementaryTypeName",
                        "src": "885:7:7"
                      }
                    ],
                    "id": 1528,
                    "name": "VariableDeclaration",
                    "src": "885:7:7"
                  }
                ],
                "id": 1529,
                "name": "ParameterList",
                "src": "884:9:7"
              }
            ],
            "id": 1530,
            "name": "FunctionDefinition",
            "src": "834:60:7"
          },
          {
            "attributes": {
              "body": null,
              "documentation": null,
              "functionSelector": "30adf81f",
              "implemented": false,
              "isConstructor": false,
              "kind": "function",
              "modifiers": [
                null
              ],
              "name": "PERMIT_TYPEHASH",
              "overrides": null,
              "scope": 1684,
              "stateMutability": "pure",
              "virtual": false,
              "visibility": "external"
            },
            "children": [
              {
                "attributes": {
                  "parameters": [
                    null
                  ]
                },
                "children": [],
                "id": 1531,
                "name": "ParameterList",
                "src": "923:2:7"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "mutability": "mutable",
                      "name": "",
                      "overrides": null,
                      "scope": 1535,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bytes32",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bytes32",
                          "type": "bytes32"
                        },
                        "id": 1532,
                        "name": "ElementaryTypeName",
                        "src": "949:7:7"
                      }
                    ],
                    "id": 1533,
                    "name": "VariableDeclaration",
                    "src": "949:7:7"
                  }
                ],
                "id": 1534,
                "name": "ParameterList",
                "src": "948:9:7"
              }
            ],
            "id": 1535,
            "name": "FunctionDefinition",
            "src": "899:59:7"
          },
          {
            "attributes": {
              "body": null,
              "documentation": null,
              "functionSelector": "7ecebe00",
              "implemented": false,
              "isConstructor": false,
              "kind": "function",
              "modifiers": [
                null
              ],
              "name": "nonces",
              "overrides": null,
              "scope": 1684,
              "stateMutability": "view",
              "virtual": false,
              "visibility": "external"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "mutability": "mutable",
                      "name": "owner",
                      "overrides": null,
                      "scope": 1542,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "stateMutability": "nonpayable",
                          "type": "address"
                        },
                        "id": 1536,
                        "name": "ElementaryTypeName",
                        "src": "979:7:7"
                      }
                    ],
                    "id": 1537,
                    "name": "VariableDeclaration",
                    "src": "979:13:7"
                  }
                ],
                "id": 1538,
                "name": "ParameterList",
                "src": "978:15:7"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "mutability": "mutable",
                      "name": "",
                      "overrides": null,
                      "scope": 1542,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint",
                          "type": "uint256"
                        },
                        "id": 1539,
                        "name": "ElementaryTypeName",
                        "src": "1017:4:7"
                      }
                    ],
                    "id": 1540,
                    "name": "VariableDeclaration",
                    "src": "1017:4:7"
                  }
                ],
                "id": 1541,
                "name": "ParameterList",
                "src": "1016:6:7"
              }
            ],
            "id": 1542,
            "name": "FunctionDefinition",
            "src": "963:60:7"
          },
          {
            "attributes": {
              "body": null,
              "documentation": null,
              "functionSelector": "d505accf",
              "implemented": false,
              "isConstructor": false,
              "kind": "function",
              "modifiers": [
                null
              ],
              "name": "permit",
              "overrides": null,
              "scope": 1684,
              "stateMutability": "nonpayable",
              "virtual": false,
              "visibility": "external"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "mutability": "mutable",
                      "name": "owner",
                      "overrides": null,
                      "scope": 1559,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "stateMutability": "nonpayable",
                          "type": "address"
                        },
                        "id": 1543,
                        "name": "ElementaryTypeName",
                        "src": "1045:7:7"
                      }
                    ],
                    "id": 1544,
                    "name": "VariableDeclaration",
                    "src": "1045:13:7"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "mutability": "mutable",
                      "name": "spender",
                      "overrides": null,
                      "scope": 1559,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "stateMutability": "nonpayable",
                          "type": "address"
                        },
                        "id": 1545,
                        "name": "ElementaryTypeName",
                        "src": "1060:7:7"
                      }
                    ],
                    "id": 1546,
                    "name": "VariableDeclaration",
                    "src": "1060:15:7"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "mutability": "mutable",
                      "name": "value",
                      "overrides": null,
                      "scope": 1559,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint",
                          "type": "uint256"
                        },
                        "id": 1547,
                        "name": "ElementaryTypeName",
                        "src": "1077:4:7"
                      }
                    ],
                    "id": 1548,
                    "name": "VariableDeclaration",
                    "src": "1077:10:7"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "mutability": "mutable",
                      "name": "deadline",
                      "overrides": null,
                      "scope": 1559,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint",
                          "type": "uint256"
                        },
                        "id": 1549,
                        "name": "ElementaryTypeName",
                        "src": "1089:4:7"
                      }
                    ],
                    "id": 1550,
                    "name": "VariableDeclaration",
                    "src": "1089:13:7"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "mutability": "mutable",
                      "name": "v",
                      "overrides": null,
                      "scope": 1559,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint8",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint8",
                          "type": "uint8"
                        },
                        "id": 1551,
                        "name": "ElementaryTypeName",
                        "src": "1104:5:7"
                      }
                    ],
                    "id": 1552,
                    "name": "VariableDeclaration",
                    "src": "1104:7:7"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "mutability": "mutable",
                      "name": "r",
                      "overrides": null,
                      "scope": 1559,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bytes32",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bytes32",
                          "type": "bytes32"
                        },
                        "id": 1553,
                        "name": "ElementaryTypeName",
                        "src": "1113:7:7"
                      }
                    ],
                    "id": 1554,
                    "name": "VariableDeclaration",
                    "src": "1113:9:7"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "mutability": "mutable",
                      "name": "s",
                      "overrides": null,
                      "scope": 1559,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bytes32",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bytes32",
                          "type": "bytes32"
                        },
                        "id": 1555,
                        "name": "ElementaryTypeName",
                        "src": "1124:7:7"
                      }
                    ],
                    "id": 1556,
                    "name": "VariableDeclaration",
                    "src": "1124:9:7"
                  }
                ],
                "id": 1557,
                "name": "ParameterList",
                "src": "1044:90:7"
              },
              {
                "attributes": {
                  "parameters": [
                    null
                  ]
                },
                "children": [],
                "id": 1558,
                "name": "ParameterList",
                "src": "1143:0:7"
              }
            ],
            "id": 1559,
            "name": "FunctionDefinition",
            "src": "1029:115:7"
          },
          {
            "attributes": {
              "anonymous": false,
              "documentation": null,
              "name": "Mint"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "indexed": true,
                      "mutability": "mutable",
                      "name": "sender",
                      "overrides": null,
                      "scope": 1567,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "stateMutability": "nonpayable",
                          "type": "address"
                        },
                        "id": 1560,
                        "name": "ElementaryTypeName",
                        "src": "1161:7:7"
                      }
                    ],
                    "id": 1561,
                    "name": "VariableDeclaration",
                    "src": "1161:22:7"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "indexed": false,
                      "mutability": "mutable",
                      "name": "amount0",
                      "overrides": null,
                      "scope": 1567,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint",
                          "type": "uint256"
                        },
                        "id": 1562,
                        "name": "ElementaryTypeName",
                        "src": "1185:4:7"
                      }
                    ],
                    "id": 1563,
                    "name": "VariableDeclaration",
                    "src": "1185:12:7"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "indexed": false,
                      "mutability": "mutable",
                      "name": "amount1",
                      "overrides": null,
                      "scope": 1567,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint",
                          "type": "uint256"
                        },
                        "id": 1564,
                        "name": "ElementaryTypeName",
                        "src": "1199:4:7"
                      }
                    ],
                    "id": 1565,
                    "name": "VariableDeclaration",
                    "src": "1199:12:7"
                  }
                ],
                "id": 1566,
                "name": "ParameterList",
                "src": "1160:52:7"
              }
            ],
            "id": 1567,
            "name": "EventDefinition",
            "src": "1150:63:7"
          },
          {
            "attributes": {
              "anonymous": false,
              "documentation": null,
              "name": "Burn"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "indexed": true,
                      "mutability": "mutable",
                      "name": "sender",
                      "overrides": null,
                      "scope": 1577,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "stateMutability": "nonpayable",
                          "type": "address"
                        },
                        "id": 1568,
                        "name": "ElementaryTypeName",
                        "src": "1229:7:7"
                      }
                    ],
                    "id": 1569,
                    "name": "VariableDeclaration",
                    "src": "1229:22:7"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "indexed": false,
                      "mutability": "mutable",
                      "name": "amount0",
                      "overrides": null,
                      "scope": 1577,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint",
                          "type": "uint256"
                        },
                        "id": 1570,
                        "name": "ElementaryTypeName",
                        "src": "1253:4:7"
                      }
                    ],
                    "id": 1571,
                    "name": "VariableDeclaration",
                    "src": "1253:12:7"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "indexed": false,
                      "mutability": "mutable",
                      "name": "amount1",
                      "overrides": null,
                      "scope": 1577,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint",
                          "type": "uint256"
                        },
                        "id": 1572,
                        "name": "ElementaryTypeName",
                        "src": "1267:4:7"
                      }
                    ],
                    "id": 1573,
                    "name": "VariableDeclaration",
                    "src": "1267:12:7"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "indexed": true,
                      "mutability": "mutable",
                      "name": "to",
                      "overrides": null,
                      "scope": 1577,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "stateMutability": "nonpayable",
                          "type": "address"
                        },
                        "id": 1574,
                        "name": "ElementaryTypeName",
                        "src": "1281:7:7"
                      }
                    ],
                    "id": 1575,
                    "name": "VariableDeclaration",
                    "src": "1281:18:7"
                  }
                ],
                "id": 1576,
                "name": "ParameterList",
                "src": "1228:72:7"
              }
            ],
            "id": 1577,
            "name": "EventDefinition",
            "src": "1218:83:7"
          },
          {
            "attributes": {
              "anonymous": false,
              "documentation": null,
              "name": "Swap"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "indexed": true,
                      "mutability": "mutable",
                      "name": "sender",
                      "overrides": null,
                      "scope": 1591,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "stateMutability": "nonpayable",
                          "type": "address"
                        },
                        "id": 1578,
                        "name": "ElementaryTypeName",
                        "src": "1326:7:7"
                      }
                    ],
                    "id": 1579,
                    "name": "VariableDeclaration",
                    "src": "1326:22:7"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "indexed": false,
                      "mutability": "mutable",
                      "name": "amount0In",
                      "overrides": null,
                      "scope": 1591,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint",
                          "type": "uint256"
                        },
                        "id": 1580,
                        "name": "ElementaryTypeName",
                        "src": "1358:4:7"
                      }
                    ],
                    "id": 1581,
                    "name": "VariableDeclaration",
                    "src": "1358:14:7"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "indexed": false,
                      "mutability": "mutable",
                      "name": "amount1In",
                      "overrides": null,
                      "scope": 1591,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint",
                          "type": "uint256"
                        },
                        "id": 1582,
                        "name": "ElementaryTypeName",
                        "src": "1382:4:7"
                      }
                    ],
                    "id": 1583,
                    "name": "VariableDeclaration",
                    "src": "1382:14:7"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "indexed": false,
                      "mutability": "mutable",
                      "name": "amount0Out",
                      "overrides": null,
                      "scope": 1591,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint",
                          "type": "uint256"
                        },
                        "id": 1584,
                        "name": "ElementaryTypeName",
                        "src": "1406:4:7"
                      }
                    ],
                    "id": 1585,
                    "name": "VariableDeclaration",
                    "src": "1406:15:7"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "indexed": false,
                      "mutability": "mutable",
                      "name": "amount1Out",
                      "overrides": null,
                      "scope": 1591,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint",
                          "type": "uint256"
                        },
                        "id": 1586,
                        "name": "ElementaryTypeName",
                        "src": "1431:4:7"
                      }
                    ],
                    "id": 1587,
                    "name": "VariableDeclaration",
                    "src": "1431:15:7"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "indexed": true,
                      "mutability": "mutable",
                      "name": "to",
                      "overrides": null,
                      "scope": 1591,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "stateMutability": "nonpayable",
                          "type": "address"
                        },
                        "id": 1588,
                        "name": "ElementaryTypeName",
                        "src": "1456:7:7"
                      }
                    ],
                    "id": 1589,
                    "name": "VariableDeclaration",
                    "src": "1456:18:7"
                  }
                ],
                "id": 1590,
                "name": "ParameterList",
                "src": "1316:164:7"
              }
            ],
            "id": 1591,
            "name": "EventDefinition",
            "src": "1306:175:7"
          },
          {
            "attributes": {
              "anonymous": false,
              "documentation": null,
              "name": "Sync"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "indexed": false,
                      "mutability": "mutable",
                      "name": "reserve0",
                      "overrides": null,
                      "scope": 1597,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint112",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint112",
                          "type": "uint112"
                        },
                        "id": 1592,
                        "name": "ElementaryTypeName",
                        "src": "1497:7:7"
                      }
                    ],
                    "id": 1593,
                    "name": "VariableDeclaration",
                    "src": "1497:16:7"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "indexed": false,
                      "mutability": "mutable",
                      "name": "reserve1",
                      "overrides": null,
                      "scope": 1597,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint112",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint112",
                          "type": "uint112"
                        },
                        "id": 1594,
                        "name": "ElementaryTypeName",
                        "src": "1515:7:7"
                      }
                    ],
                    "id": 1595,
                    "name": "VariableDeclaration",
                    "src": "1515:16:7"
                  }
                ],
                "id": 1596,
                "name": "ParameterList",
                "src": "1496:36:7"
              }
            ],
            "id": 1597,
            "name": "EventDefinition",
            "src": "1486:47:7"
          },
          {
            "attributes": {
              "body": null,
              "documentation": null,
              "functionSelector": "ba9a7a56",
              "implemented": false,
              "isConstructor": false,
              "kind": "function",
              "modifiers": [
                null
              ],
              "name": "MINIMUM_LIQUIDITY",
              "overrides": null,
              "scope": 1684,
              "stateMutability": "pure",
              "virtual": false,
              "visibility": "external"
            },
            "children": [
              {
                "attributes": {
                  "parameters": [
                    null
                  ]
                },
                "children": [],
                "id": 1598,
                "name": "ParameterList",
                "src": "1565:2:7"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "mutability": "mutable",
                      "name": "",
                      "overrides": null,
                      "scope": 1602,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint",
                          "type": "uint256"
                        },
                        "id": 1599,
                        "name": "ElementaryTypeName",
                        "src": "1591:4:7"
                      }
                    ],
                    "id": 1600,
                    "name": "VariableDeclaration",
                    "src": "1591:4:7"
                  }
                ],
                "id": 1601,
                "name": "ParameterList",
                "src": "1590:6:7"
              }
            ],
            "id": 1602,
            "name": "FunctionDefinition",
            "src": "1539:58:7"
          },
          {
            "attributes": {
              "body": null,
              "documentation": null,
              "functionSelector": "c45a0155",
              "implemented": false,
              "isConstructor": false,
              "kind": "function",
              "modifiers": [
                null
              ],
              "name": "factory",
              "overrides": null,
              "scope": 1684,
              "stateMutability": "view",
              "virtual": false,
              "visibility": "external"
            },
            "children": [
              {
                "attributes": {
                  "parameters": [
                    null
                  ]
                },
                "children": [],
                "id": 1603,
                "name": "ParameterList",
                "src": "1618:2:7"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "mutability": "mutable",
                      "name": "",
                      "overrides": null,
                      "scope": 1607,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "stateMutability": "nonpayable",
                          "type": "address"
                        },
                        "id": 1604,
                        "name": "ElementaryTypeName",
                        "src": "1644:7:7"
                      }
                    ],
                    "id": 1605,
                    "name": "VariableDeclaration",
                    "src": "1644:7:7"
                  }
                ],
                "id": 1606,
                "name": "ParameterList",
                "src": "1643:9:7"
              }
            ],
            "id": 1607,
            "name": "FunctionDefinition",
            "src": "1602:51:7"
          },
          {
            "attributes": {
              "body": null,
              "documentation": null,
              "functionSelector": "0dfe1681",
              "implemented": false,
              "isConstructor": false,
              "kind": "function",
              "modifiers": [
                null
              ],
              "name": "token0",
              "overrides": null,
              "scope": 1684,
              "stateMutability": "view",
              "virtual": false,
              "visibility": "external"
            },
            "children": [
              {
                "attributes": {
                  "parameters": [
                    null
                  ]
                },
                "children": [],
                "id": 1608,
                "name": "ParameterList",
                "src": "1673:2:7"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "mutability": "mutable",
                      "name": "",
                      "overrides": null,
                      "scope": 1612,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "stateMutability": "nonpayable",
                          "type": "address"
                        },
                        "id": 1609,
                        "name": "ElementaryTypeName",
                        "src": "1699:7:7"
                      }
                    ],
                    "id": 1610,
                    "name": "VariableDeclaration",
                    "src": "1699:7:7"
                  }
                ],
                "id": 1611,
                "name": "ParameterList",
                "src": "1698:9:7"
              }
            ],
            "id": 1612,
            "name": "FunctionDefinition",
            "src": "1658:50:7"
          },
          {
            "attributes": {
              "body": null,
              "documentation": null,
              "functionSelector": "d21220a7",
              "implemented": false,
              "isConstructor": false,
              "kind": "function",
              "modifiers": [
                null
              ],
              "name": "token1",
              "overrides": null,
              "scope": 1684,
              "stateMutability": "view",
              "virtual": false,
              "visibility": "external"
            },
            "children": [
              {
                "attributes": {
                  "parameters": [
                    null
                  ]
                },
                "children": [],
                "id": 1613,
                "name": "ParameterList",
                "src": "1728:2:7"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "mutability": "mutable",
                      "name": "",
                      "overrides": null,
                      "scope": 1617,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "stateMutability": "nonpayable",
                          "type": "address"
                        },
                        "id": 1614,
                        "name": "ElementaryTypeName",
                        "src": "1754:7:7"
                      }
                    ],
                    "id": 1615,
                    "name": "VariableDeclaration",
                    "src": "1754:7:7"
                  }
                ],
                "id": 1616,
                "name": "ParameterList",
                "src": "1753:9:7"
              }
            ],
            "id": 1617,
            "name": "FunctionDefinition",
            "src": "1713:50:7"
          },
          {
            "attributes": {
              "body": null,
              "documentation": null,
              "functionSelector": "0902f1ac",
              "implemented": false,
              "isConstructor": false,
              "kind": "function",
              "modifiers": [
                null
              ],
              "name": "getReserves",
              "overrides": null,
              "scope": 1684,
              "stateMutability": "view",
              "virtual": false,
              "visibility": "external"
            },
            "children": [
              {
                "attributes": {
                  "parameters": [
                    null
                  ]
                },
                "children": [],
                "id": 1618,
                "name": "ParameterList",
                "src": "1788:2:7"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "mutability": "mutable",
                      "name": "reserve0",
                      "overrides": null,
                      "scope": 1626,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint112",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint112",
                          "type": "uint112"
                        },
                        "id": 1619,
                        "name": "ElementaryTypeName",
                        "src": "1814:7:7"
                      }
                    ],
                    "id": 1620,
                    "name": "VariableDeclaration",
                    "src": "1814:16:7"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "mutability": "mutable",
                      "name": "reserve1",
                      "overrides": null,
                      "scope": 1626,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint112",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint112",
                          "type": "uint112"
                        },
                        "id": 1621,
                        "name": "ElementaryTypeName",
                        "src": "1832:7:7"
                      }
                    ],
                    "id": 1622,
                    "name": "VariableDeclaration",
                    "src": "1832:16:7"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "mutability": "mutable",
                      "name": "blockTimestampLast",
                      "overrides": null,
                      "scope": 1626,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint32",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint32",
                          "type": "uint32"
                        },
                        "id": 1623,
                        "name": "ElementaryTypeName",
                        "src": "1850:6:7"
                      }
                    ],
                    "id": 1624,
                    "name": "VariableDeclaration",
                    "src": "1850:25:7"
                  }
                ],
                "id": 1625,
                "name": "ParameterList",
                "src": "1813:63:7"
              }
            ],
            "id": 1626,
            "name": "FunctionDefinition",
            "src": "1768:109:7"
          },
          {
            "attributes": {
              "body": null,
              "documentation": null,
              "functionSelector": "5909c0d5",
              "implemented": false,
              "isConstructor": false,
              "kind": "function",
              "modifiers": [
                null
              ],
              "name": "price0CumulativeLast",
              "overrides": null,
              "scope": 1684,
              "stateMutability": "view",
              "virtual": false,
              "visibility": "external"
            },
            "children": [
              {
                "attributes": {
                  "parameters": [
                    null
                  ]
                },
                "children": [],
                "id": 1627,
                "name": "ParameterList",
                "src": "1911:2:7"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "mutability": "mutable",
                      "name": "",
                      "overrides": null,
                      "scope": 1631,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint",
                          "type": "uint256"
                        },
                        "id": 1628,
                        "name": "ElementaryTypeName",
                        "src": "1937:4:7"
                      }
                    ],
                    "id": 1629,
                    "name": "VariableDeclaration",
                    "src": "1937:4:7"
                  }
                ],
                "id": 1630,
                "name": "ParameterList",
                "src": "1936:6:7"
              }
            ],
            "id": 1631,
            "name": "FunctionDefinition",
            "src": "1882:61:7"
          },
          {
            "attributes": {
              "body": null,
              "documentation": null,
              "functionSelector": "5a3d5493",
              "implemented": false,
              "isConstructor": false,
              "kind": "function",
              "modifiers": [
                null
              ],
              "name": "price1CumulativeLast",
              "overrides": null,
              "scope": 1684,
              "stateMutability": "view",
              "virtual": false,
              "visibility": "external"
            },
            "children": [
              {
                "attributes": {
                  "parameters": [
                    null
                  ]
                },
                "children": [],
                "id": 1632,
                "name": "ParameterList",
                "src": "1977:2:7"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "mutability": "mutable",
                      "name": "",
                      "overrides": null,
                      "scope": 1636,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint",
                          "type": "uint256"
                        },
                        "id": 1633,
                        "name": "ElementaryTypeName",
                        "src": "2003:4:7"
                      }
                    ],
                    "id": 1634,
                    "name": "VariableDeclaration",
                    "src": "2003:4:7"
                  }
                ],
                "id": 1635,
                "name": "ParameterList",
                "src": "2002:6:7"
              }
            ],
            "id": 1636,
            "name": "FunctionDefinition",
            "src": "1948:61:7"
          },
          {
            "attributes": {
              "body": null,
              "documentation": null,
              "functionSelector": "7464fc3d",
              "implemented": false,
              "isConstructor": false,
              "kind": "function",
              "modifiers": [
                null
              ],
              "name": "kLast",
              "overrides": null,
              "scope": 1684,
              "stateMutability": "view",
              "virtual": false,
              "visibility": "external"
            },
            "children": [
              {
                "attributes": {
                  "parameters": [
                    null
                  ]
                },
                "children": [],
                "id": 1637,
                "name": "ParameterList",
                "src": "2028:2:7"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "mutability": "mutable",
                      "name": "",
                      "overrides": null,
                      "scope": 1641,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint",
                          "type": "uint256"
                        },
                        "id": 1638,
                        "name": "ElementaryTypeName",
                        "src": "2054:4:7"
                      }
                    ],
                    "id": 1639,
                    "name": "VariableDeclaration",
                    "src": "2054:4:7"
                  }
                ],
                "id": 1640,
                "name": "ParameterList",
                "src": "2053:6:7"
              }
            ],
            "id": 1641,
            "name": "FunctionDefinition",
            "src": "2014:46:7"
          },
          {
            "attributes": {
              "body": null,
              "documentation": null,
              "functionSelector": "6a627842",
              "implemented": false,
              "isConstructor": false,
              "kind": "function",
              "modifiers": [
                null
              ],
              "name": "mint",
              "overrides": null,
              "scope": 1684,
              "stateMutability": "nonpayable",
              "virtual": false,
              "visibility": "external"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "mutability": "mutable",
                      "name": "to",
                      "overrides": null,
                      "scope": 1648,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "stateMutability": "nonpayable",
                          "type": "address"
                        },
                        "id": 1642,
                        "name": "ElementaryTypeName",
                        "src": "2080:7:7"
                      }
                    ],
                    "id": 1643,
                    "name": "VariableDeclaration",
                    "src": "2080:10:7"
                  }
                ],
                "id": 1644,
                "name": "ParameterList",
                "src": "2079:12:7"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "mutability": "mutable",
                      "name": "liquidity",
                      "overrides": null,
                      "scope": 1648,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint",
                          "type": "uint256"
                        },
                        "id": 1645,
                        "name": "ElementaryTypeName",
                        "src": "2110:4:7"
                      }
                    ],
                    "id": 1646,
                    "name": "VariableDeclaration",
                    "src": "2110:14:7"
                  }
                ],
                "id": 1647,
                "name": "ParameterList",
                "src": "2109:16:7"
              }
            ],
            "id": 1648,
            "name": "FunctionDefinition",
            "src": "2066:60:7"
          },
          {
            "attributes": {
              "body": null,
              "documentation": null,
              "functionSelector": "89afcb44",
              "implemented": false,
              "isConstructor": false,
              "kind": "function",
              "modifiers": [
                null
              ],
              "name": "burn",
              "overrides": null,
              "scope": 1684,
              "stateMutability": "nonpayable",
              "virtual": false,
              "visibility": "external"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "mutability": "mutable",
                      "name": "to",
                      "overrides": null,
                      "scope": 1657,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "stateMutability": "nonpayable",
                          "type": "address"
                        },
                        "id": 1649,
                        "name": "ElementaryTypeName",
                        "src": "2145:7:7"
                      }
                    ],
                    "id": 1650,
                    "name": "VariableDeclaration",
                    "src": "2145:10:7"
                  }
                ],
                "id": 1651,
                "name": "ParameterList",
                "src": "2144:12:7"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "mutability": "mutable",
                      "name": "amount0",
                      "overrides": null,
                      "scope": 1657,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint",
                          "type": "uint256"
                        },
                        "id": 1652,
                        "name": "ElementaryTypeName",
                        "src": "2175:4:7"
                      }
                    ],
                    "id": 1653,
                    "name": "VariableDeclaration",
                    "src": "2175:12:7"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "mutability": "mutable",
                      "name": "amount1",
                      "overrides": null,
                      "scope": 1657,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint",
                          "type": "uint256"
                        },
                        "id": 1654,
                        "name": "ElementaryTypeName",
                        "src": "2189:4:7"
                      }
                    ],
                    "id": 1655,
                    "name": "VariableDeclaration",
                    "src": "2189:12:7"
                  }
                ],
                "id": 1656,
                "name": "ParameterList",
                "src": "2174:28:7"
              }
            ],
            "id": 1657,
            "name": "FunctionDefinition",
            "src": "2131:72:7"
          },
          {
            "attributes": {
              "body": null,
              "documentation": null,
              "functionSelector": "022c0d9f",
              "implemented": false,
              "isConstructor": false,
              "kind": "function",
              "modifiers": [
                null
              ],
              "name": "swap",
              "overrides": null,
              "scope": 1684,
              "stateMutability": "nonpayable",
              "virtual": false,
              "visibility": "external"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "mutability": "mutable",
                      "name": "amount0Out",
                      "overrides": null,
                      "scope": 1668,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint",
                          "type": "uint256"
                        },
                        "id": 1658,
                        "name": "ElementaryTypeName",
                        "src": "2222:4:7"
                      }
                    ],
                    "id": 1659,
                    "name": "VariableDeclaration",
                    "src": "2222:15:7"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "mutability": "mutable",
                      "name": "amount1Out",
                      "overrides": null,
                      "scope": 1668,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint",
                          "type": "uint256"
                        },
                        "id": 1660,
                        "name": "ElementaryTypeName",
                        "src": "2239:4:7"
                      }
                    ],
                    "id": 1661,
                    "name": "VariableDeclaration",
                    "src": "2239:15:7"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "mutability": "mutable",
                      "name": "to",
                      "overrides": null,
                      "scope": 1668,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "stateMutability": "nonpayable",
                          "type": "address"
                        },
                        "id": 1662,
                        "name": "ElementaryTypeName",
                        "src": "2256:7:7"
                      }
                    ],
                    "id": 1663,
                    "name": "VariableDeclaration",
                    "src": "2256:10:7"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "mutability": "mutable",
                      "name": "data",
                      "overrides": null,
                      "scope": 1668,
                      "stateVariable": false,
                      "storageLocation": "calldata",
                      "type": "bytes",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bytes",
                          "type": "bytes"
                        },
                        "id": 1664,
                        "name": "ElementaryTypeName",
                        "src": "2268:5:7"
                      }
                    ],
                    "id": 1665,
                    "name": "VariableDeclaration",
                    "src": "2268:19:7"
                  }
                ],
                "id": 1666,
                "name": "ParameterList",
                "src": "2221:67:7"
              },
              {
                "attributes": {
                  "parameters": [
                    null
                  ]
                },
                "children": [],
                "id": 1667,
                "name": "ParameterList",
                "src": "2297:0:7"
              }
            ],
            "id": 1668,
            "name": "FunctionDefinition",
            "src": "2208:90:7"
          },
          {
            "attributes": {
              "body": null,
              "documentation": null,
              "functionSelector": "bc25cf77",
              "implemented": false,
              "isConstructor": false,
              "kind": "function",
              "modifiers": [
                null
              ],
              "name": "skim",
              "overrides": null,
              "scope": 1684,
              "stateMutability": "nonpayable",
              "virtual": false,
              "visibility": "external"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "mutability": "mutable",
                      "name": "to",
                      "overrides": null,
                      "scope": 1673,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "stateMutability": "nonpayable",
                          "type": "address"
                        },
                        "id": 1669,
                        "name": "ElementaryTypeName",
                        "src": "2317:7:7"
                      }
                    ],
                    "id": 1670,
                    "name": "VariableDeclaration",
                    "src": "2317:10:7"
                  }
                ],
                "id": 1671,
                "name": "ParameterList",
                "src": "2316:12:7"
              },
              {
                "attributes": {
                  "parameters": [
                    null
                  ]
                },
                "children": [],
                "id": 1672,
                "name": "ParameterList",
                "src": "2337:0:7"
              }
            ],
            "id": 1673,
            "name": "FunctionDefinition",
            "src": "2303:35:7"
          },
          {
            "attributes": {
              "body": null,
              "documentation": null,
              "functionSelector": "fff6cae9",
              "implemented": false,
              "isConstructor": false,
              "kind": "function",
              "modifiers": [
                null
              ],
              "name": "sync",
              "overrides": null,
              "scope": 1684,
              "stateMutability": "nonpayable",
              "virtual": false,
              "visibility": "external"
            },
            "children": [
              {
                "attributes": {
                  "parameters": [
                    null
                  ]
                },
                "children": [],
                "id": 1674,
                "name": "ParameterList",
                "src": "2356:2:7"
              },
              {
                "attributes": {
                  "parameters": [
                    null
                  ]
                },
                "children": [],
                "id": 1675,
                "name": "ParameterList",
                "src": "2367:0:7"
              }
            ],
            "id": 1676,
            "name": "FunctionDefinition",
            "src": "2343:25:7"
          },
          {
            "attributes": {
              "body": null,
              "documentation": null,
              "functionSelector": "485cc955",
              "implemented": false,
              "isConstructor": false,
              "kind": "function",
              "modifiers": [
                null
              ],
              "name": "initialize",
              "overrides": null,
              "scope": 1684,
              "stateMutability": "nonpayable",
              "virtual": false,
              "visibility": "external"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "mutability": "mutable",
                      "name": "",
                      "overrides": null,
                      "scope": 1683,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "stateMutability": "nonpayable",
                          "type": "address"
                        },
                        "id": 1677,
                        "name": "ElementaryTypeName",
                        "src": "2394:7:7"
                      }
                    ],
                    "id": 1678,
                    "name": "VariableDeclaration",
                    "src": "2394:7:7"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "mutability": "mutable",
                      "name": "",
                      "overrides": null,
                      "scope": 1683,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "stateMutability": "nonpayable",
                          "type": "address"
                        },
                        "id": 1679,
                        "name": "ElementaryTypeName",
                        "src": "2403:7:7"
                      }
                    ],
                    "id": 1680,
                    "name": "VariableDeclaration",
                    "src": "2403:7:7"
                  }
                ],
                "id": 1681,
                "name": "ParameterList",
                "src": "2393:18:7"
              },
              {
                "attributes": {
                  "parameters": [
                    null
                  ]
                },
                "children": [],
                "id": 1682,
                "name": "ParameterList",
                "src": "2420:0:7"
              }
            ],
            "id": 1683,
            "name": "FunctionDefinition",
            "src": "2374:47:7"
          }
        ],
        "id": 1684,
        "name": "ContractDefinition",
        "src": "26:2397:7"
      }
    ],
    "id": 1685,
    "name": "SourceUnit",
    "src": "0:2424:7"
  },
  "compiler": {
    "name": "solc",
    "version": "0.6.10+commit.00c0fcaf.Emscripten.clang"
  },
  "networks": {},
  "schemaVersion": "3.4.1",
  "updatedAt": "2021-07-08T17:04:13.736Z",
  "devdoc": {
    "methods": {}
  },
  "userdoc": {
    "methods": {}
  }
}