contract PunchToken is StandardToken {
    string public symbol;
    string public  name;
    uint8 public decimals;

    // ------------------------------------------------------------------------
    // Constructor
    // ------------------------------------------------------------------------
    constructor() public {
        symbol = "PUN";
        name = "Punch Token";
        decimals = 18;
        totalSupply_ = 60000000000000000000000000000;
        balances[0x95DE0088fB5a43F084f53A30f971FD9eE67A14E8] = totalSupply_;
        emit Transfer(address(0), 0x95DE0088fB5a43F084f53A30f971FD9eE67A14E8, totalSupply_);
    }

    // ------------------------------------------------------------------------
    // Token owner can approve for spender to transferFrom(...) tokens
    // from the token owner's account. The spender contract function
    // receiveApproval(...) is then executed
    // ------------------------------------------------------------------------
    function approveAndCall(address _spender, uint256 _value, bytes data) public returns (bool) {
		approve(_spender,_value);
        ApproveAndCallFallBack(_spender).receiveApproval(msg.sender, _value, this, data);
        return true;
    }

    // ------------------------------------------------------------------------
    // Don't accept ETH
    // ------------------------------------------------------------------------
    function () public payable {
        revert();
    }
}
function () public payable {
    revert();
}

// ------------------------------------------------------------------------
// Don't accept ETH
// ------------------------------------------------------------------------