{
  "contractName": "ERC20Pausable",
  "abi": [
    {
      "constant": true,
      "inputs": [],
      "name": "totalSupply",
      "outputs": [
        {
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [],
      "name": "unpause",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "account",
          "type": "address"
        }
      ],
      "name": "isPauser",
      "outputs": [
        {
          "name": "",
          "type": "bool"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "paused",
      "outputs": [
        {
          "name": "",
          "type": "bool"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [],
      "name": "renouncePauser",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "owner",
          "type": "address"
        }
      ],
      "name": "balanceOf",
      "outputs": [
        {
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "account",
          "type": "address"
        }
      ],
      "name": "addPauser",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [],
      "name": "pause",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "owner",
          "type": "address"
        },
        {
          "name": "spender",
          "type": "address"
        }
      ],
      "name": "allowance",
      "outputs": [
        {
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "anonymous": false,
      "inputs": [],
      "name": "Paused",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [],
      "name": "Unpaused",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "name": "account",
          "type": "address"
        }
      ],
      "name": "PauserAdded",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "name": "account",
          "type": "address"
        }
      ],
      "name": "PauserRemoved",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "name": "from",
          "type": "address"
        },
        {
          "indexed": true,
          "name": "to",
          "type": "address"
        },
        {
          "indexed": false,
          "name": "value",
          "type": "uint256"
        }
      ],
      "name": "Transfer",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "name": "owner",
          "type": "address"
        },
        {
          "indexed": true,
          "name": "spender",
          "type": "address"
        },
        {
          "indexed": false,
          "name": "value",
          "type": "uint256"
        }
      ],
      "name": "Approval",
      "type": "event"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "sender",
          "type": "address"
        }
      ],
      "name": "initialize",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "to",
          "type": "address"
        },
        {
          "name": "value",
          "type": "uint256"
        }
      ],
      "name": "transfer",
      "outputs": [
        {
          "name": "",
          "type": "bool"
        }
      ],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "from",
          "type": "address"
        },
        {
          "name": "to",
          "type": "address"
        },
        {
          "name": "value",
          "type": "uint256"
        }
      ],
      "name": "transferFrom",
      "outputs": [
        {
          "name": "",
          "type": "bool"
        }
      ],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "spender",
          "type": "address"
        },
        {
          "name": "value",
          "type": "uint256"
        }
      ],
      "name": "approve",
      "outputs": [
        {
          "name": "",
          "type": "bool"
        }
      ],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "spender",
          "type": "address"
        },
        {
          "name": "addedValue",
          "type": "uint256"
        }
      ],
      "name": "increaseAllowance",
      "outputs": [
        {
          "name": "success",
          "type": "bool"
        }
      ],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "spender",
          "type": "address"
        },
        {
          "name": "subtractedValue",
          "type": "uint256"
        }
      ],
      "name": "decreaseAllowance",
      "outputs": [
        {
          "name": "success",
          "type": "bool"
        }
      ],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    }
  ],
  "bytecode": "0x60806040526000609b60006101000a81548160ff02191690831515021790555034801561002b57600080fd5b506118ad8061003b6000396000f3006080604052600436106100db576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063095ea7b3146100e057806318160ddd1461014557806323b872dd1461017057806339509351146101f55780633f4ba83a1461025a57806346fbf68e146102715780635c975abb146102cc5780636ef8d66d146102fb57806370a082311461031257806382dc1ec4146103695780638456cb59146103ac578063a457c2d7146103c3578063a9059cbb14610428578063c4d66de81461048d578063dd62ed3e146104d0575b600080fd5b3480156100ec57600080fd5b5061012b600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610547565b604051808215151515815260200191505060405180910390f35b34801561015157600080fd5b5061015a610577565b6040518082815260200191505060405180910390f35b34801561017c57600080fd5b506101db600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610581565b604051808215151515815260200191505060405180910390f35b34801561020157600080fd5b50610240600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506105b3565b604051808215151515815260200191505060405180910390f35b34801561026657600080fd5b5061026f6105e3565b005b34801561027d57600080fd5b506102b2600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061065b565b604051808215151515815260200191505060405180910390f35b3480156102d857600080fd5b506102e1610678565b604051808215151515815260200191505060405180910390f35b34801561030757600080fd5b5061031061068f565b005b34801561031e57600080fd5b50610353600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061069a565b6040518082815260200191505060405180910390f35b34801561037557600080fd5b506103aa600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506106e3565b005b3480156103b857600080fd5b506103c1610703565b005b3480156103cf57600080fd5b5061040e600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061077c565b604051808215151515815260200191505060405180910390f35b34801561043457600080fd5b50610473600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506107ac565b604051808215151515815260200191505060405180910390f35b34801561049957600080fd5b506104ce600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506107dc565b005b3480156104dc57600080fd5b50610531600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061091b565b6040518082815260200191505060405180910390f35b6000609b60009054906101000a900460ff1615151561056557600080fd5b61056f83836109a2565b905092915050565b6000603554905090565b6000609b60009054906101000a900460ff1615151561059f57600080fd5b6105aa848484610acf565b90509392505050565b6000609b60009054906101000a900460ff161515156105d157600080fd5b6105db8383610c81565b905092915050565b6105ec3361065b565b15156105f757600080fd5b609b60009054906101000a900460ff16151561061257600080fd5b6000609b60006101000a81548160ff0219169083151502179055507fa45f47fdea8a1efdd9029a5691c7f759c32b7c698632b563573e155625d1693360405160405180910390a1565b6000610671826068610eb890919063ffffffff16565b9050919050565b6000609b60009054906101000a900460ff16905090565b61069833610f4c565b565b6000603360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6106ec3361065b565b15156106f757600080fd5b61070081610fa6565b50565b61070c3361065b565b151561071757600080fd5b609b60009054906101000a900460ff1615151561073357600080fd5b6001609b60006101000a81548160ff0219169083151502179055507f9e87fac88ff661f02d44f95383c817fece4bce600a3dab7a54406878b965e75260405160405180910390a1565b6000609b60009054906101000a900460ff1615151561079a57600080fd5b6107a48383611000565b905092915050565b6000609b60009054906101000a900460ff161515156107ca57600080fd5b6107d48383611237565b905092915050565b60008060019054906101000a900460ff16806107fc57506107fb61124e565b5b8061081357506000809054906101000a900460ff16155b15156108ad576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602e8152602001807f436f6e747261637420696e7374616e63652068617320616c726561647920626581526020017f656e20696e697469616c697a656400000000000000000000000000000000000081525060400191505060405180910390fd5b600060019054906101000a900460ff1690506001600060016101000a81548160ff02191690831515021790555060016000806101000a81548160ff0219169083151502179055506108fd8261125f565b80600060016101000a81548160ff0219169083151502179055505050565b6000603460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141515156109df57600080fd5b81603460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b6000603460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211151515610b5c57600080fd5b610beb82603460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461139e90919063ffffffff16565b603460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610c768484846113bf565b600190509392505050565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515610cbe57600080fd5b610d4d82603460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546115dd90919063ffffffff16565b603460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925603460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a36001905092915050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614151515610ef557600080fd5b8260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b610f608160686115fe90919063ffffffff16565b8073ffffffffffffffffffffffffffffffffffffffff167fcd265ebaf09df2871cc7bd4133404a235ba12eff2041bb89d9c714a2621c7c7e60405160405180910390a250565b610fba81606861169890919063ffffffff16565b8073ffffffffffffffffffffffffffffffffffffffff167f6719d08c1888103bea251a4ed56406bd0c3e69723c8a1686e017e7bbe159b6f860405160405180910390a250565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415151561103d57600080fd5b6110cc82603460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461139e90919063ffffffff16565b603460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925603460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a36001905092915050565b60006112443384846113bf565b6001905092915050565b600080303b90506000811491505090565b60008060019054906101000a900460ff168061127f575061127e61124e565b5b8061129657506000809054906101000a900460ff16155b1515611330576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602e8152602001807f436f6e747261637420696e7374616e63652068617320616c726561647920626581526020017f656e20696e697469616c697a656400000000000000000000000000000000000081525060400191505060405180910390fd5b600060019054906101000a900460ff1690506001600060016101000a81548160ff02191690831515021790555060016000806101000a81548160ff02191690831515021790555061138082611732565b80600060016101000a81548160ff0219169083151502179055505050565b6000808383111515156113b057600080fd5b82840390508091505092915050565b603360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054811115151561140d57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415151561144957600080fd5b61149b81603360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461139e90919063ffffffff16565b603360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061153081603360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546115dd90919063ffffffff16565b603360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b60008082840190508381101515156115f457600080fd5b8091505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561163a57600080fd5b60008260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156116d457600080fd5b60018260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b60008060019054906101000a900460ff1680611752575061175161124e565b5b8061176957506000809054906101000a900460ff16155b1515611803576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602e8152602001807f436f6e747261637420696e7374616e63652068617320616c726561647920626581526020017f656e20696e697469616c697a656400000000000000000000000000000000000081525060400191505060405180910390fd5b600060019054906101000a900460ff1690506001600060016101000a81548160ff02191690831515021790555060016000806101000a81548160ff0219169083151502179055506118538261065b565b15156118635761186282610fa6565b5b80600060016101000a81548160ff02191690831515021790555050505600a165627a7a72305820b8905f9c8a44bed63741aacd016797b90cd4fc4bfd2cf48cf79d4951de344a730029",
  "deployedBytecode": "0x6080604052600436106100db576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063095ea7b3146100e057806318160ddd1461014557806323b872dd1461017057806339509351146101f55780633f4ba83a1461025a57806346fbf68e146102715780635c975abb146102cc5780636ef8d66d146102fb57806370a082311461031257806382dc1ec4146103695780638456cb59146103ac578063a457c2d7146103c3578063a9059cbb14610428578063c4d66de81461048d578063dd62ed3e146104d0575b600080fd5b3480156100ec57600080fd5b5061012b600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610547565b604051808215151515815260200191505060405180910390f35b34801561015157600080fd5b5061015a610577565b6040518082815260200191505060405180910390f35b34801561017c57600080fd5b506101db600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610581565b604051808215151515815260200191505060405180910390f35b34801561020157600080fd5b50610240600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506105b3565b604051808215151515815260200191505060405180910390f35b34801561026657600080fd5b5061026f6105e3565b005b34801561027d57600080fd5b506102b2600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061065b565b604051808215151515815260200191505060405180910390f35b3480156102d857600080fd5b506102e1610678565b604051808215151515815260200191505060405180910390f35b34801561030757600080fd5b5061031061068f565b005b34801561031e57600080fd5b50610353600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061069a565b6040518082815260200191505060405180910390f35b34801561037557600080fd5b506103aa600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506106e3565b005b3480156103b857600080fd5b506103c1610703565b005b3480156103cf57600080fd5b5061040e600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061077c565b604051808215151515815260200191505060405180910390f35b34801561043457600080fd5b50610473600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506107ac565b604051808215151515815260200191505060405180910390f35b34801561049957600080fd5b506104ce600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506107dc565b005b3480156104dc57600080fd5b50610531600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061091b565b6040518082815260200191505060405180910390f35b6000609b60009054906101000a900460ff1615151561056557600080fd5b61056f83836109a2565b905092915050565b6000603554905090565b6000609b60009054906101000a900460ff1615151561059f57600080fd5b6105aa848484610acf565b90509392505050565b6000609b60009054906101000a900460ff161515156105d157600080fd5b6105db8383610c81565b905092915050565b6105ec3361065b565b15156105f757600080fd5b609b60009054906101000a900460ff16151561061257600080fd5b6000609b60006101000a81548160ff0219169083151502179055507fa45f47fdea8a1efdd9029a5691c7f759c32b7c698632b563573e155625d1693360405160405180910390a1565b6000610671826068610eb890919063ffffffff16565b9050919050565b6000609b60009054906101000a900460ff16905090565b61069833610f4c565b565b6000603360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6106ec3361065b565b15156106f757600080fd5b61070081610fa6565b50565b61070c3361065b565b151561071757600080fd5b609b60009054906101000a900460ff1615151561073357600080fd5b6001609b60006101000a81548160ff0219169083151502179055507f9e87fac88ff661f02d44f95383c817fece4bce600a3dab7a54406878b965e75260405160405180910390a1565b6000609b60009054906101000a900460ff1615151561079a57600080fd5b6107a48383611000565b905092915050565b6000609b60009054906101000a900460ff161515156107ca57600080fd5b6107d48383611237565b905092915050565b60008060019054906101000a900460ff16806107fc57506107fb61124e565b5b8061081357506000809054906101000a900460ff16155b15156108ad576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602e8152602001807f436f6e747261637420696e7374616e63652068617320616c726561647920626581526020017f656e20696e697469616c697a656400000000000000000000000000000000000081525060400191505060405180910390fd5b600060019054906101000a900460ff1690506001600060016101000a81548160ff02191690831515021790555060016000806101000a81548160ff0219169083151502179055506108fd8261125f565b80600060016101000a81548160ff0219169083151502179055505050565b6000603460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141515156109df57600080fd5b81603460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b6000603460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211151515610b5c57600080fd5b610beb82603460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461139e90919063ffffffff16565b603460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610c768484846113bf565b600190509392505050565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515610cbe57600080fd5b610d4d82603460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546115dd90919063ffffffff16565b603460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925603460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a36001905092915050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614151515610ef557600080fd5b8260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b610f608160686115fe90919063ffffffff16565b8073ffffffffffffffffffffffffffffffffffffffff167fcd265ebaf09df2871cc7bd4133404a235ba12eff2041bb89d9c714a2621c7c7e60405160405180910390a250565b610fba81606861169890919063ffffffff16565b8073ffffffffffffffffffffffffffffffffffffffff167f6719d08c1888103bea251a4ed56406bd0c3e69723c8a1686e017e7bbe159b6f860405160405180910390a250565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415151561103d57600080fd5b6110cc82603460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461139e90919063ffffffff16565b603460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925603460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a36001905092915050565b60006112443384846113bf565b6001905092915050565b600080303b90506000811491505090565b60008060019054906101000a900460ff168061127f575061127e61124e565b5b8061129657506000809054906101000a900460ff16155b1515611330576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602e8152602001807f436f6e747261637420696e7374616e63652068617320616c726561647920626581526020017f656e20696e697469616c697a656400000000000000000000000000000000000081525060400191505060405180910390fd5b600060019054906101000a900460ff1690506001600060016101000a81548160ff02191690831515021790555060016000806101000a81548160ff02191690831515021790555061138082611732565b80600060016101000a81548160ff0219169083151502179055505050565b6000808383111515156113b057600080fd5b82840390508091505092915050565b603360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054811115151561140d57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415151561144957600080fd5b61149b81603360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461139e90919063ffffffff16565b603360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061153081603360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546115dd90919063ffffffff16565b603360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b60008082840190508381101515156115f457600080fd5b8091505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561163a57600080fd5b60008260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156116d457600080fd5b60018260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b60008060019054906101000a900460ff1680611752575061175161124e565b5b8061176957506000809054906101000a900460ff16155b1515611803576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602e8152602001807f436f6e747261637420696e7374616e63652068617320616c726561647920626581526020017f656e20696e697469616c697a656400000000000000000000000000000000000081525060400191505060405180910390fd5b600060019054906101000a900460ff1690506001600060016101000a81548160ff02191690831515021790555060016000806101000a81548160ff0219169083151502179055506118538261065b565b15156118635761186282610fa6565b5b80600060016101000a81548160ff02191690831515021790555050505600a165627a7a72305820b8905f9c8a44bed63741aacd016797b90cd4fc4bfd2cf48cf79d4951de344a730029",
  "sourceMap": "217:1097:9:-;;;341:5:5;318:28;;;;;;;;;;;;;;;;;;;;217:1097:9;8:9:-1;5:2;;;30:1;27;20:12;5:2;217:1097:9;;;;;;;",
  "deployedSourceMap": "217:1097:9:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;716:158;;8:9:-1;5:2;;;30:1;27;20:12;5:2;716:158:9;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;702:83:7;;8:9:-1;5:2;;;30:1;27;20:12;5:2;702:83:7;;;;;;;;;;;;;;;;;;;;;;;530:182:9;;8:9:-1;5:2;;;30:1;27;20:12;5:2;530:182:9;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;878:193;;8:9:-1;5:2;;;30:1;27;20:12;5:2;878:193:9;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1161:95:5;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1161:95:5;;;;;;493:100:4;;8:9:-1;5:2;;;30:1;27;20:12;5:2;493:100:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;524:69:5;;8:9:-1;5:2;;;30:1;27;20:12;5:2;524:69:5;;;;;;;;;;;;;;;;;;;;;;;;;;;685::4;;8:9:-1;5:2;;;30:1;27;20:12;5:2;685:69:4;;;;;;986:98:7;;8:9:-1;5:2;;;30:1;27;20:12;5:2;986:98:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;597:84:4;;8:9:-1;5:2;;;30:1;27;20:12;5:2;597:84:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;986:93:5;;8:9:-1;5:2;;;30:1;27;20:12;5:2;986:93:5;;;;;;1075:203:9;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1075:203:9;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;376:150;;8:9:-1;5:2;;;30:1;27;20:12;5:2;376:150:9;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;279:93;;8:9:-1;5:2;;;30:1;27;20:12;5:2;279:93:9;;;;;;;;;;;;;;;;;;;;;;;;;;;;1401:150:7;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1401:150:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;716:158:9;819:4;734:7:5;;;;;;;;;;;733:8;725:17;;;;;;;;840:29:9;854:7;863:5;840:13;:29::i;:::-;833:36;;716:158;;;;:::o;702:83:7:-;746:7;768:12;;761:19;;702:83;:::o;530:182:9:-;651:4;734:7:5;;;;;;;;;;;733:8;725:17;;;;;;;;672:35:9;691:4;697:2;701:5;672:18;:35::i;:::-;665:42;;530:182;;;;;:::o;878:193::-;993:12;734:7:5;;;;;;;;;;;733:8;725:17;;;;;;;;1022:44:9;1046:7;1055:10;1022:23;:44::i;:::-;1015:51;;878:193;;;;:::o;1161:95:5:-;456:20:4;465:10;456:8;:20::i;:::-;448:29;;;;;;;;887:7:5;;;;;;;;;;;879:16;;;;;;;;1225:5;1215:7;;:15;;;;;;;;;;;;;;;;;;1241:10;;;;;;;;;;1161:95::o;493:100:4:-;549:4;568:20;580:7;568;:11;;:20;;;;:::i;:::-;561:27;;493:100;;;:::o;524:69:5:-;562:4;581:7;;;;;;;;;;;574:14;;524:69;:::o;685::4:-;724:25;738:10;724:13;:25::i;:::-;685:69::o;986:98:7:-;1041:7;1063:9;:16;1073:5;1063:16;;;;;;;;;;;;;;;;1056:23;;986:98;;;:::o;597:84:4:-;456:20;465:10;456:8;:20::i;:::-;448:29;;;;;;;;657:19;668:7;657:10;:19::i;:::-;597:84;:::o;986:93:5:-;456:20:4;465:10;456:8;:20::i;:::-;448:29;;;;;;;;734:7:5;;;;;;;;;;;733:8;725:17;;;;;;;;1051:4;1041:7;;:14;;;;;;;;;;;;;;;;;;1066:8;;;;;;;;;;986:93::o;1075:203:9:-;1195:12;734:7:5;;;;;;;;;;;733:8;725:17;;;;;;;;1224:49:9;1248:7;1257:15;1224:23;:49::i;:::-;1217:56;;1075:203;;;;:::o;376:150::-;475:4;734:7:5;;;;;;;;;;;733:8;725:17;;;;;;;;496:25:9;511:2;515:5;496:14;:25::i;:::-;489:32;;376:150;;;;:::o;279:93::-;1121:20:16;1016:12;;;;;;;;;;;:31;;;;1032:15;:13;:15::i;:::-;1016:31;:47;;;;1052:11;;;;;;;;;;;1051:12;1016:47;1008:106;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1144:12;;;;;;;;;;;1121:35;;1177:4;1162:12;;:19;;;;;;;;;;;;;;;;;;1201:4;1187:11;;:18;;;;;;;;;;;;;;;;;;340:27:9;360:6;340:19;:27::i;:::-;1235:15:16;1220:12;;:30;;;;;;;;;;;;;;;;;;279:93:9;;:::o;1401:150:7:-;1498:7;1522:8;:15;1531:5;1522:15;;;;;;;;;;;;;;;:24;1538:7;1522:24;;;;;;;;;;;;;;;;1515:31;;1401:150;;;;:::o;2446:220::-;2511:4;2550:1;2531:21;;:7;:21;;;;2523:30;;;;;;;;2592:5;2560:8;:20;2569:10;2560:20;;;;;;;;;;;;;;;:29;2581:7;2560:29;;;;;;;;;;;;;;;:37;;;;2629:7;2608:36;;2617:10;2608:36;;;2638:5;2608:36;;;;;;;;;;;;;;;;;;2657:4;2650:11;;2446:220;;;;:::o;2938:288::-;3041:4;3072:8;:14;3081:4;3072:14;;;;;;;;;;;;;;;:26;3087:10;3072:26;;;;;;;;;;;;;;;;3063:5;:35;;3055:44;;;;;;;;3135:37;3166:5;3135:8;:14;3144:4;3135:14;;;;;;;;;;;;;;;:26;3150:10;3135:26;;;;;;;;;;;;;;;;:30;;:37;;;;:::i;:::-;3106:8;:14;3115:4;3106:14;;;;;;;;;;;;;;;:26;3121:10;3106:26;;;;;;;;;;;;;;;:66;;;;3178:26;3188:4;3194:2;3198:5;3178:9;:26::i;:::-;3217:4;3210:11;;2938:288;;;;;:::o;3677:330::-;3777:4;3818:1;3799:21;;:7;:21;;;;3791:30;;;;;;;;3868:45;3902:10;3868:8;:20;3877:10;3868:20;;;;;;;;;;;;;;;:29;3889:7;3868:29;;;;;;;;;;;;;;;;:33;;:45;;;;:::i;:::-;3828:8;:20;3837:10;3828:20;;;;;;;;;;;;;;;:29;3849:7;3828:29;;;;;;;;;;;;;;;:86;;;;3946:7;3925:60;;3934:10;3925:60;;;3955:8;:20;3964:10;3955:20;;;;;;;;;;;;;;;:29;3976:7;3955:29;;;;;;;;;;;;;;;;3925:60;;;;;;;;;;;;;;;;;;3998:4;3991:11;;3677:330;;;;:::o;657:166:3:-;741:4;782:1;763:21;;:7;:21;;;;755:30;;;;;;;;798:4;:11;;:20;810:7;798:20;;;;;;;;;;;;;;;;;;;;;;;;;791:27;;657:166;;;;:::o;870:116:4:-;925:23;940:7;925;:14;;:23;;;;:::i;:::-;973:7;959:22;;;;;;;;;;;;870:116;:::o;758:108::-;810:20;822:7;810;:11;;:20;;;;:::i;:::-;853:7;841:20;;;;;;;;;;;;758:108;:::o;4463:340:7:-;4568:4;4609:1;4590:21;;:7;:21;;;;4582:30;;;;;;;;4659:50;4693:15;4659:8;:20;4668:10;4659:20;;;;;;;;;;;;;;;:29;4680:7;4659:29;;;;;;;;;;;;;;;;:33;;:50;;;;:::i;:::-;4619:8;:20;4628:10;4619:20;;;;;;;;;;;;;;;:29;4640:7;4619:29;;;;;;;;;;;;;;;:91;;;;4742:7;4721:60;;4730:10;4721:60;;;4751:8;:20;4760:10;4751:20;;;;;;;;;;;;;;;:29;4772:7;4751:29;;;;;;;;;;;;;;;;4721:60;;;;;;;;;;;;;;;;;;4794:4;4787:11;;4463:340;;;;:::o;1703:127::-;1764:4;1776:32;1786:10;1798:2;1802:5;1776:9;:32::i;:::-;1821:4;1814:11;;1703:127;;;;:::o;1341:467:16:-;1388:4;1729:10;1774:7;1762:20;1756:26;;1802:1;1796:2;:7;1789:14;;1341:467;;:::o;351:95:5:-;1121:20:16;1016:12;;;;;;;;;;;:31;;;;1032:15;:13;:15::i;:::-;1016:31;:47;;;;1052:11;;;;;;;;;;;1051:12;1016:47;1008:106;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1144:12;;;;;;;;;;;1121:35;;1177:4;1162:12;;:19;;;;;;;;;;;;;;;;;;1201:4;1187:11;;:18;;;;;;;;;;;;;;;;;;412:29:5;434:6;412:21;:29::i;:::-;1235:15:16;1220:12;;:30;;;;;;;;;;;;;;;;;;351:95:5;;:::o;1079:131:6:-;1137:7;1173:9;1165:1;1160;:6;;1152:15;;;;;;;;1189:1;1185;:5;1173:17;;1204:1;1197:8;;1079:131;;;;;:::o;5003:277:7:-;5095:9;:15;5105:4;5095:15;;;;;;;;;;;;;;;;5086:5;:24;;5078:33;;;;;;;;5139:1;5125:16;;:2;:16;;;;5117:25;;;;;;;;5167:26;5187:5;5167:9;:15;5177:4;5167:15;;;;;;;;;;;;;;;;:19;;:26;;;;:::i;:::-;5149:9;:15;5159:4;5149:15;;;;;;;;;;;;;;;:44;;;;5215:24;5233:5;5215:9;:13;5225:2;5215:13;;;;;;;;;;;;;;;;:17;;:24;;;;:::i;:::-;5199:9;:13;5209:2;5199:13;;;;;;;;;;;;;;;:40;;;;5265:2;5250:25;;5259:4;5250:25;;;5269:5;5250:25;;;;;;;;;;;;;;;;;;5003:277;;;:::o;1273:131:6:-;1331:7;1346:9;1362:1;1358;:5;1346:17;;1382:1;1377;:6;;1369:15;;;;;;;;1398:1;1391:8;;1273:131;;;;;:::o;443:136:3:-;537:1;518:21;;:7;:21;;;;510:30;;;;;;;;569:5;546:4;:11;;:20;558:7;546:20;;;;;;;;;;;;;;;;:28;;;;;;;;;;;;;;;;;;443:136;;:::o;245:132::-;336:1;317:21;;:7;:21;;;;309:30;;;;;;;;368:4;345;:11;;:20;357:7;345:20;;;;;;;;;;;;;;;;:27;;;;;;;;;;;;;;;;;;245:132;;:::o;295:121:4:-;1121:20:16;1016:12;;;;;;;;;;;:31;;;;1032:15;:13;:15::i;:::-;1016:31;:47;;;;1052:11;;;;;;;;;;;1051:12;1016:47;1008:106;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1144:12;;;;;;;;;;;1121:35;;1177:4;1162:12;;:19;;;;;;;;;;;;;;;;;;1201:4;1187:11;;:18;;;;;;;;;;;;;;;;;;361:16:4;370:6;361:8;:16::i;:::-;360:17;356:56;;;387:18;398:6;387:10;:18::i;:::-;356:56;1235:15:16;1220:12;;:30;;;;;;;;;;;;;;;;;;295:121:4;;:::o",
  "source": "pragma solidity ^0.4.24;\n\nimport \"zos-lib/contracts/Initializable.sol\";\nimport \"./ERC20.sol\";\nimport \"../../lifecycle/Pausable.sol\";\n\n\n/**\n * @title Pausable token\n * @dev ERC20 modified with pausable transfers.\n **/\ncontract ERC20Pausable is Initializable, ERC20, Pausable {\n\n  function initialize(address sender) public initializer {\n    Pausable.initialize(sender);\n  }\n\n  function transfer(\n    address to,\n    uint256 value\n  )\n    public\n    whenNotPaused\n    returns (bool)\n  {\n    return super.transfer(to, value);\n  }\n\n  function transferFrom(\n    address from,\n    address to,\n    uint256 value\n  )\n    public\n    whenNotPaused\n    returns (bool)\n  {\n    return super.transferFrom(from, to, value);\n  }\n\n  function approve(\n    address spender,\n    uint256 value\n  )\n    public\n    whenNotPaused\n    returns (bool)\n  {\n    return super.approve(spender, value);\n  }\n\n  function increaseAllowance(\n    address spender,\n    uint addedValue\n  )\n    public\n    whenNotPaused\n    returns (bool success)\n  {\n    return super.increaseAllowance(spender, addedValue);\n  }\n\n  function decreaseAllowance(\n    address spender,\n    uint subtractedValue\n  )\n    public\n    whenNotPaused\n    returns (bool success)\n  {\n    return super.decreaseAllowance(spender, subtractedValue);\n  }\n\n  uint256[50] private ______gap;\n}\n",
  "sourcePath": "openzeppelin-eth/contracts/token/ERC20/ERC20Pausable.sol",
  "ast": {
    "absolutePath": "openzeppelin-eth/contracts/token/ERC20/ERC20Pausable.sol",
    "exportedSymbols": {
      "ERC20Pausable": [
        1543
      ]
    },
    "id": 1544,
    "nodeType": "SourceUnit",
    "nodes": [
      {
        "id": 1422,
        "literals": [
          "solidity",
          "^",
          "0.4",
          ".24"
        ],
        "nodeType": "PragmaDirective",
        "src": "0:24:9"
      },
      {
        "absolutePath": "zos-lib/contracts/Initializable.sol",
        "file": "zos-lib/contracts/Initializable.sol",
        "id": 1423,
        "nodeType": "ImportDirective",
        "scope": 1544,
        "sourceUnit": 1919,
        "src": "26:45:9",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "absolutePath": "openzeppelin-eth/contracts/token/ERC20/ERC20.sol",
        "file": "./ERC20.sol",
        "id": 1424,
        "nodeType": "ImportDirective",
        "scope": 1544,
        "sourceUnit": 1354,
        "src": "72:21:9",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "absolutePath": "openzeppelin-eth/contracts/lifecycle/Pausable.sol",
        "file": "../../lifecycle/Pausable.sol",
        "id": 1425,
        "nodeType": "ImportDirective",
        "scope": 1544,
        "sourceUnit": 775,
        "src": "94:38:9",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "baseContracts": [
          {
            "arguments": null,
            "baseName": {
              "contractScope": null,
              "id": 1426,
              "name": "Initializable",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 1918,
              "src": "243:13:9",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_Initializable_$1918",
                "typeString": "contract Initializable"
              }
            },
            "id": 1427,
            "nodeType": "InheritanceSpecifier",
            "src": "243:13:9"
          },
          {
            "arguments": null,
            "baseName": {
              "contractScope": null,
              "id": 1428,
              "name": "ERC20",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 1353,
              "src": "258:5:9",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_ERC20_$1353",
                "typeString": "contract ERC20"
              }
            },
            "id": 1429,
            "nodeType": "InheritanceSpecifier",
            "src": "258:5:9"
          },
          {
            "arguments": null,
            "baseName": {
              "contractScope": null,
              "id": 1430,
              "name": "Pausable",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 774,
              "src": "265:8:9",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_Pausable_$774",
                "typeString": "contract Pausable"
              }
            },
            "id": 1431,
            "nodeType": "InheritanceSpecifier",
            "src": "265:8:9"
          }
        ],
        "contractDependencies": [
          685,
          774,
          1353,
          1612,
          1918
        ],
        "contractKind": "contract",
        "documentation": "@title Pausable token\n@dev ERC20 modified with pausable transfers.*",
        "fullyImplemented": true,
        "id": 1543,
        "linearizedBaseContracts": [
          1543,
          774,
          685,
          1353,
          1612,
          1918
        ],
        "name": "ERC20Pausable",
        "nodeType": "ContractDefinition",
        "nodes": [
          {
            "body": {
              "id": 1444,
              "nodeType": "Block",
              "src": "334:38:9",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 1441,
                        "name": "sender",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 1433,
                        "src": "360:6:9",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "id": 1438,
                        "name": "Pausable",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 774,
                        "src": "340:8:9",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_contract$_Pausable_$774_$",
                          "typeString": "type(contract Pausable)"
                        }
                      },
                      "id": 1440,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "initialize",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 714,
                      "src": "340:19:9",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$",
                        "typeString": "function (address)"
                      }
                    },
                    "id": 1442,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "340:27:9",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 1443,
                  "nodeType": "ExpressionStatement",
                  "src": "340:27:9"
                }
              ]
            },
            "documentation": null,
            "id": 1445,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [
              {
                "arguments": null,
                "id": 1436,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 1435,
                  "name": "initializer",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 1899,
                  "src": "322:11:9",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$__$",
                    "typeString": "modifier ()"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "322:11:9"
              }
            ],
            "name": "initialize",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 1434,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1433,
                  "name": "sender",
                  "nodeType": "VariableDeclaration",
                  "scope": 1445,
                  "src": "299:14:9",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 1432,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "299:7:9",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "298:16:9"
            },
            "payable": false,
            "returnParameters": {
              "id": 1437,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "334:0:9"
            },
            "scope": 1543,
            "src": "279:93:9",
            "stateMutability": "nonpayable",
            "superFunction": 714,
            "visibility": "public"
          },
          {
            "body": {
              "id": 1462,
              "nodeType": "Block",
              "src": "483:43:9",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 1458,
                        "name": "to",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 1447,
                        "src": "511:2:9",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 1459,
                        "name": "value",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 1449,
                        "src": "515:5:9",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "id": 1456,
                        "name": "super",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 1969,
                        "src": "496:5:9",
                        "typeDescriptions": {
                          "typeIdentifier": "t_super$_ERC20Pausable_$1543",
                          "typeString": "contract super ERC20Pausable"
                        }
                      },
                      "id": 1457,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "transfer",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 981,
                      "src": "496:14:9",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$",
                        "typeString": "function (address,uint256) returns (bool)"
                      }
                    },
                    "id": 1460,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "496:25:9",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "functionReturnParameters": 1455,
                  "id": 1461,
                  "nodeType": "Return",
                  "src": "489:32:9"
                }
              ]
            },
            "documentation": null,
            "id": 1463,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [
              {
                "arguments": null,
                "id": 1452,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 1451,
                  "name": "whenNotPaused",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 731,
                  "src": "448:13:9",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$__$",
                    "typeString": "modifier ()"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "448:13:9"
              }
            ],
            "name": "transfer",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 1450,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1447,
                  "name": "to",
                  "nodeType": "VariableDeclaration",
                  "scope": 1463,
                  "src": "399:10:9",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 1446,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "399:7:9",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 1449,
                  "name": "value",
                  "nodeType": "VariableDeclaration",
                  "scope": 1463,
                  "src": "415:13:9",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 1448,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "415:7:9",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "393:39:9"
            },
            "payable": false,
            "returnParameters": {
              "id": 1455,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1454,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 1463,
                  "src": "475:4:9",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 1453,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "475:4:9",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "474:6:9"
            },
            "scope": 1543,
            "src": "376:150:9",
            "stateMutability": "nonpayable",
            "superFunction": 981,
            "visibility": "public"
          },
          {
            "body": {
              "id": 1483,
              "nodeType": "Block",
              "src": "659:53:9",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 1478,
                        "name": "from",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 1465,
                        "src": "691:4:9",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 1479,
                        "name": "to",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 1467,
                        "src": "697:2:9",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 1480,
                        "name": "value",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 1469,
                        "src": "701:5:9",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "id": 1476,
                        "name": "super",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 1969,
                        "src": "672:5:9",
                        "typeDescriptions": {
                          "typeIdentifier": "t_super$_ERC20Pausable_$1543",
                          "typeString": "contract super ERC20Pausable"
                        }
                      },
                      "id": 1477,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "transferFrom",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 1065,
                      "src": "672:18:9",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$",
                        "typeString": "function (address,address,uint256) returns (bool)"
                      }
                    },
                    "id": 1481,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "672:35:9",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "functionReturnParameters": 1475,
                  "id": 1482,
                  "nodeType": "Return",
                  "src": "665:42:9"
                }
              ]
            },
            "documentation": null,
            "id": 1484,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [
              {
                "arguments": null,
                "id": 1472,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 1471,
                  "name": "whenNotPaused",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 731,
                  "src": "624:13:9",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$__$",
                    "typeString": "modifier ()"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "624:13:9"
              }
            ],
            "name": "transferFrom",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 1470,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1465,
                  "name": "from",
                  "nodeType": "VariableDeclaration",
                  "scope": 1484,
                  "src": "557:12:9",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 1464,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "557:7:9",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 1467,
                  "name": "to",
                  "nodeType": "VariableDeclaration",
                  "scope": 1484,
                  "src": "575:10:9",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 1466,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "575:7:9",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 1469,
                  "name": "value",
                  "nodeType": "VariableDeclaration",
                  "scope": 1484,
                  "src": "591:13:9",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 1468,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "591:7:9",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "551:57:9"
            },
            "payable": false,
            "returnParameters": {
              "id": 1475,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1474,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 1484,
                  "src": "651:4:9",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 1473,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "651:4:9",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "650:6:9"
            },
            "scope": 1543,
            "src": "530:182:9",
            "stateMutability": "nonpayable",
            "superFunction": 1065,
            "visibility": "public"
          },
          {
            "body": {
              "id": 1501,
              "nodeType": "Block",
              "src": "827:47:9",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 1497,
                        "name": "spender",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 1486,
                        "src": "854:7:9",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 1498,
                        "name": "value",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 1488,
                        "src": "863:5:9",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "id": 1495,
                        "name": "super",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 1969,
                        "src": "840:5:9",
                        "typeDescriptions": {
                          "typeIdentifier": "t_super$_ERC20Pausable_$1543",
                          "typeString": "contract super ERC20Pausable"
                        }
                      },
                      "id": 1496,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "approve",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 1017,
                      "src": "840:13:9",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$",
                        "typeString": "function (address,uint256) returns (bool)"
                      }
                    },
                    "id": 1499,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "840:29:9",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "functionReturnParameters": 1494,
                  "id": 1500,
                  "nodeType": "Return",
                  "src": "833:36:9"
                }
              ]
            },
            "documentation": null,
            "id": 1502,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [
              {
                "arguments": null,
                "id": 1491,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 1490,
                  "name": "whenNotPaused",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 731,
                  "src": "792:13:9",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$__$",
                    "typeString": "modifier ()"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "792:13:9"
              }
            ],
            "name": "approve",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 1489,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1486,
                  "name": "spender",
                  "nodeType": "VariableDeclaration",
                  "scope": 1502,
                  "src": "738:15:9",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 1485,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "738:7:9",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 1488,
                  "name": "value",
                  "nodeType": "VariableDeclaration",
                  "scope": 1502,
                  "src": "759:13:9",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 1487,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "759:7:9",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "732:44:9"
            },
            "payable": false,
            "returnParameters": {
              "id": 1494,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1493,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 1502,
                  "src": "819:4:9",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 1492,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "819:4:9",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "818:6:9"
            },
            "scope": 1543,
            "src": "716:158:9",
            "stateMutability": "nonpayable",
            "superFunction": 1017,
            "visibility": "public"
          },
          {
            "body": {
              "id": 1519,
              "nodeType": "Block",
              "src": "1009:62:9",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 1515,
                        "name": "spender",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 1504,
                        "src": "1046:7:9",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 1516,
                        "name": "addedValue",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 1506,
                        "src": "1055:10:9",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "id": 1513,
                        "name": "super",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 1969,
                        "src": "1022:5:9",
                        "typeDescriptions": {
                          "typeIdentifier": "t_super$_ERC20Pausable_$1543",
                          "typeString": "contract super ERC20Pausable"
                        }
                      },
                      "id": 1514,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "increaseAllowance",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 1115,
                      "src": "1022:23:9",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$",
                        "typeString": "function (address,uint256) returns (bool)"
                      }
                    },
                    "id": 1517,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "1022:44:9",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "functionReturnParameters": 1512,
                  "id": 1518,
                  "nodeType": "Return",
                  "src": "1015:51:9"
                }
              ]
            },
            "documentation": null,
            "id": 1520,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [
              {
                "arguments": null,
                "id": 1509,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 1508,
                  "name": "whenNotPaused",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 731,
                  "src": "966:13:9",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$__$",
                    "typeString": "modifier ()"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "966:13:9"
              }
            ],
            "name": "increaseAllowance",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 1507,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1504,
                  "name": "spender",
                  "nodeType": "VariableDeclaration",
                  "scope": 1520,
                  "src": "910:15:9",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 1503,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "910:7:9",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 1506,
                  "name": "addedValue",
                  "nodeType": "VariableDeclaration",
                  "scope": 1520,
                  "src": "931:15:9",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 1505,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "931:4:9",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "904:46:9"
            },
            "payable": false,
            "returnParameters": {
              "id": 1512,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1511,
                  "name": "success",
                  "nodeType": "VariableDeclaration",
                  "scope": 1520,
                  "src": "993:12:9",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 1510,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "993:4:9",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "992:14:9"
            },
            "scope": 1543,
            "src": "878:193:9",
            "stateMutability": "nonpayable",
            "superFunction": 1115,
            "visibility": "public"
          },
          {
            "body": {
              "id": 1537,
              "nodeType": "Block",
              "src": "1211:67:9",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 1533,
                        "name": "spender",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 1522,
                        "src": "1248:7:9",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 1534,
                        "name": "subtractedValue",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 1524,
                        "src": "1257:15:9",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "id": 1531,
                        "name": "super",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 1969,
                        "src": "1224:5:9",
                        "typeDescriptions": {
                          "typeIdentifier": "t_super$_ERC20Pausable_$1543",
                          "typeString": "contract super ERC20Pausable"
                        }
                      },
                      "id": 1532,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "decreaseAllowance",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 1165,
                      "src": "1224:23:9",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$",
                        "typeString": "function (address,uint256) returns (bool)"
                      }
                    },
                    "id": 1535,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "1224:49:9",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "functionReturnParameters": 1530,
                  "id": 1536,
                  "nodeType": "Return",
                  "src": "1217:56:9"
                }
              ]
            },
            "documentation": null,
            "id": 1538,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [
              {
                "arguments": null,
                "id": 1527,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 1526,
                  "name": "whenNotPaused",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 731,
                  "src": "1168:13:9",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$__$",
                    "typeString": "modifier ()"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "1168:13:9"
              }
            ],
            "name": "decreaseAllowance",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 1525,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1522,
                  "name": "spender",
                  "nodeType": "VariableDeclaration",
                  "scope": 1538,
                  "src": "1107:15:9",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 1521,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1107:7:9",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 1524,
                  "name": "subtractedValue",
                  "nodeType": "VariableDeclaration",
                  "scope": 1538,
                  "src": "1128:20:9",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 1523,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "1128:4:9",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1101:51:9"
            },
            "payable": false,
            "returnParameters": {
              "id": 1530,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1529,
                  "name": "success",
                  "nodeType": "VariableDeclaration",
                  "scope": 1538,
                  "src": "1195:12:9",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 1528,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "1195:4:9",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1194:14:9"
            },
            "scope": 1543,
            "src": "1075:203:9",
            "stateMutability": "nonpayable",
            "superFunction": 1165,
            "visibility": "public"
          },
          {
            "constant": false,
            "id": 1542,
            "name": "______gap",
            "nodeType": "VariableDeclaration",
            "scope": 1543,
            "src": "1282:29:9",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_array$_t_uint256_$50_storage",
              "typeString": "uint256[50]"
            },
            "typeName": {
              "baseType": {
                "id": 1539,
                "name": "uint256",
                "nodeType": "ElementaryTypeName",
                "src": "1282:7:9",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                }
              },
              "id": 1541,
              "length": {
                "argumentTypes": null,
                "hexValue": "3530",
                "id": 1540,
                "isConstant": false,
                "isLValue": false,
                "isPure": false,
                "kind": "number",
                "lValueRequested": false,
                "nodeType": "Literal",
                "src": "1290:2:9",
                "subdenomination": null,
                "typeDescriptions": {
                  "typeIdentifier": null,
                  "typeString": null
                },
                "value": "50"
              },
              "nodeType": "ArrayTypeName",
              "src": "1282:11:9",
              "typeDescriptions": {
                "typeIdentifier": "t_array$_t_uint256_$50_storage_ptr",
                "typeString": "uint256[50]"
              }
            },
            "value": null,
            "visibility": "private"
          }
        ],
        "scope": 1544,
        "src": "217:1097:9"
      }
    ],
    "src": "0:1315:9"
  },
  "legacyAST": {
    "absolutePath": "openzeppelin-eth/contracts/token/ERC20/ERC20Pausable.sol",
    "exportedSymbols": {
      "ERC20Pausable": [
        1543
      ]
    },
    "id": 1544,
    "nodeType": "SourceUnit",
    "nodes": [
      {
        "id": 1422,
        "literals": [
          "solidity",
          "^",
          "0.4",
          ".24"
        ],
        "nodeType": "PragmaDirective",
        "src": "0:24:9"
      },
      {
        "absolutePath": "zos-lib/contracts/Initializable.sol",
        "file": "zos-lib/contracts/Initializable.sol",
        "id": 1423,
        "nodeType": "ImportDirective",
        "scope": 1544,
        "sourceUnit": 1919,
        "src": "26:45:9",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "absolutePath": "openzeppelin-eth/contracts/token/ERC20/ERC20.sol",
        "file": "./ERC20.sol",
        "id": 1424,
        "nodeType": "ImportDirective",
        "scope": 1544,
        "sourceUnit": 1354,
        "src": "72:21:9",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "absolutePath": "openzeppelin-eth/contracts/lifecycle/Pausable.sol",
        "file": "../../lifecycle/Pausable.sol",
        "id": 1425,
        "nodeType": "ImportDirective",
        "scope": 1544,
        "sourceUnit": 775,
        "src": "94:38:9",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "baseContracts": [
          {
            "arguments": null,
            "baseName": {
              "contractScope": null,
              "id": 1426,
              "name": "Initializable",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 1918,
              "src": "243:13:9",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_Initializable_$1918",
                "typeString": "contract Initializable"
              }
            },
            "id": 1427,
            "nodeType": "InheritanceSpecifier",
            "src": "243:13:9"
          },
          {
            "arguments": null,
            "baseName": {
              "contractScope": null,
              "id": 1428,
              "name": "ERC20",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 1353,
              "src": "258:5:9",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_ERC20_$1353",
                "typeString": "contract ERC20"
              }
            },
            "id": 1429,
            "nodeType": "InheritanceSpecifier",
            "src": "258:5:9"
          },
          {
            "arguments": null,
            "baseName": {
              "contractScope": null,
              "id": 1430,
              "name": "Pausable",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 774,
              "src": "265:8:9",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_Pausable_$774",
                "typeString": "contract Pausable"
              }
            },
            "id": 1431,
            "nodeType": "InheritanceSpecifier",
            "src": "265:8:9"
          }
        ],
        "contractDependencies": [
          685,
          774,
          1353,
          1612,
          1918
        ],
        "contractKind": "contract",
        "documentation": "@title Pausable token\n@dev ERC20 modified with pausable transfers.*",
        "fullyImplemented": true,
        "id": 1543,
        "linearizedBaseContracts": [
          1543,
          774,
          685,
          1353,
          1612,
          1918
        ],
        "name": "ERC20Pausable",
        "nodeType": "ContractDefinition",
        "nodes": [
          {
            "body": {
              "id": 1444,
              "nodeType": "Block",
              "src": "334:38:9",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 1441,
                        "name": "sender",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 1433,
                        "src": "360:6:9",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "id": 1438,
                        "name": "Pausable",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 774,
                        "src": "340:8:9",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_contract$_Pausable_$774_$",
                          "typeString": "type(contract Pausable)"
                        }
                      },
                      "id": 1440,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "initialize",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 714,
                      "src": "340:19:9",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$",
                        "typeString": "function (address)"
                      }
                    },
                    "id": 1442,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "340:27:9",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 1443,
                  "nodeType": "ExpressionStatement",
                  "src": "340:27:9"
                }
              ]
            },
            "documentation": null,
            "id": 1445,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [
              {
                "arguments": null,
                "id": 1436,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 1435,
                  "name": "initializer",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 1899,
                  "src": "322:11:9",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$__$",
                    "typeString": "modifier ()"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "322:11:9"
              }
            ],
            "name": "initialize",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 1434,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1433,
                  "name": "sender",
                  "nodeType": "VariableDeclaration",
                  "scope": 1445,
                  "src": "299:14:9",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 1432,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "299:7:9",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "298:16:9"
            },
            "payable": false,
            "returnParameters": {
              "id": 1437,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "334:0:9"
            },
            "scope": 1543,
            "src": "279:93:9",
            "stateMutability": "nonpayable",
            "superFunction": 714,
            "visibility": "public"
          },
          {
            "body": {
              "id": 1462,
              "nodeType": "Block",
              "src": "483:43:9",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 1458,
                        "name": "to",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 1447,
                        "src": "511:2:9",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 1459,
                        "name": "value",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 1449,
                        "src": "515:5:9",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "id": 1456,
                        "name": "super",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 1969,
                        "src": "496:5:9",
                        "typeDescriptions": {
                          "typeIdentifier": "t_super$_ERC20Pausable_$1543",
                          "typeString": "contract super ERC20Pausable"
                        }
                      },
                      "id": 1457,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "transfer",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 981,
                      "src": "496:14:9",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$",
                        "typeString": "function (address,uint256) returns (bool)"
                      }
                    },
                    "id": 1460,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "496:25:9",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "functionReturnParameters": 1455,
                  "id": 1461,
                  "nodeType": "Return",
                  "src": "489:32:9"
                }
              ]
            },
            "documentation": null,
            "id": 1463,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [
              {
                "arguments": null,
                "id": 1452,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 1451,
                  "name": "whenNotPaused",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 731,
                  "src": "448:13:9",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$__$",
                    "typeString": "modifier ()"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "448:13:9"
              }
            ],
            "name": "transfer",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 1450,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1447,
                  "name": "to",
                  "nodeType": "VariableDeclaration",
                  "scope": 1463,
                  "src": "399:10:9",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 1446,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "399:7:9",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 1449,
                  "name": "value",
                  "nodeType": "VariableDeclaration",
                  "scope": 1463,
                  "src": "415:13:9",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 1448,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "415:7:9",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "393:39:9"
            },
            "payable": false,
            "returnParameters": {
              "id": 1455,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1454,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 1463,
                  "src": "475:4:9",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 1453,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "475:4:9",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "474:6:9"
            },
            "scope": 1543,
            "src": "376:150:9",
            "stateMutability": "nonpayable",
            "superFunction": 981,
            "visibility": "public"
          },
          {
            "body": {
              "id": 1483,
              "nodeType": "Block",
              "src": "659:53:9",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 1478,
                        "name": "from",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 1465,
                        "src": "691:4:9",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 1479,
                        "name": "to",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 1467,
                        "src": "697:2:9",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 1480,
                        "name": "value",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 1469,
                        "src": "701:5:9",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "id": 1476,
                        "name": "super",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 1969,
                        "src": "672:5:9",
                        "typeDescriptions": {
                          "typeIdentifier": "t_super$_ERC20Pausable_$1543",
                          "typeString": "contract super ERC20Pausable"
                        }
                      },
                      "id": 1477,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "transferFrom",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 1065,
                      "src": "672:18:9",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$",
                        "typeString": "function (address,address,uint256) returns (bool)"
                      }
                    },
                    "id": 1481,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "672:35:9",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "functionReturnParameters": 1475,
                  "id": 1482,
                  "nodeType": "Return",
                  "src": "665:42:9"
                }
              ]
            },
            "documentation": null,
            "id": 1484,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [
              {
                "arguments": null,
                "id": 1472,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 1471,
                  "name": "whenNotPaused",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 731,
                  "src": "624:13:9",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$__$",
                    "typeString": "modifier ()"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "624:13:9"
              }
            ],
            "name": "transferFrom",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 1470,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1465,
                  "name": "from",
                  "nodeType": "VariableDeclaration",
                  "scope": 1484,
                  "src": "557:12:9",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 1464,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "557:7:9",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 1467,
                  "name": "to",
                  "nodeType": "VariableDeclaration",
                  "scope": 1484,
                  "src": "575:10:9",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 1466,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "575:7:9",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 1469,
                  "name": "value",
                  "nodeType": "VariableDeclaration",
                  "scope": 1484,
                  "src": "591:13:9",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 1468,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "591:7:9",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "551:57:9"
            },
            "payable": false,
            "returnParameters": {
              "id": 1475,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1474,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 1484,
                  "src": "651:4:9",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 1473,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "651:4:9",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "650:6:9"
            },
            "scope": 1543,
            "src": "530:182:9",
            "stateMutability": "nonpayable",
            "superFunction": 1065,
            "visibility": "public"
          },
          {
            "body": {
              "id": 1501,
              "nodeType": "Block",
              "src": "827:47:9",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 1497,
                        "name": "spender",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 1486,
                        "src": "854:7:9",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 1498,
                        "name": "value",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 1488,
                        "src": "863:5:9",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "id": 1495,
                        "name": "super",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 1969,
                        "src": "840:5:9",
                        "typeDescriptions": {
                          "typeIdentifier": "t_super$_ERC20Pausable_$1543",
                          "typeString": "contract super ERC20Pausable"
                        }
                      },
                      "id": 1496,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "approve",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 1017,
                      "src": "840:13:9",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$",
                        "typeString": "function (address,uint256) returns (bool)"
                      }
                    },
                    "id": 1499,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "840:29:9",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "functionReturnParameters": 1494,
                  "id": 1500,
                  "nodeType": "Return",
                  "src": "833:36:9"
                }
              ]
            },
            "documentation": null,
            "id": 1502,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [
              {
                "arguments": null,
                "id": 1491,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 1490,
                  "name": "whenNotPaused",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 731,
                  "src": "792:13:9",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$__$",
                    "typeString": "modifier ()"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "792:13:9"
              }
            ],
            "name": "approve",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 1489,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1486,
                  "name": "spender",
                  "nodeType": "VariableDeclaration",
                  "scope": 1502,
                  "src": "738:15:9",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 1485,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "738:7:9",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 1488,
                  "name": "value",
                  "nodeType": "VariableDeclaration",
                  "scope": 1502,
                  "src": "759:13:9",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 1487,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "759:7:9",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "732:44:9"
            },
            "payable": false,
            "returnParameters": {
              "id": 1494,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1493,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 1502,
                  "src": "819:4:9",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 1492,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "819:4:9",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "818:6:9"
            },
            "scope": 1543,
            "src": "716:158:9",
            "stateMutability": "nonpayable",
            "superFunction": 1017,
            "visibility": "public"
          },
          {
            "body": {
              "id": 1519,
              "nodeType": "Block",
              "src": "1009:62:9",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 1515,
                        "name": "spender",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 1504,
                        "src": "1046:7:9",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 1516,
                        "name": "addedValue",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 1506,
                        "src": "1055:10:9",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "id": 1513,
                        "name": "super",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 1969,
                        "src": "1022:5:9",
                        "typeDescriptions": {
                          "typeIdentifier": "t_super$_ERC20Pausable_$1543",
                          "typeString": "contract super ERC20Pausable"
                        }
                      },
                      "id": 1514,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "increaseAllowance",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 1115,
                      "src": "1022:23:9",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$",
                        "typeString": "function (address,uint256) returns (bool)"
                      }
                    },
                    "id": 1517,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "1022:44:9",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "functionReturnParameters": 1512,
                  "id": 1518,
                  "nodeType": "Return",
                  "src": "1015:51:9"
                }
              ]
            },
            "documentation": null,
            "id": 1520,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [
              {
                "arguments": null,
                "id": 1509,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 1508,
                  "name": "whenNotPaused",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 731,
                  "src": "966:13:9",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$__$",
                    "typeString": "modifier ()"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "966:13:9"
              }
            ],
            "name": "increaseAllowance",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 1507,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1504,
                  "name": "spender",
                  "nodeType": "VariableDeclaration",
                  "scope": 1520,
                  "src": "910:15:9",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 1503,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "910:7:9",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 1506,
                  "name": "addedValue",
                  "nodeType": "VariableDeclaration",
                  "scope": 1520,
                  "src": "931:15:9",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 1505,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "931:4:9",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "904:46:9"
            },
            "payable": false,
            "returnParameters": {
              "id": 1512,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1511,
                  "name": "success",
                  "nodeType": "VariableDeclaration",
                  "scope": 1520,
                  "src": "993:12:9",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 1510,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "993:4:9",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "992:14:9"
            },
            "scope": 1543,
            "src": "878:193:9",
            "stateMutability": "nonpayable",
            "superFunction": 1115,
            "visibility": "public"
          },
          {
            "body": {
              "id": 1537,
              "nodeType": "Block",
              "src": "1211:67:9",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 1533,
                        "name": "spender",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 1522,
                        "src": "1248:7:9",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 1534,
                        "name": "subtractedValue",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 1524,
                        "src": "1257:15:9",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "id": 1531,
                        "name": "super",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 1969,
                        "src": "1224:5:9",
                        "typeDescriptions": {
                          "typeIdentifier": "t_super$_ERC20Pausable_$1543",
                          "typeString": "contract super ERC20Pausable"
                        }
                      },
                      "id": 1532,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "decreaseAllowance",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 1165,
                      "src": "1224:23:9",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$",
                        "typeString": "function (address,uint256) returns (bool)"
                      }
                    },
                    "id": 1535,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "1224:49:9",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "functionReturnParameters": 1530,
                  "id": 1536,
                  "nodeType": "Return",
                  "src": "1217:56:9"
                }
              ]
            },
            "documentation": null,
            "id": 1538,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [
              {
                "arguments": null,
                "id": 1527,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 1526,
                  "name": "whenNotPaused",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 731,
                  "src": "1168:13:9",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$__$",
                    "typeString": "modifier ()"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "1168:13:9"
              }
            ],
            "name": "decreaseAllowance",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 1525,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1522,
                  "name": "spender",
                  "nodeType": "VariableDeclaration",
                  "scope": 1538,
                  "src": "1107:15:9",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 1521,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1107:7:9",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 1524,
                  "name": "subtractedValue",
                  "nodeType": "VariableDeclaration",
                  "scope": 1538,
                  "src": "1128:20:9",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 1523,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "1128:4:9",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1101:51:9"
            },
            "payable": false,
            "returnParameters": {
              "id": 1530,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1529,
                  "name": "success",
                  "nodeType": "VariableDeclaration",
                  "scope": 1538,
                  "src": "1195:12:9",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 1528,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "1195:4:9",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1194:14:9"
            },
            "scope": 1543,
            "src": "1075:203:9",
            "stateMutability": "nonpayable",
            "superFunction": 1165,
            "visibility": "public"
          },
          {
            "constant": false,
            "id": 1542,
            "name": "______gap",
            "nodeType": "VariableDeclaration",
            "scope": 1543,
            "src": "1282:29:9",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_array$_t_uint256_$50_storage",
              "typeString": "uint256[50]"
            },
            "typeName": {
              "baseType": {
                "id": 1539,
                "name": "uint256",
                "nodeType": "ElementaryTypeName",
                "src": "1282:7:9",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                }
              },
              "id": 1541,
              "length": {
                "argumentTypes": null,
                "hexValue": "3530",
                "id": 1540,
                "isConstant": false,
                "isLValue": false,
                "isPure": false,
                "kind": "number",
                "lValueRequested": false,
                "nodeType": "Literal",
                "src": "1290:2:9",
                "subdenomination": null,
                "typeDescriptions": {
                  "typeIdentifier": null,
                  "typeString": null
                },
                "value": "50"
              },
              "nodeType": "ArrayTypeName",
              "src": "1282:11:9",
              "typeDescriptions": {
                "typeIdentifier": "t_array$_t_uint256_$50_storage_ptr",
                "typeString": "uint256[50]"
              }
            },
            "value": null,
            "visibility": "private"
          }
        ],
        "scope": 1544,
        "src": "217:1097:9"
      }
    ],
    "src": "0:1315:9"
  },
  "compiler": {
    "name": "solc",
    "version": "0.4.24+commit.e67f0147.Emscripten.clang"
  },
  "networks": {},
  "schemaVersion": "2.0.1",
  "updatedAt": "2018-12-15T05:05:31.551Z"
}