contract Ownable {

  address public owner;
  address public ownerManualMinter; 

  event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

  /**
   * @dev The Ownable constructor sets the original `owner` of the contract to the sender
   * account.
   */
  function Ownable() {
    /**
    * ownerManualMinter contains the eth address of the party allowed to manually mint outside the crowdsale contract
    * this is setup at construction time 
    */ 

    ownerManualMinter = 0xd97c302e9b5ee38ab900d3a07164c2ad43ffc044 ; // To be changed right after contract is deployed
    owner = msg.sender;
  }

  /**
   * @dev Throws if called by any account other than the owner.
   */
  modifier onlyOwner() {
    require(msg.sender == owner || msg.sender == ownerManualMinter);
    _;
  }

  /**
   * @dev Allows the current owner to transfer control of the contract to a newOwner.
   * This shall be invoked with the ICO crowd sale smart contract address once it´s ready
   * @param newOwner The address to transfer ownership to.
   */
  function transferOwnership(address newOwner) onlyOwner public {
    require(newOwner != address(0));
    OwnershipTransferred(owner, newOwner);
    owner = newOwner;
  }

/**
   * @dev After the manual minting process ends, this shall be invoked passing the ICO crowd sale contract address so that
   * nobody else will be ever able to mint more tokens
   * @param newOwner The address to transfer ownership to.
   */
  function transferOwnershipManualMinter(address newOwner) onlyOwner public {
    require(newOwner != address(0));
    OwnershipTransferred(owner, newOwner);
    ownerManualMinter = newOwner;
  }

}
/**
 * @title Ownable
 * @dev The modified Ownable contract has two owner addresses to provide authorization control
 * functions.
 */
function Ownable() {
    /**
    * ownerManualMinter contains the eth address of the party allowed to manually mint outside the crowdsale contract
    * this is setup at construction time 
    */ 

    ownerManualMinter = 0xd97c302e9b5ee38ab900d3a07164c2ad43ffc044 ; // To be changed right after contract is deployed
    owner = msg.sender;
  }
/**
 * @dev The Ownable constructor sets the original `owner` of the contract to the sender
 * account.
 */