707 lines
17 KiB
HTML
707 lines
17 KiB
HTML
|
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
|
<HTML><HEAD><TITLE>Man page of GETOPT</TITLE>
|
|
</HEAD><BODY>
|
|
<H1>GETOPT</H1>
|
|
Section: User Commands (1)<BR>Updated: December 2014<BR><A HREF="#index">Index</A>
|
|
<A HREF="/cgi-bin/man/man2html">Return to Main Contents</A><HR>
|
|
|
|
<A NAME="lbAB"> </A>
|
|
<H2>NAME</H2>
|
|
|
|
getopt - parse command options (enhanced)
|
|
<A NAME="lbAC"> </A>
|
|
<H2>SYNOPSIS</H2>
|
|
|
|
<B>getopt</B>
|
|
|
|
<I>optstring parameters</I>
|
|
|
|
<BR>
|
|
|
|
<B>getopt</B>
|
|
|
|
[options]
|
|
[<B>--</B>]
|
|
|
|
<I>optstring parameters</I>
|
|
|
|
<BR>
|
|
|
|
<B>getopt</B>
|
|
|
|
[options]
|
|
<B>-o</B>|<B>--options</B>
|
|
|
|
<I>optstring</I>
|
|
|
|
[options]
|
|
[<B>--</B>]
|
|
|
|
<I>parameters</I>
|
|
|
|
<A NAME="lbAD"> </A>
|
|
<H2>DESCRIPTION</H2>
|
|
|
|
<B>getopt</B>
|
|
|
|
is used to break up
|
|
(<I>parse</I>)
|
|
|
|
options in command lines for easy parsing by shell procedures, and to
|
|
check for valid options. It uses the
|
|
<FONT SIZE="-1">GNU</FONT>
|
|
<B><A HREF="/cgi-bin/man/man2html?3+getopt">getopt</A></B>(3)
|
|
|
|
routines to do this.
|
|
<P>
|
|
|
|
The parameters
|
|
<B>getopt</B>
|
|
|
|
is called with can be divided into two parts: options which modify
|
|
the way
|
|
<B>getopt</B>
|
|
|
|
will do the parsing
|
|
(the <I>options</I>
|
|
|
|
and the
|
|
<I>optstring</I>
|
|
|
|
in the
|
|
<B>SYNOPSIS</B>),
|
|
|
|
and the parameters which are to be parsed
|
|
(<I>parameters</I>
|
|
|
|
in the
|
|
<B>SYNOPSIS</B>).
|
|
|
|
The second part will start at the first non-option parameter that is
|
|
not an option argument, or after the first occurrence of
|
|
'<B>--</B>'.
|
|
|
|
If no
|
|
'<B>-o</B>'
|
|
|
|
or
|
|
'<B>--options</B>'
|
|
|
|
option is found in the first part, the first parameter of the second
|
|
part is used as the short options string.
|
|
<P>
|
|
|
|
If the environment variable
|
|
<B>GETOPT_COMPATIBLE</B>
|
|
|
|
is set, or if the first
|
|
<I>parameter</I>
|
|
|
|
is not an option (does not start with a
|
|
'<B>-</B>',
|
|
|
|
the first format in the
|
|
<B>SYNOPSIS</B>),
|
|
|
|
<B>getopt</B>
|
|
|
|
will generate output that is compatible with that of other versions of
|
|
<B><A HREF="/cgi-bin/man/man2html?1+getopt">getopt</A></B>(1).
|
|
|
|
It will still do parameter shuffling and recognize optional arguments
|
|
(see section
|
|
<B>COMPATIBILITY</B>
|
|
|
|
for more information).
|
|
<P>
|
|
|
|
Traditional implementations of
|
|
<B><A HREF="/cgi-bin/man/man2html?1+getopt">getopt</A></B>(1)
|
|
|
|
are unable to cope with whitespace and other (shell-specific)
|
|
special characters in arguments and non-option parameters. To solve
|
|
this problem, this implementation can generate quoted output which
|
|
must once again be interpreted by the shell (usually by using the
|
|
<B>eval</B>
|
|
|
|
command). This has the effect of preserving those characters, but
|
|
you must call
|
|
<B>getopt</B>
|
|
|
|
in a way that is no longer compatible with other versions (the second
|
|
or third format in the
|
|
<B>SYNOPSIS</B>).
|
|
|
|
To determine whether this enhanced version of
|
|
<B><A HREF="/cgi-bin/man/man2html?1+getopt">getopt</A></B>(1)
|
|
|
|
is installed, a special test option
|
|
(<B>-T</B>)
|
|
|
|
can be used.
|
|
<A NAME="lbAE"> </A>
|
|
<H2>OPTIONS</H2>
|
|
|
|
<DL COMPACT>
|
|
<DT id="1"><B>-a</B>,<B> --alternative</B>
|
|
|
|
<DD>
|
|
Allow long options to start with a single
|
|
'<B>-</B>'.
|
|
|
|
<DT id="2"><B>-h</B>,<B> --help</B>
|
|
|
|
<DD>
|
|
Display help text and exit. No other output is generated.
|
|
<DT id="3"><B>-l</B>,<B> --longoptions </B><I>longopts</I>
|
|
|
|
<DD>
|
|
The long (multi-character) options to be recognized. More than one
|
|
option name may be specified at once, by separating the names with
|
|
commas. This option may be given more than once, the
|
|
<I>longopts</I>
|
|
|
|
are cumulative. Each long option name in
|
|
<I>longopts</I>
|
|
|
|
may be followed by one colon to indicate it has a required argument,
|
|
and by two colons to indicate it has an optional argument.
|
|
<DT id="4"><B>-n</B>,<B> --name </B><I>progname</I>
|
|
|
|
<DD>
|
|
The name that will be used by the
|
|
<B><A HREF="/cgi-bin/man/man2html?3+getopt">getopt</A></B>(3)
|
|
|
|
routines when it reports errors. Note that errors of
|
|
<B><A HREF="/cgi-bin/man/man2html?1+getopt">getopt</A></B>(1)
|
|
|
|
are still reported as coming from getopt.
|
|
<DT id="5"><B>-o</B>,<B> --options </B><I>shortopts</I>
|
|
|
|
<DD>
|
|
The short (one-character) options to be recognized. If this option
|
|
is not found, the first parameter of
|
|
<B>getopt</B>
|
|
|
|
that does not start with a
|
|
'<B>-</B>'
|
|
|
|
(and is not an option argument) is used as the short options string.
|
|
Each short option character in
|
|
<I>shortopts</I>
|
|
|
|
may be followed by one colon to indicate it has a required argument,
|
|
and by two colons to indicate it has an optional argument. The first
|
|
character of shortopts may be
|
|
'<B>+</B>'
|
|
|
|
or
|
|
'<B>-</B>'
|
|
|
|
to influence the way options are parsed and output is generated (see
|
|
section
|
|
<B>SCANNING MODES</B>
|
|
|
|
for details).
|
|
<DT id="6"><B>-q</B>,<B> --quiet</B>
|
|
|
|
<DD>
|
|
Disable error reporting by <A HREF="/cgi-bin/man/man2html?3+getopt">getopt</A>(3).
|
|
<DT id="7"><B>-Q</B>,<B> --quiet-output</B>
|
|
|
|
<DD>
|
|
Do not generate normal output. Errors are still reported by
|
|
<B><A HREF="/cgi-bin/man/man2html?3+getopt">getopt</A></B>(3),
|
|
|
|
unless you also use
|
|
<B>-q</B>.
|
|
|
|
<DT id="8"><B>-s</B>,<B> --shell </B><I>shell</I>
|
|
|
|
<DD>
|
|
Set quoting conventions to those of
|
|
<I>shell</I>.
|
|
|
|
If the <B>-s</B> option is not given, the
|
|
<FONT SIZE="-1">BASH</FONT>
|
|
conventions are used. Valid arguments are currently
|
|
'<B>sh</B>'
|
|
|
|
'<B>bash</B>',
|
|
|
|
'<B>csh</B>',
|
|
|
|
and
|
|
'<B>tcsh</B>'.
|
|
|
|
<DT id="9"><B>-T</B>,<B> --test</B>
|
|
|
|
<DD>
|
|
Test if your
|
|
<B><A HREF="/cgi-bin/man/man2html?1+getopt">getopt</A></B>(1)
|
|
|
|
is this enhanced version or an old version. This generates no
|
|
output, and sets the error status to 4. Other implementations of
|
|
<B><A HREF="/cgi-bin/man/man2html?1+getopt">getopt</A></B>(1),
|
|
|
|
and this version if the environment variable
|
|
<B>GETOPT_COMPATIBLE</B>
|
|
|
|
is set, will return
|
|
'<B>--</B>'
|
|
|
|
and error status 0.
|
|
<DT id="10"><B>-u</B>,<B> --unquoted</B>
|
|
|
|
<DD>
|
|
Do not quote the output. Note that whitespace and special
|
|
(shell-dependent) characters can cause havoc in this mode (like they
|
|
do with other
|
|
<B><A HREF="/cgi-bin/man/man2html?1+getopt">getopt</A></B>(1)
|
|
|
|
implementations).
|
|
<DT id="11"><B>-V</B>,<B> --version</B>
|
|
|
|
<DD>
|
|
Display version information and exit. No other output is generated.
|
|
</DL>
|
|
<A NAME="lbAF"> </A>
|
|
<H2>PARSING</H2>
|
|
|
|
This section specifies the format of the second part of the
|
|
parameters of
|
|
<B>getopt</B>
|
|
|
|
(the
|
|
<I>parameters</I>
|
|
|
|
in the
|
|
<B>SYNOPSIS</B>).
|
|
|
|
The next section
|
|
(<B>OUTPUT</B>)
|
|
|
|
describes the output that is generated. These parameters were
|
|
typically the parameters a shell function was called with. Care must
|
|
be taken that each parameter the shell function was called with
|
|
corresponds to exactly one parameter in the parameter list of
|
|
<B>getopt</B>
|
|
|
|
(see the
|
|
<B>EXAMPLES</B>).
|
|
|
|
All parsing is done by the GNU
|
|
<B><A HREF="/cgi-bin/man/man2html?3+getopt">getopt</A></B>(3)
|
|
|
|
routines.
|
|
<P>
|
|
|
|
The parameters are parsed from left to right. Each parameter is
|
|
classified as a short option, a long option, an argument to an
|
|
option, or a non-option parameter.
|
|
<P>
|
|
|
|
A simple short option is a
|
|
'<B>-</B>'
|
|
|
|
followed by a short option character. If the option has a required
|
|
argument, it may be written directly after the option character or as
|
|
the next parameter (i.e., separated by whitespace on the command
|
|
line). If the option has an optional argument, it must be written
|
|
directly after the option character if present.
|
|
<P>
|
|
|
|
It is possible to specify several short options after one
|
|
'<B>-</B>',
|
|
|
|
as long as all (except possibly the last) do not have required or
|
|
optional arguments.
|
|
<P>
|
|
|
|
A long option normally begins with
|
|
'<B>--</B>'
|
|
|
|
followed by the long option name. If the option has a required
|
|
argument, it may be written directly after the long option name,
|
|
separated by
|
|
'<B>=</B>',
|
|
|
|
or as the next argument (i.e., separated by whitespace on the command
|
|
line). If the option has an optional argument, it must be written
|
|
directly after the long option name, separated by
|
|
'<B>=</B>',
|
|
|
|
if present (if you add the
|
|
'<B>=</B>'
|
|
|
|
but nothing behind it, it is interpreted as if no argument was
|
|
present; this is a slight bug, see the
|
|
<B>BUGS</B>).
|
|
|
|
Long options may be abbreviated, as long as the abbreviation is not
|
|
ambiguous.
|
|
<P>
|
|
|
|
Each parameter not starting with a
|
|
'<B>-</B>',
|
|
|
|
and not a required argument of a previous option, is a non-option
|
|
parameter. Each parameter after a
|
|
'<B>--</B>'
|
|
|
|
parameter is always interpreted as a non-option parameter. If the
|
|
environment variable
|
|
<B>POSIXLY_CORRECT</B>
|
|
|
|
is set, or if the short option string started with a
|
|
'<B>+</B>',
|
|
|
|
all remaining parameters are interpreted as non-option parameters as
|
|
soon as the first non-option parameter is found.
|
|
<A NAME="lbAG"> </A>
|
|
<H2>OUTPUT</H2>
|
|
|
|
Output is generated for each element described in the previous
|
|
section. Output is done in the same order as the elements are
|
|
specified in the input, except for non-option parameters. Output
|
|
can be done in
|
|
<I>compatible</I>
|
|
|
|
(<I>unquoted</I>)
|
|
|
|
mode, or in such way that whitespace and other special characters
|
|
within arguments and non-option parameters are preserved (see
|
|
<B>QUOTING</B>).
|
|
|
|
When the output is processed in the shell script, it will seem to be
|
|
composed of distinct elements that can be processed one by one (by
|
|
using the shift command in most shell languages). This is imperfect
|
|
in unquoted mode, as elements can be split at unexpected places if
|
|
they contain whitespace or special characters.
|
|
<P>
|
|
|
|
If there are problems parsing the parameters, for example because a
|
|
required argument is not found or an option is not recognized, an
|
|
error will be reported on stderr, there will be no output for the
|
|
offending element, and a non-zero error status is returned.
|
|
<P>
|
|
|
|
For a short option, a single
|
|
'<B>-</B>'
|
|
|
|
and the option character are generated as one parameter. If the
|
|
option has an argument, the next parameter will be the argument. If
|
|
the option takes an optional argument, but none was found, the next
|
|
parameter will be generated but be empty in quoting mode, but no
|
|
second parameter will be generated in unquoted (compatible) mode.
|
|
Note that many other
|
|
<B><A HREF="/cgi-bin/man/man2html?1+getopt">getopt</A></B>(1)
|
|
|
|
implementations do not support optional arguments.
|
|
<P>
|
|
|
|
If several short options were specified after a single
|
|
'<B>-</B>',
|
|
|
|
each will be present in the output as a separate parameter.
|
|
<P>
|
|
|
|
For a long option,
|
|
'<B>--</B>'
|
|
|
|
and the full option name are generated as one parameter. This is
|
|
done regardless whether the option was abbreviated or specified with
|
|
a single
|
|
'<B>-</B>'
|
|
|
|
in the input. Arguments are handled as with short options.
|
|
<P>
|
|
|
|
Normally, no non-option parameters output is generated until all
|
|
options and their arguments have been generated. Then
|
|
'<B>--</B>'
|
|
|
|
is generated as a single parameter, and after it the non-option
|
|
parameters in the order they were found, each as a separate
|
|
parameter. Only if the first character of the short options string
|
|
was a
|
|
'<B>-</B>',
|
|
|
|
non-option parameter output is generated at the place they are found
|
|
in the input (this is not supported if the first format of the
|
|
<B>SYNOPSIS</B>
|
|
|
|
is used; in that case all preceding occurrences of
|
|
'<B>-</B>'
|
|
|
|
and
|
|
'<B>+</B>'
|
|
|
|
are ignored).
|
|
<A NAME="lbAH"> </A>
|
|
<H2>QUOTING</H2>
|
|
|
|
In compatible mode, whitespace or 'special' characters in arguments
|
|
or non-option parameters are not handled correctly. As the output
|
|
is fed to the shell script, the script does not know how it is
|
|
supposed to break the output into separate parameters. To circumvent
|
|
this problem, this implementation offers quoting. The idea is that
|
|
output is generated with quotes around each parameter. When this
|
|
output is once again fed to the shell (usually by a shell
|
|
<B>eval</B>
|
|
|
|
command), it is split correctly into separate parameters.
|
|
<P>
|
|
|
|
Quoting is not enabled if the environment variable
|
|
<B>GETOPT_COMPATIBLE</B>
|
|
|
|
is set, if the first form of the
|
|
<B>SYNOPSIS</B>
|
|
|
|
is used, or if the option
|
|
'<B>-u</B>'
|
|
|
|
is found.
|
|
<P>
|
|
|
|
Different shells use different quoting conventions. You can use the
|
|
'<B>-s</B>'
|
|
|
|
option to select the shell you are using. The following shells are
|
|
currently supported:
|
|
'<B>sh</B>',
|
|
|
|
'<B>bash</B>',
|
|
|
|
'<B>csh</B>'
|
|
|
|
and
|
|
'<B>tcsh</B>'.
|
|
|
|
Actually, only two 'flavors' are distinguished: sh-like quoting
|
|
conventions and csh-like quoting conventions. Chances are that if
|
|
you use another shell script language, one of these flavors can still
|
|
be used.
|
|
<A NAME="lbAI"> </A>
|
|
<H2>SCANNING MODES</H2>
|
|
|
|
The first character of the short options string may be a
|
|
'<B>-</B>'
|
|
|
|
or a
|
|
'<B>+</B>'
|
|
|
|
to indicate a special scanning mode. If the first calling form in
|
|
the
|
|
<B>SYNOPSIS</B>
|
|
|
|
is used they are ignored; the environment variable
|
|
<B>POSIXLY_CORRECT</B>
|
|
|
|
is still examined, though.
|
|
<P>
|
|
|
|
If the first character is
|
|
'<B>+</B>',
|
|
|
|
or if the environment variable
|
|
<B>POSIXLY_CORRECT</B>
|
|
|
|
is set, parsing stops as soon as the first non-option parameter
|
|
(i.e., a parameter that does not start with a
|
|
'<B>-</B>')
|
|
|
|
is found that is not an option argument. The remaining parameters
|
|
are all interpreted as non-option parameters.
|
|
<P>
|
|
|
|
If the first character is a
|
|
'<B>-</B>',
|
|
|
|
non-option parameters are outputted at the place where they are
|
|
found; in normal operation, they are all collected at the end of
|
|
output after a
|
|
'<B>--</B>'
|
|
|
|
parameter has been generated. Note that this
|
|
'<B>--</B>'
|
|
|
|
parameter is still generated, but it will always be the last
|
|
parameter in this mode.
|
|
<A NAME="lbAJ"> </A>
|
|
<H2>COMPATIBILITY</H2>
|
|
|
|
This version of
|
|
<B><A HREF="/cgi-bin/man/man2html?1+getopt">getopt</A></B>(1)
|
|
|
|
is written to be as compatible as possible to other versions.
|
|
Usually you can just replace them with this version without any
|
|
modifications, and with some advantages.
|
|
<P>
|
|
|
|
If the first character of the first parameter of getopt is not a
|
|
'<B>-</B>',
|
|
|
|
<B>getopt</B>
|
|
|
|
goes into compatibility mode. It will interpret its first
|
|
parameter as the string of short options, and all other arguments
|
|
will be parsed. It will still do parameter shuffling (i.e., all
|
|
non-option parameters are output at the end), unless the
|
|
environment variable
|
|
<B>POSIXLY_CORRECT</B>
|
|
|
|
is set.
|
|
<P>
|
|
|
|
The environment variable
|
|
<B>GETOPT_COMPATIBLE</B>
|
|
|
|
forces
|
|
<B>getopt</B>
|
|
|
|
into compatibility mode. Setting both this environment variable and
|
|
<B>POSIXLY_CORRECT</B>
|
|
|
|
offers 100% compatibility for 'difficult' programs. Usually, though,
|
|
neither is needed.
|
|
<P>
|
|
|
|
In compatibility mode, leading
|
|
'<B>-</B>'
|
|
|
|
and
|
|
'<B>+</B>'
|
|
|
|
characters in the short options string are ignored.
|
|
<A NAME="lbAK"> </A>
|
|
<H2>RETURN CODES</H2>
|
|
|
|
<B>getopt</B>
|
|
|
|
returns error code
|
|
<B>0</B>
|
|
|
|
for successful parsing,
|
|
<B>1</B>
|
|
|
|
if
|
|
<B><A HREF="/cgi-bin/man/man2html?3+getopt">getopt</A></B>(3)
|
|
|
|
returns errors,
|
|
<B>2</B>
|
|
|
|
if it does not understand its own parameters,
|
|
<B>3</B>
|
|
|
|
if an internal error occurs like out-of-memory, and
|
|
<B>4</B>
|
|
|
|
if it is called with
|
|
<B>-T</B>.
|
|
|
|
<A NAME="lbAL"> </A>
|
|
<H2>EXAMPLES</H2>
|
|
|
|
Example scripts for (ba)sh and (t)csh are provided with the
|
|
<B><A HREF="/cgi-bin/man/man2html?1+getopt">getopt</A></B>(1)
|
|
|
|
distribution, and are optionally installed in
|
|
<I>/usr/share/getopt/</I>
|
|
|
|
or
|
|
<I>/usr/share/doc/</I>
|
|
|
|
in the util-linux subdirectory.
|
|
<A NAME="lbAM"> </A>
|
|
<H2>ENVIRONMENT</H2>
|
|
|
|
<DL COMPACT>
|
|
<DT id="12">POSIXLY_CORRECT<DD>
|
|
This environment variable is examined by the
|
|
<B><A HREF="/cgi-bin/man/man2html?3+getopt">getopt</A></B>(3)
|
|
|
|
routines. If it is set, parsing stops as soon as a parameter is
|
|
found that is not an option or an option argument. All remaining
|
|
parameters are also interpreted as non-option parameters, regardless
|
|
whether they start with a
|
|
'<B>-</B>'.
|
|
|
|
<DT id="13">GETOPT_COMPATIBLE<DD>
|
|
Forces
|
|
<B>getopt</B>
|
|
|
|
to use the first calling format as specified in the
|
|
<B>SYNOPSIS</B>.
|
|
|
|
</DL>
|
|
<A NAME="lbAN"> </A>
|
|
<H2>BUGS</H2>
|
|
|
|
<B><A HREF="/cgi-bin/man/man2html?3+getopt">getopt</A></B>(3)
|
|
|
|
can parse long options with optional arguments that are given an
|
|
empty optional argument (but cannot do this for short options).
|
|
This
|
|
<B><A HREF="/cgi-bin/man/man2html?1+getopt">getopt</A></B>(1)
|
|
|
|
treats optional arguments that are empty as if they were not present.
|
|
<P>
|
|
|
|
The syntax if you do not want any short option variables at all is
|
|
not very intuitive (you have to set them explicitly to the empty
|
|
string).
|
|
<A NAME="lbAO"> </A>
|
|
<H2>AUTHOR</H2>
|
|
|
|
|
|
Frodo Looijaard
|
|
|
|
<A NAME="lbAP"> </A>
|
|
<H2>SEE ALSO</H2>
|
|
|
|
<B><A HREF="/cgi-bin/man/man2html?1+bash">bash</A></B>(1),
|
|
|
|
<B><A HREF="/cgi-bin/man/man2html?1+tcsh">tcsh</A></B>(1),
|
|
|
|
<B><A HREF="/cgi-bin/man/man2html?3+getopt">getopt</A></B>(3)
|
|
|
|
<A NAME="lbAQ"> </A>
|
|
<H2>AVAILABILITY</H2>
|
|
|
|
The getopt command is part of the util-linux package and is available from
|
|
|
|
Linux Kernel Archive
|
|
|
|
<P>
|
|
|
|
<HR>
|
|
<A NAME="index"> </A><H2>Index</H2>
|
|
<DL>
|
|
<DT id="14"><A HREF="#lbAB">NAME</A><DD>
|
|
<DT id="15"><A HREF="#lbAC">SYNOPSIS</A><DD>
|
|
<DT id="16"><A HREF="#lbAD">DESCRIPTION</A><DD>
|
|
<DT id="17"><A HREF="#lbAE">OPTIONS</A><DD>
|
|
<DT id="18"><A HREF="#lbAF">PARSING</A><DD>
|
|
<DT id="19"><A HREF="#lbAG">OUTPUT</A><DD>
|
|
<DT id="20"><A HREF="#lbAH">QUOTING</A><DD>
|
|
<DT id="21"><A HREF="#lbAI">SCANNING MODES</A><DD>
|
|
<DT id="22"><A HREF="#lbAJ">COMPATIBILITY</A><DD>
|
|
<DT id="23"><A HREF="#lbAK">RETURN CODES</A><DD>
|
|
<DT id="24"><A HREF="#lbAL">EXAMPLES</A><DD>
|
|
<DT id="25"><A HREF="#lbAM">ENVIRONMENT</A><DD>
|
|
<DT id="26"><A HREF="#lbAN">BUGS</A><DD>
|
|
<DT id="27"><A HREF="#lbAO">AUTHOR</A><DD>
|
|
<DT id="28"><A HREF="#lbAP">SEE ALSO</A><DD>
|
|
<DT id="29"><A HREF="#lbAQ">AVAILABILITY</A><DD>
|
|
</DL>
|
|
<HR>
|
|
This document was created by
|
|
<A HREF="/cgi-bin/man/man2html">man2html</A>,
|
|
using the manual pages.<BR>
|
|
Time: 00:05:13 GMT, March 31, 2021
|
|
</BODY>
|
|
</HTML>
|