contract ParetoFourMonthLockup {
  using SafeERC20 for ERC20Basic;

  // ERC20 basic token contract being held
  ERC20Basic public token;

  // beneficiary of tokens after they are released
  address public beneficiary;

  // timestamp when token release is enabled
  uint256 public releaseTime;

  function ParetoFourMonthLockup()public {
    token = ERC20Basic(0xea5f88E54d982Cbb0c441cde4E79bC305e5b43Bc);
    beneficiary = 0x439f2cEe51F19BA158f1126eC3635587F7637718;
    releaseTime = now + 120 days;
  }

  /**
   * @notice Transfers tokens held by timelock to beneficiary.
   */
  function release() public {
    require(now >= releaseTime);

    uint256 amount = token.balanceOf(this);
    require(amount > 0);

    token.safeTransfer(beneficiary, amount);
  }
}
/**
 * @title ParetoFourMonthLockup
 * @dev PretoFourMonthLockup is a token holder contract that will allow a
 * beneficiary to extract the tokens after a given release time
 */
function release() public {
  require(now >= releaseTime);

  uint256 amount = token.balanceOf(this);
  require(amount > 0);

  token.safeTransfer(beneficiary, amount);
}

/**
 * @notice Transfers tokens held by timelock to beneficiary.
 */