contract ERC20Interface {
  // Get the total token supply
  function totalSupply() public constant returns (uint256 _totalSupply);

  // Get the account balance of another account with address _owner
  function balanceOf(address _owner) public constant returns (uint256 balance);

  // Send _value amount of tokens to address _to
  function transfer(address _to, uint256 _value) public returns (bool success);

  // transfer _value amount of token approved by address _from
  function transferFrom(address _from, address _to, uint256 _value) public returns (bool success);

  // approve an address with _value amount of tokens
  function approve(address _spender, uint256 _value) public returns (bool success);

  // get remaining token approved by _owner to _spender
  function allowance(address _owner, address _spender) public constant returns (uint256 remaining);

  // Triggered when tokens are transferred.
  event Transfer(address indexed _from, address indexed _to, uint256 _value);

  // Triggered whenever approve(address _spender, uint256 _value) is called.
  event Approval(address indexed _owner, address indexed _spender, uint256 _value);
}
// ----------------------------------------------------------------------------
// Coin Token by ABA Ltd
function allowance(address _owner, address _spender) public constant returns (uint256 remaining);

// get remaining token approved by _owner to _spender