###############################################################################
# Copyright (c) 2000, 2009 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
###############################################################################

SWTInputHandler.0=Unable to respond to input request as a result of the user specified -noinput command
SWTInputHandler.1=Ant Input Request
SWTInputHandler.2=Unable to respond to <input> request
SWTInputHandler.3=Input does not match validargs attribute
SWTInputHandler.4=OK
SWTInputHandler.5=Cancel
