###############################################################################
# Copyright (c) 2000, 2007 IBM Corporation and others.
#
# This program and the accompanying materials
# are made available under the terms of the Eclipse Public License 2.0
# which accompanies this distribution, and is available at
# https://www.eclipse.org/legal/epl-2.0/
#
# SPDX-License-Identifier: EPL-2.0
#
# Contributors:
#     IBM Corporation - initial API and implementation
###############################################################################

EventRequestImpl___not_enabled__1=\ (not enabled)
EventRequestImpl____2=:
EventRequestImpl_Invalid_suspend_policy_encountered___3=Invalid suspend policy encountered:
EventRequestImpl_Invalid_step_size_encountered___4=Invalid step size encountered:
EventRequestImpl_Invalid_step_depth_encountered___5=Invalid step depth encountered:
EventRequestManagerImpl_EventRequest_type_of__0__is_unknown_1=EventRequest type of {0} is unknown
EventRequestManagerImpl_Got_event_of_unknown_type_2=Got event of unknown type
