{
  "contractName": "CErc20Interface",
  "abi": [
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "interestAccumulated",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "borrowIndex",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "totalBorrows",
          "type": "uint256"
        }
      ],
      "name": "AccrueInterest",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "address",
          "name": "owner",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "address",
          "name": "spender",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "amount",
          "type": "uint256"
        }
      ],
      "name": "Approval",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "address",
          "name": "borrower",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "borrowAmount",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "accountBorrows",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "totalBorrows",
          "type": "uint256"
        }
      ],
      "name": "Borrow",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "error",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "info",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "detail",
          "type": "uint256"
        }
      ],
      "name": "Failure",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "address",
          "name": "liquidator",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "address",
          "name": "borrower",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "repayAmount",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "address",
          "name": "cTokenCollateral",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "seizeTokens",
          "type": "uint256"
        }
      ],
      "name": "LiquidateBorrow",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "address",
          "name": "minter",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "mintAmount",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "mintTokens",
          "type": "uint256"
        }
      ],
      "name": "Mint",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "address",
          "name": "oldAdmin",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "address",
          "name": "newAdmin",
          "type": "address"
        }
      ],
      "name": "NewAdmin",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "address",
          "name": "oldComptroller",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "address",
          "name": "newComptroller",
          "type": "address"
        }
      ],
      "name": "NewComptroller",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "address",
          "name": "oldInterestRateModel",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "address",
          "name": "newInterestRateModel",
          "type": "address"
        }
      ],
      "name": "NewMarketInterestRateModel",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "address",
          "name": "oldPendingAdmin",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "address",
          "name": "newPendingAdmin",
          "type": "address"
        }
      ],
      "name": "NewPendingAdmin",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "oldReserveFactorMantissa",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "newReserveFactorMantissa",
          "type": "uint256"
        }
      ],
      "name": "NewReserveFactor",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "address",
          "name": "redeemer",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "redeemAmount",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "redeemTokens",
          "type": "uint256"
        }
      ],
      "name": "Redeem",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "address",
          "name": "payer",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "address",
          "name": "borrower",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "repayAmount",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "accountBorrows",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "totalBorrows",
          "type": "uint256"
        }
      ],
      "name": "RepayBorrow",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "address",
          "name": "admin",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "reduceAmount",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "newTotalReserves",
          "type": "uint256"
        }
      ],
      "name": "ReservesReduced",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "address",
          "name": "from",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "address",
          "name": "to",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "amount",
          "type": "uint256"
        }
      ],
      "name": "Transfer",
      "type": "event"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "name",
      "outputs": [
        {
          "internalType": "string",
          "name": "",
          "type": "string"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "internalType": "address",
          "name": "spender",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "amount",
          "type": "uint256"
        }
      ],
      "name": "approve",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "internalType": "uint256",
          "name": "repayAmount",
          "type": "uint256"
        }
      ],
      "name": "repayBorrow",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "reserveFactorMantissa",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "internalType": "address",
          "name": "account",
          "type": "address"
        }
      ],
      "name": "borrowBalanceCurrent",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "totalSupply",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "exchangeRateStored",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "internalType": "address",
          "name": "src",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "dst",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "amount",
          "type": "uint256"
        }
      ],
      "name": "transferFrom",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "internalType": "address",
          "name": "borrower",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "repayAmount",
          "type": "uint256"
        }
      ],
      "name": "repayBorrowBehalf",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "pendingAdmin",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "decimals",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "internalType": "address",
          "name": "owner",
          "type": "address"
        }
      ],
      "name": "balanceOfUnderlying",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "getCash",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "internalType": "address",
          "name": "newComptroller",
          "type": "address"
        }
      ],
      "name": "_setComptroller",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "totalBorrows",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "comptroller",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "internalType": "uint256",
          "name": "reduceAmount",
          "type": "uint256"
        }
      ],
      "name": "_reduceReserves",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "initialExchangeRateMantissa",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "accrualBlockNumber",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "underlying",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "internalType": "address",
          "name": "owner",
          "type": "address"
        }
      ],
      "name": "balanceOf",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [],
      "name": "totalBorrowsCurrent",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "internalType": "uint256",
          "name": "redeemAmount",
          "type": "uint256"
        }
      ],
      "name": "redeemUnderlying",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "totalReserves",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "symbol",
      "outputs": [
        {
          "internalType": "string",
          "name": "",
          "type": "string"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "internalType": "address",
          "name": "account",
          "type": "address"
        }
      ],
      "name": "borrowBalanceStored",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "internalType": "uint256",
          "name": "mintAmount",
          "type": "uint256"
        }
      ],
      "name": "mint",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [],
      "name": "accrueInterest",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "internalType": "address",
          "name": "dst",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "amount",
          "type": "uint256"
        }
      ],
      "name": "transfer",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "borrowIndex",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "supplyRatePerBlock",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "internalType": "address",
          "name": "liquidator",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "borrower",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "seizeTokens",
          "type": "uint256"
        }
      ],
      "name": "seize",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "internalType": "address",
          "name": "newPendingAdmin",
          "type": "address"
        }
      ],
      "name": "_setPendingAdmin",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [],
      "name": "exchangeRateCurrent",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "internalType": "address",
          "name": "account",
          "type": "address"
        }
      ],
      "name": "getAccountSnapshot",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "internalType": "uint256",
          "name": "borrowAmount",
          "type": "uint256"
        }
      ],
      "name": "borrow",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "internalType": "uint256",
          "name": "redeemTokens",
          "type": "uint256"
        }
      ],
      "name": "redeem",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "internalType": "address",
          "name": "owner",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "spender",
          "type": "address"
        }
      ],
      "name": "allowance",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [],
      "name": "_acceptAdmin",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "internalType": "address",
          "name": "newInterestRateModel",
          "type": "address"
        }
      ],
      "name": "_setInterestRateModel",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "interestRateModel",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "internalType": "address",
          "name": "borrower",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "repayAmount",
          "type": "uint256"
        },
        {
          "internalType": "address",
          "name": "cTokenCollateral",
          "type": "address"
        }
      ],
      "name": "liquidateBorrow",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "admin",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "borrowRatePerBlock",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "internalType": "uint256",
          "name": "newReserveFactorMantissa",
          "type": "uint256"
        }
      ],
      "name": "_setReserveFactor",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "isCToken",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    }
  ],
  "metadata": "{\"compiler\":{\"version\":\"0.5.12+commit.7709ece9\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"interestAccumulated\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"borrowIndex\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"totalBorrows\",\"type\":\"uint256\"}],\"name\":\"AccrueInterest\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"borrower\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"borrowAmount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"accountBorrows\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"totalBorrows\",\"type\":\"uint256\"}],\"name\":\"Borrow\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"error\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"info\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"detail\",\"type\":\"uint256\"}],\"name\":\"Failure\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"liquidator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"borrower\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"repayAmount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"cTokenCollateral\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"seizeTokens\",\"type\":\"uint256\"}],\"name\":\"LiquidateBorrow\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"minter\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"mintAmount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"mintTokens\",\"type\":\"uint256\"}],\"name\":\"Mint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"oldAdmin\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"newAdmin\",\"type\":\"address\"}],\"name\":\"NewAdmin\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"oldComptroller\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"newComptroller\",\"type\":\"address\"}],\"name\":\"NewComptroller\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"oldInterestRateModel\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"newInterestRateModel\",\"type\":\"address\"}],\"name\":\"NewMarketInterestRateModel\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"oldPendingAdmin\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"newPendingAdmin\",\"type\":\"address\"}],\"name\":\"NewPendingAdmin\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"oldReserveFactorMantissa\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"newReserveFactorMantissa\",\"type\":\"uint256\"}],\"name\":\"NewReserveFactor\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"redeemer\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"redeemAmount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"redeemTokens\",\"type\":\"uint256\"}],\"name\":\"Redeem\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"payer\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"borrower\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"repayAmount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"accountBorrows\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"totalBorrows\",\"type\":\"uint256\"}],\"name\":\"RepayBorrow\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"admin\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"reduceAmount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"newTotalReserves\",\"type\":\"uint256\"}],\"name\":\"ReservesReduced\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"constant\":false,\"inputs\":[],\"name\":\"_acceptAdmin\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"reduceAmount\",\"type\":\"uint256\"}],\"name\":\"_reduceReserves\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"newComptroller\",\"type\":\"address\"}],\"name\":\"_setComptroller\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"newInterestRateModel\",\"type\":\"address\"}],\"name\":\"_setInterestRateModel\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"newPendingAdmin\",\"type\":\"address\"}],\"name\":\"_setPendingAdmin\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"newReserveFactorMantissa\",\"type\":\"uint256\"}],\"name\":\"_setReserveFactor\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"accrualBlockNumber\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"accrueInterest\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"admin\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOfUnderlying\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"borrowAmount\",\"type\":\"uint256\"}],\"name\":\"borrow\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"borrowBalanceCurrent\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"borrowBalanceStored\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"borrowIndex\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"borrowRatePerBlock\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"comptroller\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"exchangeRateCurrent\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"exchangeRateStored\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"getAccountSnapshot\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"getCash\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"initialExchangeRateMantissa\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"interestRateModel\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"isCToken\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"borrower\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"repayAmount\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"cTokenCollateral\",\"type\":\"address\"}],\"name\":\"liquidateBorrow\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"mintAmount\",\"type\":\"uint256\"}],\"name\":\"mint\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"pendingAdmin\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"redeemTokens\",\"type\":\"uint256\"}],\"name\":\"redeem\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"redeemAmount\",\"type\":\"uint256\"}],\"name\":\"redeemUnderlying\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"repayAmount\",\"type\":\"uint256\"}],\"name\":\"repayBorrow\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"borrower\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"repayAmount\",\"type\":\"uint256\"}],\"name\":\"repayBorrowBehalf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"reserveFactorMantissa\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"liquidator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"borrower\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"seizeTokens\",\"type\":\"uint256\"}],\"name\":\"seize\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"supplyRatePerBlock\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"totalBorrows\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"totalBorrowsCurrent\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"totalReserves\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"dst\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"src\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"dst\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"underlying\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"methods\":{}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/home/runner/work/rtoken-contracts/rtoken-contracts/packages/contracts/compound/contracts/CErc20Interface.sol\":\"CErc20Interface\"},\"evmVersion\":\"petersburg\",\"libraries\":{},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"/home/runner/work/rtoken-contracts/rtoken-contracts/packages/contracts/compound/contracts/CErc20Interface.sol\":{\"keccak256\":\"0x3832bb8f3c0e83622c95e8e7f71597bc8241a2f5f393b662455e2c84f33aca0f\",\"urls\":[\"bzz-raw://265795e913b977f65f12af7b17c8de1c04fe12a993e439ed8a9b3ec8f47ff0b5\",\"dweb:/ipfs/QmXtrEgxbSFGwmirLvpbYo1ZeQ3Puze78UJ8MwLxKaUPTB\"]}},\"version\":1}",
  "bytecode": "0x",
  "deployedBytecode": "0x",
  "sourceMap": "",
  "deployedSourceMap": "",
  "source": "pragma solidity >=0.4.21 <0.6.0;\n\n// converted from ethereum/contracts/compound/abi/CErc20.json\ninterface CErc20Interface {\n\n    function name() external view returns (\n        string memory\n    );\n\n    function approve(\n        address spender,\n        uint256 amount\n    ) external returns (\n        bool\n    );\n\n    function repayBorrow(\n        uint256 repayAmount\n    ) external returns (\n        uint256\n    );\n\n    function reserveFactorMantissa() external view returns (\n        uint256\n    );\n\n    function borrowBalanceCurrent(\n        address account\n    ) external returns (\n        uint256\n    );\n\n    function totalSupply() external view returns (\n        uint256\n    );\n\n    function exchangeRateStored() external view returns (\n        uint256\n    );\n\n    function transferFrom(\n        address src,\n        address dst,\n        uint256 amount\n    ) external returns (\n        bool\n    );\n\n    function repayBorrowBehalf(\n        address borrower,\n        uint256 repayAmount\n    ) external returns (\n        uint256\n    );\n\n    function pendingAdmin() external view returns (\n        address\n    );\n\n    function decimals() external view returns (\n        uint256\n    );\n\n    function balanceOfUnderlying(\n        address owner\n    ) external returns (\n        uint256\n    );\n\n    function getCash() external view returns (\n        uint256\n    );\n\n    function _setComptroller(\n        address newComptroller\n    ) external returns (\n        uint256\n    );\n\n    function totalBorrows() external view returns (\n        uint256\n    );\n\n    function comptroller() external view returns (\n        address\n    );\n\n    function _reduceReserves(\n        uint256 reduceAmount\n    ) external returns (\n        uint256\n    );\n\n    function initialExchangeRateMantissa() external view returns (\n        uint256\n    );\n\n    function accrualBlockNumber() external view returns (\n        uint256\n    );\n\n    function underlying() external view returns (\n        address\n    );\n\n    function balanceOf(\n        address owner\n    ) external view returns (\n        uint256\n    );\n\n    function totalBorrowsCurrent() external returns (\n        uint256\n    );\n\n    function redeemUnderlying(\n        uint256 redeemAmount\n    ) external returns (\n        uint256\n    );\n\n    function totalReserves() external view returns (\n        uint256\n    );\n\n    function symbol() external view returns (\n        string memory\n    );\n\n    function borrowBalanceStored(\n        address account\n    ) external view returns (\n        uint256\n    );\n\n    function mint(\n        uint256 mintAmount\n    ) external returns (\n        uint256\n    );\n\n    function accrueInterest() external returns (\n        uint256\n    );\n\n    function transfer(\n        address dst,\n        uint256 amount\n    ) external returns (\n        bool\n    );\n\n    function borrowIndex() external view returns (\n        uint256\n    );\n\n    function supplyRatePerBlock() external view returns (\n        uint256\n    );\n\n    function seize(\n        address liquidator,\n        address borrower,\n        uint256 seizeTokens\n    ) external returns (\n        uint256\n    );\n\n    function _setPendingAdmin(\n        address newPendingAdmin\n    ) external returns (\n        uint256\n    );\n\n    function exchangeRateCurrent() external returns (\n        uint256\n    );\n\n    function getAccountSnapshot(\n        address account\n    ) external view returns (\n        uint256,\n        uint256,\n        uint256,\n        uint256\n    );\n\n    function borrow(\n        uint256 borrowAmount\n    ) external returns (\n        uint256\n    );\n\n    function redeem(\n        uint256 redeemTokens\n    ) external returns (\n        uint256\n    );\n\n    function allowance(\n        address owner,\n        address spender\n    ) external view returns (\n        uint256\n    );\n\n    function _acceptAdmin() external returns (\n        uint256\n    );\n\n    function _setInterestRateModel(\n        address newInterestRateModel\n    ) external returns (\n        uint256\n    );\n\n    function interestRateModel() external view returns (\n        address\n    );\n\n    function liquidateBorrow(\n        address borrower,\n        uint256 repayAmount,\n        address cTokenCollateral\n    ) external returns (\n        uint256\n    );\n\n    function admin() external view returns (\n        address\n    );\n\n    function borrowRatePerBlock() external view returns (\n        uint256\n    );\n\n    function _setReserveFactor(\n        uint256 newReserveFactorMantissa\n    ) external returns (\n        uint256\n    );\n\n    function isCToken() external view returns (\n        bool\n    );\n\n    /*\n    constructor(\n        address underlying_,\n        address comptroller_,\n        address interestRateModel_,\n        uint256 initialExchangeRateMantissa_,\n        string  calldata name_,\n        string  calldata symbol_,\n        uint256 decimals_\n    );\n    */\n\n    event AccrueInterest(\n        uint256 interestAccumulated,\n        uint256 borrowIndex,\n        uint256 totalBorrows\n    );\n\n    event Mint(\n        address minter,\n        uint256 mintAmount,\n        uint256 mintTokens\n    );\n\n    event Redeem(\n        address redeemer,\n        uint256 redeemAmount,\n        uint256 redeemTokens\n    );\n\n    event Borrow(\n        address borrower,\n        uint256 borrowAmount,\n        uint256 accountBorrows,\n        uint256 totalBorrows\n    );\n\n    event RepayBorrow(\n        address payer,\n        address borrower,\n        uint256 repayAmount,\n        uint256 accountBorrows,\n        uint256 totalBorrows\n    );\n\n    event LiquidateBorrow(\n        address liquidator,\n        address borrower,\n        uint256 repayAmount,\n        address cTokenCollateral,\n        uint256 seizeTokens\n    );\n\n    event NewPendingAdmin(\n        address oldPendingAdmin,\n        address newPendingAdmin\n    );\n\n    event NewAdmin(\n        address oldAdmin,\n        address newAdmin\n    );\n\n    event NewComptroller(\n        address oldComptroller,\n        address newComptroller\n    );\n\n    event NewMarketInterestRateModel(\n        address oldInterestRateModel,\n        address newInterestRateModel\n    );\n\n    event NewReserveFactor(\n        uint256 oldReserveFactorMantissa,\n        uint256 newReserveFactorMantissa\n    );\n\n    event ReservesReduced(\n        address admin,\n        uint256 reduceAmount,\n        uint256 newTotalReserves\n    );\n\n    event Failure(\n        uint256 error,\n        uint256 info,\n        uint256 detail\n    );\n\n    event Transfer(\n        address from,\n        address to,\n        uint256 amount\n    );\n\n    event Approval(\n        address owner,\n        address spender,\n        uint256 amount\n    );\n\n}\n",
  "sourcePath": "/home/runner/work/rtoken-contracts/rtoken-contracts/packages/contracts/compound/contracts/CErc20Interface.sol",
  "ast": {
    "absolutePath": "/home/runner/work/rtoken-contracts/rtoken-contracts/packages/contracts/compound/contracts/CErc20Interface.sol",
    "exportedSymbols": {
      "CErc20Interface": [
        700
      ]
    },
    "id": 701,
    "nodeType": "SourceUnit",
    "nodes": [
      {
        "id": 279,
        "literals": [
          "solidity",
          ">=",
          "0.4",
          ".21",
          "<",
          "0.6",
          ".0"
        ],
        "nodeType": "PragmaDirective",
        "src": "0:32:1"
      },
      {
        "baseContracts": [],
        "contractDependencies": [],
        "contractKind": "interface",
        "documentation": null,
        "fullyImplemented": false,
        "id": 700,
        "linearizedBaseContracts": [
          700
        ],
        "name": "CErc20Interface",
        "nodeType": "ContractDefinition",
        "nodes": [
          {
            "body": null,
            "documentation": null,
            "id": 284,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "name",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 280,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "142:2:1"
            },
            "returnParameters": {
              "id": 283,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 282,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 284,
                  "src": "177:13:1",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 281,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "177:6:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "167:29:1"
            },
            "scope": 700,
            "src": "129:68:1",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "id": 293,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "approve",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 289,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 286,
                  "name": "spender",
                  "nodeType": "VariableDeclaration",
                  "scope": 293,
                  "src": "229:15:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 285,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "229:7:1",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 288,
                  "name": "amount",
                  "nodeType": "VariableDeclaration",
                  "scope": 293,
                  "src": "254:14:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 287,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "254:7:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "219:55:1"
            },
            "returnParameters": {
              "id": 292,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 291,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 293,
                  "src": "302:4:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 290,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "302:4:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "292:20:1"
            },
            "scope": 700,
            "src": "203:110:1",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "id": 300,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "repayBorrow",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 296,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 295,
                  "name": "repayAmount",
                  "nodeType": "VariableDeclaration",
                  "scope": 300,
                  "src": "349:19:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 294,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "349:7:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "339:35:1"
            },
            "returnParameters": {
              "id": 299,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 298,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 300,
                  "src": "402:7:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 297,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "402:7:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "392:23:1"
            },
            "scope": 700,
            "src": "319:97:1",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "id": 305,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "reserveFactorMantissa",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 301,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "452:2:1"
            },
            "returnParameters": {
              "id": 304,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 303,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 305,
                  "src": "487:7:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 302,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "487:7:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "477:23:1"
            },
            "scope": 700,
            "src": "422:79:1",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "id": 312,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "borrowBalanceCurrent",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 308,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 307,
                  "name": "account",
                  "nodeType": "VariableDeclaration",
                  "scope": 312,
                  "src": "546:15:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 306,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "546:7:1",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "536:31:1"
            },
            "returnParameters": {
              "id": 311,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 310,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 312,
                  "src": "595:7:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 309,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "595:7:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "585:23:1"
            },
            "scope": 700,
            "src": "507:102:1",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "id": 317,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "totalSupply",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 313,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "635:2:1"
            },
            "returnParameters": {
              "id": 316,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 315,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 317,
                  "src": "670:7:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 314,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "670:7:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "660:23:1"
            },
            "scope": 700,
            "src": "615:69:1",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "id": 322,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "exchangeRateStored",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 318,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "717:2:1"
            },
            "returnParameters": {
              "id": 321,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 320,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 322,
                  "src": "752:7:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 319,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "752:7:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "742:23:1"
            },
            "scope": 700,
            "src": "690:76:1",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "id": 333,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "transferFrom",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 329,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 324,
                  "name": "src",
                  "nodeType": "VariableDeclaration",
                  "scope": 333,
                  "src": "803:11:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 323,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "803:7:1",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 326,
                  "name": "dst",
                  "nodeType": "VariableDeclaration",
                  "scope": 333,
                  "src": "824:11:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 325,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "824:7:1",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 328,
                  "name": "amount",
                  "nodeType": "VariableDeclaration",
                  "scope": 333,
                  "src": "845:14:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 327,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "845:7:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "793:72:1"
            },
            "returnParameters": {
              "id": 332,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 331,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 333,
                  "src": "893:4:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 330,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "893:4:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "883:20:1"
            },
            "scope": 700,
            "src": "772:132:1",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "id": 342,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "repayBorrowBehalf",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 338,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 335,
                  "name": "borrower",
                  "nodeType": "VariableDeclaration",
                  "scope": 342,
                  "src": "946:16:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 334,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "946:7:1",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 337,
                  "name": "repayAmount",
                  "nodeType": "VariableDeclaration",
                  "scope": 342,
                  "src": "972:19:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 336,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "972:7:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "936:61:1"
            },
            "returnParameters": {
              "id": 341,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 340,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 342,
                  "src": "1025:7:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 339,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1025:7:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1015:23:1"
            },
            "scope": 700,
            "src": "910:129:1",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "id": 347,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "pendingAdmin",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 343,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1066:2:1"
            },
            "returnParameters": {
              "id": 346,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 345,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 347,
                  "src": "1101:7:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 344,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1101:7:1",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1091:23:1"
            },
            "scope": 700,
            "src": "1045:70:1",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "id": 352,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "decimals",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 348,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1138:2:1"
            },
            "returnParameters": {
              "id": 351,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 350,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 352,
                  "src": "1173:7:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 349,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1173:7:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1163:23:1"
            },
            "scope": 700,
            "src": "1121:66:1",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "id": 359,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "balanceOfUnderlying",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 355,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 354,
                  "name": "owner",
                  "nodeType": "VariableDeclaration",
                  "scope": 359,
                  "src": "1231:13:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 353,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1231:7:1",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1221:29:1"
            },
            "returnParameters": {
              "id": 358,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 357,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 359,
                  "src": "1278:7:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 356,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1278:7:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1268:23:1"
            },
            "scope": 700,
            "src": "1193:99:1",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "id": 364,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "getCash",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 360,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1314:2:1"
            },
            "returnParameters": {
              "id": 363,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 362,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 364,
                  "src": "1349:7:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 361,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1349:7:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1339:23:1"
            },
            "scope": 700,
            "src": "1298:65:1",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "id": 371,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "_setComptroller",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 367,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 366,
                  "name": "newComptroller",
                  "nodeType": "VariableDeclaration",
                  "scope": 371,
                  "src": "1403:22:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 365,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1403:7:1",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1393:38:1"
            },
            "returnParameters": {
              "id": 370,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 369,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 371,
                  "src": "1459:7:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 368,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1459:7:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1449:23:1"
            },
            "scope": 700,
            "src": "1369:104:1",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "id": 376,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "totalBorrows",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 372,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1500:2:1"
            },
            "returnParameters": {
              "id": 375,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 374,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 376,
                  "src": "1535:7:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 373,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1535:7:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1525:23:1"
            },
            "scope": 700,
            "src": "1479:70:1",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "id": 381,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "comptroller",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 377,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1575:2:1"
            },
            "returnParameters": {
              "id": 380,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 379,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 381,
                  "src": "1610:7:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 378,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1610:7:1",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1600:23:1"
            },
            "scope": 700,
            "src": "1555:69:1",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "id": 388,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "_reduceReserves",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 384,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 383,
                  "name": "reduceAmount",
                  "nodeType": "VariableDeclaration",
                  "scope": 388,
                  "src": "1664:20:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 382,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1664:7:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1654:36:1"
            },
            "returnParameters": {
              "id": 387,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 386,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 388,
                  "src": "1718:7:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 385,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1718:7:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1708:23:1"
            },
            "scope": 700,
            "src": "1630:102:1",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "id": 393,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "initialExchangeRateMantissa",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 389,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1774:2:1"
            },
            "returnParameters": {
              "id": 392,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 391,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 393,
                  "src": "1809:7:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 390,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1809:7:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1799:23:1"
            },
            "scope": 700,
            "src": "1738:85:1",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "id": 398,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "accrualBlockNumber",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 394,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1856:2:1"
            },
            "returnParameters": {
              "id": 397,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 396,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 398,
                  "src": "1891:7:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 395,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1891:7:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1881:23:1"
            },
            "scope": 700,
            "src": "1829:76:1",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "id": 403,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "underlying",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 399,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1930:2:1"
            },
            "returnParameters": {
              "id": 402,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 401,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 403,
                  "src": "1965:7:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 400,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1965:7:1",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1955:23:1"
            },
            "scope": 700,
            "src": "1911:68:1",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "id": 410,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "balanceOf",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 406,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 405,
                  "name": "owner",
                  "nodeType": "VariableDeclaration",
                  "scope": 410,
                  "src": "2013:13:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 404,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "2013:7:1",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2003:29:1"
            },
            "returnParameters": {
              "id": 409,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 408,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 410,
                  "src": "2065:7:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 407,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "2065:7:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2055:23:1"
            },
            "scope": 700,
            "src": "1985:94:1",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "id": 415,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "totalBorrowsCurrent",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 411,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "2113:2:1"
            },
            "returnParameters": {
              "id": 414,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 413,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 415,
                  "src": "2143:7:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 412,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "2143:7:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2133:23:1"
            },
            "scope": 700,
            "src": "2085:72:1",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "id": 422,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "redeemUnderlying",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 418,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 417,
                  "name": "redeemAmount",
                  "nodeType": "VariableDeclaration",
                  "scope": 422,
                  "src": "2198:20:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 416,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "2198:7:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2188:36:1"
            },
            "returnParameters": {
              "id": 421,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 420,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 422,
                  "src": "2252:7:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 419,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "2252:7:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2242:23:1"
            },
            "scope": 700,
            "src": "2163:103:1",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "id": 427,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "totalReserves",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 423,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "2294:2:1"
            },
            "returnParameters": {
              "id": 426,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 425,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 427,
                  "src": "2329:7:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 424,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "2329:7:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2319:23:1"
            },
            "scope": 700,
            "src": "2272:71:1",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "id": 432,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "symbol",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 428,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "2364:2:1"
            },
            "returnParameters": {
              "id": 431,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 430,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 432,
                  "src": "2399:13:1",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 429,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "2399:6:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2389:29:1"
            },
            "scope": 700,
            "src": "2349:70:1",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "id": 439,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "borrowBalanceStored",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 435,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 434,
                  "name": "account",
                  "nodeType": "VariableDeclaration",
                  "scope": 439,
                  "src": "2463:15:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 433,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "2463:7:1",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2453:31:1"
            },
            "returnParameters": {
              "id": 438,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 437,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 439,
                  "src": "2517:7:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 436,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "2517:7:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2507:23:1"
            },
            "scope": 700,
            "src": "2425:106:1",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "id": 446,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "mint",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 442,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 441,
                  "name": "mintAmount",
                  "nodeType": "VariableDeclaration",
                  "scope": 446,
                  "src": "2560:18:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 440,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "2560:7:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2550:34:1"
            },
            "returnParameters": {
              "id": 445,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 444,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 446,
                  "src": "2612:7:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 443,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "2612:7:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2602:23:1"
            },
            "scope": 700,
            "src": "2537:89:1",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "id": 451,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "accrueInterest",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 447,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "2655:2:1"
            },
            "returnParameters": {
              "id": 450,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 449,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 451,
                  "src": "2685:7:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 448,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "2685:7:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2675:23:1"
            },
            "scope": 700,
            "src": "2632:67:1",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "id": 460,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "transfer",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 456,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 453,
                  "name": "dst",
                  "nodeType": "VariableDeclaration",
                  "scope": 460,
                  "src": "2732:11:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 452,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "2732:7:1",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 455,
                  "name": "amount",
                  "nodeType": "VariableDeclaration",
                  "scope": 460,
                  "src": "2753:14:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 454,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "2753:7:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2722:51:1"
            },
            "returnParameters": {
              "id": 459,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 458,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 460,
                  "src": "2801:4:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 457,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "2801:4:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2791:20:1"
            },
            "scope": 700,
            "src": "2705:107:1",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "id": 465,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "borrowIndex",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 461,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "2838:2:1"
            },
            "returnParameters": {
              "id": 464,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 463,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 465,
                  "src": "2873:7:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 462,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "2873:7:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2863:23:1"
            },
            "scope": 700,
            "src": "2818:69:1",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "id": 470,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "supplyRatePerBlock",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 466,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "2920:2:1"
            },
            "returnParameters": {
              "id": 469,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 468,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 470,
                  "src": "2955:7:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 467,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "2955:7:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2945:23:1"
            },
            "scope": 700,
            "src": "2893:76:1",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "id": 481,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "seize",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 477,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 472,
                  "name": "liquidator",
                  "nodeType": "VariableDeclaration",
                  "scope": 481,
                  "src": "2999:18:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 471,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "2999:7:1",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 474,
                  "name": "borrower",
                  "nodeType": "VariableDeclaration",
                  "scope": 481,
                  "src": "3027:16:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 473,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "3027:7:1",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 476,
                  "name": "seizeTokens",
                  "nodeType": "VariableDeclaration",
                  "scope": 481,
                  "src": "3053:19:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 475,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "3053:7:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2989:89:1"
            },
            "returnParameters": {
              "id": 480,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 479,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 481,
                  "src": "3106:7:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 478,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "3106:7:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "3096:23:1"
            },
            "scope": 700,
            "src": "2975:145:1",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "id": 488,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "_setPendingAdmin",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 484,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 483,
                  "name": "newPendingAdmin",
                  "nodeType": "VariableDeclaration",
                  "scope": 488,
                  "src": "3161:23:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 482,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "3161:7:1",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "3151:39:1"
            },
            "returnParameters": {
              "id": 487,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 486,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 488,
                  "src": "3218:7:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 485,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "3218:7:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "3208:23:1"
            },
            "scope": 700,
            "src": "3126:106:1",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "id": 493,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "exchangeRateCurrent",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 489,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "3266:2:1"
            },
            "returnParameters": {
              "id": 492,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 491,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 493,
                  "src": "3296:7:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 490,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "3296:7:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "3286:23:1"
            },
            "scope": 700,
            "src": "3238:72:1",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "id": 506,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "getAccountSnapshot",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 496,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 495,
                  "name": "account",
                  "nodeType": "VariableDeclaration",
                  "scope": 506,
                  "src": "3353:15:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 494,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "3353:7:1",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "3343:31:1"
            },
            "returnParameters": {
              "id": 505,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 498,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 506,
                  "src": "3407:7:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 497,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "3407:7:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 500,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 506,
                  "src": "3424:7:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 499,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "3424:7:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 502,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 506,
                  "src": "3441:7:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 501,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "3441:7:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 504,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 506,
                  "src": "3458:7:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 503,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "3458:7:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "3397:74:1"
            },
            "scope": 700,
            "src": "3316:156:1",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "id": 513,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "borrow",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 509,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 508,
                  "name": "borrowAmount",
                  "nodeType": "VariableDeclaration",
                  "scope": 513,
                  "src": "3503:20:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 507,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "3503:7:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "3493:36:1"
            },
            "returnParameters": {
              "id": 512,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 511,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 513,
                  "src": "3557:7:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 510,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "3557:7:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "3547:23:1"
            },
            "scope": 700,
            "src": "3478:93:1",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "id": 520,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "redeem",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 516,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 515,
                  "name": "redeemTokens",
                  "nodeType": "VariableDeclaration",
                  "scope": 520,
                  "src": "3602:20:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 514,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "3602:7:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "3592:36:1"
            },
            "returnParameters": {
              "id": 519,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 518,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 520,
                  "src": "3656:7:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 517,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "3656:7:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "3646:23:1"
            },
            "scope": 700,
            "src": "3577:93:1",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "id": 529,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "allowance",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 525,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 522,
                  "name": "owner",
                  "nodeType": "VariableDeclaration",
                  "scope": 529,
                  "src": "3704:13:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 521,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "3704:7:1",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 524,
                  "name": "spender",
                  "nodeType": "VariableDeclaration",
                  "scope": 529,
                  "src": "3727:15:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 523,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "3727:7:1",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "3694:54:1"
            },
            "returnParameters": {
              "id": 528,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 527,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 529,
                  "src": "3781:7:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 526,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "3781:7:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "3771:23:1"
            },
            "scope": 700,
            "src": "3676:119:1",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "id": 534,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "_acceptAdmin",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 530,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "3822:2:1"
            },
            "returnParameters": {
              "id": 533,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 532,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 534,
                  "src": "3852:7:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 531,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "3852:7:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "3842:23:1"
            },
            "scope": 700,
            "src": "3801:65:1",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "id": 541,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "_setInterestRateModel",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 537,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 536,
                  "name": "newInterestRateModel",
                  "nodeType": "VariableDeclaration",
                  "scope": 541,
                  "src": "3912:28:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 535,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "3912:7:1",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "3902:44:1"
            },
            "returnParameters": {
              "id": 540,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 539,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 541,
                  "src": "3974:7:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 538,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "3974:7:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "3964:23:1"
            },
            "scope": 700,
            "src": "3872:116:1",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "id": 546,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "interestRateModel",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 542,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "4020:2:1"
            },
            "returnParameters": {
              "id": 545,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 544,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 546,
                  "src": "4055:7:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 543,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "4055:7:1",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "4045:23:1"
            },
            "scope": 700,
            "src": "3994:75:1",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "id": 557,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "liquidateBorrow",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 553,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 548,
                  "name": "borrower",
                  "nodeType": "VariableDeclaration",
                  "scope": 557,
                  "src": "4109:16:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 547,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "4109:7:1",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 550,
                  "name": "repayAmount",
                  "nodeType": "VariableDeclaration",
                  "scope": 557,
                  "src": "4135:19:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 549,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "4135:7:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 552,
                  "name": "cTokenCollateral",
                  "nodeType": "VariableDeclaration",
                  "scope": 557,
                  "src": "4164:24:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 551,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "4164:7:1",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "4099:95:1"
            },
            "returnParameters": {
              "id": 556,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 555,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 557,
                  "src": "4222:7:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 554,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "4222:7:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "4212:23:1"
            },
            "scope": 700,
            "src": "4075:161:1",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "id": 562,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "admin",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 558,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "4256:2:1"
            },
            "returnParameters": {
              "id": 561,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 560,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 562,
                  "src": "4291:7:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 559,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "4291:7:1",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "4281:23:1"
            },
            "scope": 700,
            "src": "4242:63:1",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "id": 567,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "borrowRatePerBlock",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 563,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "4338:2:1"
            },
            "returnParameters": {
              "id": 566,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 565,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 567,
                  "src": "4373:7:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 564,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "4373:7:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "4363:23:1"
            },
            "scope": 700,
            "src": "4311:76:1",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "id": 574,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "_setReserveFactor",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 570,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 569,
                  "name": "newReserveFactorMantissa",
                  "nodeType": "VariableDeclaration",
                  "scope": 574,
                  "src": "4429:32:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 568,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "4429:7:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "4419:48:1"
            },
            "returnParameters": {
              "id": 573,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 572,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 574,
                  "src": "4495:7:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 571,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "4495:7:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "4485:23:1"
            },
            "scope": 700,
            "src": "4393:116:1",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "id": 579,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "isCToken",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 575,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "4532:2:1"
            },
            "returnParameters": {
              "id": 578,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 577,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 579,
                  "src": "4567:4:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 576,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "4567:4:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "4557:20:1"
            },
            "scope": 700,
            "src": "4515:63:1",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "external"
          },
          {
            "anonymous": false,
            "documentation": null,
            "id": 587,
            "name": "AccrueInterest",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 586,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 581,
                  "indexed": false,
                  "name": "interestAccumulated",
                  "nodeType": "VariableDeclaration",
                  "scope": 587,
                  "src": "4886:27:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 580,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "4886:7:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 583,
                  "indexed": false,
                  "name": "borrowIndex",
                  "nodeType": "VariableDeclaration",
                  "scope": 587,
                  "src": "4923:19:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 582,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "4923:7:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 585,
                  "indexed": false,
                  "name": "totalBorrows",
                  "nodeType": "VariableDeclaration",
                  "scope": 587,
                  "src": "4952:20:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 584,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "4952:7:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "4876:102:1"
            },
            "src": "4856:123:1"
          },
          {
            "anonymous": false,
            "documentation": null,
            "id": 595,
            "name": "Mint",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 594,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 589,
                  "indexed": false,
                  "name": "minter",
                  "nodeType": "VariableDeclaration",
                  "scope": 595,
                  "src": "5005:14:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 588,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "5005:7:1",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 591,
                  "indexed": false,
                  "name": "mintAmount",
                  "nodeType": "VariableDeclaration",
                  "scope": 595,
                  "src": "5029:18:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 590,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "5029:7:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 593,
                  "indexed": false,
                  "name": "mintTokens",
                  "nodeType": "VariableDeclaration",
                  "scope": 595,
                  "src": "5057:18:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 592,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "5057:7:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "4995:86:1"
            },
            "src": "4985:97:1"
          },
          {
            "anonymous": false,
            "documentation": null,
            "id": 603,
            "name": "Redeem",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 602,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 597,
                  "indexed": false,
                  "name": "redeemer",
                  "nodeType": "VariableDeclaration",
                  "scope": 603,
                  "src": "5110:16:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 596,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "5110:7:1",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 599,
                  "indexed": false,
                  "name": "redeemAmount",
                  "nodeType": "VariableDeclaration",
                  "scope": 603,
                  "src": "5136:20:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 598,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "5136:7:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 601,
                  "indexed": false,
                  "name": "redeemTokens",
                  "nodeType": "VariableDeclaration",
                  "scope": 603,
                  "src": "5166:20:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 600,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "5166:7:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "5100:92:1"
            },
            "src": "5088:105:1"
          },
          {
            "anonymous": false,
            "documentation": null,
            "id": 613,
            "name": "Borrow",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 612,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 605,
                  "indexed": false,
                  "name": "borrower",
                  "nodeType": "VariableDeclaration",
                  "scope": 613,
                  "src": "5221:16:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 604,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "5221:7:1",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 607,
                  "indexed": false,
                  "name": "borrowAmount",
                  "nodeType": "VariableDeclaration",
                  "scope": 613,
                  "src": "5247:20:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 606,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "5247:7:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 609,
                  "indexed": false,
                  "name": "accountBorrows",
                  "nodeType": "VariableDeclaration",
                  "scope": 613,
                  "src": "5277:22:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 608,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "5277:7:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 611,
                  "indexed": false,
                  "name": "totalBorrows",
                  "nodeType": "VariableDeclaration",
                  "scope": 613,
                  "src": "5309:20:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 610,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "5309:7:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "5211:124:1"
            },
            "src": "5199:137:1"
          },
          {
            "anonymous": false,
            "documentation": null,
            "id": 625,
            "name": "RepayBorrow",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 624,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 615,
                  "indexed": false,
                  "name": "payer",
                  "nodeType": "VariableDeclaration",
                  "scope": 625,
                  "src": "5369:13:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 614,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "5369:7:1",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 617,
                  "indexed": false,
                  "name": "borrower",
                  "nodeType": "VariableDeclaration",
                  "scope": 625,
                  "src": "5392:16:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 616,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "5392:7:1",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 619,
                  "indexed": false,
                  "name": "repayAmount",
                  "nodeType": "VariableDeclaration",
                  "scope": 625,
                  "src": "5418:19:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 618,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "5418:7:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 621,
                  "indexed": false,
                  "name": "accountBorrows",
                  "nodeType": "VariableDeclaration",
                  "scope": 625,
                  "src": "5447:22:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 620,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "5447:7:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 623,
                  "indexed": false,
                  "name": "totalBorrows",
                  "nodeType": "VariableDeclaration",
                  "scope": 625,
                  "src": "5479:20:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 622,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "5479:7:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "5359:146:1"
            },
            "src": "5342:164:1"
          },
          {
            "anonymous": false,
            "documentation": null,
            "id": 637,
            "name": "LiquidateBorrow",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 636,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 627,
                  "indexed": false,
                  "name": "liquidator",
                  "nodeType": "VariableDeclaration",
                  "scope": 637,
                  "src": "5543:18:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 626,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "5543:7:1",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 629,
                  "indexed": false,
                  "name": "borrower",
                  "nodeType": "VariableDeclaration",
                  "scope": 637,
                  "src": "5571:16:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 628,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "5571:7:1",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 631,
                  "indexed": false,
                  "name": "repayAmount",
                  "nodeType": "VariableDeclaration",
                  "scope": 637,
                  "src": "5597:19:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 630,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "5597:7:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 633,
                  "indexed": false,
                  "name": "cTokenCollateral",
                  "nodeType": "VariableDeclaration",
                  "scope": 637,
                  "src": "5626:24:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 632,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "5626:7:1",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 635,
                  "indexed": false,
                  "name": "seizeTokens",
                  "nodeType": "VariableDeclaration",
                  "scope": 637,
                  "src": "5660:19:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 634,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "5660:7:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "5533:152:1"
            },
            "src": "5512:174:1"
          },
          {
            "anonymous": false,
            "documentation": null,
            "id": 643,
            "name": "NewPendingAdmin",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 642,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 639,
                  "indexed": false,
                  "name": "oldPendingAdmin",
                  "nodeType": "VariableDeclaration",
                  "scope": 643,
                  "src": "5723:23:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 638,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "5723:7:1",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 641,
                  "indexed": false,
                  "name": "newPendingAdmin",
                  "nodeType": "VariableDeclaration",
                  "scope": 643,
                  "src": "5756:23:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 640,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "5756:7:1",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "5713:72:1"
            },
            "src": "5692:94:1"
          },
          {
            "anonymous": false,
            "documentation": null,
            "id": 649,
            "name": "NewAdmin",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 648,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 645,
                  "indexed": false,
                  "name": "oldAdmin",
                  "nodeType": "VariableDeclaration",
                  "scope": 649,
                  "src": "5816:16:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 644,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "5816:7:1",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 647,
                  "indexed": false,
                  "name": "newAdmin",
                  "nodeType": "VariableDeclaration",
                  "scope": 649,
                  "src": "5842:16:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 646,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "5842:7:1",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "5806:58:1"
            },
            "src": "5792:73:1"
          },
          {
            "anonymous": false,
            "documentation": null,
            "id": 655,
            "name": "NewComptroller",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 654,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 651,
                  "indexed": false,
                  "name": "oldComptroller",
                  "nodeType": "VariableDeclaration",
                  "scope": 655,
                  "src": "5901:22:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 650,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "5901:7:1",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 653,
                  "indexed": false,
                  "name": "newComptroller",
                  "nodeType": "VariableDeclaration",
                  "scope": 655,
                  "src": "5933:22:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 652,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "5933:7:1",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "5891:70:1"
            },
            "src": "5871:91:1"
          },
          {
            "anonymous": false,
            "documentation": null,
            "id": 661,
            "name": "NewMarketInterestRateModel",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 660,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 657,
                  "indexed": false,
                  "name": "oldInterestRateModel",
                  "nodeType": "VariableDeclaration",
                  "scope": 661,
                  "src": "6010:28:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 656,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "6010:7:1",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 659,
                  "indexed": false,
                  "name": "newInterestRateModel",
                  "nodeType": "VariableDeclaration",
                  "scope": 661,
                  "src": "6048:28:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 658,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "6048:7:1",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "6000:82:1"
            },
            "src": "5968:115:1"
          },
          {
            "anonymous": false,
            "documentation": null,
            "id": 667,
            "name": "NewReserveFactor",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 666,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 663,
                  "indexed": false,
                  "name": "oldReserveFactorMantissa",
                  "nodeType": "VariableDeclaration",
                  "scope": 667,
                  "src": "6121:32:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 662,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "6121:7:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 665,
                  "indexed": false,
                  "name": "newReserveFactorMantissa",
                  "nodeType": "VariableDeclaration",
                  "scope": 667,
                  "src": "6163:32:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 664,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "6163:7:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "6111:90:1"
            },
            "src": "6089:113:1"
          },
          {
            "anonymous": false,
            "documentation": null,
            "id": 675,
            "name": "ReservesReduced",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 674,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 669,
                  "indexed": false,
                  "name": "admin",
                  "nodeType": "VariableDeclaration",
                  "scope": 675,
                  "src": "6239:13:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 668,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "6239:7:1",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 671,
                  "indexed": false,
                  "name": "reduceAmount",
                  "nodeType": "VariableDeclaration",
                  "scope": 675,
                  "src": "6262:20:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 670,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "6262:7:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 673,
                  "indexed": false,
                  "name": "newTotalReserves",
                  "nodeType": "VariableDeclaration",
                  "scope": 675,
                  "src": "6292:24:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 672,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "6292:7:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "6229:93:1"
            },
            "src": "6208:115:1"
          },
          {
            "anonymous": false,
            "documentation": null,
            "id": 683,
            "name": "Failure",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 682,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 677,
                  "indexed": false,
                  "name": "error",
                  "nodeType": "VariableDeclaration",
                  "scope": 683,
                  "src": "6352:13:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 676,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "6352:7:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 679,
                  "indexed": false,
                  "name": "info",
                  "nodeType": "VariableDeclaration",
                  "scope": 683,
                  "src": "6375:12:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 678,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "6375:7:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 681,
                  "indexed": false,
                  "name": "detail",
                  "nodeType": "VariableDeclaration",
                  "scope": 683,
                  "src": "6397:14:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 680,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "6397:7:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "6342:75:1"
            },
            "src": "6329:89:1"
          },
          {
            "anonymous": false,
            "documentation": null,
            "id": 691,
            "name": "Transfer",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 690,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 685,
                  "indexed": false,
                  "name": "from",
                  "nodeType": "VariableDeclaration",
                  "scope": 691,
                  "src": "6448:12:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 684,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "6448:7:1",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 687,
                  "indexed": false,
                  "name": "to",
                  "nodeType": "VariableDeclaration",
                  "scope": 691,
                  "src": "6470:10:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 686,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "6470:7:1",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 689,
                  "indexed": false,
                  "name": "amount",
                  "nodeType": "VariableDeclaration",
                  "scope": 691,
                  "src": "6490:14:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 688,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "6490:7:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "6438:72:1"
            },
            "src": "6424:87:1"
          },
          {
            "anonymous": false,
            "documentation": null,
            "id": 699,
            "name": "Approval",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 698,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 693,
                  "indexed": false,
                  "name": "owner",
                  "nodeType": "VariableDeclaration",
                  "scope": 699,
                  "src": "6541:13:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 692,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "6541:7:1",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 695,
                  "indexed": false,
                  "name": "spender",
                  "nodeType": "VariableDeclaration",
                  "scope": 699,
                  "src": "6564:15:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 694,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "6564:7:1",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 697,
                  "indexed": false,
                  "name": "amount",
                  "nodeType": "VariableDeclaration",
                  "scope": 699,
                  "src": "6589:14:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 696,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "6589:7:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "6531:78:1"
            },
            "src": "6517:93:1"
          }
        ],
        "scope": 701,
        "src": "96:6517:1"
      }
    ],
    "src": "0:6614:1"
  },
  "legacyAST": {
    "absolutePath": "/home/runner/work/rtoken-contracts/rtoken-contracts/packages/contracts/compound/contracts/CErc20Interface.sol",
    "exportedSymbols": {
      "CErc20Interface": [
        700
      ]
    },
    "id": 701,
    "nodeType": "SourceUnit",
    "nodes": [
      {
        "id": 279,
        "literals": [
          "solidity",
          ">=",
          "0.4",
          ".21",
          "<",
          "0.6",
          ".0"
        ],
        "nodeType": "PragmaDirective",
        "src": "0:32:1"
      },
      {
        "baseContracts": [],
        "contractDependencies": [],
        "contractKind": "interface",
        "documentation": null,
        "fullyImplemented": false,
        "id": 700,
        "linearizedBaseContracts": [
          700
        ],
        "name": "CErc20Interface",
        "nodeType": "ContractDefinition",
        "nodes": [
          {
            "body": null,
            "documentation": null,
            "id": 284,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "name",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 280,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "142:2:1"
            },
            "returnParameters": {
              "id": 283,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 282,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 284,
                  "src": "177:13:1",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 281,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "177:6:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "167:29:1"
            },
            "scope": 700,
            "src": "129:68:1",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "id": 293,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "approve",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 289,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 286,
                  "name": "spender",
                  "nodeType": "VariableDeclaration",
                  "scope": 293,
                  "src": "229:15:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 285,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "229:7:1",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 288,
                  "name": "amount",
                  "nodeType": "VariableDeclaration",
                  "scope": 293,
                  "src": "254:14:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 287,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "254:7:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "219:55:1"
            },
            "returnParameters": {
              "id": 292,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 291,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 293,
                  "src": "302:4:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 290,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "302:4:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "292:20:1"
            },
            "scope": 700,
            "src": "203:110:1",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "id": 300,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "repayBorrow",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 296,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 295,
                  "name": "repayAmount",
                  "nodeType": "VariableDeclaration",
                  "scope": 300,
                  "src": "349:19:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 294,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "349:7:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "339:35:1"
            },
            "returnParameters": {
              "id": 299,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 298,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 300,
                  "src": "402:7:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 297,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "402:7:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "392:23:1"
            },
            "scope": 700,
            "src": "319:97:1",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "id": 305,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "reserveFactorMantissa",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 301,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "452:2:1"
            },
            "returnParameters": {
              "id": 304,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 303,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 305,
                  "src": "487:7:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 302,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "487:7:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "477:23:1"
            },
            "scope": 700,
            "src": "422:79:1",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "id": 312,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "borrowBalanceCurrent",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 308,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 307,
                  "name": "account",
                  "nodeType": "VariableDeclaration",
                  "scope": 312,
                  "src": "546:15:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 306,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "546:7:1",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "536:31:1"
            },
            "returnParameters": {
              "id": 311,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 310,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 312,
                  "src": "595:7:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 309,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "595:7:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "585:23:1"
            },
            "scope": 700,
            "src": "507:102:1",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "id": 317,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "totalSupply",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 313,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "635:2:1"
            },
            "returnParameters": {
              "id": 316,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 315,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 317,
                  "src": "670:7:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 314,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "670:7:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "660:23:1"
            },
            "scope": 700,
            "src": "615:69:1",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "id": 322,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "exchangeRateStored",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 318,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "717:2:1"
            },
            "returnParameters": {
              "id": 321,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 320,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 322,
                  "src": "752:7:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 319,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "752:7:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "742:23:1"
            },
            "scope": 700,
            "src": "690:76:1",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "id": 333,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "transferFrom",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 329,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 324,
                  "name": "src",
                  "nodeType": "VariableDeclaration",
                  "scope": 333,
                  "src": "803:11:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 323,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "803:7:1",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 326,
                  "name": "dst",
                  "nodeType": "VariableDeclaration",
                  "scope": 333,
                  "src": "824:11:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 325,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "824:7:1",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 328,
                  "name": "amount",
                  "nodeType": "VariableDeclaration",
                  "scope": 333,
                  "src": "845:14:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 327,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "845:7:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "793:72:1"
            },
            "returnParameters": {
              "id": 332,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 331,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 333,
                  "src": "893:4:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 330,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "893:4:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "883:20:1"
            },
            "scope": 700,
            "src": "772:132:1",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "id": 342,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "repayBorrowBehalf",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 338,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 335,
                  "name": "borrower",
                  "nodeType": "VariableDeclaration",
                  "scope": 342,
                  "src": "946:16:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 334,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "946:7:1",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 337,
                  "name": "repayAmount",
                  "nodeType": "VariableDeclaration",
                  "scope": 342,
                  "src": "972:19:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 336,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "972:7:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "936:61:1"
            },
            "returnParameters": {
              "id": 341,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 340,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 342,
                  "src": "1025:7:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 339,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1025:7:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1015:23:1"
            },
            "scope": 700,
            "src": "910:129:1",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "id": 347,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "pendingAdmin",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 343,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1066:2:1"
            },
            "returnParameters": {
              "id": 346,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 345,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 347,
                  "src": "1101:7:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 344,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1101:7:1",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1091:23:1"
            },
            "scope": 700,
            "src": "1045:70:1",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "id": 352,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "decimals",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 348,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1138:2:1"
            },
            "returnParameters": {
              "id": 351,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 350,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 352,
                  "src": "1173:7:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 349,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1173:7:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1163:23:1"
            },
            "scope": 700,
            "src": "1121:66:1",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "id": 359,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "balanceOfUnderlying",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 355,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 354,
                  "name": "owner",
                  "nodeType": "VariableDeclaration",
                  "scope": 359,
                  "src": "1231:13:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 353,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1231:7:1",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1221:29:1"
            },
            "returnParameters": {
              "id": 358,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 357,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 359,
                  "src": "1278:7:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 356,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1278:7:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1268:23:1"
            },
            "scope": 700,
            "src": "1193:99:1",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "id": 364,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "getCash",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 360,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1314:2:1"
            },
            "returnParameters": {
              "id": 363,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 362,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 364,
                  "src": "1349:7:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 361,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1349:7:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1339:23:1"
            },
            "scope": 700,
            "src": "1298:65:1",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "id": 371,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "_setComptroller",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 367,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 366,
                  "name": "newComptroller",
                  "nodeType": "VariableDeclaration",
                  "scope": 371,
                  "src": "1403:22:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 365,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1403:7:1",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1393:38:1"
            },
            "returnParameters": {
              "id": 370,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 369,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 371,
                  "src": "1459:7:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 368,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1459:7:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1449:23:1"
            },
            "scope": 700,
            "src": "1369:104:1",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "id": 376,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "totalBorrows",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 372,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1500:2:1"
            },
            "returnParameters": {
              "id": 375,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 374,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 376,
                  "src": "1535:7:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 373,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1535:7:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1525:23:1"
            },
            "scope": 700,
            "src": "1479:70:1",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "id": 381,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "comptroller",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 377,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1575:2:1"
            },
            "returnParameters": {
              "id": 380,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 379,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 381,
                  "src": "1610:7:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 378,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1610:7:1",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1600:23:1"
            },
            "scope": 700,
            "src": "1555:69:1",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "id": 388,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "_reduceReserves",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 384,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 383,
                  "name": "reduceAmount",
                  "nodeType": "VariableDeclaration",
                  "scope": 388,
                  "src": "1664:20:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 382,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1664:7:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1654:36:1"
            },
            "returnParameters": {
              "id": 387,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 386,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 388,
                  "src": "1718:7:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 385,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1718:7:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1708:23:1"
            },
            "scope": 700,
            "src": "1630:102:1",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "id": 393,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "initialExchangeRateMantissa",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 389,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1774:2:1"
            },
            "returnParameters": {
              "id": 392,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 391,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 393,
                  "src": "1809:7:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 390,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1809:7:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1799:23:1"
            },
            "scope": 700,
            "src": "1738:85:1",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "id": 398,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "accrualBlockNumber",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 394,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1856:2:1"
            },
            "returnParameters": {
              "id": 397,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 396,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 398,
                  "src": "1891:7:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 395,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1891:7:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1881:23:1"
            },
            "scope": 700,
            "src": "1829:76:1",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "id": 403,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "underlying",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 399,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1930:2:1"
            },
            "returnParameters": {
              "id": 402,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 401,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 403,
                  "src": "1965:7:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 400,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1965:7:1",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1955:23:1"
            },
            "scope": 700,
            "src": "1911:68:1",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "id": 410,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "balanceOf",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 406,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 405,
                  "name": "owner",
                  "nodeType": "VariableDeclaration",
                  "scope": 410,
                  "src": "2013:13:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 404,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "2013:7:1",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2003:29:1"
            },
            "returnParameters": {
              "id": 409,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 408,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 410,
                  "src": "2065:7:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 407,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "2065:7:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2055:23:1"
            },
            "scope": 700,
            "src": "1985:94:1",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "id": 415,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "totalBorrowsCurrent",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 411,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "2113:2:1"
            },
            "returnParameters": {
              "id": 414,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 413,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 415,
                  "src": "2143:7:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 412,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "2143:7:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2133:23:1"
            },
            "scope": 700,
            "src": "2085:72:1",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "id": 422,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "redeemUnderlying",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 418,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 417,
                  "name": "redeemAmount",
                  "nodeType": "VariableDeclaration",
                  "scope": 422,
                  "src": "2198:20:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 416,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "2198:7:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2188:36:1"
            },
            "returnParameters": {
              "id": 421,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 420,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 422,
                  "src": "2252:7:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 419,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "2252:7:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2242:23:1"
            },
            "scope": 700,
            "src": "2163:103:1",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "id": 427,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "totalReserves",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 423,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "2294:2:1"
            },
            "returnParameters": {
              "id": 426,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 425,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 427,
                  "src": "2329:7:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 424,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "2329:7:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2319:23:1"
            },
            "scope": 700,
            "src": "2272:71:1",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "id": 432,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "symbol",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 428,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "2364:2:1"
            },
            "returnParameters": {
              "id": 431,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 430,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 432,
                  "src": "2399:13:1",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 429,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "2399:6:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2389:29:1"
            },
            "scope": 700,
            "src": "2349:70:1",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "id": 439,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "borrowBalanceStored",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 435,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 434,
                  "name": "account",
                  "nodeType": "VariableDeclaration",
                  "scope": 439,
                  "src": "2463:15:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 433,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "2463:7:1",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2453:31:1"
            },
            "returnParameters": {
              "id": 438,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 437,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 439,
                  "src": "2517:7:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 436,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "2517:7:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2507:23:1"
            },
            "scope": 700,
            "src": "2425:106:1",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "id": 446,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "mint",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 442,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 441,
                  "name": "mintAmount",
                  "nodeType": "VariableDeclaration",
                  "scope": 446,
                  "src": "2560:18:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 440,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "2560:7:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2550:34:1"
            },
            "returnParameters": {
              "id": 445,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 444,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 446,
                  "src": "2612:7:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 443,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "2612:7:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2602:23:1"
            },
            "scope": 700,
            "src": "2537:89:1",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "id": 451,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "accrueInterest",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 447,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "2655:2:1"
            },
            "returnParameters": {
              "id": 450,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 449,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 451,
                  "src": "2685:7:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 448,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "2685:7:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2675:23:1"
            },
            "scope": 700,
            "src": "2632:67:1",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "id": 460,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "transfer",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 456,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 453,
                  "name": "dst",
                  "nodeType": "VariableDeclaration",
                  "scope": 460,
                  "src": "2732:11:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 452,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "2732:7:1",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 455,
                  "name": "amount",
                  "nodeType": "VariableDeclaration",
                  "scope": 460,
                  "src": "2753:14:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 454,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "2753:7:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2722:51:1"
            },
            "returnParameters": {
              "id": 459,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 458,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 460,
                  "src": "2801:4:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 457,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "2801:4:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2791:20:1"
            },
            "scope": 700,
            "src": "2705:107:1",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "id": 465,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "borrowIndex",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 461,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "2838:2:1"
            },
            "returnParameters": {
              "id": 464,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 463,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 465,
                  "src": "2873:7:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 462,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "2873:7:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2863:23:1"
            },
            "scope": 700,
            "src": "2818:69:1",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "id": 470,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "supplyRatePerBlock",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 466,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "2920:2:1"
            },
            "returnParameters": {
              "id": 469,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 468,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 470,
                  "src": "2955:7:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 467,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "2955:7:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2945:23:1"
            },
            "scope": 700,
            "src": "2893:76:1",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "id": 481,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "seize",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 477,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 472,
                  "name": "liquidator",
                  "nodeType": "VariableDeclaration",
                  "scope": 481,
                  "src": "2999:18:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 471,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "2999:7:1",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 474,
                  "name": "borrower",
                  "nodeType": "VariableDeclaration",
                  "scope": 481,
                  "src": "3027:16:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 473,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "3027:7:1",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 476,
                  "name": "seizeTokens",
                  "nodeType": "VariableDeclaration",
                  "scope": 481,
                  "src": "3053:19:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 475,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "3053:7:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2989:89:1"
            },
            "returnParameters": {
              "id": 480,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 479,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 481,
                  "src": "3106:7:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 478,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "3106:7:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "3096:23:1"
            },
            "scope": 700,
            "src": "2975:145:1",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "id": 488,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "_setPendingAdmin",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 484,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 483,
                  "name": "newPendingAdmin",
                  "nodeType": "VariableDeclaration",
                  "scope": 488,
                  "src": "3161:23:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 482,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "3161:7:1",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "3151:39:1"
            },
            "returnParameters": {
              "id": 487,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 486,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 488,
                  "src": "3218:7:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 485,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "3218:7:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "3208:23:1"
            },
            "scope": 700,
            "src": "3126:106:1",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "id": 493,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "exchangeRateCurrent",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 489,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "3266:2:1"
            },
            "returnParameters": {
              "id": 492,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 491,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 493,
                  "src": "3296:7:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 490,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "3296:7:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "3286:23:1"
            },
            "scope": 700,
            "src": "3238:72:1",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "id": 506,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "getAccountSnapshot",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 496,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 495,
                  "name": "account",
                  "nodeType": "VariableDeclaration",
                  "scope": 506,
                  "src": "3353:15:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 494,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "3353:7:1",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "3343:31:1"
            },
            "returnParameters": {
              "id": 505,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 498,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 506,
                  "src": "3407:7:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 497,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "3407:7:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 500,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 506,
                  "src": "3424:7:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 499,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "3424:7:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 502,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 506,
                  "src": "3441:7:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 501,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "3441:7:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 504,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 506,
                  "src": "3458:7:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 503,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "3458:7:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "3397:74:1"
            },
            "scope": 700,
            "src": "3316:156:1",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "id": 513,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "borrow",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 509,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 508,
                  "name": "borrowAmount",
                  "nodeType": "VariableDeclaration",
                  "scope": 513,
                  "src": "3503:20:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 507,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "3503:7:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "3493:36:1"
            },
            "returnParameters": {
              "id": 512,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 511,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 513,
                  "src": "3557:7:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 510,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "3557:7:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "3547:23:1"
            },
            "scope": 700,
            "src": "3478:93:1",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "id": 520,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "redeem",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 516,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 515,
                  "name": "redeemTokens",
                  "nodeType": "VariableDeclaration",
                  "scope": 520,
                  "src": "3602:20:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 514,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "3602:7:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "3592:36:1"
            },
            "returnParameters": {
              "id": 519,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 518,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 520,
                  "src": "3656:7:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 517,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "3656:7:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "3646:23:1"
            },
            "scope": 700,
            "src": "3577:93:1",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "id": 529,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "allowance",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 525,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 522,
                  "name": "owner",
                  "nodeType": "VariableDeclaration",
                  "scope": 529,
                  "src": "3704:13:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 521,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "3704:7:1",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 524,
                  "name": "spender",
                  "nodeType": "VariableDeclaration",
                  "scope": 529,
                  "src": "3727:15:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 523,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "3727:7:1",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "3694:54:1"
            },
            "returnParameters": {
              "id": 528,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 527,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 529,
                  "src": "3781:7:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 526,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "3781:7:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "3771:23:1"
            },
            "scope": 700,
            "src": "3676:119:1",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "id": 534,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "_acceptAdmin",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 530,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "3822:2:1"
            },
            "returnParameters": {
              "id": 533,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 532,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 534,
                  "src": "3852:7:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 531,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "3852:7:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "3842:23:1"
            },
            "scope": 700,
            "src": "3801:65:1",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "id": 541,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "_setInterestRateModel",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 537,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 536,
                  "name": "newInterestRateModel",
                  "nodeType": "VariableDeclaration",
                  "scope": 541,
                  "src": "3912:28:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 535,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "3912:7:1",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "3902:44:1"
            },
            "returnParameters": {
              "id": 540,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 539,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 541,
                  "src": "3974:7:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 538,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "3974:7:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "3964:23:1"
            },
            "scope": 700,
            "src": "3872:116:1",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "id": 546,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "interestRateModel",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 542,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "4020:2:1"
            },
            "returnParameters": {
              "id": 545,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 544,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 546,
                  "src": "4055:7:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 543,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "4055:7:1",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "4045:23:1"
            },
            "scope": 700,
            "src": "3994:75:1",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "id": 557,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "liquidateBorrow",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 553,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 548,
                  "name": "borrower",
                  "nodeType": "VariableDeclaration",
                  "scope": 557,
                  "src": "4109:16:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 547,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "4109:7:1",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 550,
                  "name": "repayAmount",
                  "nodeType": "VariableDeclaration",
                  "scope": 557,
                  "src": "4135:19:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 549,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "4135:7:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 552,
                  "name": "cTokenCollateral",
                  "nodeType": "VariableDeclaration",
                  "scope": 557,
                  "src": "4164:24:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 551,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "4164:7:1",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "4099:95:1"
            },
            "returnParameters": {
              "id": 556,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 555,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 557,
                  "src": "4222:7:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 554,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "4222:7:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "4212:23:1"
            },
            "scope": 700,
            "src": "4075:161:1",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "id": 562,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "admin",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 558,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "4256:2:1"
            },
            "returnParameters": {
              "id": 561,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 560,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 562,
                  "src": "4291:7:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 559,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "4291:7:1",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "4281:23:1"
            },
            "scope": 700,
            "src": "4242:63:1",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "id": 567,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "borrowRatePerBlock",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 563,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "4338:2:1"
            },
            "returnParameters": {
              "id": 566,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 565,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 567,
                  "src": "4373:7:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 564,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "4373:7:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "4363:23:1"
            },
            "scope": 700,
            "src": "4311:76:1",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "id": 574,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "_setReserveFactor",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 570,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 569,
                  "name": "newReserveFactorMantissa",
                  "nodeType": "VariableDeclaration",
                  "scope": 574,
                  "src": "4429:32:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 568,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "4429:7:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "4419:48:1"
            },
            "returnParameters": {
              "id": 573,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 572,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 574,
                  "src": "4495:7:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 571,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "4495:7:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "4485:23:1"
            },
            "scope": 700,
            "src": "4393:116:1",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "id": 579,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "isCToken",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 575,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "4532:2:1"
            },
            "returnParameters": {
              "id": 578,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 577,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 579,
                  "src": "4567:4:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 576,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "4567:4:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "4557:20:1"
            },
            "scope": 700,
            "src": "4515:63:1",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "external"
          },
          {
            "anonymous": false,
            "documentation": null,
            "id": 587,
            "name": "AccrueInterest",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 586,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 581,
                  "indexed": false,
                  "name": "interestAccumulated",
                  "nodeType": "VariableDeclaration",
                  "scope": 587,
                  "src": "4886:27:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 580,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "4886:7:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 583,
                  "indexed": false,
                  "name": "borrowIndex",
                  "nodeType": "VariableDeclaration",
                  "scope": 587,
                  "src": "4923:19:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 582,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "4923:7:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 585,
                  "indexed": false,
                  "name": "totalBorrows",
                  "nodeType": "VariableDeclaration",
                  "scope": 587,
                  "src": "4952:20:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 584,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "4952:7:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "4876:102:1"
            },
            "src": "4856:123:1"
          },
          {
            "anonymous": false,
            "documentation": null,
            "id": 595,
            "name": "Mint",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 594,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 589,
                  "indexed": false,
                  "name": "minter",
                  "nodeType": "VariableDeclaration",
                  "scope": 595,
                  "src": "5005:14:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 588,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "5005:7:1",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 591,
                  "indexed": false,
                  "name": "mintAmount",
                  "nodeType": "VariableDeclaration",
                  "scope": 595,
                  "src": "5029:18:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 590,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "5029:7:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 593,
                  "indexed": false,
                  "name": "mintTokens",
                  "nodeType": "VariableDeclaration",
                  "scope": 595,
                  "src": "5057:18:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 592,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "5057:7:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "4995:86:1"
            },
            "src": "4985:97:1"
          },
          {
            "anonymous": false,
            "documentation": null,
            "id": 603,
            "name": "Redeem",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 602,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 597,
                  "indexed": false,
                  "name": "redeemer",
                  "nodeType": "VariableDeclaration",
                  "scope": 603,
                  "src": "5110:16:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 596,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "5110:7:1",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 599,
                  "indexed": false,
                  "name": "redeemAmount",
                  "nodeType": "VariableDeclaration",
                  "scope": 603,
                  "src": "5136:20:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 598,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "5136:7:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 601,
                  "indexed": false,
                  "name": "redeemTokens",
                  "nodeType": "VariableDeclaration",
                  "scope": 603,
                  "src": "5166:20:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 600,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "5166:7:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "5100:92:1"
            },
            "src": "5088:105:1"
          },
          {
            "anonymous": false,
            "documentation": null,
            "id": 613,
            "name": "Borrow",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 612,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 605,
                  "indexed": false,
                  "name": "borrower",
                  "nodeType": "VariableDeclaration",
                  "scope": 613,
                  "src": "5221:16:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 604,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "5221:7:1",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 607,
                  "indexed": false,
                  "name": "borrowAmount",
                  "nodeType": "VariableDeclaration",
                  "scope": 613,
                  "src": "5247:20:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 606,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "5247:7:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 609,
                  "indexed": false,
                  "name": "accountBorrows",
                  "nodeType": "VariableDeclaration",
                  "scope": 613,
                  "src": "5277:22:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 608,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "5277:7:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 611,
                  "indexed": false,
                  "name": "totalBorrows",
                  "nodeType": "VariableDeclaration",
                  "scope": 613,
                  "src": "5309:20:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 610,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "5309:7:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "5211:124:1"
            },
            "src": "5199:137:1"
          },
          {
            "anonymous": false,
            "documentation": null,
            "id": 625,
            "name": "RepayBorrow",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 624,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 615,
                  "indexed": false,
                  "name": "payer",
                  "nodeType": "VariableDeclaration",
                  "scope": 625,
                  "src": "5369:13:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 614,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "5369:7:1",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 617,
                  "indexed": false,
                  "name": "borrower",
                  "nodeType": "VariableDeclaration",
                  "scope": 625,
                  "src": "5392:16:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 616,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "5392:7:1",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 619,
                  "indexed": false,
                  "name": "repayAmount",
                  "nodeType": "VariableDeclaration",
                  "scope": 625,
                  "src": "5418:19:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 618,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "5418:7:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 621,
                  "indexed": false,
                  "name": "accountBorrows",
                  "nodeType": "VariableDeclaration",
                  "scope": 625,
                  "src": "5447:22:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 620,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "5447:7:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 623,
                  "indexed": false,
                  "name": "totalBorrows",
                  "nodeType": "VariableDeclaration",
                  "scope": 625,
                  "src": "5479:20:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 622,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "5479:7:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "5359:146:1"
            },
            "src": "5342:164:1"
          },
          {
            "anonymous": false,
            "documentation": null,
            "id": 637,
            "name": "LiquidateBorrow",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 636,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 627,
                  "indexed": false,
                  "name": "liquidator",
                  "nodeType": "VariableDeclaration",
                  "scope": 637,
                  "src": "5543:18:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 626,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "5543:7:1",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 629,
                  "indexed": false,
                  "name": "borrower",
                  "nodeType": "VariableDeclaration",
                  "scope": 637,
                  "src": "5571:16:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 628,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "5571:7:1",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 631,
                  "indexed": false,
                  "name": "repayAmount",
                  "nodeType": "VariableDeclaration",
                  "scope": 637,
                  "src": "5597:19:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 630,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "5597:7:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 633,
                  "indexed": false,
                  "name": "cTokenCollateral",
                  "nodeType": "VariableDeclaration",
                  "scope": 637,
                  "src": "5626:24:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 632,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "5626:7:1",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 635,
                  "indexed": false,
                  "name": "seizeTokens",
                  "nodeType": "VariableDeclaration",
                  "scope": 637,
                  "src": "5660:19:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 634,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "5660:7:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "5533:152:1"
            },
            "src": "5512:174:1"
          },
          {
            "anonymous": false,
            "documentation": null,
            "id": 643,
            "name": "NewPendingAdmin",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 642,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 639,
                  "indexed": false,
                  "name": "oldPendingAdmin",
                  "nodeType": "VariableDeclaration",
                  "scope": 643,
                  "src": "5723:23:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 638,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "5723:7:1",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 641,
                  "indexed": false,
                  "name": "newPendingAdmin",
                  "nodeType": "VariableDeclaration",
                  "scope": 643,
                  "src": "5756:23:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 640,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "5756:7:1",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "5713:72:1"
            },
            "src": "5692:94:1"
          },
          {
            "anonymous": false,
            "documentation": null,
            "id": 649,
            "name": "NewAdmin",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 648,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 645,
                  "indexed": false,
                  "name": "oldAdmin",
                  "nodeType": "VariableDeclaration",
                  "scope": 649,
                  "src": "5816:16:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 644,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "5816:7:1",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 647,
                  "indexed": false,
                  "name": "newAdmin",
                  "nodeType": "VariableDeclaration",
                  "scope": 649,
                  "src": "5842:16:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 646,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "5842:7:1",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "5806:58:1"
            },
            "src": "5792:73:1"
          },
          {
            "anonymous": false,
            "documentation": null,
            "id": 655,
            "name": "NewComptroller",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 654,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 651,
                  "indexed": false,
                  "name": "oldComptroller",
                  "nodeType": "VariableDeclaration",
                  "scope": 655,
                  "src": "5901:22:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 650,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "5901:7:1",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 653,
                  "indexed": false,
                  "name": "newComptroller",
                  "nodeType": "VariableDeclaration",
                  "scope": 655,
                  "src": "5933:22:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 652,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "5933:7:1",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "5891:70:1"
            },
            "src": "5871:91:1"
          },
          {
            "anonymous": false,
            "documentation": null,
            "id": 661,
            "name": "NewMarketInterestRateModel",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 660,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 657,
                  "indexed": false,
                  "name": "oldInterestRateModel",
                  "nodeType": "VariableDeclaration",
                  "scope": 661,
                  "src": "6010:28:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 656,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "6010:7:1",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 659,
                  "indexed": false,
                  "name": "newInterestRateModel",
                  "nodeType": "VariableDeclaration",
                  "scope": 661,
                  "src": "6048:28:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 658,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "6048:7:1",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "6000:82:1"
            },
            "src": "5968:115:1"
          },
          {
            "anonymous": false,
            "documentation": null,
            "id": 667,
            "name": "NewReserveFactor",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 666,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 663,
                  "indexed": false,
                  "name": "oldReserveFactorMantissa",
                  "nodeType": "VariableDeclaration",
                  "scope": 667,
                  "src": "6121:32:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 662,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "6121:7:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 665,
                  "indexed": false,
                  "name": "newReserveFactorMantissa",
                  "nodeType": "VariableDeclaration",
                  "scope": 667,
                  "src": "6163:32:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 664,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "6163:7:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "6111:90:1"
            },
            "src": "6089:113:1"
          },
          {
            "anonymous": false,
            "documentation": null,
            "id": 675,
            "name": "ReservesReduced",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 674,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 669,
                  "indexed": false,
                  "name": "admin",
                  "nodeType": "VariableDeclaration",
                  "scope": 675,
                  "src": "6239:13:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 668,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "6239:7:1",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 671,
                  "indexed": false,
                  "name": "reduceAmount",
                  "nodeType": "VariableDeclaration",
                  "scope": 675,
                  "src": "6262:20:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 670,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "6262:7:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 673,
                  "indexed": false,
                  "name": "newTotalReserves",
                  "nodeType": "VariableDeclaration",
                  "scope": 675,
                  "src": "6292:24:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 672,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "6292:7:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "6229:93:1"
            },
            "src": "6208:115:1"
          },
          {
            "anonymous": false,
            "documentation": null,
            "id": 683,
            "name": "Failure",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 682,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 677,
                  "indexed": false,
                  "name": "error",
                  "nodeType": "VariableDeclaration",
                  "scope": 683,
                  "src": "6352:13:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 676,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "6352:7:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 679,
                  "indexed": false,
                  "name": "info",
                  "nodeType": "VariableDeclaration",
                  "scope": 683,
                  "src": "6375:12:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 678,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "6375:7:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 681,
                  "indexed": false,
                  "name": "detail",
                  "nodeType": "VariableDeclaration",
                  "scope": 683,
                  "src": "6397:14:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 680,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "6397:7:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "6342:75:1"
            },
            "src": "6329:89:1"
          },
          {
            "anonymous": false,
            "documentation": null,
            "id": 691,
            "name": "Transfer",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 690,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 685,
                  "indexed": false,
                  "name": "from",
                  "nodeType": "VariableDeclaration",
                  "scope": 691,
                  "src": "6448:12:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 684,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "6448:7:1",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 687,
                  "indexed": false,
                  "name": "to",
                  "nodeType": "VariableDeclaration",
                  "scope": 691,
                  "src": "6470:10:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 686,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "6470:7:1",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 689,
                  "indexed": false,
                  "name": "amount",
                  "nodeType": "VariableDeclaration",
                  "scope": 691,
                  "src": "6490:14:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 688,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "6490:7:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "6438:72:1"
            },
            "src": "6424:87:1"
          },
          {
            "anonymous": false,
            "documentation": null,
            "id": 699,
            "name": "Approval",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 698,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 693,
                  "indexed": false,
                  "name": "owner",
                  "nodeType": "VariableDeclaration",
                  "scope": 699,
                  "src": "6541:13:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 692,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "6541:7:1",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 695,
                  "indexed": false,
                  "name": "spender",
                  "nodeType": "VariableDeclaration",
                  "scope": 699,
                  "src": "6564:15:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 694,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "6564:7:1",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 697,
                  "indexed": false,
                  "name": "amount",
                  "nodeType": "VariableDeclaration",
                  "scope": 699,
                  "src": "6589:14:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 696,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "6589:7:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "6531:78:1"
            },
            "src": "6517:93:1"
          }
        ],
        "scope": 701,
        "src": "96:6517:1"
      }
    ],
    "src": "0:6614:1"
  },
  "compiler": {
    "name": "solc",
    "version": "0.5.12+commit.7709ece9.Emscripten.clang"
  },
  "networks": {},
  "schemaVersion": "3.0.21",
  "updatedAt": "2020-04-22T17:31:54.451Z",
  "devdoc": {
    "methods": {}
  },
  "userdoc": {
    "methods": {}
  }
}