/*******************************************************************************
 *  Copyright (c) 2005, 2012 IBM Corporation and others.
 *  All rights reserved. This program and the accompanying materials
 *  are made available under the terms of the Eclipse Public License v1.0
 *  which accompanies this distribution, and is available at
 *  http://www.eclipse.org/legal/epl-v10.html
 *
 *  Contributors:
 *     IBM Corporation - initial API and implementation
 *******************************************************************************/
package org.eclipse.debug.internal.ui.importexport.breakpoints;

import org.eclipse.osgi.util.NLS;

public class ImportExportMessages extends NLS {
	private static final String BUNDLE_NAME = "org.eclipse.debug.internal.ui.importexport.breakpoints.BreakpointImportExport"; //$NON-NLS-1$

	private ImportExportMessages() {
	}

	static {
		// initialize resource bundle
		NLS.initializeMessages(BUNDLE_NAME, ImportExportMessages.class);
	}

	public static String WizardImportBreakpoints_0;
	public static String WizardExportBreakpoints_0;
	public static String WizardBreakpointsPage_1;
	public static String WizardBreakpointsPage_2;
	public static String WizardBreakpointsPage_4;
	public static String WizardBreakpointsPage_6;
	public static String WizardBreakpointsPage_7;
	public static String WizardBreakpointsPage_8;
	public static String WizardBreakpointsPage_12;
	public static String ImportExportOperations_0;
	public static String ImportOperation_0;
	public static String WizardImportBreakpointsPage_0;
	public static String WizardImportBreakpointsPage_1;
	public static String WizardImportBreakpointsPage_2;
	public static String WizardImportBreakpointsPage_3;
	public static String WizardImportBreakpointsPage_4;
	public static String ExportOperation_0;
	public static String WizardImportBreakpointsPage_5;
	public static String WizardExportBreakpointsPage_0;
	public static String WizardExportBreakpointsPage_1;
	public static String WizardExportBreakpointsPage_2;
	public static String WizardExportBreakpointsPage_3;
	public static String WizardImportBreakpointsPage_6;
	public static String WizardImportBreakpointsSelectionPage_0;
	public static String WizardImportBreakpointsSelectionPage_1;
	public static String WizardImportBreakpointsSelectionPage_2;
}
