summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBruno Haible <bruno@clisp.org>2003-06-12 17:04:40 +0000
committerBruno Haible <bruno@clisp.org>2003-06-12 17:04:40 +0000
commitba6bfe01ee0d5cf3f06003ced36879aff1cc2ddf (patch)
tree47e585ee5a6d91d0b9b229d5d4cba97f9d66af0c
parentd7ab78883eecccf0a53188ce704ffc0e50118e63 (diff)
downloadgperf-3.0.1.tar.gz
Regenerated.v3.0.1
-rw-r--r--doc/gperf.12
-rw-r--r--doc/gperf.dvibin104136 -> 104364 bytes
-rw-r--r--doc/gperf.html355
-rw-r--r--doc/gperf.info77
-rw-r--r--doc/gperf.pdfbin234439 -> 224738 bytes
-rw-r--r--doc/gperf.ps8603
-rw-r--r--doc/gperf_1.html39
-rw-r--r--doc/gperf_10.html58
-rw-r--r--doc/gperf_2.html3
-rw-r--r--doc/gperf_3.html11
-rw-r--r--doc/gperf_4.html23
-rw-r--r--doc/gperf_5.html116
-rw-r--r--doc/gperf_6.html36
-rw-r--r--doc/gperf_7.html9
-rw-r--r--doc/gperf_8.html9
-rw-r--r--doc/gperf_9.html37
-rw-r--r--doc/gperf_toc.html58
17 files changed, 5468 insertions, 3968 deletions
diff --git a/doc/gperf.1 b/doc/gperf.1
index 9ed2d09..d40b419 100644
--- a/doc/gperf.1
+++ b/doc/gperf.1
@@ -1,5 +1,5 @@
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.23.
-.TH GPERF "1" "May 2003" "GNU gperf 3.0" FSF
+.TH GPERF "1" "June 2003" "GNU gperf 3.0.1" FSF
.SH NAME
gperf \- generate a perfect hash function from a key set
.SH SYNOPSIS
diff --git a/doc/gperf.dvi b/doc/gperf.dvi
index 1ef26a6..f7a1afa 100644
--- a/doc/gperf.dvi
+++ b/doc/gperf.dvi
Binary files differ
diff --git a/doc/gperf.html b/doc/gperf.html
index 6dde98c..d619e68 100644
--- a/doc/gperf.html
+++ b/doc/gperf.html
@@ -1,14 +1,13 @@
<HTML>
<HEAD>
-<!-- This HTML file has been created by texi2html 1.51
- from gperf.texi on 7 May 2003 -->
+<!-- Created by texi2html 1.56k from gperf.texi on 12 June 2003 -->
<TITLE>Perfect Hash Function Generator</TITLE>
</HEAD>
<BODY>
-<H1>User's Guide to <CODE>gperf</CODE> 3.0</H1>
+<H1>User's Guide to <CODE>gperf</CODE> 3.0.1</H1>
<H2>The GNU Perfect Hash Function Generator</H2>
-<H2>Edition 3.0, 7 May 2003</H2>
+<H2>Edition 3.0.1, 12 June 2003</H2>
<ADDRESS>Douglas C. Schmidt</ADDRESS>
<ADDRESS>Bruno Haible</ADDRESS>
<P>
@@ -21,37 +20,37 @@
<LI><A NAME="TOC3" HREF="gperf.html#SEC3">How to Apply These Terms to Your New Programs</A>
</UL>
<LI><A NAME="TOC4" HREF="gperf.html#SEC4">Contributors to GNU <CODE>gperf</CODE> Utility</A>
-<LI><A NAME="TOC5" HREF="gperf.html#SEC5">1 Introduction</A>
-<LI><A NAME="TOC6" HREF="gperf.html#SEC6">2 Static search structures and GNU <CODE>gperf</CODE></A>
-<LI><A NAME="TOC7" HREF="gperf.html#SEC7">3 High-Level Description of GNU <CODE>gperf</CODE></A>
+<LI><A NAME="TOC5" HREF="gperf.html#SEC5">1. Introduction</A>
+<LI><A NAME="TOC6" HREF="gperf.html#SEC6">2. Static search structures and GNU <CODE>gperf</CODE></A>
+<LI><A NAME="TOC7" HREF="gperf.html#SEC7">3. High-Level Description of GNU <CODE>gperf</CODE></A>
<UL>
-<LI><A NAME="TOC8" HREF="gperf.html#SEC8">3.1 Input Format to <CODE>gperf</CODE></A>
+<LI><A NAME="TOC8" HREF="gperf.html#SEC8">3.1 Input Format to <CODE>gperf</CODE></A>
<UL>
-<LI><A NAME="TOC9" HREF="gperf.html#SEC9">3.1.1 Declarations</A>
+<LI><A NAME="TOC9" HREF="gperf.html#SEC9">3.1.1 Declarations</A>
<UL>
-<LI><A NAME="TOC10" HREF="gperf.html#SEC10">3.1.1.1 User-supplied <CODE>struct</CODE></A>
-<LI><A NAME="TOC11" HREF="gperf.html#SEC11">3.1.1.2 Gperf Declarations</A>
-<LI><A NAME="TOC12" HREF="gperf.html#SEC12">3.1.1.3 C Code Inclusion</A>
+<LI><A NAME="TOC10" HREF="gperf.html#SEC10">3.1.1.1 User-supplied <CODE>struct</CODE></A>
+<LI><A NAME="TOC11" HREF="gperf.html#SEC11">3.1.1.2 Gperf Declarations</A>
+<LI><A NAME="TOC12" HREF="gperf.html#SEC12">3.1.1.3 C Code Inclusion</A>
</UL>
-<LI><A NAME="TOC13" HREF="gperf.html#SEC13">3.1.2 Format for Keyword Entries</A>
-<LI><A NAME="TOC14" HREF="gperf.html#SEC14">3.1.3 Including Additional C Functions</A>
-<LI><A NAME="TOC15" HREF="gperf.html#SEC15">3.1.4 Where to place directives for GNU <CODE>indent</CODE>.</A>
+<LI><A NAME="TOC13" HREF="gperf.html#SEC13">3.1.2 Format for Keyword Entries</A>
+<LI><A NAME="TOC14" HREF="gperf.html#SEC14">3.1.3 Including Additional C Functions</A>
+<LI><A NAME="TOC15" HREF="gperf.html#SEC15">3.1.4 Where to place directives for GNU <CODE>indent</CODE>.</A>
</UL>
-<LI><A NAME="TOC16" HREF="gperf.html#SEC16">3.2 Output Format for Generated C Code with <CODE>gperf</CODE></A>
-<LI><A NAME="TOC17" HREF="gperf.html#SEC17">3.3 Use of NUL bytes</A>
+<LI><A NAME="TOC16" HREF="gperf.html#SEC16">3.2 Output Format for Generated C Code with <CODE>gperf</CODE></A>
+<LI><A NAME="TOC17" HREF="gperf.html#SEC17">3.3 Use of NUL bytes</A>
</UL>
-<LI><A NAME="TOC18" HREF="gperf.html#SEC18">4 Invoking <CODE>gperf</CODE></A>
+<LI><A NAME="TOC18" HREF="gperf.html#SEC18">4. Invoking <CODE>gperf</CODE></A>
<UL>
-<LI><A NAME="TOC19" HREF="gperf.html#SEC19">4.1 Specifying the Location of the Output File</A>
-<LI><A NAME="TOC20" HREF="gperf.html#SEC20">4.2 Options that affect Interpretation of the Input File</A>
-<LI><A NAME="TOC21" HREF="gperf.html#SEC21">4.3 Options to specify the Language for the Output Code</A>
-<LI><A NAME="TOC22" HREF="gperf.html#SEC22">4.4 Options for fine tuning Details in the Output Code</A>
-<LI><A NAME="TOC23" HREF="gperf.html#SEC23">4.5 Options for changing the Algorithms employed by <CODE>gperf</CODE></A>
-<LI><A NAME="TOC24" HREF="gperf.html#SEC24">4.6 Informative Output</A>
+<LI><A NAME="TOC19" HREF="gperf.html#SEC19">4.1 Specifying the Location of the Output File</A>
+<LI><A NAME="TOC20" HREF="gperf.html#SEC20">4.2 Options that affect Interpretation of the Input File</A>
+<LI><A NAME="TOC21" HREF="gperf.html#SEC21">4.3 Options to specify the Language for the Output Code</A>
+<LI><A NAME="TOC22" HREF="gperf.html#SEC22">4.4 Options for fine tuning Details in the Output Code</A>
+<LI><A NAME="TOC23" HREF="gperf.html#SEC23">4.5 Options for changing the Algorithms employed by <CODE>gperf</CODE></A>
+<LI><A NAME="TOC24" HREF="gperf.html#SEC24">4.6 Informative Output</A>
</UL>
-<LI><A NAME="TOC25" HREF="gperf.html#SEC25">5 Known Bugs and Limitations with <CODE>gperf</CODE></A>
-<LI><A NAME="TOC26" HREF="gperf.html#SEC26">6 Things Still Left to Do</A>
-<LI><A NAME="TOC27" HREF="gperf.html#SEC27">7 Bibliography</A>
+<LI><A NAME="TOC25" HREF="gperf.html#SEC25">5. Known Bugs and Limitations with <CODE>gperf</CODE></A>
+<LI><A NAME="TOC26" HREF="gperf.html#SEC26">6. Things Still Left to Do</A>
+<LI><A NAME="TOC27" HREF="gperf.html#SEC27">7. Bibliography</A>
<LI><A NAME="TOC28" HREF="gperf.html#SEC28">Concept Index</A>
</UL>
<P><HR><P>
@@ -62,7 +61,7 @@
<P>
Version 2, June 1991
-</P>
+
<PRE>
Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
@@ -87,7 +86,7 @@ using it. (Some other Free Software Foundation software is covered by
the GNU Library General Public License instead.) You can apply it to
your programs, too.
-</P>
+
<P>
When we speak of free software, we are referring to freedom, not
price. Our General Public Licenses are designed to make sure that you
@@ -96,14 +95,14 @@ this service if you wish), that you receive source code or can get it
if you want it, that you can change the software or use pieces of it
in new free programs; and that you know you can do these things.
-</P>
+
<P>
To protect your rights, we need to make restrictions that forbid
anyone to deny you these rights or to ask you to surrender the rights.
These restrictions translate to certain responsibilities for you if you
distribute copies of the software, or if you modify it.
-</P>
+
<P>
For example, if you distribute copies of such a program, whether
gratis or for a fee, you must give the recipients all the rights that
@@ -111,13 +110,13 @@ you have. You must make sure that they, too, receive or can get the
source code. And you must show them these terms so they know their
rights.
-</P>
+
<P>
We protect your rights with two steps: (1) copyright the software, and
(2) offer you this license which gives you legal permission to copy,
distribute and/or modify the software.
-</P>
+
<P>
Also, for each author's protection and ours, we want to make certain
that everyone understands that there is no warranty for this free
@@ -126,7 +125,7 @@ want its recipients to know that what they have is not the original, so
that any problems introduced by others will not reflect on the original
authors' reputations.
-</P>
+
<P>
Finally, any free program is threatened constantly by software
patents. We wish to avoid the danger that redistributors of a free
@@ -134,16 +133,16 @@ program will individually obtain patent licenses, in effect making the
program proprietary. To prevent this, we have made it clear that any
patent must be licensed for everyone's free use or not licensed at all.
-</P>
+
<P>
The precise terms and conditions for copying, distribution and
modification follow.
-</P>
+
<P>
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
-</P>
+
<OL>
<LI>
@@ -412,7 +411,7 @@ POSSIBILITY OF SUCH DAMAGES.
<P>
END OF TERMS AND CONDITIONS
-</P>
+
<H2><A NAME="SEC3" HREF="gperf.html#TOC3">How to Apply These Terms to Your New Programs</A></H2>
@@ -422,14 +421,14 @@ END OF TERMS AND CONDITIONS
possible use to the public, the best way to achieve this is to make it
free software which everyone can redistribute and change under these terms.
-</P>
+
<P>
To do so, attach the following notices to the program. It is safest
to attach them to the start of each source file to most effectively
convey the exclusion of warranty; and each file should have at least
the "copyright" line and a pointer to where the full notice is found.
-</P>
+
<PRE>
<VAR>one line to give the program's name and an idea of what it does.</VAR>
@@ -453,12 +452,12 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
<P>
Also add information on how to contact you by electronic and paper mail.
-</P>
+
<P>
If the program is interactive, make it output a short notice like this
when it starts in an interactive mode:
-</P>
+
<PRE>
Gnomovision version 69, Copyright (C) <VAR>year</VAR> <VAR>name of author</VAR>
@@ -475,13 +474,13 @@ commands you use may be called something other than <SAMP>`show w'</SAMP> and
<SAMP>`show c'</SAMP>; they could even be mouse-clicks or menu items--whatever
suits your program.
-</P>
+
<P>
You should also get your employer (if you work as a programmer) or your
school, if any, to sign a "copyright disclaimer" for the program, if
necessary. Here is a sample; alter the names:
-</P>
+
<PRE>
Yoyodyne, Inc., hereby disclaims all copyright
@@ -500,7 +499,7 @@ consider it more useful to permit linking proprietary applications with the
library. If this is what you want to do, use the GNU Library General
Public License instead of this License.
-</P>
+
<H1><A NAME="SEC4" HREF="gperf.html#TOC4">Contributors to GNU <CODE>gperf</CODE> Utility</A></H1>
@@ -537,7 +536,7 @@ added a testsuite.
-<H1><A NAME="SEC5" HREF="gperf.html#TOC5">1 Introduction</A></H1>
+<H1><A NAME="SEC5" HREF="gperf.html#TOC5">1. Introduction</A></H1>
<P>
<CODE>gperf</CODE> is a perfect hash function generator written in C++. It
@@ -550,7 +549,7 @@ pair of C functions. These functions determine whether a given
character string <VAR>s</VAR> occurs in <VAR>W</VAR>, using at most one probe into
the lookup table.
-</P>
+
<P>
<CODE>gperf</CODE> currently generates the reserved keyword recognizer for
lexical analyzers in several production and research compilers and
@@ -561,16 +560,16 @@ A paper describing <CODE>gperf</CODE>'s design and implementation in greater
detail is available in the Second USENIX C++ Conference proceedings
or from <CODE>http://www.cs.wustl.edu/~schmidt/resume.html</CODE>.
-</P>
-<H1><A NAME="SEC6" HREF="gperf.html#TOC6">2 Static search structures and GNU <CODE>gperf</CODE></A></H1>
+
+<H1><A NAME="SEC6" HREF="gperf.html#TOC6">2. Static search structures and GNU <CODE>gperf</CODE></A></H1>
<P>
<A NAME="IDX2"></A>
-</P>
+
<P>
-A <STRONG>static search structure</STRONG> is an Abstract Data Type with certain
+A <EM>static search structure</EM> is an Abstract Data Type with certain
fundamental operations, e.g., <EM>initialize</EM>, <EM>insert</EM>,
and <EM>retrieve</EM>. Conceptually, all insertions occur before any
retrievals. In practice, <CODE>gperf</CODE> generates a <EM>static</EM> array
@@ -580,11 +579,11 @@ insertions. It is a useful data structure for representing <EM>static
search sets</EM>. Static search sets occur frequently in software system
applications. Typical static search sets include compiler reserved
words, assembler instruction opcodes, and built-in shell interpreter
-commands. Search set members, called <STRONG>keywords</STRONG>, are inserted into
+commands. Search set members, called <EM>keywords</EM>, are inserted into
the structure only once, usually during program initialization, and are
not generally modified at run-time.
-</P>
+
<P>
Numerous static search structure implementations exist, e.g.,
arrays, linked lists, binary search trees, digital search tries, and
@@ -596,14 +595,14 @@ proportional to log <VAR>n</VAR>. Conversely, hash table implementations
often locate a table entry in constant time, but typically impose
additional memory overhead and exhibit poor worst case performance.
-</P>
+
<P>
<A NAME="IDX3"></A>
<EM>Minimal perfect hash functions</EM> provide an optimal solution for a
particular class of static search sets. A minimal perfect hash
function is defined by two properties:
-</P>
+
<UL>
<LI>
@@ -629,7 +628,7 @@ behavior generates <EM>near-minimal</EM> perfect hash functions for
keyword sets. However, <CODE>gperf</CODE> provides many options that permit
user control over the degree of minimality and perfection.
-</P>
+
<P>
Static search sets often exhibit relative stability over time. For
example, Ada's 63 reserved words have remained constant for nearly a
@@ -645,23 +644,23 @@ not yet part of the official GNU distribution. Each compiler utilizes
<CODE>gperf</CODE> to automatically generate static search structures that
efficiently identify their respective reserved keywords.
-</P>
-<H1><A NAME="SEC7" HREF="gperf.html#TOC7">3 High-Level Description of GNU <CODE>gperf</CODE></A></H1>
+
+<H1><A NAME="SEC7" HREF="gperf.html#TOC7">3. High-Level Description of GNU <CODE>gperf</CODE></A></H1>
<P>
The perfect hash function generator <CODE>gperf</CODE> reads a set of
"keywords" from an input file (or from the standard input by
default). It attempts to derive a perfect hashing function that
-recognizes a member of the <STRONG>static keyword set</STRONG> with at most a
+recognizes a member of the <EM>static keyword set</EM> with at most a
single probe into the lookup table. If <CODE>gperf</CODE> succeeds in
generating such a function it produces a pair of C source code routines
that perform hashing and table lookup recognition. All generated C code
is directed to the standard output. Command-line options described
below allow you to modify the input and output format to <CODE>gperf</CODE>.
-</P>
+
<P>
By default, <CODE>gperf</CODE> attempts to produce time-efficient code, with
less emphasis on efficient space utilization. However, several options
@@ -673,7 +672,7 @@ statement scheme that minimizes data space storage size. Furthermore,
using a C <CODE>switch</CODE> may actually speed up the keyword retrieval time
somewhat. Actual results depend on your C compiler, of course.
-</P>
+
<P>
In general, <CODE>gperf</CODE> assigns values to the bytes it is using
for hashing until some set of values gives each keyword a unique value.
@@ -681,10 +680,10 @@ A helpful heuristic is that the larger the hash value range, the easier
it is for <CODE>gperf</CODE> to find and generate a perfect hash function.
Experimentation is the key to getting the most from <CODE>gperf</CODE>.
-</P>
-<H2><A NAME="SEC8" HREF="gperf.html#TOC8">3.1 Input Format to <CODE>gperf</CODE></A></H2>
+
+<H2><A NAME="SEC8" HREF="gperf.html#TOC8">3.1 Input Format to <CODE>gperf</CODE></A></H2>
<P>
<A NAME="IDX4"></A>
<A NAME="IDX5"></A>
@@ -696,7 +695,7 @@ is similar to GNU utilities <CODE>flex</CODE> and <CODE>bison</CODE> (or UNIX
utilities <CODE>lex</CODE> and <CODE>yacc</CODE>). Here's an outline of the general
format:
-</P>
+
<PRE>
declarations
@@ -711,14 +710,13 @@ functions
the functions section are optional. The following sections describe the
input format for each section.
-</P>
<P>
It is possible to omit the declaration section entirely, if the <SAMP>`-t'</SAMP>
option is not given. In this case the input file begins directly with the
first keyword line, e.g.:
-</P>
+
<PRE>
january
@@ -730,7 +728,7 @@ april
-<H3><A NAME="SEC9" HREF="gperf.html#TOC9">3.1.1 Declarations</A></H3>
+<H3><A NAME="SEC9" HREF="gperf.html#TOC9">3.1.1 Declarations</A></H3>
<P>
The keyword input file optionally contains a section for including
@@ -738,11 +736,10 @@ arbitrary C declarations and definitions, <CODE>gperf</CODE> declarations that
act like command-line options, as well as for providing a user-supplied
<CODE>struct</CODE>.
-</P>
-<H4><A NAME="SEC10" HREF="gperf.html#TOC10">3.1.1.1 User-supplied <CODE>struct</CODE></A></H4>
+<H4><A NAME="SEC10" HREF="gperf.html#TOC10">3.1.1.1 User-supplied <CODE>struct</CODE></A></H4>
<P>
If the <SAMP>`-t'</SAMP> option (or, equivalently, the <SAMP>`%struct-type'</SAMP> declaration)
@@ -755,15 +752,15 @@ This first field must be called <SAMP>`name'</SAMP>, although it is possible to
its name with the <SAMP>`-K'</SAMP> option (or, equivalently, the
<SAMP>`%define slot-name'</SAMP> declaration) described below.
-</P>
+
<P>
Here is a simple example, using months of the year and their attributes as
input:
-</P>
+
<PRE>
-struct months { char *name; int number; int days; int leap_days; };
+struct month { char *name; int number; int days; int leap_days; };
%%
january, 1, 31, 31
february, 2, 28, 29
@@ -786,10 +783,23 @@ other fields are a pair of consecutive percent signs, <SAMP>`%%'</SAMP>,
appearing left justified in the first column, as in the UNIX utility
<CODE>lex</CODE>.
-</P>
+
+<P>
+If the <CODE>struct</CODE> has already been declared in an include file, it can
+be mentioned in an abbreviated form, like this:
+
+
+
+<PRE>
+struct month;
+%%
+january, 1, 31, 31
+...
+</PRE>
+
-<H4><A NAME="SEC11" HREF="gperf.html#TOC11">3.1.1.2 Gperf Declarations</A></H4>
+<H4><A NAME="SEC11" HREF="gperf.html#TOC11">3.1.1.2 Gperf Declarations</A></H4>
<P>
The declaration section can contain <CODE>gperf</CODE> declarations. They
@@ -797,7 +807,7 @@ influence the way <CODE>gperf</CODE> works, like command line options do.
In fact, every such declaration is equivalent to a command line option.
There are three forms of declarations:
-</P>
+
<OL>
<LI>
@@ -818,11 +828,11 @@ Declarations of names of entities in the output file, like
When a declaration is given both in the input file and as a command line
option, the command-line option's value prevails.
-</P>
+
<P>
The following <CODE>gperf</CODE> declarations are available.
-</P>
+
<DL COMPACT>
<DT><SAMP>`%delimiters=<VAR>delimiter-list</VAR>'</SAMP>
@@ -933,7 +943,7 @@ test like <SAMP>`c &#62;= 'A' &#38;&#38; c &#60;= 'Z''</SAMP> guarantees this.)
<DD>
<A NAME="IDX19"></A>
Compare keyword lengths before trying a string comparison. This option
-is mandatory for binary comparisons (see section <A HREF="gperf.html#SEC17">3.3 Use of NUL bytes</A>). It also might
+is mandatory for binary comparisons (see section <A HREF="gperf.html#SEC17">3.3 Use of NUL bytes</A>). It also might
cut down on the number of string comparisons made during the lookup, since
keywords with different lengths are never compared via <CODE>strcmp</CODE>.
However, using <SAMP>`%compare-lengths'</SAMP> might greatly increase the size of the
@@ -1036,7 +1046,7 @@ this option if the type is already defined elsewhere.
-<H4><A NAME="SEC12" HREF="gperf.html#TOC12">3.1.1.3 C Code Inclusion</A></H4>
+<H4><A NAME="SEC12" HREF="gperf.html#TOC12">3.1.1.3 C Code Inclusion</A></H4>
<P>
<A NAME="IDX31"></A>
@@ -1048,15 +1058,15 @@ inside left-justified surrounding <SAMP>`%{'</SAMP>, <SAMP>`%}'</SAMP> pairs. H
an input fragment based on the previous example that illustrates this
feature:
-</P>
+
<PRE>
%{
#include &#60;assert.h&#62;
/* This section of code is inserted directly into the output. */
-int return_month_days (struct months *months, int is_leap_year);
+int return_month_days (struct month *months, int is_leap_year);
%}
-struct months { char *name; int number; int days; int leap_days; };
+struct month { char *name; int number; int days; int leap_days; };
%%
january, 1, 31, 31
february, 2, 28, 29
@@ -1066,7 +1076,7 @@ march, 3, 31, 31
-<H3><A NAME="SEC13" HREF="gperf.html#TOC13">3.1.2 Format for Keyword Entries</A></H3>
+<H3><A NAME="SEC13" HREF="gperf.html#TOC13">3.1.2 Format for Keyword Entries</A></H3>
<P>
The second input file format section contains lines of keywords and any
@@ -1076,7 +1086,7 @@ in the first column is considered a comment. Everything following the
beginning with <SAMP>`%'</SAMP> in the first column is an option declaration and
must not occur within the keywords section.
-</P>
+
<P>
The first field of each non-comment line is always the keyword itself. It
can be given in two ways: as a simple name, i.e., without surrounding
@@ -1088,7 +1098,7 @@ In this context, a "field" is considered to extend up to, but
not include, the first blank, comma, or newline. Here is a simple
example taken from a partial list of C reserved words:
-</P>
+
<PRE>
# These are a few C reserved words, see the c.gperf file
@@ -1108,7 +1118,7 @@ return
Note that unlike <CODE>flex</CODE> or <CODE>bison</CODE> the first <SAMP>`%%'</SAMP> marker
may be elided if the declaration section is empty.
-</P>
+
<P>
Additional fields may optionally follow the leading keyword. Fields
should be separated by commas, and terminate at the end of line. What
@@ -1119,10 +1129,10 @@ declaration section. If the <SAMP>`-t'</SAMP> option (or, equivalently, the
these fields are simply ignored. All previous examples except the last
one contain keyword attributes.
-</P>
-<H3><A NAME="SEC14" HREF="gperf.html#TOC14">3.1.3 Including Additional C Functions</A></H3>
+
+<H3><A NAME="SEC14" HREF="gperf.html#TOC14">3.1.3 Including Additional C Functions</A></H3>
<P>
The optional third section also corresponds closely with conventions
@@ -1132,10 +1142,10 @@ file, is included verbatim into the generated output file. Naturally,
it is your responsibility to ensure that the code contained in this
section is valid C.
-</P>
-<H3><A NAME="SEC15" HREF="gperf.html#TOC15">3.1.4 Where to place directives for GNU <CODE>indent</CODE>.</A></H3>
+
+<H3><A NAME="SEC15" HREF="gperf.html#TOC15">3.1.4 Where to place directives for GNU <CODE>indent</CODE>.</A></H3>
<P>
If you want to invoke GNU <CODE>indent</CODE> on a <CODE>gperf</CODE> input file,
@@ -1145,7 +1155,7 @@ interpretation of the input file. Therefore you have to insert some
directives for GNU <CODE>indent</CODE>. More precisely, assuming the most
general input file structure
-</P>
+
<PRE>
declarations part 1
@@ -1163,7 +1173,7 @@ functions
you would insert <SAMP>`*INDENT-OFF*'</SAMP> and <SAMP>`*INDENT-ON*'</SAMP> comments
as follows:
-</P>
+
<PRE>
/* *INDENT-OFF* */
@@ -1183,11 +1193,11 @@ functions
-<H2><A NAME="SEC16" HREF="gperf.html#TOC16">3.2 Output Format for Generated C Code with <CODE>gperf</CODE></A></H2>
+<H2><A NAME="SEC16" HREF="gperf.html#TOC16">3.2 Output Format for Generated C Code with <CODE>gperf</CODE></A></H2>
<P>
<A NAME="IDX33"></A>
-</P>
+
<P>
Several options control how the generated C code appears on the standard
output. Two C function are generated. They are called <CODE>hash</CODE> and
@@ -1196,22 +1206,22 @@ option. Both functions require two arguments, a string, <CODE>char *</CODE>
<VAR>str</VAR>, and a length parameter, <CODE>int</CODE> <VAR>len</VAR>. Their default
function prototypes are as follows:
-</P>
+
<P>
<DL>
<DT><U>Function:</U> unsigned int <B>hash</B> <I>(const char * <VAR>str</VAR>, unsigned int <VAR>len</VAR>)</I>
<DD><A NAME="IDX34"></A>
By default, the generated <CODE>hash</CODE> function returns an integer value
created by adding <VAR>len</VAR> to several user-specified <VAR>str</VAR> byte
-positions indexed into an <STRONG>associated values</STRONG> table stored in a
+positions indexed into an <EM>associated values</EM> table stored in a
local static array. The associated values table is constructed
internally by <CODE>gperf</CODE> and later output as a static local C array
called <SAMP>`hash_table'</SAMP>. The relevant selected positions (i.e. indices
into <VAR>str</VAR>) are specified via the <SAMP>`-k'</SAMP> option when running
-<CODE>gperf</CODE>, as detailed in the <EM>Options</EM> section below (see section <A HREF="gperf.html#SEC18">4 Invoking <CODE>gperf</CODE></A>).
+<CODE>gperf</CODE>, as detailed in the <EM>Options</EM> section below (see section <A HREF="gperf.html#SEC18">4. Invoking <CODE>gperf</CODE></A>).
</DL>
-</P>
+
<P>
<DL>
<DT><U>Function:</U> <B>in_word_set</B> <I>(const char * <VAR>str</VAR>, unsigned int <VAR>len</VAR>)</I>
@@ -1223,7 +1233,7 @@ a pointer to the matching keyword's structure. Otherwise it returns
<CODE>NULL</CODE>.
</DL>
-</P>
+
<P>
If the option <SAMP>`-c'</SAMP> (or, equivalently, the <SAMP>`%compare-strncmp'</SAMP>
declaration) is not used, <VAR>str</VAR> must be a NUL terminated
@@ -1232,12 +1242,12 @@ string of exactly length <VAR>len</VAR>. If <SAMP>`-c'</SAMP> (or, equivalently
simply be an array of <VAR>len</VAR> bytes and does not need to be NUL
terminated.
-</P>
+
<P>
The code generated for these two functions is affected by the following
options:
-</P>
+
<DL COMPACT>
<DT><SAMP>`-t'</SAMP>
@@ -1268,14 +1278,14 @@ with the various input and output options, and timing the resulting C
code, you can determine the best option choices for different keyword
set characteristics.
-</P>
-<H2><A NAME="SEC17" HREF="gperf.html#TOC17">3.3 Use of NUL bytes</A></H2>
+
+<H2><A NAME="SEC17" HREF="gperf.html#TOC17">3.3 Use of NUL bytes</A></H2>
<P>
<A NAME="IDX37"></A>
-</P>
+
<P>
By default, the code generated by <CODE>gperf</CODE> operates on zero
terminated strings, the usual representation of strings in C. This means
@@ -1283,7 +1293,7 @@ that the keywords in the input file must not contain NUL bytes,
and the <VAR>str</VAR> argument passed to <CODE>hash</CODE> or <CODE>in_word_set</CODE>
must be NUL terminated and have exactly length <VAR>len</VAR>.
-</P>
+
<P>
If option <SAMP>`-c'</SAMP> (or, equivalently, the <SAMP>`%compare-strncmp'</SAMP>
declaration) is used, then the <VAR>str</VAR> argument does not need
@@ -1292,7 +1302,7 @@ access the first <VAR>len</VAR>, not <VAR>len+1</VAR>, bytes starting at <VAR>st
However, the keywords in the input file still must not contain NUL
bytes.
-</P>
+
<P>
If option <SAMP>`-l'</SAMP> (or, equivalently, the <SAMP>`%compare-lengths'</SAMP>
declaration) is used, then the hash table performs binary
@@ -1302,10 +1312,10 @@ generated by <CODE>gperf</CODE> will treat NUL like any other byte.
Also, in this case the <SAMP>`-c'</SAMP> option (or, equivalently, the
<SAMP>`%compare-strncmp'</SAMP> declaration) is ignored.
-</P>
-<H1><A NAME="SEC18" HREF="gperf.html#TOC18">4 Invoking <CODE>gperf</CODE></A></H1>
+
+<H1><A NAME="SEC18" HREF="gperf.html#TOC18">4. Invoking <CODE>gperf</CODE></A></H1>
<P>
There are <EM>many</EM> options to <CODE>gperf</CODE>. They were added to make
@@ -1313,11 +1323,10 @@ the program more convenient for use with real applications. "On-line"
help is readily available via the <SAMP>`--help'</SAMP> option. Here is the
complete list of options.
-</P>
-<H2><A NAME="SEC19" HREF="gperf.html#TOC19">4.1 Specifying the Location of the Output File</A></H2>
+<H2><A NAME="SEC19" HREF="gperf.html#TOC19">4.1 Specifying the Location of the Output File</A></H2>
<DL COMPACT>
@@ -1330,16 +1339,16 @@ Allows you to specify the name of the file to which the output is written to.
The results are written to standard output if no output file is specified
or if it is <SAMP>`-'</SAMP>.
-</P>
-<H2><A NAME="SEC20" HREF="gperf.html#TOC20">4.2 Options that affect Interpretation of the Input File</A></H2>
+
+<H2><A NAME="SEC20" HREF="gperf.html#TOC20">4.2 Options that affect Interpretation of the Input File</A></H2>
<P>
These options are also available as declarations in the input file
-(see section <A HREF="gperf.html#SEC11">3.1.1.2 Gperf Declarations</A>).
+(see section <A HREF="gperf.html#SEC11">3.1.1.2 Gperf Declarations</A>).
+
-</P>
<DL COMPACT>
<DT><SAMP>`-e <VAR>keyword-delimiter-list</VAR>'</SAMP>
@@ -1379,13 +1388,13 @@ the <CODE>gperf</CODE> generated function.
-<H2><A NAME="SEC21" HREF="gperf.html#TOC21">4.3 Options to specify the Language for the Output Code</A></H2>
+<H2><A NAME="SEC21" HREF="gperf.html#TOC21">4.3 Options to specify the Language for the Output Code</A></H2>
<P>
These options are also available as declarations in the input file
-(see section <A HREF="gperf.html#SEC11">3.1.1.2 Gperf Declarations</A>).
+(see section <A HREF="gperf.html#SEC11">3.1.1.2 Gperf Declarations</A>).
+
-</P>
<DL COMPACT>
<DT><SAMP>`-L <VAR>generated-language-name</VAR>'</SAMP>
@@ -1433,13 +1442,13 @@ This option is supported for compatibility with previous releases of
-<H2><A NAME="SEC22" HREF="gperf.html#TOC22">4.4 Options for fine tuning Details in the Output Code</A></H2>
+<H2><A NAME="SEC22" HREF="gperf.html#TOC22">4.4 Options for fine tuning Details in the Output Code</A></H2>
<P>
Most of these options are also available as declarations in the input file
-(see section <A HREF="gperf.html#SEC11">3.1.1.2 Gperf Declarations</A>).
+(see section <A HREF="gperf.html#SEC11">3.1.1.2 Gperf Declarations</A>).
+
-</P>
<DL COMPACT>
<DT><SAMP>`-K <VAR>slot-name</VAR>'</SAMP>
@@ -1510,7 +1519,7 @@ to support 8-bit and multibyte characters.
<DT><SAMP>`--compare-lengths'</SAMP>
<DD>
Compare keyword lengths before trying a string comparison. This option
-is mandatory for binary comparisons (see section <A HREF="gperf.html#SEC17">3.3 Use of NUL bytes</A>). It also might
+is mandatory for binary comparisons (see section <A HREF="gperf.html#SEC17">3.3 Use of NUL bytes</A>). It also might
cut down on the number of string comparisons made during the lookup, since
keywords with different lengths are never compared via <CODE>strcmp</CODE>.
However, using <SAMP>`-l'</SAMP> might greatly increase the size of the
@@ -1628,7 +1637,7 @@ This option is supported for compatibility with previous releases of
-<H2><A NAME="SEC23" HREF="gperf.html#TOC23">4.5 Options for changing the Algorithms employed by <CODE>gperf</CODE></A></H2>
+<H2><A NAME="SEC23" HREF="gperf.html#TOC23">4.5 Options for changing the Algorithms employed by <CODE>gperf</CODE></A></H2>
<DL COMPACT>
@@ -1753,7 +1762,7 @@ heuristic.
-<H2><A NAME="SEC24" HREF="gperf.html#TOC24">4.6 Informative Output</A></H2>
+<H2><A NAME="SEC24" HREF="gperf.html#TOC24">4.6 Informative Output</A></H2>
<DL COMPACT>
@@ -1784,13 +1793,13 @@ option is enabled.
-<H1><A NAME="SEC25" HREF="gperf.html#TOC25">5 Known Bugs and Limitations with <CODE>gperf</CODE></A></H1>
+<H1><A NAME="SEC25" HREF="gperf.html#TOC25">5. Known Bugs and Limitations with <CODE>gperf</CODE></A></H1>
<P>
The following are some limitations with the current release of
<CODE>gperf</CODE>:
-</P>
+
<UL>
<LI>
@@ -1826,7 +1835,7 @@ the constraint.
-<H1><A NAME="SEC26" HREF="gperf.html#TOC26">6 Things Still Left to Do</A></H1>
+<H1><A NAME="SEC26" HREF="gperf.html#TOC26">6. Things Still Left to Do</A></H1>
<P>
It should be "relatively" easy to replace the current perfect hash
@@ -1834,7 +1843,7 @@ function algorithm with a more exhaustive approach; the perfect hash
module is essential independent from other program modules. Additional
worthwhile improvements include:
-</P>
+
<UL>
<LI>
@@ -1857,91 +1866,118 @@ C and C++ routines.
-<H1><A NAME="SEC27" HREF="gperf.html#TOC27">7 Bibliography</A></H1>
+<H1><A NAME="SEC27" HREF="gperf.html#TOC27">7. Bibliography</A></H1>
<P>
[1] Chang, C.C.: <I>A Scheme for Constructing Ordered Minimal Perfect
Hashing Functions</I> Information Sciences 39(1986), 187-195.
-</P>
+
<P>
[2] Cichelli, Richard J. <I>Author's Response to "On Cichelli's Minimal Perfect Hash
Functions Method"</I> Communications of the ACM, 23, 12(December 1980), 729.
-</P>
+
<P>
[3] Cichelli, Richard J. <I>Minimal Perfect Hash Functions Made Simple</I>
Communications of the ACM, 23, 1(January 1980), 17-19.
-</P>
+
<P>
[4] Cook, C. R. and Oldehoeft, R.R. <I>A Letter Oriented Minimal
Perfect Hashing Function</I> SIGPLAN Notices, 17, 9(September 1982), 18-27.
-</P>
+
<P>
[5] Cormack, G. V. and Horspool, R. N. S. and Kaiserwerth, M.
<I>Practical Perfect Hashing</I> Computer Journal, 28, 1(January 1985), 54-58.
-</P>
+
<P>
[6] Jaeschke, G. <I>Reciprocal Hashing: A Method for Generating Minimal
Perfect Hashing Functions</I> Communications of the ACM, 24, 12(December
1981), 829-833.
-</P>
+
<P>
[7] Jaeschke, G. and Osterburg, G. <I>On Cichelli's Minimal Perfect
Hash Functions Method</I> Communications of the ACM, 23, 12(December 1980),
728-729.
-</P>
+
<P>
[8] Sager, Thomas J. <I>A Polynomial Time Generator for Minimal Perfect
Hash Functions</I> Communications of the ACM, 28, 5(December 1985), 523-532
-</P>
+
<P>
[9] Schmidt, Douglas C. <I>GPERF: A Perfect Hash Function Generator</I>
Second USENIX C++ Conference Proceedings, April 1990.
-</P>
+
<P>
[10] Schmidt, Douglas C. <I>GPERF: A Perfect Hash Function Generator</I>
C++ Report, SIGS 10 10 (November/December 1998).
-</P>
+
<P>
[11] Sebesta, R.W. and Taylor, M.A. <I>Minimal Perfect Hash Functions
for Reserved Word Lists</I> SIGPLAN Notices, 20, 12(September 1985), 47-53.
-</P>
+
<P>
[12] Sprugnoli, R. <I>Perfect Hashing Functions: A Single Probe
Retrieving Method for Static Sets</I> Communications of the ACM, 20
11(November 1977), 841-850.
-</P>
+
<P>
[13] Stallman, Richard M. <I>Using and Porting GNU CC</I> Free Software Foundation,
1988.
-</P>
+
<P>
[14] Stroustrup, Bjarne <I>The C++ Programming Language.</I> Addison-Wesley, 1986.
-</P>
+
<P>
[15] Tiemann, Michael D. <I>User's Guide to GNU C++</I> Free Software
Foundation, 1989.
-</P>
+
<H1><A NAME="SEC28" HREF="gperf.html#TOC28">Concept Index</A></H1>
<P>
-<H2>%</H2>
+Jump to:
+<A HREF="#cindex_%">%</A>
+-
+<A HREF="#cindex_a">a</A>
+-
+<A HREF="#cindex_b">b</A>
+-
+<A HREF="#cindex_c">c</A>
+-
+<A HREF="#cindex_d">d</A>
+-
+<A HREF="#cindex_f">f</A>
+-
+<A HREF="#cindex_h">h</A>
+-
+<A HREF="#cindex_i">i</A>
+-
+<A HREF="#cindex_j">j</A>
+-
+<A HREF="#cindex_k">k</A>
+-
+<A HREF="#cindex_m">m</A>
+-
+<A HREF="#cindex_n">n</A>
+-
+<A HREF="#cindex_s">s</A>
+<P>
+<H2><A NAME="cindex_%">%</A></H2>
<DIR>
<LI><A HREF="gperf.html#IDX8"><SAMP>`%%'</SAMP></A>
<LI><A HREF="gperf.html#IDX18"><SAMP>`%7bit'</SAMP></A>
@@ -1969,66 +2005,65 @@ Foundation, 1989.
<LI><A HREF="gperf.html#IDX31"><SAMP>`%{'</SAMP></A>
<LI><A HREF="gperf.html#IDX32"><SAMP>`%}'</SAMP></A>
</DIR>
-<H2>a</H2>
+<H2><A NAME="cindex_a">a</A></H2>
<DIR>
<LI><A HREF="gperf.html#IDX42">Array name</A>
</DIR>
-<H2>b</H2>
+<H2><A NAME="cindex_b">b</A></H2>
<DIR>
<LI><A HREF="gperf.html#IDX1">Bugs</A>
</DIR>
-<H2>c</H2>
+<H2><A NAME="cindex_c">c</A></H2>
<DIR>
<LI><A HREF="gperf.html#IDX41">Class name</A>
</DIR>
-<H2>d</H2>
+<H2><A NAME="cindex_d">d</A></H2>
<DIR>
<LI><A HREF="gperf.html#IDX5">Declaration section</A>
<LI><A HREF="gperf.html#IDX38">Delimiters</A>
<LI><A HREF="gperf.html#IDX44">Duplicates</A>
</DIR>
-<H2>f</H2>
+<H2><A NAME="cindex_f">f</A></H2>
<DIR>
<LI><A HREF="gperf.html#IDX4">Format</A>
<LI><A HREF="gperf.html#IDX7">Functions section</A>
</DIR>
-<H2>h</H2>
+<H2><A NAME="cindex_h">h</A></H2>
<DIR>
<LI><A HREF="gperf.html#IDX34">hash</A>
<LI><A HREF="gperf.html#IDX33">hash table</A>
</DIR>
-<H2>i</H2>
+<H2><A NAME="cindex_i">i</A></H2>
<DIR>
<LI><A HREF="gperf.html#IDX35">in_word_set</A>
<LI><A HREF="gperf.html#IDX40">Initializers</A>
</DIR>
-<H2>j</H2>
+<H2><A NAME="cindex_j">j</A></H2>
<DIR>
<LI><A HREF="gperf.html#IDX45">Jump value</A>
</DIR>
-<H2>k</H2>
+<H2><A NAME="cindex_k">k</A></H2>
<DIR>
<LI><A HREF="gperf.html#IDX6">Keywords section</A>
</DIR>
-<H2>m</H2>
+<H2><A NAME="cindex_m">m</A></H2>
<DIR>
<LI><A HREF="gperf.html#IDX3">Minimal perfect hash functions</A>
</DIR>
-<H2>n</H2>
+<H2><A NAME="cindex_n">n</A></H2>
<DIR>
<LI><A HREF="gperf.html#IDX37">NUL</A>
</DIR>
-<H2>s</H2>
+<H2><A NAME="cindex_s">s</A></H2>
<DIR>
<LI><A HREF="gperf.html#IDX39">Slot name</A>
<LI><A HREF="gperf.html#IDX2">Static search structure</A>
<LI><A HREF="gperf.html#IDX36"><CODE>switch</CODE></A>, <A HREF="gperf.html#IDX43"><CODE>switch</CODE></A>
</DIR>
-</P>
+
<P><HR><P>
-This document was generated on 7 May 2003 using the
-<A HREF="http://wwwcn.cern.ch/dci/texi2html/">texi2html</A>
-translator version 1.51.</P>
+This document was generated on 12 June 2003 using
+<A HREF="http://wwwinfo.cern.ch/dis/texi2html/">texi2html</A>&nbsp;1.56k.
</BODY>
</HTML>
diff --git a/doc/gperf.info b/doc/gperf.info
index fda381f..821e884 100644
--- a/doc/gperf.info
+++ b/doc/gperf.info
@@ -1,4 +1,5 @@
-This is gperf.info, produced by makeinfo version 4.3 from gperf.texi.
+Dies ist gperf.info, hergestellt von Makeinfo Version 4.3 aus
+gperf.texi.
INFO-DIR-SECTION Programming Tools
START-INFO-DIR-ENTRY
@@ -6,7 +7,7 @@ START-INFO-DIR-ENTRY
END-INFO-DIR-ENTRY
This file documents the features of the GNU Perfect Hash Function
-Generator 3.0.
+Generator 3.0.1.
Copyright (C) 1989-2003 Free Software Foundation, Inc.
@@ -669,7 +670,7 @@ not given, or of type `int' if the option `-P' (or, equivalently, the
Here is a simple example, using months of the year and their
attributes as input:
- struct months { char *name; int number; int days; int leap_days; };
+ struct month { char *name; int number; int days; int leap_days; };
%%
january, 1, 31, 31
february, 2, 28, 29
@@ -688,6 +689,14 @@ attributes as input:
other fields are a pair of consecutive percent signs, `%%', appearing
left justified in the first column, as in the UNIX utility `lex'.
+ If the `struct' has already been declared in an include file, it can
+be mentioned in an abbreviated form, like this:
+
+ struct month;
+ %%
+ january, 1, 31, 31
+ ...
+

File: gperf.info, Node: Gperf Declarations, Next: C Code Inclusion, Prev: User-supplied Struct, Up: Declarations
@@ -891,9 +900,9 @@ fragment based on the previous example that illustrates this feature:
%{
#include <assert.h>
/* This section of code is inserted directly into the output. */
- int return_month_days (struct months *months, int is_leap_year);
+ int return_month_days (struct month *months, int is_leap_year);
%}
- struct months { char *name; int number; int days; int leap_days; };
+ struct month { char *name; int number; int days; int leap_days; };
%%
january, 1, 31, 31
february, 2, 28, 29
@@ -1011,7 +1020,7 @@ command-line option. Both functions require two arguments, a string,
`char *' STR, and a length parameter, `int' LEN. Their default
function prototypes are as follows:
- - Function: unsigned int hash (const char * STR, unsigned int LEN)
+ - Funktion: unsigned int hash (const char * STR, unsigned int LEN)
By default, the generated `hash' function returns an integer value
created by adding LEN to several user-specified STR byte positions
indexed into an "associated values" table stored in a local static
@@ -1021,7 +1030,7 @@ function prototypes are as follows:
STR) are specified via the `-k' option when running `gperf', as
detailed in the _Options_ section below (*note Options::).
- - Function: in_word_set (const char * STR, unsigned int LEN)
+ - Funktion: in_word_set (const char * STR, unsigned int LEN)
If STR is in the keyword set, returns a pointer to that keyword.
More exactly, if the option `-t' (or, equivalently, the
`%struct-type' declaration) was given, it returns a pointer to the
@@ -1654,32 +1663,32 @@ Concept Index

Tag Table:
-Node: Top1234
-Node: Copying3318
-Node: Contributors22507
-Node: Motivation23700
-Node: Search Structures24828
-Node: Description28383
-Node: Input Format30276
-Node: Declarations31413
-Node: User-supplied Struct31989
-Node: Gperf Declarations33405
-Node: C Code Inclusion41815
-Node: Keywords42644
-Node: Functions44580
-Node: Controls for GNU indent45106
-Node: Output Format46045
-Node: Binary Strings48829
-Node: Options49972
-Node: Output File50757
-Node: Input Details51141
-Node: Output Language52972
-Node: Output Details54383
-Node: Algorithmic Details61298
-Node: Verbosity66547
-Node: Bugs67250
-Node: Projects68842
-Node: Bibliography69970
-Node: Concept Index72026
+Node: Top1240
+Node: Copying3324
+Node: Contributors22513
+Node: Motivation23706
+Node: Search Structures24834
+Node: Description28389
+Node: Input Format30282
+Node: Declarations31419
+Node: User-supplied Struct31995
+Node: Gperf Declarations33594
+Node: C Code Inclusion42004
+Node: Keywords42831
+Node: Functions44767
+Node: Controls for GNU indent45293
+Node: Output Format46232
+Node: Binary Strings49016
+Node: Options50159
+Node: Output File50944
+Node: Input Details51328
+Node: Output Language53159
+Node: Output Details54570
+Node: Algorithmic Details61485
+Node: Verbosity66734
+Node: Bugs67437
+Node: Projects69029
+Node: Bibliography70157
+Node: Concept Index72213

End Tag Table
diff --git a/doc/gperf.pdf b/doc/gperf.pdf
index 74d1225..43b6b33 100644
--- a/doc/gperf.pdf
+++ b/doc/gperf.pdf
Binary files differ
diff --git a/doc/gperf.ps b/doc/gperf.ps
index f3fc7c1..26f83a1 100644
--- a/doc/gperf.ps
+++ b/doc/gperf.ps
@@ -1,15 +1,16 @@
%!PS-Adobe-2.0
-%%Creator: dvips(k) 5.86 Copyright 1999 Radical Eye Software
-%%Title: gperf.dvi
+%%Creator: dvips(k) 5.92b Copyright 2002 Radical Eye Software
+%%Title: ./gperf.dvi
%%Pages: 32
%%PageOrder: Ascend
%%BoundingBox: 0 0 596 842
-%%DocumentPaperSizes: a4
+%%DocumentFonts: CMBX12 CMTT12 CMR10 CMSY10 CMSL10 CMTT10 CMTI10 CMBX10
+%%+ CMSS10 CMB10 CMR9 CMTT9 CMTI9 CMBXTI10
%%EndComments
%DVIPSWebPage: (www.radicaleye.com)
-%DVIPSCommandLine: dvips -D600 -o gperf.ps gperf.dvi
+%DVIPSCommandLine: dvips -D600 -o gperf.ps ./gperf.dvi
%DVIPSParameters: dpi=600, compressed
-%DVIPSSource: TeX output 2003.05.07:1528
+%DVIPSSource: TeX output 2003.06.12:1833
%%BeginProcSet: texc.pro
%!
/TeXDict 300 dict def TeXDict begin/N{def}def/B{bind def}N/S{exch}N/X{S
@@ -68,2322 +69,3741 @@ p -2 w}B/o{p -1 w}B/q{p 1 w}B/r{p 2 w}B/s{p 3 w}B/t{p 4 w}B/x{0 S
rmoveto}B/y{3 2 roll p a}B/bos{/SS save N}B/eos{SS restore}B end
%%EndProcSet
-TeXDict begin 39158280 55380996 1000 600 600 (gperf.dvi)
-@start
-%DVIPSBitmapFont: Fa cmbxti10 14.4 1
-/Fa 1 47 df<13FCEA03FF000F13804813C05AA25AA2B5FCA31480A214006C5A6C5A6C5A
-EA0FE0121271912B>46 D E
-%EndDVIPSBitmapFont
-%DVIPSBitmapFont: Fb cmti9 9 1
-/Fb 1 47 df<121C127F12FFA412FE12380808778718>46 D E
-%EndDVIPSBitmapFont
-%DVIPSBitmapFont: Fc cmtt9 9 29
-/Fc 29 126 df<000F1470486C13F8383FC001EA7FE0140315F038FFF00700F914E0A214
-0F15C0A2141F00FF1480387FE03F1500A26C485A381F807E380F00FEC75AA213015CA213
-035C13075CA2130F5C131F5CA2133F91C7FCA24913F090387E01F89038FE03FC9038FC07
-FEA212019038F80FFF0003149F13F0A2120713E0A2000F14FF9038C007FE121F1380EC03
-FC000FEB01F86CC712F0203A7DB327>37 D<007FB512F8B612FCA46C14F81E067C9927>
-45 D<1278B612FE15FFA315FE39FC0001FCEC03F8EC07F0007814E0C7120FEC1FC01580
-143FEC7F00147E14FE5C13015C13035C13075CA2495AA3495AA3133F91C7FCA55B137EA9
-133C20307DAE27>55 D<007FB512F8B612FCA46C14F81E067C7E27>95
-D<3803FFC0000F13F04813FC4813FF811380EC1FC0381F000F000480C71207A2EB0FFF13
-7F0003B5FC120F5A383FFC07EA7FC0130012FE5AA46C130F007F131FEBC0FF6CB612806C
-15C07E000313F1C69038807F8022207C9F27>97 D<EA7FE0487EA3127F1203A914FF01F3
-13C090B512F08181EC81FE49C67E49EB3F8049131F16C049130FA216E01507A6150F16C0
-7F151F6DEB3F80157F6DEBFF009038FF83FEECFFFC5D5D01F313C02601E0FEC7FC232E7F
-AD27>I<EB0FFF017F13C048B512E04814F05A380FF807EA1FE0393FC003E09038800080
-48C8FC127EA212FE5AA67E127EA2007F14F0393F8001F813C0381FE003390FF80FF06CB5
-FC6C14E06C14C06C6C1300EB0FF81D207B9F27>I<EC3FF04A7EA3143F1401A9EB0FE1EB
-7FFD48B5FC5A5A380FF83F381FE00F383FC007EB8003EA7F00007E1301A212FE5AA67E00
-7E1303A2127F6C1307EB800F381FE01F380FF03F6CB612C06C15E06C13FD38007FF9D91F
-E013C0232E7EAD27>I<EB0FF8EB3FFE90B51280000314C04814E0390FFC0FF0391FE003
-F8EBC001D83F8013FC48C7FC127E157E12FEB612FEA415FC00FCC8FC7E127E127F6C143C
-6D137E6C7E01F013FE390FFC07FC6CB5FC000114F86C14F0013F13C0903807FE001F207D
-9F27>I<EC1FF0ECFFF84913FC4913FE5BEB0FF014C0011F137CEC8000A6007FB512F0B6
-12F8A36C14F039001F8000B3A4003FB512C04814E0A36C14C01F2E7EAD27>I<153F9039
-1FC0FF80D97FF313C048B612E05A4814EF390FF07F873A1FC01FC3C0EDC000EB800F4848
-6C7EA66C6C485AEBC01FA2390FF07F8090B5C7FC5C485BEB7FF0EB1FC090C9FCA27F6CB5
-FC15E015F84814FE4880EB8001007EC7EA3F80007C140F00FC15C0481407A46C140F007C
-1580007F143F6C6CEB7F009038F807FF6CB55A000714F86C5CC614C0D90FFCC7FC23337E
-A027>I<EA7FE0487EA3127F1203A9147F9038F1FFC001F713F090B5FC8114C1EC01FCEB
-FE005B5BA25BB03A7FFF83FFE0B500C713F0A36C018313E0242E7FAD27>I<130F497E49
-7EA46D5A6DC7FC90C8FCA7383FFF80487FA37EEA000FB3A4007FB512F0B6FC15F815F07E
-1D2F7BAE27>I<EA7FE07F12FF127FA21201A991383FFFC04A13E0A36E13C0913803F800
-4A5A4A5A4A5A4A5A02FFC7FCEBF1FEEBF3FCEBF7F8EBFFFC8080143F496C7E496C7E01F8
-7FEBF0076E7E6E7E816E7E157E3A7FFFC1FFF002C313F8B512E36C13C316F0252E80AD27
->107 D<387FFF80B57EA37EEA000FB3B2007FB512F8B612FCA36C14F81E2E7CAD27>I<39
-7F07C01F3AFF9FF07FC09039FFF9FFE091B57E7E3A0FFC7FF1F89038F03FC001E0138001
-C01300A3EB803EB03A7FF0FFC3FF486C01E3138001F913E701F813E36C4801C313002920
-819F27>I<387FE07F39FFF1FFC001F713F090B5FC6C80000313C1EC01FCEBFE005B5BA2
-5BB03A7FFF83FFE0B500C713F0A36C018313E024207F9F27>I<EB1FE0EB7FF83801FFFE
-487F481480390FF03FC0391FC00FE0393F8007F0EB00034814F8007E1301A248EB00FCA7
-6C1301007E14F8A2007F1303393F8007F0A2391FE01FE0390FF03FC06CB512806C14006C
-5B38007FF8EB1FE01E207C9F27>I<387FE0FFD8FFF313C090B512F0816C800003EB81FE
-49C67E49EB3F8049131F16C049130FA216E01507A6150F16C07F151F6DEB3F80157F6DEB
-FF009038FF83FEECFFFC5D5D01F313C0D9F0FEC7FC91C8FCAC387FFF80B57EA36C5B2331
-7F9F27>I<397FFC03FC39FFFE0FFF023F13804A13C0007F90B5FC39007FFE1F14F89138
-F00F809138E002004AC7FC5CA291C8FCA2137EAD007FB57EB67EA36C5C22207E9F27>
-114 D<9038FFF3800007EBFFC0121F5A5AEB803F38FC000F5AA2EC07806C90C7FCEA7F80
-13FC383FFFF06C13FC000713FF00011480D8000F13C09038003FE014070078EB03F000FC
-1301A27E14036CEB07E0EBE01F90B512C01580150000FB13FC38707FF01C207B9F27>I<
-133C137EA8007FB512F0B612F8A36C14F0D8007EC7FCAE1518157EA415FE6D13FC1483EC
-FFF86D13F06D13E0010313C0010013001F297EA827>I<397FE01FF8486C487EA3007F13
-1F00031300B21401A21403EBFC0F6CB612E016F07EEB3FFE90390FF87FE024207F9F27>
-I<3A7FFE07FFE000FF15F06D5A497E007F15E03A0F80001F00A36D5B0007143EA414F0EB
-C1F83903E3FC7CA4EBE79EA200011478A301F713F8A2EBFF0F6C5CA3EBFE0790387C03E0
-24207F9F27>119 D<393FFC1FFF486C5A168016006C487E3901F807E06C6C485A4A5A01
-7E90C7FC6D5AEB1F7E5C6D5A13076D5A5C80497E130F497E143EEB3E3FEB7E1F90387C0F
-8001F87F00016D7E3803F0033A7FFE1FFF80A2B54813C06C486C1380A222207E9F27>I<
-3A7FFC0FFF80486C4813C0A36C486C13803A07E000F800000313015D13F00001130301F8
-5B1200A26D485A137CA290387E0F80133EA2011F90C7FC5CA2130F149E14BE130714FC13
-03A25C1301A25CA213035CA213075C1208EA3E0F007F5B131FD87E7FC8FCEA7FFE6C5A5B
-6C5AEA07C022317E9F27>I<001FB512FE4814FFA490380001FEEC03FCEC07F8EC0FF000
-1EEB1FE0C7EA3FC0EC7F80ECFF00495A495A495AEB1FE0495A495A49C7FC485A4848131E
-4848133F485A485A485A485AB7FCA46C14FE20207E9F27>I<EC07F8EC3FFC14FF130315
-F8903807FE00EB0FF05C5CB0131FEB7F80EA3FFFB5C7FC5BA27F003F7FEA007FEB1FC013
-0FB08080EB07FE903803FFF815FC1300143FEC07F81E3A7CB327>I<EA7F80EAFFF013FC
-13FF7E00017F38003FC0131F130FB080EB07F8ECFFF06D13FC7FA25B4913F0ECF800EB0F
-E05CB0131F133F48B45A007F90C7FCB5FC13FC13F0EA7F801E3A7CB327>125
-D E
-%EndDVIPSBitmapFont
-%DVIPSBitmapFont: Fd cmr9 9 47
-/Fd 47 123 df<123C127EB4FCA21380A2127F123D1201A412031300A25A1206120E120C
-121C5A5A126009177AB315>39 D<123C127EB4FCA21380A2127F123D1201A412031300A2
-5A1206120E120C121C5A5A126009177A8715>44 D<EB0FE0EB7FFCEBF83E3903E00F8039
-07C007C0EB8003000F14E0391F0001F0A24814F8A2003E1300007E14FCA500FE14FEB200
-7E14FCA56CEB01F8A36C14F0A2390F8003E03907C007C0A23903E00F803900F83E00EB7F
-FCEB0FE01F347DB126>48 D<13075B5B137FEA07FFB5FC13BFEAF83F1200B3B3A2497E00
-7FB51280A319327AB126>I<EB3FC0EBFFF0000313FC380F80FF391E007F80001CEB3FC0
-48EB1FE048130F15F00060130712FC6C14F87E1403A3007E1307123CC7FC15F0A2140F15
-E0EC1FC0A2EC3F801500147E5C495A5C495A495A495A49C7FC133E133C4913185B485A48
-481330485A48C7FC001C1470001FB512F05A5AB612E0A31D327CB126>I<EB1FE0EBFFFC
-4813FF3907E03F80390F001FC0001EEB0FE0001CEB07F0123F018013F8140313C01380A2
-381F0007C7FC15F0A2EC0FE015C0141FEC3F80EC7E00EB01F8EB7FE014FCEB003FEC1FC0
-EC0FE0EC07F015F8140315FC140115FEA3127EB4FCA415FC48130312780070EB07F86C14
-F0003C130F001FEB1FE0390FE03F800003B51200C613FCEB1FE01F347DB126>I<EC01C0
-A214031407A2140F141FA2143F147F146F14CF1301EB038F140F1307130E130C131C1338
-1330137013E013C0EA0180120313001206120E120C5A123812305A12E0B71280A3C7380F
-C000A94A7E0107B51280A321337EB226>I<000C14C0380FC00F90B5128015005C5C14F0
-14C0D80C18C7FC90C8FCA9EB0FC0EB7FF8EBF07C380FC03F9038001F80EC0FC0120E000C
-EB07E0A2C713F01403A215F8A41218127E12FEA315F0140712F8006014E01270EC0FC06C
-131F003C14806CEB7F00380F80FE3807FFF8000113E038003F801D347CB126>I<123012
-3C003FB6FCA34814FEA215FC0070C7123800601430157015E04814C01401EC0380C7EA07
-001406140E5C141814385CA25CA2495A1303A3495AA2130FA3131F91C7FCA25BA55BA913
-1C20347CB126>55 D<EB0FE0EB7FFC90B5FC3903F01F803907C007C0390F0003E0000EEB
-01F0001E1300001C14F8003C1478A3123EA2003F14F86D13F0EBC001D81FF013E09038F8
-03C0390FFE07803907FF0F006C13DE6C13F87EEB3FFE8001F713C0D803E313E0D8078013
-F0390F007FF8001E131F003EEB07FC003C1303481301EC007E12F848143EA2151EA37E15
-3C1278007C14787E6C14F0390F8003E03907F01FC00001B5120038007FFCEB1FE01F347D
-B126>I<EB0FE0EB7FF8EBFFFE3803F83F3907E00F80390FC007C0D81F8013E0EC03F0EA
-3F0048EB01F8127EA200FE14FC1400A415FEA5007E1301A2127F7E1403EA1F80000F1307
-3807C00E3803E01C3801F03838007FF090381FC0FC90C7FC1401A215F8A215F01403001F
-14E0383F800715C0140FEC1F809038003F00001C137E381F01FC380FFFF0000313C0C690
-C7FC1F347DB126>I<15E0A34A7EA24A7EA34A7EA3EC0DFE140CA2EC187FA34A6C7EA202
-707FEC601FA202E07FECC00FA2D901807F1507A249486C7EA301066D7EA2010E80010FB5
-FCA249800118C77EA24981163FA2496E7EA3496E7EA20001821607487ED81FF04A7ED8FF
-FE49B512E0A333367DB53A>65 D<B7FC16E016F83A03FC0003FE0001EC00FFEE7F80EE3F
-C0161F17E0160F17F0A617E0161F17C0EE3F80EE7F0016FEED03FC90B612F05E9039FC00
-07FCED00FEEE3F80EE1FC0EE0FE017F0160717F8160317FCA617F81607A2EE0FF0EE1FE0
-163FEE7FC00003913803FF00B75A16F816C02E337DB236>I<DA03FE130C91393FFF801C
-91B512E0903A03FE01F83C903A0FF0003C7CD91FC0EB0EFCD97F80130701FEC712034848
-1401000315005B4848157C485A173C485A171C123F5B007F160CA390C9FC481600AB7E6D
-150CA3123F7F001F161C17186C7E17386C6C15306C6C15706D15E012016C6CEC01C0D97F
-80EB0380D91FC0EB0F00D90FF0131ED903FE13FC0100B512F0023F13C0DA03FEC7FC2E37
-7CB437>I<B77E16F016FE3A01FE0001FF00009138003FC0EE0FE0707E707E707E707E17
-7E177FEF3F80A2EF1FC0A3EF0FE0A418F0AA18E0A3171F18C0A21880173F18005F17FE5F
-4C5AEE07F04C5AEE3FC000014AB45AB748C7FC16F8168034337EB23B>I<B81280A3D803
-FCC7FC0001151FEE07C01603A21601A21600A41760150CA31700A2151CA2153C15FC90B5
-FCA3EBFC00153C151CA2150CA592C8FCAB487EB512FEA32B337DB232>70
-D<B512FEA3000113006C5AB3B3A7487EB512FEA317337EB21C>73
-D<017FB5FCA39038003FE0EC1FC0B3B1127EB4FCA4EC3F805A0060140000705B6C13FE6C
-485A380F03F03803FFC0C690C7FC20357DB227>I<B500FE903807FFF8A3000190C70001
-13006C48EC00FC17F04C5A4C5A4CC7FC160E5E5E5E5E4B5A4B5A4BC8FC150E5D5D15F84A
-7E14034A7EEC0EFF5C4A6C7E4A6C7EECE01FD9FFC07F4A6C7E4A6C7E5B6F7E6F7EA26F7E
-707EA2707E707E160F83707E707EA283486C913807FF80B500FE013F13FCA336337EB23C
->I<B512FEA3D803FEC9FC6C5AB3A9EE0180A416031700A45EA25E5E5E5E16FE00031407
-B7FCA329337DB230>I<D8FFFC923801FFF86D5DA20003EFFE00D801BFED06FCA3D99F80
-140CA2D98FC01418A3D987E01430A2D983F01460A3D981F814C0A3D980FCEB0180A2027E
-EB0300A36E1306A26E6C5AA36E6C5AA36E6C5AA26E6C5AA36E6C5AA3913800FD80A2037F
-C7FCA3486C133ED80FF04B7EB5011C90387FFFF8A33D337CB246>I<D8FFFE91381FFFF8
-7F80C6030013006E143CD9DFE01418EBCFF0A2EBC7F8EBC3FCA2EBC1FEEBC0FF6E7EA26E
-7E6E7EA26E7E6E7E6E7EA26E7E6E7EA2ED7F80ED3FC0ED1FE0A2ED0FF0ED07F8A2ED03FC
-ED01FEED00FFA2EE7F98EE3FD8A2EE1FF8160F1607A216031601A2486C1400D807F81578
-B500C01438A2171835337EB23A>I<90381FE00390387FFC0748B5FC3907F01FCF390F80
-03FF48C7FC003E80814880A200788000F880A46C80A27E92C7FC127F13C0EA3FF013FF6C
-13F06C13FF6C14C06C14F0C680013F7F01037F9038003FFF140302001380157F153FED1F
-C0150F12C0A21507A37EA26CEC0F80A26C15006C5C6C143E6C147E01C05B39F1FC03F800
-E0B512E0011F138026C003FEC7FC22377CB42B>83 D<B500FE90381FFFF8A3000190C813
-006C48153C1718B3AF1738017F1530A217706D6C1460011F15E06E495A010F14036D6C49
-5A6D6C49C7FCD901FC131E6DB413FC91383FFFF0020F13C0020190C8FC35357EB23A>85
-D<12035A120E5A12181238123012701260A212E05AA412DEB4FC1380A2127FA2EA3F0012
-1E09177BB315>96 D<EB7F803803FFF0380F80FC381C003E003F133F6D6C7E6E7EA26E7E
-EA1F00C7FCA4EB01FF131FEBFF873803FC07EA0FF0EA1FC0EA3F80127F13004815C05AA3
-140FA26C131F6C133B3A3F8071F180391FC1E1FF2607FFC013003900FE003C22237DA126
->I<EA03F012FFA312071203AEEC3F80ECFFE09038F3C0F89038F7007E01FE7F49EB1F80
-49EB0FC05BED07E016F0A2150316F8AA16F0150716E0A2ED0FC07F6DEB1F8001ECEB3F00
-01CF137C90388381F8903801FFE0C76CC7FC25357EB32B>I<EB07F8EB3FFF9038FC07C0
-3901F000E03903E003F03807C007120FEA1F80123F90380003E04890C7FCA2127E12FEAA
-127FA26C14187F001F14386D1330000F14706C6C13E03903F001C03900FC0F8090383FFE
-00EB07F01D237EA122>I<153FEC0FFFA3EC007F81AEEB07F0EB3FFCEBFC0F3901F003BF
-3907E001FF48487E48487F8148C7FCA25A127E12FEAA127E127FA27E6C6C5BA26C6C5B6C
-6C4813803A03F007BFFC3900F81E3FEB3FFCD90FE0130026357DB32B>I<EB0FE0EB7FFC
-EBF83F3903F00F80D807E013C0390FC007E0381F800315F0EA3F0014014814F8127EA212
-FEA2B6FCA248C8FCA5127E127FA26C1418A26C6C1338000F14306D13706C6C13E03901F0
-03C03900FC0F00EB3FFEEB07F01D237EA122>I<EB01FCEB07FF90381F078090383E0FC0
-EB7C1F13FCEA01F8A20003EB070049C7FCACB512F0A3D803F0C7FCB3A7487E387FFFE0A3
-1A357FB417>I<151F90391FC07F809039FFF8E3C03901F07FC73907E03F033A0FC01F83
-809039800F8000001F80EB00074880A66C5CEB800F000F5CEBC01F6C6C48C7FCEBF07C38
-0EFFF8380C1FC0001CC9FCA3121EA2121F380FFFFEECFFC06C14F06C14FC4880381F0001
-003EEB007F4880ED1F8048140FA56C141F007C15006C143E6C5C390FC001F83903F007E0
-C6B51280D91FFCC7FC22337EA126>I<EA03F012FFA312071203AEEC1FC0EC7FF09038F1
-E0FC9038F3807C9038F7007E13FE497FA25BA25BB3486CEB7F80B538C7FFFCA326347EB3
-2B>I<EA0780EA0FC0EA1FE0A4EA0FC0EA0780C7FCAAEA07E012FFA3120F1207B3A6EA0F
-F0B5FCA310337EB215>I<EA07E012FFA3120F1207B3B3A7EA0FF0B5FCA310347EB315>
-108 D<2703F01FE013FF00FF90267FF80313C0903BF1E07C0F03E0903BF3803E1C01F028
-07F7003F387FD803FE1470496D486C7EA2495CA2495CB3486C496C487EB53BC7FFFE3FFF
-F0A33C217EA041>I<3903F01FC000FFEB7FF09038F1E0FC9038F3807C3907F7007EEA03
-FE497FA25BA25BB3486CEB7F80B538C7FFFCA326217EA02B>I<EB07F0EB3FFE9038FC1F
-803901F007C03903C001E000078048486C7E48C7127CA248147E003E143E007E143FA300
-FE1580A8007E1500A36C147EA26C147C6D13FC6C6C485A00075C3903F007E03900FC1F80
-D93FFEC7FCEB07F021237EA126>I<3903F03F8000FFEBFFE09038F3C0F89038F7007ED8
-07FE7F6C48EB1F804914C049130F16E0ED07F0A3ED03F8A9150716F0A216E0150F16C06D
-131F6DEB3F80160001FF13FC9038F381F89038F1FFE0D9F07FC7FC91C8FCAA487EB512C0
-A325307EA02B>I<3803E07C38FFE1FF9038E38F809038E71FC0EA07EEEA03ECA29038FC
-0F8049C7FCA35BB2487EB512E0A31A217FA01E>114 D<EBFF06000713CE381F00FE003C
-133E48131E140E5A1406A27EA200FE90C7FC6C7EEA7FFC383FFFC014F0000F7F6C7FC67F
-EB0FFF1300EC3F8000C0131F140F6C1307A37E15006C5B6C130E6C5B38F7807838E1FFE0
-38C07F8019237EA11E>I<1330A51370A313F0A21201A212031207381FFFFEB5FCA23803
-F000AF1403A814073801F806A23800FC0EEB7E1CEB1FF8EB07E0182F7FAD1E>I<D803F0
-133F00FFEB0FFFA30007EB007F000380B35DA35D12016D4813800000903803BFFC90387E
-073FEB1FFED907F8130026227EA02B>I<B5EBFFF0A3D80FF0EB3F800007EC1F00000314
-0E150C6D131C00011418A26C6C5BA26D1370017E1360137F6D5BA290381F8180A214C301
-0F90C7FCA2EB07E6A214FE6D5AA26D5AA36D5AA2146024217E9F29>I<B53A1FFF81FFF0
-A33C07F801FC003F8001F049EB1E0000030100141C816C6C017C1318A26D017E13380000
-02FE1330A290267E01FF5B159F168090263F030F5BA216C0903A1F8607C180A202C613E3
-90260FCC0390C7FCA2D907FC13F6ECF80116FE6D486C5AA36D481378A36D48133034217F
-9F37>I<3A7FFF807FF8A33A07F8001FC00003EC0F800001EC070015066C6C5BA26D131C
-017E1318A26D5BA2EC8070011F1360ECC0E0010F5BA2903807E180A214F3010390C7FC14
-FBEB01FEA26D5AA31478A21430A25CA214E05CA2495A1278D8FC03C8FCA21306130EEA70
-1CEA7838EA1FF0EA0FC025307F9F29>121 D<003FB512F0A2EB000F003C14E00038EB1F
-C00030EB3F800070137F1500006013FE495A13035CC6485A495AA2495A495A49C7FC1530
-13FE485A12035B48481370485A001F14604913E0485A387F000348130F90B5FCA21C207E
-9F22>I E
-%EndDVIPSBitmapFont
-%DVIPSBitmapFont: Fe cmb10 10.95 2
-/Fe 2 109 df<EB0FFE90387FFFC048B512F04814FC3907FC0FFE48486C7E6D6C7F486C
-7E82A26E7FA36C5A6C5AEA01E0C8FC5C49B5FC131F90B6FC000313F84813C0481300EA1F
-FC485A127F5B12FF5BA45CA26C6C5A16F83B3FF807BFFF80391FFC1F3F390FFFFE1F6C49
-7E0001EBF80326003FE0C8FC292B7EA92C>97 D<13FFB5FCA512077EB3B3AFB512FCA516
-3F7EBE19>108 D E
-%EndDVIPSBitmapFont
-%DVIPSBitmapFont: Ff cmss10 10.95 2
-/Ff 2 42 df<14FCEB01F8EB03F0EB07E0EB0FC0131F1480EB3F005B137E5B12015B1203
-A2485AA25B120FA25B121FA25B123FA448C7FCA712FEB3A2127FA76C7EA4121F7FA2120F
-7FA212077FA26C7EA212017F1200137E137F7FEB1F8014C0130FEB07E0EB03F0EB01F8EB
-00FC165A79C323>40 D<12FC127E7E6C7E6C7E7F12076C7E7F12016C7E7F137E137FA2EB
-3F80A2131F14C0A2130F14E0A2130714F0A4EB03F8A7EB01FCB3A2EB03F8A7EB07F0A414
-E0130FA214C0131FA21480133FA2EB7F00A2137E13FE5B485A12035B485A120F5B485A48
-C7FC127E5A165A7BC323>I E
-%EndDVIPSBitmapFont
-%DVIPSBitmapFont: Fg cmbx10 12 11
-/Fg 11 120 df<903801FFF8011FEBFF80017F14E090B612F8489038807FFC3A03FE001F
-FE486CEB07FF486E7F0280806F7FA36F7F6C90C7FCA26C5AEA00F890C8FCA2150F021FB5
-FC0103B6FC131F017F13C03901FFFC004813E0000F13804890C7FC485A5B485AA2485AA4
-5DA26C6C5BED07BF6C6C010F13FC6CB490391F3FFFE06C9026C0FE1F13F06CEBFFFC6CEC
-F007C66CD9E00113E0010790C9FC342F7DAD38>97 D<EFFF804BB5FCA5ED000782B1EC1F
-FC49B51283010F14E3013F14F390267FFC07B5FC9038FFF0004801C0133F48497F4890C7
-7E484880121F5B123FA2127F5BA312FFAB127FA36C7EA2121F7F000F5D6C6C5C5E6C6D90
-B512C06CD9E00114FF39007FF80F6DB512E7010F14C7010314079026003FF0EBFC003846
-7CC440>100 D<EC1FFE49B512C0010714F0011F14FC90397FFC0FFE903AFFE003FF8048
-49C613C0485B4890C7EA7FE048ED3FF0485AEE1FF8485AA2007F150F4915FCA212FFA390
-B7FCA317F801F8C9FCA5127FA27FA2003F1638177C6C6C15FCA26C6CEC01F86C6D13036C
-ED07F06C6DEB0FE06C01F0EB3FC0903A3FFE01FF806DB5EAFE0001075C010014F0020F90
-C7FC2E2F7DAD35>I<EB7FC0B5FCA512037EB1923803FF80031F13F0037F7F92B57E9139
-C1FC1FFE9139C3E00FFF9126C7C0077FECCF0002DE7F02FC81A25C5CA35CB3A7B600C1B6
-1280A539457CC440>104 D<13FCEA03FF4813804813C0A24813E0A66C13C0A26C13806C
-1300EA00FC90C7FCA9EB7FC0EA7FFFA512037EB3AFB6FCA518467CC520>I<903A7FC003
-FF80B5011F13F0037F7F92B57E9139C1FC1FFE9139C3E00FFF00039026C7C0077F6CEBCF
-0002DE7F02FC81A25C5CA35CB3A7B600C1B61280A5392D7CAC40>110
-D<EC1FFE49B512E0010714F8011F14FE903A7FF807FF809026FFE0017F48903980007FE0
-4890C76C7E48486E7E000F8249140F001F82A2003F824980007F1780A400FF17C0AA007F
-1780A46C6C4A1300A2001F5EA26C6C4A5A00075E6D143F6C6D495AC69039E001FFC09026
-7FF8075B6DB6C7FC010F14FC010114E09026001FFEC8FC322F7DAD39>I<90397F803FC0
-B5EBFFF0028313F8028713FC91388FE7FE91389F8FFF0003EB9E0F6C13BCA214F8A29138
-F007FEED03FC9138E001F892C7FCA35CB3A5B612C0A5282D7DAC2F>114
-D<90391FFE078090B512DF000314FF5A380FF803381FE000D83F80133F127F90C7121FA2
-48140FA27FA201E090C7FC13F8EBFFC06C13FEECFFC06C14F015FC6C806C806C15800001
-15C07E011F14E01301D9000713F014000078147F00F8143F151F6C140FA37E6C15E0151F
-6D14C06D133F01F0EB7F809039FC03FF0090B55A00FC5CD8F83F13F0D8F00790C7FC242F
-7CAD2D>I<EB01F0A51303A41307A2130FA2131FA2133F137F13FF1203000F90B512C0B7
-FCA4C601F0C7FCB3A3ED01F0AA017FEB03E014F81507D93FFC13C090391FFE1F806DB512
-006D5B01015B9038003FF024407EBE2D>I<B5D8FE1FB539801FFFF0A500039027C0007F
-F0C7EAFE00043F157C6E6E14FC6C031F5D6E6E13016C61836E013F1403017F606E496C13
-07013F606EED800F011F91B55C16F9DAFF01ECC01F6D02F092C7FC03816E5A6D0183153E
-EEE07F03C7ECF07E6DDAC03F137C03E7ECF8FC6D01EF5DEE801F03FF14FD6DDA000F5B18
-FF6E486D5BA36E486D5BA26E486D5BA2020F93C8FC4B7FA26E48147E6E48143C4C2C7DAB
-53>119 D E
-%EndDVIPSBitmapFont
-%DVIPSBitmapFont: Fh cmtt10 12 8
-/Fh 8 118 df<ED7FFC4B7EA4157F1500ABECFF80010313F0010F13F8013F13FE4913FF
-48B6FC4813C09038FE003FD807F8130F48481307484813035B003F14015B007F140090C8
-FCA25A5AA97E6C1401A27F003F14037F001F14077F6C6C130F6D131F6C6C137F2603FF81
-B512FC6C90B612FE6C5C6D5B011F13F001079038E07FFC010090C8FC2F3E7DBC34>100
-D<ECFFC0010313F0010F13FC013F13FF49148090B612C04801C013E03A03FE001FF04848
-EB0FF8D80FF013074848EB03FC1501485A49EB00FE127F90C8FC16FF167F5A5AB8FCA516
-FE48C9FC7E7EA27F123F6D143E001F157F7F6C7E6D14FF6C6CEB01FE6CB413076C9038E0
-3FFC6C90B512F86D14F0011F14E06D14800101EBFE009038003FF0282E7BAC34>I<49B4
-EB1FE001079038C0FFF8011F01F313FC017F90B512FE90B7FC5A48018313F1903AFC007F
-80FC484890383FC07849011F130048486D7EA2001F81491307A66D130F000F5DA26C6C49
-5A6D133F6C6C495A9038FF83FF91B5C7FC485C5D4814F001C713C001C190C8FC01C0C9FC
-A47F6C7E90B512FE6CECFFE06C15F8000715FE48814816809026F0000313C0D83FC09038
-003FE090C8120F48ED07F0007E150300FE16F8481501A56C1503007E16F0007F15076C6C
-EC0FE001E0143FD81FF8ECFFC0270FFF800F13806C90B612006C5DC615F8013F14E0010F
-1480010001F8C7FC2F447DAB34>103 D<14F0497E497E497EA46D5A6D5A6D5A91C8FCA9
-383FFFFC487FA47EC7FCB3AD003FB612F04815F8B7FCA27E6C15F0253E79BD34>105
-D<15FF267FFC0713E026FFFE1F7F027F7F91B57E90B67E6C1481C69038FC00FF02F07F4A
-804A133F5CA291C7FCA35BB3A4277FFFFC0FB5FCB56C481480A46C496C1400312C7FAB34
->110 D<90390FFF078090B5EACFC0000314FF5A5A5A383FF803397F80007F90C7123F12
-FE48141FA47E007FEC0F8001C090C7FCEA3FF8381FFFE06C13FF6C14E06C14F8C614FE01
-1F7FD9007F1380020313C09138003FE0ED0FF0003C1407007EEC03F800FE1401A27EA36D
-13036D14F06D13076DEB1FE001FE13FF90B612C016801600D8FC7F13FC6D13F0D8780713
-80252E79AC34>115 D<EB01E0497E1307AA003FB612FE4881B8FCA36C5D260007F0C8FC
-B3A3EE0F80EE1FC0A66EEB3F800103147F6E13FF902601FF031300EDFFFE6D5C6E5B6E5B
-020F13C0020190C7FC2A387EB634>I<D87FFCEB1FFF486C497FA4007F800000EC003FB3
-A7167FA216FFA26D5B6D1307DAE01F13FF6DB712807F7F6D143F0101D9FC1F1300902600
-7FF0C8FC312C7FAA34>I E
-%EndDVIPSBitmapFont
-%DVIPSBitmapFont: Fi cmtt12 13.14 9
-/Fi 9 118 df<EC3FFF49B512E0010714F8011F8049805B90B7FC48EBE001481300485A
-EA0FF8496D5A4848147C93C7FC485A5B127F90CAFCA35A5AA97E7EA27F123F6D141F6DEC
-3F80121F6C7E01FC147F6C6CECFF006C6C6C5A6C9038F00FFE91B55A6C6C5C6D5C6D5C01
-071480010149C7FC9038003FF0293278B038>99 D<ED1FFF4B7F5DA38181ED003FACEC7F
-80903803FFF0010F13FC013F13FF4914BF90B7FC5A48EBC07F48EB000FD80FFC7F497F48
-487F497F485A167F485A163F90C8FCA25A5AA97E6C157FA36D14FF123F6D5B6C7E5D6C6C
-5B01FC5B6C6C133F2603FFC0B6FC6C90B712806C03BF13C06D143F6D13FC6D01F8148001
-07D9E01F1300010090C9FC32447CC238>I<EC3FE0903801FFFC010713FF011F14C04980
-498090B67E489038E03FFC4890380007FE48481301D80FF86D7E49804848158049143F00
-3F16C049141F127F90C8FC17E0160F5A90B7FCA617C048CAFC7E7EA27FA26C7EEE07C06C
-6CEC0FE07F6C7ED807FE141F6DEC3FC06C01C013FF6CD9FC0713806C90B612006D5C6D5C
-010F5C010314E001001480DA1FFCC7FC2B327AB038>I<14F0497E497E497EA46D5A6D5A
-6D5A91C8FCAB383FFFFC487FB5FCA37E7EC7FCB3AF007FB612F0B712F816FCA316F86C15
-F0264476C338>105 D<ED7FC03A3FFE01FFF8267FFF0713FEB5001F7F4A805C6C90B67E
-6CECC07F3B007FFE001FE002F8130F4A805C16075C5CA391C7FCB3A6273FFFFE03B512E0
-486D4814F0B6008F14F8A36C020714F06C496C14E035307FAF38>110
-D<EEFFC0277FFFC00713F8B5D8E01F13FC037F13FE92B5FC02E114FF14E36C01E713813A
-000FEFFC019139FFF000FE4B137C0380130092C8FCA25C5CA25CA25CA45CB2007FB67EB7
-7E82A35E6C5D30307CAF38>114 D<903907FF80F0017FEBF1F848B512FD000714FF5A5A
-5AEBFC00D87FE0131F0180130F48C71207481403A5007FEC01F001C090C7FCEA3FF013FE
-381FFFF86CEBFFC0000314F8C614FF013F1480010714E0D9003F13F0020013F8ED0FFC15
-03003CEC01FE007E140000FE15FF167F7EA37F6D14FF16FE01F013036DEB07FC01FF137F
-91B512F816F016E04815C0D8FC3F1400010F13FCD8780113E0283278B038>I<EB01E049
-7E1307AB003FB712804816C0B8FCA46C1680260007F0C8FCB3A4EE03E0EE07F0A66E130F
-17E06D6C131F6EEB3FC0903901FF81FF92B512806D15006E5B6E5B6E13F002075B020190
-C7FC2C3D7DBB38>I<D83FFE903803FFE0486C497FB55BA36C806C80C66CEB0007B3A916
-0FA2161F163F6E137F6D6C13FFDAF007EBFFE091B712F06D16F87F6D14E76D02C713F001
-00020313E0DA3FF8C8FC35307FAE38>I E
-%EndDVIPSBitmapFont
-%DVIPSBitmapFont: Fj cmbx12 13.14 37
-/Fj 37 122 df<B7FCAA200A7F9C29>45 D<EA07E0EA1FF8EA3FFCEA7FFEA2B5FCA6EA7F
-FEA2EA3FFCEA1FF8EA07E01010778F22>I<15F014011407141F147FEB03FF137FB6FCA3
-13FC1380C7FCB3B3B2007FB712E0A52B4777C63D>49 D<ECFFF80107EBFF80013F14F090
-B612FC4881480101EBFF802707F8003F13C0D80FE0010F13E0D81F806D13F0003F80D87F
-F06D13F86D15FC6D7F00FF16FE6D147FA217FF82A36C5A6C5A6C5A6C5AC95A17FEA3EEFF
-FCA24B13F817F05D17E04B13C017804B13004B5A4B5A5EED7FE04B5A4A5B4A90C7FCEC07
-FC4A5A4A5A4B131FEC3F804AC7FC14FE4948143E495AEB07E0495A4948147E49C8FC017E
-15FE90B7FC4816FC5A5A5A5A5A5AB8FC17F8A430477AC63D>I<EC3FFE0103B512E0010F
-14FC013F14FF90267FE01F7F9026FF000713E0D801FC6D7FD803F07F486C6D7FD80FFE81
-7F486D80167FA3805C16FF7E91C75B6C5A6C5AD80020495B90C75C5D5F4B5B5F031F90C7
-FCED3FFC4AB45A49B512E0168016E016FC90C7EA3FFF030713C06F7F6F7F6F7F83707E83
-A2701380A318C0EA07E0EA1FF8487E487EA2B5FCA31880A25E491600127F494A5A6C485D
-01E05B001F4A5BD80FFC495B2707FFC03F13C06C90B65AC64BC7FC013F14F8010714E090
-26007FFEC8FC32487BC63D>I<EE07E0160FA2161F163F167F16FFA25D5D5DA25D5D5DA2
-157D15FDEC01F915F1EC03E11407EC0FC1EC1F811501143F147E14FC14F8EB01F01303EB
-07E014C0EB0F80131FEB3F00133E5B13FC485A485A5B1207485A485A90C7FC123E127E5A
-B912FCA5C80003EBE000AD023FB612FCA536487DC73D>I<EE01F8A24C7EA34C7EA24C7E
-A34C7FA24C7FA34C7FA293B57EA34B8016F303038016E316E103078016C0030F805E8303
-1F814C7E4B81153E83037E81037C7F03FC815D830201824B7F0203825D830207824B7F02
-0F825D84021F8392B8FC4A83A34A83027CC8120F02FC835C840101844A810103845C8401
-07844A81010F845C85011F85496C82B600C091B712F0A5544D7CCC5D>65
-D<93261FFF80EB01C00307B500F81303033F02FE13074AB7EA800F0207EEE01F021F903A
-FE007FF83F027F01E0903807FC7F91B5C73801FEFF010301FCEC007F4901F0814901C015
-0F4949814990C97E494882495A48498248197F5C48193F5C48191F5C48190FA2485BA21A
-075AA391CDFCA2B5FCAD7EA280F207C0A27EA36C7F1A0F6C1A80806C191F6E18006C6180
-6C197E6C6D177C6D6C17FC6D6C4C5A6D6D4B5A6D6D4B5A6D01F0ED1FC06D01FC4B5A0100
-01FF03FFC7FC6E01E0EB07FE021F01FEEB3FFC020790B612F0020116C0DA003F92C8FC03
-0714F8DB001F13804A4D79CB59>67 D<B912F0F0FF8019F019FC19FFD8001F9026800001
-14C0DD001F7F060713F806017F726C7E737E737F737F737F8587737F8587A2747EA38786
-A21C80A51CC0A586A462A51C80A51C00A26263A2631AFF636163614F5B634F5B073F90C7
-FC4F5A4F5A06035B061F5B4DB512C0BBC8FC19FC19F0198006F0C9FC524B7CCA5E>I<BB
-12C0A486D8000F01E0C77E18071801F0007F193F191F190F1907861903A31901A3EF0F80
-A2737EA497C7FC171FA2173F177F17FF160392B6FCA5EDE0031600177F173F171FA2050F
-EC0F80A3F21F00A494C8FC621A3EA21A7EA31AFE6219011903A21907190FF13FF819FF18
-03183FBBFCA262A3494A7CC951>I<BBFCA41A80D8001F01C0C7FC181F18038484197F19
-3F191F1AC0190FA31907A4171FF103E0A496C7FCA25FA25F5F5E160792B6FCA5EDC00716
-01828383A283A794C9FCB1B8FCA5434A7CC94D>I<93261FFF80EB01C00307B500F81303
-033F02FE13074AB7EA800F0207EEE01F021F903AFE007FF83F027F01E0903807FC7F91B5
-C73801FEFF010301FCEC007F4901F0814901C0150F4949814990C97E494882495A484982
-48197F5C48193F5C48191F5C48190FA2485BA21A075AA391CEFCA2B5FCAD7E050FB712C0
-80A37E94C7001FEBC000807EA27E807E807E806C7F7E6D7E6D7E6D7F6D01E05D6D6D5D6D
-13FC010001FF4AB5FC6E01E0EB07F9021F01FFEB3FF0020791B5EAE07F0201EEC01FDA00
-3FED0007030702F81301DB001F018090C8FC524D79CB60>I<B712FEA5D8000FEBE000B3
-B3B3ABB712FEA5274B7DCA2E>73 D<B700F8027FB512F0A5D8001F01C0C9EBC00074C7FC
-F101FE4F5A4F5AF10FE04F5A4F5A4FC8FCF001FE4E5A4E5AF00FE04E5A4E5A4EC9FCEF01
-FE4D5A4D5AEF0FE04D5A4D5A4DCAFCEE01FE16034C7E4C7F5E4C7F93B57E03C18015C303
-C780DBCFE77FDBDFC37FEDFF8104017F4B6C804B7F4B6D7F03E0814B6D7F8385717F717F
-83857180727F8486727F8486727F727F84867280737F8587737F87B700F8010FB612FCA5
-564B7CCA60>75 D<B600E092B612FC8181A281D8001F6D9239001FE0006F705A82A28202
-BF7F029F7FA2028F7F02877F02837F8214810280806F7F6F7F83816F7F6F7F6F7F83816F
-80707F707F8482707F707F707FA2707F7014807113C019E0837113F07113F87113FC19FE
-837113FF71148F7213CF1AEF847213FF8484A284848485A2858585A285858585497EB600
-F8167F1A3F1A1F1A0FA2564B7BCA60>78 D<B700F8023FB512F8A5D8001F01C0C9380FE0
-00745AB3B3AD6D180F63811A1F6D96C7FC626D7F1A7E6D7F6D606E6C4B5A6E6CED07F06E
-6C4B5A6E01C0EC3FC06E01F049B45A020101FF011F90C8FC6E91B55A033F15F8030715E0
-030092C9FC040713F0554C7CCA5E>85 D<B7D8E007B791B612C0A5D8003F0180C7000101
-FCC9387F80006F7070C7FC6D70183EA26F70167E6D71177C876F1BFC6D715F6F831E016D
-656F4B6D14036D65876F92B515076D656F4A8007F3160F6E647001036E141F6E04E194C8
-FCA27001076E5C6E04C0163E8770010F177E6E4C6C157C70011F814F6C15FC6E637049ED
-C0016E033E6D5D1CE070017E16036E037C6D5D7001FC15F04E6D14076E63DCFF01EEF80F
-6F4A6D5DA20583EEFC1F6F4A6D92C9FC1CFE05C75F6F4A6D143E05EF16FF4E6E137E6F19
-7C05FF17FC6F91C86C5BA36F496F5BA24D816F61A26F496F5BA370486F5BA370486F90CA
-FCA24D81041F5FA27048167C7A4C7ECA7F>87 D<ECFFFC010FEBFFC0017F14F090B612FC
-489038803FFF2703FC00077F486C6D7F486C6D7F6E7E83707EA3707E6C90C7FC6C5A6C5A
-C9FCA4ED1FFF021FB5FC49B6FC130F013FEBC03F9038FFFE00000313F04813C04890C7FC
-485A485AA2485AA2485AA4167FA26D14FF007F15EF6D01017F6C6C903907CFFF806C6CD9
-0F8F13FE6C9038E07F076C9038FFFE0300014A7ED8003F9038F0007F0103018090C7FC37
-337CB13C>97 D<91380FFF8091B512F8010314FF010F158090263FFE0013C0D97FF8EB1F
-E0D9FFE0EB3FF04849EB7FF8484913FF4890C7FC5A5B121F5B003FED7FF0EE3FE0007FED
-1FC093C7FC5BA212FFAC127F7FA2123FA26D153E121F6D157E6C167C6C6D14FC6C16F86C
-6D13036C01F0EB07F0D97FFCEB1FE06DB4EBFFC0010F90B5120001035C010014F0020F13
-802F337CB137>99 D<EF1FF0EE3FFFA51600177FB3A2EC0FFF91B512E0010314F8010F14
-FE013FEB01FF903A7FF8003FFFD9FFE0130F48497F48497F4890C77E4881485AA2485AA3
-127F5BA212FFAC127FA37F123FA2121F7F000F5D6C6C5C5E6C6D5B6C01E0497F6C6D017F
-EBFFE090393FFE03FE6DB512F801075C010114C09027001FFC00EBC0003B4D7CCB44>I<
-EC0FFF91B512F0010314FC010F14FF90263FFE077F90267FF0007F4948EB3FE04801806D
-7E48824890C76C7E4848140783485A003F6F7EA3485A701380A312FFA290B8FCA401F8CA
-FCA5127FA27FA2123FA26C6CED0F80A2000F161F6C6C16006E5C6C6D147E6C6D5C6C6D49
-5AD97FFCEB07F0903A1FFF803FE06D90B55A010392C7FCD9007F13FC020713C031337DB1
-38>I<ED7FE0913807FFFC021F7F027F7F902601FFE0138049018113C0902607FE0113E0
-49485A14F8131FEB3FF0A26F13C0EB7FE06F1380EE3E0093C7FCADB77EA526007FF0C8FC
-B3B3A2003FB512F8A52B4D7DCC26>I<DA7FFCEB0FF00103B538807FF8011F9138F1FFFC
-4991B512FE90267FF01F13F32701FFC007138348EB0001A248486DEBC1FC000FEEE0F849
-027F1300A2001F82A8000F5EA26D14FF00075E6C6C495BA26CD9C00790C7FC6C9038F01F
-FC4890B55A5ED803C314809026C07FFCC8FC000790CAFCA47FA27F13FC90B612FCEEFFC0
-6C16F817FE6C8218806C17C06D16E00003B812F0120FD81FFCC7000F13F8D83FF0140049
-153F4848ED1FFC00FF160F491507A56D150F007F17F86D151F6C6CED3FF06C6CED7FE0D8
-0FFE913801FFC06C6C6C010713806C01F8017F1300C690B612FC013F15F001071580D900
-3F01F0C7FC37487DB03D>I<EB7FC0B5FCA512037EB3A2923801FFC0030F13F8033F13FE
-4B7F9126C1FE077F9126C3F0037F9138C7C001DACF8080150002DE7F02FC81A25CA25CA3
-5CB3A9B6D8C07FEBFFE0A53B4C7BCB44>I<13FCEA03FF487F487FA2487FA66C5BA26C5B
-6C90C7FCEA00FC90C8FCACEB7FC0B5FCA512037EB3B3B61280A5194D7BCC22>I<EB7FC0
-B5FCA512037EB3B3B3AAB61280A5194C7BCB22>108 D<90287FC001FFE0EC7FF8B5010F
-01FC0103B5FC033F6D010F804B6D6C4814E0DBFE079026C03F817F9126C3F0019138FC00
-7F0003D9C7E0DAE1F8806CDA8000D9F1E06D7E02CFC7EBF3C002DE91267FF780131F02FC
-03FFC77FA24A5DA24A5DA34A5DB3A9B6D8C03FB5D8F00FB512FCA55E317BB067>I<903A
-7FC001FFC0B5010F13F8033F13FE4B7F9126C1FE077F9126C3F0037F00039038C7C0016C
-D9CF8080150002DE7F02FC81A25CA25CA35CB3A9B6D8C07FEBFFE0A53B317BB044>I<91
-3807FF80027F13F80103B6FC010F15C090261FFE017F903A7FF0003FF8D9FFC0EB0FFC48
-496D7E4890C76C7E4817804980000F17C048486E13E0A2003F17F049157FA2007F17F8A4
-00FF17FCAB007F17F8A36C6CEDFFF0A3001F17E06D5C000F17C06C6C4A13806C17006C6D
-495A6C01E0EB1FFC6D6C495A903A3FFE01FFF0010FB612C0010392C7FCD9007F13F80207
-138036337DB13D>I<90397FC00FFFB5017F13F002C1B512FC02C714FF9126CFF80F7F91
-26FFC00313E0000391C77F6C01FC6E7E4A6E7E5C4A6E7E848319808319C0A47113E0AC4D
-13C0A319805FA219004D5A804D5A6E4A5A6E4A5A02FF495BDB80075B9126EFF01F5B02E7
-B548C7FC02E314F802E014E0DB0FFEC8FC92CAFCAFB612C0A53B467CB044>I<9039FF80
-3FE0B5EBFFF8028113FE02837FDA87E11380EC8F830003D99F0713C06C139E14BCA214F8
-A24A6C13806F13004A6C5A93C7FCA45CB3A7B612E0A52A317CB032>114
-D<90390FFF8070017FEBF1F048B6FC1207380FFC01391FE0003F4848130F491307127F90
-C712035A1501A27FA213E06D90C7FC13FE387FFFF0ECFFC015F06C14FC6C14FF6C15806C
-15C06C15E0C615F0013F14F8010714FCEB007F14019138003FFE150F0078140700F81403
-A26C1401A37E16FC6C14036D14F87F6DEB07F001F8EB1FE001FFEBFFC091B51280D8FC7F
-1400D8F81F13FCD8E00313C027337CB130>I<14F8A61301A41303A21307A2130FA2131F
-133F137F13FF1203000F90B512F0B7FCA426007FF8C7FCB3A6167CAA013F14F880A29039
-1FFE01F0010F1303903907FF87E06DEBFFC06D14806D6C1300EC0FFC26467EC430>I<D9
-7FE0EC3FF0B5EC7FFFA5000315016C81B3AB5EA25EA25E7E6EEB0F7F017F021E7F6E017C
-EBFFE090393FFE01F86DB512F0010714E0010114C09027003FFE00EBC0003B327BB044>
-I<B66C90B512C0A5000101E0C73807F0006E5D6C5F6E140F017F5E80171F013F93C7FC6E
-5C011F153E6E147E6D157C6F13FC6D5DEDC001A26D01E05B16036D5DEDF0076D5DEDF80F
-027F5CEDFC1F023F91C8FC15FE5E021F133EEDFF7E6E137C16FC6E5BA26E5BA36E5BA26E
-5BA26F5AA26FC9FCA23A317DAF41>I<B60081B500FC90387FFFF0A500019026E0000301
-80903803FC006E715A6C6F5E6E6F1303017F61A26E496D1307013F616E6F130F011F4A5E
-A26E6F131F6D4A93C7FCDD9FFC5B6DD9801F153E170F03C06E137E6D023F157C93383E07
-FFDBE07E15FC6DDA7C035C03F015816D02FC5D4C7E03F815C3DA7FF95E9226FDF00013E7
-DA3FFF5E4C137F19FF6E5F4C7FA26E496D90C8FCA26E5E93C7120FA26E486E5AA202015E
-4B1403A26E486E5A54317EAF59>I<007FB500C090387FFFE0A5C601F0C73803F8006E5D
-017F5E6E1407013F5E6E140F011F5E6E141FA26D6D91C7FC5F6D153E6F137E6D157C6F13
-FC6D5DEDF0016D5DEDF803027F5C15FC1607DA3FFE5B160F021F5CEDFF1F6E91C8FC16BF
-6E13BE16FE6E5BA36E5BA26E5BA26F5AA26F5AA26F5AA393C9FC5D153E157E157CD81F80
-13FC486C5B387FE001D8FFF05B14035D14074A5A49485A007F49CAFCEBC07E383F81FC6C
-B45A6C5B6C13C0C648CBFC3B467EAF41>121 D E
-%EndDVIPSBitmapFont
-%DVIPSBitmapFont: Fk cmtt12 14.4 5
-/Fk 5 115 df<EC1FF891B57E010314E0010F14F84980017F8090B7FC48D9F80F1380DA
-C00113C048496C13E04848C7123F4848EC1FF049140F484815F81607484815FCA2484814
-03A24915FEA200FF1501A290B7FCA517FCA290CAFC7FA2127FA27F123F6D15FCA26C6CEC
-01FE7F6C6C14036C6C14076DEC0FFC6C6D131F6C01E0EB7FF86C9039FC03FFF06DB612E0
-6D15C06D158001071500010114FC6D6C13E0020790C7FC2F3679B43E>101
-D<923801FFC0030F13F0033F13FC92B512FE5C4A14FF5C4A1303EC1FF89238F001FEEC3F
-E09238C000FC027F14005DAA003FB712F05AB812F8A36C16F0A2C7D87F80C7FCB3B3003F
-B7FCA2481680A36C1600A2304A7CC93E>I<DA0FF0EB1FF0DA7FFEEBFFFC49B5008313FE
-010714EF4991B6FC5B5B90267FF81F13F19026FFE007EB00FEDA8001147C4890C7EB8000
-49147F00038249143FA200078249141FA66D143F00035EA26D147F00015E6D14FF6C6D48
-90C7FCECE00790397FF81FFE90B65A5E485D5E01F914802703F87FFEC8FCEC0FF091CAFC
-A46C7EA213FF6C90B512F8EEFFC06D15F090B712FC4816FF4817804817C04848C7000F13
-E0D81FF09138007FF04848ED1FF84915074848ED03FC90C91201A24817FE481600A56C16
-01A26C6CED03FC6D15076C6CED0FF8D81FF8ED3FF001FE15FF6C6C6C010313E06C01FC01
-7F13C06C90B71280C6EEFE006D5D011F15F0010715C001004AC7FC020713C038517DB33E
->I<ED07FC3B3FFF803FFF804891B512E0B500C314F802CF8002DF806C90B7FC6CDAF80F
-1380D8003FD9C00113C092C713E04A143F4AEC1FF04A15F84A140F4AEC07FCA217034A15
-FE1701A318FF83A95F18FEA280170318FC6E140718F86E140FEF1FF06E143F6EEC7FE06E
-ECFFC0DBC0031380EDF01F92B6120002DF14FC02CF5C02C35C02C114C0DAC07F90C7FCED
-0FF892C9FCB3003FB512C04880B67EA36C5C6C5C384F7FB33E>112
-D<EE07FE263FFFF890387FFFC0484AB512E0B5D8FC0714F05D4B14F86C5C6C91387FFC0F
-D80003EBFFC002FD90380007F0DAFFFEEB03E003F890C7FC5D5DA25D5DA292C9FCA25CA4
-5CB3A3003FB612FC4881B7FCA37E6C5D35347CB33E>114 D E
-%EndDVIPSBitmapFont
-%DVIPSBitmapFont: Fl cmti10 10.95 45
-/Fl 45 123 df<D801E013F03907F803FC000F130701FC13FE001F130FA4000F13073903
-D801EC390018000CA20138131C01301318017013380160133001E01370491360000114E0
-39038001C001001380481303000EEB070048130E485B485B485B4813601F1C70BE2F>34
-D<EA01E0EA07F8120F13FC121FA4120FEA03D8EA0018A2133813301370136013E013C012
-01EA038013005A120E5A5A5A5A5A0E1C6DBE1C>39 D<387FFFFCA3B5FCA21605799521>
-45 D<120FEA3FC0127FA212FFA31380EA7F00123C0A0A77891C>I<131EEB3F80137FEBFF
-C05AA214806C13005B133C90C7FCB3120FEA3FC0127FA212FFA35B6CC7FC123C122777A6
-1C>58 D<171C173C177CA217FCA216011603A21607A24C7EA2161DA216391679167116E1
-A2ED01C1A2ED038115071601150EA2031C7FA24B7EA25D15F05D4A5AA24A5AA24AC7FC5C
-140E5C021FB6FC4A81A20270C7127FA25C13015C495AA249C8FCA2130E131E131C133C5B
-01F882487ED807FEEC01FFB500E0017FEBFF80A25C39417BC044>65
-D<9339FF8001C0030F13E0033F9038F803809239FF807E07913A03FC001F0FDA0FF0EB07
-1FDA1FC0ECBF00DA7F806DB4FC4AC77E495AD903F86E5A495A130F4948157E4948157C49
-5A13FF91C9FC4848167812035B1207491670120FA2485A95C7FC485AA3127F5BA312FF5B
-A490CCFCA2170FA2170EA2171E171C173C173817786C16706D15F04C5A003F5E6D140300
-1F4B5A6D4AC8FC000F151E6C6C5C6C6C14F86C6C495A6C6CEB07C090397FC03F8090261F
-FFFEC9FC010713F0010013803A4272BF41>67 D<49B812F8A390260003FEC7121F18074B
-14031801F000F014075DA3140F5D19E0A2141F4B1338A2EF7801023F027013C04B91C7FC
-A217F0027F5CED80011603160F91B65AA3ED001F49EC07805CA3010392C8FC5CF003804C
-13070107020E14005C93C75A180E010F161E4A151C183CA2011F5E5C60A2013F15014A4A
-5A1707017F150F4D5A4A147F01FF913807FF80B9FCA295C7FC3D3E7BBD3E>69
-D<49B812F0A390260003FEC7123F180F4B1403A2F001E014075DA3140F5D19C0A2141F5D
-1770EFF003023F02E013804B91C7FCA21601027F5CED8003A2160702FFEB1F8092B5FCA3
-49D9003FC8FC4A7F82A20103140E5CA2161E0107141C5CA293C9FC130F5CA3131F5CA313
-3F5CA2137FA25C497EB612E0A33C3E7BBD3B>I<9339FF8001C0030F13E0033F9038F803
-809239FF807E07913A03FC001F0FDA0FF0EB071FDA1FC0ECBF00DA7F806DB4FC4AC77E49
-5AD903F86E5A495A130F4948157E4948157C495A13FF91C9FC4848167812035B12074916
-70120FA2485A95C7FC485AA3127F5BA312FF5BA30303B512FC90C7FCA2DB000190C7FCA2
-5FA216035FA316076C5E7FA2003F150F6D5D121F6D141F000F153F6C6C4A5A6C6C14F76C
-6CEB01E36CB4EB07C1903A7FC03F81C090391FFFFE00010701F890C8FC010013803A4272
-BF46>I<49B648B6FC495DA2D9000390C7000313004B5D4B5DA2180714074B5DA2180F14
-0F4B5DA2181F141F4B5DA2183F143F4B5DA2187F147F4B5DA218FF91B8FC96C7FCA292C7
-12015B4A5DA2170313034A5DA2170713074A5DA2170F130F4A5DA2171F131F4A5DA2173F
-133F4A5DA2017F157FA24A5D496C4A7EB66CB67EA3483E7BBD44>I<49B612C0A25FD900
-0390C8FC5D5DA314075DA3140F5DA3141F5DA3143F5DA3147F5DA314FF92C9FCA35B5CA3
-13035C18C0EF01E0010716C05C17031880130F4A140718005F131F4A141EA2173E013F5D
-4A14FC1601017F4A5A16074A131F01FFECFFF0B8FCA25F333E7BBD39>76
-D<49B5933807FFFC496062D90003F0FC00505ADBBF805E1A771AEF1407033F923801CFE0
-A2F1039F020FEE071F020E606F6C140E1A3F021E161C021C04385BA2F1707F143C023804
-E090C7FCF001C0629126780FE0495A02705FF00700F00E0114F002E0031C5BA2F0380301
-0116704A6C6C5D18E019070103ED01C00280DA03805BA2943807000F13070200020E5C5F
-DB03F8141F495D010E4B5CA24D133F131E011CDAF9C05CEEFB80197F013C6DB4C7FC0138
-95C8FC5E01784A5C13F8486C4A5CD807FE4C7EB500F04948B512FE16E01500563E7BBD52
->I<902601FFFE020FB5FC496D5CA2D900016D010013C04AEE3F00193E70141C193CEC07
-BFDB3FE01438151F1978020F7FDA0E0F15708219F0EC1E07021C6D5CA203031401023C7F
-DA38015DA2701303EC7800027002805BA2047F130702F014C04A013F91C7FCA2715A0101
-141F4AECF00EA2040F131E010315F84A151C1607EFFC3C0107140391C7143817FE040113
-784915FF010E16708218F0131E011C6F5AA2173F133C01385E171F137813F8486C6F5AEA
-07FEB500F01407A295C8FC483E7BBD44>I<EEFFC0030713F892383F80FE9238FC003FDA
-03F0EB0F804A486D7EDA1F80804AC76C7E027E6E7E4A81494814004948811307495A4948
-157F133F5C49C9FC4917805B1201485AA212075B000F17FFA25B121F190048485DA44848
-4B5AA34D5AA25B4D5A12FF60171F60007F163F604D5AA24DC7FC5F003F15014C5A6D5D00
-1F4B5A4C5A6C6C4A5A4C5A6C6C4AC8FC000315FC6C6C495A6C6CEB07E0017FEB1F809026
-1FC07EC9FC903807FFF801001380394273BF46>I<49B77E18F018FC903B0003FE0003FE
-EF00FF4BEC7F80F03FC00207151F19E05DA2020F16F0A25DA2141FF03FE05DA2023F16C0
-187F4B1580A2027FEDFF00604B495A4D5A02FF4A5A4D5A92C7EA3FC04CB4C7FC4990B512
-FC17E04ACAFCA21303A25CA21307A25CA2130FA25CA2131FA25CA2133FA25CA2137FA25C
-497EB67EA33C3E7BBD3E>I<49B612FCEFFF8018F0903B0003FE000FF8EF03FE4BEB00FF
-8419800207ED3FC05DA219E0140F5DA3021FED7FC05DA2F0FF80143F4B15004D5A60027F
-4A5A4B495A4D5AEF3F8002FF02FEC7FC92380007F892B512E01780499038000FE04A6D7E
-707E707E0103814A130083A213075CA25E130F5C5F1603131F5CA3013F020714404A16E0
-5F017F160119C04A01031303496C1680B6D8800113079438FE0F009338007E1ECAEA3FFC
-EF07F03B407BBD42>82 D<92391FE00380ED7FFC913A01FFFE0700913907F01F8F91390F
-C007DF4AC66CB4FC023E6D5A4A130014FC495A4948147CA2495AA2010F15785CA3011F15
-70A46E91C7FCA2808014FE90380FFFE015FC6DEBFF8016E06D806D806D6C7F141F02037F
-EC003FED07FF1501A281A282A212075A167E120EA2001E15FE5EA25E003E14015E003F14
-034B5A486C5C150F6D495A6D49C8FCD8F9F0137C39F8FE01F839F03FFFF0D8E00F13C026
-C001FEC9FC314279BF33>I<48B9FCA25A903AFE001FF00101F89138E0007FD807E0163E
-49013F141E5B48C75BA2001E147FA2001C4B131C123C003814FFA2007892C7FC12704A15
-3C00F01738485CC716001403A25DA21407A25DA2140FA25DA2141FA25DA2143FA25DA214
-7FA25DA214FFA292C9FCA25BA25CA21303A25CEB0FFE003FB67E5AA2383D71BC41>I<00
-1FB500F090B512F0485DA226003FF0C7380FFC004AEC03F04A5D715A017F1503A24A5DA2
-01FF150795C7FC91C8FCA2485E170E5BA20003161E171C5BA20007163C17385BA2000F16
-7817705BA2001F16F05F5BA2003F1501A2495DA2007F1503A2495DA2160794C8FC48C8FC
-5E160E161E6C151C163C5E5E5E6C6C13014B5A001F4A5A6C6C011FC9FC6D133E6C6C13F8
-3903FC07F0C6B512C0013F90CAFCEB07F83C406FBD44>I<277FFFFE01B500FC90B512E0
-B5FCA20003902680000790C7380FFC006C90C701FCEC07F049725A04035EA26350C7FCA2
-0407150EA2040F5D1A3C041F153862163B6216734F5A6D14E303014B5A6C15C303034BC8
-FC1683DB0703140E191E030E151C61031C7F61ED380161157003F04A5A15E002014B5A15
-C0DA03804AC9FC60DA0700140E60140E605C029C5D14B8D97FF85D5C715A5C4A5DA24A92
-CAFC5F91C7FC705A137E5F137C5F137801705D53406EBD5B>87 D<010C1306011C130E01
-78133C01E01370484813E04913C0000313013907000380000EEB0700000C1306001C130E
-0018130C0038131C003013180070133800601330A200E0137000CFEB678039FFC07FE0A6
-018013C0397F003F80003CEB1E001F1C69BE2F>92 D<147E49B47E903907C1C38090391F
-80EFC090383F00FF017E137F4914804848133F485AA248481400120F5B001F5C157E485A
-A215FE007F5C90C7FCA21401485C5AA21403EDF0385AA21407EDE078020F1370127C021F
-13F0007E013F13E0003E137FECF3E1261F01E313C03A0F8781E3803A03FF00FF00D800FC
-133E252977A72E>97 D<EB1FC0EA0FFF5CA2EA003FA291C7FCA25BA2137EA213FEA25BA2
-1201A25BA21203A25B147E3907F1FF809038F783E09038EF01F013FE390FF800F8A24913
-FC49137C485A157E5B15FE123FA290C7FCA248130115FC127EA2140300FE14F85AA2EC07
-F0A215E048130F15C0141F15800078EB3F00127C147E003C5B383E01F8381E03E06C485A
-6CB4C7FCEA01F81F4076BE2A>I<EC1FC0ECFFF0903803F03C903807C01E90381F800E90
-383F000F017E133F4913FF485A485A000714FE5B000F14FC48481300A2485AA3127F90C8
-FCA35A5AA6481403007E1407150F151E003E143C15786C14F0EC03E0390F800F803903E0
-7E003801FFF838003FC0202977A72A>I<EE3F80ED1FFF1700A2ED007FA2167EA216FEA2
-5EA21501A25EA21503A25EA21507A25E147E903801FF8F903807C1CF90391F80EFC09038
-3F00FF017E137F5B48486D5A485AA2485A000F92C7FC5B001F5CA24848137EA215FE127F
-90C75AA214015A485CA2140316384814F0A21407167891380FE070127C021F13F0007E01
-3F5B003E137FECF3E1261F01E35B3A0F8781E3802703FF00FFC7FCD800FC133E294077BE
-2E>I<EC3F80903801FFE0903807E0F890381F803CEB3E0001FC131E485A485A12074848
-133E49133C121F4848137C15F8EC03F0397F000FE0ECFF809038FFFC00B512C048C8FCA4
-5AA61506150E151E007C143C15786C14F0EC01E06CEB07C0390F801F003807C0FC3801FF
-F038007F801F2976A72A>I<167C4BB4FC923807C78092380F83C0ED1F87161FED3F3FA2
-157EA21780EE0E004BC7FCA414015DA414035DA30103B512F8A390260007E0C7FCA3140F
-5DA5141F5DA4143F92C8FCA45C147EA414FE5CA413015CA4495AA4495AA4495A121E127F
-5C12FF49C9FCA2EAFE1EEAF83C1270EA7878EA3FE0EA0F802A5383BF1C>I<EC03F0EC0F
-FC91383E0E1C9138FC077E903901F003FE1303903807E001D90FC013FCEB1F80A2EB3F00
-4914F8137E01FE1303A2484814F0A2150712034914E0A2150F12074914C0A2151FA21680
-5B153F1203ED7F006D5BA200015B0000495A9038F80F7E90387C1EFEEB1FF8903807E0FC
-90C7FC1401A25DA21403A25D001C1307007F5C48130F5D4A5A4AC7FC48137E00F85B387C
-03F0381FFFC0D803FEC8FC273B7CA72A>I<EB01FC13FF5CA21303A25CA21307A25CA213
-0FA25CA2131FA25CA2133FA291C8FCEC03F890387F0FFE91383E0F80D97E7813C0ECE007
-D9FFC013E014801400A2485A5BA25B0003140F16C05BA20007141F16805BA2000F143F16
-005B5D001F147EEDFE074913FCA2003F0101130FEDF80E1300161E48ECF01CA2007E1538
-A200FE1570020013E048EC7FC00038EC1F0028407ABE2E>I<1478EB01FCA21303A314F8
-EB00E01400AD137C48B4FC38038F80EA0707000E13C0121E121CEA3C0F1238A2EA781F00
-701380A2EAF03F140012005B137E13FE5BA212015BA212035B1438120713E0000F1378EB
-C070A214F0EB80E0A2EB81C01383148038078700EA03FEEA00F8163E79BC1C>I<EB01FC
-13FF5CA21303A25CA21307A25CA2130FA25CA2131FA25CA2133FA291C8FCED03E049EB0F
-F8ED3C3C017EEB707CEDE1FC9038FE01C1EC03839038FC0703140E0001011C13F8913838
-00E0494813001460000313E0EBF9C0EBF78001FEC8FC1207EBFFE0EBE7F8EBE0FE000F13
-7F6E7EEBC01F81001F130F16701380A2003F15F0021F13E001001380A248148116C0007E
-EB0F83168000FE14879138078F0048EB03FE0038EB00F826407ABE2A>107
-D<EB07F0EA03FF14E0A2EA000FA214C0A2131FA21480A2133FA21400A25BA2137EA213FE
-A25BA21201A25BA21203A25BA21207A25BA2120FA25BA2121FA25BA2123FA290C7FCA25A
-1307127EA2EAFE0F130E12FCA2131E131CA2EA7C381378EA3C70EA1FE0EA0780144079BE
-17>I<D801F0D93F80137F3D07FC01FFE003FFC03D0F3E07C1F80F83F03D0E1F0F00FC1E
-01F8001E011C90387C3800001C49D97E707F003C01F05C0038157F4A5C26783FC05C1270
-4A91C7FC91C7127E00F003FE1301494A5CEA007EA20301140301FE5F495CA20303140700
-0160495C180F03075D0003051F13E0494A1480A2030FEC3F810007F001C0495CA2031F91
-383E0380120F494AEC0700A2033F150E001FEF1E1C4991C7EA0FF80007C7000EEC03E043
-2979A74A>I<D801F0EB3F803A07FC01FFE03A0F3E07C1F83A0E1F0F00FC001E011C137C
-001C49137E003C13F012385C38783FC012705C91C7FC00F015FE495CEA007EA2150101FE
-5C5BA2150300015D5B15075E0003020F13704914C0A2031F13F00007ED80E05B1681EE01
-C0120F49EC0380A2EE0700001FEC0F0E49EB07FC0007C7EA01F02C2979A733>I<EC1FC0
-ECFFF8903803F07C90380FC01FEB1F8090393F000F80017E14C0491307484814E0485A12
-075B000F15F0485AA2485AA2ED0FE0127F90C7FCA2151F4815C05AA2ED3F80A2ED7F00A2
-48147E007C5C007E13015D4A5A003E495A6C495A4A5A260F803EC7FC3807C0FC3801FFF0
-38003F80242977A72E>I<903903E001F890390FF807FE903A1E7C1E0F80903A1C3E3C07
-C0013C137801389038E003E0EB783F017001C013F0ED80019038F07F0001E015F8147E16
-03000113FEA2C75AA20101140717F05CA20103140F17E05CA20107EC1FC0A24A1480163F
-010F15005E167E5E131F4B5A6E485A4B5A90393FB80F80DA9C1FC7FCEC0FFCEC03E049C9
-FCA2137EA213FEA25BA21201A25BA21203A2387FFFE0B5FCA22D3A80A72E>I<D801F013
-FC3A07FC07FF803A0F3E0F03C0260E1F1C13E0001EEB380F001C1370003CEBE01F123814
-C0D8783F14C00070903880070092C7FC91C8FC12F05BEA007EA313FE5BA312015BA31203
-5BA312075BA3120F5BA3121F5B0007C9FC232979A726>114 D<EC7F80903801FFE09038
-07C0F890381F003C013E131C013C131E017C133E49137E15FEA2000114FCA215706D1300
-7FEBFFC014FC6C13FF15806D13C06D13E0010F13F01300140F14071403120C123F387F80
-011403D8FF0013E0A300FCEB07C000F0EB0F8012700078EB1F006C133C381F01F83807FF
-E0C690C7FC1F297AA725>I<EB01C0EB03F01307A25CA2130FA25CA2131FA25CA2133FA2
-91C7FCA2007FB51280B6FC1500D8007EC7FC13FEA25BA21201A25BA21203A25BA21207A2
-5BA2120FA25BA2121F141C1380A2003F133C1438EB0078147014F05C495AEA1F03495A6C
-48C7FCEA07FCEA01F0193A78B81E>I<137C48B4141C26038F80137EEA0707000E7F001E
-15FE121CD83C0F5C12381501EA781F007001805BA2D8F03F1303140000005D5B017E1307
-A201FE5C5B150F1201495CA2151F0003EDC1C0491481A2153F1683EE0380A2ED7F070001
-02FF13005C01F8EBDF0F00009038079F0E90397C0F0F1C90391FFC07F8903907F001F02A
-2979A731>I<017CEB01C048B4EB07F038038F80EA0707000E01C013F8121E001C1403EA
-3C0F0038EC01F0A2D8781F130000705BA2EAF03F91C712E012005B017E130116C013FE5B
-1503000115805BA2ED07001203495B150EA25DA25D1578000114706D5B0000495A6D485A
-D97E0FC7FCEB1FFEEB03F0252979A72A>I<903903F001F890390FFC07FE90393C1E0E0F
-9026780F1C138001F0EBB83FD801E013F89039C007F07FEA0380000714E0D9000F140048
-151C000E4AC7FCA2001E131FA2C75BA2143F92C8FCA35C147EA314FE4A131CA30101143C
-001E1538003F491378D87F811470018314F000FF5D9039077801C039FE0F7C033A7C0E3C
-078027783C1E1EC7FC391FF80FFC3907E003F029297CA72A>120
-D<137C48B4143826038F8013FCEA0707000E7F001E1401001C15F8EA3C0F12381503D878
-1F14F000701380A2D8F03F1307020013E012005B017E130F16C013FE5B151F1201491480
-A2153F000315005BA25D157EA315FE5D00011301EBF8030000130790387C1FF8EB3FF9EB
-07E1EB00035DA21407000E5CEA3F80007F495AA24A5AD8FF0090C7FC143E007C137E0070
-5B387801F0383803E0381E0FC06CB4C8FCEA03F8263B79A72C>I<D901F01370D907FC13
-F0010F14E090381FFE0190393FFF03C049EB838090387C0FCF9039F803FF009038F0007E
-49133C000114386C48137890C75A4A5A4A5A4A5A4AC7FC141E5C5C5C495A495A495A49C8
-FC131E4913075B5B48485B4848131E485A01F05BD80FFE137C391F1F81F8383E0FFFD83C
-075B486C5B00705CD8F00190C7FC38E0007C24297BA725>I E
-%EndDVIPSBitmapFont
-%DVIPSBitmapFont: Fm cmtt12 17.28 5
-/Fm 5 115 df<ED7FF00203B5FC021F14E0027F14F849B67E4915FF010F824982498249
-EBC01F9027FFFE00037F4801F801007F48496E7E02C0143F48496E7E4890C8120F491507
-001F8349815B003F18804981A2127F4917C08312FF90B9FCA71980190001C0CBFC7F127F
-A37F123F7FA26C6C163F6DEE7F806C6CEEFFC0A26C6D5C14E06C6D4A13806C01FC5C6C6D
-021F130090267FFFC05B6D9039F801FFFE6D90B65A6D5E6D5E6D5E01005E023F92C7FC02
-0F14FC020114E09126001FFEC8FC3A4179BF4A>101 D<4CB47E041F13F093B512FC0303
-80030F805D4B15805D92B7FC4AEBFC074A13F0DCC00313004A13804C6C5A4A48EB007895
-C7FC5DAB003FB812F04883B97EA56C5F6C5FC7D80FFCC9FCB3B3A8001FB712FE48824883
-A56C94C7FC6C5E39597BD84A>I<F00FF8912601FFC0EB7FFE020FD9F803B51280023FEB
-FE0F91B6009F14C0010392B612E05B5B5B4916F84901809138C07FC09126FE003F1300D9
-FFF8010F9038803F804A6DEC040048496D6DC7FC4A7F48496D7FA291C8127F4883A24915
-3FA66D157FA26C5F6E14FFA26C6D495B6E5B6C6D495B6E5BD97FFE013F90C8FC6E6CB5FC
-92B55A90B75A5F5F485E1780D9FE3F49C9FC020F13F8020113C091CCFCA47FA26C7F14E4
-6DB612E017FF6D16F04916FC90B9FC000318C08548844801C0C7003F7F4848C812014992
-38003FFCD83FF0EE0FFE4916074848707E84498200FF1980A290CB127FA56D17FFA26D5E
-007F19006D5ED83FF8EE0FFE6D161F6CB4EE7FFC6C01C04A485A6C01F8020F5B9126FFC0
-01B5FC000191B712C06C606D94C7FC011F16FC6D5E010316E0D9007F92C8FC020F14F8DA
-007F90C9FC43627CBF4A>I<EE0FFC263FFFF090B57E48D9F80714E0DAFC1F14F8B54914
-FE92B7FC02FD826C90B87E856CDBE01F7FD8000FEC000703FC01017F4B6D7F03E0143F4B
-6E7E4B140F8592C87E4A6F1380A34A6F13C0A284A21AE0A2197FAA19FFA21AC0A26E5DA2
-4E138080606F1600606F4A5A6F143F6F4A5A6F4A5A6F130303FF010F5BDCC03F5B93B65A
-6102FD93C7FC02FC5D6F5C031F14F0030714C0030191C8FC9238003FF093CAFCB3A4003F
-B6FC4881A2B77EA36C5DA26C92CAFC435F7FBE4A>112 D<EF0FFE003FB591B512C048DA
-800314F0B6D8C00F14F8043F14FC93B6FC03C115FE15C36C14C76C02CFEBF80FC701DF13
-C092B5380007FC04FCEB03F84CEB01F004E090C7FC5E5E93C9FC5DA25DA25DA25DA25DA4
-5DB3A6003FB712F84882B8FC83A35F7E6C5E3F3F7BBE4A>114 D
-E
-%EndDVIPSBitmapFont
-%DVIPSBitmapFont: Fn cmtt10 10.95 86
-/Fn 86 127 df<00101304007C131F00FEEB3F80A26C137FA248133FB2007E1400007C7F
-003C131E00101304191C75B830>34 D<903907C007C0A2496C487EA8011F131FA202C05B
-A3007FB7FCA2B81280A36C16006C5D3A007F807F80A2020090C7FCA9495BA2003F90B512
-FE4881B81280A36C1600A22701FC01FCC7FCA300031303A201F85BA76C486C5AA229387D
-B730>I<1438147C14FCA4EB03FF011F13E090B512FC4880000780481580261FFEFD13C0
-9039F0FC3FE0D83FC0131FD87F80EB0FF001001307007E15F800FE14035A1507A36CEC03
-F0A2007F91C7FC138013C0EA3FF0EA1FFE13FF6C13FF6C14E0000114F86C6C7F011F7F01
-037F0100148002FD13C09138FC7FE0151FED0FF015070018EC03F8127E1501B4FCA35AA2
-6CEC03F07E01801307ED0FE0D83FC0131F01F0EB7FC0D81FFEB512806CB612006C5C6C5C
-C614F0013F13C0D907FEC7FCEB00FCA5147C143825477BBE30>I<D803C0EB01E0D80FF0
-1303486C497E487E150F487ED87E7E495AEAFE7F5E486C133FA25E157FA24BC7FC6C5A5D
-387E7E01EA7FFED83FFC5B1403EA1FF86C48485AEA03C0C75B140FA25D141FA24A5AA25D
-147FA292C8FC5CA2495AA25C1303A25C1307A290390FF001E0ED07F84A487E011F497EA2
-4A487E133F163F90267F807F1380ED7E1F14005BA25B1201A24848EB7F3F033F13004914
-FF12076F5A5B6F5A6C486D5A0001EC01E029477DBE30>I<EB07E0EB1FF8497E137F497E
-803801FC7F497E810003131F13F0A6143F92C8FC91387F0FFF9026F87E1F1380000113FE
-EBF9FC13FB4A6C1300D9FFF013C06C13E0151F02C05BEB7F809038FF003F4892C7FC485C
-48EB807E5A15FE391FDFC0FC383F8FE014E1397F07F1F8EB03F300FEEBFBF0EB01FF5D7F
-EDC006027F130F91393F801F8015C06C137F6CEBFFE049EBF83F018701FC1300263FFFFB
-B5FC6C01F15B14E06C9038C03FFC00039038001FF8D801FCEB07E0293A7DB830>I<EA07
-C0EA0FF0EA1FF8A213FCA213FE120F1207EA007EA513FE13FCA2120113F81203EA07F012
-0FEA1FE0127FEAFFC013801300127C12380F1D70B730>I<141E147F14FF5BEB03FEEB07
-FCEB0FF0EB1FE0EB3FC0EB7F80EBFF00485A5B12035B485A120F5BA2485AA2123F5BA212
-7F90C7FCA412FEAD127FA47F123FA27F121FA26C7EA27F12076C7E7F12017F6C7EEB7F80
-EB3FC0EB1FE0EB0FF0EB07FCEB03FEEB01FF7F147F141E184771BE30>I<127812FE7E7F
-6C7E6C7EEA0FF06C7E6C7E6C7E6C7EEB7F80133F14C0131FEB0FE014F01307A2EB03F8A2
-14FC1301A214FE1300A4147FAD14FEA4130114FCA2130314F8A2EB07F0A2130F14E0EB1F
-C0133F1480137FEBFF00485A485A485A485AEA3FE0485A485A90C7FC5A1278184778BE30
->I<14E0497E497EA60038EC0380007EEC0FC0D8FF83EB3FE001C3137F9038F3F9FF267F
-FBFB13C06CB61280000FECFE00000314F86C5C6C6C13C0011F90C7FC017F13C048B512F0
-4880000F14FE003FECFF80267FFBFB13C026FFF3F913E09038C3F87F0183133FD87E03EB
-0FC00038EC0380000091C7FCA66D5A6D5A23277AAE30>I<143EA2147FAF007FB7FCA2B8
-1280A36C1600A2C76CC8FCAF143EA229297DAF30>I<EA03E0EA0FF0EA1FF813FCEA3FFE
-A213FFA27EA27E1203EA007FA2137E13FEEA01FC1203EA07F8EA3FF0127FEAFFE0EA7F80
-1300123C1019708B30>I<007FB612F0A2B712F8A36C15F0A225077B9E30>I<120FEA3FC0
-EA7FE0A2EAFFF0A4EA7FE0A2EA3FC0EA0F000C0C6E8B30>I<16F01501ED03F8A21507A2
-ED0FF0A2ED1FE0A2ED3FC0A2ED7F80A2EDFF00A24A5AA25D1403A24A5AA24A5AA24A5AA2
-4A5AA24A5AA24AC7FCA2495AA25C1303A2495AA2495AA2495AA2495AA2495AA249C8FCA2
-485AA25B1203A2485AA2485AA2485AA2485AA2485AA248C9FCA25AA2127CA225477BBE30
->I<14FE903807FFC0497F013F13F8497F90B57E48EB83FF4848C6138049137F4848EB3F
-C04848EB1FE049130F001F15F0491307A24848EB03F8A290C712014815FCA400FEEC00FE
-AD6C14016C15FCA36D1303003F15F8A26D1307001F15F0A26D130F6C6CEB1FE0A26C6CEB
-3FC06C6CEB7F806D13FF2601FF8313006CEBFFFE6D5B6D5B010F13E06D5BD900FEC7FC27
-3A7CB830>I<EB03C0497EA2130FA2131FA2133F137F13FF1203123FB5FCA213EF138FEA
-7E0F1200B3B0003FB512F84814FCB612FEA26C14FC6C14F81F3977B830>I<EB07FC9038
-3FFFC090B512F00003804814FE4880261FF80F1380263FE00113C09038C0007F4848EB3F
-E090C7121FED0FF04814075A6C15F81503A3127E1218C8FCA2150716F0150F16E0151F16
-C0153FED7F8015FF4A13005DEC07FC4A5A4A5A4A5A4A5A4A5A4990C7FC495A495AEB0FF0
-EB3FE0495A495A4890C8FC4848EB01F04848EB03F8485AEA1FE048B6FCB7FCA37E6C15F0
-25397BB830>I<EB03FF013F13E090B512F84814FE4880481580260FFE0113C09038F000
-7F4848EB1FE0150F16F01507A26C5A6C5AC8FC150F16E0A2151FED3FC0157FEDFF800207
-1300903807FFFE495B5D8115FF6D1480D9000113C09138003FE0ED1FF0ED07F8150316FC
-150116FE1500A21218127EB4FCA2150116FC4814036C15F86C6C13076DEB1FF0D83FF013
-3F3A1FFE01FFE06CB612C06C15806CECFE00C65C013F13F001031380273A7CB830>I<EC
-03FC4A7E140F141FA2143F147F157E14FEA2EB01FCEB03F8A2EB07F0A2EB0FE0EB1FC0A2
-EB3F80A2EB7F0013FEA2485A485AA2485AA2485A485AA2485AA248C7FC12FEB8FC1780A4
-6C1600C8007EC7FCAA91387FFFFE91B6FCA46E5B29397DB830>I<000FB612804815C05A
-A316800180C8FCAEEB83FF019F13C090B512F015FC8181D9FE0313809039F0007FC04913
-3F0180EB1FE06CC7120F000E15F0C81207A216F81503A31218127EA2B4FC150716F04814
-0F6C15E06C141F6DEB3FC06D137F3A3FE001FF80261FFC0F13006CB55A6C5C6C5C6C14E0
-6C6C1380D90FFCC7FC25397BB730>I<EC0FF8EC7FFF49B51280010714E0131F4914F090
-387FF80F9039FFC007F84813803803FE005B485A4848EB03F0ED01E0484890C7FC5B123F
-5BA2127FEB000C903803FFE0010F13F8D8FF3F13FE48B6FCB7128016C09039FE007FE001
-F8EB1FF001E0130F49EB07F849EB03FCA290C7120116FE1500A37EA46C7E15016D14FC12
-1F6D1303000FEC07F86D130F6C6CEB1FF06DEB3FE03A03FF81FFC06C90B512806C15006D
-5B011F13F8010713E001011380273A7CB830>I<127CB712FC16FEA416FC48C7EA0FF816
-F0ED1FE0007CEC3FC0C8EA7F80EDFF00A24A5A4A5A5D14075D140F5D4A5AA24A5AA24AC7
-FCA25C5C13015CA213035CA213075CA4495AA6131F5CA96D5A6DC8FC273A7CB830>I<49
-B4FC011F13F0017F13FC90B57E0003ECFF804815C048010113E03A1FF8003FF049131FD8
-3FC0EB07F8A24848EB03FC90C71201A56D1303003F15F86D13076C6CEB0FF06C6CEB1FE0
-D807FCEB7FC03A03FF83FF806C90B512006C6C13FC011F13F0497F90B512FE48802607FE
-0013C0D80FF8EB3FE0D81FE0EB0FF04848EB07F8491303007F15FC90C712014815FE4814
-00A66C14016C15FC6D1303003F15F86D1307D81FF0EB1FF06D133F3A0FFF01FFE06C90B5
-12C06C1580C6ECFE006D5B011F13F0010190C7FC273A7CB830>I<49B4FC010F13E0013F
-13F890B57E4880488048010113803A0FFC007FC0D81FF0EB3FE04848131F49EB0FF04848
-1307A290C7EA03F85A4815FC1501A416FEA37E7E6D1303A26C6C13076C6C130F6D133FD8
-0FFC13FF6CB6FC7E6C14FE6C14F9013FEBE1FC010F138190380060011400ED03F8A21507
-16F0150F000F15E0486C131F486CEB3FC0157FEDFF804A1300EC07FE391FF01FFC90B55A
-6C5C6C5C6C1480C649C7FCEB3FF0273A7CB830>I<120FEA3FC0EA7FE0A2EAFFF0A4EA7F
-E0A2EA3FC0EA0F00C7FCAF120FEA3FC0EA7FE0A2EAFFF0A4EA7FE0A2EA3FC0EA0F000C27
-6EA630>I<EA03C0EA0FF0EA1FF8A2EA3FFCA4EA1FF8A2EA0FF0EA03C0C7FCAFEA03C0EA
-0FF0121F13F8123F13FCA3121FA2120F12031200120113F8120313F01207EA1FE0123FEA
-7FC0EAFF80EA7F00127E12380E3470A630>I<16F01503ED07F8151F157FEDFFF014034A
-13C0021F138091383FFE00ECFFF8495B010713C0495BD93FFEC7FC495A3801FFF0485B00
-0F13804890C8FCEA7FFC5BEAFFE05B7FEA7FF87FEA1FFF6C7F000313E06C7F38007FFC6D
-7E90380FFF806D7F010113F06D7FEC3FFE91381FFF80020713C06E13F01400ED7FF8151F
-1507ED03F01500252F7BB230>I<007FB7FCA2B81280A36C16006C5DCBFCA7003FB612FE
-4881B81280A36C1600A229157DA530>I<1278127EB4FC13C07FEA7FF813FEEA1FFF6C13
-C000037F6C13F86C6C7EEB1FFF6D7F010313E06D7F9038007FFC6E7E91380FFF806E13C0
-020113F080ED3FF8151F153FEDFFF05C020713C04A138091383FFE004A5A903801FFF049
-5B010F13804990C7FCEB7FFC48485A4813E0000F5B4890C8FCEA7FFE13F8EAFFE05B90C9
-FC127E1278252F7BB230>I<EC1FE0ECFFF8010313FE010F7F4914804914C090397FF03F
-E09038FF800F4890380007F0D803FC13033A07F801FBF89038F007FF380FE01F4A13FCEA
-1FC0495A003FEBFF0F903800FE07903901FC03FE007FEBF801EA7E03ECF000A2EAFE0700
-FC49137EAA00FE6D13FED87E0314FCA2ECF801D87F0114F8003FEBFC03903900FE07F090
-3880FF0F001F90387FFFE06D6C13C0EA0FE06E13803A07F007FE009038F801F86C6CC712
-7C6CB414FE6CEB800390387FF01F6DB512FC6D14F86D14E0010314C00100EBFE00EC1FF0
-273A7CB830>64 D<147F4A7EA2497FA4497F14F7A401077F14E3A3010F7FA314C1A2011F
-7FA490383F80FEA590387F007FA4498049133F90B6FCA34881A39038FC001F0003814913
-0FA4000781491307A2D87FFFEB7FFFB56CB51280A46C496C130029397DB830>I<007FB5
-12F0B612FE6F7E82826C813A03F8001FF815076F7E1501A26F7EA615015EA24B5A1507ED
-1FF0ED7FE090B65A5E4BC7FC6F7E16E0829039F8000FF8ED03FC6F7E1500167FA3EE3F80
-A6167F1700A25E4B5A1503ED1FFC007FB6FCB75A5E16C05E6C02FCC7FC29387EB730>I<
-91387F803C903903FFF03E49EBFC7E011F13FE49EBFFFE5B9038FFE07F48EB801F3903FE
-000F484813075B48481303A2484813015B123F491300A2127F90C8FC167C16005A5AAC7E
-7EA2167C6D14FE123FA27F121F6D13016C6C14FCA26C6CEB03F86D13076C6CEB0FF03901
-FF801F6C9038E07FE06DB512C06D14806D1400010713FC6D13F09038007FC0273A7CB830
->I<003FB512E04814FCB67E6F7E6C816C813A03F8007FF0ED1FF8150F6F7E6F7E15016F
-7EA2EE7F80A2163F17C0161FA4EE0FE0AC161F17C0A3163F1780A2167F17005E4B5A1503
-4B5A150F4B5AED7FF0003FB65A485DB75A93C7FC6C14FC6C14E02B387FB730>I<007FB7
-FCB81280A47ED803F8C7123FA8EE1F0093C7FCA4157C15FEA490B5FCA6EBF800A4157C92
-C8FCA5EE07C0EE0FE0A9007FB7FCB8FCA46C16C02B387EB730>I<003FB712804816C0B8
-FCA27E7ED801FCC7121FA8EE0F8093C7FCA5153E157FA490B6FCA69038FC007FA4153E92
-C8FCAE383FFFF8487FB5FCA27E6C5B2A387EB730>I<02FF13F00103EBC0F8010F13F101
-3F13FD4913FF90B6FC4813C1EC007F4848133F4848131F49130F485A491307121F5B123F
-491303A2127F90C7FC6F5A92C8FC5A5AA892B5FC4A14805CA26C7F6C6D1400ED03F8A27F
-003F1407A27F121F6D130F120F7F6C6C131FA2D803FE133F6C6C137FECC1FF6C90B5FC7F
-6D13FB010F13F30103EBC1F0010090C8FC293A7DB830>I<3B3FFF800FFFE0486D4813F0
-B56C4813F8A26C496C13F06C496C13E0D803F8C7EAFE00B290B6FCA601F8C7FCB3A23B3F
-FF800FFFE0486D4813F0B56C4813F8A26C496C13F06C496C13E02D387FB730>I<007FB6
-FCB71280A46C1500260007F0C7FCB3B3A8007FB6FCB71280A46C1500213879B730>I<49
-B512F04914F85BA27F6D14F090C7EAFE00B3B3123C127EB4FCA24A5A1403EB8007397FF0
-1FF86CB55A5D6C5C00075C000149C7FC38003FF025397AB730>I<D83FFF90380FFF8048
-6D4813C0B56C5AA26C497E6C496C1380D803F0903803F8004B5A4B5A151F4B5A5E4BC7FC
-15FE14014A5A5D4A5A4A5A141F5D4A5A4AC8FC5C13F18101F37F13F790B57E14EFECC7F0
-1483EC03F8140101FE7F496C7E5B157F497F82151F82150F826F7EA26F7E1501821500D8
-3FFF903803FFC0486D4813E0B56C5AA26C497E6C496C13C02B387FB730>I<383FFFF848
-7FB57EA26C5B6C5BD801FCC9FCB3B0EE0F80EE1FC0A9003FB7FC5AB8FCA27E6C16802A38
-7EB730>I<D83FF8ECFFE0486C4913F0486C4913F8A2007F16F06C6C4913E00007160001
-EF14BFEC800FA39039E7C01F3FA4ECE03F01E3133EA2ECF07EA201E1137CA2ECF8FCA201
-E013F8A214FDEC7DF0A3147FEC3FE0A3EC1FC0A2EC070091C7FCADD83FFC903801FFE048
-6C4913F0B54913F8A26C486D13F06C486D13E02D387FB730>I<D83FFC90381FFF80486C
-4913C0B54913E0A26C6D6C13C06C6E13800003913801F800EBF7C0A3EBF3E0A314F013F1
-A214F8A213F014FCA2147C147EA2143E143FA2141FA21581A2140F15C1A2140715E1A214
-0315F1A21401A215F91400A3157DA3153FEA3FFF481380B5EAC01FA26CEB800F6C496C5A
-2B387EB730>I<90383FFFE048B512FC000714FF4815804815C04815E0EBF80001E0133F
-D87F80EB0FF0A290C71207A44815F8481403B3A96C1407A26C15F0A36D130FA26D131F6C
-6CEB3FE001F813FF90B6FC6C15C06C15806C1500000114FCD8003F13E0253A7BB830>I<
-007FB512F0B612FE6F7E16E0826C813903F8003FED0FFCED03FE15016F7EA2821780163F
-A6167F17005EA24B5A1503ED0FFCED3FF890B6FC5E5E16804BC7FC15F001F8C9FCB0387F
-FFC0B57EA46C5B29387EB730>I<90383FFFE048B512FC000714FF4815804815C04815E0
-EBF80001E0133F4848EB1FF049130F90C71207A44815F8481403B3A8147E14FE6CEBFF07
-6C15F0EC7F87A2EC3FC7018013CF9038C01FFFD83FE014E0EBF80F90B6FC6C15C06C1580
-6C1500000114FCD8003F7FEB00016E7EA21680157F16C0153F16E0151F16F0150FED07E0
-25467BB830>I<003FB57E4814F0B612FC15FF6C816C812603F8017F9138003FF0151F6F
-7E15071503821501A515035E1507150F4B5A153F4AB45A90B65A5E93C7FC5D8182D9F800
-7FED3FE0151F150F821507A817F8EEF1FCA53A3FFF8003FB4801C0EBFFF8B56C7E17F06C
-496C13E06C49EB7FC0C9EA1F002E397FB730>I<90390FF803C0D97FFF13E048B512C748
-14F74814FF5A381FF80F383FE001497E4848137F90C7123F5A48141FA2150FA37EED07C0
-6C91C7FC7F7FEA3FF0EA1FFEEBFFF06C13FF6C14E0000114F86C80011F13FF01031480D9
-003F13C014019138007FE0151FED0FF0A2ED07F8A2007C140312FEA56C140716F07F6DEB
-0FE06D131F01F8EB3FC001FF13FF91B51280160000FD5CD8FC7F13F8D8F81F5BD8780113
-80253A7BB830>I<003FB712C04816E0B8FCA43AFE003F800FA8007CED07C0C791C7FCB3
-B1011FB5FC4980A46D91C7FC2B387EB730>I<3B7FFFC007FFFCB56C4813FEA46C496C13
-FCD803F8C7EA3F80B3B16D147F00011600A36C6C14FE6D13016D5CEC800390393FE00FF8
-90391FF83FF06DB55A6D5C6D5C6D91C7FC9038007FFCEC1FF02F3980B730>I<D87FFE90
-380FFFC0B54913E06E5AA24A7E6C486D13C0D807F0903801FC00A26D130300035DA46C6C
-495AA46C6C495AA46D131F6D5CA3EC803F013F5CA46D6C48C7FCA490380FE0FEA401075B
-14F1A301035BA314FB01015BA314FFA26D5BA46E5A6E5A2B397EB730>I<D83FFC903801
-FFE0486C4913F000FF16F8A2007F16F06C486D13E0D81FC09038001FC0000F1680A76D14
-3F00071600A7000390380F803E9039F01FC07EEC3FE0A3EC7FF0A2147D0001157CA29039
-F8FDF8FCA314F8A300005D01F913FCA2ECF07CA201FD137DA2017D5CECE03DA3017F133F
-A2ECC01FA2013F5CA2EC800F6D486C5A2D397FB730>I<D87FFF90381FFFC0B56C4813E0
-A46C496C13C0D803F8903803F8006D1307A26C6C495AA26C6C5C151F6D5CEC803F013F5C
-ECC07F011F91C7FCA290380FE0FEA214F101075BA2903803FBF8A201015B14FF6D5BA26E
-5AA36E5AB1903803FFF8497F497FA26D5B6D5B2B387EB730>89 D<001FB612FC4815FE5A
-A490C7EA03FCED07F816F0150FED1FE016C0153FED7F80003E1500C85A4A5A5D14034A5A
-5D140F4A5A5D143F4A5A92C7FC5C495A5C1303495A5C130F495A5C133F495A91C8FC5B48
-48147C4914FE1203485A5B120F485A5B123F485A90B6FCB7FCA46C15FC27387CB730>I<
-127CA212FEA27EA26C7EA26C7EA26C7EA26C7EA26C7EA26C7EA212017FA26C7EA26D7EA2
-6D7EA26D7EA26D7EA26D7EA26D7EA2130180A26D7EA26E7EA26E7EA26E7EA26E7EA26E7E
-A26E7EA2140181A26E7EA2ED7F80A2ED3FC0A2ED1FE0A2ED0FF0A2ED07F8A21503A2ED01
-F0150025477BBE30>92 D<007FB612F0A2B712F8A36C15F0A225077B7D30>95
-D<1338137CEA01FE12031207EA0FFC13F0EA1FE013C0EA3F8013005A127EA212FE5AA5EA
-FFC013E013F0127FA2123FA2EA1FE0EA07C00F1D70BE30>I<EB7FF80003B5FC4814C048
-80488048809038E01FFC9038C003FE14016E7E6C487F6CC77FC8123FA491B5FC130F137F
-48B6FC12075A48EB803F383FF800EA7FE0138048C7FC5AA4157F7E6C6C13FFEBC003263F
-F01FEBFF8090B712C07E6C14EF000314876CD9FE01138026003FE0C8FC2A2A7BA830>I<
-EA3FFC487E12FFA2127F123F1200AAEC03FE91381FFF80027F13E091B57E90B612FC82EC
-FE079138F001FF4A6C13804A137F4AEB3FC091C7121F17E049140FA217F01607A8160FA2
-17E07F161F6EEB3FC0A26EEB7F806E13FFDAF00313009138FC0FFE91B55A5E495CD97E7F
-13C0D93C1F90C7FC90380003FC2C3980B730>I<ECFFE0010713FC011F7F017F7F90B612
-804815C048EB807F3907FC003F485A485A49EB1F804848EB0F004990C7FC127F90C9FCA2
-5A5AA87E7EA27F003FEC07C06DEB0FE06C7E6D131F6C6C14C0D807FE133F9039FFC0FF80
-6C90B5FCC615006D5B011F13F801075B01011380232A7AA830>I<913801FFE04A7F5CA2
-8080EC0007AAEB03FE90381FFF874913E790B6FC5A5A481303380FFC00D81FF0133F4913
-1F485A150F4848130790C7FCA25AA25AA87E6C140FA27F003F141F6D133F6C7E6D137F39
-0FF801FF2607FE07EBFFC06CB712E06C16F06C14F76D01C713E0011F010313C0D907FCC8
-FC2C397DB730>I<49B4FC010713E0011F13F8017F7F90B57E488048018113803A07FC00
-7FC04848133FD81FE0EB1FE0150F484814F0491307127F90C7FCED03F85A5AB7FCA516F0
-48C9FC7E7EA27F003FEC01F06DEB03F86C7E6C7E6D1307D807FEEB1FF03A03FFC07FE06C
-90B5FC6C15C0013F14806DEBFE00010713F8010013C0252A7CA830>I<EDFF80020713E0
-021F13F05C4A13F891B5FC491387903803FE079138FC03F0903907F800C04A1300A8003F
-B612C04815E0B7FCA36C15C0260007F0C7FCB3A9003FB512FE4880B71280A26C15006C5C
-25397DB830>I<D903FC13FF90261FFF8713C04913DF90B712E05A5A2607FE07138F903A
-F801FE07C048486C6CC7FCA2497F001F8149133FA56D137F000F92C7FC6D5BA26C6C485A
-EBFE0790B55A5D485C15C001DF5BD9C3FCC8FC01C0C9FCA37F7F6CB512F015FF6C15C048
-15F0488148813A3FE0001FFE0180130148C8127F007E8100FE168048151FA56C153F007F
-ED7F006D5C6C6C495A01F013076CB4EB7FFC6C90B55A6C5D000115C06C6C91C7FC011F13
-FC010113C02B3E7DA730>I<EA3FFC487E12FFA2127F123F1200AAEC01FE91380FFF8002
-3F13E091B57E90B67EA29138FE07FCECF8039138E001FE14C0EC8000A291C7FCA25BB3A2
-3B3FFFF81FFFF8486D4813FCB500FE14FEA26C01FC14FC6C496C13F82F3880B730>I<14
-E0EB03F8A2497EA36D5AA2EB00E091C8FCA9381FFFF8487F5AA27E7EEA0001B3A9003FB6
-12C04815E0B7FCA27E6C15C023397AB830>I<EC01C0EC07F0A2EC0FF8A3EC07F0A2EC01
-C091C7FCA990B512F04814F8A47EEB0003B3B3A5EC07F0A2123C007EEB0FE0B4131FEC3F
-C0147F90B512806C14005C6C5B000F13F0000313C01D4E7CB830>I<EA7FF8487EA4127F
-1200AB0203B512804A14C017E0A217C06E14809139001FE0004B5A4B5A4BC7FC4A5A4A5A
-EC0FF84A5A4A5A4A5A4A5A01FD7F90B57E8114F7ECE3F8ECC1FCEC81FEEC00FF497F496D
-7E6F7E826F7E15076F7E6F7E3B7FFFF81FFFE0B56C4813F017F8A217F06C496C13E02D38
-7FB730>I<387FFFF8B57EA47EEA0001B3B3A8007FB612F0B712F8A46C15F025387BB730>
-I<02FC137E3B7FC3FF01FF80D8FFEF01877F90B500CF7F15DF92B57E6C010F13872607FE
-07EB03F801FC13FE9039F803FC01A201F013F8A301E013F0B3A23C7FFE0FFF07FF80B548
-018F13C0A46C486C01071380322881A730>I<EC01FE3A3FFC0FFF80267FFE3F13E000FF
-90B57E90B67E7E6C9038FE07FCC6EBF8039138E001FE14C0EC8000A291C7FCA25BB3A23B
-3FFFF81FFFF8486D4813FCB500FE14FEA26C01FC14FC6C496C13F82F2880A730>I<49B4
-FC010F13E0013F13F8497F90B57E0003ECFF8014013A07FC007FC04848EB3FE0D81FE0EB
-0FF0A24848EB07F8491303007F15FC90C71201A300FEEC00FEA86C14016C15FCA26D1303
-003F15F86D13076D130F6C6CEB1FF06C6CEB3FE06D137F3A07FF01FFC06C90B512806C15
-006C6C13FC6D5B010F13E0010190C7FC272A7CA830>I<EC03FE3A3FFC1FFF80267FFE7F
-13E000FF90B57E90B612FC6C816CEBFE07C69038F001FF4A6C13804A137F4AEB3FC091C7
-121F17E049140FA217F01607A8160FA217E07F161F6EEB3FC0A26EEB7F806E13FFDAF003
-13009138FC0FFE91B55A5E495C6E13C0021F90C7FCEC03FC91C9FCAD383FFFF8487FB57E
-A26C5B6C5B2C3C80A730>I<ED07F83A3FFF803FFF486DB51280B512C302CF14C06C13DF
-6C9038FFFC3FD8001F13E09238801F809238000F004A90C7FC5C5C5CA25CA45CAF003FB5
-12FC4880B7FCA26C5C6C5C2A287EA730>114 D<90381FFC1E48B5129F000714FF5A5A5A
-387FF007EB800100FEC7FC4880A46C143E007F91C7FC13E06CB4FC6C13FC6CEBFF806C14
-E0000114F86C6C7F01037F9038000FFF02001380007C147F00FEEC1FC0A2150F7EA27F15
-1F6DEB3F806D137F9039FC03FF0090B6FC5D5D00FC14F0D8F83F13C026780FFEC7FC222A
-79A830>I<EB0780497E131FA9003FB612E04815F0B7FCA36C15E026001FC0C7FCB216F8
-ED01FCA5ECE003010FEB07F814F09138FC1FF06DB512E06D14C016806D14009038007FFC
-EC1FF026337EB130>I<D83FFCEB3FFC486C497E00FF14FFA2007F147F003F143F000014
-00B3A41501A2150315076D130F903A7FC07FFFF891B612FC6D15FE7F6D4913FC6D9038F8
-7FF8010001C0C7FC2F2880A630>I<3B3FFFC07FFF80486DB512C0B515E0A26C16C06C49
-6C13803B01F80003F000A26D130700005DA26D130F017E5CA2017F131F6D5CA2EC803F01
-1F91C7FCA26E5A010F137EA2ECE0FE01075BA214F101035BA3903801FBF0A314FF6D5BA3
-6E5A6E5A2B277EA630>I<3B3FFFC01FFFE0486D4813F0B515F8A26C16F06C496C13E0D8
-07E0C7EA3F00A26D5C0003157EA56D14FE00015DEC0F80EC1FC0EC3FE0A33A00FC7FF1F8
-A2147DA2ECFDF9017C5C14F8A3017E13FBA290393FF07FE0A3ECE03FA2011F5C90390F80
-0F802D277FA630>I<3A3FFF81FFFC4801C37FB580A26C5D6C01815BC648C66CC7FC137F
-EC80FE90383F81FC90381FC3F8EB0FE3ECE7F06DB45A6D5B7F6D5B92C8FC147E147F5C49
-7F81903803F7E0EB07E790380FE3F0ECC1F890381F81FC90383F80FE90387F007E017E13
-7F01FE6D7E48486D7E267FFF80B5FCB500C1148014E3A214C16C0180140029277DA630>
-I<3B3FFFC07FFF80486DB512C0B515E0A26C16C06C496C13803B01FC0003F000A2000014
-076D5C137E150F017F5C7F151FD91F805BA214C0010F49C7FCA214E00107137EA2EB03F0
-157C15FCEB01F85DA2EB00F9ECFDF0147D147FA26E5AA36E5AA35DA2143F92C8FCA25C14
-7EA2000F13FE486C5AEA3FC1EBC3F81387EB8FF0EBFFE06C5B5C6C90C9FC6C5AEA01F02B
-3C7EA630>I<001FB612FC4815FE5AA316FC90C7EA0FF8ED1FF0ED3FE0ED7FC0EDFF8000
-3E491300C7485A4A5A4A5A4A5A4A5A4A5A4A5A4990C7FC495A495A495A495A495A495A49
-48133E4890C7127F485A485A485A485A485A48B7FCB8FCA46C15FE28277DA630>I<ED3F
-F0913803FFF8140F5C147F16F09138FFF00092C7FC495A5CB3A21303495A133F383FFFF0
-B55A5C91C8FC14C080003F7F38003FF813076D7E1301B3A2806D7E15F091387FFFF016F8
-141F8014039138003FF025477BBE30>I<EA7FE0EAFFFE6D7E8014F07EC66C7E13076D7E
-1301B3A2806D7E15E091387FFFE06E13F8801407141F5C4A13E09138FFE00092C7FC495A
-5CB3A21303495A137F387FFFF0B5FC14C05C49C8FCEA7FE025477BBE30>125
-D<017C133848B4137C48EB80FE4813C14813C348EBEFFC397FEFFFF0D8FF8713E0010713
-C0486C1380D87C0113003838007C1F0C78B730>I E
-%EndDVIPSBitmapFont
-%DVIPSBitmapFont: Fo cmsl10 10.95 35
-/Fo 35 123 df<EEFF80030F13F092383FC0789238FE001CDA03F8130E4A48133FDA1FE0
-13FF4A5A4B5AEC7F005C5CEE00FE010115784A1400A513035CA4EE01FC0003B7FC17F8A2
-3A0007F0000F1607A2130F4A14F0A4160F131F4A14E0A4161F133F4A14C0A4163F137F91
-C71380A4167F5B491500A31201486C903801FF80B5D8F83F13FCA25D30407EBF33>12
-D<EA0780EA1FE0123F13F0A6EA0F30120013701360A213E013C0A21201EA038013005A12
-0E120C121C5A5A5A5A0C1C71BE19>39 D<007FB5FCA2B512FEA418067C961E>45
-D<121EEA3F80EA7FC012FFA41380EA7F00123C0A0A788919>I<157015F014011407143F
-903803FFE0137FEBFFCFEBF80F1300141F15C0A5143F1580A5147F1500A55C5CA513015C
-A513035CA513075CA5130F5CA3131F497EB612F8A31D3D78BC2D>49
-D<DCFFC01338030F01F01378037F01FC13F0913A01FF803F01913A07FC000781DA1FE0EB
-03C3DA7FC0EB01E74AC812FF4948ED7FE0D907FC153F495A4948151F495A4948150F4948
-16C018074890C9FC485AA2485A000F1880491603121FA248481607A295C7FC485AA412FF
-5BA75BA2181C183C1838A27F007F1778187018F0003F5F6D150160001F16036C6C4B5A95
-C7FC6C6C5D6C6C151E6C6C5D6C6C15F86D6C495A6D6CEB07C0D91FF0EB1F80D907FE01FE
-C8FC0101B512F86D6C13E0DA07FEC9FC3D4276BF42>67 D<013FB812E0A3903A007FF000
-016E48EB003F180F4B14071803A31801147F4B15C0A514FF92C71270A395C7FC17F0495D
-5C160116031607161F49B65AA39138FC003F160F160701075D4A1303A5010F4AC8FC5C93
-C9FCA4131F5CA5133F5CA3137FEBFFF0B612F8A33B3E7DBD3B>70
-D<021FB512FCA3DA000713006F5AA25EA41507A25EA4150FA25EA4151FA25EA4153FA25E
-A4157FA25EA415FFA293C7FCA45C121FD87F805BEAFFC0A214035D13804A5AEAFE0000F8
-495A48495A00705C6C495A6C01FEC8FC380F81FC3803FFE0C690C9FC2E407ABD2F>74
-D<9238FF80070207EBE00F021FEBF81E91387F00FE02FCEB1F3ED903F0EB0FFE49481307
-494813034AEB01FC49C7FC491400133E137E177C491578A57F1770A26D1500808080EB7F
-FEECFFE06D13FEEDFFC06D14F06D14FC010380010080143F02031480DA003F13C0150315
-00EE7FE0163F161FA2160F121CA31607160F003C16C0A31780003E151F1700007E5D007F
-153E6D5C16FC01E0495AD87DF0495AD8FCFCEB0FC03AF87F803F8027F01FFFFEC7FCD8E0
-0713F839C0007FC030427BBF33>83 D<0007B912F0A33C0FFE000FF8003F01F0160F01C0
-4A13034848160190C7FC121EF000E048141F5E1238A212781270153F5E5AA3C81600157F
-5EA515FF93C9FCA55C5DA514035DA514075DA5140F5DA3141FEC7FFC0003B7FCA33C3D76
-BC42>I<B6017FB5D88007B512804A1A00A2000701C0010101E0C713F06C90C80180EC3F
-C06C48735A99C7FC057F150E1B1E6D191C6C1A3C1B3805FF15787214705E636EEB03BF01
-7F4E5AEE073F505A040E7F051F4AC8FC161C6E170E013F143862167804706D5BEEF00F04
-E05D90381FE00104C015F003035E0480140106F85B9226070007130302F05F010F010E15
-0797C9FC5D190E4BEB03FC616E5A01075F5D61DAF9C014FE05015BECFB8002FF6F5A7F92
-C75CA24A93CAFC835C606D5A605C604A15781870594074BD5D>87
-D<EC7FC0903803FFF890380FC07E90383E003F496D7E01FF6D7E82A248140782A26C5A13
-7890C7120FA25EA2EC03FF147F903807FF1FEB1FE0D97F805B3801FE00EA03F8485A4848
-133F485A003F5D49EC81C048C7FCA2157F48ED03804814FFA2007F5B913903BF07009038
-80073F3A3FC00E1F8E260FE03C13FC3A03FFF00FF83A007FC003E02A2A7CA82D>97
-D<EB3F80EA1FFFA3C6FC137FA291C9FCA55B5BA512015BA4EC07F80003EB3FFF9039F8F8
-0FC09039FBE003E09039FF8001F891C77E5B4848147E49147F5B821780A2120F5B17C0A3
-167F001F16805BA4EEFF00123F5B4B5AA24B5A5E007F4A5AA24B5A6D495A4BC7FCD87CE0
-137E39F87001F839F03C07E039E00FFF80260003FCC8FC2A4077BE33>I<EC1FF0ECFFFE
-903903F01F8090390FC003C0D93F0013E0017E130F49131F000115F04848EB3FE0485AA2
-4848EB1FC0001FEC0F004990C7FC123FA2485AA412FF90C9FCA96CEC0380150716006C6C
-5B151E001F5C6C6C5B6C6C5B6C6C485A3901F80F8026007FFEC7FCEB0FF0242A7AA828>
-I<EE03F8ED01FFA3ED000F1607A217F0A4160FA217E0A4161FA217C0A491380FF03FECFF
-FC902603F81F138090390FC007BF90391F8003FF90387E0001497F0001157F4848150048
-5A120F5B001F5D485A5E5B127FA2150112FF90C75BA41503A25EA37E1507A26C4A5A7F00
-1F141F6C6C133F6C6CEBFFF83B03F001EFFFC03900F80F8F90383FFE0FD90FF0EBE0002D
-407ABE33>I<EC3FE0903801FFF8903807E07E90380F801F90393F000F80017E14C049EB
-07E0485A12034848EB03F0485AA2121F5B123FA248481307A290B6FCA2D8FF80C8FC90C9
-FCA87EED01C015036C15806D1307001FEC0F006D131E000F5C6C6C5B6C6C485A3900FC07
-C0D93FFFC7FCEB07F8242A7BA828>I<ED07F0ED3FFCEDFC1E913803F03F4A48B4FC4A48
-1380141FEC3F81DA7F0113008102FE137C93C7FCA213015CA513035CA50007B512F8A326
-0007F0C8FCA3130F5CA5131F5CA5133F5CA5137F91C9FCA55B5BA4EA03FF007F13FEB5FC
-A229407DBF1C>I<177C913907F803FE91393FFE0F8F9139FC0F9C3F903901F007F89039
-07E003E0D90FC013F0011F903801F80C02801400133FD97F007FA315035B495CA3017E49
-5A5E150F6D5C6D495A90263F803EC7FCECC0FC903871FFF09038E07F8091C9FC485AA47F
-A27F90B512F8EDFF806C15E016F86D8048B6FC3A07E0000FFED80F801300003FC8127F00
-3E815A00FC815AA25E163EA25E6C15FC007C4A5A6C4A5A6CEC0FC0D80FC0013FC7FC3903
-F801FCC6B512F0010F90C8FC303D7FA82D>I<147FEB3FFFA313017FA25CA513015CA513
-035CA4ED07F80107EB1FFF9139F0781FC09138F1E00F9139F38007E0ECF70002FE14F049
-5A5CA25CA24A130F131F4A14E0A4161F133F4A14C0A4163F137F91C71380A4167F5B4915
-00A300015D486C491380B5D8F87F13FCA32E3F7DBE33>I<1478EB01FE130314FFA25B14
-FE130314FCEB00F01400ACEB03F8EA01FF14F0A2EA001F130FA314E0A5131F14C0A5133F
-1480A5137F1400A55B5BA4EA03FF007F13F0A2B5FC183E7DBD1A>I<ED0780ED1FE0153F
-16F0157FA216E0153F16C0ED0F0092C7FCACED7F80EC3FFF1600A2140180A35DA41401A2
-5DA41403A25DA41407A25DA4140FA25DA4141FA25DA4143F5DA4121E267F807FC7FCA200
-FF137E14FE5CEB01F8495A387C07E0383C0FC0D80FFFC8FCEA03F8245187BD1C>I<147F
-EB3FFFA313017FA25CA513015CA513035CA501070103B5FC02F014FEA26F13F06F1380EE
-FE00010F14F84A485AED03C04B5A031FC7FC153E011F13784A5AECC3E0ECC7F0ECCFF814
-FF497F14F9ECE1FE14C04A7E4A7E4980017E133F82151F82150F01FE8049130782A20001
-81486C49B4FCB5D8F03F13F04B13E0A2303F7EBE30>I<143FEB1FFF5BA213017FA214FE
-A5130114FCA5130314F8A5130714F0A5130F14E0A5131F14C0A5133F1480A5137F1400A5
-5B5BA4EA03FF007F13F8A2B5FC183F7DBE1A>I<902707F007F8EB03FCD803FFD91FFF90
-380FFF80913CE0781FC03C0FE09126E1E00FEBF0073E001FE38007E1C003F090260FE700
-EBE38002EEDAF70013F802FC14FE02D85C14F84A5CA24A5C011F020F14074A4A14F0A501
-3F021F140F4A4A14E0A5017F023F141F91C74914C0A549027F143F4992C71380A300014B
-147F486C496DEBFFC0B5D8F87FD9FC3F13FEA347287DA74C>I<903907F007F8D803FFEB
-1FFF9139E0781FC09138E1E00F3B001FE38007E090380FE70002EE14F014FC14D814F85C
-A24A130F131F4A14E0A4161F133F4A14C0A4163F137F91C71380A4167F5B491500A30001
-5D486C491380B5D8F87F13FCA32E287DA733>I<EC0FF0ECFFFE903903F01F8090390FC0
-07C049C66C7E013E6D7E01FC6D7E48488049147C0003157E485A000F157F5B121FA2485A
-A2007F1680A2170048C85AA54B5AA25E5A6C4A5A7E4B5A5E6C140F6C6C5C4B5A6C6C013E
-C7FC6C6C5B6C6C485A3900FC0FE090383FFF80D90FF8C8FC292A7BA82D>I<91387F01FE
-903A7FFF0FFFC09139FE3E03F09238F801F8903A03FFE000FE6D49137F4B7F92C713804A
-15C04A141FA218E0A20103150F5C18F0A3171F010716E05CA3173F18C0130F4A147F1880
-A2EFFF004C5A011F5D16034C5A6E495AEE1FC06E495AD93FDC017EC7FC91388F01F89138
-83FFE0028090C8FC92C9FC137FA291CAFCA45BA25BA31201487EB512F8A3343A81A733>
-I<903907F01F80D803FFEB7FE09138E1E1F09138E387F839001FE707EB0FE614EE02FC13
-F002D813E09138F801804AC7FCA25C131FA25CA4133F5CA5137F91C8FCA55B5BA3120148
-7EB512FEA325287EA724>114 D<9138FF81C0010713E390381F807F90397C003F804913
-1F4848130F5B00031407A248481400A27FA27F6D90C7FCEBFF8014FC6C13FF6C14C015F0
-6C6C7F011F7F13079038007FFE1403140100381300157EA2123C153E157E007C147CA200
-7E147815F8007F495A4A5A486C485A26F9E01FC7FC38E0FFFC38C01FE0222A7DA824>I<
-EB0380A4130791C7FCA25BA25BA2133EA2137E13FE12011207001FB512C0B6FCA2D801FC
-C7FCA312035BA512075BA5120F5BA41407001F130E13C0A4141E141C1380A26D5AA2000F
-5B14F03807E1E03801FF80D8007EC7FC1A3978B723>I<01FE147F00FFEC7FFF4914FEA2
-0007140300031401A34914FCA4150312074914F8A41507120F4914F0A4150F121F4914E0
-A2151FA3153F4914C0157F15FFEC01DF3A0FC003BFE09138073FFF3803F01E3801FFF826
-003FE01380282977A733>I<B539E007FFF05D17E02707FE000313006C48EB01FC6F5A5E
-00014A5A5EA24B5A6D1307000092C7FC5D150E6D5B7F5DA25D1480013F5B14815D14C301
-1F5B02C7C8FCA214CE14EEEB0FFCA25CA26D5A5CA25CA26D5A2C2878A630>I<B500C3B5
-3803FFFCA204FE14F8290FFE003FE00013C0D807F86D48EB7F000003173E183C150F1838
-6D5E0001141F705B153F4D5A15776D4B5A0000ECE7F04DC7FCEC01C3170E9038FF038301
-7F5D91380703F85FEC0E01021E5CD93F9C14F002BC6D5A02B813FDDAF8005B4A13FF5F6D
-5A94C8FC5C4A137E167C6DC7FC1678010E14383E2878A642>I<90B539E007FFF05E18E0
-902707FE000313006D48EB01FC705A5F01014A5A5F16036E5C0100140794C7FC160E805E
-805E1678ED8070023F13F05EED81C015C191381FC38015C793C8FC15EF15EEEC0FFCA25D
-A26E5AA25DA26E5A5DA24AC9FC5C140E141E141C5C121C003F5B5A485B495A130300FE5B
-4848CAFCEA701EEA783CEA3FF0EA0FC0343A80A630>121 D<017FB512FEA2ECC0019039
-7E0003FC49EB07F849EB0FF049EB1FE049EB3FC0ED7F8000011500495B4A5A4A5A484848
-5A4A5AC7485A4A5A5D147F4AC7FC495A495A49481370494813E0495A5C133F90387F8001
-D9FF0013C0485A48481303485A4848EB078049130F4848131F003F143F397F8001FFB712
-00A227277EA628>I E
-%EndDVIPSBitmapFont
-%DVIPSBitmapFont: Fp cmbx12 17.28 47
-/Fp 47 122 df<B812C0AD2A0D7EA636>45 D<16F04B7E1507151F153FEC01FF1407147F
-010FB5FCB7FCA41487EBF007C7FCB3B3B3B3007FB91280A6395E74DD51>49
-D<913801FFF8021FEBFFC091B612F8010315FF010F16C0013F8290267FFC0114F89027FF
-E0003F7F4890C7000F7F48486E7FD807F86E148048486E14C048486E14E048486F13F001
-FC17F8486C816D17FC6E80B56C16FE8380A219FFA283A36C5BA26C5B6C90C8FCD807FC5D
-EA01F0CA14FEA34D13FCA219F85F19F04D13E0A294B512C019804C14004C5B604C5B4C5B
-604C13804C90C7FC4C5A4C5A4B13F05F4B13804B90C8FC4B5AED1FF84B5A4B5A4B48143F
-4A5B4A48C8FC4A5A4A48157E4A5A4A5AEC7F8092C9FC02FE16FE495A495A4948ED01FCD9
-0FC0150749B8FC5B5B90B9FC5A4818F85A5A5A5A5ABAFCA219F0A4405E78DD51>I<92B5
-FC020F14F8023F14FF49B712C04916F0010FD9C01F13FC90271FFC00077FD93FE001017F
-49486D8049C86C7F484883486C6F7F14C0486D826E806E82487FA4805CA36C5E4A5E6C5B
-6C5B6C495E011FC85A90C95CA294B55A614C91C7FC604C5B4C5B4C5B4C5B047F13809226
-0FFFFEC8FC020FB512F817E094C9FC17F817FF91C7003F13E0040713F8040113FE707F71
-7F7113E085717FA2717F85A285831A80A31AC0EA03FCEA0FFF487F487F487FA2B57EA31A
-80A34D14005C7E4A5E5F6C495E49C8485BD81FF85F000F5ED807FE92B55A6C6C6C491480
-6C01F0010791C7FC6C9026FF803F5B6D90B65A011F16F0010716C001014BC8FCD9001F14
-F0020149C9FC426079DD51>I<F01F804E7E187F18FFA25F5F5F5FA25F5F5FA294B5FC5E
-5E5EA25E5EEE3FBFEE7F3FA216FEED01FCED03F8ED07F0A2ED0FE0ED1FC0ED3F8016005D
-15FE4A5A4A5AA24A5A4A5A4A5A4A5AA24AC7FC14FE495A5C1303495A495A495A5C133F49
-C8FC13FE485AA2485A485A485A5B121F485A48C9FC12FEBCFCA6CA6CEBC000B1037FB8FC
-A6485E7CDD51>I<01C0EE01C0D801F8160F01FF167F02F0EC07FFDAFF8090B5FC92B712
-8019006060606060606095C7FC17FC5F17E0178004FCC8FC16E09026FC3FFCC9FC91CBFC
-ADED3FFE0203B512F0020F14FE023F6E7E91B712E001FDD9E00F7F9027FFFE00037F02F8
-01007F02E06EB4FC02806E138091C8FC496F13C04917E07113F0EA00F090C914F8A219FC
-83A219FEA419FFA3EA03F0EA0FFC487E487E487FA2B57EA319FEA35C4D13FC6C90C8FC5B
-4917F8EA3FF001804B13F06D17E0001F5E6C6C17C06D4B1380D807FC92B512006C6C4A5B
-6C6C6C01075B6C01E0011F5BD97FFE90B55A6DB712C0010F93C7FC6D15FC010115F0D900
-3F1480020301F0C8FC406078DD51>I<EE1FFF0303B512E0031F14F892B612FE0203814A
-D9FC037F021F9039C0007FC04A90C7EA1FE0DAFFFC6E7E494914074949EC7FF8494914FF
-49495B4949497F4990C7FC495D5C13FF485BA25A4A6E5B5A715B48496E5B725A4894C8FC
-A35AA35C48913801FFE0030F13FE033F6D7E4B14E092B612F89126E1FE037FB53AE3F000
-7FFEDAE7E06D7EDAEFC06D7F4B6D7F02FFC76C7F4A82717F4A82A2854A8085A24A1780A5
-4A17C0A37EA77EA47E6E1780A27EA21A007E4D5B7E6E5E7E6E5E6C4C5B6D7E013F4B5B6D
-6C4A5B6D01C0495B6D6D90B5C7FC6DD9FC0713FC6D90B65A6D5E023F15C0020F92C8FC02
-0114F8DA001F1380426079DD51>I<EA07E0120F7F13FCEBFFFC91B912F8A45AA21AF01A
-E01AC01A801A00A248606161616101E0C9123F01804C5A48CA485A4D90C7FC60007E4C5A
-17074D5A4D5A4D5A485F4D5A17FF4C90C8FCC9485A5F4C5A160F4C5A5F163F4C5A16FF5F
-5D94C9FC5D5D5E150FA24B5AA2153FA24B5AA215FFA34A5BA25CA35CA44A5BA45CA65CAD
-6E5BA26E5BDA03FECAFC6E5A456377E051>I<F00FE04E7EA24E7EA34E7EA24E7EA34D7F
-A24D80A24D80A34D80A24D80A34D80A2DD7FBF7FA2181F05FF8017FE04016D7FA24D7E04
-038217F804076D80A24D7E040F8217E0041F6D80A24D7F043F825F047F6E7FA294C77E4C
-825E03016F7FA24C800303845E03076F80A24C80030F845E031F6F80A24C81033F845E03
-7F707F93B9FCA292BA7EA24A85A203FCC912070203865D020771805D86020F864B82021F
-865D87023F864B83027F8692CBFC874A864A840101875C496C728090381FFFC0B700E092
-B812FEA66F647BE37A>65 D<BB12F0F2FF801BF81BFEF3FFC088D800010280C7000114F8
-DF003F7F080F13FF74807480867480757FA2757FA28987A289A965A26365A2515BA298B5
-5A505C505C5091C7FC505B505B087F13F00703B512C096B6C8FC93B812F81BC01BF8F3FF
-801CE00480C8001F13F8080713FE08016D7E7480757F757F757F89757F89871E80871EC0
-A41EE087A663A21EC0A3631E80A2511400A2515B515B6398B55A505C08075C081F5C97B6
-C7FCBD5A1CF81CE099C8FC1BF898C9FC63627AE173>I<4DB5ED03C0057F02F014070407
-B600FE140F047FDBFFC0131F4BB800F0133F030F05FC137F033F9127F8007FFE13FF92B6
-C73807FF814A02F0020113C3020702C09138007FE74A91C9001FB5FC023F01FC16074A01
-F08291B54882490280824991CB7E49498449498449498449865D49498490B5FC484A84A2
-484A84A24891CD127FA25A4A1A3F5AA348491A1FA44899C7FCA25CA3B5FCB07EA380A27E
-A2F50FC0A26C7FA37E6E1A1F6C1D80A26C801D3F6C6E1A00A26C6E616D1BFE6D7F6F4E5A
-7F6D6D4E5A6D6D4E5A6D6D4E5A6D6E171F6D02E04D5A6E6DEFFF806E01FC4C90C7FC020F
-01FFEE07FE6E02C0ED1FF8020102F8ED7FF06E02FF913803FFE0033F02F8013F1380030F
-91B648C8FC030117F86F6C16E004071680DC007F02F8C9FC050191CAFC626677E375>I<
-BB12E0F2FF801BF01BFE757E1CF0D800010280C7000780DF007F13FE080F6D7E08018074
-80093F7F090F13FC757F757F877580767F8A88767F8A888AA2767FA28A881F80A37614C0
-A41FE0A5881FF0B05214E0A51FC0A4521480A31F006466A2525BA2525BA2525B666499B5
-5A515C5191C7FC515B515B515B097F5B50B512C008075C083F91C8FC0707B512FCBD12F0
-1CC051C9FC1BF81B8008E0CAFC6C627AE17C>I<BD12FCA488A2D8000102C0C71201F100
-0F1A01F2007F1B3F1B0F1B07757EA28787A288A3F43F80A31C1FA3197EA3F40FC0A499C7
-FC19FEA31801A218031807181F18FF93B6FCA6EEC000181F180718031801A21800A21D7E
-197EA21DFCA696C812011DF8A31C03A3F407F0A31C0FA21C1F1C3F1DE01C7F1CFF63631B
-0F093F13C098B5FC1A0797B6FCBEFCA31D80A35F617AE06A>I<4DB5ED03C0057F02F014
-070407B600FE140F047FDBFFC0131F4BB800F0133F030F05FC137F033F9127F8007FFE13
-FF92B6C73807FF814A02F0020113C3020702C09138007FE74A91C9001FB5FC023F01FC16
-074A01F08291B54882490280824991CB7E49498449498449498449865D49498490B5FC48
-4A84A2484A84A24891CD127FA25A4A1A3F5AA348491A1FA44899C8FCA25CA3B5FCB07E07
-1FB812F880A37EA296C70001ECC000A26C7FA37E807EA26C80A26C80A26C807F6D7F816D
-7F7F6D7F6D6D5F6D14C06D6E5E6E7F6E01FC5E020F01FF5E6E02C0ED7FEF020102F8EDFF
-C76E02FF02071383033F02FC013F1301030F91B638FC007F03014D131F6F6C04E0130704
-0704801301DC007F02F8CAFC050191CBFC6D6677E37F>71 D<B96C90B91280A6D8000102
-C0C9000102C0C7FCB3B3A293BBFCA604C0C91201B3B3A6B96C90B91280A671627AE17E>
-I<B912E0A6C702E0C7FCB3B3B3B3AEB912E0A633627CE13C>I<B96C020FB612FCA6D800
-0102C0CA003FEBF0000A0390C7FC525A525AF41FF0525A525A525A090390C8FC515AF30F
-F8515A515A515A50485A5090C9FC505AF20FF8505A505A505A4F485A4F90CAFCF107FC4F
-5A4F5A4F5A4F5A4E485A4E90CBFCF007FC4E5A4E7E4E7E18FF4D7F4D805F4D804D804D80
-94B6FC04C181DCC3FE809326C7FC7F7F9338CFF83F9326DFF01F7FDCFFE0814D6C804D7E
-DCFE00814C6D804C7F4C6D804C824C6E7F85737F8873808588738085738088747F86747F
-8974808689748086748089757F87757F8A7580878A7580090F14FCB96C010FB8FCA67062
-7AE17E>75 D<B912F8A6D8000102C0CBFCB3B3B1F307E0A5F30FC0A61B1FA31B3F1C80A2
-1B7FA21BFFA262A262625013006262624FB5FC1907191F4EB6FCBDFC63A553627AE161>
-I<B700E0040FB7128082828282A2D800016EDC000101FCC7FC719338001FC08383A28302
-FD808302FC80816F7F6F806F8084816F806F806F8084707F827080708085708082708070
-8085717F83718071807180868371807180727F8672808472807280877280847280737F87
-731480857314C07314E01CF07314F8857314FC7413FE7413FF1D9F867414DF7414FF86A2
-86868787A287878787A28787888888A288888890261FFFC084B712F8881D7F1D3F1D1F77
-5A71627AE17E>78 D<BB7E1AFCF2FFC01BF81BFE757ED800010280C7001F80070114F073
-6C7F081F7F747F747F7414807414C0A27414E0A21DF0A27513F8A41DFCA91DF8A498B512
-F0A21DE0A25014C01D8062501400505B505B087F5B4FB512E0071F5C93B9C7FC1BFC1BF0
-1B8008F0C8FC04C0CCFCB3B3A2B97EA65E627AE16E>80 D<BA12F8F1FFE01AFEF2FFC01B
-F01BFED800010280C76C7F070714C0070014F0747F081F7F747F747F7480A2748089A374
-80A389A865A3505CA265A2505C9AC9FC505B505B505B087F5B4FB55A0707148096B548CA
-FC93B812F81BC050CBFC621AFF932680000314C0DE007F7F071F13F8737F737F737F7380
-8885888688A2747FA688A688A676140FF71F80A374801F3F86771400745E746E5BB96E6E
-5B746E485A75EBFE07091F90B55A090715E009015DCF003F91C7FC0A0013FC71647AE178
->82 D<DBFFFCEC01E0020FD9FFE01303027F02FC130749B7130F0107EEC01F011F16F049
-D9C007EBF83F4948C7383FFE7FD9FFF8020FB5FC4801E014014849804849153F91C97E48
-4882001F834982003F83845B007F187FA2193FA200FF181FA27F190FA27FA26D17078080
-806C01F893C7FC80ECFF8015F86CECFFC016FC6CEDFFE017FE6CEEFFE018F86C17FE6C71
-7E6C846C846D17F86D836D836D8313036D18806D6C17C0020F17E01401DA000F16F01500
-040715F8EE007F1703050014FC183F84060713FE84A2007C8300FC83A2197FA3193F7EA3
-1AFC7EA27F1AF86D177F7F1AF06D17FF6D18E06D5E01FF18C06E4B138002E04B130002F8
-4B5A02FFED3FFC01CF01E0ECFFF8018301FF010F5B010191B65A6D6C5E48011F93C7FC48
-010315FC48D9003F14E048020149C8FC476677E35A>I<001FBEFCA64849C79126E0000F
-148002E0180091C8171F498601F81A0349864986A2491B7FA2491B3F007F1DC090C9181F
-A4007E1C0FA600FE1DE0481C07A5CA95C7FCB3B3B3A3021FBAFCA663617AE070>I<B96C
-023FB612FEA6D8000102C0CA0007EBF000E2007FC7FCB3B3B3AA656D63A2821C01806570
-170380525A6E7F6E4F5A70171F6E626E6D4D5A6E6D177F525A6E6E030390C8FC033F01E0
-4B5A6F6DED1FFC6F01FCED7FF80303D9FF80903803FFE06F02F8017F5B6F6C90B7C9FC04
-1F5E040716F8040016C0050F4ACAFCDD003F13C06F647AE17C>I<913803FFFE027FEBFF
-F00103B612FE010F6F7E4916E090273FFE001F7FD97FE001077FD9FFF801017F486D6D7F
-717E486D6E7F85717FA2717FA36C496E7FA26C5B6D5AEB1FC090C9FCA74BB6FC157F0207
-B7FC147F49B61207010F14C0013FEBFE004913F048B512C04891C7FC485B4813F85A5C48
-5B5A5CA2B55AA45FA25F806C5E806C047D7F6EEB01F96C6DD903F1EBFF806C01FED90FE1
-14FF6C9027FFC07FC01580000191B5487E6C6C4B7E011F02FC130F010302F001011400D9
-001F90CBFC49437CC14E>97 D<903807FF80B6FCA6C6FC7F7FB3A8EFFFF8040FEBFF8004
-7F14F00381B612FC038715FF038F010014C0DBBFF0011F7FDBFFC001077F93C76C7F4B02
-007F03F8824B6F7E4B6F13804B17C0851BE0A27313F0A21BF8A37313FCA41BFEAE1BFCA4
-4F13F8A31BF0A24F13E0A24F13C06F17804F1300816F4B5A6F4A5B4AB402075B4A6C6C49
-5B9126F83FE0013F13C09127F00FFC03B55A4A6CB648C7FCDAC00115F84A6C15E091C700
-1F91C8FC90C8000313E04F657BE35A>I<92380FFFF04AB67E020F15F0023F15FC91B77E
-01039039FE001FFF4901F8010113804901E0010713C04901804913E0017F90C7FC49484A
-13F0A2485B485B5A5C5A7113E0485B7113C048701380943800FE0095C7FC485BA4B5FCAE
-7EA280A27EA2806C18FCA26C6D150119F87E6C6D15036EED07F06C18E06C6D150F6D6DEC
-1FC06D01E0EC7F806D6DECFF00010701FCEB03FE6D9039FFC03FFC010091B512F0023F5D
-020F1580020102FCC7FCDA000F13C03E437BC148>I<F17FF8050FB5FCA6EF000F8484B3
-A892380FFF804AB512F8020F14FE023FECFF8391B712E301039138807FF3499039F8000F
-FB011F01E00103B5FC494913004990C87E49488148498148834A815A485BA2485BA25AA3
-485BA4B5FCAE7EA46C7FA37EA26C7FA26C5F806C5F6C6D5D6C6D5D017F93B5FC6D6C6C01
-03806D6D49806D01F0D91FF7EBFFFE6D9039FE01FFE7010190B612876D6CECFE07021F14
-F8020314E09127003FFE00ECC0004F657BE35A>I<92380FFFC04AB512FC020FECFF8002
-3F15E091B712F80103D9FE037F499039F0007FFF011F01C0011F7F49496D7F4990C76C7F
-49486E7F48498048844A804884485B727E5A5C48717EA35A5C721380A2B5FCA391B9FCA4
-1A0002C0CBFCA67EA380A27EA27E6E160FF11F806C183F6C7FF17F006C7F6C6D16FE6C17
-016D6C4B5A6D6D4A5A6D01E04A5A6D6DEC3FE0010301FC49B45A6D9026FFC01F90C7FC6D
-6C90B55A021F15F8020715E0020092C8FC030713F041437CC14A>I<EE3FFC0307B51280
-033F14C04AB612F0020715F84A9038F03FFC4AEB807F913A7FFE00FFFE4A5A4B4813FF49
-13F05B4913E0A24913C0A27013FE4949EB7FFCEF3FF8EF1FF0EF07C094C7FCB0B812C0A6
-D8001F01C0C8FCB3B3B0007FB612FCA638657CE431>I<F107F8DB7FFEEC3FFE020FB5D8
-F001B5FC027FDAFE03148049B7128F49DCDFFD13C0010FD9F00FEBFFC149D98001140149
-90C7EBFC0349486E6C7E4948EC3FFF48496E018113800780130048F0C03E97C7FC48496E
-7FA34884A96C60A36C6D4A5BA26C60A26C6D4A90C8FC6D6C4A5A6D6C4A5A6D6D485BDBF0
-0F5B4990B612C060D97C7F4AC9FCD9FC0F14F09126007FFECAFC92CCFC1201A47FA27F80
-14F091B77E18FE6CEFFFC019F06D17FC19FF6D846D846D846D84013F8490BAFC00038548
-01E0C712014890C9000F7F484816014848EE007F4848717E8512FF5B85A56D5F007F616D
-173F003F616D177F6C6C4D5A6C01C003035B6C6D4B5B6C01F8031F5BC601FF92B5C7FC6D
-01F8011F5B011F90B712F8010717E0010094C8FC020F15F0DA003F01FCC9FC4A607CC151
->I<903807FF80B6FCA6C6FC7F7FB3A8EF1FFF94B512F0040714FC041F14FF4C8193267F
-E07F7F922781FE001F7FDB83F86D7FDB87F07FDB8FC0814C7F039FC78015BE03BC8003FC
-825DA25DA25DA45DB3B2B7D8F007B71280A651647BE35A>I<EB0FE0EB3FF8497E48B5FC
-A24880A24880A76C5CA26C91C7FCA238007FFC6D5AEB0FE090C9FCAF903807FF80007FB5
-FCA6C6FC7F7FB3B3AEB712C0A622657BE42C>I<903807FF80B6FCA6C6FC7F7FB3A90503
-B61280A6DD003FEB8000DE0FFCC7FCF01FF04E5AF0FFC04D5B4D90C8FCEF07FC4D5AEF3F
-F04D5A4D5A4C90C9FC4C5AEE0FFC4C5A4C5AEE7FC04C7E03837F03877F158F039F7F03BF
-7F92B5FC838403FC804B7E03F0804B6C7F4B6C7F1580707F707F707FA270807080717FA2
-717F717F717FA2717F717F83867180727F95B57EB7D8E00FECFFF0A64C647BE355>107
-D<903807FF80B6FCA6C6FC7F7FB3B3B3B3ADB712E0A623647BE32C>I<902607FF80D91F
-FFEEFFF8B691B500F00207EBFF80040702FC023F14E0041F02FF91B612F84C6F48819326
-7FE07F6D4801037F922781FE001F9027E00FF0007FC6DA83F86D9026F01FC06D7F6DD987
-F06D4A487F6DD98FC0DBF87EC7804C6D027C80039FC76E488203BEEEFDF003BC6E4A8003
-FC04FF834B5FA24B5FA24B94C8FCA44B5EB3B2B7D8F007B7D8803FB612FCA67E417BC087
->I<902607FF80EB1FFFB691B512F0040714FC041F14FF4C8193267FE07F7F922781FE00
-1F7FC6DA83F86D7F6DD987F07F6DD98FC0814C7F039FC78015BE03BC8003FC825DA25DA2
-5DA45DB3B2B7D8F007B71280A651417BC05A>I<923807FFE092B6FC020715E0021F15F8
-027F15FE494848C66C6C7E010701F0010F13E04901C001037F49496D7F4990C87F49486F
-7E49486F7E48496F13804819C04A814819E048496F13F0A24819F8A348496F13FCA34819
-FEA4B518FFAD6C19FEA46C6D4B13FCA36C19F8A26C6D4B13F0A26C19E06C6D4B13C0A26C
-6D4B13806C6D4B13006D6C4B5A6D6D495B6D6D495B010701F0010F13E06D01FE017F5B01
-0090B7C7FC023F15FC020715E0020092C8FC030713E048437CC151>I<902607FF80EBFF
-F8B6010FEBFF80047F14F00381B612FC038715FF038F010114C09227BFF0003F7FC6DAFF
-C0010F7F6D91C76C7F6D496E7F03F86E7F4B6E7F4B17804B6F13C0A27313E0A27313F0A2
-1BF885A21BFCA3851BFEAE4F13FCA41BF861A21BF0611BE0611BC06F92B512801B006F5C
-6F4A5B6F4A5B03FF4A5B70495B04E0017F13C09226CFFC03B55A03C7B648C7FC03C115F8
-03C015E0041F91C8FC040313E093CBFCB3A3B712F0A64F5D7BC05A>I<D90FFFEB0FFCB6
-90383FFF8093B512E04B14F04B14F8923907FC7FFC92390FE0FFFEC6EC1F806DD93F0113
-FF6D133E157E157C15F8A215F07013FEA24BEB7FFCEF3FF8EF0FE04B90C7FCA55DB3B0B7
-12F8A638417BC042>114 D<913A3FFF8007800107B5EAF81F011FECFE7F017F91B5FC48
-B8FC48EBE0014890C7121FD80FFC1407D81FF0801600485A007F167F49153FA212FF171F
-A27F7F7F6D92C7FC13FF14E014FF6C14F8EDFFC06C15FC16FF6C16C06C16F06C826C826C
-826C82013F1680010F16C01303D9007F15E0020315F0EC001F1500041F13F81607007C15
-0100FC81177F6C163FA2171F7EA26D16F0A27F173F6D16E06D157F6D16C001FEEDFF806D
-0203130002C0EB0FFE02FCEB7FFC01DFB65A010F5DD8FE0315C026F8007F49C7FC48010F
-13E035437BC140>I<EC07E0A6140FA5141FA3143FA2147FA214FF5BA25B5B5B5B137F48
-B5FC000F91B512FEB8FCA5D8001F01E0C8FCB3AFEF0FC0AC171F6D6D1480A2173F6D1600
-6F5B6D6D137E6D6D5B6DEBFF836EEBFFF86E5C020F14C002035C9126003FFCC7FC325C7D
-DA3F>I<902607FFC0ED3FFEB60207B5FCA6C6EE00076D826D82B3B3A260A360A2607F60
-183E6D6D147E4E7F6D6D4948806D6DD907F0ECFF806D01FFEB3FE06D91B55A6E1500021F
-5C020314F8DA003F018002F0C7FC51427BC05A>I<B700C00103B512FCA6C66C01C0C838
-1FFE006D6DED07F0A26D6D5E190F6D6D5E191F6D606F153F6D95C7FC6F5DA26D6D157E19
-FE6D6E5C18016E5E7013036E5E701307A26E6D5C180F6E6D5C181F6E6D5C183F6E93C8FC
-705BA26E6D13FEA26E6E5A17816FEBC1F817C36F5C17E76F5C17FFA26F5CA26F5CA26F91
-C9FCA26F5BA36F5BA2705AA2705AA2705AA2705A4E417DBF55>I<B70081B600FC0103B5
-12FCA6C66C0180C701FCC8381FFE006F6FED03F86D047F5F856F6E16076D646F70140F6D
-705F866F6E161F6D646F4A6D143F6D99C7FC4E7F6F616D1B7E6F4A6D14FE6D6395B57E70
-01FC15016E62DCC0016E13036EDBF87F5D05038004E0496C14076E62DCF007ED800F6E4B
-6C5D050F15C004F8496C141F6E62DCFC1FEDE03F6E4B6C92C8FC053F15F004FE496C5C6E
-197E7048EDF8FE6E027E6D5C05FE15FC4D6D13FD6F601BFF6F496E5BA24D806F60A26F49
-6E5BA24D806F60A26F496E90C9FCA294C87E6F5FA26F486F5A047C6F5A6E417DBF75>I<
-007FB600C0017FB512F8A6D8001F01F8C70007EBF0006D040190C7FC6D6D5D6D6D4A5A6D
-6D4A5A70495A6D4C5A6E7F6E6D495A6E6D495A7049C8FC6E4A5A6E6D485A6E6D485A6E13
-FFEF8FF06EEC9FE06FEBFFC06F5C6F91C9FC5F6F5B816F7F6F7F8481707F8493B57E4B80
-5D4B80DB0FF37FDB1FE17F04C080153F4B486C7F4B486C7F4A486D7F4A486D7F4A5A4B6D
-7F020F6E7F4A486D7F4A486D804A5A4AC86C7F49486F7F4A6F7F0107707FEB3FFFB600F0
-49B7FCA650407EBF55>I<B700C00103B512FCA6D8003F01C0C8381FFE006FED07F0A26D
-6D5E190F6D6D5E191F6D6D5E193F6D95C7FC6F5D6D177E6F15FEA26D6E495AA26E6D5C18
-036E6D5C18076E5E70130F6E5E70131FA26E6D495AA26E6D91C8FC606E6D137E18FE6E5D
-17816F5C17C3A26FEBE7F0A26FEBF7E017FF6F5CA26F5CA26F91C9FCA36F5BA26F5BA270
-5AA2705AA2705AA35FA25F163F94CAFC5E167E16FED807E05CD81FF81301487E486C495A
-A2B5495AA24B5A5E151F4B5A6C4849CBFC15FEEBFC01393FF807FC391FF03FF06CB55A6C
-5C6C91CCFCC613FCEB1FE04E5D7DBF55>I E
-%EndDVIPSBitmapFont
-%DVIPSBitmapFont: Fq cmsy10 10.95 2
-/Fq 2 16 df<EE7FFE0307B512E0033F14FC92B7FC0203D9C00313C0DA0FFCC7EA3FF0DA
-3FE0EC07FCDA7F80EC01FED901FEC9EA7F80D903F8EE1FC0D907E0EE07E04948707E4948
-707E49CB7E017E187E498449844848F00F8000031AC04918074848F003E0A24848F001F0
-A248CD12F8A2001E1A78003E1A7CA2003C1A3C007C1A3EA200781A1EA300F81A1FA2481A
-0FAB6C1A1FA200781A1EA3007C1A3EA2003C1A3C003E1A7CA2001E1A78001F1AF8A26C6C
-F001F0A26C6CF003E0A26C6CF007C06D180F00011A806C6CF01F006D60017E187E6D606D
-6C4C5A6D6C4C5A6D6C4C5AD903F8EE1FC0D901FEEE7F809026007F80DA01FEC7FCDA3FE0
-EC07FCDA0FFCEC3FF0913B03FFC003FFC0020090B6C8FC033F14FC030714E09226007FFE
-C9FC50557BC05B>13 D<EB0FFCEB3FFF90B512C0000314F04880488048804880A2481580
-A3B712C0AA6C1580A36C1500A26C5C6C5C6C5C6C5CC614C0013F90C7FCEB0FFC22227BA7
-2D>15 D E
-%EndDVIPSBitmapFont
-%DVIPSBitmapFont: Fr cmbx12 14.4 61
-/Fr 61 122 df<922601FFFC903801FFE0033F9026FF801F13F84AB6D8E07F13FE020F03
-F9B6FC023FD9C00FB500C0138091277FFC0003D9FE0113C0902601FFE049495A49494949
-4813E04990C714F049484A13E0495A19C0495A7413C0017F17804A6E6E1380719138007E
-007192C7FCAEBCFCA526007FF8C7000301C0C8FCB3B3A7007FB5D8F803B612F0A553547D
-D34E>11 D<EEFFFC031FEBFF804AB612E0020781021F9038C00FF8913A7FFE0003FCDAFF
-F0EB00FE4949EB03FF4901805B4990C7487F49485CA2495A4D7F013F6F5B5CA37190C7FC
-715AEF01F894C9FCA90403B512C0BAFCA526003FFCC7120783B3B3A6003FB5D8FC03B612
-C0A542547DD34B>I<49B419F0010F01E01701013F6D4D7E4901FC17079026FFC1FE170F
-48D9007F4D5A4848D93FC0163F0007DA1FF04C5A48486D6C4B485A6FB403075B484803C0
-141F003F6E01F891B5C8FC9327EFFFC00F5B04F190B6FC4848902601F07FECF7FC0507EC
-8FF8943A003FF00FF07090C7121F00FF02004C5A505A631AFF4F90C9FC624F5A19074F5A
-62191F4F5A4F5A007F02015E4C14FF4E90CAFC4E5A6C6C01035D4C13074E5A001F02075D
-6C6C4A495A030F143F6C6C4948495A00034AC75B6C6C017E14FF6CD9C1FC4990CBFC6DB4
-48495A6D495C010F491307010190C74848EC1FF090C94848ECFFFE4E01037F053F4A804D
-4890390FFC1FC04E90391FF007E04DC748486C7E4C037F6D7E4C484A486C7E4D177C0407
-4A49137E4C4849153E4C5A4D173F043F4A90C77E4C5A4C5A94C717804B4B150F4B5A5E4B
-5A150F4B5A5E153F4B5A4B5A93C8FC5C4A5A4A486F151F4B1A00140F4A5A4B6F6D5B4A48
-193E147F4A486F157E92CA6D137C491BFC4948716C485A4948053F495A4A716C485A010F
-95390FFC1FC04A71B55A4A7191C7FC6D4805005B0103F11FF0616179D970>37
-D<EA07F0EA1FF8487E487E7FB5FC1480A314C0A37EA27E7EEA07F3EA0003A213071480A3
-130F1400A25B131E133E133C137C5BA2485A485A485A485A48C7FC121E120C1228769025
->44 D<B712F0AB240B7F9F2D>I<EA07F0487E487E487E487EB51280A76C13006C5A6C5A
-6C5A6C5A1111769025>I<913803FFC0023F13FC91B6FC010315C0010F018113F0903A1F
-FC003FF849486D7E49486D7E49486D7E48496D138048496D13C0A24817E04890C813F0A3
-4817F8A24817FC49157FA3007F17FEA600FF17FFB3A5007F17FEA6003F17FCA26D15FFA2
-6C17F8A36C17F0A26C6D4913E0A26C6D4913C06C17806E5B6C6D4913006D6C495AD91FFC
-EB3FF8903A0FFF81FFF06D90B55A01011580D9003F01FCC7FC020313C0384F7BCD43>48
-D<157815FC14031407141F14FF130F0007B5FCB6FCA2147F13F0EAF800C7FCB3B3B3A600
-7FB712FEA52F4E76CD43>I<EC3FFE0103B512E0010F14FC013F14FF90B712C048D9C07F
-7F2703FE000F13F8D807F801037FD80FE06D7F48486D7F48488001F01680486C6E13C07F
-486C6E13E07FA27013F0A56C5AA26C5AEA0FF0EA03C0C914E05EA218C05E1880A24C1300
-5F4C5A4B5B5F4B5B5F4B5B4B90C7FC4B5A5E4B5AED7FE04B5A4A5B4A48C8FC4A5A5D4A48
-EB01F04A5AEC3F804AC7FC02FEEC03E0495A495A495A495AD91F80140749C8FC013E150F
-017FB7FC90B812C05A5A5A5A5A5A5AB9FC1880A4344E79CD43>I<91380FFFC091B512FC
-0107ECFF80011F15E090263FF8077F9026FF800113FC4848C76C7ED803F86E7E491680D8
-07FC8048B416C080486D15E0A4805CA36C17C06C5B6C90C75AD801FC1680C9FC4C13005F
-A24C5A4B5B4B5B4B13C04B5BDBFFFEC7FC91B512F816E016FCEEFF80DA000713E0030113
-F89238007FFE707E7013807013C018E07013F0A218F8A27013FCA218FEA2EA03E0EA0FF8
-487E487E487EB57EA318FCA25E18F891C7FC6C17F0495C6C4816E001F04A13C06C484A13
-80D80FF84A13006CB44A5A6CD9F0075BC690B612F06D5D011F1580010302FCC7FCD9001F
-1380374F7ACD43>I<177C17FEA2160116031607160FA2161F163F167FA216FF5D5DA25D
-5DED1FBFED3F3F153E157C15FCEC01F815F0EC03E01407EC0FC01580EC1F005C147E147C
-5C1301495A495A5C495A131F49C7FC133E5B13FC485A5B485A1207485A485A90C8FC123E
-127E5ABA12C0A5C96C48C7FCAF020FB712C0A53A4F7CCE43>I<D80380150ED807E0157E
-01FEEC03FED9FFF0137F91B65A5F5F5F5F5F94C7FC5E5E16F016C093C8FC15F801E190C9
-FC01E0CAFCABEC0FFF027F13F001E3B512FE01E76E7E9026FFF8077FDAC0017F49C713F8
-496E7E49143F4981496E7E6C481680C9FC18C08218E0A418F0A3EA0FE0487E487E487E48
-7EA418E0A35B6C484A13C05B491680003EC85A003F17006C6C4A5A6D5D6C6C4A5AD807F8
-495BD803FE01075B2701FFC03F5B6C90B65A013F4AC7FC6D14F8010314C09026007FF8C8
-FC344F79CD43>I<ED0FFF92B512E0020780021F14FC91397FFE03FE903A01FFF0007F49
-01C0EB3F804990C7121F4948EC7FC0494814FF49484913E049485B01FF5C485BA2485B5A
-A2486F13C04A6D1380486F1300177E94C7FC5AA291CAFC5AA21508913801FFF8020713FF
-B54814C04A14F04AC66C7E023C6D7E4A6D7E4A6D7E7013804A15C0A24A15E07013F05C18
-F8A491C714FCA37EA67EA46C17F880A27E18F06C5D18E06C6D15C07E6E4913806C6D1500
-6D6C495A6D6CEB7FFC6DB448485A6D90B55A010315C0010092C7FC023F13FC020713C036
-4F7ACD43>I<121F7F7FEBFF8091B81280A45A1900606060A2606060485F0180C86CC7FC
-007EC95A4C5A007C4B5A5F4C5A160F4C5A484B5A4C5A94C8FC16FEC812014B5A5E4B5A15
-0F4B5AA24B5AA24B5A15FFA24A90C9FCA25C5D1407A2140FA25D141FA2143FA4147F5DA3
-14FFA55BAC6D5BA2EC3FC06E5A395279D043>I<913807FFC0027F13FC0103B67E010F15
-E090261FFC0113F8903A3FE0003FFCD97F80EB0FFE49C76C7E48488048486E1380000717
-C04980120F18E0177FA2121F7FA27F7F6E14FF02E015C014F802FE4913806C7FDBC00313
-009238F007FE6C02F85B9238FE1FF86C9138FFBFF06CEDFFE017806C4BC7FC6D806D8101
-0F15E06D81010115FC010781011F81491680EBFFE748018115C048D9007F14E04848011F
-14F048487F48481303030014F8484880161F4848020713FC1601824848157F173FA2171F
-A2170FA218F8A27F007F17F06D151FA26C6CED3FE0001F17C06D157F6C6CEDFF806C6C6C
-010313006C01E0EB0FFE6C01FCEBFFFC6C6CB612F06D5D010F1580010102FCC7FCD9000F
-13C0364F7ACD43>I<91380FFF8091B512F8010314FE010F6E7E4901037F90267FF8007F
-4948EB3FF048496D7E484980486F7E484980824817805A91C714C05A7013E0A218F0B5FC
-A318F8A618FCA46C5DA37EA25E6C7F6C5DA26C5D6C7F6C6D137B6C6D13F390387FF80301
-1FB512E36D14C30103028313F89039007FFE03EC00401500A218F05EA3D801F816E0487E
-486C16C0487E486D491380A218005E5F4C5A91C7FC6C484A5A494A5A49495B6C48495BD8
-03FC010F5B9027FF807FFEC7FC6C90B55A6C6C14F06D14C0010F49C8FC010013F0364F7A
-CD43>I<171F4D7E4D7EA24D7EA34C7FA24C7FA34C7FA34C7FA24C7FA34C8083047F8016
-7E8304FE804C7E03018116F8830303814C7E03078116E083030F814C7E031F8116808303
-3F8293C77E4B82157E8403FE824B800201835D840203834B800207835D844AB87EA24A83
-A3DA3F80C88092C97E4A84A2027E8202FE844A82010185A24A820103854A82010785A24A
-82010F855C011F717FEBFFFCB600F8020FB712E0A55B547BD366>65
-D<BA12C019FEF1FFC01AF01AFCD8000701F0C7000313FFDE007F7F737F070F7F737F8785
-87858785A287A84F5BA263616361634F5B4F5B077F90C7FC4E485A060713F892B812E097
-C8FC861AF003F0C7000313FE9539003FFF80070F13E0737F07017F87737F747E1C807413
-C0A27413E0A31CF0A386A362A31CE0A2621CC0A250138097B5FC1C004F5B19074F5B073F
-13F04EB55ABC128098C7FC1AF81AC007F8C8FC54527CD160>I<932601FFFCEC01C0047F
-D9FFC013030307B600F81307033F03FE131F92B8EA803F0203DAE003EBC07F020F01FCC7
-383FF0FF023F01E0EC0FF94A01800203B5FC494848C9FC4901F882494982494982494982
-4949824990CA7E494883A2484983485B1B7F485B481A3FA24849181FA3485B1B0FA25AA2
-98C7FC5CA2B5FCAE7EA280A2F307C07EA36C7FA21B0F6C6D1980A26C1A1F6C7F1C006C6D
-606C6D187EA26D6C606D6D4C5A6D6D16036D6D4C5A6D6D4C5A6D01FC4C5A6D6DEE7F806D
-6C6C6C4BC7FC6E01E0EC07FE020F01FEEC1FF80203903AFFE001FFF0020091B612C0033F
-93C8FC030715FCDB007F14E0040101FCC9FC525479D261>I<BA7E19FCF1FF801AF01AFC
-D8000701F0C7000F13FF060014C0071F7F070713F807017F737F747E747F747F86747F74
-7F8886888688A2757EA31D8087A21DC0A51DE0A387A963A31DC0A51D80A2631D00A3515A
-A2646264505B6264505B505B5090C7FCF2FFFE4F5B07075B071F5B96B512C0060F91C8FC
-BB5A1AF01AC007FCC9FC19805B527CD167>I<BC1280A5D8000701F8C7000114C0F0001F
-19071901851A7F1A3F1A1FA2F20FE0A21A07A31A03A318F81BF01A01A497C7FC1701A317
-031707170F177F92B6FCA59238F8007F170F170717031701A317001B3EA31B7CA395C8FC
-A21BFCA21BF8A21A01A31A031BF01A071A0FA21A1F1A3FF27FE0F101FF1907191F0603B5
-FCBCFCA21BC0A34F517CD058>I<BB12FEA5D8000701F8C700077FF0007F191F19078585
-8586861B80A21A1FA31A0FA41BC006F81307A497C7FCA31701A317031707170F177F92B6
-FCA59238F8007F170F170717031701A31700A795C9FCB3B812F8A54A517CD055>I<9326
-01FFFCEC01C0047FD9FFC013030307B600F81307033F03FE131F92B8EA803F0203DAE003
-EBC07F020F01FCC7383FF0FF023F01E0EC0FF94A01800203B5FC494848C9FC4901F88249
-49824949824949824949824990CA7E494883A2484983485B1B7F485B481A3FA24849181F
-A3485B1B0FA25AA298C8FC5CA2B5FCAE6C057FB712E0A280A36C94C7003FEBC000A36C7F
-A36C7FA27E6C7FA26C7F6C7FA26D7E6D7F6D7F6D6D5E6D7F6D01FC93B5FC6D13FF6D6C6D
-5C6E01F0EC07FB020F01FEEC1FF10203903AFFF001FFE0020091B6EAC07F033FEE001F03
-0703FC1307DB007F02E01301040149CAFC5B5479D26A>I<B8D8C003B8FCA5D8000701F8
-C9001FEBE000B3AE92BAFCA503F8C9121FB3B1B8D8C003B8FCA560527CD169>I<B812C0
-A5D8000701F8C7FCB3B3B3B2B812C0A52A527CD132>I<027FB71280A591C76C90C7FCB3
-B3B3EA07F0EA1FFC487E487EA2B57EA44C5AA34A485B7E49495BD83FF8495BD81FE05DD8
-0FFC011F5B2707FF807F90C8FC000190B512FC6C6C14F0011F14C0010101F8C9FC39537D
-D145>I<B800C091B612F8A5D8000701F8C90003EBF8009738007F8051C7FC505AF203F8
-F20FF0505A505A505A50C8FCF101FCF107F84F5A4F5A4F5A4F5A07FEC9FCF003FC4E5A4E
-5A4E5A4E5A4E5ADD01FECAFC4D5A4D5A4D5A4D7E173F4D7E4C487E4C7F5E4C804C804C80
-EEFF7F9226F9FE3F7FDBFBFC809226FFF81F7F4C7EDCC0077F0480804C7E4B6D804B6D80
-4B8284727F727F8684727F727F8784728087737F85737F87737F85737F88857380747F88
-8697B512FCB800C0013FECFFFEA55F527CD169>I<B812F8A5D8000701F8CAFCB3B3A91A
-7CA41AFC1AF8A51901A31903A219071AF0190FA2191F193F197F19FF180360183F4DB5FC
-BB12E0A546527CD151>I<B600FC073FB512FE6F61A26F96B6FCA2D80007F5C00070EF01
-EFA202EF6DEF03CFA202E76DEF078FA202E36DEF0F0FA202E16D171EA302E06D173CA26F
-6C1778A26F6C17F0A26F6DED01E0A26F6DED03C0A36F6DED0780A26F6DED0F00A26F6D15
-1EA26F6D5DA3706C5DA2706C5DA2706D495AA2706D495AA2706D495AA3706D49C7FCA270
-6D131EA2706D5BA2716C5BA3716C5BA271EB81E0A271EBC3C0A271EBE780A27101FFC8FC
-A3715BA2715BA2725AA2725AA2D93FFC6F5AB74DB712FEA2725AA2725A77527CD180>I<
-B600FC93B7FC8181A282D800076E9239003FFC0070EE07E08282A28202EF7F02E77F02E3
-80A202E18002E0806F7F6F7F6F7FA26F7F6F7F6F806F80A26F80707F707F707F707FA270
-7F7080708070808583717F717F717F717FA27114807114C07114E07213F07213F8A27213
-FC7213FE7213FF721487A27214C77214E77313F77313FF85A285858585A28586868686A2
-86868686A2D93FFC187FB7173F1B1F1B0F1B07755A60527CD169>I<93380FFFC00303B6
-FC031F15E092B712FC0203D9FC0013FF020F01C0010F13C0023F90C7000313F0DA7FFC02
-007F494848ED7FFE4901E0ED1FFF49496F7F49496F7F4990C96C7F49854948707F494870
-7FA24849717E48864A83481B804A83481BC0A2481BE04A83A2481BF0A348497113F8A5B5
-1AFCAF6C1BF86E5FA46C1BF0A26E5F6C1BE0A36C6D4D13C0A26C6D4D1380A26C1B006C6D
-4D5A6E5E6C626D6C4C5B6D6D4B5B6D6D4B5B6D6D4B5B6D6D4B5B6D6D4B90C7FC6D6D4B5A
-6D01FF02035B023F01E0011F13F0020F01FC90B512C0020390B7C8FC020016FC031F15E0
-030392C9FCDB001F13E0565479D265>I<BAFC19F819FF1AE086D8000701F0C7001F13FC
-060113FF726C13807313C0070F13E01BF0857313F81BFCA27313FEA41BFFA81BFEA31BFC
-61A21BF84F13F04F13E0614F13C04F13004E485A061F5B92B812F01AC04FC7FC19E003F8
-CBFCB3AEB812C0A550527CD15C>I<B912F0F0FF8019F819FF1AC0D8000701F0C714F006
-0F7F060113FE727F737F737F85737F87A2737FA387A863A2616363A24F5B4F5B4F90C8FC
-4F5A06035B060F13F095B512C092B8C9FC19F819E019F89226F0000313FE9439007FFF80
-727F727F727F727F727F8684A28684A787A71D1C75133EA38575137E73157C7513FC7314
-01B86C6D9038F803F807039038FE07F07390B512E0736C14C0080F1400CEEA7FFC5F537C
-D164>82 D<91260FFF80130791B500F85B010702FF5B011FEDC03F49EDF07F9026FFFC00
-6D5A4801E0EB0FFD4801800101B5FC4848C87E48488149150F001F824981123F4981007F
-82A28412FF84A27FA26D82A27F7F6D93C7FC14C06C13F014FF15F86CECFF8016FC6CEDFF
-C017F06C16FC6C16FF6C17C06C836C836D826D82010F821303010082021F16801400030F
-15C0ED007F040714E01600173F050F13F08383A200788200F882A3187FA27EA219E07EA2
-6CEFFFC0A27F6D4B13806D17006D5D01FC4B5A01FF4B5A02C04A5A02F8EC7FF0903B1FFF
-C003FFE0486C90B65AD8FC0393C7FC48C66C14FC48010F14F048D9007F90C8FC3C5479D2
-4B>I<003FBC1280A59126C0003F9038C0007F49C71607D87FF8060113C001E08449197F
-49193F90C8171FA2007E1A0FA3007C1A07A500FC1BE0481A03A6C994C7FCB3B3AC91B912
-F0A553517BD05E>I<B800C00103B612FCA5D8000701F8CAEBF000F31F80B3B3B11B3FA2
-6D97C7FC81637F1B7E6D6D17FE505A6E7E505A6E6D15076E4D5A6E6D4B5A6E6D4B5A6E01
-F84B5A6E6DDA03FFC8FC6E6CB46CEB0FFE6F9039F001FFF8030F90B65A030316C0DB007F
-92C9FC040F14F8DC007F13805E537CD167>I<B700FC017FB600FE91B612F0A5D8003F01
-C0C8001F01E0C9EBF8006F71EE0FC06D7161876F1C1F6D7196C7FC6F8373606D1E3E6F83
-6D7160876F1CFC6D666F4B801F016D66704A806E525A88704A17076E059F5F70021F8008
-0F160F6E6570023F806EDC3E074CC8FC8870027E5F6EDC7C03163E7002FC804F6C167E6E
-1C7C700101814F6C16FC6E745B70010317016E4C6D5D060716C00580496D14036F63DDC0
-0F16E04F6D14076F07F05BDDE01F170F6F92C76C5D1DF8DDF03E6E141F6F98C9FCDDF87E
-16FC067C6E5C6FF1FE3EDDFCFC177E6F4A6E147C1DFFDDFFF06E14FC6F62A24E816F62A2
-70496F5BA24E817061A295C97E7061A270487090CAFCA37048705AA24D1601040360A270
-48705A84537DD18B>87 D<B8030FB61280A5D8000F01FCCA003F90C7FC6FEF07F86D6D60
-6D4F5A826D6E4C5A6D4F5A826E6D4CC8FC6E18FE826E6D4B5A6E4D5A826E6D4B5A6E4D5A
-836E6E4A5A6E4D5A836F6D4AC9FC6F5E715C6F6D495A6F1503715C6F6D495A6F150F0680
-5B6F6E485A6F153F06E05B706D48CAFC705C725A70EBFDFC7013FF61705C82705C618271
-5B96CBFCB3AA030FB712F8A561527ED166>89 D<EC7FFF0107B512F0013F14FE90B77E48
-D9E00F7F2703FE000113F0486C6D7F6EEB3FFC48826E131F83707FA36C496D7FA26C90C7
-FC6C5AC9FCA6037FB5FC020FB6FC91B7FC01071487013FEBF0074913803901FFFC004813
-F0485B485B485B4890C7FC5A5BA2485AA45EA26D5C007F151D163D6C6C02797F6C6D01F1
-13F86C9026C003E1EBFFE06C9026F81FC014F06C90B5487EC6ED001F011F01FC010713E0
-010101E090C8FC3C387CB641>97 D<EB3FF0B5FCA51203C6FCB3A4923801FFE0030F13FE
-033FEBFFC092B612F002F301017F913AF7F8003FFEDAFFE0EB0FFF03806D7F92C76C7F4A
-6E7F4A824A6E7FA2727EA285A28584A31A80AC1A00A44E5AA36118FF616E4A5BA26E4A5B
-6E4A5B6F495BDACFC04990C7FCDA87F0EB7FFC913A03FE03FFF849C6B612E0496D148049
-011F01FCC8FC90C7000313C041547BD24B>I<913801FFF8021FEBFF8091B612F0010315
-FC010F9038C00FFE903A1FFE0001FFD97FFC491380D9FFF05B4817C048495B5C5A485BA2
-486F138091C7FC486F1300705A4892C8FC5BA312FFAD127F7FA27EA2EF03E06C7F17076C
-6D15C07E6E140F6CEE1F806C6DEC3F006C6D147ED97FFE5C6D6CEB03F8010F9038E01FF0
-010390B55A01001580023F49C7FC020113E033387CB63C>I<4DB47E0407B5FCA5EE001F
-1707B3A4913801FFE0021F13FC91B6FC010315C7010F9038E03FE74990380007F7D97FFC
-0101B5FC49487F4849143F484980485B83485B5A91C8FC5AA3485AA412FFAC127FA36C7E
-A37EA26C7F5F6C6D5C7E6C6D5C6C6D49B5FC6D6C4914E0D93FFED90FEFEBFF80903A0FFF
-C07FCF6D90B5128F0101ECFE0FD9003F13F8020301C049C7FC41547CD24B>I<913803FF
-C0023F13FC49B6FC010715C04901817F903A3FFC007FF849486D7E49486D7E4849130F48
-496D7E48178048497F18C0488191C7FC4817E0A248815B18F0A212FFA490B8FCA318E049
-CAFCA6127FA27F7EA218E06CEE01F06E14037E6C6DEC07E0A26C6DEC0FC06C6D141F6C6D
-EC3F806D6CECFF00D91FFEEB03FE903A0FFFC03FF8010390B55A010015C0021F49C7FC02
-0113F034387CB63D>I<ED3FFC0203B5FC020F14C0023F14E09139FFF81FF0499038C03F
-F849EB807F49903800FFFC495A495AA2495AA2EE7FF8495AEE3FF0EE0FC093C7FCAEB712
-E0A526007FF8C8FCB3B3A7007FB512FEA52E547CD329>I<DA3FFF14FF0103B5D8F00713
-C0010FDAFC1F13E0013FECFF7F90267FFC0F9038FF9FF09026FFE001EBF83F48496C13E0
-484990387FF01F4890C7D83FF813E0489338FC0FC0F0078048486E6CC7FCA2003F82A900
-1F5EA26C6C4A5AA26C5E6C6D495A6C6D495A6C6D485BDAFC0F5B4890B6C8FCD803EF14FC
-01C314F02607C03F90C9FC91CBFCA2120FA37FA213F813FE90B7FC6C16F817FF18C06C83
-6C836C836D828448B9FC12074848C700031480D81FF8EC003F4848150748486F13C08348
-5A83A56D5D007F18806D5D003F18006C6C4B5AD80FFEED1FFC6C6C6CEC7FF86C01E04948
-5A6C01FE011F5B6C6CB71280010F03FCC7FC010115E0D9000F01FCC8FC3C4F7CB543>I<
-EB3FF0B5FCA51203C6FCB3A4EE1FFC93B512C0030314F0030F8092391FE07FFC92393F00
-1FFE037C8003F07FDAF1E081ECF3C0DAF7807F8502FFC7FC5CA25CA45CB3ACB6D8F807B6
-12C0A542537BD24B>I<137F497E000313E0487FA2487FA76C5BA26C5BC613806DC7FC90
-C8FCADEB3FF0B5FCA512017EB3B3A6B612E0A51B547BD325>I<EB3FF0B5FCA51203C6FC
-B3A54CB512F8A59339003FFE00EF1FF0EF3FC04D5A4DC7FCEE03FEEE07F84C5A4C5AEE7F
-C04CC8FC4B5A4B5AED0FF8ED1FE04B7E4B7EECF1FF02F37F02F77F91B6FC83159F030F7F
-02FE80DAF8077F4A7E6F7F6F7F83707E82707F84707F707F82707F84707F177F717E4D13
-C0B6D8F003B6FCA540537CD247>107 D<EB3FF0B5FCA512017EB3B3B3B1B612F0A51C53
-7BD225>I<D93FF0D91FFCEDFFE0B591B500C0010713FE030302F0011F6D7E030F6E017F
-8092271FE07FFCD9FF037F922A3F001FFE01F8007F0003027C9126FF03E080C602F06DD9
-0780137FDAF1E0038FC77FDAF3C0159EDAF7806D01BC143F07FC8102FFC75C4A5EA24A5E
-A44A5EB3ACB6D8F807B6D8C03FB512FEA567367BB570>I<D93FF0EB1FFCB591B512C003
-0314F0030F8092391FE07FFC92393F001FFE0003027C80C602F07FDAF1E081ECF3C0DAF7
-807F8502FFC7FC5CA25CA45CB3ACB6D8F807B612C0A542367BB54B>I<913801FFE0021F
-13FE91B612C0010315F0010F9038807FFC903A1FFC000FFED97FF86D6C7E49486D7F4849
-6D7F48496D7F4A147F48834890C86C7EA24883A248486F7EA3007F1880A400FF18C0AC00
-7F1880A3003F18006D5DA26C5FA26C5F6E147F6C5F6C6D4A5A6C6D495B6C6D495B6D6C49
-5BD93FFE011F90C7FC903A0FFF807FFC6D90B55A010015C0023F91C8FC020113E03A387C
-B643>I<903A3FF001FFE0B5010F13FE033FEBFFC092B612F002F301017F913AF7F8007F
-FE0003D9FFE0EB1FFFC602806D7F92C76C7F4A824A6E7F4A6E7FA2717FA285187F85A472
-1380AC1A0060A36118FFA2615F616E4A5BA26E4A5B6E4A5B6F495B6F4990C7FC03F0EBFF
-FC9126FBFE075B02F8B612E06F1480031F01FCC8FC030313C092CBFCB1B612F8A5414D7B
-B54B>I<90397FE003FEB590380FFF80033F13E04B13F09238FE1FF89139E1F83FFC0003
-D9E3E013FEC6ECC07FECE78014EF150014EE02FEEB3FFC5CEE1FF8EE0FF04A90C7FCA55C
-B3AAB612FCA52F367CB537>114 D<903903FFF00F013FEBFE1F90B7FC120348EB003FD8
-0FF81307D81FE0130148487F4980127F90C87EA24881A27FA27F01F091C7FC13FCEBFFC0
-6C13FF15F86C14FF16C06C15F06C816C816C81C681013F1580010F15C01300020714E0EC
-003F030713F015010078EC007F00F8153F161F7E160FA27E17E07E6D141F17C07F6DEC3F
-8001F8EC7F0001FEEB01FE9039FFC00FFC6DB55AD8FC1F14E0D8F807148048C601F8C7FC
-2C387CB635>I<143EA6147EA414FEA21301A313031307A2130F131F133F13FF5A000F90
-B6FCB8FCA426003FFEC8FCB3A9EE07C0AB011FEC0F8080A26DEC1F0015806DEBC03E6DEB
-F0FC6DEBFFF86D6C5B021F5B020313802A4D7ECB34>I<D93FF8913801FFC0B50207B5FC
-A50003ED001FC61607B3AE5FA35FA2017F5D173B177B6D6C14F3DC01E313F06D6CD907C3
-EBFFC0903A0FFFC03F836D90B51203010114FE6D6C13F8020701E091C7FC42377BB54B>
-I<B600F00107B5FCA5000101F8C8EA7FE06C6DED3F00A2017F163E6E157E013F167C6E15
-FC6D5E6F13016D5E8117036D5E6F13076D5E6F130F6D5E6F131F6D93C7FC815F6E6C133E
-177E023F147C6F13FC6E5C16816E5C16C3A26EEBE3E016E76E5C16FF6E5CA26E91C8FCA2
-6F5AA36F5AA26F5AA26F5AA26F5A6F5A40367DB447>I<B6D8E07FB5D8C003B512C0A500
-0101F0C701F0C7381FF8006E027FED07E06C715DA26E023F150F017F705DA26E181F013F
-4B6C92C7FC6E606D70143E94B5FC6F177E6D4A6E137C03C001F315FC6D715B160303E001
-E114016D020702E05B03F013C06D71485A160F03F8D9807F13076D05F85B93381F003F03
-FC160F027F4902FC5BDBFE3E011F131F023F04FE90C8FC167EDBFF7C010F5B6E01FCECFF
-3E4C6D137E6E5FA24C7F6E5F4C7F6E5FA24C7F6E5F4C147FA26E5F93C8123F6F5EA2033E
-6FC9FC5A367DB461>I<007FB500F090387FFFFEA5C66C48C7000F90C7FC6D6CEC07F86D
-6D5C6D6D495A6D4B5A6F495A6D6D91C8FC6D6D137E6D6D5B91387FFE014C5A6E6C485A6E
-EB8FE06EEBCFC06EEBFF806E91C9FCA26E5B6E5B6F7E6F7EA26F7F834B7F4B7F92B5FCDA
-01FD7F03F87F4A486C7E4A486C7E020F7FDA1FC0804A486C7F4A486C7F02FE6D7F4A6D7F
-495A49486D7F01076F7E49486E7E49486E7FEBFFF0B500FE49B612C0A542357EB447>I<
-B600F00107B5FCA5C601F8C8EA7FE06EED3F00A26D6C153E187E013F167C6E15FC6D5E6F
-13016D5E6F13036D5E8117076D6D5C170F6D6D5C171F6D93C7FC6F5B027F143E6F137E02
-3F147C6F13FCA26E6D5A16816EEBC1F016C36E5C16E76E5C16FF6E5CA26E91C8FCA36F5A
-A26F5AA26F5AA26F5AA26F5AA35E150F5E151F93C9FC5DD81FC0133E486C137E486C137C
-486C13FC5D14015D14034A5A6C48485A49485A263FC07FCAFCEB81FE6CB45A6C13F00003
-5BC690CBFC404D7DB447>I E
-%EndDVIPSBitmapFont
-%DVIPSBitmapFont: Fs cmr10 10.95 85
-/Fs 85 125 df<4AB4EB0FE0021F9038E03FFC913A7F00F8FC1ED901FC90383FF03FD907
-F090397FE07F80494801FF13FF4948485BD93F805C137F0200ED7F00EF003E01FE6D91C7
-FC82ADB97EA3C648C76CC8FCB3AE486C4A7E007FD9FC3FEBFF80A339407FBF35>11
-D<EC03FE91383FFF809138FE03E0903903F800F0D90FE013384948137C90393F8001FE90
-387F00035B5BA2485A6F5AED007093C7FCAA16FEB7FCA33901FC000315011500B3AC486C
-497EB5D8F87F13FCA32E407EBF33>I<EC03FF023F13EE9138FE01FEEB03F090380FE003
-EB1FC0EB3F80EB7F005B5B150148481300AEB7FCA3D801FCC7FCB3AE486C497EB5D8F87F
-13FCA32E407EBF33>I<DA03FE49B4FC91273FFF801F13C0913BFE03E07F01F0903C03F0
-00F1FC0078D90FE0D97FF0131C49484948133E4948484913FF494848495A5B491500A248
-485C03016E5A0300153896C7FCAA197FBBFCA3D801FCC738FE00018485B3AC486C496CEC
-FF80B5D8F87FD9FC3F13FEA347407EBF4C>I<001E130F397F803FC000FF137F01C013E0
-A201E013F0A3007F133F391E600F3000001300A401E01370491360A3000114E04913C000
-03130101001380481303000EEB070048130E0018130C0038131C003013181C1C7DBE2D>
-34 D<4B6C130C4B6C131EA20307143EA24C133CA2030F147CA293C71278A24B14F8A203
-1E5CA2033E1301A2033C5CA3037C1303A203785CA203F81307A24B5CA20201140F007FBA
-FCBB1280A26C1900C72707C0003EC8FC4B133CA3020F147CA292C71278A24A14F8A2021E
-5CA3023E1301007FBAFCBB1280A26C1900C727F80007C0C8FC4A5CA20101140FA24A91C9
-FCA301035CA24A131EA20107143EA24A133CA2010F147CA291C71278A34914F8A2011E5C
-A2013E1301A2013C5CA201186D5A41517BBE4C>I<14E0A4EB07FC90383FFF8090B512E0
-3901F8E3F03903E0E0FCD807C0133CD80F807FD81F007F003E80003C1580007C140316C0
-0078141F00F8143F157FA47EED3F806CEC0E0092C7FC127F138013C0EA3FF013FEEA1FFF
-6C13FC6C13FF6C14C06C806C6C13F8011F7F130301007FECE7FF14E102E01380157F153F
-ED1FC0A2003E140F127FD8FF801307A5130000FC158000F0140F1270007815005D6C141E
-153E6C5C6C5C3907C0E1F03903F8EFE0C6B51280D93FFEC7FCEB0FF8EB00E0A422497BC3
-2D>I<EC0F80EC7FE0ECF870903803E0380107133CECC01CEB0F80011F131E150EA2EB3F
-00A55D1480A25D157815705D6D6C5A14C1ECC38002C7CAFC02EE91387FFFFCEB0FEC14FC
-4A020713C06D48913801FE006E5DEF00F06D7E01074B5A496C5D011D1503D939FF4A5A01
-7093C7FC496D5B0001017F140E496C6C131E00036E131C2607801F143C000F6E5B001F6D
-6C1370263F000714F0486E485ADA03FE5B913801FF03486D495A0487C8FCED7FCFED3FFE
-6F4814386D5C150F007F6E6C14786D6D6C1470003F4A6C14F06D496C6C13E0001F91393E
-3FC0016C6C903AFC1FF003C03D07FC07F007FC1F800001B5D8C001B512006C6C90C7EA7F
-FCD90FF8EC0FF03E437CC047>38 D<121EEA7F8012FF13C0A213E0A3127FEA1E601200A4
-13E013C0A312011380120313005A120E5A1218123812300B1C79BE19>I<1430147014E0
-EB01C0EB03801307EB0F00131E133E133C5B13F85B12015B1203A2485AA2120F5BA2121F
-90C7FCA25AA3123E127EA6127C12FCB2127C127EA6123E123FA37EA27F120FA27F1207A2
-6C7EA212017F12007F13787F133E131E7FEB07801303EB01C0EB00E014701430145A77C3
-23>I<12C07E12707E7E121E7E6C7E7F12036C7E7F12007F1378137CA27FA2133F7FA214
-80130FA214C0A3130714E0A6130314F0B214E01307A614C0130FA31480A2131F1400A25B
-133EA25BA2137813F85B12015B485A12075B48C7FC121E121C5A5A5A5A145A7BC323>I<
-EB03C0A2805CA600F0140F00FC143F00FE147F00FF14FF393FC3C3FC390FE187F03903F1
-8FC03900FDBF00EB3FFCEB0FF0EB03C0EB0FF0EB3FFCEBFDBF3903F18FC0390FE187F039
-3FC3C3FC39FF03C0FF00FE147F00FC143F00F0140F00001400A6805CA220277AC32D>I<
-121EEA7F8012FF13C0A213E0A3127FEA1E601200A413E013C0A312011380120313005A12
-0E5A1218123812300B1C798919>44 D<B512FEA617067F961E>I<121EEA7F80A2EAFFC0
-A4EA7F80A2EA1E000A0A798919>I<ED0180ED03C01507A21680150FA216005DA2151E15
-3EA2153C157CA2157815F8A25D1401A25D1403A25D1407A25D140FA24AC7FCA2141E143E
-A2143C147CA2147814F8A25C1301A25C1303A25C1307A25C130FA291C8FC5BA2131E133E
-A25BA2137813F8A25B1201A25B1203A25B1207A25B120FA290C9FC5AA2121E123EA2123C
-127CA2127812F8A25A1260225B7BC32D>I<EB01FE90380FFFC090383F03F090387C00F8
-49137C48487F48487F4848EB0F80A2000F15C04848EB07E0A3003F15F0A290C712034815
-F8A64815FCB3A26C15F8A56C6CEB07F0A3001F15E0A36C6CEB0FC0A26C6CEB1F80000315
-006C6C133E6C6C5B017C5B90383F03F090380FFFC0D901FEC7FC263F7DBC2D>I<EB01C0
-13031307131F137FEA07FFB5FC139FEAF81F1200B3B3ACEB7FF0B612F8A31D3D78BC2D>
-I<EB07FC90383FFF8090B512E03903F01FF83907C007FC390F0001FE001E6D7E001C1580
-003CEC7FC05AED3FE01270B4FC6DEB1FF07FA56C5A6CC7FC120CC813E0153FA216C0157F
-168015FF16004A5A5D4A5A4A5A5D4A5A4A5A4AC7FC147E147C5C495A495A495A495A49C7
-1270133E133C5B4914E0485A485A485A48C7120148B6FCA25A4815C0B7FCA3243D7CBC2D
->I<EB07FC90383FFF809038F80FE03901E003F839078001FCD80F007F000E6D7E001E15
-80D81F80137F486C14C07FA27F5BA2121F6C5AC8138015FF1600A24A5AA24A5A5DEC07E0
-4A5A023FC7FCEB1FFCECFF809038000FE0EC07F86E7E6E7E6E7E1680ED7FC0A216E0153F
-A216F0A2120C123F487E487EA316E0A249137F6CC713C01278EDFF807E6C4913006C495A
-3907C007FC3903F80FF0C6B55A013F1380D907F8C7FC243F7CBC2D>I<150E151E153EA2
-157EA215FE1401A21403EC077E1406140E141CA214381470A214E0EB01C0A2EB0380EB07
-00A2130E5BA25B5BA25B5B1201485A90C7FC5A120E120C121C5AA25A5AB8FCA3C8EAFE00
-AC4A7E49B6FCA3283E7EBD2D>I<00061403D80780131F01F813FE90B5FC5D5D5D15C092
-C7FC14FCEB3FE090C9FCACEB01FE90380FFF8090383E03E090387001F8496C7E49137E49
-7F90C713800006141FC813C0A216E0150FA316F0A3120C127F7F12FFA416E090C7121F12
-FC007015C012780038EC3F80123C6CEC7F00001F14FE6C6C485A6C6C485A3903F80FE0C6
-B55A013F90C7FCEB07F8243F7CBC2D>I<EC1FE0ECFFF8903803F03E90380FC00F90391F
-000780133E017EEB1FC049133F4848137F12035B12074848EB3F80ED1F00001F91C7FC5B
-A2123FA3485AA214FE903887FF8039FF8F07E090389C01F09038B800FC01B0137E13F049
-7F16804914C0A2ED1FE0A34914F0A5127FA6123F6D14E0A2121FED3FC0A26C6C1480A200
-07EC7F006C6C137E6C6C5B6C6C485A90387E07F06DB45A010F1380D903FCC7FC243F7CBC
-2D>I<1238123C123F90B612FCA316F85A16F016E00078C712010070EC03C0ED07801600
-5D48141E151C153C5DC8127015F04A5A5D14034A5A92C7FC5C141EA25CA2147C147814F8
-A213015C1303A31307A3130F5CA2131FA6133FAA6D5A0107C8FC26407BBD2D>I<EB03FC
-90381FFF8090387C07E09038F001F83901E0007C48487F48487F48C7FCED0F80121E16C0
-003E1407A4123FA26DEB0F807F6C6C131F6D140001FC133E6C6C5B9038FF80786C6D5A6C
-EBF3E06CEBFF806C91C7FC133F6D13C06D7F013F13F801787F48486C7E3903E01FFF4848
-6C1380260F800313C048487E489038007FE0003E143F007E141F007CEC0FF01507481403
-A31501A46C15E0007C1403A2007E15C06C14076CEC0F806DEB1F006C6C133ED807F05B39
-01FC03F86CB512E0011F1380D903FCC7FC243F7CBC2D>I<EB03FCEB1FFF90387E07C090
-38FC03F048486C7E48486C7E4848137C000F147E4848137F81003F15805B007F15C0A215
-1F12FF16E0A516F0A5127F153FA36C7EA2001F147F120F6C6C13FF6D13DF000313013900
-F8039F90387E0F1FD91FFE13E0EB07F090C7FCA2ED3FC0A41680157FD80F801400487E48
-6C13FEA24A5A5D49485AEB8007391E000FE0001F495A260FC07FC7FC3803FFFE6C13F838
-003FC0243F7CBC2D>I<121EEA7F80A2EAFFC0A4EA7F80A2EA1E00C7FCB3121EEA7F80A2
-EAFFC0A4EA7F80A2EA1E000A2779A619>I<121EEA7F80A2EAFFC0A4EA7F80A2EA1E00C7
-FCB3121E127FEAFF80A213C0A4127F121E1200A412011380A3120313005A1206120E120C
-121C5A1230A20A3979A619>I<007FB912E0BA12F0A26C18E0CDFCAE007FB912E0BA12F0
-A26C18E03C167BA147>61 D<15074B7EA34B7EA34B7EA34B7EA34B7E15E7A2913801C7FC
-15C3A291380381FEA34AC67EA3020E6D7EA34A6D7EA34A6D7EA34A6D7EA34A6D7EA34948
-6D7E91B6FCA249819138800001A249C87EA24982010E157FA2011E82011C153FA2013C82
-0138151FA2017882170F13FC00034C7ED80FFF4B7EB500F0010FB512F8A33D417DC044>
-65 D<B712FCEEFF8017F00001903980000FF86C6CC7EA03FE707E701380EF7FC0EF3FE0
-A2EF1FF0A218F8A3170F171FA318F0A2EF3FE0177F18C0EFFF804C1300EE03FCEE0FF8EE
-7FE091B6C7FC17E091C7EA07FCEE01FE933800FF80EF7FC0EF3FE0EF1FF018F8170F18FC
-1707A218FEA718FC170FA2EF1FF818F0173FEF7FE0EFFFC00403138048486C90380FFE00
-B85A17E094C7FC373E7DBD40>I<DB3FF01306912603FFFE130E020F9038FF801E913A3F
-F007E03E9139FF8000F8D903FEC7EA7C7ED907F8EC1EFE4948140FD93FE0140749481403
-495A91C812014848150012034848167E5B000F173EA24848161EA2123F5B180E127FA349
-160012FFAC127F7F180EA2123FA27F001F171E181C6C7EA20007173C6D16386C6C167800
-0117706C6C16F06EEC01E06D6C15C06D6C1403D90FF0EC07806D6CEC1F00D903FE143E90
-2600FF8013F891393FF007F0020FB512C0020391C7FC9138003FF037427BBF42>I<B712
-FCEEFF8017E000019039C0001FF86C6C48EB03FEEE00FF717E717EEF0FE084717E717E17
-0184717EA21980187F19C0A3F03FE0A519F0AB19E0A5F07FC0A21980A218FF19004D5AA2
-4D5A6017074D5A4D5AEF7FC04DC7FCEE03FE48486CEB1FF8B85A178004FCC8FC3C3E7DBD
-45>I<B912E0A300019038C000016C6C48EB001FEF0FF01703A217011700A31870A41838
-1638A41800A21678A216F81501150791B5FCA3EC8007150115001678A21638A2180EA318
-1C93C7FCA4183C1838A21878A318F8EF01F0A21707170F173F48486CEB03FFB912E0A337
-3E7DBD3E>I<B91280A300019038C000036C6C48EB007FEF1FC0170F1707A21703A31701
-A4EF00E0A21638A31800A31678A216F81501150791B5FCA3EC8007150115001678A21638
-A693C8FCAF3801FFE0B612F0A3333E7DBD3B>I<DB3FE0130C912603FFFE131C021F9038
-FF803C913A7FF00FC07C9139FF0001F0D903FC90380078FC4948143DD91FE0141F494814
-0F4948140701FF15034890C8FC491501485A000716005B000F177C5B001F173CA2485AA2
-181C127FA25B95C7FC12FFAB041FB512F0127FA26D9139000FFE00EF03FC123FA27F121F
-A26C7EA212077F12036C7E7F6C7F6D6C14076D7E6D6C140FD907F8141ED903FEEC3C7C90
-2600FF80EBF83C913A7FF007F01C021FB5EAC00C020391C8FC9138003FF03C427BBF47>
-I<B6D8C01FB512F8A3000101E0C7383FFC0026007F80EC0FF0B3A691B7FCA30280C7120F
-B3A92601FFE0EC3FFCB6D8C01FB512F8A33D3E7DBD44>I<B612F0A3C6EBF000EB3FC0B3
-B3B2EBFFF0B612F0A31C3E7EBD21>I<011FB512FCA3D9000713006E5A1401B3B3A6123F
-EA7F80EAFFC0A44A5A1380D87F005B007C130700385C003C495A6C495A6C495A2603E07E
-C7FC3800FFF8EB3FC026407CBD2F>I<B600C090387FFFFCA3000101E0C7000F13802600
-7F80913807FE0018F818E0604D5A4DC7FC173E5F5F4C5A4C5A4C5A4C5A4CC8FC163E5E5E
-4B5A4B5AED07804B7E151F4B7E4B7E15FF913881EFF8913883C7FCEC878791388F03FE91
-389E01FF14BCDAF8007F4A6D7E5C4A6D7E4A6D7EA2707E707EA2707E707EA2707F717E84
-173F717E717EA2717E848419802601FFE04A13C0B600C090B6FCA3403E7DBD47>I<B612
-F8A3000101E0C9FC38007F80B3B0EF0380A517071800A45FA35FA25F5F5F4C5A16074848
-6C133FB8FCA3313E7DBD39>I<B500C093B512C0A300016D4BEBE000D8007F1880D977F0
-ED03BFA3D973F8ED073FA3D971FC150EA2D970FE151CA3027F1538A36E6C1470A36E6C14
-E0A26E6CEB01C0A36E6CEB0380A36E6CEB0700A26E6C130EA36E6C5BA3037F5BA26F6C5A
-A36F6C5AA392380FE1C0A3923807F380A26FB4C7FCA36F5AA213F8486C6D5AD807FFEFFF
-E0B500F80178017FEBFFC0A34A3E7CBD53>I<B56C91B512F88080D8007F030713006EEC
-01FC6E6E5A1870EB77FCEB73FEA2EB71FF01707FA26E7E6E7EA26E7E6E7EA26E7E6E7EA2
-6E7E6E7FA26F7E6F7EA26F7E6F7EA26F7E6F7EA26F7E6F1380A2EE7FC0EE3FE0A2EE1FF0
-EE0FF8A2EE07FCEE03FEA2EE01FF7013F0A2177F173FA2171F170FA2170701F81503487E
-D807FF1501B500F81400A218703D3E7DBD44>I<ED7FE0913807FFFE91391FC03F809139
-7E0007E04948EB03F8D907F0EB00FE4948147F49486E7E49486E7E49C86C7E01FE6F7E00
-018349150300038348486F7EA248486F7EA2001F188049167F003F18C0A3007F18E04916
-3FA300FF18F0AC007F18E06D167FA4003F18C0A26C6CEEFF80A36C6C4B1300A26C6C4B5A
-00035F6D150700015F6C6C4B5A6D5E6D6C4A5A6D6C4A5A6D6C4AC7FC6D6C14FED901FCEB
-03F8D9007FEB0FE091391FC03F80912607FFFEC8FC9138007FE03C427BBF47>I<B712F8
-EEFF8017E000019039C0003FF86C6C48EB07FCEE01FE707EEF7F80EF3FC018E0A2EF1FF0
-A218F8A818F0A2EF3FE0A218C0EF7F80EFFF004C5AEE07FCEE3FF091B612C04CC7FC0280
-C9FCB3A73801FFE0B612C0A3353E7DBD3E>I<ED7FE0913807FFFE91391FC03F8091397F
-000FE0D901FCEB03F8D907F0EB00FE4948147F49486E7E49486E7E49C86C7E498248486F
-7E49150300038348486F7EA2000F834981001F1880A24848EE7FC0A3007F18E0A249163F
-A200FF18F0AC007F18E0A26D167FA3003F18C0A26C6CEEFF80A3000F18006D5D0007DA0F
-805B6C6C90393FE003FCED70706C6C496C485A6C6C48486C485A017FD9800E5BD93F8190
-38061FC0D91FC19038073F80D90FE14AC7FCD907F1EB03FE902601FDC013F8903A007EE0
-07E091271FF03FC013180207B5FC9139007FE1E0DB0001143883711378A2706C13F0EFFF
-0318FFA27113E0A37113C0711380711300715AEF01F83D527BBF47>I<B712C016FCEEFF
-800001D9C00013E06C6C48EB1FF0EE07FCEE01FE707E84717EA2717EA284A760177F6060
-17FF95C7FCEE01FCEE07F8EE1FE0EEFF8091B500FCC8FC16F091388001FCED003FEE1FC0
-707E707E83160383160183A383A484A4F0C004190EA28218E0057F131E2601FFE0161CB6
-00C0EB3FF094381FF83805071370CA3801FFE09438003F803F407DBD43>I<D907FC1318
-90391FFF8038017FEBE0783901FC03F83A03F0007CF8D807C0133F4848130F001F140748
-C7FC003E1403007E1401A2007C140012FC1678A46C1538A27EA26C6C14007F7FEA3FF8EB
-FF806C13F86CEBFF806C14F06C14FC6C14FF6C15C0013F14E0010714F0EB007F020713F8
-9138007FFC150FED07FE15031501ED00FFA200E0157FA3163FA27EA3163E7E167E6C157C
-6C15FC6C15F86D13016DEB03F06DEB07E0D8F9FCEB0FC03AF07F803F8090391FFFFE00D8
-E00713F839C0007FC028427BBF33>I<003FB91280A3903AF0007FE001018090393FC000
-3F48C7ED1FC0007E1707127C00781703A300701701A548EF00E0A5C81600B3B14B7E4B7E
-0107B612FEA33B3D7DBC42>I<B600C090B512F8A3000101E0C70007130026007F80EC01
-FC715A1870B3B3A4013F16F06E5DA21701011F5E80010F15036E4A5A010793C7FC6D6C5C
-6D6C141E6D6C5C027F14F86E6C485A91390FF00FE00203B51280020049C8FCED1FF03D40
-7DBD44>I<B691380FFFFEA3000301E0020113E06C01809138007F806CEF3F00017F163E
-181C6E153C013F1638A26E1578011F1670A26D6C5DA26E140101075EA26E140301035EA2
-6D6C4AC7FCA2806D150EA26F131E027F141CA26F133C023F1438A26E6C5BA26F13F0020F
-5CA2EDF80102075CA26E6C485AA2EDFE07020191C8FCA26F5A6E130EA2ED7F9CA216DCED
-3FF8A36F5AA36F5AA26F5AA36F5A3F407EBD44>I<B500FE017FB5D88007B5FCA3000301
-C0010101E0C713F86C90C849EC3FE07148EC0F807E7215006E143F017F190E84A26D6C60
-A24D7E6D6C60A2EFE7F86D6C60A2933801C3FC6E18F001076104037F6E02811401010361
-04077F17006D6C4D5AA2040EEB7F806D6C4DC7FCA24CEB3FC0DA7F80160EA24CEB1FE003
-C0161E023F171C047814F0DBE070010F133C021F173804F014F84C1307DA0FF05EA2DBF1
-C0EB03FCDA07F95EA2DBFB80EB01FEDA03FF6F5AA293C8FCA26E5FA24B157F020094C8FC
-A24B81037C153EA20378151E0338151C58407EBD5D>I<007FB5D8C003B512E0A3C649C7
-EBFC00D93FF8EC3FE06D48EC1F806D6C92C7FC171E6D6C141C6D6C143C5F6D6C14706D6D
-13F04C5ADA7FC05B023F13036F485ADA1FF090C8FC020F5BEDF81E913807FC1C163C6E6C
-5A913801FF7016F06E5B6F5AA26F7E6F7EA28282153FED3BFEED71FF15F103E07F913801
-C07F0203804B6C7EEC07004A6D7E020E6D7E5C023C6D7E02386D7E14784A6D7E4A6D7F13
-0149486E7E4A6E7E130749C86C7E496F7E497ED9FFC04A7E00076DEC7FFFB500FC0103B5
-12FEA33F3E7EBD44>I<B66C0103B51280A3000101F0C8EBF8006C6C48ED3FC0725A013F
-041EC7FC6D7E606D6C15386D6C1578606D6C5D6E14016D5E6D6D1303606E6C49C8FC6E6C
-5B170E6E6C131E171C6E6C5B6E6C137817706E6C13F06F5B6E13016EEB83C05FED7FC7DB
-3FE7C9FC16EFED1FFE5E150F6F5AB3A4ED1FFC020FB512FCA3413E7FBD44>I<EAFFFCA4
-EAF000B3B3B3B3ABEAFFFCA40E5B77C319>91 D<486C13C0000313010100138048130300
-0EEB070048130E0018130C0038131C003013180070133800601330A300E01370481360A4
-00CFEB678039FFC07FE001E013F0A3007F133FA2003F131F01C013E0390F0007801C1C73
-BE2D>I<EAFFFCA4EA003CB3B3B3B3ABEAFFFCA40E5B7FC319>I<EA0180120313005A120E
-5A12181238123012701260A312E05AA412CFEAFFC013E0A3127FA2123F13C0EA0F000B1C
-7ABE19>96 D<EB0FF8EBFFFE3903F01F8039078007E0000F6D7E9038E001F8D81FF07F6E
-7EA3157F6C5AEA0380C8FCA4EC1FFF0103B5FC90381FF87FEB7F803801FC00EA07F8EA0F
-E0485A485AA248C7FCEE038012FEA315FFA3007F5BEC03BF3B3F80071F8700261FC00E13
-CF3A07F03C0FFE3A01FFF807FC3A003FC001F0292A7DA82D>I<EA01FC12FFA312071203
-1201B1EC03FC91381FFF8091387C07E09039FDE001F09039FFC000FC4A137E91C77E4915
-8049141F17C0EE0FE0A217F0A2160717F8AA17F0A2160FA217E0161F17C06D1580EE3F00
-6D5C6E13FE9039F3C001F89039F1E003F09039E0780FC09026C03FFFC7FCC7EA07F82D40
-7EBE33>I<49B4FC010F13E090383F00F8017C131E4848131F4848137F0007ECFF80485A
-5B121FA24848EB7F00151C007F91C7FCA290C9FC5AAB6C7EA3003FEC01C07F001F140316
-806C6C13076C6C14000003140E6C6C131E6C6C137890383F01F090380FFFC0D901FEC7FC
-222A7DA828>I<ED01FC15FFA3150715031501B114FF010713E190381F80F990387E003D
-49131FD803F81307485A49130348481301121F123F5B127FA290C7FCA25AAA7E7FA2123F
-A26C7E000F14037F000714076C6C497E6C6C497ED8007C017913F890383F01F190380FFF
-C1903A01FE01FC002D407DBE33>I<EB01FE90380FFFC090383F03F09038FC01F848486C
-7E4848137E48487F000F158049131F001F15C04848130FA2127F16E090C7FCA25AA290B6
-FCA290C9FCA67EA27F123F16E06C7E1501000F15C06C6C13036DEB07806C6C1400C66C13
-1E017E5B90381F80F8903807FFE0010090C7FC232A7EA828>I<EC1FC0EC7FF8903801F8
-3C903807E07E90380FC0FFEB1FC1EB3F811401137FEC00FE01FE137C1500AEB6FCA3C648
-C7FCB3AE487E007F13FFA320407EBF1C>I<167C903903F801FF903A1FFF078F8090397E
-0FDE1F9038F803F83803F001A23B07E000FC0600000F6EC7FC49137E001F147FA8000F14
-7E6D13FE00075C6C6C485AA23901F803E03903FE0FC026071FFFC8FCEB03F80006CAFC12
-0EA3120FA27F7F6CB512E015FE6C6E7E6C15E06C810003813A0FC0001FFC48C7EA01FE00
-3E140048157E825A82A46C5D007C153E007E157E6C5D6C6C495A6C6C495AD803F0EB0FC0
-D800FE017FC7FC90383FFFFC010313C0293D7EA82D>I<EA01FC12FFA3120712031201B1
-EC01FE913807FFC091381E07E091387803F09138E001F8D9FDC07F148001FF6D7E91C7FC
-A25BA25BB3A6486C497EB5D8F87F13FCA32E3F7DBE33>I<EA01E0EA07F8A2487EA46C5A
-A2EA01E0C8FCACEA01FC127FA3120712031201B3AC487EB512F0A3143E7DBD1A>I<1478
-EB01FEA2EB03FFA4EB01FEA2EB00781400AC147FEB7FFFA313017F147FB3B3A5123E127F
-38FF807E14FEA214FCEB81F8EA7F01387C03F0381E07C0380FFF803801FC00185185BD1C
->I<EA01FC12FFA3120712031201B292B51280A392383FFC0016E0168093C7FC153C5D5D
-4A5AEC07C04A5A4AC8FC143E147F4A7E13FD9038FFDFC0EC9FE0140F496C7E01FC7F496C
-7E1401816E7E81826F7E151F826F7EA282486C14FEB539F07FFFE0A32B3F7EBE30>I<EA
-01FC12FFA3120712031201B3B3B1487EB512F8A3153F7DBE1A>I<2701F801FE14FF00FF
-902707FFC00313E0913B1E07E00F03F0913B7803F03C01F80007903BE001F87000FC2603
-F9C06D487F000101805C01FBD900FF147F91C75B13FF4992C7FCA2495CB3A6486C496CEC
-FF80B5D8F87FD9FC3F13FEA347287DA74C>I<3901F801FE00FF903807FFC091381E07E0
-91387803F000079038E001F82603F9C07F0001138001FB6D7E91C7FC13FF5BA25BB3A648
-6C497EB5D8F87F13FCA32E287DA733>I<14FF010713E090381F81F890387E007E01F813
-1F4848EB0F804848EB07C04848EB03E0000F15F04848EB01F8A2003F15FCA248C812FEA4
-4815FFA96C15FEA36C6CEB01FCA3001F15F86C6CEB03F0A26C6CEB07E06C6CEB0FC06C6C
-EB1F80D8007EEB7E0090383F81FC90380FFFF0010090C7FC282A7EA82D>I<3901FC03FC
-00FF90381FFF8091387C0FE09039FDE003F03A07FFC001FC6C496C7E6C90C7127F49EC3F
-805BEE1FC017E0A2EE0FF0A3EE07F8AAEE0FF0A4EE1FE0A2EE3FC06D1580EE7F007F6E13
-FE9138C001F89039FDE007F09039FC780FC0DA3FFFC7FCEC07F891C9FCAD487EB512F8A3
-2D3A7EA733>I<02FF131C0107EBC03C90381F80F090397F00387C01FC131CD803F8130E
-4848EB0FFC150748481303121F485A1501485AA448C7FCAA6C7EA36C7EA2001F14036C7E
-15076C6C130F6C7E6C6C133DD8007E137990383F81F190380FFFC1903801FE0190C7FCAD
-4B7E92B512F8A32D3A7DA730>I<3901F807E000FFEB1FF8EC787CECE1FE3807F9C10003
-1381EA01FB1401EC00FC01FF1330491300A35BB3A5487EB512FEA31F287EA724>I<9038
-3FC0603901FFF8E03807C03F381F000F003E1307003C1303127C0078130112F81400A27E
-7E7E6D1300EA7FF8EBFFC06C13F86C13FE6C7F6C1480000114C0D8003F13E0010313F0EB
-001FEC0FF800E01303A214017E1400A27E15F07E14016C14E06CEB03C0903880078039F3
-E01F0038E0FFFC38C01FE01D2A7DA824>I<131CA6133CA4137CA213FCA2120112031207
-001FB512C0B6FCA2D801FCC7FCB3A215E0A912009038FE01C0A2EB7F03013F138090381F
-8700EB07FEEB01F81B397EB723>I<D801FC14FE00FF147FA30007140300031401000114
-00B3A51501A31503120015076DEB06FF017E010E13806D4913FC90381FC078903807FFE0
-0100903880FE002E297DA733>I<B539E00FFFE0A32707FE000313006C48EB00FC5E0001
-5D7F00005DA26D13016D5CA26D6C485AA2ECC007011F91C7FCA290380FE00EA2ECF01E01
-07131CA26D6C5AA2ECFC7801011370A2ECFEF001005BA2EC7FC0A36E5AA26EC8FCA3140E
-2B287EA630>I<B53BC3FFFE03FFF8A3290FFE003FE00013C06C486D48EB3F806C481700
-6D010F141E00016F131C15076D163C00004A6C1338A2017F5E4B7E151DD93F805DED3DFC
-1538D91FC04A5AED78FE9238707E03D90FE0017F5BEDE03F02F0140701070387C7FC9138
-F1C01F02F9148F010315CE9138FB800F02FF14DE6D15FCED00076D5DA24A1303027E5CA2
-027C1301023C5C023813003D287EA642>I<B539F01FFFE0A30003D9C00F1300C6903880
-07F8D97F0013E002805BD93FC05B011F49C7FC90380FE00EECF01E6D6C5A01035B6D6C5A
-6E5AEB00FF6E5A6E5A81141F814A7E81147BECF1FC903801E1FEECC0FF01037F49486C7E
-D90F007F011E6D7E013E130F496D7E01FC80486C80000F4A7EB539803FFFF8A32D277FA6
-30>I<B539E00FFFE0A32707FE000313006C48EB01FC6F5A00015D7F00005DA2017F495A
-A2EC8003013F5CA26D6C48C7FCA26E5A010F130EA26D6C5AA2ECF83C01031338A26D6C5A
-A2ECFEF001005BA2EC7FC0A36E5AA36EC8FCA2140EA2141E141C143C1438A21478001813
-70127EB45BA2495AA248485AD87E07C9FCEA780EEA3C3CEA1FF8EA07E02B3A7EA630>I<
-001FB61280A2EBE0000180140049485A001E495A121C4A5A003C495A141F00385C4A5A14
-7F5D4AC7FCC6485AA2495A495A130F5C495A90393FC00380A2EB7F80EBFF005A5B484813
-071207491400485A48485BA248485B4848137F00FF495A90B6FCA221277EA628>I<BE12
-C0A25A0280985B>124 D E
-%EndDVIPSBitmapFont
-%DVIPSBitmapFont: Ft cmtt12 20.736 5
-/Ft 5 115 df<923807FFC0033F13FC4AB67E020715E0021F15F8027F8191B8FC010383
-498349834949C6804901F0130F49018001037F90B5C87F02FC157F48496F7E4849151F4A
-6F7E485B4A6F1380488391C914C0485A84484818E0A24982127FA24918F0A200FF187FA2
-90BAFCA71AE0A21A8001F0CCFCA2127FA37F123F7FA2121F6DEF0F806DEF3FE07E6EEE7F
-F06C7F6C6D16FF806C6D4B13E06C6D5D6E4B13C06D6C6C141F6D01E04A13806D01FC49B5
-FC6D9026FFC01F14006D91B65A6D5F6D5F6D6C5E6E16C0020F5E02034BC7FC020015F003
-1F14C0030101F8C8FC444D76CB59>101 D<943803FFF0053F13FE4CB61280040715E05E
-043F15F05E4BB712F85D5D4DC6FC4B13E04B49EB7FF094C7FC4CEC3FE04B48EC0F8096C7
-FC4B5A5EAE001FB912FC4818FF5ABB1280A46C1900A2001F18FCC8D87FF0C9FCB3B3B200
-07B9FC001F18C04884A66C60000795C7FC456A7AE959>I<F2FF80DB07FF020F13F0033F
-01E0017F13FC4AB5D8FC01B57E0207DAFF0780021F15CF4A92B712805C49BBFC5B491807
-DBFE0302F81400499026F0007F13C04901C0011F6E5A4B6DEC00FC4948C700036D90C7FC
-4A80017F834A8049486F7EA24A153FA248844A151FA86E153F6C60A26E157FA26D6C4B5A
-6E5C013F5F6E5C6D6C6C010F5B6F5B6D01F0017F5BDBFE03B5C9FC92B7FC495E604916F0
-6060D97FE792CAFC02C114FCDAC03F13E0030790CBFC92CDFCA480A2806D7E80806DB712
-E0F0FF806D17F06D17FE49717E013F18E04918F890BA7E488548854801FCC8003F804801
-E00300800280161F4890CA00077F4917014848717F49187F4848851A3F49181F8712FF49
-180FA66D181FA26C6C4E5A6D187FA2D83FFE4D485A6D5F6C6D4C5B6C01E0041F5B02F816
-7F6C01FE4BB55A6CD9FFE0021F91C7FC6C02FF0103B55A6C92B75A013F18F06D60010718
-8001014DC8FC6D6C16F8021F16E0020393C9FCDA007F14F8030149CAFC51747BCB59>I<
-EF3FF8261FFFFC0103B5FC4801FF011F14E048037F14F8B60081B612FE038381038F16C0
-039F826C02BF826C91B87E6CDCC01F7FD800039126FC00037F04F001007F4C800480021F
-138093C86C13C04B814B6F13E05D7313F04B814BEE7FF8A24B163F1BFC4B161FA21BFE1A
-0FA31BFF86AC621BFEA2811A1F1BFC1A3F81F27FF8811AFF6F17F0616F4B13E06F5D6F4B
-13C0704A13806104E091B5120070495B04FC01075B9326FF807F5B94B65A03BF5E039F5E
-038F5E03874BC7FC03815D038015F0043F14C0040749C8FC040013E094CAFCB3A9001FB6
-12F048814881B77EA46C5D6C5D6C5D50717ECA59>112 D<953803FFC0001FB500F0023F
-13F84802FC49B512FE480407ECFF80B66C011F15C0057F15E094B7FC16036C4B16F06C5D
-6C4BEBFE03C7000F4913E04C13804C48486C13E092B512F84D6D13C005C0EC7F804DEC0C
-0094CAFC5EA25E5E5EA25EA25EA25EA293CBFCA55DB3AB001FB812F848834883BAFCA46C
-5F6C5F6C5F4C4B7ACA59>114 D E
-%EndDVIPSBitmapFont
-%DVIPSBitmapFont: Fu cmbx12 20.736 14
-/Fu 14 118 df<13FF000313E0487F001F13FC487F805A1580B612C0A315E0A315F0A37E
-A27EA27E000713F36C13E3C61383EB00031407A215E0A3140FA215C0141FA2EC3F80A214
-7F15005C5C1301495A5C1307495A495A133F495A495A4890C7FC485A485A485A5B6C5AEA
-01801C3A72F736>39 D<137F3801FFC0000713F0487F487F487F487FA2B61280A96C1400
-A26C5B6C5B6C5B6C5B000113C06C6CC7FC1919729836>46 D<EE3FFF0307B512F8033F14
-FF4AB712E0020716F8021F16FE4AD9F8077F91B5D8C00014C04991C7003F7F4901FC020F
-7F49496E7F49496E7F49496E7F49496E7F4B81498590B5C96C7FA24849707FA24886A248
-864A824886A34886A448864A82A4481B80A8B51AC0B3AA6C1B80A86C1B006E5EA46C62A3
-6C62A36C6D4C5BA36C62A26C6D4C5BA26C6E4B5B6D616F92B5FC6D96C7FC6D6D4A5B6D6D
-4A5B6D6D4A5B6D6D4A5B6D01FF023F5B6D02C090B55A6ED9F8075C021F90B648C8FC0207
-16F8020116E06E6C1580030702F8C9FCDB003F90CAFC527379F061>48
-D<923801FFFE033FEBFFF84AB7FC020F16E0023F16F84A16FE49B97E49DA003F80010F01
-F0010714F04901800101804948C880D97FF86F7F02E081496C834801FC6F148014FF486E
-6E14C08181481AE081A96C5C1BC06C4A5C6C5C6D90C815806D5AD90FF85D90CA15006260
-6295B55A4D5C624D5C4D5C4D91C7FC4D13FC4D5B4CB512E0047F1480037FB548C8FC92B6
-12F818C018F8F0FF806F15F092C7003F13FC050713FF050114C071807213F8727F727F86
-7214801BC07214E01BF0A27214F81BFCA37214FEA31BFFEBFF80000313E0487F001F13FC
-487FA2487FA2B67EA31BFEA3601BFCA292C8FC6C1AF84A5D4A18F06C494B14E05C6C01C0
-4B14C06C90C915804E14006C6D4B5B6C01F092B55A6C01FC4A5C27007FFFC001075C6D01
-FE013F14C0010F90B85A6D4DC7FC010117F8D9003F16E0020F93C8FC020015F0030749C9
-FC507378F061>51 D<96267FFFE01670063FB6ED01F80503B700F01403053F04FC14074C
-B96C130F040706E0131F043F72133F93BA00FC137F0303DC00076D13FF030F03C0903900
-3FFF814B02FCC8000713C3037F02E0030113F792B600806F6CB5FC02034ACA121F4A02F8
-834A02E0834A4A1701027F4A8391B548CC7E494A85495C4C854988494A85494A85495C8A
-4991CDFC90B54886A2484A1B7FA2481E3F5D481E1F5D5A1F0FA2485CA3481E075DA2795A
-489BC9FCA45DA2B6FCB27EA26F0403BA12C0A47EA3816C96C8000302F8C7FCA36C80A36C
-80A27E817E817E817F6D80827F6D806D806D80826D6E606D806E80021F6E5F6E02F05F6E
-806E02FE5F0200DAFFC05E6F02F04BB6FC031F02FE030713CF6FDAFFE0021F1387030392
-26FF8003B51201030093B6EAFC00043F4E133F040706E0131F04014E1307DC003F4CC712
-01050304F8EC0070DD003F038092C8FCDE007F01F0CCFC827A75F798>71
-D<BA00E0030FB8FCA8C7003F0280CC003FEBC000E503FCC7FCB3B3B3B3A46E1C0768A283
-6E1C0F68A26E1C1F7162A26E1C3F714F5A806E525A71606F6D97C8FC6F505A7118076F6D
-4E5A6F6EEF3FF86F6E4D5A6F6EEE01FF6F02F84C5B6F02FE041F5B043F6D6C037F90C9FC
-7002F0913807FFFE0407DAFF8090B55A040192B712F07061051F188005074DCAFC050017
-F0061F16C0060103FCCBFCDE000391CCFC88787AF595>85 D<97380FFFE00607B6FCA8F0
-0003190086B3AD93383FFF800307B512F8033F14FF4AB712C0020716F0021F16FC027F90
-39FE007FFE91B500F0EB0FFF01030280010190B5FC4949C87E4949814949814949814949
-8190B548814884484A8192CAFC5AA2485BA25A5C5AA35A5CA4B5FCAF7EA4807EA37EA280
-7EA26C7F616C6E5D6C606C80616D6D5D6D6D5D6D6D92B67E6D6D4A15FC010301FF0207ED
-FFFE6D02C0EB3FFE6D6C9039FC01FFF86E90B65A020F16C002031600DA007F14FC030F14
-E09226007FFEC749C7FC5F797AF76C>100 D<93387FFF80030FB512FC037FECFF804AB7
-12E0020716F8021F16FE027FD9F8077F49B5D8C000804991C7003F13E04901FC020F7F49
-496E7F49498049496E7F49496E7F90B55A48727E92C914804884485B1BC048841BE0485B
-A27313F05AA25C5AA21BF885A2B5FCA391BAFCA41BF002F8CCFCA67EA3807EA47E806CF1
-03F0F207F86C7F1A0F6C6E17F06C191F6F17E06C6E163F6D6DEE7FC06D6D16FF6D6D4B13
-806D6D4B13006D6D6CEC0FFE6D02E0EC3FFC6D02F8ECFFF86D9126FFC00F5B023F91B65A
-020F178002034CC7FC020016F8031F15E0030392C8FCDB000F13E04D507BCE58>I<EB01
-FCEB07FF011F13C0497F497F90B57EA24880A24880A76C5CA26C5CA26D5B6D5B6D5B0107
-90C8FCEB01FC90CAFCB2903801FFFC007FB5FCA8C67E131F7FB3B3B3A5B81280A8297979
-F835>105 D<93381FFFE00303B6FC031F15E092B712FC020316FF020F17C0023FD9FC00
-14F091B500C0010F13FC4991C700037F4901FC02007F010F496F13C049496F7F49496F7F
-4B8149496F7F90B5C96C7F4886A24849707F481B80A248497014C0A2481BE0A348497113
-F0A3481BF8A5B51AFCAE6C1BF8A46C1BF06E94B5FCA36C1BE0A26C6D4C14C0A26C1B806E
-5E6C1B006C6E4B5BA26C6E4B5B6D6D4B5B6D6D4B5B6D6D4B5B6D6D92B55A6D01FF02035C
-6D02C0010F91C7FC010002FC90B512FC6E90B75A021F17E00207178002014CC8FCDA003F
-15F0030392C9FCDB001F13E056507BCE61>111 D<902601FFF8EB07FEB691383FFFC094
-B512F00403804C14FE4C8093261FFC3F138093263FE07F13C0DC7F80B5FCC66C5D011FDA
-FE0114E06DEBF9FC16F815FB16F016E015FF16C07114C05E72138095381FFE0093C76C5A
-F001E095C8FCA25DA65DB3B3A2B812F8A8434E7ACD4F>114 D<912603FFFCEB0780027F
-9039FFE00FC00103B6EAF83F010FEDFEFF013F92B5FC49EB000F2601FFF0130048018014
-3F4890C8120F4848814848814981123F83485A187FA212FF6D163FA37F7F6DEE1F8002C0
-92C7FC14F014FEECFFF06CECFF8016FEEEFFE06C16FC6C16FF18C06C836C17F86C836C83
-6C83013F17806D17C0010717E0010117F0EB003F020716F8EC001F030015FC1607EE007F
-051F13FE1707007E82B482836D167FA2183F7F181FA27F19FC7FA26D163F6D17F86D167F
-19F06D16FF6E4A13E002E04A13C06E4A138002FE023F1300913AFFC003FFFE01E790B65A
-01C316F0018016C026FE003F92C7FC48010714F80070D9007F90C8FC3F507ACE4C>I<15
-FFA75CA55CA45CA25CA25CA25CA25C91B5FCA25B5B5B131F5B90B9FC120FBAFCA6D80007
-91C9FCB3B3A3F01FE0AE183F7014C07F187F7014806D16FF826D4B13006E6D485AEEFE0F
-6E90B55A020F5D6E5D020115C06E6C5C031F49C7FC030113F03B6E7CEC4B>I<DAFFFE93
-3803FFF8B60303B6FCA8C66CEE0001011F717E6D84B3B3A862A497B5FCA261A2616D5F1A
-DF6F150F6DEF1F9F073F806D6EDA7F1F13FF6D6ED901FEEDFF8070EB07FC023F01FEEB3F
-F86E90B612F06E16C0020316800200EDFE00031F14F80300028003C0C7FC614F79CD6C>
-I E
-%EndDVIPSBitmapFont
+%%BeginProcSet: f7b6d320.enc
+% Thomas Esser, Dec 2002. public domain
+%
+% Encoding for:
+% cmb10 cmbx10 cmbx12 cmbx5 cmbx6 cmbx7 cmbx8 cmbx9 cmbxsl10
+% cmdunh10 cmr10 cmr12 cmr17cmr6 cmr7 cmr8 cmr9 cmsl10 cmsl12 cmsl8
+% cmsl9 cmss10cmss12 cmss17 cmss8 cmss9 cmssbx10 cmssdc10 cmssi10
+% cmssi12 cmssi17 cmssi8cmssi9 cmssq8 cmssqi8 cmvtt10
+%
+/TeXf7b6d320Encoding [
+/Gamma /Delta /Theta /Lambda /Xi /Pi /Sigma /Upsilon /Phi /Psi /Omega
+/ff /fi /fl /ffi /ffl /dotlessi /dotlessj /grave /acute /caron /breve
+/macron /ring /cedilla /germandbls /ae /oe /oslash /AE /OE /Oslash
+/suppress /exclam /quotedblright /numbersign /dollar /percent /ampersand
+/quoteright /parenleft /parenright /asterisk /plus /comma /hyphen
+/period /slash /zero /one /two /three /four /five /six /seven /eight
+/nine /colon /semicolon /exclamdown /equal /questiondown /question /at
+/A /B /C /D /E /F /G /H /I /J /K /L /M /N /O /P /Q /R /S /T /U /V /W /X
+/Y /Z /bracketleft /quotedblleft /bracketright /circumflex /dotaccent
+/quoteleft /a /b /c /d /e /f /g /h /i /j /k /l /m /n /o /p /q /r /s /t /u
+/v /w /x /y /z /endash /emdash /hungarumlaut /tilde /dieresis /suppress
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /space
+/Gamma /Delta /Theta /Lambda /Xi /Pi /Sigma /Upsilon /Phi /Psi /.notdef
+/.notdef /Omega /ff /fi /fl /ffi /ffl /dotlessi /dotlessj /grave /acute
+/caron /breve /macron /ring /cedilla /germandbls /ae /oe /oslash /AE
+/OE /Oslash /suppress /dieresis /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+] def
+
+%%EndProcSet
+%%BeginProcSet: 09fbbfac.enc
+% Thomas Esser, Dec 2002. public domain
+%
+% Encoding for:
+% cmsltt10 cmtt10 cmtt12 cmtt8 cmtt9
+/TeX09fbbfacEncoding [
+/Gamma /Delta /Theta /Lambda /Xi /Pi /Sigma /Upsilon /Phi /Psi
+/Omega /arrowup /arrowdown /quotesingle /exclamdown /questiondown
+/dotlessi /dotlessj /grave /acute /caron /breve /macron /ring /cedilla
+/germandbls /ae /oe /oslash /AE /OE /Oslash /visiblespace /exclam
+/quotedbl /numbersign /dollar /percent /ampersand /quoteright /parenleft
+/parenright /asterisk /plus /comma /hyphen /period /slash /zero /one
+/two /three /four /five /six /seven /eight /nine /colon /semicolon /less
+/equal /greater /question /at /A /B /C /D /E /F /G /H /I /J /K /L /M /N
+/O /P /Q /R /S /T /U /V /W /X /Y /Z /bracketleft /backslash /bracketright
+/asciicircum /underscore /quoteleft /a /b /c /d /e /f /g /h /i /j /k /l
+/m /n /o /p /q /r /s /t /u /v /w /x /y /z /braceleft /bar /braceright
+/asciitilde /dieresis /visiblespace /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /space /Gamma /Delta /Theta /Lambda /Xi /Pi
+/Sigma /Upsilon /Phi /Psi /.notdef /.notdef /Omega /arrowup /arrowdown
+/quotesingle /exclamdown /questiondown /dotlessi /dotlessj /grave /acute
+/caron /breve /macron /ring /cedilla /germandbls /ae /oe /oslash /AE
+/OE /Oslash /visiblespace /dieresis /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+] def
+
+%%EndProcSet
+%%BeginProcSet: bbad153f.enc
+% Thomas Esser, Dec 2002. public domain
+%
+% Encoding for:
+% cmsy10 cmsy5 cmsy6 cmsy7 cmsy8 cmsy9
+%
+/TeXbbad153fEncoding [
+/minus /periodcentered /multiply /asteriskmath /divide /diamondmath
+/plusminus /minusplus /circleplus /circleminus /circlemultiply
+/circledivide /circledot /circlecopyrt /openbullet /bullet
+/equivasymptotic /equivalence /reflexsubset /reflexsuperset /lessequal
+/greaterequal /precedesequal /followsequal /similar /approxequal
+/propersubset /propersuperset /lessmuch /greatermuch /precedes /follows
+/arrowleft /arrowright /arrowup /arrowdown /arrowboth /arrownortheast
+/arrowsoutheast /similarequal /arrowdblleft /arrowdblright /arrowdblup
+/arrowdbldown /arrowdblboth /arrownorthwest /arrowsouthwest /proportional
+/prime /infinity /element /owner /triangle /triangleinv /negationslash
+/mapsto /universal /existential /logicalnot /emptyset /Rfractur /Ifractur
+/latticetop /perpendicular /aleph /A /B /C /D /E /F /G /H /I /J /K
+/L /M /N /O /P /Q /R /S /T /U /V /W /X /Y /Z /union /intersection
+/unionmulti /logicaland /logicalor /turnstileleft /turnstileright
+/floorleft /floorright /ceilingleft /ceilingright /braceleft /braceright
+/angbracketleft /angbracketright /bar /bardbl /arrowbothv /arrowdblbothv
+/backslash /wreathproduct /radical /coproduct /nabla /integral
+/unionsq /intersectionsq /subsetsqequal /supersetsqequal /section
+/dagger /daggerdbl /paragraph /club /diamond /heart /spade /arrowleft
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/minus /periodcentered /multiply /asteriskmath /divide /diamondmath
+/plusminus /minusplus /circleplus /circleminus /.notdef /.notdef
+/circlemultiply /circledivide /circledot /circlecopyrt /openbullet
+/bullet /equivasymptotic /equivalence /reflexsubset /reflexsuperset
+/lessequal /greaterequal /precedesequal /followsequal /similar
+/approxequal /propersubset /propersuperset /lessmuch /greatermuch
+/precedes /follows /arrowleft /spade /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+] def
+
+%%EndProcSet
+%%BeginProcSet: 74afc74c.enc
+% Thomas Esser, Dec 2002. public domain
+%
+% Encoding for:
+% cmbxti10 cmff10 cmfi10 cmfib8 cmti10 cmti12 cmti7 cmti8cmti9 cmu10
+%
+/TeX74afc74cEncoding [
+/Gamma /Delta /Theta /Lambda /Xi /Pi /Sigma /Upsilon /Phi /Psi /Omega
+/ff /fi /fl /ffi /ffl /dotlessi /dotlessj /grave /acute /caron /breve
+/macron /ring /cedilla /germandbls /ae /oe /oslash /AE /OE /Oslash
+/suppress /exclam /quotedblright /numbersign /sterling /percent
+/ampersand /quoteright /parenleft /parenright /asterisk /plus /comma
+/hyphen /period /slash /zero /one /two /three /four /five /six /seven
+/eight /nine /colon /semicolon /exclamdown /equal /questiondown /question
+/at /A /B /C /D /E /F /G /H /I /J /K /L /M /N /O /P /Q /R /S /T /U /V /W
+/X /Y /Z /bracketleft /quotedblleft /bracketright /circumflex /dotaccent
+/quoteleft /a /b /c /d /e /f /g /h /i /j /k /l /m /n /o /p /q /r /s /t /u
+/v /w /x /y /z /endash /emdash /hungarumlaut /tilde /dieresis /suppress
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /space
+/Gamma /Delta /Theta /Lambda /Xi /Pi /Sigma /Upsilon /Phi /Psi /.notdef
+/.notdef /Omega /ff /fi /fl /ffi /ffl /dotlessi /dotlessj /grave /acute
+/caron /breve /macron /ring /cedilla /germandbls /ae /oe /oslash /AE
+/OE /Oslash /suppress /dieresis /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+] def
+
+%%EndProcSet
+%%BeginProcSet: texps.pro
+%!
+TeXDict begin/rf{findfont dup length 1 add dict begin{1 index/FID ne 2
+index/UniqueID ne and{def}{pop pop}ifelse}forall[1 index 0 6 -1 roll
+exec 0 exch 5 -1 roll VResolution Resolution div mul neg 0 0]FontType 0
+ne{/Metrics exch def dict begin Encoding{exch dup type/integertype ne{
+pop pop 1 sub dup 0 le{pop}{[}ifelse}{FontMatrix 0 get div Metrics 0 get
+div def}ifelse}forall Metrics/Metrics currentdict end def}{{1 index type
+/nametype eq{exit}if exch pop}loop}ifelse[2 index currentdict end
+definefont 3 -1 roll makefont/setfont cvx]cvx def}def/ObliqueSlant{dup
+sin S cos div neg}B/SlantFont{4 index mul add}def/ExtendFont{3 -1 roll
+mul exch}def/ReEncodeFont{CharStrings rcheck{/Encoding false def dup[
+exch{dup CharStrings exch known not{pop/.notdef/Encoding true def}if}
+forall Encoding{]exch pop}{cleartomark}ifelse}if/Encoding exch def}def
end
+
+%%EndProcSet
+%%BeginFont: CMBXTI10
+%!PS-AdobeFont-1.1: CMBXTI10 1.0
+%%CreationDate: 1991 Aug 18 17:46:30
+% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
+11 dict begin
+/FontInfo 7 dict dup begin
+/version (1.0) readonly def
+/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
+/FullName (CMBXTI10) readonly def
+/FamilyName (Computer Modern) readonly def
+/Weight (Bold) readonly def
+/ItalicAngle -14.04 def
+/isFixedPitch false def
+end readonly def
+/FontName /CMBXTI10 def
+/PaintType 0 def
+/FontType 1 def
+/FontMatrix [0.001 0 0 0.001 0 0] readonly def
+/Encoding 256 array
+0 1 255 {1 index exch /.notdef put} for
+dup 0 /.notdef put
+readonly def
+/FontBBox{-29 -250 1274 754}readonly def
+/UniqueID 5000771 def
+currentdict end
+currentfile eexec
+D9D66F633B846A97B686A97E45A3D0AA0529731C99A784CCBE85B4993B2EEBDE
+3B12D472B7CF54651EF21185116A69AB1096ED4BAD2F646635E019B6417CC77B
+532F85D811C70D1429A19A5307EF63EB5C5E02C89FC6C20F6D9D89E7D91FE470
+B72BEFDA23F5DF76BE05AF4CE93137A219ED8A04A9D7D6FDF37E6B7FCDE0D90B
+986423E5960A5D9FBB4C956556E8DF90CBFAEC476FA36FD9A5C8175C9AF513FE
+D919C2DDD26BDC0D99398B9F4D004B836D34E88C20EEB527CE1124209388A2DF
+E27A8DF298A2693A9D529916AA0B2176E6ED237F69D84A8FEEB36861D1847207
+BE2BD61C6A412FFFEDFF13AFEC32AC7735BCCE5965F5966418A62ECB99112AB3
+3BC938EC590FF6922659125EB67E260BF02885E49BA6019E696D33F0B53606A2
+F515E0C45F323311613A94B838491BAB9FE230C5CC79D22925E3D882799F2707
+C32975A494F0F9513E4D8332E7E54470D9721FBD345CDBB48286F2F19CC6D66E
+BB631DD6476A509167A49CA525A72CA50E82C1D08C2B372DB54C5949C753B632
+2009B761EB90492ACD3CBE6A35CE1B66F3BC4D8DC36827CE4261A703328451D1
+879438479917C1647772999171DCCF1491A1C9086E0C6393506768F8757BD81D
+141C46EB9BF507EEC29962A0072B6C5D8C8588F3D68886CD2606DD3BD2FECCEF
+63245494E93EEA12AAFB06110E54ADC444C7E7619627A48A464394E5DE06EB46
+4C76A2FF010318BBE48B3776C826A265C66515717F7F2E943C60EBAB23D96B5B
+FD514A1C4E79BB3D3D2DEB936F90CD3FABF7B09FF7F564AB5CF4AF6A40E869FD
+395885A88F4A138B3CA6943A2D430BBE43D91F7F17621CAF52FB7161DA3B2003
+82244FB6EE792DCA1722C03392C296C029A2DCC5BAAB3EA03F8DEB039DC83AE1
+763AAB84776A2CCFFAE9EAF0BFDAE417E8BE682D237FFEDAF224AC09C9665019
+165CE32F5349E857177D94AD6396570932E1657ADE4D3FF57A3419946CCD210E
+57E5A1D91CF708395942527D127606350924D71BC21C6F969288B1C8CA3404ED
+E6219985F7301A20621368F74747EAD38990A4C9F2B62913B8FDB93657409FF5
+178DAA7C97C35EAFA47778CE03E863303582D8A9900EF4F8DA879DED54BACD7A
+4A50C18AA2ED906FC4DC073B1E6CA1E3855AD5B7698EF4A96B77DBE19A12382A
+CFA8717DE230CB6182F2250885B8E90AC42A66484A7B527061B223A6D1CC72D4
+890359E7E04690BFFA99FAB5CC9999F0873A9DBE49E33F79E483FAD72313DF9A
+7B7D926461988C23CCE9F71AB7BB63BDB2B10B3F78176380AFFC154825C9BDCE
+82303FBFC3B59E070438984C28D12E8655BBBF049125BF56DD2B0DE8C0450E55
+82832DA59EBEB001AAD86F2317460DD7ED264611B9043614221ECF
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+cleartomark
+%%EndFont
+%%BeginFont: CMTI9
+%!PS-AdobeFont-1.1: CMTI9 1.0
+%%CreationDate: 1991 Aug 18 21:08:07
+% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
+11 dict begin
+/FontInfo 7 dict dup begin
+/version (1.0) readonly def
+/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
+/FullName (CMTI9) readonly def
+/FamilyName (Computer Modern) readonly def
+/Weight (Medium) readonly def
+/ItalicAngle -14.04 def
+/isFixedPitch false def
+end readonly def
+/FontName /CMTI9 def
+/PaintType 0 def
+/FontType 1 def
+/FontMatrix [0.001 0 0 0.001 0 0] readonly def
+/Encoding 256 array
+0 1 255 {1 index exch /.notdef put} for
+dup 0 /.notdef put
+readonly def
+/FontBBox{-35 -250 1148 750}readonly def
+/UniqueID 5000827 def
+currentdict end
+currentfile eexec
+D9D66F633B846A97B686A97E45A3D0AA0529731C99A784CCBE85B4993B2EEBDE
+3B12D472B7CF54651EF21185116A69AB1096ED4BAD2F646635E019B6417CC77B
+532F85D811C70D1429A19A5307EF63EB5C5E02C89FC6C20F6D9D89E7D91FE470
+B72BEFDA23F5DF76BE05AF4CE93137A219ED8A04A9D7D6FDF37E6B7FCDE0D90B
+986423E5960A5D9FBB4C956556E8DF90CBFAEC476FA36FD9A5C8175C9AF513FE
+D919C2DDD26BDC0D99398B9F4D03D5993DFC0930297866E1CD0A319B6B1FD958
+9E3948FFB3DF7BFF10C9BDA4EFE5F68A8CB1526990D1357AE6D2F7C2D2EF8496
+4E47B39E6712EB8908A3265E5FAB40567E866C244814449F1E993AAB422C3F1D
+DFA8C7118584F2E5197FD4BFA3A8AE9E953C6CD4672C0FF51E41C3A919749C1A
+F06650DF4C5E17492164BDBCDF22609A74BFA7F69960A64B9F949FFC2A807458
+8579366C4F41BDE1FDFBCC4845FA19BBB6963D65EE8532549274BAEBDFF24FA6
+03235D1BE37C06B1938AF369DA75BF38DDBC87A1FF445EAA16E1895ABE9506B9
+211955753E447865D33CEF007391D2666A046277A30A49804FFCED3FEA5EB2C3
+E52EE14A9F75241EA10C91974CDA6236EB840FD44D6DDE4D9B3266C3B99BD38B
+D835BCA8CB819C073480FB972CC028D218F6A1D344CE1B63F4FBF2C826F412E1
+6E0B05A26125865A14FD7B7030B478BB8BC6BC395335C3BA940E1C348267F4F9
+0AF97BBEE253511940F1048E175D3569F7D05A28851B6F50765FEB6C9654FEDC
+1BF52F535DB5BB90C1BD5D2EBF75E0AEBE82B20507F3C28A03746781018D4EB2
+298E4F2C27ACF73FA73EBE43F014BB575AAD516C0407B29E1653375135ECB74D
+C91372F06FA8EF37C31AF3FA48AE65318EAA6C34830A5377ABB2DFA5DA53A574
+433484BA1466709A4B186761655C8E482833B697673E847C691079E7F1DCB8D6
+1AD91101D757B83E2090337D525AEECB028FB3C9F6A6E6AD2F322CFDC5A833E6
+1CE4EDBF41FD34FD61630581D222F854A76C2EA9FD72796A7C9CC1F6C2FCCD16
+E95CA05826A4ECFADA6A5FB83C41A7131E52BA6585DD6DD78515D8F7327DFC6F
+9404F89293D6ACB433CD0802C43F0E74C6C4766A23A6AE3788FE6CAE82E1A104
+BAEC8BEFDEFE4F292F625E60362F3886F602CE4121BF0AAD93526314BCBB5971
+40091A7BBF7EFB3BA355B88C897D9C70C841DE41309348751EDFFA8675215988
+49CB1599834A01EC6CD4FD813AFF97A614F56975775D5F48E9C1A9CE532FAEB1
+4EBE20C3FA87CFE03664C428BFC5C894668E507950005BD8C2BCA8998C1FB92C
+4E6B791BA05B79F332EB8AF5B0F851B8B7EE372EC0861B09C007CDF43F82D0B7
+35446F682A0DA7F4112CDABE4F922EACFCB7B8C88BF550B60957E7
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+cleartomark
+%%EndFont
+%%BeginFont: CMTT9
+%!PS-AdobeFont-1.1: CMTT9 1.0
+%%CreationDate: 1991 Aug 20 16:46:24
+% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
+11 dict begin
+/FontInfo 7 dict dup begin
+/version (1.0) readonly def
+/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
+/FullName (CMTT9) readonly def
+/FamilyName (Computer Modern) readonly def
+/Weight (Medium) readonly def
+/ItalicAngle 0 def
+/isFixedPitch true def
+end readonly def
+/FontName /CMTT9 def
+/PaintType 0 def
+/FontType 1 def
+/FontMatrix [0.001 0 0 0.001 0 0] readonly def
+/Encoding 256 array
+0 1 255 {1 index exch /.notdef put} for
+dup 0 /.notdef put
+readonly def
+/FontBBox{-6 -233 542 698}readonly def
+/UniqueID 5000831 def
+currentdict end
+currentfile eexec
+D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891
+016CA6CA4B712ADEB258FAAB9A130EE605E61F77FC1B738ABC7C51CD46EF8171
+9098D5FEE67660E69A7AB91B58F29A4D79E57022F783EB0FBBB6D4F4EC35014F
+D2DECBA99459A4C59DF0C6EBA150284454E707DC2100C15B76B4C19B84363758
+469A6C558785B226332152109871A9883487DD7710949204DDCF837E6A8708B8
+2BDBF16FBC7512FAA308A093FE5F00F963068B8232429ED8B7CF6A3D879A2D1E
+2931CE5F5D18C658602059F07BE66E6EFC9239D7AB2FB8A4CBD41675B8ECF279
+650C29E53B14AC0E392A664848C1844B1CECBB2D5CFB72D0916B675C9A9A1E35
+F12696A6F628473C604A95376468E06E295AD6F76CEB939D94113532050B9D5A
+D2F41A9EFB9424D986612313B89EFE9C8A71313340B248F6853B1EDBF02B7F9E
+F447220FE131D7D54CFB8AA1281DBAEA73E665BACB1F164552CC0CEDB63BD4B1
+4A9AE8AC6FA02242DBE8DA46B64B6BFC11762F0784F216FC8B9120D688D1705A
+438B14F5E5DEAF2A98408B3B64620DE3732A4DAE6D08D5D97E34C75DAE19EABD
+BA0796165C1151BCBFB1DF8D29A63A8300DBDB9E3323CB82D0337598B83F4F2B
+A97CF5196D4D1CEC1EDB8966E548C0D9C194C932319610FB43EA1B86322FE641
+AB48770FF13BD475A7267E142388563D1A400419C585B22A9886074687BEDF74
+D905BE8EE440BA2ABF28EAB673399B7F129B9729DD5564C681954621903B84BB
+CAF89AC5ADB2932472DF29ADA2BDBDB4D05F65F28F5F4C529613D61858E0074A
+082A852710A62A147C966F2B85B51B0BE85F11D2057C66FDD61F6C5755367980
+9F4DE680601D4DA41B46F8D2148450000413C27AA39B586B74B977B25F0FD3C0
+4BA1EBFAFDBEC531EA13DFBD6700E53818CE04D23886B8AE75DCC36BCD3189B1
+0D55FAE27D0D126E82AEF31D7B5DF27E58C30BB0867D6D7AC1DA9EFB8A2DF095
+B5B934A68EE122DA0A83B36C952431586B957990206194E89339048AA6EE4C53
+703763505ED57C494DD907D0EEA04F6B1D4C8F3BA778F4E7AA832AAB4D75F024
+61E91C6D25FD6823CB24FC863AA50B9B6CBA06BE11814BE6DF2ECBC59614A061
+67311E64620BA968BAC5A4AFBB51194E1EC2A8A6460E85C23C146388B0A16BAD
+B9405D3A50CBF9F2060A32C8F37340EE51E6E7208F705B41AE2C78707EDC4C1C
+AC4BA95875F0634C6D5BE1C5DD4BA35086F660154CB1D3E176518D634B551319
+E8F8C5EE80251323C86C9DAD0FF8F360F4A2930AD3266999811333EA73405FA9
+55B447DC8EB07A0C64CF2404BE8C6C7E6D263E799B1156E68AF1361ECAD79F9A
+182A71A49040A9960826E74B88307F4C0061046C0F9DBFD25A642E9FA82A691D
+FBF60D03D2BB92FC09D4C814CFC0DAC28690CBEE9D9E73FA943FF9C68285C683
+C4E1AA05DD669D24AA5EABA214FFA994E61669821F0FDE4AA2BBA18FF4A11397
+515996FE402DD98FE032C6171DA1E40D4F870BA08FCB5D093525EB366E825445
+E58CD3E6FB72291DF9288707B8C2D1F96D0895CB316B74585745CD1F636936DE
+9572C75BD823D3869E264E452B1F2554C20DA7A0A38F3E80646D1727C836FEF5
+85C22382271615B6F994C34A5DAB5031F1FD58DACE3EEA8DEC66B6E683B68925
+DBB3820FD525D0C07F82528B06E34A5AF65F3BB11DAD02ABB66C8A0670545071
+97EE01859BCB8179731230D9A8BC52A47656A84BBC7D1AC118D497F14937A1E4
+C5A2F171412185D365B7D476C872132CF8E49F87C8EEAE6EA4AA5979EED7831C
+061384E91AD71AE04E80917B07F85F12B4B88D46BADDB6D9B56C4BD028FBEF25
+432A07B83E81A23B3025DC6D2AAC38F40F5091CA6275E22388093E9C46B97774
+0B091D60F2F85CE5B38A64B4EAD179C5EFB72A6DCB31BF080E62EDA70BC27FF6
+70F1E6B7AA9B60BF19F52116D919FECE991946C8890766CA834C9EF887EE05B3
+7870F0905663F66B483BA94829EF58BB076166A40809474ABB9EAD15FD21DAAE
+DFD13192EBF5CE5F13441BF33910DBE1F03F24F692D229623974FC0545609E1D
+04774A010546D9DD7DC565BA9118C9162C4EBDE79684398D055BE9817D5323E2
+62F47521C9E9B45123A1A9519258FB0DDB1068D7F92F38FC65F38D3479E00B70
+4193F003F92F1C80CA0B4607DC1A60C1D342E9298969B23BA9247936279F8D98
+D953AD865D937F7B9FF3424B4263290802A53C3F1ACB5BE00F4DB01D8ECCA322
+BC02E1A1E025CF85C960D6DD73D4C53474544B17EF73DBADAB9FDAAA93B627D8
+7263110ABA54DF1D3C1F83724DA049DB977F630706988FE0192FB53F3FD9417B
+C24BC1B3CC184DAF52B07F2B4461190E0BB06EC6B4AA0A9417C66AA20DD96F5A
+8C7DB7BF022830873F5DF031C9CA661B1ADB1EE2F7B08DA3B3DF127D52CB0B88
+E01E4593AEBE23FF5177B1EED76EDCF84C6272C677D6B221A35B420D93252183
+6B6536F0477E7540636C30B02BBB7E4C33CED1C4EB6462FE2FF03FA3451F952A
+E1BE1ADCC347E3B4BF0F551CFAED1D123F30493E4DD71883B8FFC6BB4A855D02
+5C10248ACFC1AD3600D7A504D043BA4026BF29357D11489F6E2534111552D79D
+C1892AE149061E5D86C01D82C52427B4486F88AF9733EEDC2A27C59053189136
+14BA6AAD04DA9C35B8377E339BB1678C533A8800AAD7736C4F2C99C979F1FC11
+65F2605F4D77A0F524E259C75F7B5C319229BF4E006F106D2E53057537E646E2
+3E04FF414E52AD68BE9480B3FBEF472C446BBD928758558F299AADE32E3A947B
+DAE1A1563E506753D5DCC8692D9315729404956DB585209C512C1843F11B1B68
+9662B6F7FE8C288C0D4E514979D3BF3FEFAFB4694D8969DC6D238D4310141BDD
+48812F4E2EC6FF9B30A19E7DF6176643E8BFB9E5FB5FF44269696A120E4629AD
+AC47AFC0E43C9048552F47096F6030C87AE08B6969882EAE4A63C8EED064943C
+2DED79E266545B8807739CFDAD5AFCBEC84CD577DB0956B7D3E573FD4D150683
+C03F339502B0B7FF14B05F8063BFF72272AE941313A2A87833B266B29CB4768D
+A5561D5E0D385CA96B0D42390F7F8C8D0938557CD4AC52571E340F7E9DC7BD6C
+063CE5B9F584D60790CACFDDCBF46408DD37B8D2D77F4FAE3F3579BD601A6508
+F62883BBE55CC900D4FEC66C95D04CC0FCB7F9D5FD0AFF3CD8A8041FC2A7DCF7
+923720EA109E2447287D4DA7B390DDEADA6001948FC5D7516BC41D9F9045BD6D
+44AC9FC7953A1B19C48F938DC7DEFCBB895F29609438B0735BEE9FE2350EC3A5
+D07572A3DEE070F22139209F577E0F2635A2F081ACDD60F1DB00E8547E0F2043
+A372C73063C50FC37662588138538BF02670D88E98CC6BA37A7854754896E36D
+9660D1B57E8561F7646763B47DDABE791A22795EA0052A5D5A1215575DB845F6
+72812840395A3FD09FB64C49E1FB301F894B81641D5F4E118E51376133FFB60C
+C0D7E53AD245747100747C1CF79E43074FF660FD9CFDEBD27C314B33909993AD
+C6F74320515DC8662C18D130B573866A425A71208BBDAC74B9856435F0BC8743
+8B7B0A961EC6A50BD7C28A37D1B498E201C669DF18DFF254B46E1F826ACBEFA9
+63F784B55FDEB25C47344D51C229576ACAE0B5668854BFD2F3C4317B9B8DB678
+D7070B27D4F58AE5285EAE9112CB06B91B3B7EDD674A7C1CDBDFE0E908918DDA
+070AD7F1AC630485BD63CC060AB809D959D8351EC0D0B16C5928B04A96FC5F43
+E16AB4A92FFB345217429544BAD0290BB0301B39A461CB1112D666BCE90BF37D
+46314951443D48B66F87C300F59553745A5218DAE7FF319EC6A3E54A08E2BD78
+87DEF58A90F21E2EE89337287C672F039B99C21288A3893118B11BE6192B359A
+743E7F2AF63D9595C6F0BF8E925A4611F5C9EE53216EAA6EF28F76CA97D8C608
+668D4F2B9F4758443899761858C7FED1DEC31C7063D52A54BBC52408AF7599E7
+B00A06EEDEF1C6B89CD64D83878CA3509365ABCB953BE258703304FD475B5423
+6AC41B9A01FFC163D00CB39A714CD4C4EE44BD3B72B836FC6FCDC5B4807BE0EB
+105F308F6F0BE0026ADFD15C7FDE8125F26FF0464F77BAA01417940EB4921F84
+642BFFEFEB1B260D6D5DBF4FE8E4B27B735538C00E1A1E113C3DAD716BC5FB2D
+4CBFA14D80494869D98F2FCD284A6FB0C21EAB1E9C39B2AD13ADB3F1ED11462B
+6AF1D508F725D720F13E05F9DD829B6A4E85F2875FEABE6E08AE8AAC5E3E3CF8
+20252F986C06659C956A91DE1A55F4562F69083693A506EAE83D9D3BDF3EBAA4
+929190CC32FFD3110C91C45B8EA7244EB90AB715F25651276AC763DE439FC1E1
+D329C8858131F5B9AD33EBB54DE30BB896605EB41F6D1A82AFA2F67BBC0CBFAE
+65F2CC7BD43480E72FC9A320A8DB76F4C5BCB1AAFF01FE05F2473D109B72B367
+91E8304E2D56516A2A0D36E9FFB237696EC8159D8A8132E8FFCCC52788A34C94
+DA762D34516E07D639C7E2C92BF9855745E603F30E756197F77AEBED83C52A85
+02D6922B39AD6F223D0EDC2B9355212D32770AB4E2E5D42D10CF3ED77A321A19
+5BE4566EFD21DDAF65C9CF4961033D298E0A4CB01885C53E92104E816E261DAF
+00A6CE7C501CB2282BCA60C641B298C8A5553F9CFCE711C6B677EF94039BA4A6
+8A29B04C69D6B0C586A3DCF1D323B611E87741353101D201B1A51C58C5653808
+A88DFF583970916F252F79BC09989A7526C6C004205396A6AEB5D5F893AD2BD5
+21A7C70CDC4441826B31DDD7CDF72AC95954258EF01EA58BEE077E7496541955
+98901F9DF5C3D9871C2D73D5BD55081FBF2903AB2D666B062EB59271D5DE2979
+B6B7D9E6F98CC2BD25E93B963F8069FA557DD229EB689579194DD23552D44B76
+CDBB0393E7495139C765A901796B27B4E1BDA58879E335DC1094419537150FA5
+9F3C8B24BBD04CFF6EDEFA0EF0675831D473D08C563607F8B8FDC779A888CA90
+59B91CA9455F49B75D01AE83E29B525DFAA3EE8AB6921C98A08C9863EAD03FA9
+A06CCE0D2E4F5AE3B58E874962521BB632F40AC0253EFCA8080F388AE87930BA
+2E6F251053FE3FACC9B8F5EE35C7E11C527BE04A313B15056DB5A2BA9179D38D
+65567D7BFB41E864C5A628D92FA9CE07DCBD3F61FE5716DB80B0C4BCA5547E0E
+5FD095421ECEE9F3AB0BAC5282D6848B592334CA0553776944FF72F033697BFB
+E341F5F006FFE5E1C3794289CC7E5BEE9049F11DC4F4FF6CADF6D2FBDD87A66D
+33916034A78D3F8B13E30DB2D5876405C8C4E533003DECC6839988E716B54CDA
+8220EFCF0BD284F26CFD5CFAC1A680420DEA1C9D925BAFDC063414D6E9B3C67C
+EA61C4348DEBDD601C47517288D2869E815FE104291BD26B4CB623FB24525981
+3401580E6E6C84914AB9CD91B3B541F9AF742119DDE659146A4BBD4A3F532DDE
+EDC29E58F4C2AD9B78F1B6B4C7DBE74288E9900EFE276A22E74B82D20F231789
+79D72B1AAE398B8981D33E6EB27AA29530E169EA294A1A76AE941F7BD33F1333
+59EE7F2448E0A2DE3CEAA02DA052B941718DB7288CBDFB0EBECAB5473F3A1E6C
+6E2B3A823E92F9BEAB5E704CC717B170FBAA1F6021478D676EBA2DD8C1FDFCF1
+EFCB0502845A1CA22C344A9C309B450E7C6D1970F12E5F21C1016C64373EC731
+3E5D4EF7C86285ABFBF6CC8A7372E0A2269E44F8DAB78863B26B1C13F38684A1
+746BDEAB3C4707D0E1D519357925041A9A34D39ED75056CFB3F80B428FC318BC
+8D61F7B0B560CEB296163FFA87579C15978A6F85DF244597A2D69D1C952A9062
+76B045F6DA725A0C50EE54087F2659E783F7C184C5F5A6429A7B5FE905C100D3
+DB6106A1F5946314CBBE013462A62B9F4F2B053B14B6228D8903604E7058D1A6
+22BF06E2148918CFF2CB8B7A5023D59457A3E4D719E4E21234D29A2B62BF58EF
+DF5719C6976AEBF9FE7BFA627466E421EFD90E7EBCFDC0ED82AE79DB249BACC8
+24194544826B53932F0D6C16B97D322D2F546E00E63E27B3C44FC2C1CD2865C9
+BC3DAB3EE336724A1A345970B38E806B56C9E810C4FF6DD701FD61581F9A8467
+EFE2A2C0A57DA04CE84281E8F2EA799428C46D9F08BB07AF3E4E293EB87A675B
+C74F461086C1DE798DADCC23739195DF2479E6DCEE0E582AD55E8C496BBC47E5
+403003F83C523D37DEBE106EB00CBD0E9E84BBD73CC823ED2F3AA3BA824E2C53
+B2B1FC67C4FCE94A1CA568ABA7AB4950782644A47D3C040FBBA833EC0D00DE03
+392EDE905C67DABCF6F0BA9771A953A29D3A02EBE2447D3AAF484BC461FC4EA5
+A3EB4985F5FEA614785F962CABA273B5952F73B4048EF771A78126D022471276
+C4C3C9DD5C8B2A7C89D4C4804357131E30F5734C93205D8C98D1152B7C2F3D5D
+8E1DFF1731595F17AB58A761A56BD1A336C4EC203BDC7732FD99DEF3CCA1C2C9
+0DBE11653610D192D0AA776A6AA0B493E5C2ADBD3D03598398251898FC879533
+154162AE4A5BC9690F00F8976C3FA4C506325DB5E744642DDBE32FDBA38058BF
+492C8FFF777D58F0D5C46C224C56FBC86908C8E0F7759ADE27D8BC5FD2752924
+12EDEEFA51707577B91C86613D4A69FFB236E615D74F49455E31F2C5FC9F003C
+DB70FA20D5CAF86CBC7F0F0413FDD4CEDD99741BD89DDD66778DE46DD98D6AE3
+EF40473E16AC2A6DBC60F475132FC96348ED87E28DCB1074FC52D0EE81BDCE62
+40869C9CB2B91B111B445B445A17782E194EE36F4BC5412788BF69D06801BB3B
+224066F35E04CEE0B3B81894724C084A813683B405124171861802DF38D44151
+F2A7FAA59DFDA16A881B920B20F3A5FDCB95330F0D57475738B0108ED4C476A0
+40803FCDBCC23B284286A483D3AC86E98F77245F25E649AC4B6F8CC9E06D6F6F
+E29E993CE6F34D76C6C8E7615350D47EF57823100F1E8101CEA89BFB0FCBF05E
+FFBBBCFFF87F6A0D20E56B9BEB0D4807C856A82FDAEBDF6E756A82C7D480F128
+3BCA96BC773D8899A9166EB6982B5566F262D0D4442D752D25DA750E9F7B2E26
+8451CB3CB6978C022BFE32F4FC829F52CF7E856A2FD27E5C29E69290BF7CECD5
+953F8CFDEDEA316F5BB0BBFE532E688793A86D21B17753B5585042EA0398800C
+3840803202FC945E4BF72C8CAC140FE6412187142484B7EEFA080419A1BBAEBF
+C77BC72CAC7E668B3217B1B9775E585BDDB10F4ED705A92FFEBF6C4DFB6F8C84
+8383D9DAE4CE854304F0E84D777B0EEB9AB5DFD573AA2556A1B0721D2C31858A
+B6F3432BC2706920
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+cleartomark
+%%EndFont
+%%BeginFont: CMR9
+%!PS-AdobeFont-1.1: CMR9 1.0
+%%CreationDate: 1991 Aug 20 16:39:59
+% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
+11 dict begin
+/FontInfo 7 dict dup begin
+/version (1.0) readonly def
+/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
+/FullName (CMR9) readonly def
+/FamilyName (Computer Modern) readonly def
+/Weight (Medium) readonly def
+/ItalicAngle 0 def
+/isFixedPitch false def
+end readonly def
+/FontName /CMR9 def
+/PaintType 0 def
+/FontType 1 def
+/FontMatrix [0.001 0 0 0.001 0 0] readonly def
+/Encoding 256 array
+0 1 255 {1 index exch /.notdef put} for
+dup 0 /.notdef put
+readonly def
+/FontBBox{-39 -250 1036 750}readonly def
+/UniqueID 5000792 def
+currentdict end
+currentfile eexec
+D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891
+016CA6CA4B712ADEB258FAAB9A130EE605E61F77FC1B738ABC7C51CD46EF8171
+9098D5FEE67660E69A7AB91B58F29A4D79E57022F783EB0FBBB6D4F4EC35014F
+D2DECBA99459A4C59DF0C6EBA150284454E707DC2100C15B76B4C19B84363758
+469A6C558785B226332152109871A9883487DD7710949204DDCF837E6A8708B8
+2BDBF16FBC7512FAA308A093FE5CF7158F1163BC1F3352E22A1452E73FECA8A4
+87100FB1FFC4C8AF409B2067537220E605DA0852CA49839E1386AF9D7A1A455F
+D1F017CE45884D76EF2CB9BC5821FD25365DDEA6E45F332B5F68A44AD8A530F0
+92A36FADB679CF58BAFDD3E51DFDD314B91A605515D729EE20C42505FD4E0835
+3C9D365B14C003BC6DD352F0228A8C161F172D2551CD1C67CD0B1B21DED53203
+046FAFF9B1129167921DD82C5964F9DDDFE0D2686875BD075FC81831A941F20E
+C5CD90040A092E559F6D1D3B0E9BB71733595AE0EA6093F986377A96060BF12A
+A1B525CD9FA741FE051DD54A32BECD55A868DD63119A4370F8322CCBEC889BC2
+A723CB4015FC4AA90AE873EA14DE13382CA9CF0D8DFB65F0ABEDFD9A64BB3F4D
+731E2E1C9A1789228FF44116230A70C339C9819676022AB31B5C9C589AE9094B
+09882051AD4637C1710D93E8DD117B4E7B478493B91EA6306FDB3FA6D738AAB1
+49FBB21A00AC2A999C21445DE3177F21D8B6AAB33869C882613EA6B5EC56476B
+5634181ECBF03BFEDB57F079EACE3B334F6F384BDF9D70AEBD592C8ECF21378B
+54A8B5DBF7CB9282E16AA517E14843909339B5E7C55B038BF3BB493F3B884A1C
+C25F9E8FB912CBE23199AD9D2C3E573727701BA301526C66C3617B9514D6F11F
+11930B1D97C17816C85B1BFD9B973A191B33CC3B391815AD14F1CBE935942AEC
+D4004E6BEF379066FD72209DC88D2E634E79BCC2B98C766CBD92C561F2703F8A
+109E6C6CEC7B866F2FC7ADF646BF492E520319F3B949AB5D84AE990B33344A40
+3971F58DFDF8D8D67FA0B8F2A0D884F8C09A5A721319B911DBA0A35903877343
+C37BC36C5EB32353272D1E6ED5FCA611BE319A7E1E842CB7576E7A66D8E9C810
+49CCC0D35AE00D3669EC7D8ED957EEB2105BDCF7408E0B04A325495D38BCE845
+E96329244411EAAC14D3ABDD2BECAD7D391ADFFE3F7565B14FD29737EAAED3C0
+7F3981DDBE07D4AC09F6C1A32369BB88852CCE980C1E950E27EF3CF8A840B393
+9792FC1A510BCB4A2976BB640EE4510EA2BA3C7B5FE02F5F0F845B6B00F617FD
+EB4655CED34B0097F22329071DE7738CA994BD0F983C5C4599AB9161F3776023
+9AB724F231D9C38A76FC8F6A2DD4E6C9FD2B8061CDC814442CC69E94D437AC78
+B2DB204A99A3240E1123E0568F6EDFE11586FD1056FD547B7CC477CDBA05F4E8
+267F1174136F0A6F1DDF36774E8C58C3819ACBD9082D6F8D32787199B991C539
+66ED8AE31E98A78F906B67ED87FC30D3E9FC8786D38A1DA49EC9D1075CFD4B23
+CF86014DD39A0875E64A40A1EAA6BB9B2D5BBE9F5DA15A93FA14027AD2CDEE21
+F3CD937930BB35F12FDBCC15AAA27B26FD9A3965CD3DC6EC8981BE0B1D1B54A8
+EAD03882DB414C55E69F022DCD972D2509CF438F5A8A3D005D6C4840FA11C09A
+D80E4E7A2A9D5D35C9F90E74B6879428B3DBD6A9F65988921495F5932718BADF
+6A1D0BCA5C28D95C77DB91FED97E631BE91F12FA8B822F17C19A40432BB51FB1
+32456106CA12387835F299D2C835A6015DA041BB8EFC89A05B9E14B431EA49F9
+663EE20B464A0D899E959809FD8CB94DF654FD60CE3DBF43B68513B73D370DC4
+A1D6EDDA5A97E4FA33F076A46798F08BBC9A8B881FC98A6FC75D6DC35F11B006
+1CAF7B4C1EB3D842AFFD7543E0684C08B9066580AA87DA60063917085B15574F
+89A66AE6142B501DDA88AFB6CA54715FE9C322FCA314B24A1EFAB4540D29D4BB
+5D9DEB2AF0D3EDAF249C7CF44E9AADB07378AA79856A8547723981F63B34616A
+A2CE9FE46E701270235FA81568A236A614278FDD2178DCED2E89C67F73B17241
+EE3963A20FEFD28D57A5EDBE9038EBD14F2B4522FD33E87FA15346E5650AA523
+90B3C06C1F5C58C3A724E492E37D39B2247264DA02E5429062798387AE75D344
+B2A49017D786F5CD038F47BADED863CA9B0AF8DA68D7633997432A8289FBADDA
+5C0CB9DE70AD5C358A34D05719104C5320810984B09B6DF65D8D55F515704E6A
+85DB3EB4D3E1174450D67D5B9BA65575697EBDE700EA6A7ED78BF125B86C2EB7
+4F8A3FF408A4330A1F7DD21BD4D991A864F75E203F53A1BC423F071BFCBBD398
+B6F473789C02DEFC495FCB176636A5FF6C1097F2B262FA55283560FDA41BD09B
+1BF15AF3D55CA3B8EBE99822F2B0602CAA02DD7CD9C06FEC22020088B328DB5A
+72C1B42A7EB70B9D3CD7186AF316B9C769CCE07C7EAE3CE6C0C297031C21DF01
+50934FF9983295554BA5250B84F48E8A53C12874628AF7CE155C400045F836B3
+9A9FD9C6DE9A85556AFAA011619597D023B229B24DF27DC30C280C2DCA6BFBCD
+DDBD73738D049A34EEC427B15463A22C989AEEEB870BA80D2A161EB19EF3B07D
+47381CB799907C723BCEBBC23591FE23EDC4B5526AA62AB69915A29E204EAA4E
+5CC6F50ACBA322C147BCDAB2037942FAC0BF085ACD727037939DA6D679A67BA7
+3C6F125FB7E95C37BD9E69F12936506E2591B7570D0D06C5EE1226966DBE3281
+D72D682E570029A49A5B566F2A34F3C4D1B74A845D7C4ECDD5FF077326FFD7D5
+2D67EBF1FB9B8219B6FDDBFD93D204B5054B8DC0B59264F944F6C434D73958FF
+942CC33C4EA712E73547F15EDFB1D4F7E9F48330ED24D61CBFE4F1435345EB52
+2654BFC97CDCB80219941377C9F08E37DF676CBF8F1FEAB31B93CFC356A854E7
+2D44997DE52B3B61140EA94FF249DA41AFBAE054248BCF618B171B28885EEFC9
+183C4BBCAD4F7D2A230CE4490DB184D4E123309718E5353970D4AC9FBF38549B
+2211875F79D431340D5CB6A0B9CEED0EA26179121D155BA81B5FDF99C5E8D177
+3B0B10814B81E4FA26B9B5875FBE7E2623B17AB3C04419DD250F0DC422CA6F8E
+1677E46BEA2596BB7D52917E49A8B175C5A45B53DFE99CA1A1787BBC65E9B335
+6BFFCEA2D8CA21E457AF27A83B192BA9011143B82E7ED7754C85677024104E9E
+961D89ACAF6EF14E51A027EA3E4BEDE07899542ED05AEBB63C93A73707B33E29
+39F159F1E4C042BBE672C661E8CFFB9E2D99A21DD37C67DE76ECAFB1D86A25A3
+A35A5644653C5571B5B7AF8317A12C65C9D0701197BD6981DA6491AE466730A4
+317FCED66FAF5B548D00B28D8FC9FA581206582A43BC8AC1C25A6AE28DB6F993
+2C4EA8372A77DADB48E84F2BF0B13212782210593DA8843CE20F480189A6B1FE
+F25628DFB0E80EF6246278A977779771ED41C18D149AD5B9029A350BA27B2DE0
+B4BBD5846279AA5A7EF490E93D7A29A638C6D8300E4DC86BF13EB1B86861879A
+3B040982E4B1E3644BC982B7F6F3EB5E0E68E4ABEC782B0A5D4A118344510C5B
+5C713028D1055D3FE8F4021F34D6633100642360E78818624DADACE86C8959D8
+FD3D17A6C3C68BC57D4DBF3C2C1DDB48E485477F8642FAB9CE972642CBFA1E55
+E8A49F277958C2C5BCF94927BD4BD1BDE65CB7881DD58A19DCD4520AB550170F
+75F2DB0F762D0E299B5E9ECD77D2DAD70A3D669FA0A35258501111F87004D8F0
+1176446116A6947D9A9EDDBDBC8970E467C0C297FF782FBC792D67F6670F04D7
+E144383D0FA67DAAA72320881BBD99AA2D5FE15FC39875C76CB51358942D5972
+255788796AD094FEDB21A62649C2776D06DDE5845BE618BA586039114287BABD
+2497E94EEC93B5BE6CF26EAD350C3054BE1BCAE4C7BC8BA00D790987A4B22427
+5113579591E22C858E9BC334D521C79687E727C500A49D64A04D184202A8CE6E
+2B3E061D9782A105E70E41299F921DED673BAC72D68E7571DEFB6BBC74F85A1A
+459F0E3E25D6D7537A03599DAD46C0D5E2A16FDA46A6AF0FE03BD8C83B6A98B3
+859D90557D1E57EEEDD7F294367EAB4A974F4B335919D82FCB10CFA5198C53B3
+F2A1E716E911039BCE3518A2313586D7AFF353A7922B93177A09161161E9D762
+A7821D0BC443C593D9E2E1DFF06A886FB5AD8138488C7697BA30582D762163BE
+6C7B8DA2E878BECB58C6AEF6E7A79B3086ADDCD8A788C6B7500D8B0388C5644E
+A671BC9DD7E42F0CFABC401CDBA0118747E575E990A12DEF28458DF96784D22A
+3953A07E8BD0B635F2D9FB6146B68042639154044C4E904C64E9D5B724963566
+FA3B60FD276E3D7EB2F59659CC36C45A1E8B66FA47AB87A3A0F0DED9A1E807A3
+BDA72D96D45E4D6040E1E6D4445B0B6D8ECDEEFA947DFDF7CA1F366E662CA7FB
+AD8A48B1A25733D5DA1BFD5716A4C6A1CECAF845563D29C49462C18A4272152A
+135A7345C554D43ADCE45CF5F4CE4EE177FBA9140CE90435E332B19047A066B8
+3760C148FD48FE375D44577CDA59D232DFA57A258CCB4BBBAE50BFFA27050804
+B70B2C0D66056D468C70F9116969501CCE52C064CE41A23E295C141FD21472E5
+CE1A175353A04922126CEDD02B726E9880F012A2210F703C2D99AED3FDA32470
+A2CD735DFB9EFDD5BFD261676C56930815FFC44C106D87E68BF83B373C25C8DA
+C58BE6F13EAD93E4670F7A710019DB68AE250E3E86AF9743E9F3F426C93A160C
+7753B901F2E4865BEDA045C302CEF439138702DDA7B9EB6D29292D2490BEF110
+9FAEDE14011BE77647D67B2FD62AD29925B2108EB90095CE8972497D6E308144
+14AE95D21FE28DA652E891A4424A9815E2AD0D45B0AB9A3BD7FCE59499EF239E
+769A99A01EC56884717CB544F3FD82CFBFE20E7D8E24FA60C7DCCA9F83DB8859
+9D110F2EDC2207AE6C991456DD7D07575144DA2E1B4D84943CE2EB32748E3D2E
+9BA1D3D4B9D42C0AD31D623C15B5A5541425D4E35941DD0FE91239922A57DA70
+FCE714D44CE73BD7D3EE55D6F67DFCF6D118F6DEB09427B64481A45DDFD96AB8
+9E7B290DDBD974AAE4168BC92976A3883E866B4304F02C1DC2BE9BA04DA2A961
+BB08924737FCAB324692C884493A6C6B268B9DBAF97553F6FF0FB3E2FDE53E25
+3CEC75F31975F086F44D0021E96A8925BA2AACDD20D934500578C22F79E373A8
+11FEA8B4E2A058FC807C4E3E5A12A12E82A5B052443448DE3F7570EEBEABAFFF
+8686C2893706D6147BA676BD8CDAB292D4A337837325185A50C6B3F6BAAACC1E
+07D7D1BF91905D97D8DC8A6863C0D82E117ECCD3AC0372CE50F94506CAC86252
+2FD9344C6B884681C6D7EF29B7AC644D1138D215B05323F48ACF617A6F6D4330
+1EB5FD493F8C97F1A1CC587C5F0C878EE0CB8CA5C4CCCB8FDEE298AD78AD44A3
+6F3D2FF5D74E552B0F9C7C3CBCABEDEFADD33AD7001B32A01F27166EC902D2CD
+3516A21A2E68293F366EBE62E3497922A8CBD719CB713072347FA539483AAAFD
+0361287956057976D74A1BF9CB1508455DF701E8234CBD321C5C62970AADB965
+632CA077601F5D9B28BDDED00CA92F42A04776CED187489A87D1D20C10DE8A2B
+8758039FD6A76EFA51DAD0523BC90AE299000B8476DFDE7CE733956441EB532A
+3B386F0643EBAF6344E05F0830489B6B9494B5CF37A614AA7BC0F2F69972B23B
+FC7636B0AFEF9A2ECB537501D133D57C7AC74F223A12EFFAD2B1EF109090CA2A
+822378FA460CFA4F4E390F9750D60378FF2E521341FD75DC106D74A248F03F5B
+5D60D3030564858474A088A6DBF1C96A98A0D3BC065518CEB57E042E79A6A0E1
+E069C4A28E7436AAF169F6A0BF0A94CFDCE7AC1BC3DBA674ED652F8D2FD8649C
+1BA555BCF0412D748202C12AAFD91FF70BF207AC9BA95ADE26AA443B1B6EC6E6
+BAAF8F2E17ACC5E97B0D772CC68F1D2775DE4E27B16695EA3D70746C3D8329D2
+CB874028A2F951FED9D01415615D489CA4F5892BD072A67E7405C1CDBA3DE9CF
+22BEC8272BB3B2971DBC17640C2B7A2C4539857A57362BD678F2F2079FB32181
+F51B4D6228F9D53967054B7C79499D72B871FD6491DF30A95692F0592FC8892F
+1FDA2B08F53FA14019E9650F9B64E7CAE6EDF147FD661369B2C4F154E9FCDDC8
+DF328201A0A73AEA0A705C305E3E687611E23869CA944CA1B40CDBEAB8C9EDC9
+57B24D254169D03869CEE2D43CD2D4E7B403706E051C6A942E38315B2E8FFFEB
+CD925B5808D918662E6817DBA96E114CA34FBF6E8232AB907AA4A6A77128F60B
+A179EE8A411C3210D6C96C6051A03914F5BA48D199CD95D262A80A7D78110084
+CE48FAE4FF53352B053B93A237DF43F5505D2DDDE99B2145D4D808F7DE5A27ED
+B7E9B71BE7643199D2F1ECDC6C54C93A669B822EEC7452E17302C06B604FEB42
+13C0345656D0CE2DC41F70D74565D3319C2B16D5184CF56201A39642D45B8ED5
+D46B8FAC9E873EC294B61E986CF5546A5163492758270B62E2E7ADECC784F4DE
+0CFAB393E485E747AED400CF70CE33DBEBA26F19EF8AC8AE9230E5CFCE9AC67C
+9D0B935CA103CC51152ACD8DFC60B97FE6C6F271459494443114E8324033C12F
+2158852A7298557814DF1CF48D849FA682AC77FC50D42A6F4B079CA5A4B4161C
+8054BA4B4F7FF46968CF3DDB53D47CB38DE649674DEF4C701A8316D354E6D782
+4D500184D5FAD3395D36F178A086096779F01A481951C98870A03BA9FE981574
+F2A2B7050DA9060BEAB05C79983249EE111B09D462930ED2AC789F74DC3D6685
+E930F00AEFC1B0C473810F8BD708D4502E1E666F4C4EDFA0DF9FCC226E369BBE
+AC3F23AAEBC703447410FF4308979FAD9A1FE1313AA7B2D0AE56A35E8FAEE85F
+A213342B1E98A4F60AD5B13274A4FBD38B00EE3FAAF0D4A0C5883DB5F9D7A707
+6F9DB82B74578FBD7C3330FAD6E000CC7037AAB326F0BEB5EDFBB7C9CC70C293
+073178C1F9E3B3D67B6643B2A6B7F2675FFB82E40D5DEC782B972DF6532CAB48
+7405E306CDFA37FB41647ECBCB48AA86BEAB6E896951E507B31E0B142241793A
+F0D4A635FDDDAD032E575ABC3067A8F70EE180D3AC9ED4DAFFE9572C2E928184
+40B603C2A8020F6B6E43D947DEE073A9AC5DF24433B6670D197E8B1B03C89F0B
+88DBBB87957B146C85A53161DDE7F7C78C452836A83A27B942C7EB5F1F07300A
+B012763D821E8EF79C35B3C7D2B9AB06447F9B13D3A5379EF44C7461EF7A104D
+93864FC316AFB4327BDB9B29067AD156B82CB20762E7C1CC3050FCBB6F68356D
+6B549F1AB7FDBBEF324CBE679203C6EF1C846930CF4CB6BBA96573D72197F72D
+69D2AEE92F80B69791A8C83815F549513ED88E20D276446EC42E852146F04A16
+BF3C72FB7ABA60CFA1A4B92DEBDA41B788C849223491B06662B7A6FBD847EB8D
+2E468B11ADC958B00526758B9A523990D87D0F980FBA34136CC9092673C1A01B
+F6E6FE3A58A4004F6049DE0EF539F0A94BC924F48123B65B18B04D7A1810C501
+E815E95ACCB74A1CF1F643B190DAC7AB10188E7453D446FD754B58658BC7FF9C
+7F7C244E5D01FDA9780B9B335063BCA1063F5C89B118999AB277C59C91B2E74A
+0AD9239CECD909064E857761FCAD1E6B5C841A992734B2FC5F0EC7E572FD4BFD
+C95E79DB9AAA1A3371A215AC0C55291ED037CFBEC4176612C84A5B92B4755035
+640BC951F2025C717C220F28E47AD7A77B3B93CC066E87C2D76B4B1825CB78D0
+C136A9487EF6F2C0D71AC600545D69A15ECD94B447222A17814BF07492BB9849
+AF415B2C20BCC9CD5AA2E1732416F0CBC810945999CCEDC83798AE4761D0C662
+8CD0E935FB5AB2C72D5AE22F9659872514D36210CF3CFCAAFCDBE1B289FEA6FE
+E2550C9730B5986D06DDD04E71C6025DB6CAA676A8C3D1A83B144803E18FD387
+E114A18EF2A0787189BBF5DBB4C2F47F84AA174B665BE180F6CE50D9AD45ADC8
+ED3D7DDD9D336BBC90CA936F1CD1F6BAB75D501B2482A3D5A97FDC784C4A78EF
+59B657D4AFB421A6354941D870F794EE047BCB789D94AA465ACD0D37DF8EDF3C
+A2129895138266D17276DAED2882AF4E73DB65EBB40D8DF96C5E55A0D892B48A
+60B6F6E509F6A86A3A895CA9574C4D53BB7AA0C695BBD3A39F0FF2A9E1AF55BE
+1980D6D70AEEA0C241712FD028F48FEADA42AEA6967E614E69B73E5AE7BD739D
+78090D4DDD52C238FE5875514CF66BBCD969F0049BD5C35C507C6C1175A82727
+19AD6C0C0A93692238C445D73D2597DB595B6E2E868E8A66646002FBA7812EEF
+1953987B87CF18A1B9795ABE0395E521FBC7911B9E4FB2207DAB1D454DBAE1A2
+CB9E3022837D26560C4EDBEA1801D5B27E1D41D33C4966FE8070EB37577ACED1
+F6D21F7AF729887262781F64B6359F78D59EBEC209E236BD25C02266B5D1A8FA
+EA312733B0AEF25FEAC98FBDF295DB8233BF983B74158D95DD4287F1E2613793
+259409271EF6831BC0921196190CA5042113CB62443168D34B5DC1EC48CDA92B
+8BC333BDA34DDCAD3220437E41BB684BECAD7A188F275430478D006AA476B9F5
+ACA215E1CAADDFF97FE84A37E9A8920F3C35B90AF3A7A260C200DECA8931EB87
+E804028C991C3AAD291B2B5EA2C607B7261206B2978768E649E5F05E951BC121
+39F45AD98DEB4A0903950BEE15E1F39B1DAB307D0906B139B85C89A138C30BC9
+D02A8F912FB5A73F6685E13D2062162F6789F861E5018C041D81A66502947F39
+BEED14D2812F07C339B9B46899CBC9C5A76C1133A252F0026886F72133E4D293
+49C2E9AFDE7446BB7A8A9C560177C9CA6769D59A6BE4BF88B7AA61C98AF3DC6F
+1DDA9CA4D29ABD72473DC1EAE6753B51F3DDF447A9B7063AFB78186CF670F19D
+896731872320FF3A8027A17016D3CC050591EFF22A531F04C95F916C83397A08
+C38419612488D809245CB96B0E76B5A70FEDFCEF1C468FAA1B2BFEB93DCFD621
+E6425CA324B4C51220358A85C883562E1418C8103C7DA57C8E9590D928A98881
+22CC9458E6F84997DBEBA7EF3D679D12A4AF8F87D8895B59F05191F30860D672
+F0F0FBBE2F4A6407B996A5E502D3A9A7434326F4E3DBA6337B06D9CF52FC90C5
+08F80B5377ACC6A6F59366236C1BB1159CD8B9383AB41D1142F7873CE1F165EC
+132E6178385B3B0FE3ABD7BF7F2A07FE78428E54A900AB65B251E65703B4D210
+08A9D44445C7E1C53577F797F9CD716CF16711E973B5D1D013F00476BC06E10E
+EF9BCB9B4B66F589037F5CFDFE35DB6FC281268F258C2096F330E885044B220F
+58B01CA33EE4BD88927B7664C1A33C712B58459AA6773E7A970630F2C31287C2
+FF3C08070B13F5E322B99CCBEB66A7A7823D0A4B1932A35AC492F432DA5CB49A
+1AD508A098463A32372E771A83DC6C5AD1756B108FB0B7FC757DB7B85894718E
+A812EA84412B0216CBC20609B361F29E986E2183B47B111946433CFD7119C15A
+2D26374F286C365F90C8C16E1A9B4F4A3D6B8E96577F14AC55A3A521533483BA
+DECA4C09FF50430938EA6034426C6DDEE847507F61D37A07A5A03499B1DE7434
+876F7C1F79B0F5F147EFDB27B9D4A81ADB6DFEDB310E26C66D35EBCB289CC737
+DDB161A6DED02194FEA213AAE3030DA2109BACDA8F6547618DA935940AA83984
+69AD53028F628C59473D857F514FEFE0D56FF8C26F8A2BCE3F739BFFFB6D4036
+F30E2802B58CB1254B7955E26661EC9D41759F590E10EE04470163A0AC208995
+4BC63E753EFA7E27486D5296244BBC357AF2D5F1FE476FC2FEA428C956C9EC97
+7386DEB211C49FE7AF57191EDD5F4CD536FCC02F61FB5395703EEF53003CAA08
+75154D2BCACECD3E904C50B8C651C59D2C0BC6BE1C366B8228D4D81D9B476924
+9C82D0AA057D91F8B2F0103E66AB447A7485F1F72ABB2DE2271900A9AFBA7133
+72211C4F3D71918D0E2E4148ADC07632B700CEA221C8FFBAE159B9D6ECA16A66
+BB276C844C69BE41018FDB2201D7831D91791ACAEA364827FA3CDAFA2C53CEFC
+EA47D10297CDA9C0990ADEE984627CE96B04EF2AF157A098651D431D147E65D6
+8DAB5AB6717748F68128E20D8C5AC697949381B0955B15FD34C4878C23AC2E7D
+0309575CA8109DEC52D6834146966ECA8CE04E7614FCF38190F6960D87038AC7
+7721849793C3B7D1FCE5C6D361FC0B1D14F84FBD6806ACDCCCE4E0EC332BFBC7
+265BD96656959B5CB17BD3B8885DA2FF13A3B72046BF6B99BC2CEEAEB85FEFC2
+5412C5CA88C48D0A646E259F8F897E205CDDB001B9CCB948B450E4B83456A75B
+9753A4CE15191EF6213FA9408C8F0B986575F7D5440EBDB4F9093F70ADBB515E
+F78A292BD54A0A9184D49C2695D720503EE8B4BF07A31B15922F7D8A1C220076
+C494DB683E3090F0A51BB614614B4847CADB2DFB6710D84D0C2437E39A2D1AEC
+88DA93E0C0D89269E8C5AB9975F0A335BDE7033CC0D4F76C65CBA07B4F78B720
+FF13A5F3B7BA996C742D347BE05E42333B8C9B84ABAE24D2BD983D53FFEE85F5
+E7D1A77454F119DF49A69332C497C776B57ABC050E170DCE1D3ECAC9E09F0643
+92AB34FBFB28F9D26DBE95C5A0B9ACAE61B0AEB79A3B9624176564034908651E
+3F6BE627529238717CE6F0B435E064512C7B9D78B29CE86BE4F5ABD809A43383
+CF0B5DF21540D37D1BB8FCF32C7B2C4173D3C8B3DE45E8E4B7A405A529653D48
+62F5DE1829BD3832C606954E2BE01B3AF7157832244B2E7757A03D74B4E3A05A
+2CC87A9B13F37B72ECB6B4717665580EC4032DA405C2E7D8FE0B5468AAD66379
+2FD5ACB16A3F36261B11FD7D4E8D4D2A820FB73045A9CE8595C5305AE24A7098
+78A75959F32879CE5846BC1C2192AED9A935454E552B432B48B5C3A9FFCA2D5D
+BE4A360BCF2B99ABC8477C697D802D0335A8692111E4724FC51B19C31704837D
+A8D1BC8808D08D9F2EBFD7D706DF325D2AA8ED94F6773BAE63A836D88E87F3CD
+680DCF2BC7DF8C7E06389D6C986BDBBD06229041414D7267D9AC9E8EFF2710BF
+65CDCC222EE6735413368584117A274004EA0B415BE5D92EC61A267A3455D65C
+6CDCF80FC2E64397FF395E7002FB3B0813F98F3ADB1557E46F644E0C7E0FDB70
+533122C1838D195BDBBA28BD7868FBE02DB437CD22B72401C79FCA2259714348
+DAF6B321BE3308190B4BE630821419673F101B539BD788B1755146554EFDE136
+52430998CB5835960772DA8470CDD894AE8810A2AB7D0EDA22C374E95EDC671C
+1BB5BCB69D7C4EA065F784DB46208C66D92C2C6037D0573E63F1B66B754A4D3E
+A7C0CBEBC1A7086756CAC6736B9296BDED874E61D7357ACCB4421E5A617F59A8
+9BAB85064CBB175596A223122D7C858597009D1D3C02749C88AB2694AE37250D
+91E5B9CB0AB0ECE7A0F9006E63E230668221C3E704C44F8D67C9D7F677A4B41B
+032E931BA43D59AFC289A08AAE721F15BD0DAF38D062F39CCE2AEADBB6358A37
+A21F3E26CBEBF6CBA354A4AF264C338B1F99A05C95B3B93F6F0F137DEE72691E
+6D81140161E2FDE25BDFB5B9E729ED71575944279ECAE16ADC257C7CC812D1BE
+1BE58ED6A842FF6BA11ACE3FA83F17B8E3363C859553F33847CA40E6301FE515
+489FB5650FF995E22054EC5DE4AC290A18393D9F791E70D15D81C1AA9950803E
+15253C573E219B3FE27406A5E8A1FC87D3E1B14B7A4FA9A79EAD46D6280E91A5
+64190847F355AF837293C6BC979C65F8F6B4E846545D10D3A1F8B1536B
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+cleartomark
+%%EndFont
+%%BeginFont: CMB10
+%!PS-AdobeFont-1.1: CMB10 1.0
+%%CreationDate: 1991 Aug 20 16:34:36
+% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
+11 dict begin
+/FontInfo 7 dict dup begin
+/version (1.0) readonly def
+/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
+/FullName (CMB10) readonly def
+/FamilyName (Computer Modern) readonly def
+/Weight (Bold) readonly def
+/ItalicAngle 0 def
+/isFixedPitch false def
+end readonly def
+/FontName /CMB10 def
+/PaintType 0 def
+/FontType 1 def
+/FontMatrix [0.001 0 0 0.001 0 0] readonly def
+/Encoding 256 array
+0 1 255 {1 index exch /.notdef put} for
+dup 0 /.notdef put
+readonly def
+/FontBBox{-62 -250 1011 750}readonly def
+/UniqueID 5000761 def
+currentdict end
+currentfile eexec
+D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891
+016CA6CA4B712ADEB258FAAB9A130EE605E61F77FC1B738ABC7C51CD46EF8171
+9098D5FEE67660E69A7AB91B58F29A4D79E57022F783EB0FBBB6D4F4EC35014F
+D2DECBA99459A4C59DF0C6EBA150284454E707DC2100C15B76B4C19B84363758
+469A6C558785B226332152109871A9883487DD7710949204DDCF837E6A8708B8
+2BDBF16FBC7512FAA308A093FE5F00F963068B8B731A88D7740B0DDAED1B3F82
+7DB9DFB4372D3935C286E39EE7AC9FB6A9B5CE4D2FAE1BC0E55AE02BFC464378
+77B9F65C23E3BAB41EFAE344DDC9AB1B3CCBC0618290D83DC756F9D5BEFECB18
+2DB0E39996C010F3024A5A3C69C8485664A4E3AA81348AE21A30280D0E3B6542
+A770F048F31907891EAB8B57DC70FF775574D6CD26B8AC9C3E64C3631325BF0A
+99AB413BDADAA3B51A3E168B03A856EC7D346A38BBB0A2700A23B2CA91120B9D
+2AA5BE5A359C60CD78F055253785CC9701F5D670ABE4967D74838C3B267C6563
+C9651AC41D8684AD5E913A5C9C547CA225A74782D1AC62020FC38E29C356950A
+00E8F2B0752CDBF81EE4ACD59BDEBBB9523AE4764B995855F3A401EB4B04EE56
+B10758196CB661448A3617B83CA88C41756EF131CFCE0C968B94B6C69AEC1E9F
+BF8B21837BC422D766B5089D81CF35A807394A026FE3160580695B1213968D90
+8ECD1611E719A871E15C6085A17906F77B5B2DFA6AE670976758E67F8A4FC362
+FC7299D85ECC3C0BBAD4649B9DAB4A2FB248D6481CF0CCF274634D37A5AA4DDC
+31F3138AAF10998FD66F3817B77060E71C6D8F17205F9C098D81D952E0FE3831
+2264C55D73215176470D8D75E7BE6E44514984B9D20208DB3ADD4767CAC09D41
+9C8DAB6EDF4FA1AA2CB285CA28E30972B3BFA4F8600DB92164865738B015A331
+EA9EFDD478132047DAC28DD4FFE419F94CF5FCDE732E53FD332ADBED32F76B2E
+69531BCE0D461BA3F41A528DB0CCEFF9663FEB3EC9CE0F760604F835699D7C08
+CADBF7AA3DCCE9E813D66BC62C6E452FA02FE7E5F4FAAA527B4567AA4FACE790
+87910AC2498C0999866614C90AF7DFD65A59B9183FD8AC5DB9AA81E8E8477F07
+3501D4BFCCBFE32C964D3549B42070D43977640A289060AC0BDF951B78ACDE58
+D95548DE8DE75EA7A6F5922BB463FAA93487253414EF4233C8BB976B280E1A92
+A77D2D907599AC9302D1143597D4CD494045A0261DB9245A613EE31DF8994568
+F7D0FB24D761F5B4E8A96B5AB339418462C29EC1DE163980AAE4B6190A1AA91A
+D935859055FF59BDC9365F825C409B52530DB59A099FDE62E716090B6B14D2D7
+28662E609B24D00FDD9F092F15D94C0726B1D3610F20A7C658F19D26DC8B53D6
+8DD06EA7E45A8150DCD2DB3AEDD9239A029FD6B5344B0FF779CFE958A5889AB6
+E941B9BF0464CB0FF3247F17290F82825313C171AAB70BB80D21EDCB7628B5D1
+8266B3E93852BBFCE9CA6D38170F6CE57219A301EE8B989D66852EB7A48A8177
+96722414CF3B147E046617BA46F6F1439F90B6B3812D61619904CAA0B7CDAF29
+D6868D7F8346CF4164DB12015292BFBCE474B05BF886430411E8E937B6F09D74
+42A2C0EB14BFC76003DFF172AC44D730214DEE512BF257C8688FBED139C01604
+2C34B2E4C33219B9
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+cleartomark
+%%EndFont
+%%BeginFont: CMSS10
+%!PS-AdobeFont-1.1: CMSS10 1.0
+%%CreationDate: 1991 Aug 20 17:33:34
+% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
+11 dict begin
+/FontInfo 7 dict dup begin
+/version (1.0) readonly def
+/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
+/FullName (CMSS10) readonly def
+/FamilyName (Computer Modern) readonly def
+/Weight (Medium) readonly def
+/ItalicAngle 0 def
+/isFixedPitch false def
+end readonly def
+/FontName /CMSS10 def
+/PaintType 0 def
+/FontType 1 def
+/FontMatrix [0.001 0 0 0.001 0 0] readonly def
+/Encoding 256 array
+0 1 255 {1 index exch /.notdef put} for
+dup 0 /.notdef put
+readonly def
+/FontBBox{-61 -250 999 759}readonly def
+/UniqueID 5000803 def
+currentdict end
+currentfile eexec
+D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891
+016CA6CA4B712ADEB258FAAB9A130EE605E61F77FC1B738ABC7C51CD46EF8171
+9098D5FEE67660E69A7AB91B58F29A4D79E57022F783EB0FBBB6D4F4EC35014F
+D2DECBA99459A4C59DF0C6EBA150284454E707DC2100C15B76B4C19B84363758
+469A6C558785B226332152109871A9883487DD7710949204DDCF837E6A8708B8
+2BDBF16FBC7512FAA308A093FE5CF7158F1163BDCEEA888D07B439DBD4E8B4C9
+D198C03874B5E6F8FBF4922065A92BC3E66D05DE53971CB1424510E892442858
+D69CE1F76E4DA76C87C763A4B2FE36321E54B1328C9155B8ED6361855A151723
+3386AEA3D042B8D89C8C0E9A33E5DF3B466F7BB8C2C8A4ED4CDAFF55FC6D3EE6
+0AF2CEBFC1AC3A6E6692F8BB81F82D86BAE85016AD62FCB05467082C2E5AD348
+44D1439C2B59F65590E57CA0DE481A7A34E79931B1513C4C30156170409A4BB8
+46D412D1DAF88AD30722F12DBCA1CCC6B4BCC28D06B0D29149DDEC520C8FBA13
+6B82E2E1790F00B216282FF122EF0D47B70A1B29514DDF7C0435ED238C14BDF5
+6DA243117FBEF7398F97EB95597707ED63C6797EBA1B46EA19ABB1DABDA171B3
+16CD500F5D64CBFBE4F9CBC3E66A34427D3C4D0C432710289381F9BFD91B4FF4
+1E3A896C3EEA2F3105C218877D6C0C6B763760FA364D00065E1CAE9DCB5676ED
+286A9ED0D1C946DCA6A2A670EE0936FB4706CC62E234CFEED34AA615C48D2872
+A087F30990C85E64BA68F3D5C117123467DB411C9F2D6F6858CC70C1E352C477
+713097321B4C4FD4C5CDE305415F998E7245908EEDE6E056A736EA77BD8C639C
+3A79FFD0B74B3D28F0494A115F2841CF8A8827AB5608F96FD8998A5F40FB3DFE
+3AA0C7696DE4E1D18DC0D6E84B943175FC38FFC42A9C0CBB13A908978C98BFE5
+034F88480F32B9DEB2FD228FF6CB0B89B045AB02020C82E3F5716DC640613185
+9F597CE262729BC52132F43922B9E28BB71A30AC8709634561B22D13C4FAFE0A
+12C4451969226B220038AD8DDA990A4E2CAD53DBEAB698898BBD3046234EB4EA
+901287E71CB41296C431383AB85F18882F65BE36923F6C0FD6FADAC5B42FDB68
+64C06E047434FA7A659EF7F3D1AA8E547939FBF9C2ED7AC829F03CA59AFFBFA5
+A7AD2E0FC7BBE619961AE1785D09444B333993199FFED007382B54DDAEBE21E0
+1E75E0AB6D309DBE53BC7BB9F95D342F51798574D70B95021FA40163A86BE6C9
+342536A5730837C522D5314B1289D9B7E4EDD108BE7F35A20AB2A16608F6F007
+6DDD702A5A9BA1325CE2C1CD020DF677872135CF04F4E4F1E9AA6B494E2BC22F
+107C331A7E80718B030A1103804D144802E3B03EF7CB083BCCDEAC7B43F1B4F5
+C1BF6016741B741CF7E12B4BF95221A72CC9F4657264771AA69C73DA1DA29102
+65D01A0E61F3024E672AFCCBE13CD0B7F54AE1418B72E357A0BABB4D03073B1D
+F4EB54F899AD4A41A9F94DC200880A0DB99D67235A2451B25F710C29A882865B
+A922E56E9FC16756014FA5CBDB1C32750BD6835A70EB715CEA19A8872041905E
+8C660BACDCA26C8247D6B3C10FA5DC240E433E479AC6AFCF57CF96697FF46BE6
+44748E
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+cleartomark
+%%EndFont
+%%BeginFont: CMBX10
+%!PS-AdobeFont-1.1: CMBX10 1.00B
+%%CreationDate: 1992 Feb 19 19:54:06
+% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
+11 dict begin
+/FontInfo 7 dict dup begin
+/version (1.00B) readonly def
+/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
+/FullName (CMBX10) readonly def
+/FamilyName (Computer Modern) readonly def
+/Weight (Bold) readonly def
+/ItalicAngle 0 def
+/isFixedPitch false def
+end readonly def
+/FontName /CMBX10 def
+/PaintType 0 def
+/FontType 1 def
+/FontMatrix [0.001 0 0 0.001 0 0] readonly def
+/Encoding 256 array
+0 1 255 {1 index exch /.notdef put} for
+dup 0 /.notdef put
+readonly def
+/FontBBox{-301 -250 1164 946}readonly def
+/UniqueID 5000768 def
+currentdict end
+currentfile eexec
+D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891
+016CA6CA4B712ADEB258FAAB9A130EE605E61F77FC1B738ABC7C51CD46EF8171
+9098D5FEE67660E69A7AB91B58F29A4D79E57022F783EB0FBBB6D4F4EC35014F
+D2DECBA99459A4C59DF0C6EBA150284454E707DC2100C15B76B4C19B84363758
+469A6C558785B226332152109871A9883487DD7710949204DDCF837E6A8708B8
+2BDBF16FBC7512FAA308A093FE5F00F963068B8B731A88D7740B0DDAED1B3F82
+7DB9DFB4372D3935C286E39EE7AC9FB6A9B5CE4D2FAE1BC0E55AE02BFC464378
+77B9F65C23E3BAB41EFAE344DDC9AB1B3CCBC0618290D83DC756F9D5BEFECB18
+2DB0E39997F264D408BD076F65A50E7E94C9C88D849AB2E92005CFA316ACCD91
+FF524AAD7262B10351C50EBAD08FB4CD55D2E369F6E836C82C591606E1E5C73F
+DE3FA3CAD272C67C6CBF43B66FE4B8677DAFEEA19288428D07FEB1F4001BAA68
+7AAD6DDBE432714E799CFA49D8A1A128F32E8B280524BC8041F1E64ECE4053C4
+9F0AEC699A75B827002E9F95826DB3F643338F858011008E338A899020962176
+CF66A62E3AEF046D91C88C87DEB03CE6CCDF4FB651990F0E86D17409F121773D
+6877DF0085DFB269A3C07AA6660419BD0F0EF3C53DA2318BA1860AB34E28BAC6
+E82DDB1C43E5203AC9DF9277098F2E42C0F7BD03C6D90B629DE97730245B8E8E
+8903B9225098079C55A37E4E59AE2A9E36B6349FA2C09BB1F5F4433E4EEFC75E
+3F9830EB085E7E6FBE2666AC5A398C2DF228062ACF9FCA5656390A15837C4A99
+EC3740D873CFEF2E248B44CA134693A782594DD0692B4DBF1F16C4CDECA692C4
+0E44FDBEF704101118BC53575BF22731E7F7717934AD715AC33B5D3679B784C9
+4046E6CD3C0AD80ED1F65626B14E33CFDA6EB2825DC444FA6209608D3976637A
+DB9C73EB3A28623DF758C25574D740385B2C3D10086AEB904A33DD76DA2CC4BF
+7E37F9117E9D81D3EFDA12D5BDF0067450C5A8A53959C055C5D6087F1FE6FB5D
+8306F16FAD71AB986320F1229440C63ACB5FA24E41CFEB12C2BEA2C25E59A3F9
+6CA5B7A04B57F2471D36F5B41E6363DCEFF2DFFE9131F044125884739392333E
+15418156EEE8DE92EF4C176742032FE8889839755D8D821CD7F8FAAF8A22C283
+19F79216C6D454A864898EE9F830DB5F3372B8F47C464DF19C69ACB3BC0566E2
+F25E7FF148B2CDA2B90CB5884440F464CD57295728A4415963CC1BC0635BBEF4
+E812CA5E0E788035873D05616F7B0F6A30D36BB285E7955CFD860345F16D952A
+BF2F7D2702DB352D0874442B2074859EB49313BC27E1067D627362649D82A5C3
+A57DC5041B1A13FD2FA89D875019E23C31650A25CBEEC6B93C575C363FAE2164
+76ACBDCDFEFC8B7BD24AF41D55196DF6FB2F28DF88349947B448513C7E832EB9
+F35B28EF86C231336351C1F89AA9AB1F8C02D0DC35746E97C2B29B7A44CF7418
+89DAE02563F58C453F45C231219FC9727D5D477B256530D4492AE7E4E3CBA90F
+50E8BAF9435EBFDF819DA9EE1F6F67A0D65D35E3D0EF63274B611B25756461D2
+BFEEF8BFD513B0380993B8D52A6546D69773D67A15C059E6A89CAA2772162509
+3B054860006DEA20685F5E2937C95B50D07C6316ABC08495EF319B36F8E48FD0
+DA482F82D2D981C70ADA2E467608364EC664D151BCE2FDF571BA63FC926CCD72
+052D4F83933A9582AA6642773A62555FD57DCF1448BEC02304B798B7E47B93BE
+909C2BA1351EF483D0E70DC23BDD52A91391172D27150A70444B980E59DA01E4
+6A79ADA80A1660351ECC1541F80EAEABB72C4CE6818C162257480EA3612ED810
+C22F1915008ADA791282032FBD321BDE22529B3EE1493BAB010066C6317DFB75
+CD9D42CB97A731BB7366D0A170D3E8CE00DDB21095A28DE2A77A995879D026CE
+ED6350CDFAF3DB0140E14985A296630EA4D1752B793EC534C60B61F1B41236BE
+930D8CC9EC66930E5533FF3A7328F0675312EDF0ABCEE5B559AA42CBBA8CDE9F
+F407C8A7E5FE9FBF58CF90CF47F56C5D0F76AD6FACFB4EE3207884A8580CD660
+1753486132AA6EDF8C150363743A086B2C138D66032AB2F4BD9F800F59C89EF6
+40111353C4E828D61D7937837DF89B62C6E21AB81DFA802A3D106675EE08763A
+61D27684F240CC0EFB50434006E3315BD5639B616AF3545BF9888B973339F009
+DE44130586FC727828B50E7416A6BD1DFB29EAE0ED9A8DF53CB3E546A8306370
+67F9A60F4DE3ADB7B37DB519EA5C793E551301485B1AE60DA7ED9CA3F50FF9EA
+A9FD1964C5384459201F0E03125FCBD116382EF3B1693774F084380DC53699E8
+478BC40779C80640E0C746CA1C2A03788B41B140E8051885CA590EF733277361
+B386DCB99A017AFD298DE708DC15D47063C2B52354E8008A42D6A777C12802F4
+D5A65EF3128AE9C600A14F69FA970983D53AD637FEED9A5E89D5CA1A72FC928C
+32E6E74397B2EF0BD5836AEAD0615FB1248334F230C8124738B369C4AD756065
+841942440A1A7662C23A0E8431B9A20046BABE41AA7753FAAA3805C34732BD1D
+F31600ED74C2F2D30B5C415DEB7062E503374C2AAD8A06532FCAB99B66901AFA
+73E90A81753D0235B0762E04991FC73F64545C1035BDA459C7FEE514DEABC2BE
+37C37E7160DF06FE3466F287E13F1A052600CA833BA100B7B439FDD1D8931DBE
+65122DAD5675C81BFE49E1AE43805E2AFBAC3A23D6E95B3DA41AA65FC7EFAABF
+DD5AA6661BB47621FC6A7DAD21729EC0400490F30CB74026D00B2CA1ED0A798B
+B4CF488E585371BBA519E618C269F47F999B973F86FA742BAC7384EE91C94DE6
+088BE1D235965A53650038EE5FBAA6EF06965443D2FDE8FD52A521C6FA492553
+C21E7528C713A60C6412F1C1B7312E083799DF466F09E9F4FF07474F21428F24
+4850036F3232BEF5A177467A89F1AE5967A8E6745B34D273BF793D04623D0F1E
+519E7BA5294D32C926FB29959F7FB4BEB9BAA193D7F2C30E392CDBC25E6A2F7B
+A00F4EC543C7DCE8F457DA73D0EF73B773A3BF5162BDDA5C18AB5C5DA8E201AD
+2E002328FB3598533E6B2EC5D4F481DB2AECDA3E6D55A5AE2FD1893D7B7A6191
+FB74A43F01CEDAFFD142EBCF31F508D6182BA064A8B5B2D640051D521EFE69E6
+CDFEAFA0EECF7946AF06715584F9059B858845A1F51E460F78925F830760776B
+D5CFB62931B6134B34AB757694190D5DB21ABD3AE042CD9F59A3B434602EFE42
+D4502B93B2AE0FCB06C7AD6C3CC1E6C6B4CCFEC730ACE1B65488832D2147A273
+7A35049DD6FBD88E4B09B43F8A971EC30A8BDA50434E54967EE684141C589669
+21C7A048C49F4FAF51A48870360E0EACC7B4B5AE7C9B1834B88EC4FB53D1ACAE
+8E603F20530934509B9042288CE4013DD24F21F6193B1A86448A9AAAFF98049F
+E8AE460848C6F06DF140E989E08BC047094C80DA9AD9354CC640EDEF3D2C7EFD
+2338DB1217CD5741BB6965E2D6CD2C6BF4EF1DF66CAB33016237E568F7712C58
+2A586FCFEE5E089991621A1A2C892B53F8D945734E838DC0D9A9CECD21241BB5
+E861F8489B0DF3A05EE643F5FD683EEFC6F8A616E92C7C96DC43147023B11E77
+FC2A7CED9204D2EEE35FB57B5BE8D790EDAAC19B150EBB853A07A6A066ABAE2A
+E61F0BA577733DC2CE5D3A674725C54D053C3533EE7F68C6E283DCA25E40EF4E
+25D953CC4D1D0A8E5E4891EE3151CFD4D3DFD0B428FB634B53C86FC07F63885E
+D8D117871DDF365B722A8DDFFD06A6C22C1BCD7210EC14FFEDB569825578B197
+6780F0A8E3698BB3F2A6C3B6F13E00124E3DD57A821A764D9B7F4741FBE4C362
+8171963AED17179F9A95D9DCEBD24E9D032FD6A393B9C75DBB32EC54468BEB63
+5A0B48BE302EFDE364485500F780C82E0D6C825A858C9E9F71F4C6E2DECF7E9D
+872C71143E9E272F5A82E0B77AE0CEAE3DB11942B72B020E3A30213D97B661FE
+EB583258A2CE3452432A517FD6290B17CC730A30AC2D647C232F668E5E3675CF
+9D9F262DC3CDC67A694A8C7BE1B6E89D25C430B58EF63AC518D1A29E7496DC25
+5AD9F6AC1EC9A17C6A9FAC798039660AE8C05CD03E41845A7C1FE477B5E2CFD8
+0D0052D15A1657813E2844F45C01E6E694D05A8BE6C692B9384387DD16F30CC8
+734F639901894F74444CF04F37DE0FC323C22E877304DBB59349E6609C543677
+34DC0AF2F48C3E03E61B119CED5F1C1C0C764CDFB06CA29F946776607B7B3068
+F7FBE46F571CF7E8FBD304A962CBEFF1F04A7C3485AEE8291192C19A35D06E5A
+CC00EBE7F6C5C7AD308AE1D648E8D78A25475CCF7C3E7745839299FEBC31E23D
+65D1BDFA1CF3EBD0D0C6C5EBC6982EA25D1BA629B9C44BAAB788BBEFE8428BDD
+D54365670F9D3E20F673AE766B4CC74F6913B0272EB3D02C71D8AFD73D6CD2A5
+6A2A7DDB0C334D3695E32176DF078618312F09F2C619E2445F4109917F8877D5
+6786F19692F56D49C92D9019D6676BA151AB7D7CA3A9AC55C0200A2890C35BF6
+CD0CFDFBEB989244D7D77626C72E45E25EA4DE744FECCADD62CDC97029E1911B
+F7D868B8EA484D2BC45784BA2795A5D00C0F1A0A8EE14FF7613C8B5759EE97C8
+5A8E088654C1A6E816CC900FFE2FCF71CDA4E55CCBC1BDB250B7F7B4A0710B27
+B0D427315F18FD3752EEE13C14B9A5C1A34B867059521096B1246AD21C12301F
+EB67D150528CB1AEE2E22DDD436510836ED22B4D82A71087C0C50D1A6DFC4AD4
+DC5FADF6F5F757FFD25D91C1FF7A4CB16FC9FDEF3CCC4861049F4CD392728772
+9DE465C5265F24BF803ADA07327839C8337C3B95239F2AD99DD867FA336D2669
+F269BCA4BAE23E2F0743C5B8C39054
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+cleartomark
+%%EndFont
+%%BeginFont: CMTT10
+%!PS-AdobeFont-1.1: CMTT10 1.00B
+%%CreationDate: 1992 Apr 26 10:42:42
+% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
+11 dict begin
+/FontInfo 7 dict dup begin
+/version (1.00B) readonly def
+/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
+/FullName (CMTT10) readonly def
+/FamilyName (Computer Modern) readonly def
+/Weight (Medium) readonly def
+/ItalicAngle 0 def
+/isFixedPitch true def
+end readonly def
+/FontName /CMTT10 def
+/PaintType 0 def
+/FontType 1 def
+/FontMatrix [0.001 0 0 0.001 0 0] readonly def
+/Encoding 256 array
+0 1 255 {1 index exch /.notdef put} for
+dup 0 /.notdef put
+readonly def
+/FontBBox{-4 -235 731 800}readonly def
+/UniqueID 5000832 def
+currentdict end
+currentfile eexec
+D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891
+016CA6CA4B712ADEB258FAAB9A130EE605E61F77FC1B738ABC7C51CD46EF8171
+9098D5FEE67660E69A7AB91B58F29A4D79E57022F783EB0FBBB6D4F4EC35014F
+D2DECBA99459A4C59DF0C6EBA150284454E707DC2100C15B76B4C19B84363758
+469A6C558785B226332152109871A9883487DD7710949204DDCF837E6A8708B8
+2BDBF16FBC7512FAA308A093FE5F00F963068B8232429ED8B7CF6A3D879A2D19
+38DD5C4467F9DD8C5D1A2000B3A6BF2F25629BAEC199AE8BD4BA6ED9BBF7DABF
+D0E153BAB1C17900D4FCE209622ACD19E7C74C2807D0397357ED07AB460D5204
+EB3A45B7AC4D106B7303AD8348853032A745F417943F9B4FED652B835AA49727
+A8B4117AFF1D4BCE831EB510B6851796D0BE6982B76620CB3CE0C22CACDD4593
+F244C14EEC0E5A7C4AC42392F81C01BC4257FE12AF33F4BFEA9108FF11CF9714
+4DD6EC70A2C4C1E4F328A1EB25E43525FB1E16C07E28CC359DF61F426B7D41EA
+6A0C84DD63275395A503AAE908E1C82D389FD12A21E86999799E7F24A994472E
+A10EAE77096709BE0D11AAD24A30D96E15A51D720AFB3B10D2E0AC8DC1A1204B
+E8725E00D7E3A96F9978BC19377034D93D080C4391E579C34FF9FC2379CB119F
+1E5BBEA91AE20F343C6420BE1E2BD0636B04FCCC0BEE0DC2D56D66F06DB22438
+452822CBEAF03EE9EAA8398F276EC0D92A7FB978C17805DB2F4A7DFBA56FD6AF
+8670EB364F01DE8FCAFBAF657D68C3A03112915736CEABAA8BA5C0AC25288369
+5D49BD891FABEFE8699A0AE3ED85B48ACB22229E15623399C93DE7D935734ADA
+DA7A1462C111D44AD53EA35B57E5D0B5FC0B481820E43222DB8EFCD5D30E15F9
+BA304FA879392EE0BCC0E1A61E74B3A1FC3A3D170218D7244580C7AA0DC65D19
+741FA5FE6F8CBF60250ACC27454BBF0897CA4B909C83A56672958752ED4B5E79
+E18660764F155E86F09EFA9F7685F2F5027EC85A775287B30E2069DE4E4D5712
+E7D033481A53A2702BA7542C71062173039030CF28D8B9C63B5596A9B42B33E7
+D922944A38713383D3648A4AF160A3B0C8F3379BA4372BE2E7EA49AABA75AEEE
+C5DDE1D8BF68483C3D21271280ABB91D54CC819680322EAB72E1250A760BC8DA
+726405EFE420635B5B7F0B48752C06083E92BDE06401C42A2C528C8A60381227
+CEBEF0C9440DC034DAD9C19FB27DB399BDAEE22053591D6538587C768C1B7B0B
+7D1E222D2D8AF3A6473CC4C0D6C3E0DB49068CEB8C9BD1C5CD486A50DAA10BC7
+7D6286142355E3F21DD254E27C00C442728A0BAEC9D3F17AE9CE320D365152E9
+EB0D5E3874F2BCEDA98521D23FCFC30B4B69DAD2ADBE80E5964ED0ABEF6C73B6
+DAD30E2C5061E3747FE536E1A5D190D028F2130AF608F5DDF9DDDF1E77DC8437
+ECB3EC93B33505DF47884DDBD1DC6BBE4098DF04A29AF6FA3AE344600D0AAB53
+B3820DD7ECB600A3B8001C51AF2CA7A39AE1485A0FCD5D16F0657F61E9655AA1
+B8326F1813FEB669F4EF61CCAEF05098C73D6BE54CE3936F10EE4C56D0B8486E
+66F02EDABFE670DFD8F4C41F743CA204E5C7F64B9D06544E1AB0449A45FABC91
+5F0536F53E88DFE702A9E92DC317D5587E49A2E4AA2D6C07BC2974FBE2069E05
+4A56D8029AD43F8367FB7BB624A49847435ED26374035D5B1EB9505B6D8D7555
+6665128B99C201E2B34FA0F362F572FA69E160A4AE99E0E058E53D548B7BE991
+76C432D7FBD61DE7DDB8C0BF8B01CE184C35806E9141B79A6DB955DD756C8EE9
+C3114D383290DAFD03286DD852D73CF5EEA5657245276DFFF49506B1E5F3EF7E
+DAD841A79CEB7ABD1ADED33DDED4BB921F6CBC1C8D7F711169380254070114BE
+0F0FABFDDF8DFE74F44D87D8F424F03A3D4EEA65BA913713F837C5128203F99E
+12BDCC878BA17B34D796FA747F6D778EF068DBB771554F9C64DBBE16024AB356
+FB15A245924EFBCDB3BCD58ADB6AB154DAE796268F407EDE778DF79804532EE4
+DF63522FBB599137E5DCAA0054CC09924603DADC05F0BFDEA4D1C2CAC0518633
+E4D5891FE58A37D4055BD86BAA99E6B64CCA60BD8B7ED9A258C4EDD356EF78C8
+156756286794E407A857F49DFD1C286881CD18055466F50CF2D768F319A2B1FD
+116DE2BBD1C0E481D77EE0BF879779465E0E53605DBCCCBACCC3887A4CA8CE1F
+E5D3E9B3D84D1CD5BE08DB07B5A324C5A752A3773FBB420E35D2E2FAE456C7F7
+66DDA4A2B0922EFA48C7BB12942CEA6EFBBCE12BBB85DE4D19E224E9B602ECD1
+3B28CFD50CB2C66DF52A6B4E82A7E9846B0C9C8DB8E90A62260184FC1A470EC6
+A5EF9FA92C1F9108F297AEB5C5618AC3DEA1EF3A730A16F8771FA9A65469C26E
+F63373649A4A726FC526F1D3186E8C92B3F1940DE24E3A30600F2196153E2B62
+1A8B7DEC5781F3577EA3109C9A5B3BED4EE646625CDAFAC8996046851B50EEFF
+8D42D20DE055117C0DCEA3A554DBE37D5EFCDAE137564303458F4DE9BC4248D9
+79D0FDA7FA1B6551D4CD22F8995E514F11A224C572096A184BFAE2CAC0F49AFB
+6344424B5C8940AF3EC477AB1CFD986C5CD99402D5A42C0485245938FDCACECC
+D9AA7E145D3F46983EAF9C0851C555EF2FB1F6987C6209E192BF798659B64E03
+21751E55FA15B81CD76CB3F15DF85C528CF092498D126FC4DBB7D56F0164514A
+999B6F2D3C2C623B97D0439CED312BF5F691573DEF8FD249F904AB4097028691
+03D14E024320DB6D4F93C68926B8881B5485B445A668342F88E58F57F13A58DE
+078296EFFFA5680BA7F2148852F41BBACFFED59CB89E459E9C71AF71C1C1C267
+A2E22492647E9E90BA72039B18CBBFE8EC94B921C5C76B2FAF888BEF44E58CF4
+484A5A41DF00263D1C4A99B1F1E887EAA3617C6ED0C38AECC08310A03C2870F7
+FA0FE3A6D8DF769B55758342D5866E49C9724566C896E82F850DAFE1FF222629
+3814410C1999D616142BDFD986C2DF597365AD905BE00CEEF4A1A0D4F71F7560
+4FA1C02BC5D4CDAA18681EDE45A682619E7FF4E2CC574751757EA43C7CB85520
+A98D8B47D45E291B0BA25EC803B465198F32981DBF99C4EBF3004FB5B083CBE3
+A68706583F79FE0F3152B07E99F0016C9FF4B5B54415CB366C316DE071EBD49D
+B7535C5640892CB99DED62E24B73D6BB9626C685F9EEAD6FBD63679B3EF89DDF
+C503EB242CE1A0382877C1F93DEB9A4863863A908C640DA19BB24CF48CDADDBB
+F0FBF8968567FB87147F678EE8D3498C21FCAE562075A15A412CBA80927C8DFA
+BA47B7E80F3CDB6B1EC445197B6B20662BBC206C75E0EEAA11F245CF12336D49
+4FC0235C17FA03991579C3F31E9A7254166B9144815891DDCBC805B59DC28CA5
+E8F542ADF39F07757B06F9E1C8264BCAE3FDB6C710BC2C4656B997BF7E895DF0
+C769722B5DB9EA254B34AF588A77064DA887031B32CCD2180632CD7EC4D4AB5E
+BA28D887DE6DC1B912C99AD7BFC0891CD1B6B8C836E7E3A037B2484E5974112C
+830575D110DE9FEA4AD94D37E2843306A6CF744EC6830FA60774133D9C49E9C1
+DDF8F9696D0A9A2BDCEC578F3D0BC2CCB8A22A4AF539589CA4A2FDB45FE47660
+D3EBCE196804A9A7759FACA2940508EC3BA1923706FD1B8664F6F02B731F1ACE
+67DD39EDA612B74008E82E2046C8A677114879CB9811F48231DDB465A9BEC565
+BD6C5C742056B2C5940F7F5AB9D6367C15D4CC92C368B6536D77A5B2DCA90D5E
+0CCCB58D672C3D3F5168C26C4632670F2ADAE2C5B2A1E69D2F984CD210EAD333
+40D7D6A5F8EC4EB54AC5259A46B6380F37C76478BB57AF6C9CF7506AA8CE8C82
+2571C24D958A65DED2D4C23829C3DD78CBAD71119838D5DDDDC45A095F58D8E8
+A3A83A32A9EA790592300D848DE2C1B5F7EAD91A737D681057289A86E7C423C8
+389696F1901AA2B850E1FD3ED8852880CA8E89F2091B61311FDA0E2ECD51AF3C
+369AD0A08DE9DA1E052F3DCB7C49EC44B6336F3FEB587F1599A640E5EE95BE26
+14B3F4A236DE2A5CCD937CC7AC2373BB2E9DBA76A65480E9B87687747D492EE6
+458E2254EEA7D504550DBA3A7F4D2E7718DB9B959B65B0B5D79C692B71B37C62
+DF5E03A4A38527F853D17C81747F4DB9C86D618ECE977AA0AA9EBC70EF507229
+DF089C15FC8F54A1023F29BC817D4DB6C9F7BF1024A859412B795A8E07E4EE5E
+5355565C4EDE0AD65AC83B85B459EC1CBACD9A450C9FB7411C4BF4CBBD7828A5
+A9E9B671E6C7CAD6CD5F93C8C6CC72C1233C4610BE4FC8B5C377FB7D927E55FB
+0CE6E1B337C3E19F9BD7B010B155BC592F342DE7AD6B4286E4B376BD488DDD64
+D2A9173F7ED250ABB2980DB7BB8F367089D64504DF14F88C7845B5915F8B20E4
+9E876A2480D28ED988826E86DA0C703B6F3AD68FC98CCB91073D3DD3160FC00C
+DC3805D8F14447AA9FB199C38DD4B28CB1E6A8001D3903AEF515D822CB784DF1
+5C3C179EAB1F2ECEF25C454E7A2ECB454C620C24B80498176523F160E40C3A9D
+DE03DAC25A7E5399174A9E8DF8115DBAD6D5B8F16B6A59E7DF7E1E0DF24595D9
+F7C6B1ACA13ABCED81F6DE6AC64D1E64154833834EDFD6E12CBA1DFD035FFA6E
+05DF3FA5F8173D5C8E43D3E4D053ECC5A7107A38A60E20C93B02BF82C9559C6E
+E7C0FA5D9B5F02581AE5AAEECD79B21BCF1C9E1DF0467CC945BB3FC8E9E45CC7
+543B34BF2203E212871AD67E10815FC82F76ACF773559519309F5AAF03CD800D
+06FB2ACCCA695B06EB64BF455D7353FBE8579FF62E5C33BE93A196B3CBF875F2
+5017FCEC574EDB29D2564AD2611E59819994746FF7A7B053302B335EDA8859FD
+8813AA235724EDEC0CF215CD4F4FAD37E3A0DEB874A24C4FBDF64E3654E0A350
+C0F57FBA5DE0E6333261CD37184C91E38682FE808DF75F98237F158AAC0E87B7
+C84157DAAAC88B0779C26DA29F584C065C4B9EA84D74A9FB3B8928751AF1A8F6
+5F0DB7A23D7F802EF8A7F9F6C2EA8F4941516D48E12EE4A44A6362F9FCA2DDFC
+EB7F8572571BC4DCCE2B2D4F3960AF71BFFB9D98ECC8B0220E79F15AC7A1B490
+13121B21C6C44B5EFD8F0BA56736E61F19DCEF803096578B2EE9A9A54F644E1B
+84E68806781A5151ED9FDA8F845BCD0B195FC7A408C7AD075E9BC1843CE0C727
+026CD9C80B9D7D706E846D67F90128B15955B64F70732AECD8F31909A71A14D5
+EBB0E466F7E4274423AC1F139D06F00C6ECBEC861D7C8A2279E9DE2D7FE39966
+A1B7EFADB31194731078C4ECAFD04DB6F3D9B6CE4E377398D8D0EE5EE5E0A5E1
+515A950897DEABEB0D454FC7036EE43CF196B04FFE50DC6F6D58BF03C3A74978
+EE7CF02EF3901B7F623EB86B799351D25C79FA672D7D98F924180E792692EB2B
+A6D8F7515C4513C6EA40969D3EA10AEC27B9CD014AB3C4E5BD6AE5522E03BA59
+3F4F23C75831B15D0BBC0F9E35852F87A466BE24AB67342DD2F19CD2EB43211F
+29E2A8B49D6B9BD5D19D846F8B82CD65189C511E0FB597A25C62AC853EFFFB9F
+CECAB90EB54AFF4E40CD0CDFD31D39A7E99030CDCB3CCB61DE928ABE9E0685F8
+6CA07450052B90E00641A2EF0FEBBF30007B574FA0CE4365D1844A59841C0853
+C7BF5A5984ED0F9821F1CAACA7FC67DCEF57B54327060F4C60BB5E6CE00AFF20
+5BDA60693385F5E96D58D8F6EEB6B2DDC1DE7571DED81E65AAEB3DCC4604B8FF
+675A7A967DD548BF5AD7EDDA2D6815471CAB5A722E5AA61CB4539D59E043409F
+F7EEA6E3EB7D9E5D6D8B0352D32BDCD3C0A13F600C9C03E7F1347F7F0454DB47
+C869BC403BC8DDA258A47AB5FD91C1BC0480552E375FB3B015185F35E5786438
+0FE833E73F050F0134295531FD0B4086DBCB6D74D1570B3C71DF15B5956396A6
+CAEEDE60AA38CC8500AD215431A01EADA80475E688AE8FDCF6498E81B357EA2D
+A46DCE5E9107713CDF1CFFE71BC17BAFE4C9C2D635F8E0DD3C54012F401377D7
+64E8BD68716499ECD63EDF7D847073E32D2E6C2099D4C5DDC430C6475ECFC2BC
+DAE444984B59906F1592705BE5ABF26AA10AFD0271CEE327AB4B9B191E531646
+9E69539A55C523AD838A0692285F0EA21FA3100FA739B391ED96B9453A94C242
+08D6235D012CC4AEFDE63384D463B11D378B5A835BFFC81B95505107FED0BAD6
+9237E44564C0D82A3E4A974B57A904F475BD973710068DFFC91F7AC842A478A1
+6857BF1B9DF346CD23F998D64C63B23DC3E4D2A47017EF26D6E475FBCD92C674
+167E092750DCA1AE02911EB94026C58912B3BDC5B03D4362D5C4EF76CBDFCC04
+CA599719B047F85A8F04D88C368AC467BA920418883787EEFE21C4377CA7D417
+3FE01C86113E48DC72CE568772F6930AF79EC5836C0191987A6E33406DB9DB41
+C8548744EB4154C59D20273AB56FB83B384837C26C188BAC0CF05A4DA531C954
+9ECD2440DF5692B784CEC9492C0BBCD1EF3272545C7CA8618F4A847F9E11C29C
+714D0E3E201B5DD949F96AF8F928AD5B72F2588A55EBD1A9C3D9867422E0CF4C
+76536728970FF8CB5401C0E816294874E4D52E9C08135FA390377EEB66B8E33D
+F60AF1E9EC3D9354AE18F215519BEF0AC1EC037AFC733B5C897440BAAC8557E4
+37B7B21A00BD478B91B3251D1F81917A052F6C0A24E063194F0466922AF9EFC6
+D619F6A84F97C932A6AC72141D2420E24BB20773FFC8D636CCA493BF1E65202A
+D02F78C5A1CE9B325B83CE002865F88305AD4E0A50F9261558B2B4978056A620
+0AE9C75BA65F63EC8FC14737D55B7AFF3566BE88443081ED37555E504E9D2125
+E041C774F99CD74B8EB6F027C838C03DD59E36B88BDBB9C0F4C3D0C7EAD96274
+8E0F4BC5D387294FDEBC3ADA0E9846A6C2869B7B49A332054F6C28F8FC55A679
+1176654E35B0AAD9FECEFEB1C967F9C0F8A5DB5575ED4335AD38624E31F45AE4
+1A2A3939DA3FBCE9BE99C284867B06AB66993BFE52615620B161CA52893DE0F0
+D1A79C9F0399F42A5CDC01B15F4BAA71E53B0ED415031D9984D3CBC81B556C28
+CF514D3A160B7314DFC5019C9C431FF0CD1F38494066D0F9EB3A8AD0A8CA0646
+24A0A58DC6B362EC895A9BEEB72027DEF4A5320B752496A172EF32D14C3D3CAB
+81DAAB12269F5FB13EEDF2FA30318D4F7F5E0493E54779FCD956456C6EAFBE0D
+15A2BD6D8D07D045AB8C26D66143A3F24FBD76A00E51BE71D48B45799444AE82
+F321135FBBF10461B3C976A5CA9EABD20E411670702B2BC1704995FA95A6B676
+631CC5850679256AB7003FC25F7DFD39CF2D8538A8B74116B2F70B3300BACDCA
+3A34C1D7DF9D3732ED02F39320FE2C6E01369F4C2BF90551D80F160841DB4629
+186C5A26A0DA6D08A965A366684BF3127A3D1E14F46BDA3B46F829F70B255D21
+3765A752FF2194BDD74E34A50C59D039C46E10C57538264457ED875F12B656A7
+ADAB03E9A3A965811D29F3FCD804D93782294601EF94045C692DCDB3D789E3A8
+33055DE95A331B61B958747ADCD6A65EEBD01474BD8E127CABA7949EE6A8143B
+86E561BF9CD21297C3F5A330C73DDF08B592F631A9DE0E717A4765706726D499
+FE1144F05D3CE8246EFB108599C39345E93C27C8EA35BFC0DC3528F55DAC605D
+0478D40A5F13D3839C8D1AB0597B1679CE02E8A09F105179AA8C42A9A2862A2E
+40D4361789FC9468885C2068C3DBAC199D1B4E47DFB9C9F9AD5D7598B6D05F24
+D53F3B7A129C8B49C946DD40FEA941B89C9EC75514A3E1EFAD180B932C08CAD8
+5E5F538903739C150D68702A856B1E1E0B11E262AF51CD1F3DCFAEE2B60795E2
+C355D82E0E8B88CB136BCDEDC53D823FEBAA42C231CE55C1853D412B992352E9
+130DA25EBCAB9EBDB1F8B75EDAA1EF3B8FEC09F0CFD1909A159D9DD8A15BEF90
+1490E788DCC536051CCDF4522337C4EB7CDA989F6EAF09FD8A849231E1D0AB61
+AD043B9898FC0DD1BC6F02202D8BB63388BB0FF323073CFAC95EFAA14E792EA7
+54239813B08CEEAD085EF994883031FAD6CE4257D570888542136E70EFBC6E96
+FADBFCFB148CAA3C9E21B402D6CB490B127F00A761C37D482ABA75A396D5FAD4
+B68114BE15987188D34A6E25EC764FC52010040EE830952E92657C1E30F744E4
+54940DE488EFD7F8105346FD55F95A942B308C569EB4D22B44230C797E0969E6
+1E9496C43DCD898C91DB82FDE6721043BAD7DDEBD6F8ECB79BC5EE093FD39F13
+678851D4610C2F105A7532574B4427535178E62F125F1A8098A0C1CF09AFEC6B
+5958BDBDBC8F765BACFF90B705E2EDEAEC63B1699D9C076BE99EA08BB8B39C0F
+107B3C09962C59D66C3F725FD0ECBE05B00B33D4D950869F5F3EFA578DCCE82C
+514FDC51EE564ADF56A2C01CCF3327D14A0B49A7A4D661B4B2FD7F76D5BE4175
+72CDB5D4A5D556304FFE79A849070F666990C699E804305A20FEFF0AD7C46C4E
+772F2F818020479052D428B1559A0163C99453CC883DF631D98F5766381F7938
+2CB87C68F5AC50AD6E82F46122B84A522FB19DEAABC17F57721047900B3B189F
+7D91AA51CABAF053A4F865B3A3E1601E1187B069DA67A483BD6E0C254DD98A41
+0442E3D8ED6F2250169B98F6A3ED2E3D9DB9631D2C804F545D6162989D31CEF0
+D8031B23D288FCA87B8489D0A1E83C8C14B816D7F2DF671201848E25FACD4CEA
+48BB7D58570EC0F43DA33E0BAC65860453BDC9E71B54FCAE6EDF04969F4B092F
+479C6301DC7E0293038D1850AFB12478FAC8EB6B619A5FE3F4DBD6CE1449BD58
+BE4F33A893E6BD91996F5B6CEF8CC792A4A09400E99E57AF4C02BDB44DBB076F
+A6B52978DE9578BAC24CB0314280C8E01DB22AF38F243625C88B1ACB0C74BA95
+AB92801EB3648151B06034150C64AA944D007536AB50C7EB7D62F64704E006B5
+2B1A7D3D1DB15053F454FC5DD0677813AC6E38EF875FFA7E306DC21F4BDCA032
+23F09C5F2972259CCBB81F93D09001FC1EE8EFB7930FCFCBDC2E4C6302B1E4CB
+82F2D8E062D2FE7BEEA84899921DE14608F3E80025D3D8812EDBC628581CAB46
+7B93ADF4B3DC5132B9E9E36DED114077F0BE8DA4AFBB8F7BEA125204CFE44404
+4DB8DC722F12A20AC8A5084A7AC93E8003CF7C24908EFB5A734324E856621345
+437CD20CBDB3740D38981A5DAACB525A17474F5F85FB7D757A6D08AE78AB2D5F
+89762575D264E29FD8EC7A7ECE2C4F74AE641169F58BDDC8C4BC533B7AC7AD60
+61BC5B429E97C240542128C879A9D6EA0A9D4C05D6423359E04D25C07E53898C
+F88D4F0EDFCC535370218A440F214AF5EB2FE2090585C6E13974AFDF92F95F22
+538D50D3EBF9EAD584974FBD064C58E1A77AB99D6DEE84BAF47E7DB4C51E96A9
+5AA3C5C78AAA3B7A9C73DB9D582EAE1EAB83668879D68124FEC58E7F7C0C0289
+A19AAC8FA63A9C15F861546B4957C1169FF50993CD15598137D0CFCF04E267C5
+4E306F920E065579AB7C44B02F7F89263AC0F984D63FB0A7A723EE086E8CFD39
+BC0E40F6277A824FB2E53CDBFF57FF1CBB62F8E2AD2C13F36042FABF5E84EB95
+1E47494E30058F92ABBBB576B969FE22E93EFFA6A6439621350AAAF1F0C391DE
+71FCAA583BAFCED79669BBDFE69487BEFD9C4CB1DBCF2C5575A45D016254AD02
+7110C17C6EA288DA6B6B145F1A6AE10D6C70CA996B1E908D13BBA2555E51D7E5
+696CB1D9FA80352DB942DEF37E6D8FE5B3B5C05E39AEB63A4F83E7FF8A02B9F0
+AA1FD7A03D410B0BAA95297824FEF721625BAE714C82BE603F14233932E0B212
+94324A8A1B7CC68F5C249FE637136673560681282ADB38592E5349FA63BA68D2
+90447F64364054D6092B893198B7F772CF627107552D3A4EDB47B58D828728A8
+D22D0B34F413C4C21E5647D0B321B6B211E0830899A273EAC693F467512B5D16
+9EA46A66E73AAF00783CEFA678BA46EE65BBA1A54017213461B146EE28BBE146
+5186FED35B5D9DF6B1C29FD6384F2B882EBED0396BF0CD9C6A0C80F2CAA0D17F
+1901BCD520A166AFD7787557CCE8B3270896E0CAE601CDE94FF6186A65FAEDA2
+8872C3BEA06C7AB218EB0C18C1C611294989CB1BB896F45F193AAED81A3DEE32
+C571D517F311F415537ABC1951C033BFDC0609AFFFF246C4E12E405D8AB3A557
+19E3A35891700937E9DDF00F8E5D4C89A09F04312BCE74C53AA6A4050EAFF1BC
+CD9FAE24500F77AF6E0A997089CE47EFE3D8643DB83720EA87515FA01A50AA45
+9157E2DC1D37BD166C52A903A4F7B88E15C006A94151399ACF8492935B4B28B2
+5621DCADEC0FD03A317BB323F06A966D83EDE2D4AEB49E19543AEEE4351CB8BC
+A99074D1846C8B6118F3F464DE5D6912F68D9BA30D50D8BA4DE28147EF3D9DEB
+01367E889FC762233E56FD6A56E2588796B79D591DD57C03698B22E21EA82801
+FC7B994860A325115DC22175C2B8BDC9C2CC88DC37BBD9B05F22C61E7DCC26F0
+0B554789CF8664ECF688936427D98883D5ADD4C0B8FB51E9AF1CDF3839B22F10
+A4F9B5BC83FBE812C0B19C4EE359B93253D43A9F68BF083132180F96FC809594
+B23DAFFF7562263DA7DD77BF0B625CE68721EB88230DEE011B5DCBDA5BB27236
+DCFD0AEC7828630ECDBACD700274E9E1F77D007B495E56CFBC2737367235B52B
+4B757DB9DDFE1BAFA2CF9C66B72DA4C5423CA21FC425156020338BE97213C990
+DF02E327F41B08AADF7C3895DB24E3B9A0DED10B11D7A6B789A6872ACA17C202
+13FA2DA292F3F4AF398D2C7548711AB60AE3704A322ED418E27CA51FAC181960
+9EC62EF5CC6F2A9039BBB607AA756431937D397AB44027AC95FB0DBEF0D04BFC
+6CA824464458CD2000F5B60F4B61709483F5C5139FB2E511763654A55B2F0A16
+EC7A14DE0B5DAB388ECD328741BBC84BFE419E74DE02D76677B369A56787BEA9
+C36943B09B05A8DB51E32F510A350F89688E9DC5F73AD88C124F62C5E1742D8B
+C526003FC5E28D7F1628EEF6677EEC4966E84D57E9AEB0BE5E9FB2AE0C07D0FE
+3B25F09781CAB270C0B2AA34118F86EB5016BBB7121E9ED3A7B6E2005A302A6D
+636625E94A91E6479C01EE1AB6B1987BA89D876BF3A22E05CFC49B3ACA07A36C
+9DA1CE5AEE751C4098B73CA25E092DB1821FFAF98D6BE874CFE62AEF00C033D5
+C764DD1D1F2C94205BEEB97ABC5AAFA6817E253043E348CFFF2E022DC51E6F33
+3D152B84CB88DC33772533EAD686CBAC2FAAF63B39F1C83F6B7DF0C19ECA879C
+4E6A1F1F489D98A6E6E98662F209BF6792C53C07E6DCBAFF7712D6824C997A4C
+0CF329BFC8C11287EF4BE6EEF4C85FAF886969D11B422ECD0707BD50DF9D15B1
+1738DAFE0BBE48E3234CA9BD100E940BBC4841A72A009EFECF8CCEACA68875D4
+99D05F38BFD7C399DCB59CC90588B9B4C30A376099D410C010EA1218AE15F6AE
+43DE1FCCA09A0915CBE46A4545FB9E12F016F29F85431A380479C959F1C4364A
+416AA7B5E7D2CCC9D0FF56AB7E99B015601366B97018DB062B3CEDA1F3BA93B1
+1B0E6503E5CCDC64A610B96F7EDDC1790144EDCAF0D3F1E3880B3DF1939C3720
+D90C5724DD06E2299641A884F379305951FB9F81A4C2782770069AB5F563B0E4
+F9E1FA40EBDA50F36A8406E3547ABB6A443B9DE2A2813ACD17B639D3CBC57C9E
+6C2DF03A5596F9CF42178A40DF725CCDD18EDD8642146FBEA744A603E850CBE0
+665FE5F2CE6E691D44FC6AA70880FB1E1796FE6E49A7FE18FCA539591E066543
+3BF08D78568FB430AED84B8CE7CA07B2E0BD4977457CD18D6EF7C978A16C0301
+CE44E994C65546BBB915DB9C8A09D427B70B7CCCF848FFE89A51005C449FD37C
+63F35C734EDC4F6C09700B60744F51D111C642089B202942174990DBE413F950
+146FD10B5FB5D28BCABA713E75A971E5C6554450414A4A908C36B09A1A475421
+0E81315A5E6E40B488E9531CF048D1AB0C09C307B920E3948A033402D07BAA34
+23B98C8BBF6816129CFEB665CB0117C18BDF0E5D17FBCA5FBF07DCDD97219C95
+0880CF1E9127AA8E72E8115A35F1DE7840EA01E06A489604C3980327B9C4A667
+8F6A5F74F38F86838E11268DE1F8BAECA8927D67818EF60C6553E3D645D74864
+F679CDE21AD7B657F567B03B697F2C2EE6182F1A3274F2E43135183E227CEF69
+B1919221CBD3664040F2823A2D9EBDEE36D6300AA109D0693B2A69162D7BC1BB
+86CB892CC774DEDDC99F92C9DC8CBD3CBA4D6B84C1599CF2261E96B24BA49C8B
+71DE5731E687B7A0A9FE05AFB31298058C3F573D7988C8BA76173408B720A273
+5A8500B5C2DEFD3B16EA606785F1CAEE0DC351BEA9FF1642412286B3576F26B7
+AA2757EFC047A0FA472C2257C1133BD2904448F1527A8B88A8842F6BC0721034
+77A4569AB2EE79547E703A21B52BBB7B7779CB839529F819C147E50E545FC8EB
+03AEB1008D3C59B0E2CE719F4F0B292DD6030A8B7BA959D71B79D1F53D167BB5
+FD88A91B985A3E1945B32641F6F6A8884293DFE5CD41CDDFB7A875E6E45B0676
+E0E2F27F77DE2E3A04AF174CBF4400FF3ECFF31E71ABABBB945680A93400EA48
+6BF761A86C0230D9AB6F7338AC1298C69F28491CD377D747E2B2340D302CAFD4
+4EEE642CAB20E86AF26DC4C86176F32F177577AF9596819D4778B982D10622BD
+BA074BE2E703EF32C888CB41A6E1CB08B283F3113480A6A38CD4D4CF19B67827
+7B64B4959EDC07725890156B124C42FCC414549F66CB947D5376EFCF97949F34
+F7C399FCD27F308AC3B57B5687E87B2ED2BD02779C39017B97DC3832038C0C33
+D2A27E426BA52970E209C8474E1FF67BDCBDB1DD8F7FB86DDC95D3385B2BF70A
+C58A9CC16697E8AA20C67EBFD91661389CC3450549B046CB17C8CB8B9775E99E
+1BE18F5B93C826C3B7505BFAF4829726D188014BCFDAFD53CCC1E2E14CAF8996
+B01F8F9F89DFF605356337605B36B3EE932A5F76B0DA0AED1AC4F80C4019C03E
+7BEAD387BBC5D26D5DB6081AC1C230FDC714E81A3CC9EDD7A98188810A51E95A
+AB779B17D442BEA1B27AEC14BDC0A09DCE674261C44FBCF371C2E724593F80FD
+02F79C84D1869A2FE5C8F3B2F452F1023D5C0DD0753C438B1F397D96E8B9659A
+BD4B772EDEF6D315995B435EEA7C6D2494B58200A88FACC44C2EE2B166E610A2
+0AE6C244690A78477EBBE1122813041EAE4509D2082CCEB55922C6024419EB54
+5E791DA1A8574FFEC27C51ECAE720B89C2AF19D33EF6E69C9E4F9B2673781448
+0EFE546A01BF3934E5E17593DA99BBE0686E519F0662EC25C849DA959E60F804
+35EDCA1953BB19FA6A5F4B61849DE8B562DB30E85383A67C9E242944FF80DAF1
+59A51C22E9CE91AA5B92C001C9CE122EF6C78E42DCEF622B0BD76D2FB3697C9A
+2D6E0942A81AA67EEED73B03773FD5CB4E21831BC096C07F78391E47061486E1
+88008EF87DF920B329BD0BB7C918369828FB1E3F873BD12AFB2341F845BC779E
+60B7625E98BFCC3132D471DB7C6A7FDD6FDB9CAA2FC49198AB42755410EAAD9E
+0B191DEB0CA44FD5BB84109112908E8A8ECB96E070CB473BB280BC7D4826AE03
+A579F724DB01E6678F428408D34E9344A64D8D2EA7675D820C561E8145CF1620
+3E13194355B2C1A57697AFC305BB906308E24365E66B6902B4269C5671E1AEB0
+E9C611FB1FF44BA6E78B28B223B01EFB64AE4502EF98AA5B9374D10232C98881
+B64851BD3820ADC4A7DFE08E4C3204DFF68E5879C46F2E1AEC856439DBACF818
+51CD04EE662B20C58017CA80B3F888C7331A06E6BB81AFA6674E50537AC6CB29
+CAA446AC914A00043837A26667F4158BE018BD8E62A503AA4430ACE200A98DBF
+F8B8B78767F9CE4D549A087F7FA1E96F371BF6703FCC0A1076A60DA2F50C2ED5
+F9BE2D6945F5B7F44090CF3E10EB18FFB0EBA92F4413DA97A3B338154A9DF2E1
+D4DD0F9DB0BA706E5EA5EE7D5E591364C62AAE947076DDF0232E3FC71E477668
+B9D731D9D2FD1B78DA993FDDE06ABA940F9D35F01E5801D2FD5FEB5E88FA7D12
+7B04D149E4E46145D4F6D9233D4DACE9C1D4BB69193112B0FE831DA200102FA9
+29C096324A64C6DF0CCF3D52EB88FDDA629E7A71B1360F38C5A87B4E1ACBF294
+3895F1E75E07FC1857AFEFCFD2AFC9EBB2C617D7751CE609A5F24C77F549FEAB
+651B13946580DF56CCA73DFD42B7A1C81D62E0717DF34D889E4A87DBD5304387
+AE2FAF2ABB39360CC802F24A695409D3351D0C87A76C09A98F3FFE79F07EE365
+7BCCB54C76321B82AEAFBBE8C0C28342B3EA76FDD90283E1FF850684502B019D
+B3A9691758090160740CAEE96BEDA8D6BBF2AB321F7106834155E77AD41E358C
+00879C8A44E91C60ED86EC6CC9FA711AEB173E5271F7871733259DC952D04BE4
+CC53D93907A1CDD026DA5340954A025E42EB844BF5A594E3E5D316BD5B419CEB
+C08E1FE624B225955E751A0ED66A87C954E3F755C0E3BFCAB2E2AD8B27BC90F0
+432C3AAC430416162AC63245EC4D2926AEAB134B5755EB584263DDC91D3F93B9
+BAD527C3C0A5F608F0F2EB26365AD8EBA76297F57FCBB98B64AB660109B1FCA2
+8A21358E83536EB3D3CE7667AFDBE1DC52B7418630CC8F507A00827A62D15A13
+AC5D14A0AE48CA3F67C8CA759011C8C23AB1E3FACC0F28E59FAFBE57DA7917CC
+56A636818F6B833441FC7BF1061C899027B56329D287526EF098873824F599FB
+199194A22003F05F0B9ECB14BADEBF0DF7A6C80F50839A5FCF45209E3774A50E
+17A375F61C5D3759EBF26EE62DE614FB8CFDA025550A0D56F9D3FA34DEF1F7CB
+EC6368FAC63027C2887BDAF2093D247B057CE8EA80A2B04ABD2EA48108596C9D
+654C41B566D01A78A01C273CE3BB407A417D8B50E76A2F9257700C1EC2918844
+3B980340453944288EDDA891C804E69155179A0DD1EF95A4D371E88ABF0946EE
+BA7DB725B97CC2B7A4BDD0740C95A757D9DA85966B91AA14E1C85837884B1B78
+3CA9F7385F585C0982C43E7C3F4E3B4F11829126210FCEAF6C6FC9C6A5DBF3A4
+E9D86EFEE1400DDF61D630815209994807918C9A196BC84F9B64A31AB92A36AA
+271B021359DE85EF2A9A757047C6275DFEE63C8EF59F02F8248305EFDC5015B2
+3011D07B98DC78ABB7FCCCF04575D5B8AE25696E053832A60DEBE4162545713A
+57B48191F1EBE7C3DD940EA198400D89F839B3DFCE6E14CEFDC26AFD40FF7163
+E6CDD325588E396653C3050643C3BA39B8E7B5E7B8208E0DD4F364944B8ECEAE
+CB584586A630C95140E0B4EBD68BA981287F57A4C2115D560FA9D3AE2960F8D5
+2043019D0C119A81B4F060DCD13C8A7A6DCE37CE61253F1A06FE1018E5D5447C
+D692C6289EABBB35DAB603564F0ADC831760E40608EFAE87B4811D6C524BDF24
+1EB98A26491A7C64DCE206293B7E11C9D380770534F3F4E8D31601056C983D39
+915A7581647EFED73B5E6030C6814AD8CCEBCB9DB56C39A7127801FC22A6C427
+372C13FCFE5FFD96326E8E5F639EE95FED1BA04EF6BFA7DE21EBD474BD4AA87A
+D97D7934AA486C1879542B57FDA1F202D75C31FAC106BA230B2058EBBBE12D98
+943451BE72A80582BD5B1B2FB61075BB1A1ADE11DD7EF0052186A6DCA7A8E08B
+D43D38A39B972F81B11EE22ADA00046829F6C7B0110ACBBC47FBFDE195D96A93
+36C2D275C60DF4B6C6F3BF0284BBEA1EDAB9C3316D9A636CB1BFC23AA5A80A67
+92321F56194867F54AB82019BA64E27B964E04AD421297C2D8988810CBDFB237
+ADAA240AE7E27BE287DA9B884A22C7441553E588EF1C812130359EBA879FC74F
+AE172A11550CDCBDBB9E30FF9B45122BC0C043F471BE9EB00E41F59D47407D7B
+9936DF083B25232894EB674DB31C7E646B9009DAB4B708CFDD2362B18F715D2F
+30D1EF79D7AE8FAD2AC430CF235866C89E7540AAA3D1AFD24795EE7D97D0F3C4
+DF3D45394771D050307FA3DD62142FEBF727E6FD143C556D935DFA8535A7AA1F
+8770AFAC9B3DA19D06532CDC0AA8A6040617479C6955617388BEEDB6DB80370B
+76C483F8BA14377019736E16FAE2BCCC5AF313AAECF926961F0E833376BBFBF1
+89CC0C6118FCEDE34B97D1BAAC665F6314FC5CE61941483234D93CDDB0EFB9E8
+C4330146F6320AA04D58F758224730C47B52CB76E9CC533DD35390BFACB945BB
+65C86EEB0C365FC2F70AFD1B7DC6144AF0AAA1D19E769C71DEA1B4B76910C9A7
+34A6DF1156CAB321E394BB5B3B5186A63A91BA92A807E0F79D9977EE189F9A96
+714A54C9E6C3A8BB5F08DD509D2FD27C8018D794727509C5D25B2B41602310FC
+09C45CB42C8C92041EAF1D8781712D7AC99AE5EDDE61696B7CEA6BB5D057858E
+DE00BD447965F9B4103590A977D44DE07480ED4B86875C330EA0D2DAA8891031
+0FC7D0C77665DB7303AF14BDC24E4601D4403205D282CB18B06061829981339F
+AD9BE89378FA29EF5ADA6EAA2BDDFEDA255C0A3551C83B2B08E87D15676FA94A
+20BA9711D5DB08D426FB3E1A3DF10F3F143256B391230BFE5B5C9B3D2D4FD9E2
+BCDA391C3EE4AD779B2453404AE5C2786953F061BDCFC6E854BA5DD9E77E1948
+F1DF23B6F52A7906EBE3F4F225B74D2C48401A8DF68DD9BD04D82C1FB7BEB610
+680D8439D4606193B50926D7C2AC8C99AA949D18BE5A2E9B56D44C924622C222
+566563F4D816641385842D001D2A2972195FC55AB7DFBA118722389589489E3F
+4770EBA66EF0E659C1C6417CC6E394C6F9B927E3F114E0C1A396DC50D15966D9
+F97B68A0859B74E40291376D0EB62D25BB38660709282C0AC3BFBFDA2F9B8880
+4B2E14B1E91B809DE7B53C05A787F446438A42264B0ABC9DDA781F4B381ADD20
+744D70A4945FC9DE01566AB429C08A87BEAF7327844DC1A8895587E364B43E40
+69DE49E8B171A19A5CC2116F5D5648079FBBE671E7119E76B57F34C1EDA5DC90
+5CFF7E9EB9D3E4993302BA3901A303B182A7A240FF3489B8B09AE820027D2586
+4D06AF576FEAE03FD39D934CD007F3E162AC1049D7168340D7FD4BDD903A0BA4
+00F32DE68815F6C19AB4430824E771A067CD065051FB9CF895C3A0599B61E751
+E0F107C4C1AE1649C8909ACED7427DF65235CF5579CCCEE83E3A9B1CEEDC520B
+AF2D92A51D953F08F86911D207A1E0971D9DA7909F35EA5C7815F1672551833A
+B9609C8D76B390E31E4F88AA2D1C5C977B772CC0DEE9DC65AC7F368594234345
+5C19877A237B938F410E5E8EC9D1FA4F986CB07A3F9AC64886B0D4C524819C59
+11FD51182E0E0613BC3FE47B5502DFE468485C2576FF4E7BA65121CE7D42B7B0
+7838BD5CFD50BB5F91BE699C69E0B9B0E5E510544498507C6B09DD71C1E02C40
+B80BEB8507B9BF9D591B20CA0378707E3AEF09E57C737AC66B8566D57AFEFF29
+983577E69CA97147B4BEA8CDEF5F9BA1F721916C63A38BCD4B6DD3D8C6BC280F
+AB8609D17829E7C7E53799647D6456770F3B79B5B6A8D288ACF3E3DA26DB5A57
+69ECB172D60C00C5C83BE140A3D7C495E3F8840EC937566594CE10249B2869F7
+E92B1A3541BF6066D7415BAA809D9BCA8E21D0809A847CC8E080D849773428D0
+D5B5AD66EAD43EEE4FBC056E3B0EE27E4DD9C836C8AD1F43EB702A7B5621D391
+6C428FC59845DFCDF208166A3ECB4281212B98783E3BA60A15720B5A263FD303
+81D190A0499C457A46172EABD8B610B3832BDC7A8D51CE5D5E429848B21B8459
+4B1F0110CAFCE7A8B3602D9A8983ACEDE78577AFFE4690D69D9EB1C36E3E7C9B
+887F9C385F4D8F0897DC0003CD6C5FD907DC9A303C5BAC859D96EFA3ECED26A5
+E3970BAA70CEA1F773A9367055BA25AFB35F779BCC747D56DA42075EB38EB7E0
+B5839306B05540E41E42219470F38132445CC19166BF5EC51185C19302505219
+4A4BD46B1F2E3882BA50E8EC1545B70054434A6109C2FD39986F049F8C2B1AA3
+3DE4774F66F3DB019188419123C14E4C097DDEEF9A938B897A4E8E48494BC0C0
+C7E8739D171116A57841E335C62D3E7C15437B3DE6735939136CBB706B4E148B
+F797C870E0856299633CB03B65E655A5607320B5DE57A01E034BFF2BF7DA752E
+F4B9256F003516AF3AACC27FD09EC54885C24CA6A524DDC2D413FCECFF521AE7
+26F2383C6FC807BFBC2F7C12D3DB2FCE84AB3D6964558EF78E699FE46B9EDAC5
+F1688D33A172C96DF748DAD7F59CEA54E876BCEC5DCCD471ED3521D6AE3C0FAD
+46EB7F287FDE54F2ECCE77C540069547B6F6AE6D769DB4DF64D74CE47065D777
+C94566924F60BD207C8F013176A4A4EED9F095AEEFBA1177A9E8BDD12182E55F
+419EBB5483DF2844D41906FFC636B132283D10513F31E3374A6C237C86C216AA
+B94D57DE1F9CE86FF47F198F38425616810335505D9D754CCC40EAF52F5059B3
+B185C5603ADE59CFD87FBE5B60DBF808A835E3C669AF31A0BC93B89AB68373E1
+DAC31540A7E00E0B0EA4D5FCAE9637346B3C86173B5F49339C722D9017D3AF56
+BF80E5185A3A29A6EFAAE01158BFC7DFB5A1ED5417273B67ECE42ADC68511E9E
+E2551265DB281A82888288FFB0A596A296543607DD298372AD18EA5C0E3535E6
+8F9B41E476AC37A837419DEEF1D7DC32D9439AF3E1A99EFC2D714905B9A21A7F
+743B009D8E8D4FA6DCB24537CC48C91CA04E195A116B1819B9D778CF82739A11
+03F315F1823FAEF8035C959772168AE3D076B2ADA6393967F99D2BCABC035EE1
+2C3A818905FC4550ED17C4E23ECECBF263CA94BDAC1F08ED5A55907684AEA132
+831ECDCC65447C6780C63ABD0638D65E8F8451D29E75986F64748EA4389CAE37
+43EADBB813B2B10D7F473B73F854DF9E8ABCA0C228866B103778E93B2DB97D0F
+4745ECFFAA2A4DAE1E6E450F0C1759CEA0C6AB130F5A7D83D98E11E33D9CCA97
+8A14FE3C27CA66D88CC2A0CD24EBDA27397A651136BE5249868B7C19037D9365
+B427A82A6645256BA75F8177830C93A74EEE2312AFD7176DAB8127C261A87484
+13630BE7DD0B5E6E64360B125208E338739FF644B22D9C450C131989D555DAA5
+77E1A731784D6C152D10C126F58221013995DD3447DE42D191C4707424C0DBC7
+1025EFE0C1A8A6C6668A5A29581C83267C5B4AA4C2F479A550D8943B48CCC2CA
+D9A8B9ED9EB2A51CB98617B4805AE307281499BC1CE8886B3887FABDB3FDEACB
+540DDE55DA4E96C5680DD39AD133E3B2D776426F18B928845F5CE730DBED4FB7
+19EED88D08CBA2F4C83D803E2932CEDC088B4CA22666386FA68DF24FCDFFF618
+BC73F11738853D9A74AB3E0836619A95A6A1C1C729FFD283E131F5CABD7D09C1
+4C7D3A9461BEE7401398E375BF3D17522FB2294901FAC0883F913F236EC15F1F
+7469BDA601034F133C13B5DD5833A2C6AC843C23FFE1EAF5FFADFCEF28CDDCDE
+DCDDF28129DDC97BF78CFFFEEB30D12BA698E99FF46EEE5B856A8C34958F32AB
+6B2103238ED8C10B9F1C018336070D7FDA0126445E5EE67BD955E68F8C976C83
+E6530EDB363C773B0FD18750B673DE5F89DBB5D0FC1E14904F5DAFA496715CC0
+8516F4C28957AD8862B5D254A2BE2B8E12A9FC8999FD76B791984EFB47D45FD8
+7B1BE08895DC49F9D7A0852A069210FF89929E936386131913A9CDC1804B7C86
+F152B58466F6CD963C0F09276706748EBD1824939431F07FB1C74C7F3041458F
+0935D26849FE9FBF6614048628CFC4B451B28AD4B7972CAA524654088EF9A91B
+B239721520B829F3CCFC25710E56627EA22C38EBA475BD3F54E3973C79493350
+D5276A7455F0F029D03F24292AC6E8CCA1CF7E1AE9A7A61A9FAE9B368234E7D0
+B17F6E128F7E4A2C6F31F2B17D01681B72364D0BD9BC1693247F051B5F153798
+642408C2632667AFC0B25A5FD17EE325ABAB5A4225B01E8474D726DA3FE69029
+08CEBB920DEAD5807651CFA8C9B7D79DDC4E45B5B392DE482CE0682419FE9B98
+FD50C2A05C47AFC9CC1E8243BD31675AFEB0ABE5E0FF27CBEAB353976A90CBBA
+62C64399F8FDDCF5015B95E92CCD8ED04DE51B9E922B06AE48EED5A4D9D5925C
+C611B6D7814536914C28B03F6455C5438AEB7BADF718F63BAFE0242DD4467355
+03765B500DCA599DC776FDB53A7FFFAD40774F769E2F5D64CA6D7313A70E1FE8
+2E19573353CB59B9E646C5C1E5DEECB81216DC4CAF210F85F90FD2333B47C360
+D94D6B45DA01234024A37779121FE3ECAD42D00C335974454A53290CD2214733
+72DB9B951D37E3004B18F41BC01C88B4AA90BC4FC66444271C754039D92936DB
+E6FCCE7CE68008AA02FA2A83DE7447ED
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+cleartomark
+%%EndFont
+%%BeginFont: CMTT12
+%!PS-AdobeFont-1.1: CMTT12 1.0
+%%CreationDate: 1991 Aug 20 16:45:46
+% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
+11 dict begin
+/FontInfo 7 dict dup begin
+/version (1.0) readonly def
+/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
+/FullName (CMTT12) readonly def
+/FamilyName (Computer Modern) readonly def
+/Weight (Medium) readonly def
+/ItalicAngle 0 def
+/isFixedPitch true def
+end readonly def
+/FontName /CMTT12 def
+/PaintType 0 def
+/FontType 1 def
+/FontMatrix [0.001 0 0 0.001 0 0] readonly def
+/Encoding 256 array
+0 1 255 {1 index exch /.notdef put} for
+dup 0 /.notdef put
+readonly def
+/FontBBox{-1 -234 524 695}readonly def
+/UniqueID 5000833 def
+currentdict end
+currentfile eexec
+D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891
+016CA6CA4B712ADEB258FAAB9A130EE605E61F77FC1B738ABC7C51CD46EF8171
+9098D5FEE67660E69A7AB91B58F29A4D79E57022F783EB0FBBB6D4F4EC35014F
+D2DECBA99459A4C59DF0C6EBA150284454E707DC2100C15B76B4C19B84363758
+469A6C558785B226332152109871A9883487DD7710949204DDCF837E6A8708B8
+2BDBF16FBC7512FAA308A093FE5F0364CD5660FE13FF01BC20148F9C480BCD0E
+C81D5BFC66F04993DD73F0BE0AB13F53B1BA79FE5F618A4F672B16C06BE3251E
+3BCB599BFA0E6041FBD558475370D693A959259A2699BA6E97CF40435B8E8A4B
+426343E145DF14E59028D4E0941AB537E34024E6CDE0EA9AF8038A3260A0358D
+D5B1DB53582F0DAB7ADE29CF8DBA0992D5A94672DFF91573F38D9BFD1A57E161
+E52DA1B41433C82261E47F79997DF603935D2A187A95F7A25D148FB3C2B6AA32
+6B982C32C6B25867871ED7B38E150031A3DE568C8D3731A779EAAF09AC5CE6C5
+A129C4147E56882B8068DF37C97C761694F1316AF93E33FF7E0B2F1F252735CE
+0D9F7BCE136B06EE967ABE0C8DF24DCBBF99874702ED252B677F407CB39678CC
+85DDFC2F45C552BA967E4158165ED16FECC4E32AC4D3B3EB8046DCDD37C92FDF
+F1F3710BB8EF5CA358ABACA33C7E5ACAD6BF5DC58BDFC3CF09BA2A38291D45A4
+C15FF1916FE2EC47FDC80911EB9C61F5D355BEDFC9DB17588547763AC5F0B1CC
+12D2FFB32E0803D37E3281DA9CE36C5433655526ACFB3A301C56FAB09DF07B5D
+048B47687348DEB96F3F9C53CE56DDD312B93D3918CD92AF53FB9461864D11B8
+0138918D0B1270C54873C4012CDE6F886DB11BCEA04B023EBB43E0D0A06BE725
+741D08B9DB688731A6C9886C15A83C28DADCC81385EA239E045E8F3670CE03DB
+9EE77ED067036595C9F3B1854343BE3A12E486B6E5A2F8AC44FA5378D28DCCEE
+306B0E283AA444423F9A4FF38E2B56DCF67A39CEB2C643DAE86865517D5D0371
+CB8797208ADEC637330A3A57902C9A88EDB75A7C16FA9850075D9F19578EC666
+1353CC1FC512D59DFF847ACCD3D03959C548F21BF622A6C3224EE815E753BC87
+E0364A12A1728D0762C266515BFD30F7711A9F1F796BC4BCF679918151320681
+D3202FD01EE5901981E7EC55F58812978105DB71D10B0A5A39BB69F703B11160
+71E527862BBC00736D616BF295EA94ECB611548BE15829EEBD0909514403608D
+4C7C220B61E9F004D1CE7760F7D96A75029244E5505A2579171BFC831AA0C18A
+5D09BC573A582787ABBCF9C680DC4A5F41F6D7208A4DE3DD4E566675781B86D4
+7631FB52070FBD290AE6DE90DDCBECF4A71A9C04A88F4DCF468E3256B3E240D9
+86688B5DE5C0EC734599CC85478045BF32033E14B99C532D3192440F4D23BA99
+AABC774E8978CC4CC681102FECA5969C404FD82F9A0E9F772ABA32D9A309E140
+C33E65CD55DA1973802702A9D38953F95734097864C045690EB370F9600CF504
+1D8C256C3F54789A39130AF465468B2EC43496CD305352AB5C50B19B6D025C0A
+8D85950ED3DEDCE064098AB2EFBE0E5470B1553AAA691B108AC28B169609B244
+B9A4596E9DDDBB5017847AE359E7CFAE76951CDB353ABB5EAC83026FDD24BFA2
+40899B9A904389B04CA8EDD18D19574585FC843F2D8459EDF6A296FFA0047F3A
+7D08570D877CCC8AF22684DC4CC7BA11F5E2296FCE728087D5394F3D2E4CD157
+399E3BE34CC8A97E4D9B7AE8A54747C945C23C3A2E3C07307815EA77E3DB8F02
+FDB2E31E2EFC2F4FB10A6CCD14D6C5121AD7DE0BC201BDAB24998DF9797D7F37
+8C00252AA9783E54023EED68AF1D0A7C3DE94C0D51DFD79F6D1CECCC35FCB852
+C7F523D4CAD562FB00A60835EA49753F176913C4B79708A071CF88E1757215F9
+4844D934D0F0DE9E79A4E68328C9AA900C8351B7A51B5504C651FE9C6832AF05
+72A710A16C7693C544D585311E6F81BEC2C33BC8BD3FAE4E82B0DDFCFB1CE847
+B4BF65F30AB480B329774BF6BF1246E2D1F402FA72F4298B90887DDE0AD09DB5
+4CAAC75BBD2437B7B50A9F42206421D0AB69DF3DEBA9F0134BD699BB223EA67B
+B65E5BFD4575E7DDEF810B768D568387AD94DE8A6673134B824C78AE36D0922B
+E21F10BA2267BF39AF9D7C06E64A467D96A0F8C4B6733BC9D801FC391D426B46
+7FB6CEE46D3C2DD27770565774258E5F2C5773D82F491039976FC29DB4E86213
+0A4D9491E5EEFE362AAF37F6C0FC0BD6C285CADA011201809FCE904F0C558834
+FF6EDB62354EB38795A4FBA53A670912FF984A2A702B9898D4723FB993AD10D5
+E8A3CC543EDEC2D6CFC69E6DB0321010D6A7FC357B9B6292A9F6D5BCA1FC5B62
+E769CB1BD40E7711A0298D1A425DA896B11A68DB14795FFD9FCBAE6C35DD3FEC
+6F914A57C65068473594716B2CE171E7B59270B129233571D0A5D6D477907286
+70057B799C2BC43735E2807CF34BD920C25B736BAE8034A6B8CC5E39EB4B7989
+84626CC8667E5912BCFE3C9FD65DA80D6CBAAFA6795E8B9AB9895EFBA2C46704
+64FFB18CA92B5215AFAB89876C41E34E5C1F14118714F73E516210C21D44D038
+F860AE5512AB012BA7931B8411359B63E6013B3599EA007B774D6B6D85E872DA
+979837435B5EC037B756A26BC1DACF1050AA7884F3D694CC4D829688D599C994
+3352EF1436AACE4E456C6C8E1DCF29BC276D6B2130EFA0F2318B7904F3391387
+EA5650743E6CB1768F4A9ADEB48378D1B86513FD8BF92864812921D262407DEA
+276AA0A2ED0C36C7678DD04C5975A8D9CA8A315FA127DB1DE6AEBDF79375543D
+654BE2B92AA5BBC5461CEA72A689751C884E7139AEEFF88BC589DFC285CAA007
+FDE71A258B28A382967D314721B5D29A2D31444C9EC9A3481247E6C878D3BC6E
+43FBDE0B6E18B7540600F0060455FDB2294C88A0C67D635103151F8FB91696DE
+D372C14C3742AEFDA7DB3A5719CAFC7BA3BAE587B239F2D55F33C70347558225
+1C2A16490B20E00C8976A27FDD326D2151C6FF53CC045D2EC1DFC9E01C169FB6
+AD694DB6D8CE3489977471CBB867AACDE52F245BCDEE90C3A23F07BE0E7E2094
+7937446BC05A1705D86BB65AEAEE557E4B922C542EFB6172DB59FB9B49785C7E
+9DFE1F47B9FE21B6C0D6436EC7E8B1A057B8AF5128E5B888589EC1307734D22D
+C2B20BCBCC3DE667F067B44E9D0C9BB639B054CE402EC991B5B12F1A8E2E6BA2
+E50CF2D44A7C4C10EC7DC93C472B75ECEE779FCAD56FB7F293314ABEC48CCF74
+B04B2AF9078D0E57E936440867CE1BC1FA8FBD944E3EA779BD89977B7C0FCE9B
+6B2E4F4895D91654FBB5788FBCA84985E90E92E5366CC32DC874B51ED2281CF2
+2E6FE6BE3B206CC18FE73233F014451BCD5D8C2F4873DB3EF2A393F62D5CB2F0
+B98CB8D8E19DCC6F885C4E8F7BE5F96BC34661DC6FFCB457F3642866D393DC45
+FE66B8AB77F95B02ED26A9D550860BFA4AF0881BBD5D0F01F035FB466CDB8C9D
+B6406B2679EFEC268CA1AD8D4CDEE2D47D6EB641D13AB7F3151722588DE3E2C4
+3EDFC0BE4B9A65D0CBFA0F369C9900CC105216A86DB6FC9338910DBFBC4F3447
+531A32AD80C30F83BE7183E30D9C49D00CCABF3C615A94917851D3145F7FE82B
+B62C60EDD92FEC634274679B1BBCD979F502CCE2D76A7A273D071BFF9A6EE664
+D88B56896613CEE8617A239391A3140C55D8EE40DB0EF84E1E6F378CA62073CE
+D0C24F98F07BC80875B0D07E8D449344826CB71659AF33E196C925256B11A737
+066C9A1FF0BEF8C90B068024B012A25E605F1CAB88856FCCBA52F23ECEB9091C
+368D3616332718EA80A122C74089B911DA55F7AB3E4BCE1C
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+cleartomark
+%%EndFont
+%%BeginFont: CMBX12
+%!PS-AdobeFont-1.1: CMBX12 1.0
+%%CreationDate: 1991 Aug 20 16:34:54
+% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
+11 dict begin
+/FontInfo 7 dict dup begin
+/version (1.0) readonly def
+/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
+/FullName (CMBX12) readonly def
+/FamilyName (Computer Modern) readonly def
+/Weight (Bold) readonly def
+/ItalicAngle 0 def
+/isFixedPitch false def
+end readonly def
+/FontName /CMBX12 def
+/PaintType 0 def
+/FontType 1 def
+/FontMatrix [0.001 0 0 0.001 0 0] readonly def
+/Encoding 256 array
+0 1 255 {1 index exch /.notdef put} for
+dup 0 /.notdef put
+readonly def
+/FontBBox{-53 -251 1139 750}readonly def
+/UniqueID 5000769 def
+currentdict end
+currentfile eexec
+D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891
+016CA6CA4B712ADEB258FAAB9A130EE605E61F77FC1B738ABC7C51CD46EF8171
+9098D5FEE67660E69A7AB91B58F29A4D79E57022F783EB0FBBB6D4F4EC35014F
+D2DECBA99459A4C59DF0C6EBA150284454E707DC2100C15B76B4C19B84363758
+469A6C558785B226332152109871A9883487DD7710949204DDCF837E6A8708B8
+2BDBF16FBC7512FAA308A093FE5F0364CD5660F74BEE96790DE35AFA90CCF712
+B1805DA88AE375A04D99598EADFC625BDC1F9C315B6CF28C9BD427F32C745C99
+AEBE70DAAED49EA45AF94F081934AA47894A370D698ABABDA4215500B190AF26
+7FCFB7DDA2BC68605A4EF61ECCA3D61C684B47FFB5887A3BEDE0B4D30E8EBABF
+20980C23312618EB0EAF289B2924FF4A334B85D98FD68545FDADB47F991E7390
+B10EE86A46A5AF8866C010225024D5E5862D49DEB5D8ECCB95D94283C50A363D
+68A49071445610F03CE3600945118A6BC0B3AA4593104E727261C68C4A47F809
+D77E4CF27B3681F6B6F3AC498E45361BF9E01FAF5527F5E3CC790D3084674B3E
+26296F3E03321B5C555D2458578A89E72D3166A3C5D740B3ABB127CF420C316D
+F957873DA04CF0DB25A73574A4DE2E4F2D5D4E8E0B430654CF7F341A1BDB3E26
+77C194764EAD58C585F49EF10843FE020F9FDFD9008D660DE50B9BD7A2A87299
+BC319E66D781101BB956E30643A19B93C8967E1AE4719F300BFE5866F0D6DA5E
+C55E171A24D3B707EFA325D47F473764E99BC8B1108D815CF2ACADFA6C4663E8
+30855D673CE98AB78F5F829F7FA226AB57F07B3E7D4E7CE30ED3B7EB0D3035C5
+148DA8D9FA34483414FDA8E3DC9E6C479E3EEE9A11A0547FC9085FA4631AD19C
+E936E0598E3197207FA7BB6E55CFD5EF72AEC12D9A9675241C7A71316B2E148D
+E2A1732B3627109EA446CB320EBBE2E78281CDF0890E2E72B6711335857F1E23
+337C75E729701E93D5BEC0630CDC7F4E957233EC09F917E5CA703C7E93841598
+0E73843FC6619DE017C8473A6D1B2BE5142DEBA285B98FA1CC5E64D2ADB981E6
+472971848451A245DDF6AA3B8225E9AC8E4630B0FF32D679EC27ACAD85C6394E
+A6F71023B660EE883D8B676837E9EBA4E42BA8F365433A900F1DC3A9F0E88A26
+30F2AD56EA22D77BA06F2F0A466830FEF19E343311E3EBB8A5CC4A176B791D9E
+F82BD32F64C39C814379E8BCAC05C1FC19B2D49B4016C4E4625FBDF0F842CC15
+7A3B3FACF36C12CF87558FD4207335BA87796761C06535B3659123487E2B573E
+8130BBB39A337725D90C83C4F96EA64AC8CA7588BA6958C08919B5B14EE68AC2
+4192D6EEB13E174589C35CBE00A961DBBDCF4597DF2F4821DB73BC21517F293B
+8290D6FCE00579F118219F9E831B9BBDDF930053685B80BA9D9CC81E44A9F73E
+8B4F751EDF6480A9BB5C0ED669DA82BCBE1DDBA44F26EA4482FDBC0A4ACCD749
+88E48FB46C1186FA557711B0264667A2D278B5C98E0F95951A95F541AD3979D2
+D4A6839DE475D9EB07E9C6B572B6C8655D8E0F15B2F130C72573F8522DF30857
+DD8FE25841B87C42BC7ACCBF96BC56C4A93F0F0E2AB990B9A16DC59544A359C0
+1053EB807CEDD81FAE05ECEB21A6CD0D68EC99FC69EA97B121FA189CB72AB522
+2BC463D5274A5260E208A66E6D5AE14ECCA328E3F888A6883368107249E8BFE9
+511D504A50488CAE2988BD34C694CA490EA0A0B71B565995BA19AFDC9C332C9C
+4C0437B5AEFE5043AFA8796B64BB80572E9A658F47A46ADBA0A53C3F5263E80F
+C0FD55067247A8BBD7A24D7FE0681F82678186957467B3AE7DD69A1B7071BA30
+A019C8A623D870511231C9BD91DF0444C126A3CFB3772E0973BF41FEF1DD96D4
+837AC41F35F1435F7DF971FF2571AFE0D8FFDE1DF2F1B25C7B366F94665DAB2C
+719BDF3EECB6CEFE02F8CE16B2AB553A755FA500E15216313B0BF06385C25528
+7CFB7D9EC4A83016FB8075941261F7A0FBA01E6AAA5DEF1EDCA0037756E4FF0D
+909A6321D1F0EA32A70AEA089647DF89121A373148F9982A926AFA4880AFD2B5
+C5E946BCF0CBC661DF6DE06A60E0680CBC9A6A856F119E57C9DE7B708B57C111
+4348040C914BCC3C88A986FBE2C7C77B7F2C1B039CD2518CC7218F0E68B52565
+47ED4BB997539E35A01E310306095E89A34E36629F57C6021AAD085BF5FD2BD2
+7CB4B9433139FCA7FEF5CE54BCE312B1ABCCADD14B8849B8FBC5EF6408A2743B
+CCD12BDCAA46859992DF6570EAE001A7C547EB8B56E7ECD9129DC0FDA0FE8D1C
+F25DF1565627FE33B9E8267F22B716A7441177964983F013093444BC07250E53
+6FDF5AE45FA0F43A48A5EB0A5AB25EAEC58D49B9049A26C94A024FBA51BD54BB
+E5107C9BF98543D2E659FCAC3F3C77BE77FE7BF9A9E4920A890F05B68B136257
+31C2A63231DA1A2F37EAFB8E429EABBCDF443D9740054D17E6C4C2A1DEB40E22
+612BC6773C291F60394CE50709FBAAA2BB433008D096B820157E5A90BE248C32
+DA05C2D63F8F7B8F855B2FC5A6780D10238E43246ACEF6494EB2D782351C322B
+422547CCF149F6438711B03001EEC2E2AFF843731E7C8B9A11248529485F861B
+5B438F4CAEC933B798141DDF608BF7BACA7D47D81D9A686F31AE208851867ED1
+E46981D3F4DBDEF5ACB0AA591DE4731F85F3B35BDEC868F54264E28B4C703CE4
+68F96D02CD9C66BA640F60CA9EDB4B3E853F9EB5ED8A9CFCFC95D904E9FF1E03
+20168B675206C15D6D99633BC15420271E1D0A16CA0DF900A2439C5275656893
+713B773D96EFD7B2A723E09A1D4CFD3151B93FD04919B0A9A5E56E1A7DB05819
+C972B98D565961710D9F0CF85A2753EEF25100D22ABACC983A9A6C11D0793C77
+7C51208DE9DC478BD0F191FAE21DEEF2B47085604D2C239460EF1940F5B6B240
+AD022B4BAB72D407671AC5D4A163A2B00CCB2F297F52A7DF633A79996BBB15D1
+F480CA95A00861A0F5CCB947824B77D8EC1BA9261B99EB2C3A8D6EB39CDE6F5D
+98AC095E31508B7260ACCC3F771C9424B0FEEB69B020B1C72B406C682E4E9B5A
+AE70BE2D455B0DDB83BA412AEB478CFF3749E9E4CA79202B282969FA7435FFA9
+CC67C4C42123DB9B65991F5D858AB4A67B53ED2D83CD4EB3E5BBFC14D402DF36
+8F85B77A90E5543608D6B0B5D496BC9EF2D5011A6EF57C962604438BB6B7C5A7
+AAA59BAAC719D12A7CEF3ECC264DCECB29E45DC291FCFB83E6BEC0AF11801421
+9CD3744C24067F824C77FFBDE35435E16ADD36308270066FF494886A13DC05B0
+F325E8A2C55B9A36963732519286FE3A00E5D59C05551CC7E38C97594C94E83C
+0A3F5D807E01BFB4BF37135BABF865225AFEB23E47D75834BDC22642678AD6FF
+3BC38BB3F33F0AE2EA9BE668B7D8A705EACF48059D2108255922C34661E867DA
+3747A99C7C765C0F88D0D6C7AF84750D04FA29AD801B34DCB798F181C7C34980
+478A8103A64394BEEFE49D2EA73E037EB2B09880E24E603FF6188DF37C43A306
+9006B33C0711C336BDD587326A3BB5C5D29D09FD9724D4073D595EF5AABFC06E
+DCB16F8E9FE165E2A603231EF503C8BC3F2535722FF1FDBB1BFA160225FB865D
+AA73E5B51DE27D61F26BF735C9BE6AE8EAED4356B9556FF31006719CCF5AA58A
+91A2CF7E71369E335DBBA261C186A92C3C219A4B899DB1078B06B96EA4D0C444
+48B2B64E8F939007E6ABA7821B925E9A3A5A04BE33B36C546205A4B86BAFD4DA
+86B635E6BBE0E09782D6BA5173906F8759FEB28DD5E00043BB62EAE4DB96DFFC
+3FA20BC81686D43AC82FC4A1E418B24E8308D40D87489108D2641E6948269B10
+BCF9619D4069A027B7E09EC4D05F202E64C3C1327588168A4011DE869D1E6780
+DA5C10FB83B424BC6CDE0652FE542BD081ABC30C8D294A04D410D997FFBA02A0
+E150BC3CC8413E381B256E926D2956607D05EB1282791736233DFDE7BFEB98AF
+18FA9EC712326F30A4BD0BCF3BE3D73C751FFACBE58431B44A53E5922EDE7A1B
+03F8E2C3F71A70DA5579A6C79FE22DD3CBD9FDD0F26E75C7912C3912B1B19DF7
+93FEA62A929736E723E7C525CB01FEF37A5008B665B9932FA2D26E1047872090
+535A8962B423C0D3A7C6AF41503572C06DFC0637C600B12D8B23F93C9777DEBF
+6FCBFFE8430A709E93626D5A7394102963669F3AD718A505E9B9A556FEA6962C
+CE41D69F5E017AFE2A41EA8974D6778AFFAD895CAD7C292FDBCDDE4504E152FA
+D0E315AA4E31EEBF9B6572138061DB77175F1DC0AFDA5837372A5EA42426D697
+84C9F986A34D05A68341C308E7875D4D1806ACB149C00AB86463AEF0934E9441
+606A0650DBCC8D794E33C368DA42F1BD337193DB17D279F06C1A375483847744
+E6C2782018F687F634777134A8E68859AE3A61888BC146BE26E9EAC8083E9D7F
+EC591DF2847C1CE6B466DB5A05ABF048235E0B1D7906C2960FAFCBF704358BD4
+F4856525DAB9C58FA5348F6E85580ED76F440715E25D872F6C0363612DEAF591
+6A8BC8AC44378B6549659B73B0BAD49A1BF4FA04DAF375F7311B9788946ED020
+8B246212B3668DABC759166459885F04C3A59D68B80EDA109BDB2D1523B18D94
+B5E2044ADD046A1CDE38673997823E79CA7414F126372549CE9F9CD47B5DBDCA
+DD897524B18033AF0CB04E21BAF952E7D9BA5DE9F3DE041D444C08F845AABDB4
+2D4A42DA4F29874DD9B2ECE6A7812AD01ACCC5C245DEEAF47B9D33F3E8B05C68
+A51E21B1F2A5746601CC69200F7C1CBDEF08036B0D392AC93A9D339A8B311728
+B2E37C7A7F098252E892ED698AA3E679AAC7FB4F8BD6A052B30B1AC12BB9AC96
+B6AA796C79C28155E70ABB018ECE7170D018B1AEBFB3E3E1F915C5176153E882
+784AF399AF15439A3E52F7751A33B0C840C32B711A736E4614807E7E386857E1
+87D227E2A3BBED127DB2CF6A84A3496BE2C2D2A40357FBF5B72028D708726260
+ECD5418264C0009ECC80472B0E28218C13EE65B533774D601A86108242A14F8A
+2B3B011F032EC9618DBAE721497035A60DE12887C57FBEA197B36AD94E03C948
+CC229AB85C200D785496F4B38C36EA8560F83783C6633F15D4668FC4362D7FBA
+A61A4E14C5B60DABF087C389AAFA41053B98736DF675D1CE2D1369B56EA8EE8F
+12044122E522FE9A489D6251E26E38B28D445E5827A20CF3C5AEC07A4BF40302
+3A1D9106EA76088D30EB921EB90D9B3FBBA18ED6FF6923B903A32BDAC5128387
+258220918EE014C4A2379C060205BC7D45722B6A21D820E6CFE458C5303F0796
+36EC7309F711990C1BC0EA0C0FC511B8561BFA74CD0F5AC9BA153EDAD2531581
+F3325C59FD9C73CAB132882EE147D830292220837AEC13C864B44CB79BC943B9
+A58BCE34CAB70922B38959001F9A1851427A174576FE9BA944D2BD56ADE4B0FA
+80E311C321DF356A88A9A401F3F6F1957F73A10726F8473AFA9C28C81A7CF382
+9FC8336812DE5ED38D2366BC58301669F5CFA7AE99F7912E06A4343383B5F4E9
+706F519C6D65FCBB66F5A1BD0C36D523A42F9E28B7C3B4BFBA9918A66C12CABC
+786EC9BC73F82F141FBD837E8F9D9E1C4E083E6E00E57786E13128747183F5DA
+A049C73396DB206D2CB2DFD593C37FCFC563F3479CAFDF1F57B012DB596793A8
+73BC08607620077991F13B7BD66DD573A86F605CBE308EDB0E23A9175CF03359
+0E3946E1FADEACC1141D71A0C9F9E0C093EABE2F55C3422C259B2646D6A20300
+03A9380B54C533346C14AA7564414983409DD9E76E1D6BA04A18CDE5E4DF79BD
+03BF5EB4ACF4B60081F8ECBD049A402E4935B7390F0C33EAD610CC84F155B1AB
+69D9DF881AAAF17997029B34E0E9453B952C43F6B6744D9ED373F79CFC2D5250
+C3CE02C5E490600966AA9CD8D6787D6F0493D9A16DE94C34DEEEE2E634D5AAF2
+3E8080B9F347D0D40D112906A3DF0B4223A4348F58736462CEEB76EE1D678C28
+ADAF46AE0ED2D4F3D5599398E6E3DF792475FCFA4A751E398D4DB71CAFB39C59
+0A38C2952483D00454EFBADB2725CC71DB513FC1C067840C6CCBE1A5416E6836
+09557C0435084E9F5E0A316185251A7948E67706140496F730B3CEB37A0B96A4
+39B9D62E2A1BC32516D26DC3C45D00E7553B8F8F3ACB2F03B60381B60F2DAA2A
+3D512897CB5A4FD0A59C45E32AD6503A99D5A75CFA90D4E786ED9102170530A7
+781F75429AE774418F78E0D6629AE9E6148D99F71115AEDAFC6C9FCC590B956C
+562F4A1337344A5E0D7ACA076BAA008E389A9D281A3C9738F49394F3E23A6BA8
+BC62D7B0566D2C24A367E7D3C1AEBEF5014D8050BF1950865071E2E1403CB972
+3BE007D6F7CA30F04E57834AA19E1E967C6E770881CE27EA48B171E651E75DA7
+628B68BCA031EA13AA31E08ADFC33CAC7D1A270599B5F5CC00702D510F4DADF9
+F89D57F1366BC7D85313FA73C89228C75E50AC2397986C33646F61F2548302D8
+6337F84E957D01013431576CD9C6C5D2F082CD971CFF2EFD7872F35FAB90BD14
+EE4CC0B1A749EEBF09A34F860CA3C86B6B70BE35F2618EBC832A68016C9CD282
+CE74117531E8FAD950C8C7E1504D83E90A5A95E50994959620A6AA5A489F3854
+117323F2DDEB30B54C0390A13BC026575296E6FE94FB4508C2776FCF7B77DB22
+BB753A440A3670463EE87DD0427A4B3D2E2FAC95B99DB90DA35A6C2B585E6F40
+41E2094A07B40B29F16A9662C7FD3575A8E9BB5DD5D2C23BCC45FD8B75F5BC28
+9BE8457BA91D06174D9F7C116816851F86A50500DBAA7383019C9C5A52DD7714
+9AAD3B92385F884BC057977EAE8DE2329888B245330B9FDE301CA4F09C06465F
+677A7DE41712E376694BC097360D2F635CED53145AF9569605B959092FD976F1
+6B0147DD63F13EC750B93DD35E5C6A9DB94D4375EBA0C642B73879566D7A6537
+AFD9A31635724B8FB58AB20762432F428EA1E4DEC18461DE313663CDC969426C
+35EDCA2658924918E721E9AFE04EEA210AA7D0FB3A2DCB38F224BEE6F0639373
+D4D69396E90C076E0B812171CE37B1BE7BE7818E1A910AF8609AF49EB2650673
+6C25FB6E3E86868E833FAFDACD2A97765E395D6F1E252CA311A16A1509B3E84A
+ABF4AA15DA4158D971E0D4DF3FAB415B03092A98F7C07B5FBC45499644BEFADD
+2EAA13C18685F4E4EF3D3D43C92AB9B42D2870C339ABC6CBA3C27ABA38C5D135
+DEF3B16CA1E75A3B9573D7067DD390CAB3F9DA7C2E67833325DC57D39B1DCD44
+8DFF73C0E89281077F529884A9A256B78DF1F8E0871A5EC1FFE2A5DE7BFCB468
+9D6C5E48620EA68CA19C5D18901C3032ABC42B8B3A301F8DD314512CF904F479
+EDFF66D5904D0068E43933C6C46FDD05B2B984496E8E53BC6A96AD60C6CC21DC
+BE657CB2AE8839DEE243E7946A368665FC6EB84262B41815C1908B78C0589C8D
+D34759D4EA392F2B94AC20259BE1298500550B6C74547FDA814DC31722DEF159
+650C13BDCA71E908182BAD4FF83443668EDAD752CE0C4E244300F1A897D9DF45
+8DB4FB909C1036B8FA7AA98626732F69F024E0D96E7F40B19AA55E339C15DA8E
+D7053F237207D0639C2877254C59814E884E08E667EA3FA9EACE080454761E73
+F70ACBE3700699F6802088D73E73C485EAE9E64B58BC4D6A8E881DBA71E00191
+F3AA92053588E73C9084746CE792C0AF8CE34B24825AC8976AC3BD12460520BD
+EDCF4F2A8DB299E94992967FCF870128AA9A2E7747A42299CBED9D3E8817A6DF
+4CB839643999FB2B8C3CDA64C1B25CB64CAD99361B8EDDFC68FC83EDC5CA82EE
+0BDF48E4D33BC139CC43DCD04B2B2642ACACCB99E7A44724D6C804BBCC0CB2B5
+381AE4D122E243BC29D3A8F1681D5EB106A4DA37F650BB761CA7FC7BF5B47B62
+F2C8E2347F0ADEE421B64B5ADB4BE6D80F1C582BCD18B92A79C2ED805EF83D9D
+C9ED83166117B9552A061433BA10F87C39AE2ACC945C1BC8BF24762F9F2C7D83
+7A367489D75E0F6AC4F59F8C867E36F488FDE8DE50660156F26FD013BA3C90A5
+76EC94F0FE765090E78C13CE984BCB2C5245F44E9149400DC6AAAAB3E320680D
+1C934A07436D45E591722FF154BD143ED9F074CC8D244530D1BCDBF77A708DF5
+A42907A3EBBF807D03AEC70B39F47B55F91870C5978E21658520E8BD3A2CF6D9
+030A32493F390BE775B4B6B6122F774286BC20D7C6A5C9EAA6B197B7F7C0E9F8
+A4A4BFDFE26BADE0C342DCBC9FCDADB64B565A50FBC8583D3A6E55993CB3DAF7
+3AAB1E30B48DC16472BFE4D7960659526B3CBDB3EB4DE3EAA8D84438B38CBC70
+2898F3B043E97C5BA639E38C5DE3C94946AF6CA31BE291A4333A6C1B7AE6924E
+123FEC09B9624040126C54157B4A255CBD2314518E3A40709449851B79B82CCB
+A2E6811922CF7EC6F6A9C1D2EC2F23E8F1E2F85B6F886139459554FF0609E2DD
+419BAAAAB1EDB9BBBDB1A6387F40260C6D3A72EC49D9706585996317BCD845F3
+09F0CD17B82EBD7EFE1150C45437689A276C5F31B537A70FE42C1F35B4879280
+A06841FDFFD2056300331E5BDC2DCF285883247A5ED6376FEBF879CC3A8228BE
+2AB9ED6EB579CB54FDE0116A68889D37B0DE18F3EFC83B0ECE49CC63BFE00BBF
+7E1088318F4D429CCC6212B6D6C43EB151D35FB8D4898DDF7C07465D45237817
+FB7185D719298F94D9E547ACD938095CB2BDB9247EBD57DD2E86D04744E760AE
+25BFC68141C64C7D23C5A9BF99791B71B9A2FDF3C0884F4AFE3CED51DDF04FB3
+EC9D8DCB4944A7791E40BF0FEBE2E1D80BA85569F4239EC337C013592FFEA905
+10E429746B2106108FDBF48C407C82D66D5D87886520F1538A9CFCCD7083F6A6
+D1F86588814E0707291AD77BBFC281C7B65A0CF008864BEDA5F11718C43ED544
+C767142BE54C640E2040BEC5D7367E8FF22FA9D839BC807001BF73528ECB7FA3
+3CB2207F127206FED87645803D9BAC5E8ECA8E8BC452586F8EC22168DEE55BF8
+E7CB5AEC4085B3E25C46138E3E8A98552752ABD6B4F8544E80067B5970565681
+A0F39BBEF5E3DFD3B79C052C6436586A9683FDA79DEC1491ED109517E3881FCD
+FED3B5010F685C24DBE34E0CB63372E16907D843A794F445D5579517A64CB508
+B01B2C2DE005E05B4D01E46357F5A405B441DD492DBF7A959933932518F26DDC
+62AC159B40C6B8E840146676138308A8D67683278C19FAFC7ABD1B9EF85DD21B
+40AE84A583BBF306AE3AC4BDE1985CF1E8EB58F037F2BED81C8CAEAE51FBD20F
+9251DDF379A40883A1C82CB8FAE99A3E18C471CF9A7C4BF127ED1B417842057F
+7647123712ADF67936F19A01FC648D69E2817422FE5890D13ACA1B7A22CE84AC
+FAD664800CF12AABFD3A891075C60B8602091298B42A5DE5C8BAFBCAD0B04762
+2F7D22A591AD4FDCE0B3B70C10AEA586511955989F55FC26961E6D1E2CA8CBD0
+278CECD6F7719B835F12E8AE27C7EA54BD83F367F5C20614FEAAB3BCF416B273
+4EA6F437442CCE904A40144981A55CA8EF59453CA378EB5161CFC1994A742BB7
+5E1CA866BA9EB123C3D4BBB76713A9A6B93611A233CAAA321E426D98E481C29F
+589E51833C6278451EBF621B7F981B96164BCBE69C47B2D5D7EC4141E62F61FA
+EF6669278B430A9AEEA910F8FEFD454178D63C9BEC694A79CFC94E413947986E
+E03A7A290A4FA3515539F8C14A5DEABE164D28BF5500AE9A6DD84AC56F87B024
+CF83FC1299F514A6A879E5B7FB45CD52F6390F888B5CBA28BA3A14CED46C1062
+8BC5E05BD9A1117720211165EDA80F48267E8D1E5775E09772041B5F052DE32C
+8FFBEB70CD8DBF01E9CBA4DAFD2AF4E44EF05E8DF2EDFC1B920FB83BCB147526
+1CEBF3B3D75AF9BDCDFF081CED6541D9DC32246E24945D724DC1F6F8C1113FCE
+29999903098B4F84DEC6C4F882DCC5BE44F6A9A077A84CCD2A6A2E0D290A571A
+16A61CEBF9D64CCA429D7D6604B3EE3FBE01A3C1BE841F4AFAF63DBC7E26A67B
+8C8C6549D6FEB8E45CF8904341B7C279B9B8E4E683B7076BF925998A123A1440
+2A8071214BC24699040624EEC902F55BA0BE2B2C99962A765AFC51D29575351E
+8BD44A480E95112DA49F8BD405967FC8C12352F766498A847560582CEF4DE75D
+BA4F8C1F4B42D1BC32D6CDAC8B596DC7C5A8BDAF7B74412EF2DAC7721A9F6352
+83AA212C6522B0F4F25D51FE4B2FB032ECA88CAC112C115FC19C5765C1115CB0
+9262BA4C55F760AAF4A11F12EAA146470A4DB6C79CE56E80098738A6D9F892E6
+0A91B30F1801A86D537B7B5D061029E62F08E93EEBC0B56BC1BBAEDBD78F0614
+FD4825A43276D223BD493CF558FDC6207B36A39648E68E6B17251767892A542C
+B39DEC514D12CB8CF895DDABB829256AA29C5AF02B96348959944D6C97BE5BAA
+5F3620B514A6BD5A310476D9D3BF80F361CD531A7972FE0CAFF59FEA45D517DC
+0E46FDE22860CE37F8A9C13EBA2C093A40DD4F86EE760AA43A500194EA5AAA9D
+D0549F2D3071CEBAD7EB9D2112CC910586DC022342D0B8858AAFEAAD82C6DC36
+F2D6F78A8F1B0C360239C586ED511BB5301C074B27F94651521976CCE9E1CA83
+3903752BC8195047DFA846259325A9629E5630B3200D16A259789E184BC91FC0
+F2ACBB673A7F0420EB58A04DD4EDD1E8070E442A59C383D9E7689820319242E1
+1B92456B6AC03C89B8EFF42E7E7870D48F1A733F95CE3E604F65630EE016AE88
+3D39859EE3B869B53D8DBE0A9093EF247D53A7B7EC5D35334681F357056EDCC4
+62BE002A49367F2CA351942363493891220B00713C38D31CD9A974D2F08F3F22
+410D4BD87B79E20D6AC667832EA25E410DC594EA91B0BFF912BF6268DC7F4625
+2337E04D29D90F1A8EB0AD7FD00B9C3D242A73072DAF4844A53EE698C367AC52
+B8274F9B95A48FC52988F9D5F3243507C1BF3863385FEDA1BC97CEDA7B9B6521
+D9BCF64CA2B88CC697601F1B5898DF5D07BF064012207B5EF5C349637FF0618F
+B97FE94990E42CA0D75CE9670E8C467B49ED55A329B95A14D79012E46746EE42
+AE646F3B99CD57E7996737D502D1064BEBF1F1AA1DD726162E32EF1B48AF03C1
+17D6C86B4D1457ADA3759EDDBA0E78EEF0324976CF8D31D0DC68C4DC69DF5888
+BA6C6E7B37218596825F013ADA779158999F8C8FEF9B828C3074E412CDBC4F55
+8B3B18ECBCBAA9DCC0A2FF8ABC86D2D84EC138986A37D4767FC1DA395A775220
+8D27042583CD3A6885A07E2D8CD14603A53B1A21B27C331AE63957A559A66D69
+CA94CD5BCAB722ED44DA9412FAF5F6F112CD6F5D8B50FE80025787D9E324822E
+541D485498271A1F082F0D35F3D9492839298DE8B922CCDCD2D3ED1574A0DA23
+0FCA83FB62BA4617639929A43234876B7E50D658AE61B0FD15F6F4B789252BA6
+47CA59784F1C6E225AE4CBAB87C871CD72BF1CB830A39956FEC9FFA4908028A3
+2069B43A35672917070C98F4AD43A62DE79301A035205237C1E0E9F8CBB9BC7A
+F57013EBF816EF9DDCC0C9DA49508195925FBEC09A4A7964672E7524BB503DDF
+FC734B8BA116B1BE25BAF5290A8819DD2AB2FA94BFA0D9463B2FCEFE2F9CC2C3
+362B2A738070B39ECD6AB0FD299E6B64BFE25054904BBCE3015D70532836A6B0
+ECDE5F04DF46AE1399A2F4B506EA029C0F0BCBF366C1928DE388A8DEC79C4E21
+31845F4A75F706C0BD4BB929A2600BAFA08BCD6734A73C59DA145A66797A2404
+7626CCD5E8B287B1F6D5629E3B3BFF320F91403BCA38FC73BBA882D94B30284F
+694A2DF5BC3C7762842DA0D072C4EAA4EA2EAF4F29B4EB59E473789552FD9A29
+637029E849322884CDB3F50EE84F33BDA5CF8D940445A6E8605AAD0A46C5406A
+04C4FDD7133997266921F3EE980161841337090D127DF03F34AF77B9BF60010A
+129C9760B71E55F8A1C09C55A01A154969EA3A7641C8F73EC48003DA57758E6C
+F81FA2808A49BC10AC66818EC2321AA8CB39A49E44F891BA9A06153FD4649095
+ECA8ACD3E692977B94105AFE083FC090E610E3DC57AEB7C5944FDCA7756BFB7D
+34877C72D38ED5015000220D81686D3287AB89BBA64B007DC25CB4A6D6A75862
+28D3FEA9E6B95D54B2ED1AB3568111C84CBBEFD45CC0DE8E86A2CAC84AC066F9
+B619BEB0BC881BF51D2E3E63B9AC95010FEE166D815B3D4A9832A7891E56C2F7
+34F459081D07B2FF7DD537A724B9B29D37725D94CDF7FB8C0CF83409F29D7DC1
+7345E7B5A66C2D41FB242E2F37E7FB1433298EBF6283914C908AC2BA6F124608
+7D67B247A38EAEE3FA5C80AB78E9E234F0FDFF082F3CF3CEFD4A638022F3675A
+BDEBF1FB7E1182CBDDB02BE26F81935268E9F7FB5B445ECC31DDAC5D7615D3F0
+F7A67FDA2DC741C2B0BEA47086C9F3384FB5B6B5DB4407DF6C0B639025EB7DE7
+9EB85A13AF12B8D1F85932FFC87C70052CA0E2D0A916333232F0C570A048E318
+C2E59CD67E649E451EDB62DD4D5763B22581D43DF50DA72D6374B96F06D4B5FB
+A2BF3EF609F8C9A74E37E65C38E398B1768AD59F5DC67C91E9C4DF618C201F71
+E1302D238E99D3C511EE52F9FAE664F984AF22CEF9F3ADF13D36FB1218C6D384
+296E7AFDFC0BB6ACFA0AF5B3572328192E82797681A10DE036501EF80BA166CB
+244D312D042F32F12D8A849AEEBC1E4B6026851E1C2B9F4081BCCF5445B6660B
+8E66A47214D3E39C68DE0FA26B6D5656716967A9A3646B6E2916647985199AC3
+9727B581E8B1B313D36F5A237030965A4129743DAEE19509A557118212026937
+45646A77F6E2CD6E2EEE0832F056DE348FE0888AD47ED0FF91E6B7E43958B440
+8217FF563C28AF954F2669EF3CC630C4F4BF782F3EBE4BE174A2D14C5EB57CC9
+9776628BB77A213D36D96696E6BA5FEAB8455F36BDAE26EA2B5F341A309A8166
+095A826D8E788CB44B7688F4CD2D86278D130B9250CA25F25B60BC1E5E6A4449
+F718DC6F4316EC61E863C2D69810ECC143B134929B21BFD5CD718EA28658661F
+1823E20BB65653CE5678B8A44E66A6D75DE1EA612D492F52CB1DB757CD8504C0
+04899BC85E53BE683FF8BE68EB1458CB45E71339BE3C569C01675E13627E8E1B
+498D6EFB5EABDCAAB2B6A4298FBBE7C4F33887B1B17E9243E386B4F51257C584
+6800EB53B7D324A6B06E3ADFCFA315C1DD509730DA5CB68CD4DAFCFF51F401DB
+9E8CE303B3707D635AAC3BB630F8CDF2AE8F9868DBA9CEEF483F2BF9FD2582A2
+4902F90A1C5B92E30F507E2B34E760D2E2D6C500B2CA6FC6F8A1F70C69641295
+0C4AE3E39F585AC52727C62480C7F8538C7E5793809D4DAA2375ADC2B523C5FD
+6C0A20CAF26FC974CBFAA310F7094B4EA5DB158C17C1D116DE562D42CCA8AE85
+553F65D6EE166EB08A30F1D86AAA7FCD86F37FE98B1FD86D42DCBA22D5AE708E
+D3D2D120C0A30820752AAB84018FC498F67A493019E0BB9301B04B403A370B02
+4D1061B0451D3B5A6E4C8AE111E07A6C5802255F0C716FC7BEA55EDBEE20AEBA
+6FD7250847E18AAAF41E0B7008C01C7721A7AD6F739AE1A79D1105D3DFEC7711
+A5CF05D7BFC28AA27FFD1EDFEFB706CAF476463B3776424B1F7F8E0A9C9E71AF
+A7C08C94636D74BFFE5CEA7AAF219DBE41DFFC3188983B9263A8AE1ED2B07F99
+5482A6C02577535863D2E9632EA2729ADBD4D5B6F26E300EB093E20CC341AEF4
+134AB90BEB7E6EE96BE51B2B369F57F26E05260626504CC5D124137EC8EFFE68
+4EB3BDD8E5612B35B4AB36D1C5D351D4EB505289DB20F3CF5DE9ADA6E248CA0F
+ED03ED6DAE1F87D72F2A12E709DDE5DD5BE463C6D37293E7757D310887AEF858
+C77B640E0AED544F8AAABC3DB13A53E1733935BDAE204F4D5DA0B78A5E1F095D
+0142F8A7B733E2810B35078BAD71CB81C38FA4AA55FD5ADFB75DCB8028074C0B
+9908387ACED66DB0E276A3DF185C9767DE2EF1416C06A18473F364EA8EA95379
+504522446EFA99061121BB82284A19A86A25BF9EE137EFBC6860A3A0E742793D
+3354890CE8E27287D376E0741FD56F9E1D267FB1BF4529EA7C741C07CBA7CB10
+E579C1FF0C6C79998E878C1D77005D3CAD64BB44D2A569B6263C047FA4C5E6FD
+A8F5DE9C7789813726B4B4CDFF1BB42E3D170639C25DCB87A51394B4BF980C18
+CBE6FBE545B60E648C9CC123C76CF0747DF0608DB71A896203D46746511FE16E
+6A9992318489A53521D0C39E13B161CE7CF1CDC0B4F496298C87CB2236BE32BA
+37D7A7BBF573AD8A58111F53990F8D894AF5DF8D3DA1CBAE0D5FCC1D3DE945A2
+D1B66BF07B6D07CADB63646479E790B667C063FDAB3FAEBBAE91352357AAA4EA
+71AF012052ECBE5012A889A8E87CFFDFE91B144948EA0692F389B40880F52072
+6EBBD95DD71439F0B20E6539AB27F19FDDC2EE9C2FBF2F343E4B3BBB55326878
+EF4551B426DCEDFA238AD4D9F217EF242C801466F7CC109F44189719ABE37170
+DC219172DC422EB3ACD828F381437D1E521B2CC5C208C4E1806671912B198DC4
+2B6BD090C443420EDB377A04E95AE613DBF39608CB0EB1FCD9FFC310AC33B46A
+101C44AFBB5AD7E393CDBF13C02894EB1999E25390EF0834FFD74395ADC9DE47
+55C2962AE9B64B227777A76CE7223E56F70AAB580474EC1480A80F4488F1EDD4
+E88E48F963563D00E650C8FAD93F0B322467863982DA3FC340C0665EAB586975
+70604B7D14C85A3F9D4A9E35CC1B064C93B63B52E73F18EAAA30CEA0F5BA0588
+934BB8402DA346C060C2CD5D1F9CF86F531C519BE17CAAAC99E70122E5D7FD42
+9D18B92C82894112786DB1C19EF81411EF852B9F6C2957705A18
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+cleartomark
+%%EndFont
+%%BeginFont: CMTI10
+%!PS-AdobeFont-1.1: CMTI10 1.00B
+%%CreationDate: 1992 Feb 19 19:56:16
+% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
+11 dict begin
+/FontInfo 7 dict dup begin
+/version (1.00B) readonly def
+/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
+/FullName (CMTI10) readonly def
+/FamilyName (Computer Modern) readonly def
+/Weight (Medium) readonly def
+/ItalicAngle -14.04 def
+/isFixedPitch false def
+end readonly def
+/FontName /CMTI10 def
+/PaintType 0 def
+/FontType 1 def
+/FontMatrix [0.001 0 0 0.001 0 0] readonly def
+/Encoding 256 array
+0 1 255 {1 index exch /.notdef put} for
+dup 0 /.notdef put
+readonly def
+/FontBBox{-163 -250 1146 969}readonly def
+/UniqueID 5000828 def
+currentdict end
+currentfile eexec
+D9D66F633B846A97B686A97E45A3D0AA0529731C99A784CCBE85B4993B2EEBDE
+3B12D472B7CF54651EF21185116A69AB1096ED4BAD2F646635E019B6417CC77B
+532F85D811C70D1429A19A5307EF63EB5C5E02C89FC6C20F6D9D89E7D91FE470
+B72BEFDA23F5DF76BE05AF4CE93137A219ED8A04A9D7D6FDF37E6B7FCDE0D90B
+986423E5960A5D9FBB4C956556E8DF90CBFAEC476FA36FD9A5C8175C9AF513FE
+D919C2DDD26BDC0D99398B9F4D03D5993DFC0930297866E1CD0A319B6B1FD958
+9E3948FFB0B4E70F212EC976D65099D84E0D37A7A771C3101D6AD26A0513378F
+21EC3643079EECE0C9AB54B4772E5DCA82D0D4ACC7F42FB493AA04A3BF4A1BD6
+06ECE186315DBE9CFDCB1A0303E8D3E83027CD3AFA8F0BD466A8E8CA0E7164CF
+55B332FAD43482748DD4A1CB3F40CB1F5E67192B8216A0D8FE30F9F05BF016F5
+B5CC130A4B0796EE065495422FBA55BEE9BFD99D04464D987AC4D237C208FA86
+0B112E55CE7B3782A34BC22E3DE31755D9AFF19E490C8E43B85E17ECE87FA8B9
+1485831624D24F37C39BF9972D74E6EC4784727AC00B9C4A3AD3DA1C22BD6961
+7E0ADAF55422F22ACA5E4DCD4DF9FCD187A566B7FB661D0530454D0DD6C6C50A
+7A3875C6CBF8EC7769F32A1F3F7FC1C072BADEC97794D4E90E0035282A170402
+356E5A9CD9ABD80AC4342A5283E458A7269252F4541CBB6452B39ED54D336D0B
+19928E9CD1AB26AD83EB209E2EC75011A2643813053B5DBB0246097C4821B5F2
+C92554E9140BE35B2DBFCD98809A8EC9FC910FDE9E0D86457C70ACB056EBF90F
+244DC0A5BBD455E15D6E3180311D52CF50B0BF7D0A7F64F3A1821E0AEDBC2E7B
+AEB549FE1D51088C153799C6E089B5D5D65E1C4E2D2B430CDF1FFA23CCB25D95
+5C4DD885310A706B320AB25C8D742C6F29953254FA54DAAEE60ED477877D19BC
+D28E9AB576B0EA088171FD000B60D73B3C57F754BC07EBC9BF751B7D2B32459D
+993861B7C4B0D98C422A11BECEF76F4EFC0ECAEE89723E6CED53E3678D733363
+2DF068AEF0FE7DFB57393BDAA439A6A4C396F86032A98009EAE1247B7DE83B3B
+E46DF2898598FF5E6CA6953127432A967E4FD41CDD60D6E413059A58FA556EF3
+309178B57C16A763CFC9BEEC276944BDEA255789EF4E1ECDE1EA43EEDB955513
+F42EDDCF39AE522A1DC2DC523F046EEC4CCAE25792B702C288732F5B13B5CCE7
+E8B6A1A1DB86B1EA38883E481BEAB54023EDD9BB94E7780DEEA577ADAA169E66
+AB7D8607B409619E79F242CF52E618AC0DAE43317C507CDB27EA8A1472D4E8D9
+17E62C98DFB049C78AD15560CE44A39581BD6B555165091C5D41071212A9D2E3
+05965AA02B8A67AEB04D915DADC1B84A531A1D672AAA06E9F720BA88419A3183
+63D1F9A3BEF8CB2E23CD1F9C003BD7849F093D3B4C83C153A5A790C1F9E37948
+5799C02F004C61A6FFDEAA1F9AE884DDD40DEB1539CFE3C3BE03C7C33CB54D56
+2C2A0F467049797B56D407AA43EE6B8C3F978A7D945A80BF711C12D6BFFA3DED
+35FA8B22E68BBE4FEC59E4C56D3C57E14995A8ADFA51CC6C3A84D3D775CAFA87
+A1A0F45C0283139FB485B8FB0BEF5232494C0CB564F966DFE0D0566031392619
+3FE8F0BB6747BDA591DFB26132947872D3B209FFD838A17EB1D5047FF880E7CA
+28BA81889AB0DEC353C3435B95D95C2F085D4137A62F570CDEB16C44DBB361AE
+83DE118ADA0DA5161C826F65DC8323D7D8C9CC860FDA7ED795EAA20B1CC97FA8
+AF8EA786924702E9D7923D38C729D4CF51F3FA68583E9CEFE4C7E2C46F7E343A
+78D6B6DFF1CE99695B525932A36FCAE65CBF8CA33F19B5FCC65501732575ADB7
+75275A8B076C41B49F6B9DD98CCEE4248EA55F396FF5FD3F2C535A291657FFAF
+9F8670C5806792CAB5FA50A235A9D2E5357D8D8A0E05A75A790249CF09AD48B6
+05FA7E9A8751BF2EF4D2AA0222D20E405D2471F19DE6D58FAEF624A437902362
+5D81178CD62290E4B519BB1C5003AD7D7FE7A42A48F04D640C744AD138C159C5
+0F88C3FB95A0E541777EA35C392F09182FD45847263DCE59588AC86D95FBB79D
+BCDABA5CE37C217572D6E450C20DC0E84E25EDE104ED8B8E840530134214F0BF
+BBB2EFE76225C286D3FF468E55477CB868CA563C7D28C94733A75DB8947B510A
+3F4699FCE22CBFF8C01FC6286CB0F64415BD65CCE6A80B84CA751BCEBF315BCB
+A3675338D53AAC627C2DAB1F230D056CCF017CFC0DD87A3A47CFC0C126D408B7
+4DD99F2DF57DB3330681F0F9E215366B38CF48284DECEA833DAAC926EBE5A535
+86F0EFA4474CB1AC1DEE03AEA22D5AE1484355BCD2E6B5A715F1BE34FFDC7E25
+5011233239AEE2C49A61AEE7B63068F3FCCE4D8C498E120BA9B13DF0A067285E
+49887B2653BE88CF91C6239FEC6192E9DB3A0EF33095056CB4D28588028D61EF
+16D171D79CC6A01C4C8983D992C72179D08666AA484F8842335B3F348373B5D3
+4284A7168B38B18DBED86BB8E87569A61337D79303F889DE30E1E3EB8A9F59E7
+A5FBE8AD4FA13CAE431276AA758B55DAFB8087E3B4B5BDA6F4E491E32010F7DA
+1622BAA5796897149FD7A0078B9736039D38E61B3F45DFB9A59791207157B4E1
+A9B7A6ED061DD169A3DBE6AEBB360102A01A4A9A939D5B1B4D88354435384C01
+D90646D9FA33F52A6F51AE7BC3C20FD35400B7EB9E0DEF902DCD5C683A812E0C
+317BCE806452BAF0B635924B29155908F9E398DC842325E7A805CFBBECC780E8
+858C4E651DB3F21D7C2A7B0A136320959B4CE6648C443AD58D8940E892160AE4
+EAC7A410773E0447C1AD979935B5FCBD2AD2A4700E60F5C7B2DC3B6F952307A2
+284241E23617650AC6F7D4699032B7AE2A33429A74EEB3147CA630BBCF023F57
+0760E9EAE801D873707FABFB28F845993C74AFC7DDDA61616273420E40D441F0
+87E195147C084FD24F5ABC665BC8404927DE8C7FC1AD3905336D6B5C270AF89B
+E30DC11A608A6CCE6BCBE3965B99462E74F4104B025134F94F9CAF6355CF48EE
+36A0E6E93B01C8A47B6E25801AC20A70055EA99BE72E82781EE7762CECAB33F4
+5D2D49CF6A3762310C0926D9EB6D02EFCAE6AE0F19C90F9EADEE2147665594A1
+61D1F4BFB9F9F026638A63392DF68995369084E8878D0DDECFB9014051A63949
+10A7E2EF46B2E13A6156C7EBC5953AF095AC1DD4D0046E4C5BD5AD4AB5551DFD
+FC79F4B1CB623F49131D78C0EBFABA072734D63AD9060418DA63E769B555D7C5
+503DE5766C2E8E58F18972DA3A971E059D617B6C87BE20C0D7F35C6DB48A87B9
+479E2DC34D28F52E7581E1500ACE5D297FAD917497329D2C861DE6CCDE674AC6
+709F1560B9A3815A137C94B3656A9530C94A8E93F785D1F3D3C6D6B572249C54
+8096B03616551E37F33EEEBB6E8F51487798BB139BF82DFD0B920F30FF3CEA03
+9337A75AE908C570BC7DD9BA08C06A580DC513383EE610E916988B2CE823374F
+24394F119F5CE5B07E764FCBF963378288A5250EDDC7D91DF02F7D5B46F45217
+F7B52D7F80F82E0C909BDA40B366D02E85D35F2C3165B5D13BFDA6C394093EB9
+22AC1D7417C2D8AF50B8EF4C4331FC7C1966BE7F1F9F50847A52CCA3607BE7BF
+6508E15283A54B1532BFC2F35597A006CE5427FF7C114B80BD33B58FE42C811D
+6706A12A615F4B7BC1CB26E1D686ECB4FF2A962F76D5E946EA5C934650BF0816
+988D09E7B49917BC4B33F68982A6D6A0C91A86CF1ADF26EC250FA56FB73813B1
+79475C929EE854F49CB11190E94A9173E7C78A65ECAD54643127F8D64F84FAEA
+A6E31E14C146A3A3C6DC59D0C29C4C7916E6D2B60B17650AA80EEE170ACE051B
+7AD90FED27278C197B82954E63C566AB102CBDF0FA581117782F3A6ADF241ADE
+7826CFEEF17961FF5C4EE4BD84C45047A300648F4EC19FDA8212292DBC54B027
+901EDC9AAB0D6F5274A1A20CAF591A4B2598409676C9DD3522515458F226C946
+7C05F4D88915BD2C149A025027281C92C6EBA700B57EAE12702BFA3D03F5D079
+A58999697C16E18F99865FF93ABDA0EA4D01AD8C14BFE3944704AB250D9E7D58
+B4E2811DA6C1C1AD351EA15A23AC406F2395F1FD1301F23AEA6CE23A8EC34BB6
+032AB1C4B6F3E748FE852BE0C044E07852579E6D0A84B72CDD725ADA718AC14C
+DE1FF077D87D37D7282166BE35BE1D6AC4D0C40A0C11852F3F9001BC78E2BC78
+35D0B4CBE6965C515002320BDA2721D4968C1835406680A72A0B02B6D83329BD
+DB81D24FFA508AA58C8A509C18D9854CB4645A7C05460297B32A2FF9AD1D2F57
+4828A85DDD879B7596564425611A023FEBA4859F1080B4F4AACF4565A152697A
+FFE891139F18DB6691D2C9CC4B10DF957FCCED4CDE00DB326382676C38F25E8E
+759955441A70DE8F722915822357183302742447D892C56CDD3E74D007BCB5B2
+27B25D0507053F4EDB0BC66289C83A47B4633FCAB7E626AD5AAD6D24BB252F52
+176F6F32826442D59D2195B2A7F5DD540599229A6CC6371D4D94422E31A64047
+029DA906D2BDB4B267851488C22347845B0BB402C8A97E7E5E133D8917236A1C
+30806D41551582E7C728AC0FB480C255EC810266DE7B46E52A6423579CBFC06E
+C8E2FF9FF00EF9FCC51FBB22DE4428E280CE1FD5241CCBF81070486A0DB9536F
+B6BF451F7C706EE44D37A0D78793D24CE9049BF285C1DC9AEB61BEED88C4CDF5
+D3BFFED602B26D4B3788E171579289859313C918CBF70EF8F655CD4FB73C514A
+A34BCFB555B6BD835FA0B80997608E9F938257050F1673AE03E6B4C6F96045AA
+A8FE116B8A9C0295D34802D22528B80EDCA6AC2C5CFCD57E12F12ECA8C0BDD0E
+EF7F3B6F4EC14C3A9C68ADB70B6454CDDDCD3181DDA00BB3A9DDE3C64F162D0A
+9250AAB836AF3F3C71589E1DE6B542E9D82B1266E23046AF5A57A7FD5A3EBA92
+B137FA2161E97A54B5C472BD23CF56F3936DAF5C468AB88A6B587226829516C7
+71BCD7CF1D3DD40CEC1A6F7895DC95C9C9BF1A571878036428A9A42E9B363EE8
+64FE7D1473CF558A246F0921C3257F0EDC4EC2C1FE4E342011AA9CFA4472204C
+CA1DF74F5BF01A3D0F518FBD76194711589E02F3F5290599E0F066F617B8F0DF
+6C9196A71F091B8D7A8FA8A72E907EFD9821E1A023FA4583B1BFE762A07CB409
+FE74B4CE4A642AE77B5FFAE5FD7D65A1C03EF6FB31264EE51BCA46A8927907F3
+AD83EC5B5337F738F44E204BB64FE063A8C7738F217BA319F23FDC8A65610014
+D99A05449EC21CECBEB27602F66708B1207810BB167AD4D4FA4AF54767A35B1F
+B17454FD0D82F04386A595397E2246ED339259A4B70854BAF3F41500CD1FA69F
+799BEB5C6FF670D4E0623B2385D545E2F46436FDFEE4F37DE68308BC86551E26
+0DAA88D7A8E54B4E5FAA94B88E322EC04542C3F8C9AD3DB9954CC32DDA1A7002
+8793B4532A5D6D31DA33470BB6D812891A52EAF966AA1629461C25930BFC4C8B
+6B03832F4AEEA5D0B27EDA93F980E91B5493B9618F143A4CBD26B4CD8F0C3D16
+5B2F27AE628D9AAFD99F4A1677557D68AA42A8832A7D44092AF20DC586290685
+48BC89B6DC4734F8E13F714A54742DFDDC2C85EC30E53E39206594DB51BDCD17
+5A68BD85E351CF51E86163748D3AD70555FF1D5F7B0E556E54744181F7C48BA1
+C2C56129EBAADE51F7764AB181B6FBA1828107F61E8047A5CE36B58F5D6C2C17
+61990478D0D44C23B1BE2BE6CCE369DDD14AC25BBAFEB3E33D5D50285E947EED
+3A23B5A8698CF9F42F75A514D7B3B0EE048B2F2A4084912CA66A14D1977AC21F
+7B2A332F41CB33D48E09F8F0AE912170F6019D655DE6827277CC043E001E37E0
+88C7898F6ED2FDB215E4D4EF79787DB95777151B1951A2CAE8A9528D7E2BD15E
+37F3BD6449856E5150075B92F10F9615F66FDDE2111A4B7BB546DAB5536B9437
+2290D2405C5152996CB1D4B217FB16D6628A0FAA3DAE60943C98F4890D18E18D
+3E2740F42CE9151E388827AAFDAD7CE9F12C54A932837464336B5575F0E2FA55
+15DE03FD73C73060E4AB72F7BB3B2FC23D1691FD104F0330193915910A3FA534
+B4EBE0B42222AF6F1F8E2657D3CE8AB1E8CEB40686CD6953C233E52C3D1534E9
+A7B5EC22ED0CE565CF1B414FF50B6E3D6CFC342DE97F723B674E63CF67D8AE5D
+C786A0F6BDE30587A1CCB7BB049B73559AD44CC0BF2CB3934ADF7401E5A8F327
+9D701A04B88CF62B6B57FEEB8A36ADC12DCF241AA96C019969BD00317C36D0CA
+2642B811E7611680AC3B4DC34B1E98426D7F85043A042B74D8711F587EF31CFE
+3AC4F7FD9CC6CCCBA3522AE22809395B0B3BB1B4AB9CC1A5D1EB982E9F8C3F97
+2BF975141C39AC80AB0904EAC1BE6A2C7F97A9AF3B32ED276373AE4D9FED44FF
+4F1A91ACD26F957F9E50E1D4940263BEA65E273B926AA3E7DF828A43F54D9A49
+7AA151A70ED55B8B5717527339C2A468608C1A5D665D0541F53B5386BF6CDE9C
+E07FE982E83975D173824F2CE58A357A1EF179483CACF1C2E95563C2E60345CC
+21556A26D49F40B84A4B4F00EBE05FE36CB920F65FDACB38AE6EA7734BF35029
+9865BF659669E1C829199BD232A128E494B1D6FBEE9D92681BD7C0E430C6F958
+2054B0587017126033B6696ACF3ECF85A90B3894AF9FC37D65A6A8853DBBB25B
+1E016D3BC01EFC65C13E487DA69A7399F57D02FA6FC3EE6FFA7EEB7186D1AB77
+493EB4A36D0FD86592DCB7F28617E4EAD22AB1601138628F521962C978CE0D8A
+384573776F31625C13F19D35CC396DFC57DC36173DEB95F8A86C3870DB90C065
+70481E6DC8F7980CD49C6A2CFDA7EC07CA76FF8DA24E7B8A6364F2B734E1E645
+1829B8652B838E7C55FF037DD51C13B2A6867000D3E8C6652DAA087170804F66
+3F9E437FDEBA6989464E9C03528EFA9D82D5C67B80A06892B23F6DBC7FB79988
+FE00769CB542ECCDC42FA28F34EBDE4C37152A6C6419033854C7351FFD8DFC69
+361909D977C3E8CE7E1AFD26FE2B8A7FE5F43058233310A63B0E11F28C516A4C
+7B82A552BB84C0294DE50E6969628C96A9506B1EA590E02D199A6174C0CDDC50
+B7E822C9312F3534030FD1838B843375F0B30DBD4AFBAA0D0E3A49495971AF2C
+E98061E422984F585528EDC16DAA7ED05B4353424554AD2D6345D6767AC69675
+2151A3A2B5C28561DBFEE99CE0C957E8BF045D790BA25949E2B9CE6F63BE452D
+7786129389D5314E1A0D6EFE59139FA6583DFAD8C130C8BC8C5D4B9D77E778CF
+175CFCA392C7D49331486E34C4A934969F61D00E32750170C7B70CF72983E39B
+79C07A23D10937CCCEC01186C028E704BBE47ADD015EFEC387B6419F6E1CEAC5
+56E182CC28172FD62A1CD65CF7CB008C637CEE19FD4EFFC27E6BE2ABCC70C5B1
+C98E9E4975B21FFF757DBEF194AA8266B0D62FFADC903D525766B90D94F3ACD3
+A7FC9C32DE3F22F4501B952AFA043A333C7D4F5EEFC8B8733EC891B1A8737D06
+867EB30136155DD70E9843E5E240BE2A27B2A5FE49E681CE09FDF95580D6EAE3
+005674C7DDB1F9CCD71599383B145B25B0E2F8D97A257CEC5CB815B87E866C4E
+C5742D0259F6ABE53CEB7F99038C604C3F975E43D8549C79C26BE9D90F3B7E8C
+D4BDF13BDA5FC962ABDD444491851D4C4DFAB33BA07ACFE9BD0FFBAAFE053379
+E2524F7C96C62E2F32A9FF6ACCE2377ED03DEA4C75F4872E9BB2971DCE61F2D6
+5E40EB4A94B72A99D95D10B1EA7380DE2D290F06E6A63F50F1C942AB62371FBA
+E81128E0B72132BC5967C2AC5863B8E849A57A4A9D21635DA15150B3A5F68E6E
+A64170777942B04EB0B06033F5C37CA43F00D2C513D6572370E16B8E381652B1
+D4F4270B1ABA10CD543C1CA4F8B86E4A8A41B75733223D9F7632019B86EF650A
+FC8290993AF5B2AB365A600B766738BEBF9E9653FF5FAA418D73D84C60056D98
+06D94BF718A217725D0EB7E2983DF02FE8D17FB2D3F269A0322839D5B0252A07
+EB950B64535EAD9AD6DF3A623855983B92803E98A5B15AD12BC1A74A439B9C1D
+9374691E7A77F4967AFA1B84034673A932B0DC5C8401347F5126E2C91F775310
+84CC81A0DCE7F2F5B6C94FB0154BB6FF0B4AF290AC3E47AD945E5D5F2E1E094F
+1FA125199DE39E768166F35BEAFD4F013E46E91BD2F3A43B1313AAE36DACF9B7
+3D930CD6196960C6CCF6AC5898F4A74F00C641BB654C72C8F6F4019487892314
+5D7BEA38D16CB807395999F745E89C2C0AF226CB5B4A37A01228457DC91FF7BA
+768300416FA88230832FC3E5DF27756173824D8C4B438974947DCDB17FE523A6
+E26822458D3861C4E3D94679FC72A3E54C11E4FCA8FAE335DEA7D9F09F3EB320
+1DC5E1B69CDAEDF6D01999C3B48F27428FE44CD0EBD9BD2F21D7FFB99EECA344
+83DDCA627C2B934935DB8C6EA42C40194F84581FEDD784F1305B49917EE2D745
+CD43006AAB08048202F11D0461B6B6917E54717A8FCC254A7FCB525167519DBC
+B3A261DA71CA704743F06FBD3BFCFF50FDD815E1C31D3A07BEA05D8FEAA4371F
+968D5593D20D351DEF6829F95A89B836D6F67F43C5A969A5495F8142B3527AA3
+A8B0B484A7082985804922DC8704C9863C30A798854725D31716115801E440FF
+37E1C000A901CCA9316C327F4C5CD651E24629A9D6DB57FF174619AB1BFADE6B
+03F189C1121F12731A0BFEB2706E2E49802AECEB2C869E8F3916808FEB82893E
+D9102140B95BDECE891EBFDC0877CB05D5D693595BE1744486199A80D2F299F0
+1532B5B51D44A81F6630285B775CAEC4219484AB679C387736AB657D2FAB5FF4
+C1F38955043568B0923EED7871A79EC0EBE857CEBFEFCDC56BB88B8DF95A5955
+B1B5C6C3758EBD3961A9AA8EB80F727587D52F520D9C2F3B16D53D04373C40FF
+8B43EF30AA6905E7954B30F8CAC576C961A97D017E38333401D46497F464C58A
+6F6DAEA14796130F4207C9A2C915FD60987A4FADCF15B1CE028E19D84741A4CF
+E92F14975B22E90408636EC2C6BEADBBE2F700D9C52DAB85A8305314D0E9EF86
+7FE155A21200C540749897BBB8446DB0FD9EA6ABCF1EE1384401EDFBC56780F7
+BA296BC9949FD913A6C1465F372FBE8A94ECEEB080DE004F68CA85D8E14E2FA3
+C2C9F25A7AA3107560737D89D424415F4519CD32C08EE537ED3C1D868FD9E959
+B7EFAC23F9A3391952F82B64900A8E823A2C151A507F13B5B8494D969668D5AD
+18E616740BF5FB4FCB456948366D740DB5977F1486ECEEC222BA34275678D000
+E72627EDBA485B582B3D0B8D39A84066E9EC9AEA514C99A610647E8EBD15002A
+2A06B2B774369115542E5819FF5CDC8EFBB376FB8848BABC2A9FE36FE58664CE
+ACC537460646EF5BE3E27AEA3EF1B448F483352A74BB076C6C70F26919DC748A
+8F8C8F00D17DA9BA1A2C6B2EF2991820AFE725820547C323DC5D881A09951743
+CF93DBF69B34DB77E5179489647F10AE99BE1A397C3E9F867E32A41D5E648D37
+D2A23BB0BCEE888C27357C184545AEFFEEDFD381F02CDF27365C2F6081A9F130
+6C093331619FCD8DAA5785ED724C65C750F68AA4F0DB9482ED5A9C7AFCF992DC
+C7E835150F6FB2FA3B7ECF0EF9E2DC3FC4B662A39BB4E6647C970729D6C4AB8F
+CE91E89425D5C3A7CFF43E0DE81B4010EBFD6F4B59E6974D8ED78EFAF93403EF
+2546021413AECAEC33F23DD20C120A352490BCB429609877704A5283163164B8
+36B1F3C515F58DB0539340A6063F88E2846698593D5518413D76184212A1DF22
+DD13C9CD8251056A988A0054F340A7A69CA5B946BA01456FD45BED04A44158EB
+89AC05C4E21BB4CD9D1721250A8254B62795B4F723DD561ACD73A975B84D387B
+FAE002B7854DE9284C72FB4E32BD70F440083A990FCF0B35A7DFC987DF094D8E
+31700EACE3BAE2DF2AF61E8675D5A55062426268A169B24CE0975982C76D36A8
+BBE2559A8A48F3B022DA0E3339FEB3357B83EDDEA914391DF8F6E80EAACF0742
+B31348E509D17A4C02582E854D3838AAC88AA0C0906C8505FCEAF8703970A3B4
+38B0579D7AF0E0283FCBEE979A3E08AD484F0C1171E41F58AD8BA063FE85D248
+60EA777285CBAC139159875E82165494DC8A35E3A67A75D8B9C8CCDE9805325E
+39EA26FFF3BC9BC99BF2D2D70A5F00F410E50D759E1CA678492DE1072966BDE3
+6469C249BC34CD048FA81F3241D36839491656C95313E1BBA617EDEEC4ED9703
+DA7A345DE172C2760FBF66559ED167BCB696C93FF085D81987602B193E87495D
+2A2A19DC6FE716765861A94108BC65FB38DB6EB504E7E351B9347B68886382DC
+B872968991EAE65F67B8FC8DFF6E3E97E94AF46EC98C89D877EBE2A9793CA763
+EB155FF47A65BEA3D5D23177D8CDEED3523026E9B5132F6342F1257225F087D3
+BF2C1177C097AD32E23138CDDE0F651AFB6F10FD173A3B73042669C116081E80
+2A4868ECBE26189E358956839C56678FCBAE2D1705A1E5928A5967596A4CB329
+AA02488FB3E2EE9E52C67FE4FC7D40F2030E7072F160176BBBD66DF7B2AFB1D7
+2A5AF0F3564FAF8049C4B7397D1DAD17A1DC4E2099D3D8BA176FC81EF20A0A63
+C3116BFDC1F0700720DC16B6C58259582B39D00B478ECE899951E5B8084E876A
+ABB69C19482D66277AF4323FAB7039AA9CD3B17539E75FD7EC8AB8474E9BD4EA
+423607C7FAA068A9339ED9ED7B1C67EEE03AF3F3137CFEE8FFE71FFF275D900E
+AC82CEFF1A42FF1955309E22E006B69967452AB7F01A2C3ECC090AA180CCAAED
+EF42CAD566B25CEF7BB035E4C6F50264BDE376609389EBEB3EAE245555F49F1B
+C67BE891C11FE7A4FAB4D9C62974F4E0655A72B36A86AFF1634B6F5E5B569BA2
+3C3C5D9E133A4229C4597D4B767C3F55009E29FEF97A003D249E1DF465C73A41
+6BC404CE79CDE12E861E8455E88A5C8A92E325192599261D99C319B561B54931
+518EC86D45D7BB6F19CC3C66069E597E1CC055C4A3BBDAB813CE6813C6D8BA2B
+DE6327582814F278D91B2BA37035F322B921A22EDF9D80DF29C0F6DD0D81C17D
+7DA05D5668C25720338B7DD5D71683926279031B8F1C3A6585726F45B173E405
+2ACF6F97355BC9856D0597990EA6A35DB3B1EFB83CF1009882AF73CC04FA44A3
+5F4B1D9C72BE9F2441B09AF179D154D7964DD71B0F9469525D314330DD1C8BDF
+0B2312D6ABF64290EC0B24BCD55294BF719A222D945ACEA9E427A42F32F5F5FE
+D839F6378F381BC8194497A8A3B4F042EE1B960DAAB4148B5F1DEAD2049D1726
+F28D34283E1F2A2CE61C3DA6E3D1B25F21A2617377C4C5B3B275678A158BBBF2
+430A7079B4FC2873DCA92DD3B3DD4903C71E544302E76AA5B855A51FFC17C7DB
+D11D7906E024E2F193A10ECD6E74CEC5B1ED8A6A494F4E79E2269AC55A26EA8F
+02A6901D66FCD03C338FC6614B892D011DC089C36236AB07DC5104B8266790AB
+D464B1775BDEDFB991A9015DA95A6BCE1B3E61B71BDB2C08D3C58108929F1E6A
+5BCFA64BBF4E1EE1DC873492B686DA569873C0EB51DF8CFA743FCBBA2CCDE3D1
+F4DFB080A258BB14081593ADA424B77DFBA348CE11E723F091AC89C0D25F6794
+5D0DD2D1A78CAF3AA1DD692EE3D76C6750B1104A0D6512FF293E23CB895D3285
+F9B4CFAE9F4B44129E45102104786D8EFCE9F00B15AF914D27CA7332886D68E7
+F32963740C6ED8D1934EDA3A3BC3D16FD3121E76040657E4C917AE56512E46B1
+B3E57AD1A83FE1EF1A640E9D1F532A30515CD527153C9A597C5257E6B1DA8018
+63A379B4B36F7C0352E184A30A581CDBEDF325D9D92CF9FE2EAF2B4056ADCC46
+817C75FAF27861C519C2EECA730EB6215EEAEAFF9E13E9636E356B24C1FF32E2
+BDDDD4CAD0D46769E3A4CBF16C9AF3D2C739723CAB2427464A9B5FFCF7BC5318
+8365C834564EA5B11F1A22CA59575D07C25C30567983467499F27352D34457F0
+DCD55D488CC9E5AB42DB1AF140B73EA7FE27CD44D8E610D9012FB57EA1438F85
+5DA3A2ED40810B23A6A8F814CEEB2320CE5E1A9A1BB117EC249E409A06BE8BC5
+A37EA89E74B99FBD237917F62EF1CDFFC3893CB8D1BB527779417FEB0351C69A
+06231B2BA6939CC21BD9414B9C1C1295D6BA5745B2F6FFA498C20964AA73DA93
+F2BB60822D88A77C029C81CBC8118F1369AD883B16CEE5E59E892A027681D02A
+D67B1389B10A2A0ABF8F22B6F8382F06F3CB90CFDA91AC45FFFD7AD3A192DCE6
+14201D03D9C5F6331137715B6B10D0547434E4E129EFD3ED59C5B2134356F265
+E2DFA95CB62EFC4B820966A9A172E5B2A134D359D777B68186704FAF7DAF575A
+D201A26C6194B9FA36D41DC291A62613B5522552D2CFFA81D276009A8612212E
+293FCC8A5C85EEDA263009C4FB50ACD7B65555A9174AE37B1DC8264A15225426
+C43F8A6ED11198FF1BE2ACB099D3A03197696AE50238E20ABB729E5E52571C77
+191CF13CCC1401723756C86B0A420A0B906EA5D42A64A44E519F55E03AFC0661
+751F9A3C792E69FC2C33129196534A91F1F939092789965E9477CD9BB709ED4F
+FBE00A1C99CB740844686E0376C00AD3EAEEE30EB00722D4868842EE0892E746
+9659A2100DE024835D5CEE113295339BDDF6DEB2A98A0AD1BFD3B14F635D08C7
+AD869861D8996F6D62C1E427117BD63D64EA42D7BA83524496C4987056CFADC9
+63125C0FE0140ED103B5D6B0E1AB36A0B1D4CBF91F4169A7D9AFD33DE1797C81
+9CE9D164F82D8FE0A418F6C507BC58553625BAE9DBE8BC9C32EBCE696D794999
+0CF08A51E382D9D61BA9A775E65AAF66530FE0EC1AC59169B9BCB4639D7BA735
+3F2EC8F2717E3FE8D5DE9FF5455B965D020917253C4D2547F2181C4D654D212F
+3FC05C4228A594B7210983D1CFD275B1FC3ED531ABF2ED9C2D7DEA0A76803647
+F39332BEF79D7E9BC27B37DB13A0FB28589853079C450D5CA4DF04DB318C960D
+99AC8299307D088A4FE960B7A9825996C0DAE4D079B7432BE00BE3F7464A964C
+5C3C3CAA002B275224F74A1D321C88B5B5A1C75E4BF4D6CFA08A5757A9170235
+D6FC628111A061B5BE909D9DFA94D2C9AAF14485C29C8E989E4AC62BFACA48C6
+1446A1815C66E27532A8C4739EA1B66CF6C2B1958EA6A4D5050437EC38EF0611
+8029D9239ED52DD578381676619C50EA37B607B850897BD128127EEB1E3D309A
+C639B8EE8EE137E869CF4A7ABD7A95C91A92843F10695BF222727E1468E3C441
+8EA028EF7DB486CF36F39B3FF362C8B1EC317F3308593E9161D3344B0EA7FCC0
+D2F9DE79BF85D1FD4E99C08C739F6912D31D564D6CDD5259CD1C4F8A6CD880FA
+61B17D640C53D0FDA25243FE24145E591D5AE252F5FFA4D915F7D5A276F24734
+C1871202059121ED1925B364F6CB73BC01ED20F15C2DE3B8A57BEC3573521A9B
+983424E10A5912C522B1C3910959709D1CA6059BF5D62CD29F839E8990DB94A0
+D2F2F933E6222C7B7D2AD2CFD06A7BE46A88D0AF8DAACDE46F75D49A34C4F272
+AD93FB97BE8954A737C1703F7A0F838F1D0B3D5087ED11B65E48EC276C768325
+A3BE5EF5D572A248068D9E620412F1B3AE3B7946A213712E31318D888CB42AFB
+1747CE163ED1CA8A3EFE18FD59ADD9911A8D8106104514123440BBBA69E5CEF5
+08B630C56C95328280FD4B222DF082439F36A30FA69D24901879298B98925255
+7CAB87C2A1B917A1382E2A7B4253A9FA3A72A7AD0236C9D75910DB3902C6D3C5
+2D81416C240740255CA5703A3EB0DBF6BBACFCA8A76EE8C5F5F00D71234556F1
+5EA0C1FE6AF7D11E5AE2430405A0031F82BC23C50F689D5521205D6188FE143F
+C120F809C26E1628F32CC760D4DA7A4781DC7EF8508ECF12E141F2D9AC668E8C
+6E6A41E979AE5CC8488B365F78C9CB2C9B0B213AB9A57EDF56E618B189129E95
+DDC72CB8A9DA836D83A01C5909BFCEBDF3C696E6DE0D1144E0BA3DA3FA20006D
+C5C73BFE3DEEC1FA9504F2F09B34C269635F6FB343FFFD7BA1562539EFCFB33B
+7448C2A38564FFE17B1D9CA7048901FFD113163499A42776AE0A30947AC65D75
+4735A13414A2A533A0F1575CCB273C435E78398D74A731E940B750CD4F90FC9E
+E03A7A20C25141BDC34A5D729647939D4D90D583CBAD8DDD432446BF28D60362
+958F81E6A99F0CB2DBAE71D6C17BEF29ECD901AC4344F3BA01E631467A9938D0
+A1188EBA5C2F40FD98466EBFEAF7D4BD6E7FCB269B0992FFC5BE3AA4F1FF7AE1
+6A5CC0D5D4E1DD0EC2F1B9B879785048BF5791B06F628482A44159BE758D62E6
+E52911494CF6F0E8D0EB25ED90D0641990FB7A39230B47580A34D29F2A900476
+A515DF6568B93E22C53C98F7C36DE18EA8B4D501C16190A7C4C91EB7BF7BCB60
+74FC91B34B8A6536FABA7E00E0955F5E7A8D382123C7A01D480C8CA3D67B2D74
+10BD37407A3CB7F5304D5B79433FCAF67A27453A29467C231B4C96F0A5244EF8
+66939723C6B14C7B8B12EABAA8B71920FD550DC8B709333C8680EB548DB9734C
+B3759DB19C0AD15F16D3558570A1B2CC7EE67800C4AF664886EFD5198862559D
+7294CA27D656B76DABB77A757DAA94E81AC235978E29AF
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+cleartomark
+%%EndFont
+%%BeginFont: CMSL10
+%!PS-AdobeFont-1.1: CMSL10 1.0
+%%CreationDate: 1991 Aug 20 16:40:20
+% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
+11 dict begin
+/FontInfo 7 dict dup begin
+/version (1.0) readonly def
+/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
+/FullName (CMSL10) readonly def
+/FamilyName (Computer Modern) readonly def
+/Weight (Medium) readonly def
+/ItalicAngle -9.46 def
+/isFixedPitch false def
+end readonly def
+/FontName /CMSL10 def
+/PaintType 0 def
+/FontType 1 def
+/FontMatrix [0.001 0 0 0.001 0 0] readonly def
+/Encoding 256 array
+0 1 255 {1 index exch /.notdef put} for
+dup 0 /.notdef put
+readonly def
+/FontBBox{-62 -250 1123 750}readonly def
+/UniqueID 5000798 def
+currentdict end
+currentfile eexec
+D9D66F633B846A97B686A97E45A3D0AA0529731C99A784CCBE85B4993B2EEBDE
+3B12D472B7CF54651EF21185116A69AB1096ED4BAD2F646635E019B6417CC77B
+532F85D811C70D1429A19A5307EF63EB5C5E02C89FC6C20F6D9D89E7D91FE470
+B72BEFDA23F5DF76BE05AF4CE93137A219ED8A04A9D7D6FDF37E6B7FCDE0D90B
+986423E5960A5D9FBB4C956556E8DF90CBFAEC476FA36FD9A5C8175C9AF513FE
+D919C2DDD26BDC0D99398B9F4D03D5993DFC0930297866E1CD0A319B6B1FD958
+9429B9D40924DC059325D9D4CC0344F3F997A99E6CC0676735EBCD685AAC9142
+08DAFEC78BB41AFC2F1C219910BDF41D6279284EF600B69776CA15BC8A34347C
+30783C52AFA60FBE3E353E2AE354CF87B558776A22C776C7A0B5AB5CE1F941EF
+C2D9CAC37294BF407A671F10E4743BF842143F4F7DFEE643BA3BBD8BB9E3F24A
+BCCF7F0ADF8BA500620C81033EAE8C4EF2C1DEF13AC575F1B3BBB66F093D3B78
+5412B82B67FFA087AF57182B2230F9F2137180CA58A7D9B2C822FF04BE6CD01D
+43B2CA7058C7B953F6D9B5D6E91ECBAA5CDE1159B0E59C83DBAD96D6C8C8BAB1
+374EF652D10C0F3EE7104472C98DD3572AAF2D45A70BF7061447E21EE3C3BF23
+DF39C2D1B35B42CD5297BEBE6BC94F7C9DC6E61EC67E4F677256FED9064BD3E4
+B51A71B1D27CA4E5AA9E1D8080E6DAB5310711EEF87C40859FA935B19524AE83
+63B163FA8397BDFF443227FEDF7DB27DC35D89FB1C5E435DA0619A5C88AFC73B
+89A2DF5E767C5B536BC7167A840A0C32BD57A14DE69A7D0D819AC36FF32F908A
+5070F32983BB007437E3500799DF5E0AD3710A4C0000F0098D5BE99F2EB9C1C2
+C444FD9552D0DCA098A94B3BF176F511CEE13DB7EFFAED7C47B5ADCF8D4700F5
+7B6DF50EE617C00966B9A2828882804DB7477F4A8CF5345B7F3568B4F72BCE73
+2E2AA5BC4B4C70E21F3AD9AFC3B8605A00D67EF9ED1F4D13DDAA920D45B43CE0
+0941BF17CF05D2B777C11D4D844AB20C0693D1DDF00B27D9E1AA2D98A4A06CC6
+D342AD8F644F4787B66CA7D861E7CE13FCDA85C1B0C9F94009768EA89838EBA2
+7818F40A3ADDFA3289CF11C1ABC8DA5AC3A477CC71580E3842433B383B7A6662
+2C86BD7E6DBF9E45B9BB6086E0E014F50DC64B401C33C8AEDE6B2756F5341ADF
+C9E390C565A64326A18ABBBCF16E34D9F65897A334D9E64077D4A27867103DB0
+08C77CD64D79A5E5F9EEFB3DB4D3793C20E6B2E76AC6AB2DEB5A90CFA93E334C
+257BD0068AF79C07C4866CEC5F430DF8F884A653CD1B88157B7DDE592F218979
+EE3E839363A39DA10E5282390355ACAAD951D63C2FDF3D99BC77E54AF18A30EA
+A47AF562D077BD7E5248D279A933CD80A3CD51CE38A991341BD96B71C0E5C264
+3B7DDA225411DD0E3B744E8FC0BCDC2B6D7C48722F0CE06873C62CEDB6FEF393
+7D03841FC158E2A243B635A38C018B3092B574FD93F9A62CFCEDACBF09EF0251
+A1CC77E97C9613A9CD124F9AF7B9B7A0301C78055EC9E31BC58AC86913751A58
+4A7D0798331B71F2991FF4CD88F3941095E8AB1558645733709A14D61580FE67
+B31AFB106CCFB57F1325CF351786962AB73D6F7CBB948AADA5D3829E465247CC
+087D25AD54023D15C5E1E229BB7BB422085A2C1EB62F9EB74B00F887F67B8A23
+017A793AEC5A4537C494D49E61B9091C9339DB3544C73AF64D3BBE0056987DC8
+E3D230DF0B82DC9D9DB5DA80647AC90C542C7A1965FD835D069CCE389D5F665F
+DE21106ADCFF7AA7A93914E31A1BFE1F39633145498BDAE7A4C5FD94254594A8
+06B4D5B66DC6A1560AB80EF3A26FA66A4532FB591F2AB99C98E27E035CFEB2B4
+7B310B722DB67CFEE05FF09C3107110C847BA7879663AB69193885448328216F
+336B65F083F3C17A641F2EEE9551C64FD7F5EE6EAADAAD908324915DF373D0AC
+F567132A7034CB61EABC2816845DB93F5A05EA541680C9F49784FB8B00EBCCC6
+6BEEC3B142C24B9AB6F5672763F8B051E9D2CFD7E27E2697A2665E684FB94BB7
+F0907238FB54782608D8144A853C338C768705F7EFBB13FBBBDAA7CC1DFE6478
+63FD9E1195504255C5A87980BBE692D75BD996DF8B3A09D43998AAB833D694AF
+C7BFA95E9DF0A8676B84D1381DFF1CDA7E2F1C6F8F9D14FDF23DB01D31CC1CCA
+3F5962F0568CD50D12ACB13EE81E0860C8848AE1271F6DD7772AE083212F2D48
+780EABA77C42057DD1FD54E4070E3194BABB272FC86104643B80D997A467891F
+630B6E3561058BC3B9A28511CD0D45F417D8FF9F4198A5C72E0C7C5E7CA54739
+94045DFA1CF0D558581D78CB8205BBAFEA27CA9A4F282DFF0C29B629968913CC
+CC8F782A01C606892F8B948443BFB3A4E79F777FAC8225F1DC09A8533EF65C17
+CE6A783131F4B6CD6C324EEED05F573BE5A8641447EE8D8EF96D115D632C1B4E
+4ACD4BAE86DD8F14B7B4C709A9A82DD0AA2A9B43BFA330AECDCED601728370E9
+F8D4E668A916E27CBE843B8B5854445848C3BDDC10211E274D6A54C0C4A67A0D
+19678F750D5A700FC9307A6433D1CE71897A3CC25221CCB5370FBE42872A482D
+2052708A3F2516897A060C4DB178E5C4312432972861B6225570A9ED4978D287
+94D9615A650D235B1127671E30A38810408C80B8DCE01286B8D3D74AE9CC8B01
+D83C4E4B2BF5E6808F7753FD0DEA81B69F8C9B60821A48777B7AA7F3DC0596A7
+756CFAE0C08AB5536A555A05174313B3D75368489A1F2CA8F73A7F56BC56F9D8
+2400F622E16C6A1763E525DD70BE17DCFF962FD52AFDD44D9C50FFE9DF6B507C
+E1A1FAF9739C011B262D8DE65801C3B1BB7D78679756B7DCB47F7DCEB9B2A2AA
+D5F6F7C8296D83B1513D3C8D0B94E006E901C2CB8EE13ECD14BFDFAAC75B8A66
+431AE22CE58CB869B08AF92E2B0941FA8B822ADF2CD54D65C959EFBE35BD6408
+1C3CBBD68696DAEF6843C29D63633F345162299797AB724D357C061999ACB616
+B7F0B6F639C32BA34A9796B2442587E74C5D90211F1793EC68D119C260565172
+1B9E03C660A5FE4F12CD75D1F3A80451DCDAE137A0F972D31BCF4E7035CD9F67
+113415F928705DD89EC43862D1C1DCE445D6A132AFACDA3CD01B2E1AFF5F3120
+97C536C42AD9322BA34D1E8CE90D67DB144FE71B1300BD0B69F81268918C2867
+83E718CC8CBF432E523CE8A240870ED708068E551BC3744FF481CCE43216003A
+4434CE57B3E55A5C861C4E3D158FD88989B59D242605C1900F241018A8C8B298
+935C650C038917AC8311D5D8AF4008EF5084AB624BCC93AA3534A86E22501F76
+A02F76C7F610DC077E55FEF5A37AB2F46EE55C2C507BE4C5F330F449412781F8
+1298597517BD3A6CF5AA604BC7EC073B1BAA19AEC6C3A626B4620D58122A97D9
+1CE84A5A049C6F033EB302AAB1094B292B6254EB8DDA76742550BBC2AE8C9F4F
+620C3FF47BC32D4C758B10F40D3EEDC5EF711B593F3363BC144CA9E356C2E6AF
+283E0AB8600EA8A2706C860EF823A035B102829B239A61C49565DF182AD92F7A
+74149C35A4A46511AE451A93E28391CBD324387F3FEF232D53EF91483E09AB19
+56F39FE9C6513737940B7232F5153458CEDAB4A6E80F9001979275070B3B194F
+B6A0F8CDD628AA150AB8E6729352A1E2CA1B4847AAF49A524CF8EE3B1A9761E1
+22915D55303E430BB5AAF7404760AF827DF53D63857A8ED31F40DFFB7711A68F
+5687D6B397AE004B8D490D1360CB062EEB45199BB8DF4DC51A2CC2EDCE65183F
+B101A020ECEC5E4678A03EF4FFEADBCD2AC36CFA64D3FAD3FE8E6FEAD4CF30B6
+530365AF486008E60A0392C1E5937A482AE8705565DFB0EC87422B26B2662FAC
+2C79094D1AEDEE757709898EA92927C5DD183C13880CBE926184850529122B5E
+F91C48D56C835D14AD2CD4E5AA2221894A68A91E2155A7A1809DD71D5BA8F5FD
+D23815E05315EAE40422545CFE5F49DA9EA4642D27CFF414DE97819E3845C34F
+E914776DB01CEF3667A3B547A6F8C5940529EE4C2C68AC1204F32D5DEB366D7B
+C8997AFCEBAC14A9009A5174C54CDBA3F336CD3F7AC525309BAC156626F9B5E3
+91F65A3A8F9C62B56C1C49C8CAD0E8857487F6728BC548B08CC4D4DFA8B3B76F
+7BD1CAC3BE68D6426822548EA702FB57DD1A9E050FBF68787CE97B18E5904993
+5DEBC1684E7C35AE0AEE844E9A9D1F24BE5A5950F6880D793359F58A3214E352
+E4D07130C9BBFD00F3635C8507DF0985FB56E9EFBF113DA98A23574B49239064
+C8D06697205C4E74E708F5AC699CCC68282D03773530B3A479B0A3FE8A6AA9DE
+0AA677A925E25BCE731C0EAA652FAA03D188F32BD7541085B6123484E97FB263
+FE43B844F6D34DDC8916243D3F8B126BF0DD6C8536B69ECDFD06670B80BDE750
+9FA4C6128126DCD36C9894D54AC125E21B57EDFE228C8DE6774DA44461221106
+3B507EAA89865E445C192146050A956443F308DF446E7CA7C19E75EFC0F62C6A
+4B6A1AA33884AD4ED5B74676CC2AD323CA41223DC6EE8D621F1EF94E7A4AF0EB
+AF1F40FDFCE5FD8C9CFB2E5FB4F4C0D7E42887FC7B4BAFD748EFF5EF48B0459A
+C4E880E6446E2F51169A7818EA7DE6FBD936CF66586A947C3EE2A15AF479B27E
+60C9949FB301D3B7218D72C5FE1B6DB91B685CE42792CAFAFCD5271F1D9084E6
+DDB017D33088EBFB3C479D5357102925A710482F05417892355F9C58FB5D9937
+1250AEDB15EE99524558CE9CDDEA43CFE66A97E05D3B86BFF7B5362A4A84B736
+47C3DB1DBC5B150314BD7F5FC8139050B40194A5AE1F691A78AE9353F788E266
+00424C0987C9B0B93F965131742202844C3383BA6CFF52995C08B406C27D2A21
+B7822664081F30AA39709CD76CA9EEB1E59179A8C3332A391027DC0B21CA7F62
+14CCD2AED6249DDC2B0F8A50959B61A60F342F44119BF8508D05509D65683607
+2DB3F753D076ED3FCA6A2802D35390FDB79A7393F5082F62794AF00912B0CD29
+495549A63B0C060A64B5AA351523200D6C1EE31A782165BCD6C5AF13A9BE91CA
+44331ECD97CA95A0B9842F5069C9A73759451646312E4AD61C551805ECB3BBF6
+266EC78F08132E28A6DD7318B200CAED5EC69CB7387DBAD895C26C314645258D
+2503B6B2AAAD2FA9882B172B33B6FA61817108F1C3AF88A0F52550C7411D0767
+9D49FC7E256AF00317E751D347A148F4A7951F5D7C2ED12070FAAB14464B004B
+1ADE76BDD497590718895D1766F3B0E735C7CC421E455521AFE33705659928B0
+18354E80BD38DEA4034719ACE13378B191327B185EAD5C22281CB520ECED6AF4
+1242691EB0308F5E6A0B9EB2FD1D3F8F4F91219F7E8C95320915862A2CF98CDD
+A035BC61B859CB4638F82D09113F1A33B9C01456DE233622885F8EE3DC5600A4
+451BBBDE57F42DD995DF42DB4BFE247BC4AC6F441461A05A702E28A8A19261D1
+05EEDD11D807808C9810553ED04DDFF35F79F266001FC760CB4D5F11FB54300F
+2E15853F57AF0334B453AA7846BB53261B57C52184A3D427E50752800642F3AB
+A1B999320EBB096DD2C295EEC8911FEFF88D2CA88A370073828641C4A3FD6D55
+A822251639757FA9F0C8BA1CB9AB479401262ED37980725271F4CF15DA8C8933
+1FCF465B1DDC6668CA0ECE9AC01706B0A8F0A7BFA24AE8220DEAB2595304CC05
+AC1A6B5A1B0D6F11D814A59659928E7A2D0DEDC004559166BC4247AC3F874032
+5659E2D272B073CF42C9039559813615C984981A981E028B0BFC312E0030A1B4
+3C888FA54DB54191BBB106F4A1A0758C7E764B4D7C4ACE41D0FC0508EDCF9063
+1F92C05A4125C2C161EBE22ED9E5406EE92E4616C187D20D78C3DC5119D98EA3
+6A61D4C68946257C1EF72C73B963A3019C98F398975839227AAE45A9BE4C98D8
+81F059372F5AE180D266C038D3BF49633CCE671AA3FF3549E86ABE6CDADBCC5B
+DE5CBDCC11B6E38435C7C6D6CFAC215B87339E046A493664FBF08E5DDC255E3E
+2177C6F9EB01F99C9324C636EB668BF03D2CE7F21F964DBF28C2F945E368CBAB
+EC5728270B6D38D7D88F5091B942E20FACD25B4ED69A780E327F10A2A13254A5
+349888371329059948E672D23CA607A6168C12EEB1CD90AC7A78DD5B43DD4F16
+6F9376D4740643A52BD60FCEFC8D3E05A91ABAA74717FA0802FD4AA2C01B1354
+62C7C1FDA92904E02E5CF4D37AD588B5E73FB826E06DD1A6500157D1131C6AA9
+25B38CEBDDC9255BC58B92F88CECE0F6B18F019438D2BCE56CE686DD29A32258
+63B624C8D492BFE52883079B7995D5F868080D90C297121CC800D6FEA1A33CFC
+108FFEBC29FAF9A2CC2BCB0A22D9AA42FB825F16EF09DB92103C9D644F49BFD0
+2A2CB434F4DA6E7C2BC9B4EBF5D814B2BCD8103E730DEFCA70FFCEC0BD46654C
+CD6F74684B6AFDF4B3C25CD8355A787C1D72B5C85C54180C37A58E725A7EE4BB
+32E73438CFF5A973F5660C452027F5A226D102047BB6E7F30A99C4EF253A31EB
+CF976821A2F4B5E88E4812BE125DB3F8780220D9123485CEF8F4FE4A649B8F3F
+AFB543CE79F22AF78DD5A98B0BCD358F0BF81A1087F73EF1DDA956BE09E31D48
+9D378715A7400B565869F0774754CA7E4AD76D335B03EA7902874AE4B75E70D5
+651D44FE1380CE4445EDD7ABC14D7B6355DE55DE3DD72330F70CAEDF95D6705F
+29A9C9F578F36A9167809816BB9C0AF317A7FA6CCAC1B0CE9B1A78276DC53A9F
+A75188831B0F3A23591BE06780EE4A15B5C690A1AB56F8FACC395BF408EEEE51
+4D481E48B606246CD923BE9FFA8E54C878D1B311149FB2331374C3E020388118
+0275346988D2A90358D944DECFE459AE69D94F9F8FD7C7B48C0DFB861111AF66
+0069BEF3F1EF40840FF0764BCF8DC107996F4CACA42CAAFE7EA447132443F50D
+C24B5B2CCCB9D3B829EF589AEE5ECCB0D8C1F8CB9E6A51C42BD57B4FC1CAB49F
+21E28E418D0519CF2445BA410618D4E40E4C95D632C7B65A802F5AEF2786C1D4
+7768196D752BB954AB5656F209E72E091150728B33AF8FFD5BE128B1A79180FA
+86EB92B9E70BDC48D1C6C34E22A880F7A9760DDB9365C8B93076452B20813171
+73F6DB182B495422532DE4E40034633B57A7C92E1A7B31AFEDDDCC3BF1800488
+283D63A3C691420ECD269A22D905669D2C0310615AAF63E0DF63F26C2997A13C
+55CCE68A45FCC8998638E4618BF57755BCCD2DE97DC0577584EBD84DD712F03F
+D15203B0BB130F44E6F73B1A5970EDEB76493CA365AFBAF67396C7F75A0932F2
+432FFC177E86B6D1CDDEF700720DE437C5041B76687F8E809D07B66D64D22931
+A07E301230079BD03874E6A5A055028457DFD073A4FA6750B5EA2EBB40DDC2EE
+4606E47BE9E10F709A158A4C65D5C10BFC3A548470835DF29E5CDD74C0B02621
+100F124E90CCB954B742FFE19B90DFAEE0754A8EAD4BB4905633EEDB61B71F12
+2F63040C1100F7803991C184E5827AC34469FE3E7E5095CE098117DD22CDAE8C
+6C920D76767B1E686FD901164AEF47FDA9B92EB9DC76708B2F2F36240D8D11AD
+E294922366D2DD0D28F55DA0FF964128A5223FF57DBA66B8C22D392E6AD1B6BD
+4EC69AD619DBBBB2699B50ACFAC8744CD53E798EA08D5D396CEDC38A3EFBF870
+E4B38D546B081D28A4371D1F87720BF5A36648922E92DAF68B0067BE1C093C48
+94B24453680E9C4B625E77F353402CBFA35C135B5C0E95C8DEB5BD7997D0EDEF
+16091E4BA39FEDB943CC272FCFD78E2A09CB616CF3EAC21BD921FFA14DC15C07
+F3D601E00889F2C967C88B1A04439ACD707335EE56CE8DCD1109A10D7522FE03
+D17A3AB244F8A6CC69F32D2CCC7EDF594081D6F37AFDA8711D8E89DC22588637
+38F4712914B72C86D669CBE598F90FE585004AB77AFCBC3FB1FC937233D2BEC5
+50BBFD682D20B2971ADFDD060AE9338F845C5665E307FB3E851F0394C1E9458B
+040A4713B19BEC70C601E1BC5B4FE1198B4046EB74C8B42C6EA21652BD8FBAA5
+EE30F10C032AE379B366D1D7EC26B053DC7694E7AB1DD90B9F7971F4C0560BA0
+B4A90E4DA818BA24F7AF3C9A9C01FAA90C3111D86C6EF207A01DA98A1DD67219
+CA750F4BBB5FA1CBA65B110722F9C62839D3E48868F41DDEDB1685DEE3FE9C00
+4C4B5A894E4F89F25346FE0A1E18222D14320E7DC6FE54F37DF7266C1408105B
+D4A79211F3C44A64855325F80403D59155615213081AE8B1BD4A1CA5E4364957
+43406190FC152BB31F90726E6C3F594B8CA1A939A73A2DABBD5D549F4B638E29
+D6DFC72D57ACE7E6A33FF9000066C52685F07134E5BC9DF4E776D749742F163A
+C14A7F07898745D2CF4F55F5CC10E4F1AEEE09932171894933C3A4E079B2EC44
+5D59EFDE1688D1EB57937CCE92E9D315A12AB179EE19C48EA1A0AE40615829BF
+5866E4217A337084668DA912BBCEAEE455E82C271F1786BDDA03025956A81C91
+C064EDF471361AF6AF86FABA4537A0E7FB3F6A6425834F3BE587CB157268E6FB
+D4AC0BEDD9E8E552AE51758707D28CB03E0873BCD0A5B1F1154902544FE2E006
+D297EDBE9736395C05ABD2BA27391094AC4D937DC359E5E411833DD7ADE001AF
+0A1655C45B7575871522A0A5D06E3FE350A2F43034EE8C2C8F4110CF288CFD52
+0E59942FEBFAE475647608A9D2F0B63AD46B36063F1A23032CB800E05411FD28
+42946B2E87ABFB3D70430BDC3A3009A80FE720B15B5940191F0FB60C223C57A8
+FEC36F5EB459ECBDEFCBE905B15600879325DFDDA763D9A155D59D28A5E1CB55
+57816930E3826CADE29ABA5ED3A464235FC797CA8886B624924F5B5DD6F1A456
+CCD960398BEA79E011AFEA3E705A0282A70EB79EE0A7F4D4675A43DF7C70D38D
+79145E7A07D37029188341B1D63FDE4A5C5CC36A1892578B5B54CD8091C3172C
+6E0A0B19159A7628512A525199BA7CDB6D992C1A9A5FDDAA99FFB4A37E4B6E72
+21FDDD98960F9167AA5825000B4BA73566F2F2CC2B9708D17DB5257B28CE36E9
+DC11711E3614F99AEC6CA60D2251C4A5611A3B3D103751A823DFDC9644B80E77
+D9C0C47DA707CE0C350F3C46CDCC16170BFE28280D6172BA5E5767D256E6D45C
+AD0E773F896C99FD3234DFECD792E2F8AD09BC3526EB34B78B86E28E1CF09331
+0D1B99ECFFE17653F95AE29E8C3677FDCF913198D630AE5C063C900DE3A2D23A
+406208F9B9F55AE84CB034FA2CE266D75EB77E9CB946050FA7D73D4FB943DF58
+E59AABC7A3D77E765B1971D19D487A679F0649E9581E6A73DDDA9A2A43F102BA
+45547C603C5AAB447481309E58E4DC32F5C2809EBBB03356093B2C7C0A74578E
+7284C24847F5E866DF58F83B471A8E9F4BE01A4F64B862E4D29569326618186D
+A7B976BAF1AC858F39B7E78E0EE321A498E6AFD21D999F7DA70FEECFB8685222
+8CC65AF2D54D9A48A4C8C3814FED8D2077430CB904EB3E1F9B93C26798A9C4D1
+C3FF4D8BCF5DEF1BB075A81CC73E6C0745D64A423FDF6565A3A88C7F40FA58BB
+7CE92F26D2EC92DCF98479DA7483C92FA26D4685DC678F1B3C4A4A7382A6F932
+AA0579C468939AE28B2F0AF5E7B24084C3F2377771A4FA99C004DD363D0D5ECE
+2E1E6276843D91E01451FD565EE1923D801A957A4FBCBF4ED69718B97A589207
+9BB69EC43BD1213E8DD30DA0D612560C072BB1DA7030FD895914431FB8E0FBFE
+EEADC7D78186E4C7AB07AC47B4999755449050EBE24C26C44A6A2D416A3900ED
+5555A8DA510EB6E320F0206C1BF6C735B1C8B86118450BBE44B9F7B5C618783A
+2935CE222D28794C2B84D4316243DDD98CBB876EE54113ABAC115EA040E1FEBD
+D1818680857C97640BFD4F92AE77A57FC4545F7E69E3B07E22DE3CDE7CBF6564
+2B2B1BF587148149CA6A626FA21AE060A42B7BEF98D889450F8F95F402DB20C6
+514ADC3DE2668C3EB909E4424D6FC58561D702DEF6468213097B2DD1E9DE5A3A
+A052503DFF3F3E37DB8D4A16A7F2FBD97AEEAAA7E3A1FC528EB13E492CCD5B33
+5CB787AFC490B1823557D6549683229E8E8949FBE6352C361354BAC54EDA985E
+B11CFFC7A12409C0D04686430738B4FC277218B59361F2903D58B145554C4EF6
+C257C7861330D4B7C987D597F9B9EA54D241DAA822DD28D9AF6056AB2306BC0C
+7EB0D27347EC94159764B11B2625CB1D57C5A0A83DB4940FC7F8E00BD4DEFBFD
+81766464EBBE6CF70A97193269B6BD8C30484F758224A2D5
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+cleartomark
+%%EndFont
+%%BeginFont: CMSY10
+%!PS-AdobeFont-1.1: CMSY10 1.0
+%%CreationDate: 1991 Aug 15 07:20:57
+% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
+11 dict begin
+/FontInfo 7 dict dup begin
+/version (1.0) readonly def
+/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
+/FullName (CMSY10) readonly def
+/FamilyName (Computer Modern) readonly def
+/Weight (Medium) readonly def
+/ItalicAngle -14.035 def
+/isFixedPitch false def
+end readonly def
+/FontName /CMSY10 def
+/PaintType 0 def
+/FontType 1 def
+/FontMatrix [0.001 0 0 0.001 0 0] readonly def
+/Encoding 256 array
+0 1 255 {1 index exch /.notdef put} for
+dup 0 /.notdef put
+readonly def
+/FontBBox{-29 -960 1116 775}readonly def
+/UniqueID 5000820 def
+currentdict end
+currentfile eexec
+D9D66F633B846A97B686A97E45A3D0AA052F09F9C8ADE9D907C058B87E9B6964
+7D53359E51216774A4EAA1E2B58EC3176BD1184A633B951372B4198D4E8C5EF4
+A213ACB58AA0A658908035BF2ED8531779838A960DFE2B27EA49C37156989C85
+E21B3ABF72E39A89232CD9F4237FC80C9E64E8425AA3BEF7DED60B122A52922A
+221A37D9A807DD01161779DDE7D31FF2B87F97C73D63EECDDA4C49501773468A
+27D1663E0B62F461F6E40A5D6676D1D12B51E641C1D4E8E2771864FC104F8CBF
+5B78EC1D88228725F1C453A678F58A7E1B7BD7CA700717D288EB8DA1F57C4F09
+0ABF1D42C5DDD0C384C7E22F8F8047BE1D4C1CC8E33368FB1AC82B4E96146730
+DE3302B2E6B819CB6AE455B1AF3187FFE8071AA57EF8A6616B9CB7941D44EC7A
+71A7BB3DF755178D7D2E4BB69859EFA4BBC30BD6BB1531133FD4D9438FF99F09
+4ECC068A324D75B5F696B8688EEB2F17E5ED34CCD6D047A4E3806D000C199D7C
+515DB70A8D4F6146FE068DC1E5DE8BC57036431151EC603C8BCFE359BBD953AD
+5F3D998D8365AF76D4CF6A06FB66E1CBCFDB3A67D8880377CD677B9705EE853A
+D849F88A828E244FA5816B7D081D4D1975A56D771790C21AE05809BEE6613452
+953F26C39CE61F0E134BC35404FE2F0B7D244D9A6F66E4D817D1C65024013AD3
+5F242EDE94633B8E20EA42B07F83BA649F12B784B2AAFA542BC597C6C2C9AE9C
+39D60FBA6CD16AADB5DFDABF22F37E244DF3987FBFA55031CFCD46ADF03650CE
+D6CDFFD87BF7407FFB63F3FE4C29FE753896101B2CEAB9007B66E29D6A5B85D3
+FF91F888E445677157A5996FC7A3BD19BAF3A3BCF33F0719B992A0F013B1F0A1
+82E42DF6F651071FB407F448DFF37653E2A0569BDD8EABC3280B3582745DB98B
+644E5B341F531B0D81ED85F815B993C2B8B34CDDC6AE97606F6B3B1C5427F174
+362FAB82B935087B568E6F526347058C406E878F1CC2DD05C26D35565347C5A5
+7575891BB4
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+cleartomark
+%%EndFont
+%%BeginFont: CMR10
+%!PS-AdobeFont-1.1: CMR10 1.00B
+%%CreationDate: 1992 Feb 19 19:54:52
+% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
+11 dict begin
+/FontInfo 7 dict dup begin
+/version (1.00B) readonly def
+/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
+/FullName (CMR10) readonly def
+/FamilyName (Computer Modern) readonly def
+/Weight (Medium) readonly def
+/ItalicAngle 0 def
+/isFixedPitch false def
+end readonly def
+/FontName /CMR10 def
+/PaintType 0 def
+/FontType 1 def
+/FontMatrix [0.001 0 0 0.001 0 0] readonly def
+/Encoding 256 array
+0 1 255 {1 index exch /.notdef put} for
+dup 0 /.notdef put
+readonly def
+/FontBBox{-251 -250 1009 969}readonly def
+/UniqueID 5000793 def
+currentdict end
+currentfile eexec
+D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891
+016CA6CA4B712ADEB258FAAB9A130EE605E61F77FC1B738ABC7C51CD46EF8171
+9098D5FEE67660E69A7AB91B58F29A4D79E57022F783EB0FBBB6D4F4EC35014F
+D2DECBA99459A4C59DF0C6EBA150284454E707DC2100C15B76B4C19B84363758
+469A6C558785B226332152109871A9883487DD7710949204DDCF837E6A8708B8
+2BDBF16FBC7512FAA308A093FE5CF7158F1163BC1F3352E22A1452E73FECA8A4
+87100FB1FFC4C8AF409B2067537220E605DA0852CA49839E1386AF9D7A1A455F
+D1F017CE45884D76EF2CB9BC5821FD25365DDEA6E45F332B5F68A44AD8A530F0
+92A36FAC8D27F9087AFEEA2096F839A2BC4B937F24E080EF7C0F9374A18D565C
+295A05210DB96A23175AC59A9BD0147A310EF49C551A417E0A22703F94FF7B75
+409A5D417DA6730A69E310FA6A4229FC7E4F620B0FC4C63C50E99E179EB51E4C
+4BC45217722F1E8E40F1E1428E792EAFE05C5A50D38C52114DFCD24D54027CBF
+2512DD116F0463DE4052A7AD53B641A27E81E481947884CE35661B49153FA19E
+0A2A860C7B61558671303DE6AE06A80E4E450E17067676E6BBB42A9A24ACBC3E
+B0CA7B7A3BFEA84FED39CCFB6D545BB2BCC49E5E16976407AB9D94556CD4F008
+24EF579B6800B6DC3AAF840B3FC6822872368E3B4274DD06CA36AF8F6346C11B
+43C772CC242F3B212C4BD7018D71A1A74C9A94ED0093A5FB6557F4E0751047AF
+D72098ECA301B8AE68110F983796E581F106144951DF5B750432A230FDA3B575
+5A38B5E7972AABC12306A01A99FCF8189D71B8DBF49550BAEA9CF1B97CBFC7CC
+96498ECC938B1A1710B670657DE923A659DB8757147B140A48067328E7E3F9C3
+7D1888B284904301450CE0BC15EEEA00E48CCD6388F3FC3BEFD8D9C400015B65
+0F2F536D035626B1FF0A69D732C7A1836D635C30C06BED4327737029E5BA5830
+B9E88A4024C3326AD2F34F47B54739B48825AD6699F7D117EA4C4AEC4440BF6D
+AA0099DEFD326235965C63647921828BF269ECC87A2B1C8CAD6C78B6E561B007
+97BE2BC7CA32B4534075F6491BE959D1F635463E71679E527F4F456F774B2AF8
+FEF3D8C63B2F8B99FE0F73BA44B3CF15A613471EA3C7A1CD783D3EB41F4ACEE5
+20759B6A4C4466E2D80EF7C7866BAD06E5DF0434D2C607FC82C9EBD4D8902EE4
+0A7617C3AEACCB7CCE00319D0677AA6DB7E0250B51908F966977BD8C8D07FDBD
+F4D058444E7D7D91788DEA997CBE0545902E67194B7BA3CD0BF454FCA60B9A20
+3E6BB526D2D5B5321EE18DD2A0B15E53BCB8E3E01067B30ED2DD2CB9B06D3122
+A737435305D42DE9C6B614926BFD44DF10D14402EBEDFF0B144B1C9BD22D7379
+5262FEEAFE31C8A721C2D46AA00C10681BA9970D09F1EA4FA77428025D4059BA
+2988AC2E3D7246BAAAFB89745F0E38580546045527C8779A254DB08DCC6FB9B9
+0E172209FBE3857AF495A7F2B34BC893D942C145C2204CFCD6A5C69FEFC25B60
+E412CB2BEAE7F7FAD03AF46344F6A7D483BBB1E896BF16B0F4C363799DF23CE2
+E8127996DE841B6F9D8A9E56BD799B6A938582988AF87151BB8D3AEA85C49857
+DD862B5E10D9F33D57795D656FB616BC9B8397B3612131A2B0F472656700958F
+739A548F7C3A348698AF9F6F9821D7A9FD4131781ACBF7EAB885A3AC254DBF94
+02FA697941A0F97F048861788BEACC20DE829764413CA58F9D045A6B38BCD6E6
+E4827247EDF1171F64E3B041A69B244308DC07F66643FCD7D5FD37F36EC4CB5F
+957D4ADAF91850A3B1A765E0E580EDC77556593D1B2E1C22685268469298688A
+45C474C9D0472D019CE1E83F25182D084AD85A49C502E8D679C227DA8E32045F
+8055D1622C478F8FDA342685F858DE3F53F1CEA0D70BF3FE09037D981E9E7FFB
+BC3F896535D0DCF53F4C85A1DA5D0B632484D1F25460E3EB38E251D2AA17817E
+F3B25A2A49C0AEDE0B89E277F52CBF744EF0243C409FD71FB0C574640CF11599
+117A4F42F27D8D282D34485AD116F7E753A8DEBFDF7C552A1179C02B7A37782B
+743D0DF85C15A333BE9EE82C13DBC9CB007DEB5900954AD9309902E08B3D5BB4
+E8414211B971CE8B9F05A61C15F400D9297745F606C6419E8A8A9ADCBDC39243
+617EFABFDCF9F836D14411BD72EE19D0BDE89234BF7D52E7A68ECC952FB74FE3
+33E1A87DA39AEEE9E90406E2B1CF3799C63E9BA858D54F38918B814C0DF0B696
+839C820C26FB473ACC5C08E2056457A74123A398806EECDB427BB183F5458105
+2B66D7E1FC3529025D3243A045625E9DD9417FA089B3C7C394D2B65C0367FF73
+79F17ADEC6B5D27A5D3D3E244A0839E38267ACF07B2D994C2B4E7F30A416EEE2
+D1688F167D1641A72A795B1F4DA3350F75AD6D546AA118B5F8A5085F5794E6E5
+28256CD31D250D8328C9620B8ACAB03E4A33DB4595E959F4D0FB1C8CE85A710E
+22F1940067C036A7DCED7EA48F1EB81AC4735FB26A249A32AC2E3E7636B32D31
+7D76FBEBA106D6C67C94A3BD4256B786B71C6EF8D191CA90CAD8D2EEAD42C6DD
+8BB4BEA7DAD4ECB6E002F3B71C2955A5A401E34D55F755BED68178C270109BAB
+FA0AD848347EB977325530B27180661A59447D7DB55A62D65309DE24B6638986
+1D3A539BD37E74C2C00DFED3336B5C6B28D915AB7188FFBCE3ADB3CB903944DF
+1BA5923A1C053D4682BB8616F44E81E18DB2B58298F4B1A6289CA993DF3E7C73
+B00DEA3A9B747FEEBC4A11E5B9B8B05CA2709B8AA935A42159D3DE399544F5AF
+AC1CC00F6CB94AB69856078C9A2EB2046BB9055CDD6A0622112F7D3710143F1C
+20CD8DAB4109CD47BC00EBCB88314081C1D6C43132412F261CE0262FA28DB7A3
+C7D8534BCBE1A60488EA230DC558B73C72AE87539A9D7E28C2BE05FC05F58DDD
+87117EE8FAF3A04EF44C9A4020B1725993A09C560AFF330080A53AC25D5FD7CE
+7EF47AC32DA4032E3B69032505A2E7FEB961C16EC693C931AF988BC1F88299FE
+8A83805D021F2E3BD6C0F422441E48786BFB7C7B9369FAAC61EF94113FB5A09F
+5B635ED1B7AB82441FA6D37D43788209B0F0CB48675E8F4EED3B4E40B131EFE2
+7A62A5E7A4829FDB51F9D2FDDD9235864795FB6A7E35B00CF593EE5B10DC32F1
+3E4E56F4441D4E21EB964D0802FC2A5CC4D579723D751FB07F49B263178A7F55
+7F5732646257C2D8E07DFE7303BF3E564EF08A25BF42A1E973D5266EB4DCD07E
+DEA171F3A020A5A5EF98887A048523603FA6AED2C4D78615852461EBC8626B2A
+3592FD561370E74C76C37BCD1286D56D5B02D2FC6D3DA35E693DB67002953F26
+A917F29B0CC194A84F435BD0474F94CB7DFE5D62DA09EBCA1BCF344FBCBC0E5E
+DAF4A7638F50EED5F97A42B4F49F6AC709727BAD621D383DE360A9B8A93E842D
+4B91F8097BDC51D0E571CF4EE5C252BE1EB5EF7EB38094E58F183BCA9C827EC2
+F30745A0E0D1CA2FDF07395E9E1AB24A685E6A37565DE435C2D320C9D656E024
+FDFEAE3FDA071E31DB8FB403A7B1F9DCDD6EAF6C2DD70832FF3B0123DD20E5FA
+9150583463CC1C96A61E63FEEABB39C988C152208C348296FF6949DBE5FB84C5
+A15B8F758CCA07DBA756FA4A071F5F83513E928D0D08A075DC2497BFCDF4AF24
+2B02C7C3693C0F303F848482A3DF422733E8BC738197124745A03DD519B827EE
+84E900762D6365FFD2CB41EA45BF0C57AE703AE4DEAD4C477D86037DB937F8A6
+D599D13CCAFE8DEA8FE920AEC09F669F3C7990252DC434FC36F0C6C077C3BBF0
+D70F2686B59227F2CA6244C1E40740C19AD2B3F6B60F933AFC53C4AC65B9F181
+4D8FE23F5C518BC193E4EA50F6731E91BD18B3F3CDD23606B181482F23A9E291
+11E0B29E943262873E137C902EBB3D52E2C4CFE7982CE0F493B891006812CE34
+AF792849A25359E3D795507257DA3B143CE7F036F4730AEFACDC3B09B1436727
+722BC7D257750FF5DC77229F9FB15D25C6DC92667ABAAFFED5EA14096E3DCD6C
+C3C26E0876B548B52B217E1C39BE74C0735B95F84FA239D87545D62169361ED0
+369DA20E240804AF7288BFF7618C6431DB42E5C41F3256E47FA2436E82908F24
+D2D9EEDB7E9D3A81C1BDA0598B4F5DBCF0141D97F1AA82FB08948F78860E2343
+501700E457E03219F1E33998531B5F27EDBBAE52483ED79DE6C294211D835A0D
+A30FC94ADCC7854E8FF9A241E14CA4A3713EFBB932B305494191E93BD969AC7D
+9D129BF7DD661A970B03D17543B64F3D690FBE809611A8FEBD6D5B64C7072D10
+2C5B0575C32383558B0A6F5F5C75603DBC19D672D50F8E0A1A61053D58722291
+0C6CAF79A40C6CA8186ED01F37686DAC94FE80C1FDE34CF9A1E864B5A541AEC7
+4619BBD36317C204EE3098884A992D7FFD05DFDC5422B6067B760690FE082070
+3950D0A1FC6AAC937BF37A964548E748F5E69643F9C91FFC46ED86A1CE613570
+445B9067458CD4F82F0DF1A37E640225086D640A97A9A100E336AAB021F39CA5
+2F8550A707070C8AA5EFCF0157DB7823627AD01A9AD2B9851E39ACE6B24CB787
+17AAA254B349B5C2B1D6478AAFF1E8F450D0A6DFC19B381FF94A67CD15A22CFD
+CFEE409F71E0B9AF34BBB4D5AC0AB98A69797D1F43D9F013A56C627D3D90504A
+0F17DBCB03BDF740E3810AE9AC288B9511A952F4B47C182F3B4D86EEAE488200
+88CCEC9CE4C2113E0C3A75B2EE73577048530474613C27D9D04119CE44D1E016
+77606065D96E89271D107C3281036010944BBEF0810EC016C7D841081D99C11C
+1D83B982E3AF62A32F5A3D56DD6B59339C80D7D461B94FFD9207B46EE809E886
+368CE4589308F55BD78987657E65AC269A8FFC39363F5BD475D8A1A680B93E10
+217F84204A39E12CFCA85A472C528269F04215C411461389AF5E9F2DD8227DFC
+CF1AEEF9342018CF38838D67639E625F0FAA434F6DAD0AB03E4EC2E932CD30CE
+A3BC4B7E67177EB7CB99A5AF5C4EC17BE29EE2B07263EB932F9795E3332B9487
+BB02A1EB222FBD292C5E86F0653B09A194DADC4C24C73E223017B2E70680F327
+075BBA88496F0905578CFF71C07CE3F46D018352116CEAD7F219B1FFBAF09893
+028DD06F5AF04275B3C1A5140CE055CC84FE8CF1019927885B8D173D5A7580F0
+B07ADE2180DB44670BA4E6F994B671C6369E510B135EE3BE61ED047199CF0725
+65B0BA4DC6F03EDC42E332B89D9EE8C9E7D884CBB9A99290B455C8079295F807
+767A6CAE1F5577C6FBF05AA24667A66E460ED23509FEF861C13968ECAC508A3D
+B66840F35A153C78ED23EB1D874CEE172DB4D0CE00622A3B28A6C10813C998B7
+04A38C1120E04AFAF09D8EF9EA6C3750B318707BD4DE09622680D07AB8D10DFC
+D26740AD8EA8E1F7A93A1AE975D0B159869BB452A62959A07D89F339CAF543EE
+ADDF81D8CB868482879025840DB8E3DB9512CB8DACB3546F52C861B1F840AA46
+8A766A437A47574BABAE4EAE70BC4271AC12ABC28651EE7BD063468201ED055A
+B5D8403E72C0B504895E80839D11E54E200D9FA6866D43FB95240262D9892259
+7ECF5039C110343985E3DD0B5AA309B6ABE57F5599F0FCB46D292703BF969219
+18461B585740D4609AB58960F6DB114B5573F890C0A3816876BBF06DFA1E98A2
+8C2A601A76D3A8216842DE2341CBDC750AF85B4DEECA987B5BA66A6F6DE4F797
+07B387CF02F0969D9E154E4204E8A0C0892A814EEF54FFCEC6E351596321E650
+736160981008221EB805C1E49D9B6F2DD183CB41129EF228FCFEEB637CDAB86E
+33015FE68944ECA716C07628B8030CE87956CD0E8DE0205FFDA01BDB84B20FA2
+317EFD862406924353045B0D4241A85124083346F4C00E872CE4610F14BD0988
+1A5F9ED7481F947ECCF2126120E420B4F0CB727FC3133CCBA4305BE0EABEBB1D
+73CB539B7EA9F92588C098000C5C488EA9508DDA2986FAA24309D553F8F557C2
+4D2473903552EB821353DF4534623C6AE5EF79D982D05BFF67E97F2C6EACDBE6
+EF0467FB82F54C00EB9572B1A13A3CFCD058FB1FD7FE954E800D3A892C2F61A2
+094EFB8F89585F933E56A54D0AADD20ADDB9E937E138D53C8AAC13E0904D0B40
+055B2AF95712B488414BC1089BD29C1160034B1A1A38C95D5936D0802E11305A
+C8090D7EFBA3624704AF26B0C05A6133E27DAE7356CCB5C21A33B07728F1E83E
+B0488734103EA8DB4192741D536F7C97350BA9A006D60603B95ABA09A6C71BA6
+6C5EEDC7B7DC48CC6467FB8A27ADEE17E7A96DF0899B87E47F16D615B1B91A26
+B050C27EABDD028A92979050039D1CAEDF2907B061798BE79E62A4EC5CEEA6D6
+12EEBB05FBB716A3A60F6D3CDD6CBBFC4CF4029BA7B1180B76C85A598E05E083
+EAC829660C76529CC5E6603DACD5D1A47667D713F8DEFAC3F2E203E4344BC38A
+8B9D8916EAD5E48816F31E0DA810AE5C21B09C184EFAFB3F17324CFBD2B696E7
+4AFB2D060E9A01A7EF4D0B08A562B499737E3FFA3CB0960420807455CD330703
+A9B2BC874F7A2414695AD4D87B9134E8A53D65EF82DDD707B9D398C3EFDDFBA3
+C69E1B3A5BA5FDEBD4783A0C70E289252CAB144C00222018BF2CD8F2773B5BC2
+E06B8B17A3C669A43409541C5D4AD0DD5FDF21E57BD420EE40808B7535706BB4
+67B11AF5440E43DCEE2EE4F420D08AA51DA170B08C5470EFB6C731EBD7649975
+62F58090389120202D7CA8ED4FB9AF564985C1BC9C00CA804D295CBA672C16A6
+EFA3F767E1BB38D6D364E21430E70E3B4AA4ED3D6FABEF4DE09048EED656E400
+89CF3F5864C75C3600587AA94EAA012201602DB62C528CC05DE3AF08F196A861
+57FBE68BBEC5DEACB74B9CDEFDF54530EB5EFFC56882E167F0610FCC7C461F30
+A3171557B94E7BD0D659B7CC2CD0B8BFF57D7286AF2A7378858A4445ACDCCE48
+C7A5C50412895DA2265D32F195E09A07805642EFED5C54199080FE10E2941FF3
+2078EF7EEA1CD37C35D2B4E708DBB45C328BC16DB5D6F3DD77612977617E74FB
+34088498D0D14A7C8A25D2A8B31B1FC242F76C63984205B4242975B00C9D53BB
+BA04452FA68F4854E3A96B27D8FEFD2C3D772795FAE2CA868B485F0622D8EAEE
+12BE413B18668455B3C3879C080C478C99EE6F4713C1B417721812E021B27970
+C4E616793ABAF63D206266E92813FD580B75B5436618003B7ACF906D97AFCD4E
+E1497402BF45DB772D011B7C756AA89B9D4F516E82E9ED0670D4A7684C8A3763
+615EAAFCD3C7D022534AEF4D43F494D0EE2EA4D0D87FBED55F43AF3B42FA8F5C
+3B7789141C8EAA23EDB6B988E492F22287623B61F130FBB6D1131FA0AA6D8DF4
+70F5D8A3D9163B96F1594124BE4452E9C5864814E698717E49AE7A39D07F42B1
+EB27EEE6E0B53D718115725B2EAA2546FCB741D1516673D4BD2E88EE33DEDD30
+868E4C61E12ADC25192A724695BDE0C72A54E1C97555BE73022C3C931A708D72
+DF11C1A1E371C235AFE73CA254A6366643222BCC641979EAE2DD8A29A186B78C
+B1DF1BB02200441D1FD73195158BB32A03C314AB974C7B641C5C28B4B4628D0D
+C0C5559B575727E0CAEFCEAA978D1D1EADE592A2E7B9BA7DD0D00A3AE759718A
+A4904F6A7EEE30EFF4AAF9F3529D1C79F654DDF6DAB70142A17516B8ABD439DA
+53F6DE513E8CB1FD7AC03239F7DE76041AA11D3BC19CCFED635CC9835DA458DA
+A25C394B6679DAB4ACF76692C9CBA52DB56C2D6467C14ED50668D7678DBE81DF
+FF0BFF55C614FA2609DD902C14FA3A379664E449A0DCEE81693B10F60AA540CF
+81540D43290BE0AFEBED295461B649A9779DBCC1A3BD9F1A5FF1E6F887CFB636
+8C02DF95BE1B47B29337E5C15784409074BB88996F2F753C5B0A0A3640D5A81D
+3C1C6CD879A8E2B3186A1F030B00D023E9E903407BB8DD148A7BA65BF9A95FB6
+3980046A774FDD9E7EA5FDA1F8810FC74CDC707658D2C0260BEAD0AA587B34AC
+36AC3FC6D5F105A8FFDA7E736687050D5AA3E21E240634F443F764F5232C6A13
+C9FD4A61C926A14D3FF8437AAFBC201553B745CEA1811D1E2D028F4DEDB4A8DC
+2344EAB65DD7B543E1CBA556523A9C696B1C7160797E85598CD5CBE336FFED1A
+8CB41FF8218C40EADDBEE89285648A7DEBFC1700CAA09BEBBD163B90A6A2342C
+DF9DAF31D393E1265285C83DC5289CC1C4C128B820044983995D36E77608C40A
+4F167048C14E5135ABFBA5E40484AFE8CE2251156DCC2E8C847EE2D8F7E29B48
+50B6EA48C53AF6D9ECD988ED30D316CF6FFD07946EE3ED32ED87D4579F14635C
+850D3F625EC16A287FE70467F8BD85BC72AD0C5FAA1D70DB9A78BC573DBB0BD8
+5C89B19DC37C715180F86BBF737021C01DC41BA14A370ECBC8185D5060348879
+B1FB58AFABE8AD55083CCFDB8A5BF3618B2AB44FFD556AC5050D708315095C37
+2164A48F1A67BF2E40B5F15BA0173C0A247504ED1342A8968E8527A0C44A95BA
+0F3DF0A60BFA33F4085615BD6BB6B6F34CEAB9AB0142ADB2ABAA08B028F1E096
+9F38449495A706785CB1C46B5E5731D77F28C2A73C2AE1BEA8FFC5F7224CEDDF
+E66A0B0C35DB740A3D2398705842D49C6161D88F7CD754A289F7B3C4940A3806
+FE2908D54168F19C1C98FDE7822FF31375CFA6D359B6762844DE78CD51075604
+589E3229EB6E3D1972E66947B4999FB4E2AACFB7A965FF3260543F289DEDFA11
+C8833E7EB2972F7C7CCE00B6ABB95F5740C9E2C9997F0DF39BA7E43BA6B5ECA4
+C587009D37CEB257865A1CDB9A0654254C225E11056E90A4682E4BA7C68AA056
+7C54A81437276F071B067C5E79711CF6147D8ED3C410BE2C874D4BA26268B190
+F9AC54BCB45B23207426A122A6D28319C2EC5A6D2D968CF1216DBD74BD9D6430
+625DFCEFC3A680EB2324F1E2ACFD387CCE51788A401B92BC3B86AF185F8EA881
+AE9FF6A6A9471A6A5701CE2B987CD4DA06634785112E326450263FF6193C304B
+80ECF6EC773CE8DF1D248A6BC027D3547D1C1CCD7518F311A1C06BDFF8B78C26
+27DEDB432D0AEDF36EDB3FA156B81D0773B17998CDC8D5B9C4837AFF61000B10
+89C233A58051604DD0ED874B9EF34FB16AFF0186D795508E04AFF1B7537C727C
+AF79F73B023B67BE4574F931C48CFDAD8FF4C08A89DD85022AD6412F40A3D95E
+9F1040B2FC92B8D19DF79AC537AB96DE652D5BB9F6A957BB06F9DD4BB4E18628
+2F3689C160F8435677E0FB6847144C18D9C650CBBF7D97AAAE4F9266E846C63C
+F45577DBEA7F5203DF521812003AAF9699918D090B06D32378AB96DAAA1BF45E
+C9FA449E7F67561E745063950DA722C50BAADC3ADF03CE66060C85F31BCA0643
+D419D74D352A065271F01F6A273650ACE31F43723BA351E3CC279A3D8FAB0DB8
+4D587F126BDA34D7AD10C76E17003621566F8E19B71A4C434CD4F1D7AE686A0B
+A07172AB285ACE6F1EF89F16E35B63EF5C458491A5A0A10D49C3CBB7FA7FF04D
+F6347FF5331A1EF9CD90F66AA875B1E5E4CC1D11031CFA6075C43B4D0BE9F5AA
+D2C9B0848EA42591BCD48F552DC71077B5E0458226716B266D8ACED04703F644
+43F136C0ADDABAD16380FF9DC9D6F8761C1EE0F3E067B4EADDCD8074A9F4BED8
+28EB1D93F2F69060E63D3B7A75DB2BB7EBC84733B38C302B359BF0CBF8CD4F06
+868DCC36E5F5078A87602C77C00CB36A1BB749F3B66AB3B259B015B839DF0E33
+AD6C9C7220C3B3ACEAAF37F2BDE073D33A51DD60EA827B94BE0739722567D1A3
+8E8183AAF92A41C13BBFA53BED31946F74DD91211452FB2111B4114D4BF69349
+B47BF8BD85663C615DB8AD7E5814F9E9D674AF69EB52802498EA7A520EEA6A82
+6E0799FD975ED07F59D64A139EB98256CB39868A60F5C95B76F1B32CFC4A610A
+16A41249F52A0B484C89A8CDFB8816B65093E629390B6F716820DCA409EE3B9F
+E749AB230DC69552E32FC755C726DDB02AC2099E7ED6B153F4FE112EED6F4216
+0068B75329B7D0C52B748866630341391CC8FB1C69161188F56765E1BEFBCDDC
+802BE5EC785BD1564DDF133015B45B481E6E57A4FFA79D49F792361A970652B4
+B9FADA8242DDEB704DB34D4E84F9E7A7E48AB957DD04F91E96B15A8F742B64B3
+EA928009F07EA6B727F734E60EFDAAADA39F2909222A5848D581ED647105575A
+78AF6704B14A9BC89616E21C42995F0F10536E8B66A391DAABBDB7E077807CA8
+A1CA57B2C2551D3A5574BFA56CD930DEDB666B14D9E5460DE2F6FDE12A101908
+69912C5AC85D24E14F14535403754901B1170A5DE349FF1E9AA6DF86ED9DD992
+0A403B4411D73E3FB2E0F8C02C42572790F0224A7ACC93E1CB0FD8009F8229EA
+A6BE77D644B44361C340C2F04585550C9325D5D89EA69EA8E9C77BEB254D9D06
+074E9594878BF49C8BE1DA57EA01730B40290A87862A46515E840EF7EF95D5C2
+F7CB0438C94F7196D0150A2606088203E72F73889C6B351D3B7AEA89FA8ED68E
+BC22C235C8B94D91DEC7ABF4F67827C123EBB2E0114CA9B430F8C3A4C52D9F91
+5FBF1E5B7EE99EE1F32FAD68E51C9EF5857935D90CD6787F5A7D26CA2DAE398C
+B0E03FFB6686769682F45187CA9ADC29528AFD6C0626B569D1E1CF81ECBE911C
+7272D78A7E9C2892E0A9864D82DD7A06EEE8C79DE87AA7CDEF73A81F62174E28
+A3DE77D00BD02174B4E4EE5A960CF73F742D0402470B87C1255AA3FE9F9C0798
+7C691462AAD55FFF9115731B36F827B8197FCB50C20AC134427E3AF225F3852E
+C320C4F6564D19E9D90DAAA6C6989440EECEFBC7E0515F6C903ACDF55EBB2745
+7FD1866136E1E34CF014CBF6AF08BF8637046532A649D2A703C1D163AA125FC3
+B5A1A7A54787690A355A386198B496440EC3DB11C0477B0FC6A1BFD9C68DCEB8
+D05FF860951090B268B62347999024F0B029619A1329A7CDC9B22E221F29482F
+7880831094A44EEDB2BDD19581A52453E1A5CC6C5D357DCBE28C087E64F3BF42
+A34081BBE7BD7CBB456033B6B743EC91E8F31652F99FF2F888157BB68605E782
+A08186A4CD2D3185B96C4DBF360530FC93B1EA53F295B47EB37B7FA1DD44C5F4
+416E4F17CC18ADF918BECF8A33D638DBB55567FB9BB3B416D4384D709466BDE5
+3E19F1A83F5A635B879BF0BC9BEA61310213702A61A9B64A551FBDFF61D7A484
+E7B92AD5E0CE331F4D747750E4B1D05083370437C57F4175F5D632BDD017A398
+12D14D8A8540103F3C8836C108063D8A354B61B5843E7CB98B68421F7EF3BE66
+DAB94C5FE72A193A6A85701535576837E16173B173C4D458BFAFCF235DB013BA
+3ED696A230834BB66260CD8B6FEEAB419B16C8D09EF7AF735263E9DEFD4491F2
+8ADEADFF0477E817EB061C2FD5501FA5B11EFBC8F2A251165E832D7498C346D4
+0C5038BA7DCD69117065EEEB44A4D2F1B00F7812008578D1F08473950F91602D
+CB26FD9A426BA5FBCBC3A67E43CEFEF418D4DFEE378B51EE79914E438CCD8512
+5A3FDFC5AC5CBA66884350FB1817FB8D81512E4421CDD7B55FCF6C5DC5AE410A
+FBD21F40836104D515BDD985FC5D7FFAE58DBD62099554740986A908E655BA82
+5879165458C9CB5CB893A1300F850C70C9880979EEDDF306C1B2CDEEAC6F08A7
+B8A286E2816D538207988E80C8B8ABB3B584901C310A2C37E2DF00AEDC429F9F
+51FA60DCA40CFD89457C0DEC2329114407910E6945826A15AD634A34026524AB
+D7EB01765E0A01735F527D084D99D70AC10FE0AF7358D2958734BD3B251B686F
+75370D45DE3B02CCEB64BC773DC9AE49C5EEB9CA4E1F6025F37760DF03EB384A
+9AB69AF3695772239C5C210144E7793801260D4F712E2375C7BED1475CF0EC98
+7D3396A1FDD01ADA41E26B6FB486E7A65379CA697E94453E12C7E1EBACFF713C
+7686104C1E8A97F5CA43D90720A9DF8158BA122B30E76780D2D7D14B28A8E2CD
+487EA9ACD7F41FF520C828F96B01113AF6326E709FB33E4C0C40630ECDBACDE4
+2B00CF4DA171C5FB56EC13D2314AAC34B7E6CD522EF577849F16FBD63CA74115
+B1020955853DFDD69504896C78DDAEBA13CE1503CE6298857E95AD30F9AE3D13
+EA679C0755CD9D347E62C2C6BB02B3B70BB5ABE5D42E933095995E82F2B468E8
+1E67BD75E31F3FC998AB527CEAF6D22C3A9D3A9D37F49792B0613BC26E966D10
+ACFCB08924B5DBBB5F34C1532918F5EC819D58D58F22F5B4C34091B6D5D5AE4A
+2DAA6A4153DA1E980C1A877F92F3E62CADEE753F835E1D4041726AB4DD8FB54A
+663731BF848A92548D7FF200CDCEB755AAC2D4538D609CFC32AC7A64BA4C19A1
+A60FCC95E65834A8477AD1851D4F42313C7D45BD41A7C128FB3F1EB3B8A9C9DC
+EB87ECB0E62437F660D7B7B1A2BD1A83D0A858B48DB4FC346A5019BE1453FFFD
+365DB2B79BA982FF3074C61A7EF728068C3276A7454B934249CB0FF347B72375
+2B98FD0D5407161B65BFFE96F974730D5700AC5426D102933BC8CEE26A3D7CE4
+E91439C6AC286879CB513453533CE793440B6465A43FC931A95934B0F389FD9D
+F2C414562251BA1015F2877F28E0A113876AF203836E03AA29BD327204A55C35
+A8595C42D4C65F6F7EAA5E7C82F8B764B311428074BE70A8A730D323C96EBCB0
+3E0DEA328220E2DD2967423BC227D2EEE3B92D520F08AA0C6670F8D3634F9964
+80B6CF0C575A43AAE6701022678EB581216F94D96E120319F8B4C669DB4F8563
+1EEE57B64FD370EACC725A8C3365A9DA815CCA27ED6B225AAEC2B63231D9EDD1
+251B2FB4E2E428427005B886A09CC42A37323DB8C0FC0B236BFA6608BF3BF90F
+F9331DE8D013BE9246A5F7E11BF56A82480A7E3A789D2148EDF9D4C31E9D1621
+BCD28FD7E3129FB191484009367760D442109F4289F0C1F793B1B54A245FA790
+FA945075EA220FE8BAC943E1D68DE00BE2401819AE2F0854AC5C85EAFB40F5F8
+CEF3513B826DB403A4C94CACB3CBCAD5DDB843C4864840AD4086C00C8354B4DB
+6F7A67A9238155ED872AF356E27BAE5121450C534F1D64C5814E9FAA11FC6BD4
+FBB0EB1A762EA9D591C97B938349323B9FE6B541A13DB805D6DD18719C3C7BE8
+EFB5471E10BACB574AE708504E9BCB71861246CDABCDEB07164173C949FE332C
+4D9EBA9DC8DCB71D914B4AEEDD0F91C891450BD84D7CD827516E33BE15F1AD6B
+30396AF928DFB1F8078F439C335261C98BB7CD4DF1532C0F04DABB1B58AF4874
+6D889884716E069AFDA1D41DD9773B024FDC110E565DABD6FE092E062F394EA2
+4B23A3F5647E41143558F695F1648CAEC64AE83F13B900FE6D3F3D1CC94137D5
+DDC2D608F6D09E46AE5300FD23D9873580B6AC180B5CAE378FC14189B8823E96
+CDA6234404F1D472FE468FB4F8BB2DE023BDAF6F43156720B75B175F94CACCAD
+68D901CCC375B24AD5AD32965B59D528B555DEA3585B610BFA6F4528FA5BB645
+525F2D4DFFF85703A9E3B82F43B5863FC5EBE8D0B9D96C6E8DABBC2D84DEA858
+5B6A1D35CE535251B09B2E4CE62C43DBAD3E86FC2E0EF06EA1FA62A4B6EEA756
+6EAF9D5AEAC1337CB9D791D54CC67CDDC03FEE7A4BF9D9D967AAC6882EA113C9
+3008B00C93E10C9B5FC8C763EA8EA0C3ACB25D29DE119D42A09019E539D0D99E
+69DC8A812E12D5FEA6E95EF4BB6F142AACB08C5C4B0440DA7202830C929B2E75
+9A7294BD9E4F4F891BBFC0CE1029B85FEFE7AB2B4C7731DB532A79A365A58258
+76F20C921730965662DDF829970BAD45BD66D6928DCFE7399A2FDB0BEEA5F75A
+8488E764D3D29CEC29558F06370948DD2FE4F7985DAADA9FFBDDAFC956AAC926
+9F924773215CE94B0D3632CFEDF4CFE7AACF7940FEDF598434E4F82E9F6C9C22
+2DADA01E508C43FDBF0E41454A57682007F12B979E6C21BAF4380993B54413B0
+50A8F42E4D5D8C11BEF44E49F4543890822697654567E8BE9EC4487A00C1678C
+D25849E8B3CF962D0EB05A3C1BB5DC3AD0964DA95CA31DC31D84FD0757725F02
+D1A9906969EBD96F5B5FF34614F7030CD4E7C39A6324A2E3B3D70002CA3FC904
+A56B650D65061B3FD52D6D0ADF4C9230949F0C89058F623AE1126ABB094517E4
+CF8529C15C7EAFFB689F749694BCA6BEB6208D9AF34CBD4B2F50EC03979E59D4
+DCCA4DA1CE446CC07A923D80D9574B5C4A9311B4E2E83B88F378998D5CCE9EDA
+1778C87383FF7363A374FA6E5272120EC8032FA66EBDDC75567BD586FFC49DDF
+861A0A3A3D382C07E1E2CFB2200EF1F8D6E47EA35FC0909F6D4E3EFA71C68327
+374F80D5AF728F4C7EB3BC8D470D67FEFC190F86FB837788E058223E2A0E3D74
+2DAC9DC921F7CEBC61454AB8D82964F636EE2E235F38801032F451039CFD5DB5
+D7AC5F17DBFD037123021F2D661A966F70CF41782FA372D86669DB84557C6EF2
+EAA4E0B2CA8340D21DF6F0273E286B13FA6BB4505BA75AE8A25FEB68A14967CB
+2F32AC4283212B8C7767DE86CE7ED5DF41BC4B4A26F0E3E1CE53D40C64A2FFE2
+0882EED4A6663DDA91BAE6386AD46CFB4745F48CA93F7E89962067DD2808F3C1
+BC082814D72465ACEE843CF6A2B2C9821BE729E04B8F8C12FA56EF1B1E04F005
+6167690B0DCDBC4DC8FB782B0DEE1B00D586DDD499EA9D4A2394DE1339A8DAB3
+A71E0F8CC3D3DF4AEF3B65BF73E2C6EF888CFEAA804659B6AD76708F54E36F88
+7B3D9A39C8A9FF93205FD30C87E9EACE8AFE46CDCB5520DA38A5228C5B5D3DC5
+89888E0D559F379D40DB5625B2394805D7BD7052A33EC03C399B3413C44ABED6
+111BAF898686E9CE54093969AF7B6F2FD9E27633BB681B8218882EF7BD9877B4
+3F649F01FBF7E8C5F523E66DAB6485FFD34FE0CA373EB4CF8BD7C84CD22A6502
+F43F50EC14A412454156777C8935E5C7B61B9E4BF51132D97EF8DF945068B33A
+3C122D4C34CDFD5085C6437F20CEC3B29E6AAA2065AD05A19E7BB92969EEA246
+87BEAAAEB0F01F53844AC095F629AD8D0BEF5AD402D1C874CE9DE233326BA82F
+BE7C30A81A98802A01A3D5113285B0EBC89337265DA78A32512397426637D5FD
+58F646D86B111E53FF600FDEEC02DD2DA52DA9AE875F43585C69733B7F5D8515
+41E1EAD1B961A6920B9728604930397AA497739C3E8B2470BACB685ABAB79214
+5EF5E1DC2D6FCF072A01C43D5B0BE96D9D4475474F5B683D01A03AF6D2979FD2
+58F34D54ABAC17D9B7B4A9DBEC9DF5D179C402F4B1FE8F74B47DF5C628A22762
+5853D4128C42D4D11C8DEC7E99C01F4AB06C57A92D84C55D82238AA1ADC5CC85
+1A7D3D2DD4CD962FD2EC8B3251B360A9A55C3C22DDCAFCD06DE5F9F2D859260C
+1A14F2650D7E83ADB95231FA22718B8F7A2CE6A39E44AA844EE6CB6C1865BD4C
+2425E517598BB8DA4ABCB8F7B41AD8AE2C364B85A7439598F1F9A9696E9FA50F
+1BEC16680627D3346DF648576CA30DA11B04F2C5C5AFC18EBD9EF3A04D4EE2F2
+3E326A34339A26924C2059A50C5284B4EF69140C6D99A5376F79C39B006C2D8A
+840D064DB477C70EB9B0BDB4581C493BCFAD557A01BDCD96A24B6013780C0DDE
+65C1CEDF6EDA691BAED459EE21A54CB814E2C6C05DE4D8D3EAB7010F12747EEC
+EB73CD6846C12B4F2FD8F3ECEFF292C255B29AB938F2C3DC50BC46ED04888F9F
+5A60430EE5871FA0488422819C81849BAB5D3FABF176CF71168A7694156DD65C
+1837A0916DAFFDC44D36B66AA28B3BA1C6178DD86C6A096C6C36794935BCE017
+DF02EADECA82A05166D2C100A56C2C4038E3A3694401CD53D514F787F8361279
+2EC1C2853D50DA2B2C481B2CAC90726914DE60E7D3F99C0AEF696B242204A174
+CB4EC72F5B142190E913937F422994B5D082D412509C67810C6D6F6B3A6E7E4E
+E5938B3FAC8E8124E026460DD215C4F3E01E399B3C25EC98E7F7256E0BF02250
+BDDDD75E918B04532C2E4EF6984C5A546ABEEF79233893FE95E7AD29B22DA6D1
+B3A722417C714688444C7DA3E545407B8E95D50F75F4E0AB7CAE2EA9AD82C43C
+2C2ECD095EAAE32158ECCA60A5B92D96E760CD2474454C9025930850705DC591
+FE9B8A9B83F0A59D7919BE14A4E57E164C114FD4461506D5D32001F73C70D21D
+013F753C716A60FFA0FC1E8D5726141FB24EC31E97FBFC9C11909706FE8646CC
+983B0DEC377A9009D3EFDBE831518DEF429EDF15D4D0B81D932F18ED82E80D1E
+DD7752CF86609B6801D34AE6733317369CB04AE78C5AB83E9E72C55F0FFBDEFC
+521C1AE7733880A49B109DC2E6E11950A22A094DBC4B74DB9326E7AA2732A2D2
+D4DBBEED9B069829444316B586CCC5F95FFA1807D31EEFAD24AAA205F2ECBB37
+927D69F778371A8765FBDF9E47D908E54030996576783DD21A4B57DC28CEE8B5
+46E88FB974A48A15437630C300F527644A83C286420E843F8980D507DBE88D07
+08CB5DE0992A1608D994853082567887C6E5C62B2751F78E87EE808A01C7E11D
+6401C4226C0B9615E778C63DB94A6180862183C350020ACBA3DFDA4C41E028FB
+4C6286B287EFDE41D4963FF5BD4D849729067A9C99D6BB9D90345E630DDA41F9
+A6F9C0D3DE55A58EEF3B01ED8830E785015F3BD0AEDA7C79207A249F46CFCCA6
+FD26130A755B058DEE5032BF842F1D65F1573A2E53B8AD566EFC9211421646C1
+83F1951BAD29A5AF7FD01A9E267BA2B91420EB7CB0CF3A9D61BFDDB23FA70390
+2553247EB8A1D940BD6A8EC2D5E6AA90E7FB1E23EF6C68F65003CEA43F34F59A
+807CC4D834EF3845D9C192F9B83D44138DA9ABC8B05C8EC383596FA63642D774
+26CADF5AD03D5F86830D61556E212B49B0C73CBD761E1EB254CE971C4E854EC7
+35DE8CD55B036D00C2407E6884F4B0BACC0A7D8CA9D64F32E78E97A6DE0CC2AF
+C86AFC0EFB124CC153B3528451A064465A68A4898AA720A0932B019A81F1DF6D
+AEBD44901714879141C2153121583B695C1F54855671FC0703DB52CCF8306636
+B49196BDB6FF50FAAE3C9C100F5E8AE60B112144C72552ABAAA0F1C2560C72E6
+0DCB995D07686152CAC803A73351E3914DB513B7C8D268FDB1F8965B06D95ED7
+DF552B25C4B3465173F37D839159980598C3DECD6B8555758D88330E3E17FFCB
+D29B2091A2D9D86C15FAAF029A718ACCDAE07C7E70342E1C2A47627A54A162BA
+9FF7D5E72485BB785C09FB709BAD704B8E7C3CEF9066EF387E7D9803AEDCA0FC
+A786E44EA4371613BB4AC89A71016E3857450A95A332DDE5E348D96D04838428
+C9EF68881B174397FFB02E9557CCA0978F098E6613015ADE1994A66B47B430F1
+5FA7C42208D301FFEB0C35C8C1944987A025F0F00B2A5D4E71A4053F60AA18DA
+08B991358C00879C8DEFBBC37AEFFFFA76D701518CCD0F773EFBC32E400073A4
+F91B3BBFDECB3B697D23AF2D526D4636E740DDE5BFEE12CB605D705C69D98B21
+E62BC152A81A7ADDA0CE3A2CCA277302647A40B3F94F884579AC6DD4670CB768
+B11E9C08E6FB9B6461C21C9090ABDE38ABF5F2FB7C6A163784215401581C0FA0
+5EA26685A6AB6351F8967C3A652C61E467ADDD5DA9CE1E60999F95EA03DCADBA
+636EE42A60183BE03A25550D37BAAC6A177361F106FD1EF77946E7E21FF6F17E
+0B09D91B215CA56AA2799948B07213571E2C462A273E3E1C582E991207603D64
+C348DBE840D52086441A52896A2EF4305AC3F5048D9AAB82E4A256AC5BD25DCC
+14DECEAFDFD4E46098B5DEFCF699852EDCCF7EE6DF2AE8A1BA43F77BFAE0B16F
+08C783F559A763514CA8C3D114E79D47592A52C1E4FD7AE46E13817E658D509E
+2B16B1AC6EA63DF28961F6D35D584C29AF35E6021A8B1D0C5AACE373B5ADFDA2
+CC7C25BF3F6397DE4B97D012DDF18A066D93382B4E3E1EE2948F4632984DD1DC
+4795465CE32DF616F42463605831229F6F3FDB8C66420045F0409EC28E5E45D7
+5A5979B40534A35343C6CDC35515031721D9A41480E61BBE5F41D0173561F717
+251E614ADA39D9CAFC8017D2BBD6B8A7D9ACE4567B3481B0386C247041D8535E
+2059DC62BE192C837AAC57ECE8BB1256A687B9E73DC708FDD26E2A07A0FCCB85
+5C0600DB53B27C1BBEF0730AF506520443AB98903180D5F6B68273A6A81DB392
+890B2D8B56555758EBD98F49A60BB468812928C80AADBE5E0F8AE8B17277799D
+ADD186DE3F8735C86CE4DC9122FADE97507F52B1A5DCD766880326F5D07ED228
+C68D6F1256E08F598B9C405D32011C07E3EF24B33ADC2BEEE55F2CA3C9BEFEB0
+4F9BC5339835342D1B1D1E2E7864C924E00C009BA28029DA8AD356C82D4B987A
+DC6E6405542A7048A952657A0A94D0AAD64A28EEB99982C9C77E298B019709C5
+67922CD18D730CC44A6E9C9C03CC22647CCE27B5662EE14BFFEA77A58D99E657
+0D21CCBB6464E161D3B4C3DC0CBD41EB8B67CE18111FEDDEE11CFA14809418B4
+1DCDFDADC8F204ED30F457E21EB21492E66094D37B04EC331B34BFB08DA5BD5F
+BE5ABE603E5E26D003DEDC0151BA1DB0BAA9EF1293DE5BDDAE043D1F58177418
+97175B27708F82EC3BC739F3B3CC50A2C7DF59D2EDA2A3A701217C0B4F3425EC
+150F2F53EC9C7F823A35C1B13DA22F6E1688DB0D18F4B0E7320EA04EA52D1D23
+9C117231F36047CC26C7B15AA6FAADA74E07F4DC00F14B621A33D7232B37614D
+2014859AE78E007C8C57F2B0800817848623EE7E7DA0335A7D98088C1BE24B23
+9584830E0AE0B406A03270B81D1B3D1CC8F838C72EFB71BC4E56F423C256E550
+E34E89EBF764B578D2576F8171E6EFB9BD269F2C96C3335BBB610D8589DE3DA1
+AEDCDEC233B6F7CAFD98E5EB6A14566E43952F8AB3EFFFA2DF5BA57E9FF04ADC
+79A8E2A1971D9E5802794190B5FB7131A47C8790C1AF9D74134735BAB737648F
+5ECF5D2E7B124B75922C67463FC6AFCB67B4B050E0D8F7094966E8D8C42EDAFB
+FCB5A34AB0EFDF76ED504FAC574C7667917B6DC812A2C062FC744BCB4CBB8009
+0201AC104B89711D037A28493C7D40BBAA55A26668428384E5EDC782A896D2D5
+B67E7E5D3E1CBBEA10C3DA445AF8B51B387EF2FA5A12FBE6F8F5FF04FFF0AA8C
+0A934A2259067CF3A287149E79F65339A1661D71E31E77A84D8BE1C030B4E849
+E995B605C68C2F2D662DB7BFFB205F4A2C620115F61D472405D0745D36337C56
+053AB2EE55ED8E3B46FF9D634AF9C2807B3E8A919BF7ACC98BCAAD21CEBEFA70
+F9263F6438BB0F791F35FCA852028B2BB08E5B57F25E3E3367BF7C7EFDEEAEEF
+64654A2C610F133228CD4159A997B8C81C4ACC1EAE871F26275D1C46F2A71228
+3AD44F71E23E7B9D8CB24098F82793417D1D6B547900F304F0BD915D70388940
+6BC6BB4F99A25171A19A3A49A4682BC2C4819445A6383A0CEC2FBBCC975064C3
+A8B783644C5A9A7B45C51BD257936652E470FF4876ACD7D567468964E1D17E4F
+5DE87E683451CCC4777D684E8B75FE7879670EBFE59972F3B4F85E20A056F5FC
+9A73B433D6798F8132828E29E30FDDA1C6592A846B14F92D2BB812D3AEB8780B
+36F2A057F3C8FF33790598EC213C88D21A75E380652B0D4308E4856ED490F5BD
+A33A67149FE25942BEFDCFCBC1243659CD06477B1424840CBA441885AAB15C70
+1F05F620B2EE3F5E171C57AE618560872D76E985649E8C8178769BD863EADE0D
+DE389553B5D4EE8ABF2FA369CDBDD68BC74C1C627949D90ADABE106AC61BDC34
+AF63527A7C44AB04726F6D2216BFCC49578C10D9AA5A83BF402ADEA76503752A
+44A1E728C720ADCE158F5555C4919CBE7510AB284FCDA60C44473291851043EA
+E27EB7392BC9C02F65B218065ACF4A2A12E7E6C191140C7D16890EA4739D122D
+0D1910388185988AB09430CC172034413A0097E8E4EEEC00A514FBFD8CA689C9
+FB1A59A36A678B81CEAB955DBD690722D33C28828CBA0911A51E5CD170620018
+2D88E8374B77DD966ADBE2F693685B43EB7FC26E5C107ACD8E1CD3AB0401DA30
+E75D5378A2E95E4E068AC2CC8DBBC377F964787119122E8674C39BC01464D9D4
+6AFD9D742ACD9C8730C26F3A29D754F292F21B50E9819B75D7878D1449569DD7
+CE9619F575219243BE5C48B6C29E5D93DB338C64544ACD8BA3C60B8DB63086CD
+4E7C342CE820938C59B90336C494DF404FCBB970580C89CF3E430E4B5C648F1C
+5AAC545AA7895598C44728EB40597009CEB21F94432843FD41CBE45EC38491BF
+F1A492213D9B002D64B26E1EF68C939D7402AE4C3B5268DCEC1F55E1D3CFED5C
+21F43524F211F2646FAF3F4A73B1707CDD2E302CE0297BE68BFEED4D98D60EC0
+C331FA1FA8E94F8840E822B01B45A7F1FD0E34C95A4B414D2DC72A765C3A12B6
+2E61819B8B8F6E549C3AD47F4A005933545C7F4537960466DEAD6DC011C691B1
+230B986605436BB3F87716BAEDF2A009CA6CE0B3AC37A14E9E3D50F9393FD7E7
+CD9C9B4E91C4C0B8D6A9F093538991E08657EA0D37561EC0357A85F2F1D9994A
+73728736C1D15161CEDA7335EAEAC671A519647BA805E095ABC7ABE4796D6649
+634167E28BA49AF423D23AAC9151012CA7CA16271C844A02655293A9589AA236
+5408AE35CBE9FF075EF4EC925F8D82DFF3CE17EADEDC820C2BC7DD1671D8D546
+B333FFAA0B13255B8608062ACFAFC4BAE24DB9DBADFADA09D939E39A69BE279C
+160F8AAA24B939A48AF73A17CE378DA9A8B2F9FB6843033CCAC112CF9D4492D3
+B0B8B51997F3077A185C240B8CD73DCD8BBACF71762963D6BF35985179AFEF4B
+F3720D8A17CB7CFBFF4A9824518BC2311677C6900B37F6338547EA7274D01CC5
+FAF067C615AFBAF3B625FB7354368E58A6C8CFB9974E6FE9F72AD2C801108A48
+7C5C4C57BFAC2718DEBCFC39573842037B1E806C96BB76E310994014CC777A7B
+7072BB178DDB5A2E78D9441C4008D9E72B21C20D44620648BC51B8A0AF3C5B21
+7B7DE4EC1F908DA6248A818308C6021EFC68AAA131DA1233CE09066FB2D022F6
+7C00417A6120E014276DD53BF924FD8FC8D62DBF94AE802273F32DE34AD2BB79
+90BAF4BBCE936757788F785D315D36B5A8E7891A0ADDB26B847DB4FC969A7AA3
+22B535DFD9BD86B3CFECF0D9AD58A4D30BCEC2FA55A2DD3159C47CF0D0F6ED13
+E584D3FA9D83105746EA536AF600FB81772184A0679A14AEFEF3A3F15DC20DD3
+D450FDA175002E11E4EA83F19A7EBD343FB951CF0B33693A5BC7C5B4DA252B4B
+D9D752CE580B129019FE89FC62EE05E08A68283CD59DA8F1B072A046B3690978
+496A7B4E4A39ABD78EFB7D42BAD9884536F8AA9CE3A397411CE310FA9A108FDC
+6DB7779D805786104892881576FBDBD87FB608524A2B171AEF771A2070539087
+6D82E338FD43A9C72F7714B8ECB03E3FC5229844C9A132436F3AE54F1CC9D069
+41EAEB395B9D960DB455E7D71B26F04442E6F66BB044FCFB98AB5D0115D59D77
+6346B0A8F5D6BFE8CB240E20FE02728D769CC024EDFF580C77F607C22046F362
+81A4BB6083DE452A01872F5AB7A045FEF26926AB10C914BEA406BC396A8CB3A2
+6AF03BCE3356885EA2181D91D3381152F8FB94F9E6C3BC8159B2A95486E78AC9
+4890BC76DF88DD6D80A5E8529048F864513F09534299232FA33D4797F174AB4C
+88951B4043D2B724EBFAC18A0A1B60CCBC732DF60E2DFC613CE316C63B9B8430
+23AEA901FB72B0322483374E0430A29193CCFDCB327338736BC8CD82799ECB38
+51FC9003F04B7C46158CC3C0C8703BDC2FD260F7A88040E423EF89DE955AB912
+CA3DB5BC0C2CF534F74D86AB4BF8BCAFAC5ABE1E1E61DE252D241DDA0EEFF7C9
+FEFBD77818325F307B9BB9245E9FEDB0F525CE15E5CE1C72437136BC12F8B102
+C77F2C0315BA67D7A9EF59C21145EFAFDD57479BB4C89198CFFCDD2488C61BC0
+62373DF3E6B62F53EA0ABF2151C590ACD370721AE1D831AFC1B28E87597356F5
+6923A192FEBC63B357B2BF3323891D8CEA75C37B8FEF56A4083A4523F8F83738
+26B1E6099D34CFEC32A10B2FFCBCC0F324876EDD1110AB3540D641BA415F44E6
+9BBC0473FB420CEB68575A6664E99CF248B0511749F0B11EE124A87086EA7E9F
+B73F3A8AE1D5585CA6FB3A72456E06C3BF32AA6C130B1209D9B969AC4A13C8A4
+F14AE884A8779D9C3759C2BCCCBCDE519673CA73CC606EEC30E9D2BBAA2EE540
+2E8683D8E61EB78FABDD8E7C111D7F5A772E9319692BCA9D462FA4E064FA9C3C
+62BAE54D0AB9C0B183F9F45699E52301A20D409FD6F95823392FCCBA892D7BFD
+4590D2FCB9F75B90CB94609467794E6F0AE74F37E9999014CBBE9BFA1BE5F64E
+B9E57A6F904E89576042A9BFBD00DBF255BC5B26089049AE818EFA4973F9A776
+0E9517ED7470822328DCA1A7DDA0E0821F59EE4A7F4E3407ABDB0D0F4703A1D4
+A389A53DFFE0E49964F60DED12E1F9A2F703FB29E4593CE8C070D7261651E8FF
+7C2EC6E37E497195BBCDA16056F8E192B28067010CD5F001F4F861DC7D83B3F9
+94B2B59F6EFF26EFF0E50C43FB20723041DC07F63FEACCBBA360BCC8FEEE0799
+911159C30E4090004DB4B12A6B26B0532A8EAE44AEC0A912F0D7D1FD51A62A32
+141F8CA382B6E41CEC4D70F73B81597A56AD2795B3C835D5ED894847D49DAAF4
+B771485F39ECDD20D29EA4133DCCDF90C9CA0F1F2385317B2053B1A53FF8F4C4
+0BB4DECE37AB4D36CA7CC8E339ACBB356296EA6C459C740074DA8B2B6DBA2ED2
+5F1CCEE6432198244CDA15DEECB51A2CD7CD5D16AB8425
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+cleartomark
+%%EndFont
+TeXDict begin 39158280 55380996 1000 600 600 (./gperf.dvi)
+@start /Fa 209[43 46[{ TeX74afc74cEncoding ReEncodeFont }1
+119.552 /CMBXTI10 rf /Fb 209[24 46[{ TeX74afc74cEncoding ReEncodeFont }
+1 74.7198 /CMTI9 rf /Fc 130[39 1[39 39 39 39 39 1[39
+39 39 39 1[39 39 39 39 39 39 1[39 39 39 39 39 39 39 39
+39 1[39 39[39 9[39 7[39 37[{ TeX09fbbfacEncoding ReEncodeFont }29
+74.7198 /CMTT9 rf /Fd 133[34 41 1[55 41 43 30 30 30 1[43
+38 43 64 21 2[21 43 38 23 34 43 34 43 38 21 10[58 1[43
+4[58 70 48 60 39 28 2[50 1[59 55 54 58 7[38 38 38 1[38
+38 38 38 38 38 3[21 4[21 39[{ TeXf7b6d320Encoding ReEncodeFont }47
+74.7198 /CMR9 rf /Fe 147[25 10[44 97[{
+ TeXf7b6d320Encoding ReEncodeFont }2 90.9091 /CMB10 rf
+/Ff 214[35 35 40[{ TeXf7b6d320Encoding ReEncodeFont }2
+90.9091 /CMSS10 rf /Fg 136[83 2[45 45 47 2[57 64 4[32
+64 2[53 64 2[56 97[{ TeXf7b6d320Encoding ReEncodeFont }11
+99.6264 /CMBX10 rf /Fh 138[52 52 52 4[52 4[52 1[52 1[52
+52 100[{ TeX09fbbfacEncoding ReEncodeFont }8 99.6264
+/CMTT10 rf /Fi 138[56 56 56 56 3[56 4[56 3[56 56 56 99[{
+ TeX09fbbfacEncoding ReEncodeFont }9 109.091 /CMTT12
+rf /Fj 134[65 1[89 65 68 48 48 50 1[68 61 68 102 34 2[34
+68 61 37 56 68 55 1[60 9[127 1[94 6[96 2[96 1[46 1[96
+77 81 94 89 1[93 12[61 61 61 61 2[34 41 45[{
+ TeXf7b6d320Encoding ReEncodeFont }37 109.091 /CMBX12
+rf /Fk 141[62 1[62 8[62 62 62 101[{ TeX09fbbfacEncoding ReEncodeFont }5
+119.552 /CMTT12 rf /Fl 133[37 44 42 1[42 49 30 37 38
+1[46 46 51 74 23 42 1[28 46 42 28 42 46 42 42 46 4[47
+4[91 1[68 65 51 66 1[62 70 68 82 57 3[68 70 59 62 1[65
+1[68 6[28 11[28 33 5[28 4[47 34[{ TeX74afc74cEncoding ReEncodeFont }45
+90.9091 /CMTI10 rf /Fm 141[74 1[74 8[74 74 74 101[{
+ TeX09fbbfacEncoding ReEncodeFont }5 143.462 /CMTT12
+rf /Fn 129[48 48 1[48 48 48 48 48 48 48 48 48 48 1[48
+48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 2[48
+1[48 48 1[48 48 48 48 48 48 48 48 48 48 48 48 48 48 48
+48 48 48 48 48 48 48 48 48 1[48 48 48 48 48 48 48 48
+48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48
+48 48 48 34[{ TeX09fbbfacEncoding ReEncodeFont }86 90.9091
+/CMTT10 rf /Fo 133[40 48 1[66 48 51 35 36 36 1[51 45
+51 76 25 48 28 25 51 45 28 40 51 40 51 45 9[93 2[66 51
+8[47 3[59 2[66 17[45 2[25 30 5[25 26[51 12[{
+ TeXf7b6d320Encoding ReEncodeFont }35 90.9091 /CMSL10
+rf /Fp 134[85 85 117 85 90 63 64 66 1[90 81 90 134 45
+85 1[45 90 81 49 74 90 72 90 78 11[124 112 90 120 1[110
+1[126 1[97 126 1[60 126 127 1[106 124 117 115 122 9[81
+81 81 81 81 81 81 3[54 45[{ TeXf7b6d320Encoding ReEncodeFont }47
+143.462 /CMBX12 rf /Fq 240[45 1[91 13[{
+ TeXbbad153fEncoding ReEncodeFont }2 90.9091 /CMSY10
+rf /Fr 134[71 71 97 71 75 52 53 55 1[75 67 75 112 37
+71 1[37 75 67 41 61 75 60 75 65 7[102 1[139 1[103 94
+75 100 1[92 101 105 128 81 105 69 50 105 106 85 88 103
+97 96 102 7[67 67 67 67 67 67 67 67 67 67 1[37 45 37
+6[112 24[75 78 11[{ TeXf7b6d320Encoding ReEncodeFont }61
+119.552 /CMBX12 rf /Fs 131[91 1[40 48 48 66 48 51 35
+36 36 48 51 45 51 76 25 48 28 25 51 45 28 40 51 40 51
+45 25 2[25 45 25 1[68 68 93 68 68 66 51 67 71 62 71 68
+83 57 71 47 33 68 71 59 62 69 66 64 68 3[71 1[25 25 45
+45 45 45 45 45 45 45 45 45 45 25 30 25 1[45 35 35 25
+71 1[45 76 45 19[76 51 51 53 11[{ TeXf7b6d320Encoding ReEncodeFont }85
+90.9091 /CMR10 rf /Ft 141[89 1[89 8[89 89 89 101[{
+ TeX09fbbfacEncoding ReEncodeFont }5 172.154 /CMTT12
+rf /Fu 138[108 75 76 79 2[97 5[54 3[88 108 14[149 13[152
+19[97 1[97 97 1[54 6[54 39[{ TeXf7b6d320Encoding ReEncodeFont }15
+172.154 /CMBX12 rf end
%%EndProlog
%%BeginSetup
%%Feature: *Resolution 600dpi
TeXDict begin
-%%BeginPaperSize: a4
-a4
-%%EndPaperSize
-
+%%PaperSize: A4
+ end
%%EndSetup
%%Page: 1 1
-1 0 bop 150 1318 a Fu(User's)65 b(Guide)h(to)e Ft(gperf)f
-Fu(3.0)p 150 1423 3600 34 v 2005 1519 a Fs(The)30 b(GNU)h(P)m(erfect)h
-(Hash)e(F)-8 b(unction)30 b(Generator)2792 1627 y(Edition)e(3.0,)k(7)f
-(Ma)m(y)g(2003)150 4958 y Fr(Douglas)46 b(C.)f(Sc)l(hmidt)150
-5091 y(Bruno)f(Haible)p 150 5141 3600 17 v eop
+TeXDict begin 1 0 bop 150 1318 a Fu(User's)65 b(Guide)g(to)f
+Ft(gperf)f Fu(3.0.1)p 150 1423 3600 34 v 2005 1519 a
+Fs(The)30 b(GNU)h(P)m(erfect)h(Hash)e(F)-8 b(unction)31
+b(Generator)2662 1627 y(Edition)f(3.0.1,)j(12)e(June)e(2003)150
+4958 y Fr(Douglas)46 b(C.)f(Sc)l(hmidt)150 5091 y(Bruno)f(Haible)p
+150 5141 3600 17 v eop end
%%Page: 2 2
-2 1 bop 150 4152 a Fs(Cop)m(yrigh)m(t)602 4149 y(c)577
-4152 y Fq(\015)30 b Fs(1989-2003)k(F)-8 b(ree)32 b(Soft)m(w)m(are)f(F)
--8 b(oundation,)31 b(Inc.)150 4286 y(P)m(ermission)f(is)i(gran)m(ted)h
-(to)f(mak)m(e)i(and)d(distribute)f(v)m(erbatim)i(copies)g(of)g(this)f
-(man)m(ual)h(pro)m(vided)f(the)150 4396 y(cop)m(yrigh)m(t)g(notice)f
-(and)g(this)f(p)s(ermission)f(notice)i(are)h(preserv)m(ed)f(on)h(all)e
-(copies.)150 4530 y(P)m(ermission)36 b(is)i(gran)m(ted)g(to)h(cop)m(y)g
-(and)f(distribute)e(mo)s(di\014ed)g(v)m(ersions)h(of)i(this)e(man)m
-(ual)g(under)g(the)150 4640 y(conditions)42 b(for)h(v)m(erbatim)g(cop)m
-(ying,)k(pro)m(vided)42 b(also)h(that)i(the)e(section)h(en)m(titled)f
-(\\GNU)h(General)150 4749 y(Public)25 b(License")h(is)g(included)e
-(exactly)k(as)f(in)e(the)i(original,)f(and)g(pro)m(vided)g(that)h(the)g
-(en)m(tire)g(resulting)150 4859 y(deriv)m(ed)i(w)m(ork)i(is)e
-(distributed)f(under)h(the)h(terms)g(of)h(a)g(p)s(ermission)c(notice)k
-(iden)m(tical)e(to)i(this)e(one.)150 4994 y(P)m(ermission)i(is)i(gran)m
-(ted)g(to)h(cop)m(y)g(and)f(distribute)d(translations)i(of)i(this)e
-(man)m(ual)g(in)m(to)h(another)g(lan-)150 5103 y(guage,)41
-b(under)35 b(the)j(ab)s(o)m(v)m(e)g(conditions)e(for)h(mo)s(di\014ed)f
-(v)m(ersions,)i(except)h(that)e(the)h(section)f(en)m(titled)150
-5213 y(\\GNU)f(General)g(Public)d(License")i(ma)m(y)h(b)s(e)e(included)
-f(in)h(a)i(translation)e(appro)m(v)m(ed)h(b)m(y)h(the)f(author)150
-5322 y(instead)30 b(of)g(in)f(the)i(original)d(English.)p
-eop
+TeXDict begin 2 1 bop 150 4152 a Fs(Cop)m(yrigh)m(t)602
+4149 y(c)577 4152 y Fq(\015)30 b Fs(1989-2003)k(F)-8
+b(ree)32 b(Soft)m(w)m(are)f(F)-8 b(oundation,)32 b(Inc.)150
+4286 y(P)m(ermission)g(is)h(gran)m(ted)g(to)f(mak)m(e)i(and)d
+(distribute)h(v)m(erbatim)h(copies)g(of)f(this)g(man)m(ual)h(pro)m
+(vided)f(the)150 4396 y(cop)m(yrigh)m(t)g(notice)f(and)f(this)g(p)s
+(ermission)g(notice)h(are)g(preserv)m(ed)f(on)h(all)g(copies.)150
+4530 y(P)m(ermission)38 b(is)h(gran)m(ted)f(to)h(cop)m(y)g(and)f
+(distribute)g(mo)s(di\014ed)f(v)m(ersions)h(of)h(this)f(man)m(ual)g
+(under)f(the)150 4640 y(conditions)44 b(for)f(v)m(erbatim)h(cop)m
+(ying,)k(pro)m(vided)43 b(also)h(that)h(the)e(section)i(en)m(titled)g
+(\\GNU)f(General)150 4749 y(Public)27 b(License")g(is)g(included)f
+(exactly)j(as)e(in)f(the)h(original,)i(and)d(pro)m(vided)h(that)g(the)g
+(en)m(tire)h(resulting)150 4859 y(deriv)m(ed)i(w)m(ork)h(is)f
+(distributed)g(under)f(the)h(terms)g(of)h(a)g(p)s(ermission)e(notice)j
+(iden)m(tical)g(to)f(this)f(one.)150 4994 y(P)m(ermission)j(is)h(gran)m
+(ted)f(to)h(cop)m(y)g(and)f(distribute)f(translations)i(of)g(this)f
+(man)m(ual)g(in)m(to)h(another)f(lan-)150 5103 y(guage,)41
+b(under)35 b(the)j(ab)s(o)m(v)m(e)g(conditions)g(for)f(mo)s(di\014ed)g
+(v)m(ersions,)i(except)g(that)e(the)h(section)g(en)m(titled)150
+5213 y(\\GNU)e(General)h(Public)e(License")h(ma)m(y)g(b)s(e)e(included)
+h(in)g(a)h(translation)g(appro)m(v)m(ed)f(b)m(y)h(the)f(author)150
+5322 y(instead)c(of)f(in)g(the)h(original)g(English.)p
+eop end
%%Page: 1 3
-1 2 bop 150 -116 a Fs(GNU)31 b(GENERAL)f(PUBLIC)h(LICENSE)2052
-b(1)150 299 y Fp(GNU)54 b(GENERAL)g(PUBLIC)f(LICENSE)1537
-564 y Fs(V)-8 b(ersion)30 b(2,)h(June)f(1991)390 720
+TeXDict begin 1 2 bop 150 -116 a Fs(GNU)31 b(GENERAL)f(PUBLIC)h
+(LICENSE)2052 b(1)150 299 y Fp(GNU)54 b(GENERAL)g(PUBLIC)f(LICENSE)1537
+564 y Fs(V)-8 b(ersion)31 b(2,)g(June)f(1991)390 720
y(Cop)m(yrigh)m(t)842 717 y(c)817 720 y Fq(\015)g Fs(1989,)j(1991)f(F)
--8 b(ree)31 b(Soft)m(w)m(are)h(F)-8 b(oundation,)30 b(Inc.,)390
-824 y(59)h(T)-8 b(emple)30 b(Place,)h(Suite)e(330,)j(Boston,)g(MA)e
-(02111-1307,)35 b(USA.)390 1032 y(Ev)m(ery)m(one)c(is)f(p)s(ermitted)f
-(to)i(cop)m(y)g(and)f(distribute)e(v)m(erbatim)i(copies)390
-1135 y(of)h(this)e(license)g(do)s(cumen)m(t,)i(but)e(c)m(hanging)i(it)f
-(is)f(not)i(allo)m(w)m(ed.)150 1462 y Fr(Pream)l(ble)275
-1683 y Fs(The)39 b(licenses)h(for)g(most)h(soft)m(w)m(are)g(are)g
-(designed)e(to)i(tak)m(e)h(a)m(w)m(a)m(y)h(y)m(our)d(freedom)g(to)h
-(share)g(and)150 1793 y(c)m(hange)g(it.)70 b(By)40 b(con)m(trast,)k
-(the)c(GNU)h(General)f(Public)e(License)i(is)f(in)m(tended)g(to)h
+-8 b(ree)31 b(Soft)m(w)m(are)h(F)-8 b(oundation,)31 b(Inc.,)390
+824 y(59)g(T)-8 b(emple)31 b(Place,)h(Suite)e(330,)i(Boston,)g(MA)e
+(02111-1307,)35 b(USA.)390 1032 y(Ev)m(ery)m(one)c(is)g(p)s(ermitted)f
+(to)h(cop)m(y)g(and)f(distribute)g(v)m(erbatim)h(copies)390
+1135 y(of)g(this)f(license)h(do)s(cumen)m(t,)g(but)e(c)m(hanging)j(it)f
+(is)f(not)h(allo)m(w)m(ed.)150 1462 y Fr(Pream)l(ble)275
+1683 y Fs(The)39 b(licenses)j(for)e(most)h(soft)m(w)m(are)g(are)g
+(designed)f(to)h(tak)m(e)h(a)m(w)m(a)m(y)h(y)m(our)d(freedom)g(to)h
+(share)g(and)150 1793 y(c)m(hange)g(it.)71 b(By)40 b(con)m(trast,)k
+(the)c(GNU)h(General)g(Public)f(License)h(is)f(in)m(tended)g(to)g
(guaran)m(tee)i(y)m(our)150 1902 y(freedom)24 b(to)h(share)f(and)f(c)m
(hange)i(free)f(soft)m(w)m(are|to)j(mak)m(e)e(sure)e(the)h(soft)m(w)m
-(are)i(is)d(free)h(for)g(all)f(its)h(users.)150 2012
-y(This)38 b(General)i(Public)d(License)j(applies)e(to)i(most)g(of)g
-(the)g(F)-8 b(ree)41 b(Soft)m(w)m(are)g(F)-8 b(oundation's)39
-b(soft)m(w)m(are)150 2121 y(and)c(to)h(an)m(y)g(other)g(program)f
-(whose)h(authors)f(commit)g(to)i(using)d(it.)55 b(\(Some)36
+(are)i(is)e(free)g(for)g(all)h(its)g(users.)150 2012
+y(This)39 b(General)i(Public)e(License)i(applies)f(to)g(most)g(of)g
+(the)g(F)-8 b(ree)41 b(Soft)m(w)m(are)g(F)-8 b(oundation's)40
+b(soft)m(w)m(are)150 2121 y(and)35 b(to)h(an)m(y)g(other)g(program)f
+(whose)h(authors)f(commit)h(to)h(using)e(it.)56 b(\(Some)36
b(other)g(F)-8 b(ree)37 b(Soft)m(w)m(are)150 2231 y(F)-8
-b(oundation)31 b(soft)m(w)m(are)i(is)d(co)m(v)m(ered)j(b)m(y)e(the)g
-(GNU)h(Library)e(General)h(Public)e(License)h(instead.\))43
-b(Y)-8 b(ou)150 2340 y(can)31 b(apply)e(it)h(to)h(y)m(our)f(programs,)g
+b(oundation)32 b(soft)m(w)m(are)h(is)e(co)m(v)m(ered)i(b)m(y)e(the)g
+(GNU)h(Library)f(General)h(Public)f(License)g(instead.\))44
+b(Y)-8 b(ou)150 2340 y(can)31 b(apply)f(it)h(to)g(y)m(our)f(programs,)g
(to)s(o.)275 2503 y(When)37 b(w)m(e)g(sp)s(eak)g(of)g(free)h(soft)m(w)m
-(are,)i(w)m(e)e(are)g(referring)d(to)j(freedom,)h(not)f(price.)60
-b(Our)36 b(General)150 2612 y(Public)c(Licenses)h(are)i(designed)e(to)i
+(are,)i(w)m(e)e(are)g(referring)e(to)i(freedom,)h(not)f(price.)61
+b(Our)36 b(General)150 2612 y(Public)e(Licenses)g(are)h(designed)f(to)h
(mak)m(e)g(sure)f(that)g(y)m(ou)h(ha)m(v)m(e)g(the)g(freedom)f(to)g
-(distribute)e(copies)150 2722 y(of)k(free)h(soft)m(w)m(are)g(\(and)f(c)
-m(harge)i(for)e(this)f(service)h(if)f(y)m(ou)i(wish\),)g(that)f(y)m(ou)
-h(receiv)m(e)g(source)f(co)s(de)h(or)150 2832 y(can)e(get)h(it)e(if)f
-(y)m(ou)i(w)m(an)m(t)h(it,)f(that)g(y)m(ou)g(can)g(c)m(hange)h(the)e
-(soft)m(w)m(are)i(or)f(use)f(pieces)h(of)f(it)g(in)g(new)g(free)150
+(distribute)g(copies)150 2722 y(of)i(free)h(soft)m(w)m(are)g(\(and)f(c)
+m(harge)i(for)e(this)g(service)h(if)f(y)m(ou)h(wish\),)h(that)e(y)m(ou)
+h(receiv)m(e)h(source)e(co)s(de)h(or)150 2832 y(can)e(get)h(it)f(if)f
+(y)m(ou)h(w)m(an)m(t)h(it,)g(that)f(y)m(ou)g(can)g(c)m(hange)h(the)e
+(soft)m(w)m(are)i(or)f(use)f(pieces)i(of)e(it)h(in)g(new)f(free)150
2941 y(programs;)c(and)g(that)h(y)m(ou)g(kno)m(w)f(y)m(ou)h(can)f(do)h
(these)g(things.)275 3104 y(T)-8 b(o)40 b(protect)h(y)m(our)f(righ)m
-(ts,)i(w)m(e)e(need)g(to)h(mak)m(e)g(restrictions)d(that)j(forbid)d(an)
-m(y)m(one)j(to)g(den)m(y)f(y)m(ou)150 3213 y(these)d(righ)m(ts)f(or)g
-(to)h(ask)g(y)m(ou)f(to)h(surrender)e(the)h(righ)m(ts.)58
-b(These)36 b(restrictions)f(translate)i(to)g(certain)150
-3323 y(resp)s(onsibilities)25 b(for)31 b(y)m(ou)f(if)g(y)m(ou)g
-(distribute)e(copies)i(of)h(the)f(soft)m(w)m(are,)j(or)d(if)f(y)m(ou)i
-(mo)s(dify)e(it.)275 3485 y(F)-8 b(or)30 b(example,)f(if)g(y)m(ou)g
-(distribute)e(copies)j(of)f(suc)m(h)g(a)h(program,)g(whether)e(gratis)i
-(or)f(for)g(a)h(fee,)h(y)m(ou)150 3595 y(m)m(ust)i(giv)m(e)h(the)g
-(recipien)m(ts)e(all)h(the)g(righ)m(ts)g(that)h(y)m(ou)g(ha)m(v)m(e.)51
+(ts,)j(w)m(e)d(need)g(to)h(mak)m(e)g(restrictions)f(that)h(forbid)e(an)
+m(y)m(one)i(to)g(den)m(y)f(y)m(ou)150 3213 y(these)d(righ)m(ts)g(or)f
+(to)h(ask)g(y)m(ou)f(to)h(surrender)e(the)h(righ)m(ts.)59
+b(These)36 b(restrictions)h(translate)h(to)f(certain)150
+3323 y(resp)s(onsibilities)30 b(for)h(y)m(ou)f(if)h(y)m(ou)f
+(distribute)g(copies)h(of)g(the)f(soft)m(w)m(are,)j(or)d(if)g(y)m(ou)h
+(mo)s(dify)f(it.)275 3485 y(F)-8 b(or)30 b(example,)g(if)g(y)m(ou)f
+(distribute)g(copies)i(of)e(suc)m(h)g(a)h(program,)g(whether)e(gratis)j
+(or)e(for)g(a)h(fee,)h(y)m(ou)150 3595 y(m)m(ust)i(giv)m(e)i(the)f
+(recipien)m(ts)g(all)h(the)e(righ)m(ts)h(that)g(y)m(ou)g(ha)m(v)m(e.)51
b(Y)-8 b(ou)34 b(m)m(ust)g(mak)m(e)g(sure)f(that)h(they)-8
-b(,)35 b(to)s(o,)150 3704 y(receiv)m(e)j(or)g(can)g(get)g(the)g(source)
+b(,)35 b(to)s(o,)150 3704 y(receiv)m(e)k(or)f(can)g(get)g(the)g(source)
g(co)s(de.)62 b(And)37 b(y)m(ou)h(m)m(ust)f(sho)m(w)h(them)f(these)h
-(terms)f(so)h(they)g(kno)m(w)150 3814 y(their)29 b(righ)m(ts.)275
-3976 y(W)-8 b(e)29 b(protect)g(y)m(our)f(righ)m(ts)f(with)g(t)m(w)m(o)i
-(steps:)40 b(\(1\))29 b(cop)m(yrigh)m(t)f(the)g(soft)m(w)m(are,)j(and)c
-(\(2\))i(o\013er)g(y)m(ou)f(this)150 4086 y(license)h(whic)m(h)g(giv)m
-(es)i(y)m(ou)g(legal)f(p)s(ermission)d(to)k(cop)m(y)-8
-b(,)32 b(distribute)c(and/or)i(mo)s(dify)f(the)i(soft)m(w)m(are.)275
-4248 y(Also,)45 b(for)d(eac)m(h)i(author's)f(protection)f(and)g(ours,)j
-(w)m(e)e(w)m(an)m(t)h(to)f(mak)m(e)h(certain)e(that)h(ev)m(ery)m(one)
-150 4358 y(understands)29 b(that)j(there)f(is)f(no)h(w)m(arran)m(t)m(y)
-h(for)f(this)f(free)h(soft)m(w)m(are.)44 b(If)30 b(the)i(soft)m(w)m
-(are)g(is)e(mo)s(di\014ed)f(b)m(y)150 4467 y(someone)i(else)e(and)g
-(passed)h(on,)g(w)m(e)g(w)m(an)m(t)h(its)e(recipien)m(ts)g(to)h(kno)m
-(w)g(that)g(what)g(they)g(ha)m(v)m(e)h(is)e(not)h(the)150
-4577 y(original,)e(so)h(that)g(an)m(y)h(problems)d(in)m(tro)s(duced)g
-(b)m(y)i(others)g(will)d(not)j(re\015ect)h(on)f(the)g(original)e
+(terms)f(so)h(they)g(kno)m(w)150 3814 y(their)30 b(righ)m(ts.)275
+3976 y(W)-8 b(e)29 b(protect)g(y)m(our)f(righ)m(ts)g(with)g(t)m(w)m(o)h
+(steps:)40 b(\(1\))29 b(cop)m(yrigh)m(t)g(the)f(soft)m(w)m(are,)j(and)c
+(\(2\))i(o\013er)g(y)m(ou)f(this)150 4086 y(license)j(whic)m(h)f(giv)m
+(es)i(y)m(ou)f(legal)h(p)s(ermission)d(to)i(cop)m(y)-8
+b(,)32 b(distribute)e(and/or)g(mo)s(dify)g(the)h(soft)m(w)m(are.)275
+4248 y(Also,)46 b(for)c(eac)m(h)i(author's)f(protection)g(and)f(ours,)j
+(w)m(e)e(w)m(an)m(t)h(to)f(mak)m(e)h(certain)f(that)g(ev)m(ery)m(one)
+150 4358 y(understands)29 b(that)j(there)f(is)g(no)g(w)m(arran)m(t)m(y)
+h(for)f(this)g(free)g(soft)m(w)m(are.)44 b(If)30 b(the)i(soft)m(w)m
+(are)g(is)f(mo)s(di\014ed)f(b)m(y)150 4467 y(someone)h(else)f(and)f
+(passed)h(on,)g(w)m(e)g(w)m(an)m(t)h(its)f(recipien)m(ts)h(to)f(kno)m
+(w)g(that)g(what)g(they)g(ha)m(v)m(e)h(is)f(not)g(the)150
+4577 y(original,)h(so)e(that)g(an)m(y)h(problems)e(in)m(tro)s(duced)g
+(b)m(y)h(others)g(will)g(not)g(re\015ect)h(on)f(the)g(original)h
(authors')150 4686 y(reputations.)275 4849 y(Finally)-8
-b(,)24 b(an)m(y)h(free)f(program)g(is)g(threatened)g(constan)m(tly)h(b)
-m(y)g(soft)m(w)m(are)h(paten)m(ts.)39 b(W)-8 b(e)26 b(wish)c(to)j(a)m
-(v)m(oid)150 4958 y(the)30 b(danger)g(that)h(redistributors)c(of)k(a)f
-(free)h(program)f(will)d(individually)e(obtain)30 b(paten)m(t)h
-(licenses,)e(in)150 5068 y(e\013ect)39 b(making)e(the)h(program)f
-(proprietary)-8 b(.)62 b(T)-8 b(o)38 b(prev)m(en)m(t)g(this,)h(w)m(e)f
-(ha)m(v)m(e)h(made)f(it)f(clear)g(that)i(an)m(y)150 5178
-y(paten)m(t)31 b(m)m(ust)g(b)s(e)e(licensed)g(for)h(ev)m(ery)m(one's)i
-(free)f(use)f(or)g(not)h(licensed)e(at)i(all.)275 5340
-y(The)e(precise)h(terms)g(and)g(conditions)f(for)h(cop)m(ying,)h
-(distribution)26 b(and)k(mo)s(di\014cation)f(follo)m(w.)p
-eop
+b(,)27 b(an)m(y)e(free)f(program)g(is)h(threatened)f(constan)m(tly)i(b)
+m(y)f(soft)m(w)m(are)h(paten)m(ts.)39 b(W)-8 b(e)26 b(wish)d(to)i(a)m
+(v)m(oid)150 4958 y(the)30 b(danger)g(that)h(redistributors)e(of)i(a)f
+(free)h(program)f(will)g(individually)g(obtain)h(paten)m(t)g(licenses,)
+g(in)150 5068 y(e\013ect)39 b(making)f(the)g(program)f(proprietary)-8
+b(.)63 b(T)-8 b(o)38 b(prev)m(en)m(t)g(this,)i(w)m(e)e(ha)m(v)m(e)h
+(made)f(it)g(clear)g(that)h(an)m(y)150 5178 y(paten)m(t)31
+b(m)m(ust)g(b)s(e)e(licensed)i(for)f(ev)m(ery)m(one's)i(free)f(use)f
+(or)g(not)h(licensed)g(at)g(all.)275 5340 y(The)e(precise)i(terms)f
+(and)g(conditions)h(for)f(cop)m(ying,)i(distribution)d(and)h(mo)s
+(di\014cation)h(follo)m(w.)p eop end
%%Page: 2 4
-2 3 bop 150 -116 a Fs(GNU)31 b(GENERAL)f(PUBLIC)h(LICENSE)2052
-b(2)150 166 y Fr(TERMS)44 b(AND)h(CONDITIONS)g(F)l(OR)g(COPYING,)150
-299 y(DISTRIBUTION)f(AND)h(MODIFICA)-11 b(TION)199 515
-y Fs(0.)61 b(This)41 b(License)h(applies)e(to)k(an)m(y)f(program)f(or)g
-(other)h(w)m(ork)g(whic)m(h)e(con)m(tains)i(a)g(notice)f(placed)330
-625 y(b)m(y)33 b(the)h(cop)m(yrigh)m(t)g(holder)e(sa)m(ying)i(it)f(ma)m
-(y)h(b)s(e)f(distributed)e(under)h(the)h(terms)h(of)g(this)e(General)
-330 735 y(Public)37 b(License.)67 b(The)39 b(\\Program",)j(b)s(elo)m
-(w,)f(refers)e(to)h(an)m(y)g(suc)m(h)f(program)g(or)g(w)m(ork,)j(and)d
-(a)330 844 y(\\w)m(ork)29 b(based)f(on)h(the)g(Program")g(means)f
-(either)h(the)f(Program)h(or)g(an)m(y)g(deriv)-5 b(ativ)m(e)28
-b(w)m(ork)g(under)330 954 y(cop)m(yrigh)m(t)k(la)m(w:)42
-b(that)32 b(is)e(to)j(sa)m(y)-8 b(,)33 b(a)e(w)m(ork)h(con)m(taining)f
-(the)g(Program)h(or)f(a)h(p)s(ortion)e(of)h(it,)g(either)330
-1063 y(v)m(erbatim)e(or)g(with)e(mo)s(di\014cations)g(and/or)i
-(translated)g(in)m(to)g(another)g(language.)40 b(\(Hereinafter,)330
-1173 y(translation)26 b(is)g(included)f(without)h(limitation)f(in)h
-(the)h(term)g(\\mo)s(di\014cation".\))40 b(Eac)m(h)27
-b(licensee)g(is)330 1282 y(addressed)i(as)i(\\y)m(ou".)330
-1429 y(Activities)38 b(other)h(than)f(cop)m(ying,)k(distribution)35
-b(and)j(mo)s(di\014cation)f(are)i(not)g(co)m(v)m(ered)h(b)m(y)f(this)
-330 1538 y(License;)33 b(they)g(are)f(outside)g(its)f(scop)s(e.)47
-b(The)32 b(act)h(of)g(running)c(the)k(Program)f(is)f(not)i(restricted,)
-330 1648 y(and)24 b(the)g(output)g(from)g(the)h(Program)f(is)g(co)m(v)m
-(ered)i(only)d(if)g(its)h(con)m(ten)m(ts)i(constitute)f(a)g(w)m(ork)f
-(based)330 1758 y(on)h(the)h(Program)f(\(indep)s(enden)m(t)f(of)i(ha)m
-(ving)f(b)s(een)f(made)i(b)m(y)f(running)e(the)i(Program\).)40
-b(Whether)330 1867 y(that)31 b(is)e(true)i(dep)s(ends)d(on)i(what)h
-(the)f(Program)h(do)s(es.)199 2014 y(1.)61 b(Y)-8 b(ou)42
-b(ma)m(y)g(cop)m(y)g(and)e(distribute)f(v)m(erbatim)i(copies)g(of)h
-(the)f(Program's)h(source)f(co)s(de)h(as)g(y)m(ou)330
-2123 y(receiv)m(e)32 b(it,)f(in)f(an)m(y)h(medium,)f(pro)m(vided)g
-(that)h(y)m(ou)h(conspicuously)d(and)h(appropriately)g(publish)330
-2233 y(on)j(eac)m(h)h(cop)m(y)g(an)f(appropriate)f(cop)m(yrigh)m(t)i
-(notice)f(and)g(disclaimer)d(of)k(w)m(arran)m(t)m(y;)h(k)m(eep)f(in)m
-(tact)330 2342 y(all)d(the)g(notices)h(that)h(refer)e(to)h(this)f
-(License)g(and)g(to)i(the)f(absence)g(of)g(an)m(y)g(w)m(arran)m(t)m(y;)
-h(and)e(giv)m(e)330 2452 y(an)m(y)g(other)f(recipien)m(ts)g(of)g(the)h
-(Program)f(a)h(cop)m(y)g(of)g(this)e(License)h(along)g(with)f(the)i
+TeXDict begin 2 3 bop 150 -116 a Fs(GNU)31 b(GENERAL)f(PUBLIC)h
+(LICENSE)2052 b(2)150 166 y Fr(TERMS)44 b(AND)h(CONDITIONS)g(F)l(OR)g
+(COPYING,)150 299 y(DISTRIBUTION)f(AND)h(MODIFICA)-11
+b(TION)199 515 y Fs(0.)61 b(This)42 b(License)h(applies)f(to)i(an)m(y)f
+(program)f(or)g(other)h(w)m(ork)g(whic)m(h)f(con)m(tains)i(a)f(notice)g
+(placed)330 625 y(b)m(y)33 b(the)h(cop)m(yrigh)m(t)h(holder)e(sa)m
+(ying)i(it)f(ma)m(y)g(b)s(e)f(distributed)g(under)f(the)h(terms)h(of)g
+(this)f(General)330 735 y(Public)39 b(License.)68 b(The)39
+b(\\Program",)j(b)s(elo)m(w,)g(refers)d(to)h(an)m(y)g(suc)m(h)f
+(program)g(or)g(w)m(ork,)j(and)d(a)330 844 y(\\w)m(ork)29
+b(based)f(on)h(the)g(Program")g(means)f(either)i(the)e(Program)h(or)g
+(an)m(y)g(deriv)-5 b(ativ)m(e)30 b(w)m(ork)e(under)330
+954 y(cop)m(yrigh)m(t)33 b(la)m(w:)43 b(that)32 b(is)f(to)i(sa)m(y)-8
+b(,)33 b(a)e(w)m(ork)h(con)m(taining)h(the)e(Program)h(or)f(a)h(p)s
+(ortion)f(of)g(it,)h(either)330 1063 y(v)m(erbatim)e(or)f(with)f(mo)s
+(di\014cations)h(and/or)g(translated)h(in)m(to)g(another)f(language.)41
+b(\(Hereinafter,)330 1173 y(translation)28 b(is)f(included)g(without)g
+(limitation)i(in)e(the)g(term)g(\\mo)s(di\014cation".\))42
+b(Eac)m(h)27 b(licensee)i(is)330 1282 y(addressed)g(as)i(\\y)m(ou".)330
+1429 y(Activities)41 b(other)e(than)f(cop)m(ying,)43
+b(distribution)38 b(and)g(mo)s(di\014cation)h(are)g(not)g(co)m(v)m
+(ered)h(b)m(y)f(this)330 1538 y(License;)34 b(they)f(are)f(outside)h
+(its)f(scop)s(e.)47 b(The)32 b(act)h(of)g(running)d(the)j(Program)f(is)
+g(not)h(restricted,)330 1648 y(and)24 b(the)g(output)g(from)g(the)h
+(Program)f(is)h(co)m(v)m(ered)h(only)e(if)g(its)h(con)m(ten)m(ts)h
+(constitute)g(a)f(w)m(ork)f(based)330 1758 y(on)h(the)h(Program)f
+(\(indep)s(enden)m(t)g(of)h(ha)m(ving)g(b)s(een)e(made)i(b)m(y)f
+(running)f(the)h(Program\).)40 b(Whether)330 1867 y(that)31
+b(is)f(true)h(dep)s(ends)d(on)i(what)h(the)f(Program)h(do)s(es.)199
+2014 y(1.)61 b(Y)-8 b(ou)42 b(ma)m(y)g(cop)m(y)g(and)e(distribute)h(v)m
+(erbatim)h(copies)g(of)g(the)f(Program's)h(source)f(co)s(de)h(as)g(y)m
+(ou)330 2123 y(receiv)m(e)33 b(it,)f(in)f(an)m(y)g(medium,)g(pro)m
+(vided)g(that)g(y)m(ou)h(conspicuously)f(and)f(appropriately)i(publish)
+330 2233 y(on)h(eac)m(h)h(cop)m(y)g(an)f(appropriate)g(cop)m(yrigh)m(t)
+i(notice)f(and)f(disclaimer)g(of)h(w)m(arran)m(t)m(y;)h(k)m(eep)f(in)m
+(tact)330 2342 y(all)f(the)e(notices)i(that)g(refer)e(to)h(this)g
+(License)g(and)f(to)i(the)f(absence)g(of)g(an)m(y)g(w)m(arran)m(t)m(y;)
+h(and)e(giv)m(e)330 2452 y(an)m(y)g(other)f(recipien)m(ts)i(of)e(the)h
+(Program)f(a)h(cop)m(y)g(of)g(this)f(License)h(along)g(with)f(the)h
(Program.)330 2598 y(Y)-8 b(ou)31 b(ma)m(y)g(c)m(harge)h(a)f(fee)g(for)
-f(the)h(ph)m(ysical)e(act)j(of)f(transferring)e(a)i(cop)m(y)-8
+f(the)h(ph)m(ysical)g(act)h(of)f(transferring)f(a)h(cop)m(y)-8
b(,)32 b(and)e(y)m(ou)h(ma)m(y)g(at)g(y)m(our)330 2708
-y(option)f(o\013er)h(w)m(arran)m(t)m(y)g(protection)g(in)e(exc)m(hange)
-j(for)e(a)g(fee.)199 2854 y(2.)61 b(Y)-8 b(ou)24 b(ma)m(y)h(mo)s(dify)d
-(y)m(our)i(cop)m(y)g(or)g(copies)g(of)g(the)g(Program)g(or)g(an)m(y)g
-(p)s(ortion)e(of)i(it,)h(th)m(us)f(forming)f(a)330 2964
-y(w)m(ork)k(based)g(on)f(the)h(Program,)h(and)f(cop)m(y)g(and)g
-(distribute)d(suc)m(h)j(mo)s(di\014cations)e(or)h(w)m(ork)h(under)330
-3074 y(the)k(terms)f(of)g(Section)h(1)f(ab)s(o)m(v)m(e,)i(pro)m(vided)d
-(that)i(y)m(ou)g(also)f(meet)h(all)f(of)g(these)h(conditions:)379
-3220 y(a.)61 b(Y)-8 b(ou)43 b(m)m(ust)f(cause)i(the)e(mo)s(di\014ed)f
-(\014les)g(to)i(carry)g(prominen)m(t)e(notices)i(stating)f(that)i(y)m
-(ou)510 3330 y(c)m(hanged)31 b(the)g(\014les)e(and)h(the)g(date)h(of)g
+y(option)g(o\013er)g(w)m(arran)m(t)m(y)g(protection)h(in)e(exc)m(hange)
+i(for)e(a)g(fee.)199 2854 y(2.)61 b(Y)-8 b(ou)24 b(ma)m(y)h(mo)s(dify)e
+(y)m(our)h(cop)m(y)g(or)g(copies)h(of)f(the)g(Program)g(or)g(an)m(y)g
+(p)s(ortion)f(of)h(it,)i(th)m(us)e(forming)g(a)330 2964
+y(w)m(ork)j(based)g(on)f(the)h(Program,)h(and)f(cop)m(y)g(and)g
+(distribute)f(suc)m(h)h(mo)s(di\014cations)g(or)f(w)m(ork)h(under)330
+3074 y(the)k(terms)f(of)g(Section)i(1)e(ab)s(o)m(v)m(e,)i(pro)m(vided)e
+(that)h(y)m(ou)g(also)g(meet)g(all)h(of)e(these)h(conditions:)379
+3220 y(a.)61 b(Y)-8 b(ou)43 b(m)m(ust)f(cause)i(the)e(mo)s(di\014ed)g
+(\014les)g(to)h(carry)g(prominen)m(t)f(notices)i(stating)f(that)h(y)m
+(ou)510 3330 y(c)m(hanged)31 b(the)g(\014les)f(and)g(the)g(date)h(of)g
(an)m(y)g(c)m(hange.)374 3476 y(b.)60 b(Y)-8 b(ou)31
-b(m)m(ust)g(cause)g(an)m(y)h(w)m(ork)f(that)g(y)m(ou)g(distribute)d(or)
-j(publish,)d(that)j(in)f(whole)g(or)h(in)e(part)510 3586
-y(con)m(tains)35 b(or)h(is)e(deriv)m(ed)g(from)h(the)g(Program)g(or)g
-(an)m(y)h(part)f(thereof,)i(to)f(b)s(e)e(licensed)g(as)i(a)510
-3695 y(whole)30 b(at)h(no)f(c)m(harge)i(to)f(all)e(third)f(parties)i
-(under)f(the)i(terms)f(of)g(this)g(License.)384 3842
-y(c.)61 b(If)39 b(the)h(mo)s(di\014ed)e(program)h(normally)f(reads)i
-(commands)f(in)m(teractiv)m(ely)h(when)f(run,)i(y)m(ou)510
-3951 y(m)m(ust)30 b(cause)h(it,)f(when)g(started)h(running)c(for)k(suc)
-m(h)f(in)m(teractiv)m(e)h(use)f(in)f(the)i(most)g(ordinary)510
-4061 y(w)m(a)m(y)-8 b(,)25 b(to)d(prin)m(t)e(or)h(displa)m(y)f(an)h
-(announcemen)m(t)g(including)d(an)k(appropriate)e(cop)m(yrigh)m(t)i
-(notice)510 4170 y(and)i(a)g(notice)h(that)f(there)h(is)e(no)h(w)m
-(arran)m(t)m(y)h(\(or)g(else,)g(sa)m(ying)f(that)h(y)m(ou)g(pro)m(vide)
-e(a)i(w)m(arran)m(t)m(y\))510 4280 y(and)35 b(that)g(users)g(ma)m(y)g
-(redistribute)e(the)j(program)f(under)e(these)j(conditions,)f(and)g
-(telling)510 4390 y(the)f(user)f(ho)m(w)h(to)g(view)f(a)i(cop)m(y)f(of)
-g(this)f(License.)50 b(\(Exception:)e(if)32 b(the)i(Program)g(itself)f
-(is)510 4499 y(in)m(teractiv)m(e)i(but)e(do)s(es)h(not)g(normally)e
-(prin)m(t)h(suc)m(h)g(an)h(announcemen)m(t,)h(y)m(our)f(w)m(ork)g
-(based)510 4609 y(on)c(the)h(Program)f(is)g(not)g(required)f(to)i(prin)
-m(t)e(an)h(announcemen)m(t.\))330 4792 y(These)41 b(requiremen)m(ts)g
-(apply)f(to)i(the)g(mo)s(di\014ed)e(w)m(ork)h(as)h(a)g(whole.)73
-b(If)42 b(iden)m(ti\014able)d(sections)330 4902 y(of)j(that)h(w)m(ork)g
-(are)f(not)h(deriv)m(ed)e(from)h(the)h(Program,)i(and)d(can)h(b)s(e)e
-(reasonably)h(considered)330 5011 y(indep)s(enden)m(t)24
-b(and)j(separate)g(w)m(orks)g(in)e(themselv)m(es,)j(then)e(this)g
-(License,)h(and)f(its)h(terms,)g(do)g(not)330 5121 y(apply)36
-b(to)i(those)f(sections)g(when)g(y)m(ou)g(distribute)e(them)i(as)g
+b(m)m(ust)g(cause)g(an)m(y)h(w)m(ork)f(that)g(y)m(ou)g(distribute)f(or)
+h(publish,)f(that)h(in)g(whole)g(or)g(in)f(part)510 3586
+y(con)m(tains)36 b(or)g(is)f(deriv)m(ed)g(from)g(the)g(Program)g(or)g
+(an)m(y)h(part)f(thereof,)i(to)f(b)s(e)e(licensed)i(as)g(a)510
+3695 y(whole)31 b(at)g(no)f(c)m(harge)i(to)f(all)g(third)e(parties)i
+(under)e(the)i(terms)f(of)g(this)h(License.)384 3842
+y(c.)61 b(If)39 b(the)h(mo)s(di\014ed)f(program)g(normally)h(reads)g
+(commands)f(in)m(teractiv)m(ely)k(when)c(run,)i(y)m(ou)510
+3951 y(m)m(ust)30 b(cause)h(it,)g(when)f(started)h(running)d(for)j(suc)
+m(h)f(in)m(teractiv)m(e)j(use)d(in)g(the)h(most)g(ordinary)510
+4061 y(w)m(a)m(y)-8 b(,)25 b(to)d(prin)m(t)f(or)g(displa)m(y)h(an)f
+(announcemen)m(t)g(including)g(an)h(appropriate)f(cop)m(yrigh)m(t)i
+(notice)510 4170 y(and)h(a)g(notice)i(that)e(there)h(is)f(no)g(w)m
+(arran)m(t)m(y)h(\(or)g(else,)h(sa)m(ying)f(that)g(y)m(ou)g(pro)m(vide)
+f(a)h(w)m(arran)m(t)m(y\))510 4280 y(and)35 b(that)g(users)g(ma)m(y)g
+(redistribute)g(the)h(program)f(under)e(these)j(conditions,)h(and)e
+(telling)510 4390 y(the)f(user)f(ho)m(w)h(to)g(view)g(a)h(cop)m(y)f(of)
+g(this)g(License.)51 b(\(Exception:)e(if)33 b(the)h(Program)g(itself)h
+(is)510 4499 y(in)m(teractiv)m(e)i(but)c(do)s(es)h(not)g(normally)g
+(prin)m(t)g(suc)m(h)f(an)h(announcemen)m(t,)h(y)m(our)f(w)m(ork)g
+(based)510 4609 y(on)c(the)h(Program)f(is)h(not)f(required)g(to)h(prin)
+m(t)f(an)g(announcemen)m(t.\))330 4792 y(These)41 b(requiremen)m(ts)h
+(apply)f(to)h(the)g(mo)s(di\014ed)f(w)m(ork)g(as)h(a)g(whole.)74
+b(If)42 b(iden)m(ti\014able)g(sections)330 4902 y(of)g(that)h(w)m(ork)g
+(are)f(not)h(deriv)m(ed)f(from)g(the)h(Program,)i(and)d(can)h(b)s(e)e
+(reasonably)i(considered)330 5011 y(indep)s(enden)m(t)25
+b(and)i(separate)g(w)m(orks)g(in)f(themselv)m(es,)j(then)d(this)h
+(License,)h(and)e(its)i(terms,)f(do)g(not)330 5121 y(apply)37
+b(to)h(those)f(sections)h(when)f(y)m(ou)g(distribute)g(them)g(as)g
(separate)h(w)m(orks.)61 b(But)37 b(when)g(y)m(ou)330
-5230 y(distribute)27 b(the)i(same)g(sections)h(as)f(part)g(of)g(a)h
-(whole)e(whic)m(h)g(is)g(a)h(w)m(ork)h(based)e(on)h(the)h(Program,)330
-5340 y(the)h(distribution)d(of)j(the)h(whole)e(m)m(ust)h(b)s(e)g(on)g
-(the)g(terms)g(of)h(this)e(License,)h(whose)g(p)s(ermissions)p
-eop
+5230 y(distribute)29 b(the)g(same)g(sections)i(as)e(part)g(of)g(a)h
+(whole)f(whic)m(h)g(is)g(a)g(w)m(ork)h(based)e(on)h(the)h(Program,)330
+5340 y(the)h(distribution)g(of)g(the)h(whole)f(m)m(ust)g(b)s(e)g(on)g
+(the)g(terms)g(of)h(this)f(License,)h(whose)f(p)s(ermissions)p
+eop end
%%Page: 3 5
-3 4 bop 150 -116 a Fs(GNU)31 b(GENERAL)f(PUBLIC)h(LICENSE)2052
-b(3)330 299 y(for)22 b(other)h(licensees)e(extend)i(to)g(the)f(en)m
-(tire)g(whole,)i(and)d(th)m(us)h(to)h(eac)m(h)h(and)d(ev)m(ery)i(part)g
-(regardless)330 408 y(of)31 b(who)e(wrote)i(it.)330 538
-y(Th)m(us,)48 b(it)d(is)f(not)i(the)f(in)m(ten)m(t)g(of)h(this)e
-(section)h(to)h(claim)f(righ)m(ts)f(or)h(con)m(test)i(y)m(our)f(righ)m
-(ts)e(to)330 648 y(w)m(ork)34 b(written)e(en)m(tirely)h(b)m(y)h(y)m
-(ou;)h(rather,)g(the)f(in)m(ten)m(t)g(is)e(to)j(exercise)e(the)h(righ)m
-(t)f(to)i(con)m(trol)f(the)330 757 y(distribution)27
-b(of)j(deriv)-5 b(ativ)m(e)30 b(or)h(collectiv)m(e)f(w)m(orks)h(based)f
-(on)g(the)h(Program.)330 887 y(In)41 b(addition,)h(mere)f(aggregation)i
-(of)f(another)f(w)m(ork)g(not)h(based)f(on)g(the)g(Program)h(with)e
-(the)330 996 y(Program)22 b(\(or)g(with)e(a)i(w)m(ork)g(based)f(on)h
-(the)g(Program\))g(on)f(a)h(v)m(olume)g(of)g(a)g(storage)h(or)f
-(distribution)330 1106 y(medium)28 b(do)s(es)j(not)f(bring)f(the)h
-(other)h(w)m(ork)f(under)f(the)i(scop)s(e)f(of)h(this)e(License.)199
-1235 y(3.)61 b(Y)-8 b(ou)38 b(ma)m(y)f(cop)m(y)h(and)f(distribute)d
-(the)k(Program)f(\(or)g(a)h(w)m(ork)f(based)g(on)g(it,)i(under)c
-(Section)i(2\))330 1345 y(in)29 b(ob)5 b(ject)31 b(co)s(de)g(or)g
-(executable)g(form)f(under)e(the)j(terms)f(of)h(Sections)f(1)h(and)f(2)
-h(ab)s(o)m(v)m(e)g(pro)m(vided)330 1455 y(that)g(y)m(ou)g(also)f(do)g
+TeXDict begin 3 4 bop 150 -116 a Fs(GNU)31 b(GENERAL)f(PUBLIC)h
+(LICENSE)2052 b(3)330 299 y(for)22 b(other)h(licensees)g(extend)g(to)g
+(the)f(en)m(tire)h(whole,)i(and)c(th)m(us)h(to)h(eac)m(h)h(and)d(ev)m
+(ery)i(part)g(regardless)330 408 y(of)31 b(who)e(wrote)i(it.)330
+538 y(Th)m(us,)48 b(it)e(is)f(not)h(the)f(in)m(ten)m(t)h(of)g(this)f
+(section)h(to)g(claim)h(righ)m(ts)e(or)g(con)m(test)i(y)m(our)f(righ)m
+(ts)f(to)330 648 y(w)m(ork)34 b(written)f(en)m(tirely)i(b)m(y)f(y)m
+(ou;)h(rather,)g(the)f(in)m(ten)m(t)h(is)e(to)i(exercise)f(the)g(righ)m
+(t)g(to)h(con)m(trol)g(the)330 757 y(distribution)30
+b(of)g(deriv)-5 b(ativ)m(e)32 b(or)f(collectiv)m(e)i(w)m(orks)e(based)f
+(on)g(the)h(Program.)330 887 y(In)41 b(addition,)j(mere)d(aggregation)j
+(of)e(another)f(w)m(ork)g(not)h(based)f(on)g(the)g(Program)h(with)f
+(the)330 996 y(Program)22 b(\(or)g(with)f(a)h(w)m(ork)g(based)f(on)h
+(the)g(Program\))g(on)f(a)h(v)m(olume)h(of)f(a)g(storage)h(or)f
+(distribution)330 1106 y(medium)29 b(do)s(es)i(not)f(bring)g(the)g
+(other)h(w)m(ork)f(under)f(the)i(scop)s(e)f(of)h(this)f(License.)199
+1235 y(3.)61 b(Y)-8 b(ou)38 b(ma)m(y)f(cop)m(y)h(and)f(distribute)f
+(the)i(Program)f(\(or)g(a)h(w)m(ork)f(based)g(on)g(it,)j(under)35
+b(Section)j(2\))330 1345 y(in)30 b(ob)5 b(ject)31 b(co)s(de)g(or)g
+(executable)h(form)e(under)e(the)j(terms)f(of)h(Sections)g(1)g(and)f(2)
+h(ab)s(o)m(v)m(e)g(pro)m(vided)330 1455 y(that)g(y)m(ou)g(also)g(do)f
(one)h(of)f(the)h(follo)m(wing:)379 1584 y(a.)61 b(Accompan)m(y)47
-b(it)e(with)f(the)i(complete)g(corresp)s(onding)e(mac)m(hine-readable)h
-(source)g(co)s(de,)510 1694 y(whic)m(h)25 b(m)m(ust)h(b)s(e)f
-(distributed)e(under)h(the)j(terms)e(of)i(Sections)e(1)i(and)e(2)h(ab)s
-(o)m(v)m(e)i(on)d(a)i(medium)510 1803 y(customarily)i(used)h(for)g
-(soft)m(w)m(are)i(in)m(terc)m(hange;)f(or,)374 1933 y(b.)60
-b(Accompan)m(y)30 b(it)f(with)f(a)i(written)e(o\013er,)j(v)-5
-b(alid)27 b(for)i(at)i(least)e(three)h(y)m(ears,)g(to)g(giv)m(e)g(an)m
-(y)g(third)510 2042 y(part)m(y)-8 b(,)32 b(for)f(a)h(c)m(harge)g(no)f
-(more)h(than)f(y)m(our)g(cost)h(of)f(ph)m(ysically)f(p)s(erforming)f
-(source)i(distri-)510 2152 y(bution,)c(a)h(complete)h(mac)m
-(hine-readable)e(cop)m(y)h(of)g(the)g(corresp)s(onding)e(source)i(co)s
-(de,)h(to)g(b)s(e)510 2262 y(distributed)i(under)i(the)h(terms)g(of)h
-(Sections)f(1)g(and)g(2)h(ab)s(o)m(v)m(e)g(on)f(a)h(medium)d
-(customarily)510 2371 y(used)e(for)g(soft)m(w)m(are)i(in)m(terc)m
-(hange;)f(or,)384 2501 y(c.)61 b(Accompan)m(y)33 b(it)e(with)g(the)h
-(information)e(y)m(ou)i(receiv)m(ed)g(as)g(to)g(the)g(o\013er)g(to)h
-(distribute)c(cor-)510 2610 y(resp)s(onding)i(source)i(co)s(de.)50
-b(\(This)31 b(alternativ)m(e)j(is)e(allo)m(w)m(ed)h(only)g(for)g
-(noncommercial)f(dis-)510 2720 y(tribution)e(and)h(only)g(if)g(y)m(ou)i
-(receiv)m(ed)f(the)g(program)g(in)f(ob)5 b(ject)33 b(co)s(de)f(or)g
-(executable)g(form)510 2829 y(with)d(suc)m(h)h(an)g(o\013er,)h(in)e
-(accord)j(with)d(Subsection)g(b)h(ab)s(o)m(v)m(e.\))330
+b(it)f(with)f(the)h(complete)h(corresp)s(onding)e(mac)m(hine-readable)i
+(source)e(co)s(de,)510 1694 y(whic)m(h)26 b(m)m(ust)g(b)s(e)f
+(distributed)g(under)f(the)j(terms)e(of)i(Sections)f(1)h(and)e(2)h(ab)s
+(o)m(v)m(e)i(on)d(a)i(medium)510 1803 y(customarily)k(used)f(for)g
+(soft)m(w)m(are)i(in)m(terc)m(hange;)g(or,)374 1933 y(b.)60
+b(Accompan)m(y)30 b(it)g(with)f(a)h(written)f(o\013er,)i(v)-5
+b(alid)29 b(for)g(at)i(least)f(three)g(y)m(ears,)g(to)g(giv)m(e)h(an)m
+(y)f(third)510 2042 y(part)m(y)-8 b(,)32 b(for)f(a)h(c)m(harge)g(no)f
+(more)h(than)f(y)m(our)g(cost)h(of)f(ph)m(ysically)i(p)s(erforming)d
+(source)h(distri-)510 2152 y(bution,)d(a)g(complete)i(mac)m
+(hine-readable)f(cop)m(y)f(of)g(the)g(corresp)s(onding)f(source)h(co)s
+(de,)h(to)g(b)s(e)510 2262 y(distributed)k(under)g(the)h(terms)g(of)h
+(Sections)g(1)f(and)g(2)h(ab)s(o)m(v)m(e)g(on)f(a)h(medium)e
+(customarily)510 2371 y(used)d(for)g(soft)m(w)m(are)i(in)m(terc)m
+(hange;)g(or,)384 2501 y(c.)61 b(Accompan)m(y)33 b(it)f(with)g(the)g
+(information)g(y)m(ou)g(receiv)m(ed)h(as)f(to)g(the)g(o\013er)g(to)h
+(distribute)e(cor-)510 2610 y(resp)s(onding)h(source)h(co)s(de.)50
+b(\(This)32 b(alternativ)m(e)k(is)d(allo)m(w)m(ed)i(only)f(for)f
+(noncommercial)h(dis-)510 2720 y(tribution)e(and)f(only)h(if)g(y)m(ou)h
+(receiv)m(ed)g(the)f(program)g(in)g(ob)5 b(ject)33 b(co)s(de)f(or)g
+(executable)h(form)510 2829 y(with)d(suc)m(h)g(an)g(o\013er,)h(in)f
+(accord)i(with)e(Subsection)g(b)g(ab)s(o)m(v)m(e.\))330
2979 y(The)j(source)h(co)s(de)g(for)f(a)h(w)m(ork)g(means)f(the)h
-(preferred)e(form)h(of)h(the)g(w)m(ork)f(for)h(making)f(mo)s(di\014-)
-330 3088 y(cations)e(to)g(it.)40 b(F)-8 b(or)31 b(an)f(executable)h(w)m
-(ork,)g(complete)f(source)h(co)s(de)f(means)h(all)e(the)h(source)h(co)s
-(de)330 3198 y(for)25 b(all)g(mo)s(dules)f(it)h(con)m(tains,)i(plus)c
-(an)m(y)j(asso)s(ciated)g(in)m(terface)h(de\014nition)c(\014les,)j
-(plus)d(the)j(scripts)330 3308 y(used)41 b(to)i(con)m(trol)g
-(compilation)d(and)i(installation)e(of)i(the)h(executable.)76
+(preferred)e(form)h(of)h(the)g(w)m(ork)f(for)h(making)g(mo)s(di\014-)
+330 3088 y(cations)e(to)f(it.)41 b(F)-8 b(or)31 b(an)f(executable)i(w)m
+(ork,)f(complete)g(source)g(co)s(de)f(means)h(all)g(the)f(source)h(co)s
+(de)330 3198 y(for)25 b(all)i(mo)s(dules)e(it)h(con)m(tains,)i(plus)c
+(an)m(y)i(asso)s(ciated)h(in)m(terface)h(de\014nition)d(\014les,)i
+(plus)d(the)i(scripts)330 3308 y(used)41 b(to)i(con)m(trol)h
+(compilation)f(and)f(installation)i(of)e(the)h(executable.)77
b(Ho)m(w)m(ev)m(er,)48 b(as)42 b(a)g(sp)s(e-)330 3417
-y(cial)30 b(exception,)i(the)f(source)g(co)s(de)g(distributed)d(need)i
-(not)h(include)e(an)m(ything)h(that)i(is)e(normally)330
-3527 y(distributed)37 b(\(in)h(either)h(source)h(or)f(binary)f(form\))i
-(with)e(the)i(ma)5 b(jor)39 b(comp)s(onen)m(ts)h(\(compiler,)330
-3636 y(k)m(ernel,)35 b(and)f(so)g(on\))g(of)h(the)f(op)s(erating)g
-(system)g(on)g(whic)m(h)f(the)h(executable)h(runs,)f(unless)e(that)330
-3746 y(comp)s(onen)m(t)f(itself)e(accompanies)i(the)f(executable.)330
-3875 y(If)39 b(distribution)c(of)40 b(executable)g(or)f(ob)5
-b(ject)40 b(co)s(de)f(is)g(made)g(b)m(y)g(o\013ering)g(access)h(to)g
-(cop)m(y)g(from)330 3985 y(a)e(designated)f(place,)i(then)f(o\013ering)
-f(equiv)-5 b(alen)m(t)37 b(access)h(to)h(cop)m(y)f(the)f(source)h(co)s
-(de)g(from)f(the)330 4095 y(same)29 b(place)f(coun)m(ts)g(as)h
-(distribution)24 b(of)k(the)h(source)f(co)s(de,)h(ev)m(en)g(though)e
-(third)g(parties)g(are)i(not)330 4204 y(comp)s(elled)g(to)i(cop)m(y)g
-(the)g(source)f(along)h(with)e(the)h(ob)5 b(ject)31 b(co)s(de.)199
+y(cial)32 b(exception,)h(the)e(source)g(co)s(de)g(distributed)f(need)g
+(not)h(include)g(an)m(ything)g(that)h(is)f(normally)330
+3527 y(distributed)39 b(\(in)g(either)h(source)g(or)f(binary)g(form\))h
+(with)f(the)h(ma)5 b(jor)39 b(comp)s(onen)m(ts)h(\(compiler,)330
+3636 y(k)m(ernel,)c(and)e(so)g(on\))g(of)h(the)f(op)s(erating)h(system)
+f(on)g(whic)m(h)g(the)g(executable)i(runs,)e(unless)f(that)330
+3746 y(comp)s(onen)m(t)e(itself)g(accompanies)h(the)e(executable.)330
+3875 y(If)39 b(distribution)f(of)i(executable)h(or)e(ob)5
+b(ject)40 b(co)s(de)f(is)h(made)f(b)m(y)g(o\013ering)h(access)g(to)g
+(cop)m(y)g(from)330 3985 y(a)e(designated)g(place,)i(then)e(o\013ering)
+g(equiv)-5 b(alen)m(t)39 b(access)f(to)h(cop)m(y)f(the)f(source)h(co)s
+(de)g(from)f(the)330 4095 y(same)29 b(place)g(coun)m(ts)f(as)h
+(distribution)e(of)h(the)h(source)f(co)s(de,)h(ev)m(en)g(though)e
+(third)h(parties)g(are)h(not)330 4204 y(comp)s(elled)i(to)g(cop)m(y)g
+(the)g(source)f(along)i(with)e(the)g(ob)5 b(ject)31 b(co)s(de.)199
4334 y(4.)61 b(Y)-8 b(ou)35 b(ma)m(y)h(not)f(cop)m(y)-8
-b(,)37 b(mo)s(dify)-8 b(,)35 b(sublicense,)f(or)g(distribute)f(the)i
-(Program)f(except)i(as)f(expressly)330 4443 y(pro)m(vided)k(under)g
-(this)h(License.)70 b(An)m(y)41 b(attempt)h(otherwise)e(to)h(cop)m(y)-8
-b(,)45 b(mo)s(dify)-8 b(,)42 b(sublicense)c(or)330 4553
-y(distribute)24 b(the)j(Program)g(is)e(v)m(oid,)i(and)f(will)e
-(automatically)j(terminate)f(y)m(our)h(righ)m(ts)f(under)f(this)330
-4663 y(License.)70 b(Ho)m(w)m(ev)m(er,)45 b(parties)40
-b(who)g(ha)m(v)m(e)h(receiv)m(ed)g(copies,)i(or)d(righ)m(ts,)j(from)d
-(y)m(ou)g(under)f(this)330 4772 y(License)d(will)e(not)j(ha)m(v)m(e)h
-(their)e(licenses)f(terminated)i(so)g(long)f(as)h(suc)m(h)f(parties)g
-(remain)g(in)f(full)330 4882 y(compliance.)199 5011 y(5.)61
-b(Y)-8 b(ou)38 b(are)g(not)g(required)d(to)j(accept)h(this)e(License,)i
-(since)e(y)m(ou)g(ha)m(v)m(e)i(not)f(signed)e(it.)62
-b(Ho)m(w)m(ev)m(er,)330 5121 y(nothing)23 b(else)g(gran)m(ts)i(y)m(ou)f
-(p)s(ermission)c(to)25 b(mo)s(dify)d(or)h(distribute)f(the)i(Program)g
-(or)f(its)g(deriv)-5 b(ativ)m(e)330 5230 y(w)m(orks.)38
-b(These)23 b(actions)g(are)h(prohibited)c(b)m(y)j(la)m(w)g(if)f(y)m(ou)
-h(do)g(not)h(accept)g(this)e(License.)38 b(Therefore,)330
-5340 y(b)m(y)e(mo)s(difying)d(or)j(distributing)c(the)k(Program)g(\(or)
-h(an)m(y)f(w)m(ork)g(based)g(on)f(the)i(Program\),)h(y)m(ou)p
-eop
+b(,)37 b(mo)s(dify)-8 b(,)36 b(sublicense,)g(or)e(distribute)h(the)g
+(Program)f(except)i(as)f(expressly)330 4443 y(pro)m(vided)40
+b(under)f(this)i(License.)71 b(An)m(y)41 b(attempt)h(otherwise)f(to)g
+(cop)m(y)-8 b(,)45 b(mo)s(dify)-8 b(,)43 b(sublicense)d(or)330
+4553 y(distribute)26 b(the)h(Program)g(is)f(v)m(oid,)i(and)e(will)h
+(automatically)j(terminate)d(y)m(our)g(righ)m(ts)g(under)e(this)330
+4663 y(License.)71 b(Ho)m(w)m(ev)m(er,)45 b(parties)c(who)f(ha)m(v)m(e)
+h(receiv)m(ed)h(copies,)i(or)c(righ)m(ts,)k(from)c(y)m(ou)g(under)f
+(this)330 4772 y(License)e(will)g(not)g(ha)m(v)m(e)h(their)f(licenses)g
+(terminated)h(so)f(long)g(as)g(suc)m(h)f(parties)h(remain)g(in)f(full)
+330 4882 y(compliance.)199 5011 y(5.)61 b(Y)-8 b(ou)38
+b(are)g(not)g(required)e(to)i(accept)h(this)f(License,)i(since)e(y)m
+(ou)f(ha)m(v)m(e)i(not)f(signed)f(it.)63 b(Ho)m(w)m(ev)m(er,)330
+5121 y(nothing)24 b(else)g(gran)m(ts)h(y)m(ou)f(p)s(ermission)e(to)j
+(mo)s(dify)e(or)g(distribute)h(the)g(Program)g(or)f(its)h(deriv)-5
+b(ativ)m(e)330 5230 y(w)m(orks.)38 b(These)23 b(actions)h(are)g
+(prohibited)e(b)m(y)h(la)m(w)h(if)f(y)m(ou)g(do)g(not)h(accept)g(this)f
+(License.)39 b(Therefore,)330 5340 y(b)m(y)d(mo)s(difying)f(or)h
+(distributing)f(the)h(Program)g(\(or)h(an)m(y)f(w)m(ork)g(based)g(on)f
+(the)i(Program\),)h(y)m(ou)p eop end
%%Page: 4 6
-4 5 bop 150 -116 a Fs(GNU)31 b(GENERAL)f(PUBLIC)h(LICENSE)2052
-b(4)330 299 y(indicate)31 b(y)m(our)i(acceptance)h(of)f(this)e(License)
-h(to)i(do)e(so,)h(and)f(all)f(its)h(terms)g(and)g(conditions)f(for)330
-408 y(cop)m(ying,)g(distributing)26 b(or)31 b(mo)s(difying)c(the)k
-(Program)f(or)h(w)m(orks)f(based)g(on)g(it.)199 545 y(6.)61
-b(Eac)m(h)43 b(time)e(y)m(ou)h(redistribute)e(the)i(Program)g(\(or)g
-(an)m(y)h(w)m(ork)f(based)f(on)h(the)g(Program\),)k(the)330
-655 y(recipien)m(t)31 b(automatically)i(receiv)m(es)g(a)g(license)e
-(from)h(the)g(original)f(licensor)g(to)i(cop)m(y)-8 b(,)34
-b(distribute)330 765 y(or)i(mo)s(dify)f(the)h(Program)h(sub)5
-b(ject)36 b(to)h(these)g(terms)f(and)g(conditions.)57
+TeXDict begin 4 5 bop 150 -116 a Fs(GNU)31 b(GENERAL)f(PUBLIC)h
+(LICENSE)2052 b(4)330 299 y(indicate)33 b(y)m(our)g(acceptance)h(of)f
+(this)f(License)h(to)h(do)e(so,)h(and)f(all)h(its)g(terms)f(and)g
+(conditions)h(for)330 408 y(cop)m(ying,)f(distributing)d(or)i(mo)s
+(difying)e(the)i(Program)f(or)h(w)m(orks)f(based)g(on)g(it.)199
+545 y(6.)61 b(Eac)m(h)43 b(time)f(y)m(ou)g(redistribute)g(the)g
+(Program)g(\(or)g(an)m(y)h(w)m(ork)f(based)f(on)h(the)g(Program\),)k
+(the)330 655 y(recipien)m(t)33 b(automatically)j(receiv)m(es)e(a)f
+(license)g(from)f(the)g(original)i(licensor)f(to)g(cop)m(y)-8
+b(,)34 b(distribute)330 765 y(or)i(mo)s(dify)g(the)g(Program)h(sub)5
+b(ject)36 b(to)h(these)g(terms)f(and)g(conditions.)59
b(Y)-8 b(ou)37 b(ma)m(y)g(not)f(imp)s(ose)330 874 y(an)m(y)27
-b(further)f(restrictions)f(on)i(the)g(recipien)m(ts')f(exercise)h(of)g
-(the)g(righ)m(ts)f(gran)m(ted)h(herein.)38 b(Y)-8 b(ou)28
-b(are)330 984 y(not)j(resp)s(onsible)c(for)j(enforcing)g(compliance)g
-(b)m(y)g(third)e(parties)i(to)h(this)e(License.)199 1121
+b(further)f(restrictions)h(on)g(the)g(recipien)m(ts')h(exercise)g(of)f
+(the)g(righ)m(ts)g(gran)m(ted)g(herein.)39 b(Y)-8 b(ou)28
+b(are)330 984 y(not)j(resp)s(onsible)e(for)h(enforcing)h(compliance)h
+(b)m(y)e(third)f(parties)i(to)g(this)f(License.)199 1121
y(7.)61 b(If,)27 b(as)g(a)g(consequence)h(of)f(a)g(court)g(judgmen)m(t)
-f(or)h(allegation)f(of)h(paten)m(t)h(infringemen)m(t)c(or)j(for)g(an)m
-(y)330 1230 y(other)h(reason)f(\(not)h(limited)d(to)j(paten)m(t)h
-(issues\),)e(conditions)f(are)h(imp)s(osed)f(on)h(y)m(ou)h(\(whether)f
-(b)m(y)330 1340 y(court)c(order,)h(agreemen)m(t)g(or)f(otherwise\))f
-(that)h(con)m(tradict)h(the)e(conditions)f(of)i(this)f(License,)i(they)
-330 1450 y(do)34 b(not)g(excuse)h(y)m(ou)f(from)g(the)g(conditions)f
-(of)h(this)f(License.)52 b(If)33 b(y)m(ou)i(cannot)g(distribute)c(so)k
-(as)330 1559 y(to)f(satisfy)f(sim)m(ultaneously)f(y)m(our)h
-(obligations)g(under)f(this)g(License)h(and)g(an)m(y)h(other)g(p)s
-(ertinen)m(t)330 1669 y(obligations,)41 b(then)f(as)g(a)g(consequence)h
-(y)m(ou)f(ma)m(y)g(not)g(distribute)e(the)i(Program)g(at)g(all.)68
-b(F)-8 b(or)330 1778 y(example,)25 b(if)e(a)i(paten)m(t)g(license)e(w)m
-(ould)g(not)h(p)s(ermit)f(ro)m(y)m(alt)m(y-free)j(redistribution)20
-b(of)k(the)h(Program)330 1888 y(b)m(y)35 b(all)f(those)h(who)f(receiv)m
-(e)i(copies)f(directly)e(or)i(indirectly)e(through)h(y)m(ou,)i(then)f
-(the)g(only)f(w)m(a)m(y)330 1998 y(y)m(ou)27 b(could)e(satisfy)h(b)s
-(oth)f(it)h(and)g(this)f(License)h(w)m(ould)f(b)s(e)h(to)h(refrain)d
-(en)m(tirely)i(from)g(distribution)330 2107 y(of)31 b(the)f(Program.)
-330 2244 y(If)43 b(an)m(y)g(p)s(ortion)f(of)h(this)g(section)g(is)f
-(held)g(in)m(v)-5 b(alid)41 b(or)i(unenforceable)f(under)g(an)m(y)i
-(particular)330 2354 y(circumstance,)i(the)e(balance)f(of)g(the)h
-(section)f(is)f(in)m(tended)g(to)i(apply)e(and)g(the)i(section)f(as)h
-(a)330 2463 y(whole)30 b(is)f(in)m(tended)g(to)i(apply)e(in)g(other)i
-(circumstances.)330 2600 y(It)41 b(is)e(not)i(the)f(purp)s(ose)f(of)i
-(this)e(section)i(to)g(induce)e(y)m(ou)i(to)g(infringe)d(an)m(y)j
-(paten)m(ts)g(or)g(other)330 2710 y(prop)s(ert)m(y)e(righ)m(t)h(claims)
-e(or)i(to)h(con)m(test)h(v)-5 b(alidit)m(y)38 b(of)i(an)m(y)g(suc)m(h)g
-(claims;)j(this)c(section)h(has)g(the)330 2819 y(sole)30
-b(purp)s(ose)e(of)j(protecting)f(the)g(in)m(tegrit)m(y)g(of)g(the)h
-(free)f(soft)m(w)m(are)h(distribution)c(system,)j(whic)m(h)330
-2929 y(is)k(implemen)m(ted)g(b)m(y)h(public)d(license)i(practices.)55
-b(Man)m(y)36 b(p)s(eople)e(ha)m(v)m(e)i(made)f(generous)h(con)m(tri-)
-330 3039 y(butions)e(to)i(the)f(wide)g(range)g(of)h(soft)m(w)m(are)h
-(distributed)32 b(through)j(that)h(system)f(in)f(reliance)h(on)330
-3148 y(consisten)m(t)h(application)e(of)h(that)h(system;)i(it)d(is)g
-(up)f(to)i(the)g(author/donor)f(to)h(decide)f(if)g(he)g(or)330
-3258 y(she)i(is)g(willing)d(to)k(distribute)d(soft)m(w)m(are)k(through)
-e(an)m(y)g(other)h(system)g(and)f(a)g(licensee)g(cannot)330
-3367 y(imp)s(ose)29 b(that)i(c)m(hoice.)330 3504 y(This)25
-b(section)j(is)e(in)m(tended)g(to)i(mak)m(e)g(thoroughly)e(clear)h
-(what)g(is)f(b)s(eliev)m(ed)g(to)i(b)s(e)f(a)g(consequence)330
-3614 y(of)k(the)f(rest)h(of)f(this)f(License.)199 3751
-y(8.)61 b(If)35 b(the)g(distribution)c(and/or)k(use)g(of)g(the)g
-(Program)g(is)f(restricted)h(in)f(certain)h(coun)m(tries)f(either)330
-3861 y(b)m(y)h(paten)m(ts)h(or)g(b)m(y)f(cop)m(yrigh)m(ted)h(in)m
-(terfaces,)h(the)e(original)f(cop)m(yrigh)m(t)i(holder)e(who)h(places)g
-(the)330 3970 y(Program)h(under)f(this)g(License)h(ma)m(y)h(add)e(an)i
-(explicit)d(geographical)j(distribution)32 b(limitation)330
-4080 y(excluding)27 b(those)i(coun)m(tries,)g(so)g(that)g(distribution)
-c(is)i(p)s(ermitted)h(only)f(in)g(or)i(among)g(coun)m(tries)330
-4189 y(not)k(th)m(us)f(excluded.)47 b(In)32 b(suc)m(h)g(case,)j(this)c
-(License)i(incorp)s(orates)f(the)h(limitation)d(as)j(if)f(written)330
-4299 y(in)d(the)i(b)s(o)s(dy)d(of)j(this)e(License.)199
+f(or)h(allegation)i(of)e(paten)m(t)h(infringemen)m(t)e(or)h(for)g(an)m
+(y)330 1230 y(other)h(reason)f(\(not)h(limited)g(to)g(paten)m(t)h
+(issues\),)f(conditions)g(are)f(imp)s(osed)g(on)g(y)m(ou)h(\(whether)f
+(b)m(y)330 1340 y(court)c(order,)h(agreemen)m(t)g(or)f(otherwise\))g
+(that)g(con)m(tradict)i(the)d(conditions)h(of)g(this)g(License,)i(they)
+330 1450 y(do)34 b(not)g(excuse)h(y)m(ou)f(from)g(the)g(conditions)h
+(of)f(this)g(License.)53 b(If)33 b(y)m(ou)i(cannot)g(distribute)e(so)i
+(as)330 1559 y(to)f(satisfy)g(sim)m(ultaneously)h(y)m(our)e
+(obligations)j(under)c(this)h(License)h(and)f(an)m(y)h(other)g(p)s
+(ertinen)m(t)330 1669 y(obligations,)44 b(then)c(as)g(a)g(consequence)h
+(y)m(ou)f(ma)m(y)g(not)g(distribute)g(the)g(Program)g(at)g(all.)70
+b(F)-8 b(or)330 1778 y(example,)26 b(if)e(a)h(paten)m(t)g(license)g(w)m
+(ould)f(not)g(p)s(ermit)g(ro)m(y)m(alt)m(y-free)j(redistribution)c(of)h
+(the)h(Program)330 1888 y(b)m(y)35 b(all)h(those)f(who)f(receiv)m(e)j
+(copies)f(directly)f(or)g(indirectly)h(through)e(y)m(ou,)i(then)f(the)g
+(only)g(w)m(a)m(y)330 1998 y(y)m(ou)27 b(could)f(satisfy)h(b)s(oth)e
+(it)i(and)f(this)g(License)h(w)m(ould)f(b)s(e)g(to)h(refrain)e(en)m
+(tirely)j(from)e(distribution)330 2107 y(of)31 b(the)f(Program.)330
+2244 y(If)43 b(an)m(y)g(p)s(ortion)g(of)g(this)h(section)g(is)f(held)g
+(in)m(v)-5 b(alid)44 b(or)f(unenforceable)g(under)f(an)m(y)i
+(particular)330 2354 y(circumstance,)j(the)d(balance)g(of)f(the)h
+(section)g(is)f(in)m(tended)g(to)h(apply)f(and)f(the)i(section)g(as)g
+(a)330 2463 y(whole)31 b(is)f(in)m(tended)g(to)h(apply)f(in)g(other)h
+(circumstances.)330 2600 y(It)41 b(is)f(not)h(the)f(purp)s(ose)f(of)i
+(this)f(section)i(to)f(induce)f(y)m(ou)h(to)g(infringe)f(an)m(y)h
+(paten)m(ts)g(or)g(other)330 2710 y(prop)s(ert)m(y)e(righ)m(t)i(claims)
+f(or)g(to)h(con)m(test)h(v)-5 b(alidit)m(y)41 b(of)f(an)m(y)g(suc)m(h)g
+(claims;)45 b(this)40 b(section)h(has)f(the)330 2819
+y(sole)31 b(purp)s(ose)d(of)j(protecting)g(the)f(in)m(tegrit)m(y)i(of)e
+(the)h(free)f(soft)m(w)m(are)h(distribution)f(system,)g(whic)m(h)330
+2929 y(is)35 b(implemen)m(ted)h(b)m(y)f(public)f(license)i(practices.)
+56 b(Man)m(y)36 b(p)s(eople)f(ha)m(v)m(e)h(made)f(generous)h(con)m
+(tri-)330 3039 y(butions)f(to)h(the)f(wide)h(range)f(of)h(soft)m(w)m
+(are)h(distributed)d(through)h(that)h(system)f(in)g(reliance)i(on)330
+3148 y(consisten)m(t)g(application)g(of)e(that)h(system;)i(it)e(is)g
+(up)e(to)i(the)g(author/donor)f(to)h(decide)g(if)g(he)f(or)330
+3258 y(she)i(is)h(willing)g(to)g(distribute)f(soft)m(w)m(are)i(through)
+e(an)m(y)g(other)h(system)g(and)f(a)g(licensee)i(cannot)330
+3367 y(imp)s(ose)30 b(that)h(c)m(hoice.)330 3504 y(This)26
+b(section)j(is)e(in)m(tended)g(to)h(mak)m(e)g(thoroughly)f(clear)h
+(what)f(is)g(b)s(eliev)m(ed)h(to)g(b)s(e)f(a)g(consequence)330
+3614 y(of)k(the)f(rest)h(of)f(this)g(License.)199 3751
+y(8.)61 b(If)35 b(the)g(distribution)f(and/or)h(use)g(of)g(the)g
+(Program)g(is)g(restricted)h(in)f(certain)h(coun)m(tries)f(either)330
+3861 y(b)m(y)g(paten)m(ts)h(or)g(b)m(y)f(cop)m(yrigh)m(ted)i(in)m
+(terfaces,)h(the)d(original)i(cop)m(yrigh)m(t)g(holder)e(who)g(places)h
+(the)330 3970 y(Program)g(under)f(this)h(License)h(ma)m(y)g(add)e(an)i
+(explicit)g(geographical)i(distribution)c(limitation)330
+4080 y(excluding)29 b(those)g(coun)m(tries,)h(so)f(that)g(distribution)
+f(is)g(p)s(ermitted)h(only)f(in)g(or)h(among)g(coun)m(tries)330
+4189 y(not)k(th)m(us)f(excluded.)48 b(In)32 b(suc)m(h)g(case,)j(this)d
+(License)i(incorp)s(orates)f(the)g(limitation)h(as)f(if)g(written)330
+4299 y(in)d(the)h(b)s(o)s(dy)d(of)j(this)f(License.)199
4436 y(9.)61 b(The)26 b(F)-8 b(ree)28 b(Soft)m(w)m(are)g(F)-8
-b(oundation)26 b(ma)m(y)i(publish)23 b(revised)i(and/or)i(new)f(v)m
-(ersions)g(of)h(the)g(General)330 4545 y(Public)35 b(License)h(from)h
-(time)g(to)g(time.)61 b(Suc)m(h)36 b(new)h(v)m(ersions)f(will)f(b)s(e)h
-(similar)e(in)i(spirit)f(to)j(the)330 4655 y(presen)m(t)30
-b(v)m(ersion,)h(but)e(ma)m(y)i(di\013er)e(in)g(detail)h(to)h(address)e
-(new)h(problems)f(or)h(concerns.)330 4792 y(Eac)m(h)46
-b(v)m(ersion)e(is)g(giv)m(en)h(a)g(distinguishing)40
-b(v)m(ersion)45 b(n)m(um)m(b)s(er.)83 b(If)44 b(the)h(Program)g(sp)s
-(eci\014es)f(a)330 4902 y(v)m(ersion)35 b(n)m(um)m(b)s(er)g(of)h(this)e
-(License)i(whic)m(h)e(applies)g(to)j(it)e(and)g(\\an)m(y)i(later)e(v)m
-(ersion",)j(y)m(ou)e(ha)m(v)m(e)330 5011 y(the)d(option)f(of)h(follo)m
-(wing)e(the)i(terms)g(and)f(conditions)f(either)i(of)g(that)g(v)m
-(ersion)f(or)h(of)g(an)m(y)g(later)330 5121 y(v)m(ersion)d(published)c
-(b)m(y)k(the)g(F)-8 b(ree)31 b(Soft)m(w)m(are)g(F)-8
-b(oundation.)41 b(If)29 b(the)i(Program)f(do)s(es)g(not)g(sp)s(ecify)f
-(a)330 5230 y(v)m(ersion)e(n)m(um)m(b)s(er)g(of)h(this)e(License,)i(y)m
-(ou)g(ma)m(y)h(c)m(ho)s(ose)f(an)m(y)h(v)m(ersion)e(ev)m(er)h
-(published)c(b)m(y)k(the)g(F)-8 b(ree)330 5340 y(Soft)m(w)m(are)31
-b(F)-8 b(oundation.)p eop
+b(oundation)27 b(ma)m(y)h(publish)d(revised)h(and/or)h(new)f(v)m
+(ersions)h(of)g(the)g(General)330 4545 y(Public)37 b(License)g(from)g
+(time)h(to)f(time.)62 b(Suc)m(h)36 b(new)h(v)m(ersions)g(will)h(b)s(e)e
+(similar)h(in)g(spirit)g(to)h(the)330 4655 y(presen)m(t)30
+b(v)m(ersion,)i(but)d(ma)m(y)i(di\013er)f(in)g(detail)i(to)f(address)e
+(new)h(problems)g(or)g(concerns.)330 4792 y(Eac)m(h)46
+b(v)m(ersion)f(is)g(giv)m(en)h(a)f(distinguishing)f(v)m(ersion)i(n)m
+(um)m(b)s(er.)83 b(If)44 b(the)h(Program)g(sp)s(eci\014es)g(a)330
+4902 y(v)m(ersion)36 b(n)m(um)m(b)s(er)f(of)h(this)f(License)i(whic)m
+(h)e(applies)h(to)h(it)f(and)f(\\an)m(y)i(later)f(v)m(ersion",)j(y)m
+(ou)d(ha)m(v)m(e)330 5011 y(the)d(option)g(of)g(follo)m(wing)h(the)f
+(terms)g(and)f(conditions)h(either)h(of)f(that)g(v)m(ersion)g(or)g(of)g
+(an)m(y)g(later)330 5121 y(v)m(ersion)e(published)d(b)m(y)i(the)g(F)-8
+b(ree)31 b(Soft)m(w)m(are)g(F)-8 b(oundation.)42 b(If)29
+b(the)i(Program)f(do)s(es)g(not)g(sp)s(ecify)g(a)330
+5230 y(v)m(ersion)e(n)m(um)m(b)s(er)f(of)h(this)f(License,)i(y)m(ou)f
+(ma)m(y)h(c)m(ho)s(ose)f(an)m(y)h(v)m(ersion)f(ev)m(er)g(published)e(b)
+m(y)i(the)g(F)-8 b(ree)330 5340 y(Soft)m(w)m(are)31 b(F)-8
+b(oundation.)p eop end
%%Page: 5 7
-5 6 bop 150 -116 a Fs(GNU)31 b(GENERAL)f(PUBLIC)h(LICENSE)2052
-b(5)154 299 y(10.)61 b(If)29 b(y)m(ou)g(wish)f(to)i(incorp)s(orate)f
-(parts)g(of)g(the)g(Program)h(in)m(to)f(other)h(free)f(programs)g
-(whose)g(distri-)330 408 y(bution)e(conditions)g(are)j(di\013eren)m(t,)
-e(write)g(to)i(the)f(author)f(to)i(ask)e(for)h(p)s(ermission.)37
-b(F)-8 b(or)29 b(soft)m(w)m(are)330 518 y(whic)m(h)23
-b(is)g(cop)m(yrigh)m(ted)h(b)m(y)g(the)g(F)-8 b(ree)25
-b(Soft)m(w)m(are)g(F)-8 b(oundation,)25 b(write)e(to)i(the)f(F)-8
-b(ree)25 b(Soft)m(w)m(are)g(F)-8 b(oun-)330 628 y(dation;)28
-b(w)m(e)g(sometimes)g(mak)m(e)g(exceptions)g(for)f(this.)39
-b(Our)26 b(decision)g(will)f(b)s(e)h(guided)h(b)m(y)g(the)h(t)m(w)m(o)
-330 737 y(goals)23 b(of)g(preserving)e(the)h(free)h(status)g(of)f(all)g
-(deriv)-5 b(ativ)m(es)22 b(of)g(our)g(free)h(soft)m(w)m(are)h(and)e(of)
-h(promoting)330 847 y(the)31 b(sharing)e(and)g(reuse)h(of)h(soft)m(w)m
+TeXDict begin 5 6 bop 150 -116 a Fs(GNU)31 b(GENERAL)f(PUBLIC)h
+(LICENSE)2052 b(5)154 299 y(10.)61 b(If)29 b(y)m(ou)g(wish)g(to)h
+(incorp)s(orate)g(parts)f(of)g(the)g(Program)h(in)m(to)g(other)g(free)f
+(programs)g(whose)g(distri-)330 408 y(bution)f(conditions)h(are)h
+(di\013eren)m(t,)f(write)g(to)h(the)f(author)f(to)i(ask)e(for)h(p)s
+(ermission.)39 b(F)-8 b(or)29 b(soft)m(w)m(are)330 518
+y(whic)m(h)24 b(is)g(cop)m(yrigh)m(ted)h(b)m(y)f(the)g(F)-8
+b(ree)25 b(Soft)m(w)m(are)g(F)-8 b(oundation,)26 b(write)e(to)h(the)f
+(F)-8 b(ree)25 b(Soft)m(w)m(are)g(F)-8 b(oun-)330 628
+y(dation;)29 b(w)m(e)f(sometimes)h(mak)m(e)f(exceptions)h(for)e(this.)
+40 b(Our)26 b(decision)i(will)g(b)s(e)e(guided)i(b)m(y)f(the)h(t)m(w)m
+(o)330 737 y(goals)c(of)f(preserving)f(the)g(free)h(status)g(of)f(all)i
+(deriv)-5 b(ativ)m(es)24 b(of)e(our)g(free)h(soft)m(w)m(are)h(and)e(of)
+h(promoting)330 847 y(the)31 b(sharing)f(and)f(reuse)h(of)h(soft)m(w)m
(are)h(generally)-8 b(.)330 995 y Fr(NO)45 b(W)-15 b(ARRANTY)154
1187 y Fs(11.)61 b(BECA)m(USE)40 b(THE)f(PR)m(OGRAM)i(IS)e(LICENSED)g
(FREE)g(OF)h(CHAR)m(GE,)h(THERE)e(IS)g(NO)330 1297 y(W)-10
@@ -2420,26 +3840,26 @@ b(OR)g(A)h(F)-10 b(AILURE)40 b(OF)g(THE)330 3185 y(PR)m(OGRAM)f(TO)f
(SUCH)330 3294 y(HOLDER)33 b(OR)h(OTHER)f(P)-8 b(AR)g(TY)34
b(HAS)f(BEEN)h(AD)m(VISED)g(OF)g(THE)f(POSSIBILITY)f(OF)330
3404 y(SUCH)e(D)m(AMA)m(GES.)150 3661 y Fr(END)45 b(OF)g(TERMS)f(AND)h
-(CONDITIONS)p eop
+(CONDITIONS)p eop end
%%Page: 6 8
-6 7 bop 150 -116 a Fs(GNU)31 b(GENERAL)f(PUBLIC)h(LICENSE)2052
-b(6)150 299 y Fr(Ho)l(w)46 b(to)f(Apply)f(These)h(T)-11
+TeXDict begin 6 7 bop 150 -116 a Fs(GNU)31 b(GENERAL)f(PUBLIC)h
+(LICENSE)2052 b(6)150 299 y Fr(Ho)l(w)46 b(to)f(Apply)f(These)h(T)-11
b(erms)45 b(to)g(Y)-11 b(our)44 b(New)i(Programs)275
-503 y Fs(If)38 b(y)m(ou)i(dev)m(elop)f(a)g(new)g(program,)j(and)c(y)m
-(ou)i(w)m(an)m(t)g(it)e(to)i(b)s(e)f(of)g(the)h(greatest)h(p)s(ossible)
-36 b(use)j(to)150 612 y(the)i(public,)g(the)h(b)s(est)e(w)m(a)m(y)i(to)
-g(ac)m(hiev)m(e)g(this)e(is)g(to)i(mak)m(e)g(it)f(free)g(soft)m(w)m
-(are)h(whic)m(h)e(ev)m(ery)m(one)j(can)150 722 y(redistribute)28
-b(and)i(c)m(hange)h(under)e(these)i(terms.)275 868 y(T)-8
-b(o)29 b(do)h(so,)g(attac)m(h)h(the)f(follo)m(wing)e(notices)h(to)i
-(the)e(program.)40 b(It)30 b(is)f(safest)h(to)g(attac)m(h)h(them)f(to)g
-(the)150 978 y(start)j(of)g(eac)m(h)h(source)e(\014le)g(to)h(most)g
-(e\013ectiv)m(ely)h(con)m(v)m(ey)g(the)e(exclusion)g(of)g(w)m(arran)m
-(t)m(y;)j(and)d(eac)m(h)i(\014le)150 1087 y(should)28
-b(ha)m(v)m(e)k(at)f(least)g(the)f(\\cop)m(yrigh)m(t")i(line)d(and)g(a)i
-(p)s(oin)m(ter)f(to)h(where)f(the)g(full)e(notice)j(is)e(found.)390
-1227 y Fo(one)i(line)d(to)j(giv)m(e)g(the)g(program's)f(name)h(and)e
-(an)i(idea)f(of)g(what)g(it)g(do)s(es.)390 1331 y Fn(Copyright)45
+503 y Fs(If)38 b(y)m(ou)i(dev)m(elop)g(a)f(new)g(program,)j(and)c(y)m
+(ou)i(w)m(an)m(t)g(it)f(to)h(b)s(e)f(of)g(the)h(greatest)h(p)s(ossible)
+d(use)h(to)150 612 y(the)i(public,)i(the)f(b)s(est)e(w)m(a)m(y)i(to)g
+(ac)m(hiev)m(e)h(this)e(is)g(to)h(mak)m(e)g(it)g(free)f(soft)m(w)m(are)
+h(whic)m(h)f(ev)m(ery)m(one)i(can)150 722 y(redistribute)30
+b(and)g(c)m(hange)h(under)e(these)i(terms.)275 868 y(T)-8
+b(o)29 b(do)h(so,)g(attac)m(h)h(the)f(follo)m(wing)h(notices)f(to)h
+(the)e(program.)40 b(It)30 b(is)g(safest)g(to)g(attac)m(h)h(them)f(to)g
+(the)150 978 y(start)j(of)g(eac)m(h)h(source)e(\014le)h(to)g(most)g
+(e\013ectiv)m(ely)j(con)m(v)m(ey)e(the)e(exclusion)i(of)e(w)m(arran)m
+(t)m(y;)j(and)d(eac)m(h)i(\014le)150 1087 y(should)29
+b(ha)m(v)m(e)j(at)f(least)h(the)e(\\cop)m(yrigh)m(t")j(line)e(and)e(a)i
+(p)s(oin)m(ter)g(to)g(where)f(the)g(full)g(notice)i(is)e(found.)390
+1227 y Fo(one)h(line)f(to)h(giv)m(e)h(the)f(program's)f(name)h(and)e
+(an)i(idea)g(of)f(what)g(it)h(do)s(es.)390 1331 y Fn(Copyright)45
b(\(C\))i Fo(y)m(ear)103 b(name)30 b(of)h(author)390
1539 y Fn(This)47 b(program)e(is)j(free)e(software;)g(you)g(can)h
(redistribute)e(it)i(and/or)390 1642 y(modify)f(it)h(under)g(the)g
@@ -2456,1339 +3876,1350 @@ b(\(C\))i Fo(y)m(ear)103 b(name)30 b(of)h(author)390
(General)f(Public)g(License)390 2680 y(along)g(with)h(this)g(program;)e
(if)i(not,)g(write)f(to)i(the)e(Free)h(Software)390 2784
y(Foundation,)e(Inc.,)h(59)h(Temple)f(Place,)g(Suite)h(330,)f(Boston,)g
-(MA)h(02111-1307,)e(USA.)275 2930 y Fs(Also)30 b(add)f(information)g
-(on)h(ho)m(w)h(to)g(con)m(tact)i(y)m(ou)d(b)m(y)g(electronic)h(and)f
-(pap)s(er)f(mail.)275 3076 y(If)f(the)g(program)h(is)e(in)m(teractiv)m
-(e,)j(mak)m(e)g(it)e(output)g(a)h(short)f(notice)h(lik)m(e)f(this)f
-(when)h(it)g(starts)h(in)e(an)150 3185 y(in)m(teractiv)m(e)k(mo)s(de:)
-390 3325 y Fn(Gnomovision)45 b(version)h(69,)g(Copyright)g(\(C\))h
-Fo(y)m(ear)103 b(name)30 b(of)g(author)390 3429 y Fn(Gnomovision)45
-b(comes)h(with)h(ABSOLUTELY)e(NO)i(WARRANTY;)e(for)i(details)390
-3533 y(type)g(`show)f(w'.)95 b(This)46 b(is)h(free)g(software,)e(and)i
-(you)g(are)g(welcome)390 3637 y(to)g(redistribute)e(it)i(under)f
-(certain)g(conditions;)f(type)h(`show)h(c')390 3740 y(for)g(details.)
-275 3886 y Fs(The)27 b(h)m(yp)s(othetical)g(commands)h(`)p
-Fn(show)h(w)p Fs(')f(and)f(`)p Fn(show)j(c)p Fs(')d(should)f(sho)m(w)i
-(the)g(appropriate)f(parts)h(of)150 3996 y(the)38 b(General)g(Public)d
-(License.)63 b(Of)37 b(course,)j(the)f(commands)e(y)m(ou)h(use)g(ma)m
-(y)g(b)s(e)f(called)g(something)150 4106 y(other)25 b(than)f(`)p
-Fn(show)29 b(w)p Fs(')c(and)f(`)p Fn(show)29 b(c)p Fs(';)e(they)d
-(could)g(ev)m(en)h(b)s(e)f(mouse-clic)m(ks)g(or)h(men)m(u)f
-(items|whatev)m(er)150 4215 y(suits)29 b(y)m(our)h(program.)275
-4361 y(Y)-8 b(ou)28 b(should)e(also)i(get)h(y)m(our)f(emplo)m(y)m(er)g
-(\(if)f(y)m(ou)h(w)m(ork)g(as)h(a)f(programmer\))g(or)g(y)m(our)f(sc)m
-(ho)s(ol,)i(if)e(an)m(y)-8 b(,)150 4471 y(to)34 b(sign)f(a)g(\\cop)m
-(yrigh)m(t)i(disclaimer")c(for)j(the)f(program,)h(if)f(necessary)-8
-b(.)51 b(Here)34 b(is)e(a)i(sample;)g(alter)g(the)150
+(MA)h(02111-1307,)e(USA.)275 2930 y Fs(Also)31 b(add)e(information)i
+(on)f(ho)m(w)h(to)g(con)m(tact)i(y)m(ou)d(b)m(y)g(electronic)j(and)d
+(pap)s(er)f(mail.)275 3076 y(If)f(the)g(program)h(is)f(in)m(teractiv)m
+(e,)k(mak)m(e)e(it)f(output)f(a)h(short)f(notice)i(lik)m(e)g(this)e
+(when)g(it)h(starts)g(in)f(an)150 3185 y(in)m(teractiv)m(e)33
+b(mo)s(de:)390 3325 y Fn(Gnomovision)45 b(version)h(69,)g(Copyright)g
+(\(C\))h Fo(y)m(ear)103 b(name)30 b(of)g(author)390 3429
+y Fn(Gnomovision)45 b(comes)h(with)h(ABSOLUTELY)e(NO)i(WARRANTY;)e(for)
+i(details)390 3533 y(type)g(`show)f(w'.)95 b(This)46
+b(is)h(free)g(software,)e(and)i(you)g(are)g(welcome)390
+3637 y(to)g(redistribute)e(it)i(under)f(certain)g(conditions;)f(type)h
+(`show)h(c')390 3740 y(for)g(details.)275 3886 y Fs(The)27
+b(h)m(yp)s(othetical)i(commands)f(`)p Fn(show)h(w)p Fs(')f(and)f(`)p
+Fn(show)j(c)p Fs(')d(should)g(sho)m(w)h(the)g(appropriate)g(parts)g(of)
+150 3996 y(the)38 b(General)h(Public)e(License.)64 b(Of)37
+b(course,)j(the)f(commands)e(y)m(ou)h(use)g(ma)m(y)g(b)s(e)f(called)i
+(something)150 4106 y(other)25 b(than)f(`)p Fn(show)29
+b(w)p Fs(')c(and)f(`)p Fn(show)29 b(c)p Fs(';)e(they)d(could)h(ev)m(en)
+g(b)s(e)f(mouse-clic)m(ks)i(or)f(men)m(u)f(items|whatev)m(er)150
+4215 y(suits)30 b(y)m(our)g(program.)275 4361 y(Y)-8
+b(ou)28 b(should)f(also)i(get)g(y)m(our)f(emplo)m(y)m(er)h(\(if)f(y)m
+(ou)g(w)m(ork)g(as)h(a)f(programmer\))g(or)g(y)m(our)f(sc)m(ho)s(ol,)j
+(if)e(an)m(y)-8 b(,)150 4471 y(to)34 b(sign)g(a)f(\\cop)m(yrigh)m(t)j
+(disclaimer")e(for)g(the)f(program,)h(if)g(necessary)-8
+b(.)51 b(Here)34 b(is)f(a)h(sample;)h(alter)g(the)150
4580 y(names:)390 4720 y Fn(Yoyodyne,)45 b(Inc.,)i(hereby)f(disclaims)f
(all)i(copyright)390 4824 y(interest)f(in)h(the)g(program)e
(`Gnomovision')390 4928 y(\(which)h(makes)g(passes)h(at)g(compilers\))e
-(written)390 5032 y(by)i(James)g(Hacker.)390 5239 y Fo(signature)30
-b(of)g(T)m(y)h(Co)s(on)p Fn(,)47 b(1)g(April)g(1989)390
-5343 y(Ty)g(Coon,)g(President)e(of)i(Vice)p eop
+(written)390 5032 y(by)i(James)g(Hacker.)390 5239 y Fo(signature)31
+b(of)f(T)m(y)h(Co)s(on)p Fn(,)47 b(1)g(April)g(1989)390
+5343 y(Ty)g(Coon,)g(President)e(of)i(Vice)p eop end
%%Page: 7 9
-7 8 bop 150 -116 a Fs(GNU)31 b(GENERAL)f(PUBLIC)h(LICENSE)2052
-b(7)275 299 y(This)19 b(General)h(Public)f(License)h(do)s(es)h(not)g(p)
-s(ermit)e(incorp)s(orating)g(y)m(our)i(program)f(in)m(to)h(proprietary)
-150 408 y(programs.)38 b(If)22 b(y)m(our)h(program)f(is)g(a)h
-(subroutine)e(library)-8 b(,)23 b(y)m(ou)g(ma)m(y)g(consider)f(it)g
-(more)h(useful)e(to)j(p)s(ermit)150 518 y(linking)33
-b(proprietary)i(applications)g(with)g(the)h(library)-8
-b(.)57 b(If)35 b(this)h(is)f(what)h(y)m(ou)h(w)m(an)m(t)g(to)g(do,)h
-(use)e(the)150 628 y(GNU)31 b(Library)e(General)h(Public)e(License)i
-(instead)f(of)i(this)e(License.)p eop
+TeXDict begin 7 8 bop 150 -116 a Fs(GNU)31 b(GENERAL)f(PUBLIC)h
+(LICENSE)2052 b(7)275 299 y(This)20 b(General)h(Public)g(License)g(do)s
+(es)g(not)g(p)s(ermit)f(incorp)s(orating)h(y)m(our)g(program)f(in)m(to)
+i(proprietary)150 408 y(programs.)38 b(If)22 b(y)m(our)h(program)f(is)h
+(a)g(subroutine)f(library)-8 b(,)25 b(y)m(ou)e(ma)m(y)g(consider)g(it)g
+(more)g(useful)f(to)i(p)s(ermit)150 518 y(linking)36
+b(proprietary)g(applications)i(with)e(the)g(library)-8
+b(.)59 b(If)35 b(this)i(is)f(what)g(y)m(ou)h(w)m(an)m(t)g(to)g(do,)h
+(use)e(the)150 628 y(GNU)31 b(Library)f(General)h(Public)f(License)h
+(instead)f(of)h(this)f(License.)p eop end
%%Page: 8 10
-8 9 bop 150 -116 a Fs(Con)m(tributors)29 b(to)i(GNU)g
-Fn(gperf)e Fs(Utilit)m(y)2137 b(8)150 299 y Fp(Con)l(tributors)51
-b(to)i(GNU)h Fm(gperf)f Fp(Utilit)l(y)225 533 y Fq(\017)60
-b Fs(The)45 b(GNU)h Fn(gperf)d Fs(p)s(erfect)j(hash)e(function)g
-(generator)j(utilit)m(y)c(w)m(as)j(written)e(in)g(GNU)i(C)p
-Fn(++)330 643 y Fs(b)m(y)e(Douglas)h(C.)g(Sc)m(hmidt.)82
-b(The)44 b(general)h(idea)f(for)g(the)h(p)s(erfect)g(hash)e(function)h
-(generator)330 752 y(w)m(as)34 b(inspired)c(b)m(y)j(Keith)f(Bostic's)j
-(algorithm)d(written)g(in)g(C,)h(and)g(distributed)d(to)k(net.sources)
-330 862 y(around)42 b(1984.)79 b(The)42 b(curren)m(t)g(program)h(is)f
-(a)h(hea)m(vily)f(mo)s(di\014ed,)h(enhanced,)j(and)c(extended)330
-971 y(implemen)m(tation)36 b(of)h(Keith's)f(basic)h(idea,)h(created)g
-(at)g(the)f(Univ)m(ersit)m(y)f(of)i(California,)e(Irvine.)330
-1081 y(Bugs,)31 b(patc)m(hes,)g(and)f(suggestions)g(should)f(b)s(e)g
+TeXDict begin 8 9 bop 150 -116 a Fs(Con)m(tributors)30
+b(to)h(GNU)g Fn(gperf)e Fs(Utilit)m(y)2140 b(8)150 299
+y Fp(Con)l(tributors)50 b(to)j(GNU)h Fm(gperf)f Fp(Utilit)l(y)225
+533 y Fq(\017)60 b Fs(The)45 b(GNU)h Fn(gperf)d Fs(p)s(erfect)j(hash)e
+(function)h(generator)i(utilit)m(y)f(w)m(as)g(written)f(in)g(GNU)h(C)p
+Fn(++)330 643 y Fs(b)m(y)e(Douglas)i(C.)f(Sc)m(hmidt.)83
+b(The)44 b(general)i(idea)f(for)f(the)h(p)s(erfect)g(hash)e(function)i
+(generator)330 752 y(w)m(as)34 b(inspired)e(b)m(y)h(Keith)g(Bostic's)j
+(algorithm)e(written)f(in)g(C,)g(and)g(distributed)f(to)i(net.sources)
+330 862 y(around)42 b(1984.)79 b(The)42 b(curren)m(t)g(program)h(is)g
+(a)g(hea)m(vily)h(mo)s(di\014ed,)g(enhanced,)i(and)c(extended)330
+971 y(implemen)m(tation)d(of)e(Keith's)g(basic)h(idea,)h(created)f(at)g
+(the)f(Univ)m(ersit)m(y)h(of)g(California,)h(Irvine.)330
+1081 y(Bugs,)31 b(patc)m(hes,)g(and)f(suggestions)h(should)f(b)s(e)f
(rep)s(orted)h(to)h Fn(<bug-gnu-gperf@gnu.org>)p Fs(.)225
-1215 y Fq(\017)60 b Fs(Sp)s(ecial)31 b(thanks)i(is)f(extended)h(to)h
-(Mic)m(hael)f(Tiemann)f(and)h(Doug)h(Lea,)g(for)f(pro)m(viding)e(a)j
-(useful)330 1325 y(compiler,)29 b(and)h(for)g(giving)f(me)i(a)g(forum)e
-(to)i(exhibit)e(m)m(y)h(creation.)330 1460 y(In)22 b(addition,)g(Adam)h
-(de)f(Bo)s(or)h(and)f(Nels)h(Olson)e(pro)m(vided)g(man)m(y)i(tips)e
-(and)h(insigh)m(ts)f(that)i(greatly)330 1569 y(help)s(ed)28
-b(impro)m(v)m(e)j(the)f(qualit)m(y)g(and)g(functionalit)m(y)e(of)j
-Fn(gperf)p Fs(.)225 1704 y Fq(\017)60 b Fs(Bruno)26 b(Haible)g
-(enhanced)h(and)f(optimized)g(the)h(searc)m(h)h(algorithm.)39
-b(He)27 b(also)g(rewrote)h(the)f(input)330 1813 y(routines)i(and)h(the)
-h(output)f(routines)f(for)h(b)s(etter)g(reliabilit)m(y)-8
-b(,)28 b(and)i(added)g(a)h(testsuite.)p eop
+1215 y Fq(\017)60 b Fs(Sp)s(ecial)33 b(thanks)g(is)g(extended)g(to)h
+(Mic)m(hael)h(Tiemann)e(and)g(Doug)h(Lea,)g(for)f(pro)m(viding)g(a)h
+(useful)330 1325 y(compiler,)d(and)f(for)g(giving)h(me)g(a)g(forum)e
+(to)i(exhibit)g(m)m(y)f(creation.)330 1460 y(In)22 b(addition,)i(Adam)f
+(de)f(Bo)s(or)h(and)f(Nels)i(Olson)e(pro)m(vided)g(man)m(y)h(tips)f
+(and)g(insigh)m(ts)h(that)g(greatly)330 1569 y(help)s(ed)29
+b(impro)m(v)m(e)j(the)e(qualit)m(y)i(and)e(functionalit)m(y)h(of)g
+Fn(gperf)p Fs(.)225 1704 y Fq(\017)60 b Fs(Bruno)26 b(Haible)i
+(enhanced)f(and)f(optimized)i(the)f(searc)m(h)h(algorithm.)41
+b(He)27 b(also)h(rewrote)g(the)f(input)330 1813 y(routines)j(and)g(the)
+h(output)f(routines)g(for)g(b)s(etter)g(reliabilit)m(y)-8
+b(,)33 b(and)d(added)g(a)h(testsuite.)p eop end
%%Page: 9 11
-9 10 bop 150 -116 a Fs(Chapter)30 b(1:)41 b(In)m(tro)s(duction)2591
-b(9)150 299 y Fp(1)80 b(In)l(tro)t(duction)275 533 y
-Fn(gperf)31 b Fs(is)i(a)g(p)s(erfect)h(hash)e(function)g(generator)j
-(written)d(in)g(C)p Fn(++)p Fs(.)49 b(It)33 b(transforms)g(an)g
-Fo(n)f Fs(elemen)m(t)150 643 y(user-sp)s(eci\014ed)j(k)m(eyw)m(ord)j
-(set)g Fo(W)49 b Fs(in)m(to)38 b(a)f(p)s(erfect)h(hash)e(function)g
-Fo(F)p Fs(.)i Fo(F)44 b Fs(uniquely)35 b(maps)i(k)m(eyw)m(ords)150
-752 y(in)d Fo(W)47 b Fs(on)m(to)36 b(the)f(range)g(0..)p
-Fo(k)p Fs(,)j(where)c Fo(k)40 b Fn(>)p Fs(=)35 b Fo(n-1)p
-Fs(.)54 b(If)35 b Fo(k)40 b Fs(=)35 b Fo(n-1)42 b Fs(then)35
-b Fo(F)42 b Fs(is)34 b(a)h Fl(minimal)46 b Fs(p)s(erfect)35
-b(hash)150 862 y(function.)67 b Fn(gperf)39 b Fs(generates)i(a)f(0..)p
-Fo(k)46 b Fs(elemen)m(t)40 b(static)g(lo)s(okup)f(table)g(and)g(a)i
-(pair)d(of)i(C)f(functions.)150 971 y(These)34 b(functions)f(determine)
-h(whether)f(a)i(giv)m(en)f(c)m(haracter)i(string)e Fo(s)k
-Fs(o)s(ccurs)c(in)f Fo(W)p Fs(,)i(using)d(at)k(most)150
-1081 y(one)31 b(prob)s(e)e(in)m(to)h(the)h(lo)s(okup)e(table.)275
-1215 y Fn(gperf)22 b Fs(curren)m(tly)g(generates)k(the)d(reserv)m(ed)h
-(k)m(eyw)m(ord)g(recognizer)h(for)e(lexical)g(analyzers)g(in)g(sev)m
-(eral)150 1325 y(pro)s(duction)29 b(and)h(researc)m(h)h(compilers)e
-(and)i(language)g(pro)s(cessing)e(to)s(ols,)i(including)c(GNU)32
-b(C,)e(GNU)150 1435 y(C)p Fn(++)p Fs(,)24 b(GNU)f(Ja)m(v)-5
-b(a,)26 b(GNU)d(P)m(ascal,)i(GNU)f(Mo)s(dula)e(3,)j(and)d(GNU)h(inden)m
-(t.)37 b(Complete)23 b(C)p Fn(++)f Fs(source)h(co)s(de)150
-1544 y(for)42 b Fn(gperf)f Fs(is)g(a)m(v)-5 b(ailable)41
-b(from)h Fn(http://ftp.gnu.org/pub/g)o(nu/g)o(perf)o(/)p
+TeXDict begin 9 10 bop 150 -116 a Fs(Chapter)30 b(1:)41
+b(In)m(tro)s(duction)2592 b(9)150 299 y Fp(1)80 b(In)l(tro)t(duction)
+275 533 y Fn(gperf)31 b Fs(is)j(a)f(p)s(erfect)h(hash)e(function)h
+(generator)i(written)e(in)g(C)p Fn(++)p Fs(.)49 b(It)33
+b(transforms)g(an)g Fo(n)f Fs(elemen)m(t)150 643 y(user-sp)s(eci\014ed)
+k(k)m(eyw)m(ord)i(set)g Fo(W)49 b Fs(in)m(to)39 b(a)e(p)s(erfect)h
+(hash)e(function)h Fo(F)p Fs(.)h Fo(F)44 b Fs(uniquely)37
+b(maps)g(k)m(eyw)m(ords)150 752 y(in)e Fo(W)47 b Fs(on)m(to)36
+b(the)f(range)g(0..)p Fo(k)p Fs(,)j(where)c Fo(k)40 b
+Fn(>)p Fs(=)35 b Fo(n-1)p Fs(.)54 b(If)35 b Fo(k)40 b
+Fs(=)35 b Fo(n-1)42 b Fs(then)35 b Fo(F)42 b Fs(is)35
+b(a)g Fl(minimal)46 b Fs(p)s(erfect)35 b(hash)150 862
+y(function.)68 b Fn(gperf)39 b Fs(generates)i(a)f(0..)p
+Fo(k)46 b Fs(elemen)m(t)41 b(static)g(lo)s(okup)f(table)g(and)f(a)i
+(pair)e(of)h(C)f(functions.)150 971 y(These)34 b(functions)g(determine)
+h(whether)e(a)i(giv)m(en)g(c)m(haracter)h(string)f Fo(s)j
+Fs(o)s(ccurs)c(in)g Fo(W)p Fs(,)h(using)e(at)j(most)150
+1081 y(one)31 b(prob)s(e)e(in)m(to)i(the)g(lo)s(okup)f(table.)275
+1215 y Fn(gperf)22 b Fs(curren)m(tly)h(generates)j(the)d(reserv)m(ed)h
+(k)m(eyw)m(ord)g(recognizer)i(for)d(lexical)j(analyzers)e(in)g(sev)m
+(eral)150 1325 y(pro)s(duction)30 b(and)g(researc)m(h)h(compilers)g
+(and)g(language)h(pro)s(cessing)e(to)s(ols,)i(including)e(GNU)i(C,)e
+(GNU)150 1435 y(C)p Fn(++)p Fs(,)24 b(GNU)f(Ja)m(v)-5
+b(a,)26 b(GNU)d(P)m(ascal,)j(GNU)e(Mo)s(dula)f(3,)i(and)d(GNU)h(inden)m
+(t.)38 b(Complete)24 b(C)p Fn(++)e Fs(source)h(co)s(de)150
+1544 y(for)42 b Fn(gperf)f Fs(is)h(a)m(v)-5 b(ailable)44
+b(from)e Fn(http://ftp.gnu.org/pub/g)o(nu/g)o(perf)o(/)p
Fs(.)70 b(A)42 b(pap)s(er)f(describing)150 1654 y Fn(gperf)p
-Fs('s)d(design)h(and)g(implemen)m(tation)g(in)f(greater)j(detail)e(is)g
-(a)m(v)-5 b(ailable)39 b(in)g(the)h(Second)f(USENIX)150
-1763 y(C)p Fn(++)29 b Fs(Conference)g(pro)s(ceedings)g(or)h(from)f
+Fs('s)d(design)i(and)f(implemen)m(tation)j(in)d(greater)i(detail)g(is)f
+(a)m(v)-5 b(ailable)42 b(in)e(the)g(Second)f(USENIX)150
+1763 y(C)p Fn(++)29 b Fs(Conference)g(pro)s(ceedings)h(or)g(from)f
Fn(http://www.cs.wustl.edu)o(/~sc)o(hmid)o(t/r)o(esum)o(e.ht)o(ml)p
-Fs(.)p eop
+Fs(.)p eop end
%%Page: 10 12
-10 11 bop 150 -116 a Fs(Chapter)30 b(2:)41 b(Static)31
-b(searc)m(h)g(structures)e(and)h(GNU)h Fn(gperf)1425
-b Fs(10)150 299 y Fp(2)80 b(Static)54 b(searc)l(h)f(structures)e(and)j
-(GNU)f Fm(gperf)275 533 y Fs(A)24 b Fo(static)h(searc)m(h)g(structure)k
-Fs(is)24 b(an)g(Abstract)h(Data)i(T)m(yp)s(e)c(with)h(certain)g
-(fundamen)m(tal)f(op)s(erations,)150 643 y(e.g.,)32 b
-Fl(initialize)p Fs(,)g Fl(insert)p Fs(,)f(and)f Fl(r)-5
-b(etrieve)p Fs(.)42 b(Conceptually)-8 b(,)30 b(all)g(insertions)f(o)s
-(ccur)h(b)s(efore)h(an)m(y)g(retriev)-5 b(als.)150 752
-y(In)20 b(practice,)k Fn(gperf)19 b Fs(generates)k(a)e
-Fl(static)27 b Fs(arra)m(y)22 b(con)m(taining)e(searc)m(h)i(set)f(k)m
-(eyw)m(ords)h(and)e(an)m(y)h(asso)s(ciated)150 862 y(attributes)36
-b(sp)s(eci\014ed)f(b)m(y)i(the)f(user.)59 b(Th)m(us,)37
-b(there)g(is)f(essen)m(tially)f(no)i(execution-time)g(cost)g(for)g(the)
-150 971 y(insertions.)h(It)27 b(is)f(a)h(useful)f(data)h(structure)g
-(for)g(represen)m(ting)f Fl(static)k(se)-5 b(ar)g(ch)32
-b(sets)p Fs(.)40 b(Static)27 b(searc)m(h)h(sets)150 1081
-y(o)s(ccur)c(frequen)m(tly)g(in)f(soft)m(w)m(are)j(system)e
-(applications.)37 b(T)m(ypical)23 b(static)i(searc)m(h)g(sets)g
-(include)d(compiler)150 1191 y(reserv)m(ed)42 b(w)m(ords,)j(assem)m
-(bler)d(instruction)e(op)s(co)s(des,)45 b(and)c(built-in)e(shell)i(in)m
-(terpreter)g(commands.)150 1300 y(Searc)m(h)h(set)g(mem)m(b)s(ers,)h
-(called)e Fo(k)m(eyw)m(ords)p Fs(,)k(are)c(inserted)g(in)m(to)g(the)h
-(structure)f(only)f(once,)45 b(usually)150 1410 y(during)28
-b(program)i(initialization,)e(and)i(are)g(not)h(generally)f(mo)s
-(di\014ed)e(at)j(run-time.)275 1544 y(Numerous)c(static)h(searc)m(h)h
-(structure)e(implemen)m(tations)f(exist,)j(e.g.,)g(arra)m(ys,)g(link)m
-(ed)e(lists,)g(binary)150 1654 y(searc)m(h)45 b(trees,)j(digital)42
-b(searc)m(h)j(tries,)i(and)c(hash)g(tables.)82 b(Di\013eren)m(t)44
-b(approac)m(hes)h(o\013er)f(trade-o\013s)150 1763 y(b)s(et)m(w)m(een)e
-(space)h(utilization)c(and)j(searc)m(h)g(time)f(e\016ciency)-8
-b(.)76 b(F)-8 b(or)42 b(example,)j(an)c Fo(n)h Fs(elemen)m(t)g(sorted)
-150 1873 y(arra)m(y)e(is)f(space)i(e\016cien)m(t,)h(though)e(the)g(a)m
-(v)m(erage-case)k(time)39 b(complexit)m(y)h(for)g(retriev)-5
-b(al)39 b(op)s(erations)150 1983 y(using)30 b(binary)f(searc)m(h)j(is)e
-(prop)s(ortional)f(to)i(log)h Fo(n)p Fs(.)42 b(Con)m(v)m(ersely)-8
-b(,)32 b(hash)e(table)h(implemen)m(tations)f(often)150
-2092 y(lo)s(cate)c(a)g(table)f(en)m(try)h(in)e(constan)m(t)j(time,)f
-(but)f(t)m(ypically)f(imp)s(ose)g(additional)g(memory)h(o)m(v)m(erhead)
-i(and)150 2202 y(exhibit)i(p)s(o)s(or)g(w)m(orst)i(case)g(p)s
+TeXDict begin 10 11 bop 150 -116 a Fs(Chapter)30 b(2:)41
+b(Static)32 b(searc)m(h)f(structures)e(and)h(GNU)h Fn(gperf)1425
+b Fs(10)150 299 y Fp(2)80 b(Static)53 b(searc)l(h)g(structures)e(and)j
+(GNU)f Fm(gperf)275 533 y Fs(A)24 b Fo(static)i(searc)m(h)f(structure)k
+Fs(is)c(an)f(Abstract)h(Data)i(T)m(yp)s(e)c(with)i(certain)g(fundamen)m
+(tal)f(op)s(erations,)150 643 y(e.g.,)32 b Fl(initialize)p
+Fs(,)g Fl(insert)p Fs(,)f(and)f Fl(r)-5 b(etrieve)p Fs(.)42
+b(Conceptually)-8 b(,)32 b(all)g(insertions)f(o)s(ccur)f(b)s(efore)h
+(an)m(y)g(retriev)-5 b(als.)150 752 y(In)20 b(practice,)25
+b Fn(gperf)19 b Fs(generates)k(a)e Fl(static)27 b Fs(arra)m(y)22
+b(con)m(taining)g(searc)m(h)g(set)f(k)m(eyw)m(ords)h(and)e(an)m(y)h
+(asso)s(ciated)150 862 y(attributes)37 b(sp)s(eci\014ed)f(b)m(y)h(the)f
+(user.)59 b(Th)m(us,)37 b(there)g(is)g(essen)m(tially)h(no)f
+(execution-time)i(cost)e(for)g(the)150 971 y(insertions.)j(It)27
+b(is)g(a)g(useful)g(data)g(structure)g(for)g(represen)m(ting)g
+Fl(static)j(se)-5 b(ar)g(ch)32 b(sets)p Fs(.)40 b(Static)28
+b(searc)m(h)g(sets)150 1081 y(o)s(ccur)c(frequen)m(tly)h(in)f(soft)m(w)
+m(are)i(system)e(applications.)40 b(T)m(ypical)25 b(static)h(searc)m(h)
+f(sets)g(include)f(compiler)150 1191 y(reserv)m(ed)42
+b(w)m(ords,)j(assem)m(bler)e(instruction)f(op)s(co)s(des,)j(and)c
+(built-in)h(shell)h(in)m(terpreter)f(commands.)150 1300
+y(Searc)m(h)g(set)g(mem)m(b)s(ers,)h(called)g Fo(k)m(eyw)m(ords)p
+Fs(,)i(are)c(inserted)h(in)m(to)g(the)g(structure)f(only)g(once,)k
+(usually)150 1410 y(during)29 b(program)h(initialization,)k(and)c(are)g
+(not)h(generally)h(mo)s(di\014ed)d(at)i(run-time.)275
+1544 y(Numerous)c(static)i(searc)m(h)g(structure)e(implemen)m(tations)i
+(exist,)h(e.g.,)f(arra)m(ys,)g(link)m(ed)g(lists,)g(binary)150
+1654 y(searc)m(h)45 b(trees,)j(digital)d(searc)m(h)g(tries,)j(and)43
+b(hash)g(tables.)83 b(Di\013eren)m(t)45 b(approac)m(hes)g(o\013er)f
+(trade-o\013s)150 1763 y(b)s(et)m(w)m(een)e(space)h(utilization)g(and)f
+(searc)m(h)g(time)g(e\016ciency)-8 b(.)77 b(F)-8 b(or)42
+b(example,)k(an)41 b Fo(n)h Fs(elemen)m(t)h(sorted)150
+1873 y(arra)m(y)d(is)g(space)h(e\016cien)m(t,)i(though)d(the)g(a)m(v)m
+(erage-case)k(time)c(complexit)m(y)i(for)e(retriev)-5
+b(al)41 b(op)s(erations)150 1983 y(using)31 b(binary)f(searc)m(h)i(is)f
+(prop)s(ortional)g(to)g(log)i Fo(n)p Fs(.)42 b(Con)m(v)m(ersely)-8
+b(,)33 b(hash)d(table)i(implemen)m(tations)h(often)150
+2092 y(lo)s(cate)27 b(a)f(table)g(en)m(try)g(in)f(constan)m(t)i(time,)g
+(but)e(t)m(ypically)i(imp)s(ose)e(additional)i(memory)e(o)m(v)m(erhead)
+i(and)150 2202 y(exhibit)k(p)s(o)s(or)e(w)m(orst)i(case)g(p)s
(erformance.)275 2336 y Fl(Minimal)26 b(p)-5 b(erfe)g(ct)28
-b(hash)f(functions)32 b Fs(pro)m(vide)23 b(an)g(optimal)g(solution)f
-(for)h(a)h(particular)e(class)i(of)f(static)150 2446
-y(searc)m(h)31 b(sets.)41 b(A)31 b(minimal)c(p)s(erfect)j(hash)g
-(function)f(is)h(de\014ned)f(b)m(y)h(t)m(w)m(o)i(prop)s(erties:)225
-2580 y Fq(\017)60 b Fs(It)34 b(allo)m(ws)g(k)m(eyw)m(ord)h(recognition)
-f(in)f(a)i(static)g(searc)m(h)g(set)g(using)e(at)i(most)g
-Fl(one)41 b Fs(prob)s(e)33 b(in)m(to)i(the)330 2690 y(hash)30
-b(table.)40 b(This)29 b(represen)m(ts)h(the)h(\\p)s(erfect")g(prop)s
-(ert)m(y)-8 b(.)225 2824 y Fq(\017)60 b Fs(The)35 b(actual)i(memory)f
-(allo)s(cated)g(to)g(store)h(the)f(k)m(eyw)m(ords)h(is)e(precisely)f
-(large)i(enough)g(for)g(the)330 2934 y(k)m(eyw)m(ord)31
-b(set,)g(and)f Fl(no)j(lar)-5 b(ger)p Fs(.)42 b(This)28
-b(is)i(the)g(\\minimal")f(prop)s(ert)m(y)-8 b(.)275 3093
-y(F)g(or)38 b(most)g(applications)e(it)h(is)g(far)g(easier)h(to)g
-(generate)h Fl(p)-5 b(erfe)g(ct)47 b Fs(hash)37 b(functions)f(than)i
+b(hash)f(functions)32 b Fs(pro)m(vide)24 b(an)f(optimal)i(solution)f
+(for)f(a)h(particular)g(class)h(of)e(static)150 2446
+y(searc)m(h)31 b(sets.)41 b(A)31 b(minimal)f(p)s(erfect)g(hash)g
+(function)g(is)h(de\014ned)e(b)m(y)h(t)m(w)m(o)i(prop)s(erties:)225
+2580 y Fq(\017)60 b Fs(It)34 b(allo)m(ws)i(k)m(eyw)m(ord)f(recognition)
+h(in)e(a)h(static)h(searc)m(h)f(set)g(using)f(at)h(most)g
+Fl(one)41 b Fs(prob)s(e)33 b(in)m(to)j(the)330 2690 y(hash)30
+b(table.)41 b(This)30 b(represen)m(ts)g(the)h(\\p)s(erfect")g(prop)s
+(ert)m(y)-8 b(.)225 2824 y Fq(\017)60 b Fs(The)35 b(actual)j(memory)e
+(allo)s(cated)i(to)e(store)h(the)f(k)m(eyw)m(ords)h(is)f(precisely)g
+(large)h(enough)f(for)g(the)330 2934 y(k)m(eyw)m(ord)31
+b(set,)g(and)f Fl(no)j(lar)-5 b(ger)p Fs(.)42 b(This)29
+b(is)i(the)f(\\minimal")i(prop)s(ert)m(y)-8 b(.)275 3093
+y(F)g(or)38 b(most)g(applications)h(it)f(is)g(far)f(easier)i(to)f
+(generate)h Fl(p)-5 b(erfe)g(ct)47 b Fs(hash)37 b(functions)g(than)h
Fl(minimal)150 3203 y(p)-5 b(erfe)g(ct)47 b Fs(hash)36
-b(functions.)59 b(Moreo)m(v)m(er,)41 b(non-minimal)34
-b(p)s(erfect)j(hash)f(functions)f(frequen)m(tly)i(execute)150
-3313 y(faster)44 b(than)g(minimal)d(ones)j(in)e(practice.)82
-b(This)42 b(phenomena)h(o)s(ccurs)g(since)g(searc)m(hing)h(a)g(sparse)
-150 3422 y(k)m(eyw)m(ord)34 b(table)f(increases)g(the)h(probabilit)m(y)
-c(of)k(lo)s(cating)f(a)g(\\n)m(ull")g(en)m(try)-8 b(,)35
-b(thereb)m(y)e(reducing)f(string)150 3532 y(comparisons.)55
-b Fn(gperf)p Fs('s)34 b(default)g(b)s(eha)m(vior)g(generates)j
-Fl(ne)-5 b(ar-minimal)47 b Fs(p)s(erfect)35 b(hash)f(functions)g(for)
+b(functions.)60 b(Moreo)m(v)m(er,)41 b(non-minimal)c(p)s(erfect)g(hash)
+f(functions)g(frequen)m(tly)i(execute)150 3313 y(faster)44
+b(than)g(minimal)g(ones)g(in)f(practice.)83 b(This)43
+b(phenomena)g(o)s(ccurs)g(since)h(searc)m(hing)h(a)f(sparse)150
+3422 y(k)m(eyw)m(ord)34 b(table)g(increases)g(the)g(probabilit)m(y)f
+(of)h(lo)s(cating)h(a)e(\\n)m(ull")i(en)m(try)-8 b(,)35
+b(thereb)m(y)e(reducing)g(string)150 3532 y(comparisons.)56
+b Fn(gperf)p Fs('s)34 b(default)h(b)s(eha)m(vior)g(generates)i
+Fl(ne)-5 b(ar-minimal)47 b Fs(p)s(erfect)35 b(hash)f(functions)h(for)
150 3641 y(k)m(eyw)m(ord)40 b(sets.)68 b(Ho)m(w)m(ev)m(er,)44
-b Fn(gperf)39 b Fs(pro)m(vides)f(man)m(y)i(options)e(that)i(p)s(ermit)e
-(user)h(con)m(trol)h(o)m(v)m(er)h(the)150 3751 y(degree)31
-b(of)g(minimalit)m(y)c(and)j(p)s(erfection.)275 3885
-y(Static)36 b(searc)m(h)g(sets)g(often)g(exhibit)e(relativ)m(e)i
-(stabilit)m(y)e(o)m(v)m(er)j(time.)57 b(F)-8 b(or)36
-b(example,)h(Ada's)f(63)h(re-)150 3995 y(serv)m(ed)31
-b(w)m(ords)f(ha)m(v)m(e)i(remained)d(constan)m(t)j(for)f(nearly)f(a)h
-(decade.)42 b(It)31 b(is)f(therefore)h(frequen)m(tly)f(w)m(orth-)150
-4105 y(while)20 b(to)j(exp)s(end)e(concerted)i(e\013ort)g(building)18
-b(an)k(optimal)g(searc)m(h)g(structure)g Fl(onc)-5 b(e)p
-Fs(,)25 b(if)c(it)g(subsequen)m(tly)150 4214 y(receiv)m(es)j(hea)m(vy)g
-(use)e(m)m(ultiple)f(times.)38 b Fn(gperf)22 b Fs(remo)m(v)m(es)i(the)f
-(drudgery)f(asso)s(ciated)i(with)d(constructing)150 4324
-y(time-)37 b(and)g(space-e\016cien)m(t)i(searc)m(h)e(structures)g(b)m
-(y)g(hand.)61 b(It)37 b(has)g(pro)m(v)m(en)h(a)f(useful)f(and)g
-(practical)150 4433 y(to)s(ol)28 b(for)g(serious)f(programming)g(pro)5
-b(jects.)40 b(Output)27 b(from)h Fn(gperf)e Fs(is)h(curren)m(tly)h
-(used)f(in)g(sev)m(eral)h(pro-)150 4543 y(duction)d(and)f(researc)m(h)j
-(compilers,)e(including)d(GNU)k(C,)g(GNU)g(C)p Fn(++)p
-Fs(,)g(GNU)g(Ja)m(v)-5 b(a,)28 b(GNU)e(P)m(ascal,)i(and)150
-4653 y(GNU)38 b(Mo)s(dula)e(3.)63 b(The)36 b(latter)i(t)m(w)m(o)h
-(compilers)d(are)h(not)h(y)m(et)h(part)e(of)g(the)h(o\016cial)f(GNU)h
-(distribu-)150 4762 y(tion.)50 b(Eac)m(h)34 b(compiler)e(utilizes)g
-Fn(gperf)g Fs(to)i(automatically)f(generate)i(static)f(searc)m(h)g
-(structures)f(that)150 4872 y(e\016cien)m(tly)d(iden)m(tify)f(their)g
-(resp)s(ectiv)m(e)i(reserv)m(ed)f(k)m(eyw)m(ords.)p eop
+b Fn(gperf)39 b Fs(pro)m(vides)g(man)m(y)h(options)f(that)h(p)s(ermit)f
+(user)g(con)m(trol)i(o)m(v)m(er)g(the)150 3751 y(degree)31
+b(of)g(minimalit)m(y)g(and)f(p)s(erfection.)275 3885
+y(Static)37 b(searc)m(h)f(sets)g(often)g(exhibit)g(relativ)m(e)i
+(stabilit)m(y)f(o)m(v)m(er)g(time.)58 b(F)-8 b(or)36
+b(example,)i(Ada's)e(63)h(re-)150 3995 y(serv)m(ed)31
+b(w)m(ords)f(ha)m(v)m(e)i(remained)e(constan)m(t)i(for)f(nearly)g(a)g
+(decade.)42 b(It)31 b(is)g(therefore)g(frequen)m(tly)g(w)m(orth-)150
+4105 y(while)22 b(to)h(exp)s(end)e(concerted)i(e\013ort)g(building)e
+(an)h(optimal)i(searc)m(h)e(structure)g Fl(onc)-5 b(e)p
+Fs(,)25 b(if)d(it)g(subsequen)m(tly)150 4214 y(receiv)m(es)j(hea)m(vy)f
+(use)e(m)m(ultiple)i(times.)39 b Fn(gperf)22 b Fs(remo)m(v)m(es)i(the)f
+(drudgery)f(asso)s(ciated)j(with)d(constructing)150 4324
+y(time-)38 b(and)f(space-e\016cien)m(t)j(searc)m(h)d(structures)g(b)m
+(y)g(hand.)61 b(It)37 b(has)g(pro)m(v)m(en)h(a)f(useful)g(and)f
+(practical)150 4433 y(to)s(ol)29 b(for)f(serious)g(programming)g(pro)5
+b(jects.)40 b(Output)27 b(from)h Fn(gperf)e Fs(is)i(curren)m(tly)h
+(used)e(in)h(sev)m(eral)h(pro-)150 4543 y(duction)d(and)e(researc)m(h)j
+(compilers,)g(including)e(GNU)h(C,)g(GNU)g(C)p Fn(++)p
+Fs(,)g(GNU)g(Ja)m(v)-5 b(a,)28 b(GNU)e(P)m(ascal,)j(and)150
+4653 y(GNU)38 b(Mo)s(dula)f(3.)63 b(The)36 b(latter)j(t)m(w)m(o)g
+(compilers)f(are)f(not)h(y)m(et)h(part)e(of)g(the)h(o\016cial)h(GNU)f
+(distribu-)150 4762 y(tion.)51 b(Eac)m(h)34 b(compiler)g(utilizes)h
+Fn(gperf)d Fs(to)i(automatically)i(generate)f(static)g(searc)m(h)f
+(structures)f(that)150 4872 y(e\016cien)m(tly)f(iden)m(tify)f(their)f
+(resp)s(ectiv)m(e)i(reserv)m(ed)e(k)m(eyw)m(ords.)p eop
+end
%%Page: 11 13
-11 12 bop 150 -116 a Fs(Chapter)30 b(3:)41 b(High-Lev)m(el)30
-b(Description)g(of)g(GNU)h Fn(gperf)1520 b Fs(11)150
-299 y Fp(3)80 b(High-Lev)l(el)54 b(Description)f(of)h(GNU)g
-Fm(gperf)275 539 y Fs(The)29 b(p)s(erfect)h(hash)g(function)f
-(generator)i Fn(gperf)e Fs(reads)h(a)h(set)g(of)f(\\k)m(eyw)m(ords")i
-(from)d(an)i(input)d(\014le)150 648 y(\(or)34 b(from)g(the)g(standard)f
-(input)f(b)m(y)i(default\).)51 b(It)34 b(attempts)h(to)f(deriv)m(e)g(a)
-g(p)s(erfect)g(hashing)e(function)150 758 y(that)37 b(recognizes)h(a)f
-(mem)m(b)s(er)f(of)h(the)g Fo(static)g(k)m(eyw)m(ord)g(set)j
-Fs(with)35 b(at)j(most)f(a)g(single)e(prob)s(e)h(in)m(to)h(the)150
-867 y(lo)s(okup)25 b(table.)40 b(If)26 b Fn(gperf)f Fs(succeeds)i(in)f
-(generating)h(suc)m(h)f(a)h(function)e(it)i(pro)s(duces)e(a)i(pair)f
-(of)g(C)h(source)150 977 y(co)s(de)39 b(routines)f(that)i(p)s(erform)d
-(hashing)h(and)g(table)h(lo)s(okup)e(recognition.)67
-b(All)37 b(generated)j(C)f(co)s(de)150 1086 y(is)e(directed)g(to)h(the)
-g(standard)f(output.)62 b(Command-line)36 b(options)h(describ)s(ed)e(b)
-s(elo)m(w)i(allo)m(w)g(y)m(ou)h(to)150 1196 y(mo)s(dify)29
-b(the)h(input)f(and)g(output)h(format)h(to)g Fn(gperf)p
-Fs(.)275 1332 y(By)23 b(default,)h Fn(gperf)e Fs(attempts)i(to)g(pro)s
-(duce)e(time-e\016cien)m(t)i(co)s(de,)h(with)d(less)h(emphasis)e(on)i
-(e\016cien)m(t)150 1442 y(space)31 b(utilization.)39
-b(Ho)m(w)m(ev)m(er,)33 b(sev)m(eral)d(options)g(exist)g(that)h(p)s
-(ermit)e(trading-o\013)h(execution)h(time)f(for)150 1552
-y(storage)j(space)f(and)g(vice)f(v)m(ersa.)46 b(In)31
-b(particular,)f(expanding)g(the)i(generated)h(table)f(size)f(pro)s
-(duces)g(a)150 1661 y(sparse)26 b(searc)m(h)g(structure,)h(generally)e
-(yielding)e(faster)k(searc)m(hes.)40 b(Con)m(v)m(ersely)-8
-b(,)27 b(y)m(ou)g(can)f(direct)f Fn(gperf)150 1771 y
-Fs(to)c(utilize)e(a)i(C)f Fn(switch)f Fs(statemen)m(t)k(sc)m(heme)e
-(that)g(minimizes)d(data)j(space)g(storage)h(size.)38
-b(F)-8 b(urthermore,)150 1880 y(using)39 b(a)h(C)g Fn(switch)e
-Fs(ma)m(y)i(actually)g(sp)s(eed)f(up)g(the)h(k)m(eyw)m(ord)h(retriev)-5
-b(al)39 b(time)h(somewhat.)70 b(Actual)150 1990 y(results)29
-b(dep)s(end)g(on)h(y)m(our)g(C)g(compiler,)g(of)g(course.)275
-2126 y(In)44 b(general,)49 b Fn(gperf)44 b Fs(assigns)g(v)-5
-b(alues)45 b(to)h(the)f(b)m(ytes)h(it)f(is)f(using)g(for)h(hashing)e
-(un)m(til)h(some)h(set)150 2236 y(of)d(v)-5 b(alues)42
-b(giv)m(es)g(eac)m(h)i(k)m(eyw)m(ord)e(a)h(unique)d(v)-5
-b(alue.)76 b(A)42 b(helpful)d(heuristic)i(is)g(that)i(the)f(larger)g
-(the)150 2345 y(hash)36 b(v)-5 b(alue)36 b(range,)j(the)e(easier)g(it)f
-(is)g(for)g Fn(gperf)f Fs(to)j(\014nd)d(and)h(generate)i(a)f(p)s
-(erfect)g(hash)f(function.)150 2455 y(Exp)s(erimen)m(tation)29
-b(is)g(the)i(k)m(ey)g(to)g(getting)g(the)g(most)g(from)e
+TeXDict begin 11 12 bop 150 -116 a Fs(Chapter)30 b(3:)41
+b(High-Lev)m(el)32 b(Description)g(of)e(GNU)h Fn(gperf)1520
+b Fs(11)150 299 y Fp(3)80 b(High-Lev)l(el)52 b(Description)f(of)j(GNU)g
+Fm(gperf)275 539 y Fs(The)29 b(p)s(erfect)h(hash)g(function)g
+(generator)h Fn(gperf)e Fs(reads)h(a)h(set)g(of)f(\\k)m(eyw)m(ords")i
+(from)d(an)i(input)e(\014le)150 648 y(\(or)34 b(from)g(the)g(standard)f
+(input)g(b)m(y)h(default\).)52 b(It)34 b(attempts)h(to)f(deriv)m(e)h(a)
+f(p)s(erfect)g(hashing)f(function)150 758 y(that)k(recognizes)i(a)e
+(mem)m(b)s(er)f(of)h(the)g Fo(static)h(k)m(eyw)m(ord)f(set)j
+Fs(with)c(at)i(most)f(a)g(single)g(prob)s(e)f(in)m(to)i(the)150
+867 y(lo)s(okup)26 b(table.)41 b(If)26 b Fn(gperf)f Fs(succeeds)i(in)g
+(generating)h(suc)m(h)e(a)h(function)f(it)i(pro)s(duces)d(a)i(pair)g
+(of)f(C)h(source)150 977 y(co)s(de)39 b(routines)g(that)h(p)s(erform)d
+(hashing)i(and)f(table)i(lo)s(okup)e(recognition.)69
+b(All)39 b(generated)h(C)f(co)s(de)150 1086 y(is)f(directed)g(to)g(the)
+g(standard)f(output.)62 b(Command-line)38 b(options)g(describ)s(ed)e(b)
+s(elo)m(w)i(allo)m(w)h(y)m(ou)f(to)150 1196 y(mo)s(dify)30
+b(the)g(input)g(and)f(output)h(format)h(to)g Fn(gperf)p
+Fs(.)275 1332 y(By)23 b(default,)i Fn(gperf)d Fs(attempts)i(to)g(pro)s
+(duce)e(time-e\016cien)m(t)k(co)s(de,)f(with)e(less)h(emphasis)e(on)h
+(e\016cien)m(t)150 1442 y(space)31 b(utilization.)43
+b(Ho)m(w)m(ev)m(er,)33 b(sev)m(eral)e(options)g(exist)g(that)g(p)s
+(ermit)f(trading-o\013)h(execution)h(time)f(for)150 1552
+y(storage)i(space)f(and)g(vice)g(v)m(ersa.)46 b(In)31
+b(particular,)h(expanding)f(the)h(generated)h(table)g(size)f(pro)s
+(duces)f(a)150 1661 y(sparse)26 b(searc)m(h)g(structure,)h(generally)g
+(yielding)f(faster)h(searc)m(hes.)40 b(Con)m(v)m(ersely)-8
+b(,)28 b(y)m(ou)f(can)f(direct)g Fn(gperf)150 1771 y
+Fs(to)21 b(utilize)h(a)f(C)f Fn(switch)f Fs(statemen)m(t)k(sc)m(heme)e
+(that)g(minimizes)g(data)g(space)g(storage)h(size.)39
+b(F)-8 b(urthermore,)150 1880 y(using)40 b(a)g(C)g Fn(switch)e
+Fs(ma)m(y)i(actually)i(sp)s(eed)d(up)g(the)h(k)m(eyw)m(ord)h(retriev)-5
+b(al)41 b(time)g(somewhat.)70 b(Actual)150 1990 y(results)30
+b(dep)s(end)f(on)h(y)m(our)g(C)g(compiler,)i(of)e(course.)275
+2126 y(In)44 b(general,)50 b Fn(gperf)44 b Fs(assigns)h(v)-5
+b(alues)46 b(to)g(the)f(b)m(ytes)h(it)g(is)f(using)g(for)g(hashing)f
+(un)m(til)i(some)f(set)150 2236 y(of)d(v)-5 b(alues)43
+b(giv)m(es)g(eac)m(h)h(k)m(eyw)m(ord)e(a)h(unique)e(v)-5
+b(alue.)77 b(A)42 b(helpful)f(heuristic)i(is)f(that)h(the)f(larger)h
+(the)150 2345 y(hash)36 b(v)-5 b(alue)37 b(range,)i(the)e(easier)h(it)f
+(is)g(for)f Fn(gperf)f Fs(to)j(\014nd)d(and)h(generate)i(a)f(p)s
+(erfect)g(hash)f(function.)150 2455 y(Exp)s(erimen)m(tation)31
+b(is)f(the)h(k)m(ey)g(to)g(getting)h(the)f(most)g(from)e
Fn(gperf)p Fs(.)150 2717 y Fr(3.1)68 b(Input)44 b(F)-11
b(ormat)46 b(to)f Fk(gperf)275 2911 y Fs(Y)-8 b(ou)38
-b(can)g(con)m(trol)h(the)f(input)e(\014le)h(format)h(b)m(y)g(v)-5
-b(arying)37 b(certain)g(command-line)g(argumen)m(ts,)j(in)150
-3021 y(particular)d(the)i(`)p Fn(-t)p Fs(')g(option.)65
-b(The)38 b(input's)f(app)s(earance)i(is)f(similar)e(to)j(GNU)h
-(utilities)c Fn(flex)i Fs(and)150 3131 y Fn(bison)29
-b Fs(\(or)i(UNIX)f(utilities)e Fn(lex)i Fs(and)f Fn(yacc)p
-Fs(\).)40 b(Here's)31 b(an)g(outline)e(of)h(the)h(general)f(format:)390
+b(can)g(con)m(trol)i(the)e(input)f(\014le)h(format)g(b)m(y)g(v)-5
+b(arying)38 b(certain)g(command-line)h(argumen)m(ts,)h(in)150
+3021 y(particular)f(the)g(`)p Fn(-t)p Fs(')g(option.)66
+b(The)38 b(input's)g(app)s(earance)h(is)g(similar)g(to)g(GNU)h
+(utilities)g Fn(flex)e Fs(and)150 3131 y Fn(bison)29
+b Fs(\(or)i(UNIX)f(utilities)i Fn(lex)e Fs(and)f Fn(yacc)p
+Fs(\).)40 b(Here's)31 b(an)g(outline)g(of)f(the)h(general)g(format:)390
3261 y Fn(declarations)390 3365 y(\045\045)390 3469 y(keywords)390
3572 y(\045\045)390 3676 y(functions)275 3806 y Fl(Unlike)41
-b Fn(flex)35 b Fs(or)g Fn(bison)p Fs(,)h(the)g(declarations)e(section)i
-(and)f(the)h(functions)e(section)i(are)g(optional.)150
-3915 y(The)30 b(follo)m(wing)f(sections)h(describ)s(e)f(the)h(input)f
-(format)i(for)f(eac)m(h)h(section.)275 4051 y(It)h(is)f(p)s(ossible)f
-(to)j(omit)f(the)h(declaration)f(section)g(en)m(tirely)-8
-b(,)33 b(if)e(the)i(`)p Fn(-t)p Fs(')f(option)g(is)f(not)i(giv)m(en.)47
-b(In)150 4161 y(this)29 b(case)j(the)e(input)f(\014le)g(b)s(egins)g
-(directly)g(with)g(the)i(\014rst)e(k)m(eyw)m(ord)i(line,)e(e.g.:)390
+b Fn(flex)35 b Fs(or)g Fn(bison)p Fs(,)h(the)g(declarations)g(section)h
+(and)e(the)h(functions)f(section)i(are)f(optional.)150
+3915 y(The)30 b(follo)m(wing)i(sections)f(describ)s(e)f(the)g(input)g
+(format)h(for)f(eac)m(h)h(section.)275 4051 y(It)h(is)g(p)s(ossible)g
+(to)h(omit)g(the)g(declaration)h(section)f(en)m(tirely)-8
+b(,)35 b(if)d(the)h(`)p Fn(-t)p Fs(')f(option)h(is)f(not)h(giv)m(en.)48
+b(In)150 4161 y(this)30 b(case)i(the)e(input)g(\014le)g(b)s(egins)g
+(directly)h(with)f(the)h(\014rst)e(k)m(eyw)m(ord)i(line,)g(e.g.:)390
4292 y Fn(january)390 4395 y(february)390 4499 y(march)390
4603 y(april)390 4707 y(...)150 4926 y Fj(3.1.1)63 b(Declarations)275
-5121 y Fs(The)33 b(k)m(eyw)m(ord)i(input)e(\014le)g(optionally)g(con)m
-(tains)i(a)g(section)f(for)g(including)d(arbitrary)j(C)g(declara-)150
-5230 y(tions)c(and)f(de\014nitions,)f Fn(gperf)h Fs(declarations)h
-(that)h(act)g(lik)m(e)f(command-line)f(options,)h(as)g(w)m(ell)g(as)g
-(for)150 5340 y(pro)m(viding)e(a)j(user-supplied)c Fn(struct)p
-Fs(.)p eop
+5121 y Fs(The)33 b(k)m(eyw)m(ord)i(input)f(\014le)g(optionally)i(con)m
+(tains)g(a)f(section)g(for)f(including)g(arbitrary)h(C)f(declara-)150
+5230 y(tions)d(and)e(de\014nitions,)h Fn(gperf)f Fs(declarations)j
+(that)f(act)g(lik)m(e)h(command-line)f(options,)g(as)f(w)m(ell)i(as)e
+(for)150 5340 y(pro)m(viding)g(a)h(user-supplied)e Fn(struct)p
+Fs(.)p eop end
%%Page: 12 14
-12 13 bop 150 -116 a Fs(Chapter)30 b(3:)41 b(High-Lev)m(el)30
-b(Description)g(of)g(GNU)h Fn(gperf)1520 b Fs(12)150
-299 y Fj(3.1.1.1)63 b(User-supplied)43 b Fi(struct)275
-487 y Fs(If)24 b(the)h(`)p Fn(-t)p Fs(')f(option)g(\(or,)j(equiv)-5
-b(alen)m(tly)d(,)25 b(the)g(`)p Fn(\045struct-type)p
-Fs(')d(declaration\))i Fl(is)32 b Fs(enabled,)25 b(y)m(ou)g
-Fl(must)150 597 y Fs(pro)m(vide)36 b(a)g(C)h Fn(struct)d
-Fs(as)j(the)g(last)f(comp)s(onen)m(t)h(in)e(the)i(declaration)f
-(section)g(from)g(the)h(input)e(\014le.)150 706 y(The)26
-b(\014rst)f(\014eld)g(in)g(this)g(struct)h(m)m(ust)g(b)s(e)g(of)g(t)m
+TeXDict begin 12 13 bop 150 -116 a Fs(Chapter)30 b(3:)41
+b(High-Lev)m(el)32 b(Description)g(of)e(GNU)h Fn(gperf)1520
+b Fs(12)150 299 y Fj(3.1.1.1)63 b(User-supplied)43 b
+Fi(struct)275 500 y Fs(If)24 b(the)h(`)p Fn(-t)p Fs(')f(option)h(\(or,)
+i(equiv)-5 b(alen)m(tly)d(,)28 b(the)d(`)p Fn(\045struct-type)p
+Fs(')d(declaration\))k Fl(is)32 b Fs(enabled,)26 b(y)m(ou)f
+Fl(must)150 609 y Fs(pro)m(vide)37 b(a)f(C)h Fn(struct)d
+Fs(as)j(the)g(last)g(comp)s(onen)m(t)g(in)f(the)h(declaration)h
+(section)f(from)f(the)h(input)f(\014le.)150 719 y(The)26
+b(\014rst)f(\014eld)h(in)g(this)g(struct)g(m)m(ust)g(b)s(e)g(of)g(t)m
(yp)s(e)g Fn(char)j(*)d Fs(or)g Fn(const)j(char)h(*)25
-b Fs(if)g(the)i(`)p Fn(-P)p Fs(')f(option)f(is)h(not)150
-816 y(giv)m(en,)k(or)h(of)f(t)m(yp)s(e)g Fn(int)g Fs(if)f(the)h(option)
-g(`)p Fn(-P)p Fs(')g(\(or,)h(equiv)-5 b(alen)m(tly)d(,)29
-b(the)i(`)p Fn(\045pic)p Fs(')e(declaration\))h(is)g(enabled.)150
-926 y(This)k(\014rst)g(\014eld)g(m)m(ust)i(b)s(e)e(called)h(`)p
-Fn(name)p Fs(',)h(although)f(it)g(is)g(p)s(ossible)e(to)j(mo)s(dify)d
-(its)i(name)h(with)e(the)150 1035 y(`)p Fn(-K)p Fs(')c(option)g(\(or,)h
-(equiv)-5 b(alen)m(tly)d(,)30 b(the)g(`)p Fn(\045define)f(slot-name)p
-Fs(')f(declaration\))i(describ)s(ed)f(b)s(elo)m(w.)275
-1165 y(Here)h(is)g(a)h(simple)d(example,)i(using)f(mon)m(ths)h(of)h
-(the)f(y)m(ear)i(and)d(their)h(attributes)g(as)g(input:)390
-1290 y Fn(struct)46 b(months)g({)i(char)e(*name;)g(int)h(number;)f(int)
-h(days;)f(int)h(leap_days;)e(};)390 1393 y(\045\045)390
-1497 y(january,)141 b(1,)47 b(31,)g(31)390 1601 y(february,)93
-b(2,)47 b(28,)g(29)390 1705 y(march,)237 b(3,)47 b(31,)g(31)390
-1809 y(april,)237 b(4,)47 b(30,)g(30)390 1912 y(may,)333
-b(5,)47 b(31,)g(31)390 2016 y(june,)285 b(6,)47 b(30,)g(30)390
-2120 y(july,)285 b(7,)47 b(31,)g(31)390 2224 y(august,)189
-b(8,)47 b(31,)g(31)390 2327 y(september,)e(9,)i(30,)g(30)390
-2431 y(october,)93 b(10,)47 b(31,)g(31)390 2535 y(november,)e(11,)i
-(30,)g(30)390 2639 y(december,)e(12,)i(31,)g(31)275 2762
-y Fs(Separating)24 b(the)h Fn(struct)f Fs(declaration)g(from)h(the)g
-(list)f(of)h(k)m(eyw)m(ords)h(and)e(other)h(\014elds)f(are)h(a)h(pair)e
-(of)150 2871 y(consecutiv)m(e)32 b(p)s(ercen)m(t)g(signs,)e(`)p
-Fn(\045\045)p Fs(',)i(app)s(earing)e(left)h(justi\014ed)e(in)h(the)i
-(\014rst)e(column,)h(as)g(in)f(the)i(UNIX)150 2981 y(utilit)m(y)d
-Fn(lex)p Fs(.)150 3192 y Fj(3.1.1.2)63 b(Gp)s(erf)42
-b(Declarations)275 3381 y Fs(The)31 b(declaration)h(section)h(can)f
-(con)m(tain)h Fn(gperf)d Fs(declarations.)46 b(They)32
-b(in\015uence)f(the)h(w)m(a)m(y)h Fn(gperf)150 3490 y
-Fs(w)m(orks,)43 b(lik)m(e)d(command)h(line)e(options)h(do.)72
-b(In)40 b(fact,)k(ev)m(ery)e(suc)m(h)e(declaration)g(is)g(equiv)-5
-b(alen)m(t)40 b(to)i(a)150 3600 y(command)30 b(line)f(option.)40
-b(There)30 b(are)h(three)f(forms)g(of)h(declarations:)199
-3730 y(1.)61 b(Declarations)31 b(without)e(argumen)m(t,)i(lik)m(e)f(`)p
-Fn(\045compare-lengths)p Fs('.)199 3860 y(2.)61 b(Declarations)31
-b(with)e(an)h(argumen)m(t,)h(lik)m(e)f(`)p Fn(\045switch=)p
-Fo(coun)m(t)r Fs('.)199 3990 y(3.)61 b(Declarations)112
-b(of)g(names)g(of)g(en)m(tities)g(in)e(the)i(output)g(\014le,)131
-b(lik)m(e)112 b(`)p Fn(\045define)330 4100 y(lookup-function-name)25
-b Fo(name)5 b Fs('.)275 4251 y(When)35 b(a)h(declaration)f(is)g(giv)m
-(en)g(b)s(oth)g(in)g(the)g(input)f(\014le)h(and)g(as)h(a)g(command)f
-(line)f(option,)j(the)150 4360 y(command-line)29 b(option's)h(v)-5
-b(alue)30 b(prev)-5 b(ails.)275 4490 y(The)29 b(follo)m(wing)g
-Fn(gperf)g Fs(declarations)h(are)h(a)m(v)-5 b(ailable.)150
-4641 y(`)p Fn(\045delimiters=)p Fo(delimiter-lis)o(t)r
-Fs(')630 4751 y(Allo)m(ws)28 b(y)m(ou)h(to)g(pro)m(vide)f(a)h(string)f
-(con)m(taining)g(delimiters)f(used)g(to)j(separate)g(k)m(eyw)m(ords)630
-4860 y(from)k(their)g(attributes.)53 b(The)34 b(default)f(is)h
-Fn(")p Fs(,)p Fn(")p Fs(.)53 b(This)33 b(option)h(is)f(essen)m(tial)i
-(if)e(y)m(ou)i(w)m(an)m(t)630 4970 y(to)c(use)f(k)m(eyw)m(ords)h(that)g
-(ha)m(v)m(e)g(em)m(b)s(edded)f(commas)h(or)f(newlines.)150
-5121 y(`)p Fn(\045struct-type)p Fs(')630 5230 y(Allo)m(ws)g(y)m(ou)g
-(to)i(include)c(a)j Fn(struct)d Fs(t)m(yp)s(e)j(declaration)f(for)g
-(generated)i(co)s(de;)f(see)g(ab)s(o)m(v)m(e)630 5340
-y(for)f(an)g(example.)p eop
+b Fs(if)h(the)h(`)p Fn(-P)p Fs(')f(option)g(is)h(not)150
+829 y(giv)m(en,)k(or)g(of)f(t)m(yp)s(e)g Fn(int)g Fs(if)g(the)g(option)
+h(`)p Fn(-P)p Fs(')f(\(or,)h(equiv)-5 b(alen)m(tly)d(,)32
+b(the)f(`)p Fn(\045pic)p Fs(')e(declaration\))j(is)f(enabled.)150
+938 y(This)k(\014rst)f(\014eld)h(m)m(ust)h(b)s(e)e(called)j(`)p
+Fn(name)p Fs(',)f(although)g(it)g(is)g(p)s(ossible)f(to)h(mo)s(dify)e
+(its)i(name)g(with)f(the)150 1048 y(`)p Fn(-K)p Fs(')30
+b(option)h(\(or,)g(equiv)-5 b(alen)m(tly)d(,)33 b(the)d(`)p
+Fn(\045define)f(slot-name)p Fs(')f(declaration\))k(describ)s(ed)e(b)s
+(elo)m(w.)275 1191 y(Here)g(is)h(a)g(simple)f(example,)h(using)f(mon)m
+(ths)g(of)h(the)f(y)m(ear)i(and)d(their)i(attributes)g(as)f(input:)390
+1328 y Fn(struct)46 b(month)g({)i(char)f(*name;)f(int)h(number;)e(int)i
+(days;)g(int)g(leap_days;)e(};)390 1432 y(\045\045)390
+1535 y(january,)141 b(1,)47 b(31,)g(31)390 1639 y(february,)93
+b(2,)47 b(28,)g(29)390 1743 y(march,)237 b(3,)47 b(31,)g(31)390
+1847 y(april,)237 b(4,)47 b(30,)g(30)390 1950 y(may,)333
+b(5,)47 b(31,)g(31)390 2054 y(june,)285 b(6,)47 b(30,)g(30)390
+2158 y(july,)285 b(7,)47 b(31,)g(31)390 2262 y(august,)189
+b(8,)47 b(31,)g(31)390 2366 y(september,)e(9,)i(30,)g(30)390
+2469 y(october,)93 b(10,)47 b(31,)g(31)390 2573 y(november,)e(11,)i
+(30,)g(30)390 2677 y(december,)e(12,)i(31,)g(31)275 2813
+y Fs(Separating)25 b(the)g Fn(struct)f Fs(declaration)i(from)f(the)g
+(list)h(of)f(k)m(eyw)m(ords)h(and)e(other)h(\014elds)g(are)g(a)h(pair)f
+(of)150 2922 y(consecutiv)m(e)33 b(p)s(ercen)m(t)f(signs,)f(`)p
+Fn(\045\045)p Fs(',)h(app)s(earing)f(left)h(justi\014ed)e(in)h(the)h
+(\014rst)e(column,)i(as)f(in)g(the)h(UNIX)150 3032 y(utilit)m(y)g
+Fn(lex)p Fs(.)275 3175 y(If)k(the)i Fn(struct)d Fs(has)i(already)h(b)s
+(een)f(declared)h(in)f(an)g(include)g(\014le,)i(it)f(can)g(b)s(e)e(men)
+m(tioned)i(in)f(an)150 3284 y(abbreviated)31 b(form,)f(lik)m(e)i(this:)
+390 3421 y Fn(struct)46 b(month;)390 3525 y(\045\045)390
+3629 y(january,)141 b(1,)47 b(31,)g(31)390 3733 y(...)150
+3966 y Fj(3.1.1.2)63 b(Gp)s(erf)43 b(Declarations)275
+4167 y Fs(The)31 b(declaration)j(section)g(can)e(con)m(tain)i
+Fn(gperf)c Fs(declarations.)48 b(They)32 b(in\015uence)g(the)g(w)m(a)m
+(y)h Fn(gperf)150 4276 y Fs(w)m(orks,)43 b(lik)m(e)f(command)f(line)g
+(options)g(do.)72 b(In)40 b(fact,)k(ev)m(ery)e(suc)m(h)e(declaration)i
+(is)f(equiv)-5 b(alen)m(t)42 b(to)g(a)150 4386 y(command)30
+b(line)h(option.)41 b(There)30 b(are)h(three)f(forms)g(of)h
+(declarations:)199 4529 y(1.)61 b(Declarations)33 b(without)d(argumen)m
+(t,)h(lik)m(e)h(`)p Fn(\045compare-lengths)p Fs('.)199
+4667 y(2.)61 b(Declarations)33 b(with)d(an)g(argumen)m(t,)h(lik)m(e)h
+(`)p Fn(\045switch=)p Fo(coun)m(t)r Fs('.)199 4806 y(3.)61
+b(Declarations)114 b(of)e(names)g(of)g(en)m(tities)i(in)d(the)h(output)
+g(\014le,)132 b(lik)m(e)114 b(`)p Fn(\045define)330 4916
+y(lookup-function-name)25 b Fo(name)5 b Fs('.)275 5088
+y(When)35 b(a)h(declaration)h(is)f(giv)m(en)g(b)s(oth)f(in)h(the)f
+(input)g(\014le)h(and)f(as)h(a)g(command)f(line)h(option,)i(the)150
+5197 y(command-line)31 b(option's)g(v)-5 b(alue)31 b(prev)-5
+b(ails.)275 5340 y(The)29 b(follo)m(wing)j Fn(gperf)d
+Fs(declarations)j(are)f(a)m(v)-5 b(ailable.)p eop end
%%Page: 13 15
-13 14 bop 150 -116 a Fs(Chapter)30 b(3:)41 b(High-Lev)m(el)30
-b(Description)g(of)g(GNU)h Fn(gperf)1520 b Fs(13)150
-299 y(`)p Fn(\045ignore-case)p Fs(')630 408 y(Consider)42
-b(upp)s(er)g(and)i(lo)m(w)m(er)g(case)h(ASCI)s(I)e(c)m(haracters)i(as)f
-(equiv)-5 b(alen)m(t.)81 b(The)44 b(string)630 518 y(comparison)27
-b(will)f(use)i(a)h(case)g(insigni\014can)m(t)d(c)m(haracter)k
-(comparison.)39 b(Note)29 b(that)g(lo)s(cale)630 628
-y(dep)s(enden)m(t)g(case)j(mappings)c(are)j(ignored.)150
-783 y(`)p Fn(\045language=)p Fo(language-name)5 b Fs(')630
-892 y(Instructs)33 b Fn(gperf)f Fs(to)i(generate)h(co)s(de)f(in)e(the)i
-(language)g(sp)s(eci\014ed)d(b)m(y)j(the)g(option's)f(ar-)630
-1002 y(gumen)m(t.)41 b(Languages)31 b(handled)e(are)i(curren)m(tly:)630
-1157 y(`)p Fn(KR-C)p Fs(')238 b(Old-st)m(yle)25 b(K&R)h(C.)g(This)e
-(language)j(is)f(understo)s(o)s(d)e(b)m(y)i(old-st)m(yle)g(C)g(com-)
-1110 1267 y(pilers)c(and)i(ANSI)f(C)h(compilers,)g(but)g(ANSI)f(C)h
-(compilers)f(ma)m(y)h(\015ag)h(w)m(arn-)1110 1377 y(ings)k(\(or)i(ev)m
-(en)g(errors\))f(b)s(ecause)h(of)f(lac)m(king)g(`)p Fn(const)p
-Fs('.)630 1532 y(`)p Fn(C)p Fs(')382 b(Common)23 b(C.)f(This)g
-(language)h(is)f(understo)s(o)s(d)f(b)m(y)i(ANSI)g(C)f(compilers,)i
-(and)1110 1641 y(also)29 b(b)m(y)f(old-st)m(yle)g(C)h(compilers,)e(pro)
-m(vided)g(that)j(y)m(ou)f Fn(#define)f(const)f Fs(to)1110
-1751 y(empt)m(y)k(for)f(compilers)f(whic)m(h)g(don't)h(kno)m(w)h(ab)s
-(out)f(this)f(k)m(eyw)m(ord.)630 1906 y(`)p Fn(ANSI-C)p
-Fs(')142 b(ANSI)39 b(C.)h(This)d(language)j(is)f(understo)s(o)s(d)f(b)m
-(y)h(ANSI)g(C)h(compilers)e(and)1110 2016 y(C)p Fn(++)29
-b Fs(compilers.)630 2171 y(`)p Fn(C++)p Fs(')286 b(C)p
-Fn(++)p Fs(.)40 b(This)28 b(language)j(is)f(understo)s(o)s(d)e(b)m(y)i
-(C)p Fn(++)g Fs(compilers.)630 2326 y(The)g(default)f(is)h(C.)150
-2482 y(`)p Fn(\045define)f(slot-name)e Fo(name)5 b Fs(')630
-2591 y(This)64 b(declaration)i(is)f(only)g(useful)f(when)h(option)g(`)p
-Fn(-t)p Fs(')h(\(or,)76 b(equiv)-5 b(alen)m(tly)d(,)74
-b(the)630 2701 y(`)p Fn(\045struct-type)p Fs(')27 b(declaration\))j
-(has)g(b)s(een)g(giv)m(en.)40 b(By)31 b(default,)e(the)h(program)g
-(assumes)630 2810 y(the)48 b(structure)g(comp)s(onen)m(t)h(iden)m
-(ti\014er)d(for)i(the)g(k)m(eyw)m(ord)h(is)e(`)p Fn(name)p
-Fs('.)94 b(This)46 b(option)630 2920 y(allo)m(ws)e(an)g(arbitrary)f(c)m
-(hoice)i(of)g(iden)m(ti\014er)d(for)j(this)e(comp)s(onen)m(t,)48
-b(although)c(it)g(still)630 3029 y(m)m(ust)30 b(o)s(ccur)g(as)h(the)g
-(\014rst)e(\014eld)g(in)g(y)m(our)i(supplied)c Fn(struct)p
-Fs(.)150 3185 y(`)p Fn(\045define)i(initializer-suffix)c
-Fo(initializers)t Fs(')630 3294 y(This)64 b(declaration)i(is)f(only)g
-(useful)f(when)h(option)g(`)p Fn(-t)p Fs(')h(\(or,)76
-b(equiv)-5 b(alen)m(tly)d(,)74 b(the)630 3404 y(`)p Fn(\045struct-type)
-p Fs(')33 b(declaration\))j(has)f(b)s(een)g(giv)m(en.)57
-b(It)36 b(p)s(ermits)e(to)j(sp)s(ecify)d(initializers)630
-3513 y(for)44 b(the)g(structure)g(mem)m(b)s(ers)f(follo)m(wing)f
-Fo(slot-name)50 b Fs(in)42 b(empt)m(y)j(hash)e(table)h(en)m(tries.)630
-3623 y(The)e(list)e(of)j(initializers)38 b(should)i(start)j(with)e(a)h
-(comma.)77 b(By)42 b(default,)j(the)d(emitted)630 3733
-y(co)s(de)31 b(will)c(zero-initialize)i(structure)h(mem)m(b)s(ers)g
-(follo)m(wing)f Fo(slot-name)p Fs(.)150 3888 y(`)p Fn(\045define)g
-(hash-function-name)c Fo(name)5 b Fs(')630 3998 y(Allo)m(ws)29
-b(y)m(ou)h(to)g(sp)s(ecify)f(the)h(name)g(for)f(the)h(generated)h(hash)
-e(function.)39 b(Default)30 b(name)630 4107 y(is)f(`)p
-Fn(hash)p Fs('.)40 b(This)29 b(option)h(p)s(ermits)e(the)j(use)f(of)h
-(t)m(w)m(o)g(hash)f(tables)g(in)f(the)i(same)g(\014le.)150
-4262 y(`)p Fn(\045define)e(lookup-function-name)24 b
-Fo(name)5 b Fs(')630 4372 y(Allo)m(ws)41 b(y)m(ou)h(to)h(sp)s(ecify)d
-(the)j(name)f(for)f(the)h(generated)h(lo)s(okup)e(function.)74
-b(Default)630 4482 y(name)28 b(is)f(`)p Fn(in_word_set)p
-Fs('.)37 b(This)26 b(option)h(p)s(ermits)f(m)m(ultiple)g(generated)i
-(hash)f(functions)630 4591 y(to)k(b)s(e)f(used)f(in)g(the)i(same)g
-(application.)150 4746 y(`)p Fn(\045define)e(class-name)e
-Fo(name)5 b Fs(')630 4856 y(This)65 b(option)i(is)f(only)h(useful)e
-(when)i(option)f(`)p Fn(-L)30 b(C++)p Fs(')67 b(\(or,)77
-b(equiv)-5 b(alen)m(tly)d(,)76 b(the)630 4966 y(`)p Fn
-(\045language=C++)p Fs(')43 b(declaration\))i(has)h(b)s(een)f(giv)m
-(en.)87 b(It)46 b(allo)m(ws)f(y)m(ou)h(to)g(sp)s(ecify)f(the)630
-5075 y(name)30 b(of)h(generated)g(C)p Fn(++)f Fs(class.)40
-b(Default)31 b(name)f(is)g Fn(Perfect_Hash)p Fs(.)150
-5230 y(`)p Fn(\0457bit)p Fs(')190 b(This)35 b(option)i(sp)s(eci\014es)f
-(that)h(all)f(strings)g(that)i(will)c(b)s(e)j(passed)f(as)i(argumen)m
-(ts)f(to)h(the)630 5340 y(generated)e(hash)e(function)f(and)i(the)g
-(generated)g(lo)s(okup)f(function)f(will)f(solely)i(consist)p
-eop
+TeXDict begin 13 14 bop 150 -116 a Fs(Chapter)30 b(3:)41
+b(High-Lev)m(el)32 b(Description)g(of)e(GNU)h Fn(gperf)1520
+b Fs(13)150 299 y(`)p Fn(\045delimiters=)p Fo(delimiter-list)r
+Fs(')630 408 y(Allo)m(ws)30 b(y)m(ou)f(to)g(pro)m(vide)g(a)g(string)g
+(con)m(taining)h(delimiters)g(used)d(to)j(separate)g(k)m(eyw)m(ords)630
+518 y(from)k(their)h(attributes.)54 b(The)34 b(default)g(is)h
+Fn(")p Fs(,)p Fn(")p Fs(.)53 b(This)34 b(option)h(is)f(essen)m(tial)j
+(if)d(y)m(ou)h(w)m(an)m(t)630 628 y(to)c(use)f(k)m(eyw)m(ords)h(that)g
+(ha)m(v)m(e)g(em)m(b)s(edded)f(commas)h(or)f(newlines.)150
+774 y(`)p Fn(\045struct-type)p Fs(')630 883 y(Allo)m(ws)i(y)m(ou)e(to)i
+(include)e(a)h Fn(struct)d Fs(t)m(yp)s(e)j(declaration)h(for)e
+(generated)i(co)s(de;)f(see)g(ab)s(o)m(v)m(e)630 993
+y(for)f(an)g(example.)150 1139 y(`)p Fn(\045ignore-case)p
+Fs(')630 1249 y(Consider)43 b(upp)s(er)f(and)i(lo)m(w)m(er)h(case)g
+(ASCI)s(I)e(c)m(haracters)i(as)f(equiv)-5 b(alen)m(t.)83
+b(The)44 b(string)630 1358 y(comparison)28 b(will)h(use)f(a)h(case)g
+(insigni\014can)m(t)g(c)m(haracter)h(comparison.)40 b(Note)29
+b(that)g(lo)s(cale)630 1468 y(dep)s(enden)m(t)g(case)j(mappings)d(are)i
+(ignored.)150 1614 y(`)p Fn(\045language=)p Fo(language-name)5
+b Fs(')630 1724 y(Instructs)33 b Fn(gperf)f Fs(to)i(generate)h(co)s(de)
+f(in)f(the)h(language)h(sp)s(eci\014ed)d(b)m(y)i(the)g(option's)g(ar-)
+630 1833 y(gumen)m(t.)41 b(Languages)31 b(handled)f(are)h(curren)m
+(tly:)630 1979 y(`)p Fn(KR-C)p Fs(')238 b(Old-st)m(yle)27
+b(K&R)f(C.)g(This)f(language)j(is)f(understo)s(o)s(d)d(b)m(y)i(old-st)m
+(yle)i(C)e(com-)1110 2089 y(pilers)e(and)g(ANSI)f(C)h(compilers,)i(but)
+e(ANSI)f(C)h(compilers)h(ma)m(y)f(\015ag)h(w)m(arn-)1110
+2198 y(ings)30 b(\(or)h(ev)m(en)g(errors\))f(b)s(ecause)h(of)f(lac)m
+(king)i(`)p Fn(const)p Fs('.)630 2345 y(`)p Fn(C)p Fs(')382
+b(Common)23 b(C.)f(This)h(language)h(is)f(understo)s(o)s(d)e(b)m(y)i
+(ANSI)g(C)f(compilers,)k(and)1110 2454 y(also)k(b)m(y)e(old-st)m(yle)i
+(C)f(compilers,)g(pro)m(vided)f(that)i(y)m(ou)f Fn(#define)f(const)f
+Fs(to)1110 2564 y(empt)m(y)k(for)f(compilers)h(whic)m(h)f(don't)g(kno)m
+(w)h(ab)s(out)f(this)g(k)m(eyw)m(ord.)630 2710 y(`)p
+Fn(ANSI-C)p Fs(')142 b(ANSI)39 b(C.)h(This)e(language)j(is)f(understo)s
+(o)s(d)e(b)m(y)h(ANSI)g(C)h(compilers)g(and)1110 2819
+y(C)p Fn(++)29 b Fs(compilers.)630 2966 y(`)p Fn(C++)p
+Fs(')286 b(C)p Fn(++)p Fs(.)40 b(This)29 b(language)j(is)f(understo)s
+(o)s(d)d(b)m(y)i(C)p Fn(++)g Fs(compilers.)630 3112 y(The)g(default)g
+(is)h(C.)150 3258 y(`)p Fn(\045define)e(slot-name)e Fo(name)5
+b Fs(')630 3367 y(This)65 b(declaration)j(is)e(only)g(useful)f(when)g
+(option)h(`)p Fn(-t)p Fs(')g(\(or,)76 b(equiv)-5 b(alen)m(tly)d(,)77
+b(the)630 3477 y(`)p Fn(\045struct-type)p Fs(')27 b(declaration\))32
+b(has)e(b)s(een)g(giv)m(en.)41 b(By)31 b(default,)f(the)g(program)g
+(assumes)630 3587 y(the)48 b(structure)g(comp)s(onen)m(t)h(iden)m
+(ti\014er)f(for)g(the)g(k)m(eyw)m(ord)h(is)f(`)p Fn(name)p
+Fs('.)94 b(This)47 b(option)630 3696 y(allo)m(ws)f(an)e(arbitrary)g(c)m
+(hoice)i(of)f(iden)m(ti\014er)f(for)h(this)f(comp)s(onen)m(t,)k
+(although)d(it)g(still)630 3806 y(m)m(ust)30 b(o)s(ccur)g(as)h(the)g
+(\014rst)e(\014eld)h(in)g(y)m(our)h(supplied)e Fn(struct)p
+Fs(.)150 3952 y(`)p Fn(\045define)g(initializer-suffix)c
+Fo(initializers)t Fs(')630 4061 y(This)65 b(declaration)j(is)e(only)g
+(useful)f(when)g(option)h(`)p Fn(-t)p Fs(')g(\(or,)76
+b(equiv)-5 b(alen)m(tly)d(,)77 b(the)630 4171 y(`)p Fn(\045struct-type)
+p Fs(')33 b(declaration\))38 b(has)d(b)s(een)g(giv)m(en.)58
+b(It)36 b(p)s(ermits)f(to)i(sp)s(ecify)e(initializers)630
+4281 y(for)44 b(the)g(structure)g(mem)m(b)s(ers)f(follo)m(wing)i
+Fo(slot-name)51 b Fs(in)43 b(empt)m(y)i(hash)e(table)i(en)m(tries.)630
+4390 y(The)d(list)g(of)h(initializers)g(should)e(start)i(with)f(a)g
+(comma.)77 b(By)42 b(default,)k(the)c(emitted)630 4500
+y(co)s(de)31 b(will)f(zero-initialize)k(structure)c(mem)m(b)s(ers)g
+(follo)m(wing)i Fo(slot-name)p Fs(.)150 4646 y(`)p Fn(\045define)d
+(hash-function-name)c Fo(name)5 b Fs(')630 4755 y(Allo)m(ws)31
+b(y)m(ou)f(to)g(sp)s(ecify)g(the)g(name)g(for)f(the)h(generated)h(hash)
+e(function.)40 b(Default)31 b(name)630 4865 y(is)f(`)p
+Fn(hash)p Fs('.)40 b(This)30 b(option)h(p)s(ermits)e(the)i(use)f(of)h
+(t)m(w)m(o)g(hash)f(tables)h(in)f(the)h(same)g(\014le.)150
+5011 y(`)p Fn(\045define)e(lookup-function-name)24 b
+Fo(name)5 b Fs(')630 5121 y(Allo)m(ws)43 b(y)m(ou)f(to)h(sp)s(ecify)e
+(the)i(name)f(for)f(the)h(generated)h(lo)s(okup)f(function.)75
+b(Default)630 5230 y(name)28 b(is)g(`)p Fn(in_word_set)p
+Fs('.)37 b(This)27 b(option)h(p)s(ermits)f(m)m(ultiple)i(generated)f
+(hash)f(functions)630 5340 y(to)k(b)s(e)f(used)f(in)h(the)h(same)g
+(application.)p eop end
%%Page: 14 16
-14 15 bop 150 -116 a Fs(Chapter)30 b(3:)41 b(High-Lev)m(el)30
-b(Description)g(of)g(GNU)h Fn(gperf)1520 b Fs(14)630
-299 y(of)33 b(7-bit)g(ASCI)s(I)f(c)m(haracters)j(\(b)m(ytes)f(in)e(the)
-h(range)h(0..127\).)51 b(\(Note)35 b(that)f(the)g(ANSI)e(C)630
-408 y(functions)e Fn(isalnum)g Fs(and)i Fn(isgraph)e
-Fs(do)i Fl(not)41 b Fs(guaran)m(tee)33 b(that)g(a)f(b)m(yte)h(is)e(in)f
-(this)h(range.)630 518 y(Only)e(an)h(explicit)f(test)i(lik)m(e)f(`)p
-Fn(c)g(>=)g('A')f(&&)h(c)g(<=)g('Z')p Fs(')f(guaran)m(tees)j(this.\))
-150 682 y(`)p Fn(\045compare-lengths)p Fs(')630 792 y(Compare)40
-b(k)m(eyw)m(ord)g(lengths)f(b)s(efore)g(trying)g(a)i(string)d
-(comparison.)69 b(This)38 b(option)h(is)630 902 y(mandatory)32
-b(for)h(binary)d(comparisons)i(\(see)h(Section)g(3.3)g([Binary)f
-(Strings],)g(page)h(18\).)630 1011 y(It)g(also)g(migh)m(t)g(cut)g(do)m
-(wn)f(on)h(the)g(n)m(um)m(b)s(er)f(of)h(string)f(comparisons)g(made)h
-(during)e(the)630 1121 y(lo)s(okup,)i(since)g(k)m(eyw)m(ords)g(with)f
-(di\013eren)m(t)h(lengths)g(are)g(nev)m(er)h(compared)f(via)g
-Fn(strcmp)p Fs(.)630 1230 y(Ho)m(w)m(ev)m(er,)e(using)c(`)p
-Fn(\045compare-lengths)p Fs(')d(migh)m(t)k(greatly)h(increase)f(the)h
-(size)f(of)h(the)f(gen-)630 1340 y(erated)j(C)f(co)s(de)h(if)e(the)i
-(lo)s(okup)e(table)i(range)f(is)g(large)g(\(whic)m(h)g(implies)e(that)j
-(the)f(switc)m(h)630 1450 y(option)23 b(`)p Fn(-S)p Fs(')h(or)g(`)p
-Fn(\045switch)p Fs(')f(is)g(not)h(enabled\),)h(since)e(the)h(length)g
-(table)f(con)m(tains)i(as)f(man)m(y)630 1559 y(elemen)m(ts)31
-b(as)f(there)h(are)g(en)m(tries)f(in)f(the)h(lo)s(okup)f(table.)150
-1724 y(`)p Fn(\045compare-strncmp)p Fs(')630 1833 y(Generates)22
-b(C)f(co)s(de)g(that)h(uses)e(the)i Fn(strncmp)d Fs(function)g(to)j(p)s
-(erform)e(string)g(comparisons.)630 1943 y(The)30 b(default)f(action)i
-(is)f(to)h(use)f Fn(strcmp)p Fs(.)150 2107 y(`)p Fn
-(\045readonly-tables)p Fs(')630 2217 y(Mak)m(es)41 b(the)f(con)m(ten)m
-(ts)h(of)f(all)f(generated)h(lo)s(okup)e(tables)i(constan)m(t,)j(i.e.,)
-g(\\readonly".)630 2326 y(Man)m(y)31 b(compilers)e(can)i(generate)h
-(more)e(e\016cien)m(t)h(co)s(de)g(for)f(this)g(b)m(y)g(putting)f(the)i
-(tables)630 2436 y(in)e(readonly)h(memory)-8 b(.)150
-2600 y(`)p Fn(\045enum)p Fs(')190 b(De\014ne)31 b(constan)m(t)g(v)-5
-b(alues)30 b(using)f(an)h(en)m(um)g(lo)s(cal)g(to)h(the)g(lo)s(okup)e
-(function)g(rather)h(than)630 2710 y(with)36 b(#de\014nes.)60
-b(This)35 b(also)i(means)h(that)f(di\013eren)m(t)g(lo)s(okup)f
-(functions)g(can)h(reside)f(in)630 2819 y(the)31 b(same)f(\014le.)40
-b(Thanks)29 b(to)j(James)e(Clark)f Fn(<jjc@ai.mit.edu>)p
-Fs(.)150 2984 y(`)p Fn(\045includes)p Fs(')630 3093 y(Include)g(the)i
-(necessary)h(system)f(include)e(\014le,)h Fn(<string.h>)p
-Fs(,)f(at)i(the)g(b)s(eginning)e(of)i(the)630 3203 y(co)s(de.)39
-b(By)27 b(default,)f(this)f(is)g(not)h(done;)i(the)e(user)f(m)m(ust)h
-(include)e(this)g(header)i(\014le)f(himself)630 3313
-y(to)31 b(allo)m(w)f(compilation)f(of)h(the)h(co)s(de.)150
-3477 y(`)p Fn(\045global-table)p Fs(')630 3587 y(Generate)38
-b(the)f(static)g(table)f(of)h(k)m(eyw)m(ords)g(as)g(a)g(static)g
-(global)f(v)-5 b(ariable,)37 b(rather)f(than)630 3696
-y(hiding)28 b(it)i(inside)e(of)i(the)h(lo)s(okup)e(function)g(\(whic)m
-(h)g(is)h(the)g(default)g(b)s(eha)m(vior\).)150 3861
-y(`)p Fn(\045pic)p Fs(')238 b(Optimize)40 b(the)h(generated)h(table)f
-(for)g(inclusion)d(in)i(shared)g(libraries.)70 b(This)39
-b(reduces)630 3970 y(the)c(startup)g(time)g(of)g(programs)g(using)f(a)i
-(shared)e(library)f(con)m(taining)i(the)g(generated)630
-4080 y(co)s(de.)j(If)21 b(the)h(`)p Fn(\045struct-type)p
-Fs(')d(declaration)j(\(or,)i(equiv)-5 b(alen)m(tly)d(,)23
-b(the)f(option)f(`)p Fn(-t)p Fs('\))h(is)f(also)630 4189
-y(giv)m(en,)31 b(the)g(\014rst)e(\014eld)h(of)g(the)h(user-de\014ned)e
+TeXDict begin 14 15 bop 150 -116 a Fs(Chapter)30 b(3:)41
+b(High-Lev)m(el)32 b(Description)g(of)e(GNU)h Fn(gperf)1520
+b Fs(14)150 299 y(`)p Fn(\045define)29 b(class-name)e
+Fo(name)5 b Fs(')630 408 y(This)66 b(option)i(is)f(only)h(useful)e
+(when)h(option)g(`)p Fn(-L)30 b(C++)p Fs(')67 b(\(or,)77
+b(equiv)-5 b(alen)m(tly)d(,)79 b(the)630 518 y(`)p Fn(\045language=C++)
+p Fs(')43 b(declaration\))k(has)f(b)s(een)f(giv)m(en.)88
+b(It)46 b(allo)m(ws)h(y)m(ou)f(to)g(sp)s(ecify)g(the)630
+628 y(name)30 b(of)h(generated)g(C)p Fn(++)f Fs(class.)41
+b(Default)32 b(name)e(is)h Fn(Perfect_Hash)p Fs(.)150
+792 y(`)p Fn(\0457bit)p Fs(')190 b(This)36 b(option)i(sp)s(eci\014es)f
+(that)g(all)h(strings)f(that)h(will)f(b)s(e)g(passed)f(as)i(argumen)m
+(ts)f(to)h(the)630 902 y(generated)e(hash)e(function)g(and)h(the)g
+(generated)g(lo)s(okup)g(function)f(will)h(solely)h(consist)630
+1011 y(of)d(7-bit)h(ASCI)s(I)e(c)m(haracters)j(\(b)m(ytes)f(in)f(the)g
+(range)h(0..127\).)51 b(\(Note)35 b(that)f(the)g(ANSI)e(C)630
+1121 y(functions)f Fn(isalnum)f Fs(and)i Fn(isgraph)e
+Fs(do)i Fl(not)41 b Fs(guaran)m(tee)33 b(that)g(a)f(b)m(yte)h(is)f(in)f
+(this)h(range.)630 1230 y(Only)e(an)g(explicit)i(test)f(lik)m(e)h(`)p
+Fn(c)e(>=)g('A')f(&&)h(c)g(<=)g('Z')p Fs(')f(guaran)m(tees)j(this.\))
+150 1395 y(`)p Fn(\045compare-lengths)p Fs(')630 1504
+y(Compare)40 b(k)m(eyw)m(ord)g(lengths)g(b)s(efore)f(trying)h(a)h
+(string)e(comparison.)70 b(This)39 b(option)h(is)630
+1614 y(mandatory)32 b(for)h(binary)e(comparisons)i(\(see)g(Section)h
+(3.3)f([Binary)g(Strings],)g(page)g(18\).)630 1724 y(It)g(also)h(migh)m
+(t)g(cut)f(do)m(wn)f(on)h(the)g(n)m(um)m(b)s(er)f(of)h(string)g
+(comparisons)g(made)g(during)f(the)630 1833 y(lo)s(okup,)i(since)g(k)m
+(eyw)m(ords)f(with)g(di\013eren)m(t)h(lengths)g(are)f(nev)m(er)h
+(compared)f(via)h Fn(strcmp)p Fs(.)630 1943 y(Ho)m(w)m(ev)m(er,)d
+(using)d(`)p Fn(\045compare-lengths)p Fs(')c(migh)m(t)29
+b(greatly)h(increase)f(the)g(size)g(of)g(the)f(gen-)630
+2052 y(erated)j(C)f(co)s(de)h(if)f(the)h(lo)s(okup)f(table)i(range)e
+(is)h(large)g(\(whic)m(h)g(implies)g(that)g(the)f(switc)m(h)630
+2162 y(option)24 b(`)p Fn(-S)p Fs(')g(or)g(`)p Fn(\045switch)p
+Fs(')f(is)h(not)g(enabled\),)i(since)e(the)g(length)h(table)f(con)m
+(tains)i(as)e(man)m(y)630 2271 y(elemen)m(ts)32 b(as)e(there)h(are)g
+(en)m(tries)g(in)f(the)g(lo)s(okup)g(table.)150 2436
+y(`)p Fn(\045compare-strncmp)p Fs(')630 2545 y(Generates)22
+b(C)f(co)s(de)g(that)h(uses)e(the)i Fn(strncmp)d Fs(function)h(to)i(p)s
+(erform)e(string)h(comparisons.)630 2655 y(The)30 b(default)g(action)i
+(is)f(to)g(use)f Fn(strcmp)p Fs(.)150 2819 y(`)p Fn
+(\045readonly-tables)p Fs(')630 2929 y(Mak)m(es)41 b(the)f(con)m(ten)m
+(ts)h(of)f(all)h(generated)f(lo)s(okup)f(tables)i(constan)m(t,)i(i.e.,)
+h(\\readonly".)630 3039 y(Man)m(y)31 b(compilers)g(can)g(generate)h
+(more)e(e\016cien)m(t)i(co)s(de)f(for)f(this)h(b)m(y)f(putting)g(the)h
+(tables)630 3148 y(in)f(readonly)h(memory)-8 b(.)150
+3313 y(`)p Fn(\045enum)p Fs(')190 b(De\014ne)31 b(constan)m(t)g(v)-5
+b(alues)31 b(using)f(an)g(en)m(um)g(lo)s(cal)i(to)f(the)g(lo)s(okup)f
+(function)g(rather)g(than)630 3422 y(with)37 b(#de\014nes.)60
+b(This)36 b(also)i(means)g(that)f(di\013eren)m(t)h(lo)s(okup)f
+(functions)g(can)g(reside)g(in)630 3532 y(the)31 b(same)f(\014le.)41
+b(Thanks)29 b(to)j(James)e(Clark)g Fn(<jjc@ai.mit.edu>)p
+Fs(.)150 3696 y(`)p Fn(\045includes)p Fs(')630 3806 y(Include)g(the)h
+(necessary)h(system)f(include)g(\014le,)g Fn(<string.h>)p
+Fs(,)e(at)i(the)g(b)s(eginning)g(of)g(the)630 3915 y(co)s(de.)39
+b(By)27 b(default,)g(this)f(is)g(not)g(done;)i(the)e(user)f(m)m(ust)h
+(include)g(this)f(header)h(\014le)g(himself)630 4025
+y(to)31 b(allo)m(w)h(compilation)g(of)e(the)h(co)s(de.)150
+4189 y(`)p Fn(\045global-table)p Fs(')630 4299 y(Generate)38
+b(the)f(static)h(table)f(of)g(k)m(eyw)m(ords)g(as)g(a)g(static)h
+(global)g(v)-5 b(ariable,)39 b(rather)d(than)630 4408
+y(hiding)30 b(it)h(inside)f(of)g(the)h(lo)s(okup)f(function)g(\(whic)m
+(h)g(is)h(the)f(default)h(b)s(eha)m(vior\).)150 4573
+y(`)p Fn(\045pic)p Fs(')238 b(Optimize)42 b(the)f(generated)h(table)g
+(for)f(inclusion)g(in)g(shared)f(libraries.)73 b(This)40
+b(reduces)630 4682 y(the)35 b(startup)g(time)h(of)f(programs)g(using)g
+(a)h(shared)e(library)h(con)m(taining)i(the)e(generated)630
+4792 y(co)s(de.)j(If)21 b(the)h(`)p Fn(\045struct-type)p
+Fs(')d(declaration)24 b(\(or,)g(equiv)-5 b(alen)m(tly)d(,)26
+b(the)c(option)g(`)p Fn(-t)p Fs('\))g(is)g(also)630 4902
+y(giv)m(en,)32 b(the)f(\014rst)e(\014eld)i(of)f(the)h(user-de\014ned)e
(struct)i(m)m(ust)f(b)s(e)g(of)h(t)m(yp)s(e)g(`)p Fn(int)p
-Fs(',)f(not)h(`)p Fn(char)630 4299 y(*)p Fs(',)h(b)s(ecause)f(it)h
-(will)c(con)m(tain)k(o\013sets)h(in)m(to)e(the)h(string)e(p)s(o)s(ol)h
-(instead)f(of)i(actual)g(strings.)630 4408 y(T)-8 b(o)33
-b(con)m(v)m(ert)h(suc)m(h)f(an)f(o\013set)i(to)f(a)g(string,)g(y)m(ou)g
-(can)g(use)f(the)h(expression)e(`)p Fn(stringpool)630
-4518 y(+)f Fo(o)5 b Fs(',)34 b(where)f Fo(o)38 b Fs(is)32
-b(the)h(o\013set.)50 b(The)32 b(string)g(p)s(o)s(ol)g(name)h(can)g(b)s
-(e)g(c)m(hanged)g(through)g(the)630 4628 y(`)p Fn(\045define)c
-(string-pool-name)p Fs(')d(declaration.)150 4792 y(`)p
-Fn(\045define)j(string-pool-name)d Fo(name)5 b Fs(')630
-4902 y(Allo)m(ws)40 b(y)m(ou)h(to)h(sp)s(ecify)e(the)h(name)g(of)g(the)
-g(generated)h(string)e(p)s(o)s(ol)g(created)i(b)m(y)f(the)630
-5011 y(declaration)46 b(`)p Fn(\045pic)p Fs(')g(\(or,)51
-b(equiv)-5 b(alen)m(tly)d(,)50 b(the)d(option)e(`)p Fn(-P)p
-Fs('\).)90 b(The)46 b(default)f(name)i(is)630 5121 y(`)p
-Fn(stringpool)p Fs('.)38 b(This)28 b(declaration)h(p)s(ermits)f(the)i
-(use)g(of)g(t)m(w)m(o)h(hash)e(tables)g(in)g(the)h(same)630
-5230 y(\014le,)38 b(with)d(`)p Fn(\045pic)p Fs(')h(and)g(ev)m(en)h
-(when)f(the)h(`)p Fn(\045global-table)p Fs(')c(declaration)j(\(or,)j
-(equiv)-5 b(a-)630 5340 y(len)m(tly)d(,)30 b(the)h(option)f(`)p
-Fn(-G)p Fs('\))g(is)g(giv)m(en.)p eop
+Fs(',)f(not)h(`)p Fn(char)630 5011 y(*)p Fs(',)h(b)s(ecause)f(it)i
+(will)e(con)m(tain)i(o\013sets)g(in)m(to)f(the)g(string)f(p)s(o)s(ol)h
+(instead)f(of)h(actual)h(strings.)630 5121 y(T)-8 b(o)33
+b(con)m(v)m(ert)h(suc)m(h)f(an)f(o\013set)i(to)f(a)g(string,)h(y)m(ou)f
+(can)g(use)f(the)h(expression)f(`)p Fn(stringpool)630
+5230 y(+)e Fo(o)5 b Fs(',)34 b(where)f Fo(o)38 b Fs(is)33
+b(the)g(o\013set.)50 b(The)32 b(string)h(p)s(o)s(ol)g(name)g(can)g(b)s
+(e)g(c)m(hanged)g(through)g(the)630 5340 y(`)p Fn(\045define)c
+(string-pool-name)p Fs(')d(declaration.)p eop end
%%Page: 15 17
-15 16 bop 150 -116 a Fs(Chapter)30 b(3:)41 b(High-Lev)m(el)30
-b(Description)g(of)g(GNU)h Fn(gperf)1520 b Fs(15)150
-299 y(`)p Fn(\045null-strings)p Fs(')630 408 y(Use)39
-b(NULL)g(strings)e(instead)i(of)f(empt)m(y)i(strings)d(for)i(empt)m(y)g
-(k)m(eyw)m(ord)g(table)g(en)m(tries.)630 518 y(This)e(reduces)h(the)h
-(startup)g(time)f(of)h(programs)g(using)e(a)i(shared)f(library)e(con)m
-(taining)630 628 y(the)29 b(generated)g(co)s(de)g(\(but)f(not)g(as)h(m)
-m(uc)m(h)g(as)f(the)h(declaration)f(`)p Fn(\045pic)p
-Fs('\),)h(at)g(the)f(exp)s(ense)630 737 y(of)j(one)f(more)h
-(test-and-branc)m(h)g(instruction)d(at)j(run)e(time.)150
-913 y(`)p Fn(\045define)g(word-array-name)d Fo(name)5
-b Fs(')630 1022 y(Allo)m(ws)39 b(y)m(ou)h(to)h(sp)s(ecify)e(the)h(name)
-g(for)f(the)i(generated)g(arra)m(y)f(con)m(taining)g(the)g(hash)630
-1132 y(table.)105 b(Default)52 b(name)f(is)g(`)p Fn(wordlist)p
-Fs('.)103 b(This)50 b(option)h(p)s(ermits)f(the)i(use)g(of)g(t)m(w)m(o)
-630 1241 y(hash)37 b(tables)g(in)g(the)h(same)g(\014le,)h(ev)m(en)f
-(when)f(the)h(option)f(`)p Fn(-G)p Fs(')h(\(or,)i(equiv)-5
-b(alen)m(tly)d(,)39 b(the)630 1351 y(`)p Fn(\045global-table)p
-Fs(')27 b(declaration\))k(is)e(giv)m(en.)150 1526 y(`)p
-Fn(\045switch=)p Fo(coun)m(t)r Fs(')630 1636 y(Causes)35
-b(the)h(generated)h(C)e(co)s(de)h(to)h(use)e(a)h Fn(switch)e
-Fs(statemen)m(t)k(sc)m(heme,)g(rather)d(than)630 1746
-y(an)j(arra)m(y)g(lo)s(okup)f(table.)63 b(This)36 b(can)i(lead)g(to)g
-(a)h(reduction)e(in)f(b)s(oth)h(time)h(and)f(space)630
-1855 y(requiremen)m(ts)42 b(for)i(some)f(input)f(\014les.)79
-b(The)43 b(argumen)m(t)h(to)g(this)e(option)h(determines)630
-1965 y(ho)m(w)33 b(man)m(y)f Fn(switch)f Fs(statemen)m(ts)k(are)e
-(generated.)49 b(A)32 b(v)-5 b(alue)33 b(of)f(1)i(generates)g(1)f
-Fn(switch)630 2074 y Fs(con)m(taining)23 b(all)e(the)j(elemen)m(ts,)h
-(a)e(v)-5 b(alue)22 b(of)i(2)f(generates)h(2)g(tables)e(with)g(1/2)i
-(the)g(elemen)m(ts)630 2184 y(in)37 b(eac)m(h)i Fn(switch)p
-Fs(,)g(etc.)65 b(This)36 b(is)h(useful)g(since)g(man)m(y)i(C)e
-(compilers)g(cannot)i(correctly)630 2294 y(generate)29
-b(co)s(de)f(for)f(large)g Fn(switch)f Fs(statemen)m(ts.)41
-b(This)26 b(option)h(w)m(as)h(inspired)c(in)i(part)h(b)m(y)630
-2403 y(Keith)j(Bostic's)h(original)d(C)i(program.)150
-2579 y(`)p Fn(\045omit-struct-type)p Fs(')630 2688 y(Prev)m(en)m(ts)f
-(the)e(transfer)h(of)f(the)h(t)m(yp)s(e)g(declaration)f(to)i(the)f
-(output)f(\014le.)39 b(Use)28 b(this)e(option)630 2798
-y(if)j(the)i(t)m(yp)s(e)f(is)g(already)g(de\014ned)f(elsewhere.)150
-3054 y Fj(3.1.1.3)63 b(C)41 b(Co)s(de)g(Inclusion)275
-3262 y Fs(Using)25 b(a)h(syn)m(tax)h(similar)c(to)k(GNU)f(utilities)e
-Fn(flex)h Fs(and)g Fn(bison)p Fs(,)h(it)f(is)g(p)s(ossible)f(to)i
-(directly)f(include)150 3372 y(C)k(source)h(text)g(and)f(commen)m(ts)h
-(v)m(erbatim)f(in)m(to)h(the)f(generated)i(output)e(\014le.)39
-b(This)28 b(is)g(accomplished)150 3482 y(b)m(y)37 b(enclosing)f(the)i
-(region)f(inside)d(left-justi\014ed)i(surrounding)e(`)p
-Fn(\045{)p Fs(',)39 b(`)p Fn(\045})p Fs(')e(pairs.)60
-b(Here)38 b(is)e(an)h(input)150 3591 y(fragmen)m(t)31
-b(based)f(on)g(the)h(previous)e(example)h(that)h(illustrates)d(this)i
-(feature:)390 3736 y Fn(\045{)390 3840 y(#include)46
-b(<assert.h>)390 3944 y(/*)h(This)g(section)f(of)h(code)f(is)i
-(inserted)d(directly)h(into)g(the)h(output.)f(*/)390
-4047 y(int)h(return_month_days)c(\(struct)j(months)g(*months,)f(int)i
-(is_leap_year\);)390 4151 y(\045})390 4255 y(struct)f(months)g({)i
-(char)e(*name;)g(int)h(number;)f(int)h(days;)f(int)h(leap_days;)e(};)
-390 4359 y(\045\045)390 4462 y(january,)141 b(1,)47 b(31,)g(31)390
-4566 y(february,)93 b(2,)47 b(28,)g(29)390 4670 y(march,)237
-b(3,)47 b(31,)g(31)390 4774 y(...)150 5022 y Fj(3.1.2)63
-b(F)-10 b(ormat)40 b(for)h(Keyw)m(ord)f(En)m(tries)275
-5230 y Fs(The)33 b(second)i(input)d(\014le)i(format)h(section)f(con)m
-(tains)h(lines)d(of)j(k)m(eyw)m(ords)g(and)e(an)m(y)i(asso)s(ciated)g
-(at-)150 5340 y(tributes)i(y)m(ou)i(migh)m(t)f(supply)-8
-b(.)63 b(A)39 b(line)d(b)s(eginning)g(with)h(`)p Fn(#)p
-Fs(')i(in)e(the)i(\014rst)f(column)f(is)g(considered)h(a)p
-eop
+TeXDict begin 15 16 bop 150 -116 a Fs(Chapter)30 b(3:)41
+b(High-Lev)m(el)32 b(Description)g(of)e(GNU)h Fn(gperf)1520
+b Fs(15)150 299 y(`)p Fn(\045define)29 b(string-pool-name)d
+Fo(name)5 b Fs(')630 408 y(Allo)m(ws)42 b(y)m(ou)f(to)h(sp)s(ecify)f
+(the)g(name)g(of)g(the)g(generated)h(string)f(p)s(o)s(ol)g(created)h(b)
+m(y)f(the)630 518 y(declaration)48 b(`)p Fn(\045pic)p
+Fs(')e(\(or,)51 b(equiv)-5 b(alen)m(tly)d(,)53 b(the)47
+b(option)f(`)p Fn(-P)p Fs('\).)90 b(The)46 b(default)g(name)h(is)630
+628 y(`)p Fn(stringpool)p Fs('.)38 b(This)29 b(declaration)i(p)s
+(ermits)e(the)h(use)g(of)g(t)m(w)m(o)h(hash)e(tables)h(in)g(the)g(same)
+630 737 y(\014le,)39 b(with)d(`)p Fn(\045pic)p Fs(')g(and)g(ev)m(en)h
+(when)f(the)h(`)p Fn(\045global-table)p Fs(')c(declaration)38
+b(\(or,)h(equiv)-5 b(a-)630 847 y(len)m(tly)d(,)32 b(the)f(option)g(`)p
+Fn(-G)p Fs('\))f(is)h(giv)m(en.)150 1002 y(`)p Fn(\045null-strings)p
+Fs(')630 1112 y(Use)39 b(NULL)g(strings)f(instead)i(of)e(empt)m(y)i
+(strings)e(for)h(empt)m(y)g(k)m(eyw)m(ord)g(table)h(en)m(tries.)630
+1221 y(This)e(reduces)g(the)h(startup)g(time)g(of)g(programs)g(using)f
+(a)h(shared)f(library)g(con)m(taining)630 1331 y(the)29
+b(generated)g(co)s(de)g(\(but)f(not)g(as)h(m)m(uc)m(h)g(as)f(the)h
+(declaration)h(`)p Fn(\045pic)p Fs('\),)f(at)g(the)f(exp)s(ense)630
+1441 y(of)j(one)f(more)h(test-and-branc)m(h)g(instruction)f(at)h(run)e
+(time.)150 1596 y(`)p Fn(\045define)g(word-array-name)d
+Fo(name)5 b Fs(')630 1706 y(Allo)m(ws)41 b(y)m(ou)f(to)h(sp)s(ecify)f
+(the)g(name)g(for)f(the)i(generated)g(arra)m(y)f(con)m(taining)i(the)e
+(hash)630 1815 y(table.)106 b(Default)53 b(name)e(is)h(`)p
+Fn(wordlist)p Fs('.)103 b(This)51 b(option)h(p)s(ermits)f(the)h(use)g
+(of)g(t)m(w)m(o)630 1925 y(hash)37 b(tables)h(in)g(the)g(same)g
+(\014le,)i(ev)m(en)e(when)f(the)h(option)g(`)p Fn(-G)p
+Fs(')g(\(or,)i(equiv)-5 b(alen)m(tly)d(,)42 b(the)630
+2034 y(`)p Fn(\045global-table)p Fs(')27 b(declaration\))33
+b(is)d(giv)m(en.)150 2190 y(`)p Fn(\045switch=)p Fo(coun)m(t)r
+Fs(')630 2299 y(Causes)35 b(the)h(generated)h(C)e(co)s(de)h(to)h(use)e
+(a)h Fn(switch)e Fs(statemen)m(t)k(sc)m(heme,)g(rather)d(than)630
+2409 y(an)j(arra)m(y)g(lo)s(okup)g(table.)64 b(This)37
+b(can)h(lead)h(to)f(a)h(reduction)f(in)f(b)s(oth)g(time)i(and)e(space)
+630 2518 y(requiremen)m(ts)43 b(for)h(some)f(input)g(\014les.)80
+b(The)43 b(argumen)m(t)h(to)g(this)f(option)h(determines)630
+2628 y(ho)m(w)33 b(man)m(y)f Fn(switch)f Fs(statemen)m(ts)k(are)e
+(generated.)49 b(A)32 b(v)-5 b(alue)34 b(of)e(1)i(generates)g(1)f
+Fn(switch)630 2738 y Fs(con)m(taining)25 b(all)e(the)h(elemen)m(ts,)i
+(a)d(v)-5 b(alue)23 b(of)h(2)f(generates)h(2)g(tables)f(with)g(1/2)h
+(the)g(elemen)m(ts)630 2847 y(in)38 b(eac)m(h)h Fn(switch)p
+Fs(,)g(etc.)65 b(This)37 b(is)h(useful)g(since)g(man)m(y)h(C)e
+(compilers)i(cannot)g(correctly)630 2957 y(generate)29
+b(co)s(de)f(for)f(large)h Fn(switch)e Fs(statemen)m(ts.)41
+b(This)27 b(option)h(w)m(as)g(inspired)e(in)h(part)g(b)m(y)630
+3066 y(Keith)k(Bostic's)h(original)f(C)f(program.)150
+3222 y(`)p Fn(\045omit-struct-type)p Fs(')630 3331 y(Prev)m(en)m(ts)f
+(the)e(transfer)h(of)f(the)h(t)m(yp)s(e)g(declaration)h(to)g(the)f
+(output)f(\014le.)40 b(Use)28 b(this)f(option)630 3441
+y(if)j(the)h(t)m(yp)s(e)f(is)h(already)g(de\014ned)e(elsewhere.)150
+3659 y Fj(3.1.1.3)63 b(C)41 b(Co)s(de)g(Inclusion)275
+3850 y Fs(Using)26 b(a)g(syn)m(tax)h(similar)f(to)h(GNU)f(utilities)i
+Fn(flex)d Fs(and)g Fn(bison)p Fs(,)h(it)g(is)g(p)s(ossible)g(to)g
+(directly)h(include)150 3959 y(C)i(source)h(text)g(and)f(commen)m(ts)h
+(v)m(erbatim)g(in)m(to)h(the)e(generated)i(output)e(\014le.)40
+b(This)29 b(is)g(accomplished)150 4069 y(b)m(y)37 b(enclosing)h(the)g
+(region)g(inside)e(left-justi\014ed)i(surrounding)d(`)p
+Fn(\045{)p Fs(',)k(`)p Fn(\045})p Fs(')e(pairs.)61 b(Here)38
+b(is)f(an)g(input)150 4178 y(fragmen)m(t)31 b(based)f(on)g(the)h
+(previous)f(example)h(that)g(illustrates)g(this)g(feature:)390
+4305 y Fn(\045{)390 4409 y(#include)46 b(<assert.h>)390
+4513 y(/*)h(This)g(section)f(of)h(code)f(is)i(inserted)d(directly)h
+(into)g(the)h(output.)f(*/)390 4616 y(int)h(return_month_days)c
+(\(struct)j(month)g(*months,)g(int)h(is_leap_year\);)390
+4720 y(\045})390 4824 y(struct)f(month)g({)i(char)f(*name;)f(int)h
+(number;)e(int)i(days;)g(int)g(leap_days;)e(};)390 4928
+y(\045\045)390 5032 y(january,)141 b(1,)47 b(31,)g(31)390
+5135 y(february,)93 b(2,)47 b(28,)g(29)390 5239 y(march,)237
+b(3,)47 b(31,)g(31)390 5343 y(...)p eop end
%%Page: 16 18
-16 17 bop 150 -116 a Fs(Chapter)30 b(3:)41 b(High-Lev)m(el)30
-b(Description)g(of)g(GNU)h Fn(gperf)1520 b Fs(16)150
-299 y(commen)m(t.)53 b(Ev)m(erything)33 b(follo)m(wing)f(the)j(`)p
-Fn(#)p Fs(')f(is)f(ignored,)h(up)f(to)i(and)e(including)e(the)j(follo)m
-(wing)e(new-)150 408 y(line.)55 b(A)36 b(line)f(b)s(eginning)e(with)h
-(`)p Fn(\045)p Fs(')i(in)f(the)h(\014rst)f(column)f(is)h(an)h(option)f
-(declaration)h(and)f(m)m(ust)h(not)150 518 y(o)s(ccur)30
-b(within)e(the)j(k)m(eyw)m(ords)f(section.)275 698 y(The)36
-b(\014rst)g(\014eld)f(of)i(eac)m(h)g(non-commen)m(t)h(line)d(is)h(alw)m
-(a)m(ys)h(the)g(k)m(eyw)m(ord)g(itself.)58 b(It)37 b(can)g(b)s(e)f(giv)
-m(en)150 807 y(in)e(t)m(w)m(o)i(w)m(a)m(ys:)51 b(as)35
-b(a)g(simple)e(name,)k(i.e.,)f(without)e(surrounding)e(string)i
-(quotation)h(marks,)h(or)f(as)h(a)150 917 y(string)h(enclosed)g(in)f
-(double-quotes,)j(in)d(C)i(syn)m(tax,)i(p)s(ossibly)35
-b(with)h(bac)m(kslash)h(escap)s(es)h(lik)m(e)f Fn(\\")g
-Fs(or)150 1027 y Fn(\\234)23 b Fs(or)i Fn(\\xa8)p Fs(.)37
-b(In)24 b(either)g(case,)j(it)d(m)m(ust)g(start)h(righ)m(t)f(at)h(the)g
-(b)s(eginning)c(of)k(the)g(line,)f(without)f(leading)150
-1136 y(whitespace.)57 b(In)35 b(this)g(con)m(text,)k(a)e(\\\014eld")e
-(is)g(considered)g(to)h(extend)g(up)f(to,)j(but)d(not)h(include,)g(the)
-150 1246 y(\014rst)i(blank,)h(comma,)j(or)c(newline.)63
-b(Here)39 b(is)e(a)i(simple)e(example)h(tak)m(en)h(from)f(a)h(partial)f
-(list)f(of)h(C)150 1355 y(reserv)m(ed)31 b(w)m(ords:)390
-1529 y Fn(#)47 b(These)g(are)g(a)g(few)g(C)h(reserved)d(words,)h(see)h
-(the)g(c.gperf)f(file)390 1633 y(#)h(for)g(a)h(complete)d(list)i(of)g
-(ANSI)g(C)g(reserved)f(words.)390 1737 y(unsigned)390
-1841 y(sizeof)390 1944 y(switch)390 2048 y(signed)390
-2152 y(if)390 2256 y(default)390 2360 y(for)390 2463
-y(while)390 2567 y(return)275 2740 y Fs(Note)38 b(that)f(unlik)m(e)e
-Fn(flex)h Fs(or)h Fn(bison)e Fs(the)j(\014rst)e(`)p Fn(\045\045)p
-Fs(')g(mark)m(er)i(ma)m(y)f(b)s(e)f(elided)f(if)h(the)h(declaration)150
-2849 y(section)31 b(is)e(empt)m(y)-8 b(.)275 3029 y(Additional)26
-b(\014elds)h(ma)m(y)i(optionally)e(follo)m(w)h(the)h(leading)e(k)m(eyw)
-m(ord.)41 b(Fields)27 b(should)f(b)s(e)i(separated)150
-3139 y(b)m(y)g(commas,)i(and)d(terminate)i(at)g(the)f(end)g(of)g(line.)
-39 b(What)29 b(these)f(\014elds)f(mean)h(is)g(en)m(tirely)f(up)g(to)i
-(y)m(ou;)150 3248 y(they)k(are)h(used)e(to)i(initialize)c(the)k(elemen)
-m(ts)f(of)g(the)h(user-de\014ned)d Fn(struct)h Fs(pro)m(vided)f(b)m(y)i
-(y)m(ou)h(in)e(the)150 3358 y(declaration)38 b(section.)66
-b(If)39 b(the)g(`)p Fn(-t)p Fs(')f(option)g(\(or,)k(equiv)-5
-b(alen)m(tly)d(,)40 b(the)f(`)p Fn(\045struct-type)p
-Fs(')d(declaration\))150 3468 y(is)f Fl(not)45 b Fs(enabled)35
-b(these)h(\014elds)f(are)h(simply)d(ignored.)57 b(All)34
-b(previous)h(examples)g(except)i(the)f(last)g(one)150
-3577 y(con)m(tain)31 b(k)m(eyw)m(ord)g(attributes.)150
-3892 y Fj(3.1.3)63 b(Including)41 b(Additional)g(C)g(F)-10
-b(unctions)275 4130 y Fs(The)30 b(optional)g(third)f(section)i(also)g
-(corresp)s(onds)e(closely)h(with)g(con)m(v)m(en)m(tions)i(found)d(in)h
-Fn(flex)g Fs(and)150 4239 y Fn(bison)p Fs(.)36 b(All)21
-b(text)i(in)e(this)f(section,)k(starting)e(at)h(the)f(\014nal)e(`)p
-Fn(\045\045)p Fs(')i(and)f(extending)h(to)g(the)g(end)g(of)g(the)g
-(input)150 4349 y(\014le,)30 b(is)g(included)f(v)m(erbatim)h(in)m(to)h
-(the)g(generated)h(output)f(\014le.)41 b(Naturally)-8
-b(,)31 b(it)f(is)g(y)m(our)h(resp)s(onsibilit)m(y)150
-4459 y(to)g(ensure)f(that)h(the)f(co)s(de)h(con)m(tained)f(in)g(this)f
-(section)h(is)g(v)-5 b(alid)28 b(C.)150 4773 y Fj(3.1.4)63
-b(Where)41 b(to)g(place)f(directiv)m(es)g(for)h(GNU)h
+TeXDict begin 16 17 bop 150 -116 a Fs(Chapter)30 b(3:)41
+b(High-Lev)m(el)32 b(Description)g(of)e(GNU)h Fn(gperf)1520
+b Fs(16)150 299 y Fj(3.1.2)63 b(F)-10 b(ormat)41 b(for)h(Keyw)m(ord)e
+(En)m(tries)275 495 y Fs(The)33 b(second)i(input)e(\014le)i(format)g
+(section)g(con)m(tains)h(lines)e(of)h(k)m(eyw)m(ords)g(and)e(an)m(y)i
+(asso)s(ciated)h(at-)150 605 y(tributes)i(y)m(ou)h(migh)m(t)g(supply)-8
+b(.)64 b(A)39 b(line)f(b)s(eginning)g(with)g(`)p Fn(#)p
+Fs(')h(in)f(the)h(\014rst)f(column)g(is)g(considered)h(a)150
+714 y(commen)m(t.)53 b(Ev)m(erything)34 b(follo)m(wing)h(the)g(`)p
+Fn(#)p Fs(')f(is)g(ignored,)h(up)e(to)i(and)e(including)h(the)g(follo)m
+(wing)h(new-)150 824 y(line.)57 b(A)36 b(line)h(b)s(eginning)e(with)g
+(`)p Fn(\045)p Fs(')h(in)g(the)g(\014rst)f(column)g(is)h(an)g(option)g
+(declaration)i(and)d(m)m(ust)h(not)150 934 y(o)s(ccur)30
+b(within)g(the)h(k)m(eyw)m(ords)f(section.)275 1072 y(The)36
+b(\014rst)g(\014eld)g(of)h(eac)m(h)g(non-commen)m(t)h(line)f(is)g(alw)m
+(a)m(ys)h(the)f(k)m(eyw)m(ord)g(itself.)60 b(It)37 b(can)g(b)s(e)f(giv)
+m(en)150 1181 y(in)f(t)m(w)m(o)h(w)m(a)m(ys:)51 b(as)35
+b(a)g(simple)g(name,)i(i.e.,)g(without)e(surrounding)e(string)i
+(quotation)h(marks,)g(or)f(as)h(a)150 1291 y(string)i(enclosed)g(in)f
+(double-quotes,)j(in)d(C)h(syn)m(tax,)i(p)s(ossibly)d(with)g(bac)m
+(kslash)h(escap)s(es)g(lik)m(e)h Fn(\\")e Fs(or)150 1401
+y Fn(\\234)23 b Fs(or)i Fn(\\xa8)p Fs(.)37 b(In)24 b(either)h(case,)i
+(it)e(m)m(ust)f(start)h(righ)m(t)g(at)g(the)g(b)s(eginning)e(of)i(the)g
+(line,)h(without)e(leading)150 1510 y(whitespace.)58
+b(In)35 b(this)h(con)m(text,)j(a)e(\\\014eld")f(is)g(considered)g(to)g
+(extend)g(up)f(to,)j(but)d(not)h(include,)i(the)150 1620
+y(\014rst)g(blank,)i(comma,)i(or)c(newline.)65 b(Here)39
+b(is)f(a)h(simple)g(example)g(tak)m(en)g(from)f(a)h(partial)h(list)f
+(of)f(C)150 1729 y(reserv)m(ed)31 b(w)m(ords:)390 1862
+y Fn(#)47 b(These)g(are)g(a)g(few)g(C)h(reserved)d(words,)h(see)h(the)g
+(c.gperf)f(file)390 1966 y(#)h(for)g(a)h(complete)d(list)i(of)g(ANSI)g
+(C)g(reserved)f(words.)390 2069 y(unsigned)390 2173 y(sizeof)390
+2277 y(switch)390 2381 y(signed)390 2484 y(if)390 2588
+y(default)390 2692 y(for)390 2796 y(while)390 2900 y(return)275
+3031 y Fs(Note)38 b(that)f(unlik)m(e)g Fn(flex)f Fs(or)h
+Fn(bison)e Fs(the)j(\014rst)e(`)p Fn(\045\045)p Fs(')g(mark)m(er)i(ma)m
+(y)f(b)s(e)f(elided)h(if)g(the)g(declaration)150 3140
+y(section)32 b(is)e(empt)m(y)-8 b(.)275 3279 y(Additional)29
+b(\014elds)f(ma)m(y)h(optionally)h(follo)m(w)g(the)f(leading)g(k)m(eyw)
+m(ord.)41 b(Fields)29 b(should)e(b)s(e)h(separated)150
+3388 y(b)m(y)g(commas,)i(and)d(terminate)j(at)f(the)f(end)g(of)g(line.)
+41 b(What)29 b(these)f(\014elds)g(mean)g(is)h(en)m(tirely)g(up)e(to)i
+(y)m(ou;)150 3498 y(they)k(are)h(used)e(to)i(initialize)h(the)f(elemen)
+m(ts)g(of)f(the)h(user-de\014ned)d Fn(struct)h Fs(pro)m(vided)g(b)m(y)h
+(y)m(ou)h(in)f(the)150 3607 y(declaration)40 b(section.)67
+b(If)39 b(the)g(`)p Fn(-t)p Fs(')f(option)h(\(or,)j(equiv)-5
+b(alen)m(tly)d(,)43 b(the)c(`)p Fn(\045struct-type)p
+Fs(')d(declaration\))150 3717 y(is)g Fl(not)45 b Fs(enabled)36
+b(these)g(\014elds)g(are)g(simply)f(ignored.)58 b(All)36
+b(previous)g(examples)g(except)h(the)f(last)h(one)150
+3826 y(con)m(tain)32 b(k)m(eyw)m(ord)f(attributes.)150
+4058 y Fj(3.1.3)63 b(Including)41 b(Additional)g(C)g(F)-10
+b(unctions)275 4254 y Fs(The)30 b(optional)i(third)e(section)i(also)g
+(corresp)s(onds)d(closely)j(with)f(con)m(v)m(en)m(tions)i(found)c(in)i
+Fn(flex)f Fs(and)150 4364 y Fn(bison)p Fs(.)36 b(All)23
+b(text)g(in)f(this)f(section,)k(starting)e(at)g(the)f(\014nal)f(`)p
+Fn(\045\045)p Fs(')h(and)f(extending)i(to)f(the)g(end)g(of)g(the)g
+(input)150 4474 y(\014le,)31 b(is)g(included)g(v)m(erbatim)g(in)m(to)h
+(the)f(generated)h(output)f(\014le.)42 b(Naturally)-8
+b(,)33 b(it)e(is)g(y)m(our)g(resp)s(onsibilit)m(y)150
+4583 y(to)g(ensure)f(that)h(the)f(co)s(de)h(con)m(tained)g(in)g(this)f
+(section)h(is)g(v)-5 b(alid)30 b(C.)150 4815 y Fj(3.1.4)63
+b(Where)41 b(to)g(place)f(directiv)m(es)g(for)i(GNU)g
Fi(indent)p Fj(.)275 5011 y Fs(If)26 b(y)m(ou)i(w)m(an)m(t)g(to)g(in)m
-(v)m(ok)m(e)g(GNU)g Fn(indent)e Fs(on)h(a)g Fn(gperf)f
-Fs(input)g(\014le,)h(y)m(ou)g(will)e(see)j(that)g(GNU)g
+(v)m(ok)m(e)h(GNU)f Fn(indent)e Fs(on)h(a)g Fn(gperf)f
+Fs(input)h(\014le,)h(y)m(ou)f(will)h(see)g(that)g(GNU)g
Fn(indent)150 5121 y Fs(do)s(esn't)33 b(understand)e(the)i(`)p
Fn(\045\045)p Fs(',)h(`)p Fn(\045{)p Fs(')e(and)h(`)p
-Fn(\045})p Fs(')g(directiv)m(es)f(that)h(con)m(trol)h
-Fn(gperf)p Fs('s)d(in)m(terpretation)i(of)150 5230 y(the)23
-b(input)e(\014le.)37 b(Therefore)23 b(y)m(ou)g(ha)m(v)m(e)h(to)g
-(insert)e(some)h(directiv)m(es)f(for)h(GNU)h Fn(indent)p
-Fs(.)36 b(More)24 b(precisely)-8 b(,)150 5340 y(assuming)29
-b(the)i(most)f(general)h(input)d(\014le)i(structure)p
-eop
+Fn(\045})p Fs(')g(directiv)m(es)h(that)f(con)m(trol)i
+Fn(gperf)p Fs('s)c(in)m(terpretation)k(of)150 5230 y(the)23
+b(input)f(\014le.)38 b(Therefore)23 b(y)m(ou)g(ha)m(v)m(e)h(to)g
+(insert)f(some)g(directiv)m(es)h(for)f(GNU)h Fn(indent)p
+Fs(.)36 b(More)24 b(precisely)-8 b(,)150 5340 y(assuming)30
+b(the)h(most)f(general)i(input)d(\014le)i(structure)p
+eop end
%%Page: 17 19
-17 18 bop 150 -116 a Fs(Chapter)30 b(3:)41 b(High-Lev)m(el)30
-b(Description)g(of)g(GNU)h Fn(gperf)1520 b Fs(17)390
-299 y Fn(declarations)44 b(part)j(1)390 403 y(\045{)390
-506 y(verbatim)f(code)390 610 y(\045})390 714 y(declarations)e(part)j
-(2)390 818 y(\045\045)390 922 y(keywords)390 1025 y(\045\045)390
-1129 y(functions)150 1263 y Fs(y)m(ou)31 b(w)m(ould)e(insert)g(`)p
-Fn(*INDENT-OFF*)p Fs(')f(and)h(`)p Fn(*INDENT-ON*)p Fs(')f(commen)m(ts)
-k(as)e(follo)m(ws:)390 1397 y Fn(/*)47 b(*INDENT-OFF*)e(*/)390
-1501 y(declarations)f(part)j(1)390 1605 y(\045{)390 1709
-y(/*)g(*INDENT-ON*)e(*/)390 1812 y(verbatim)h(code)390
-1916 y(/*)h(*INDENT-OFF*)e(*/)390 2020 y(\045})390 2124
-y(declarations)f(part)j(2)390 2227 y(\045\045)390 2331
-y(keywords)390 2435 y(\045\045)390 2539 y(/*)g(*INDENT-ON*)e(*/)390
-2643 y(functions)150 2906 y Fr(3.2)68 b(Output)45 b(F)-11
-b(ormat)45 b(for)g(Generated)h(C)f(Co)t(de)g(with)g Fk(gperf)275
-3105 y Fs(Sev)m(eral)27 b(options)g(con)m(trol)h(ho)m(w)f(the)h
-(generated)h(C)e(co)s(de)h(app)s(ears)e(on)i(the)g(standard)e(output.)
-40 b(Tw)m(o)150 3215 y(C)22 b(function)f(are)h(generated.)39
-b(They)22 b(are)h(called)e Fn(hash)g Fs(and)h Fn(in_word_set)p
-Fs(,)f(although)g(y)m(ou)i(ma)m(y)g(mo)s(dify)150 3324
-y(their)31 b(names)h(with)f(a)h(command-line)f(option.)45
-b(Both)33 b(functions)e(require)g(t)m(w)m(o)i(argumen)m(ts,)g(a)g
-(string,)150 3434 y Fn(char)c(*)43 b Fo(str)p Fs(,)j(and)d(a)g(length)g
-(parameter,)k Fn(int)42 b Fo(len)p Fs(.)78 b(Their)42
-b(default)g(function)g(protot)m(yp)s(es)h(are)h(as)150
-3543 y(follo)m(ws:)3525 3796 y(F)-8 b(unction)-3725 b
+TeXDict begin 17 18 bop 150 -116 a Fs(Chapter)30 b(3:)41
+b(High-Lev)m(el)32 b(Description)g(of)e(GNU)h Fn(gperf)1520
+b Fs(17)390 299 y Fn(declarations)44 b(part)j(1)390 403
+y(\045{)390 506 y(verbatim)f(code)390 610 y(\045})390
+714 y(declarations)e(part)j(2)390 818 y(\045\045)390
+922 y(keywords)390 1025 y(\045\045)390 1129 y(functions)150
+1263 y Fs(y)m(ou)31 b(w)m(ould)f(insert)g(`)p Fn(*INDENT-OFF*)p
+Fs(')e(and)h(`)p Fn(*INDENT-ON*)p Fs(')f(commen)m(ts)k(as)e(follo)m
+(ws:)390 1397 y Fn(/*)47 b(*INDENT-OFF*)e(*/)390 1501
+y(declarations)f(part)j(1)390 1605 y(\045{)390 1709 y(/*)g(*INDENT-ON*)
+e(*/)390 1812 y(verbatim)h(code)390 1916 y(/*)h(*INDENT-OFF*)e(*/)390
+2020 y(\045})390 2124 y(declarations)f(part)j(2)390 2227
+y(\045\045)390 2331 y(keywords)390 2435 y(\045\045)390
+2539 y(/*)g(*INDENT-ON*)e(*/)390 2643 y(functions)150
+2906 y Fr(3.2)68 b(Output)45 b(F)-11 b(ormat)45 b(for)g(Generated)h(C)f
+(Co)t(de)g(with)g Fk(gperf)275 3105 y Fs(Sev)m(eral)28
+b(options)g(con)m(trol)h(ho)m(w)e(the)h(generated)h(C)e(co)s(de)h(app)s
+(ears)e(on)i(the)g(standard)e(output.)40 b(Tw)m(o)150
+3215 y(C)22 b(function)g(are)g(generated.)39 b(They)22
+b(are)h(called)g Fn(hash)e Fs(and)h Fn(in_word_set)p
+Fs(,)f(although)h(y)m(ou)h(ma)m(y)g(mo)s(dify)150 3324
+y(their)32 b(names)g(with)g(a)g(command-line)h(option.)46
+b(Both)33 b(functions)f(require)g(t)m(w)m(o)h(argumen)m(ts,)g(a)g
+(string,)150 3434 y Fn(char)c(*)43 b Fo(str)p Fs(,)j(and)d(a)g(length)h
+(parameter,)j Fn(int)42 b Fo(len)p Fs(.)79 b(Their)43
+b(default)g(function)g(protot)m(yp)s(es)g(are)h(as)150
+3543 y(follo)m(ws:)3525 3796 y(F)-8 b(unction)-3724 b
Fh(unsigned)41 b(int)e Fg(hash)44 b Ff(\()p Fn(const)30
b(char)f(*)h Fo(str)p Fn(,)g(unsigned)e(int)h Fo(len)p
-Ff(\))390 3905 y Fs(By)35 b(default,)g(the)f(generated)i
-Fn(hash)d Fs(function)g(returns)g(an)i(in)m(teger)g(v)-5
-b(alue)33 b(created)j(b)m(y)e(adding)390 4015 y Fo(len)27
-b Fs(to)h(sev)m(eral)g(user-sp)s(eci\014ed)d Fo(str)34
-b Fs(b)m(yte)28 b(p)s(ositions)e(indexed)g(in)m(to)h(an)g
-Fo(asso)s(ciated)h(v)-5 b(alues)31 b Fs(table)390 4124
-y(stored)d(in)f(a)h(lo)s(cal)g(static)g(arra)m(y)-8 b(.)41
-b(The)28 b(asso)s(ciated)g(v)-5 b(alues)28 b(table)g(is)f(constructed)h
-(in)m(ternally)e(b)m(y)390 4234 y Fn(gperf)34 b Fs(and)g(later)h
-(output)f(as)i(a)f(static)h(lo)s(cal)e(C)g(arra)m(y)i(called)e(`)p
+Ff(\))390 3905 y Fs(By)35 b(default,)h(the)e(generated)i
+Fn(hash)d Fs(function)h(returns)f(an)i(in)m(teger)h(v)-5
+b(alue)34 b(created)i(b)m(y)e(adding)390 4015 y Fo(len)28
+b Fs(to)g(sev)m(eral)h(user-sp)s(eci\014ed)d Fo(str)34
+b Fs(b)m(yte)28 b(p)s(ositions)g(indexed)f(in)m(to)h(an)f
+Fo(asso)s(ciated)i(v)-5 b(alues)32 b Fs(table)390 4124
+y(stored)c(in)g(a)g(lo)s(cal)i(static)f(arra)m(y)-8 b(.)41
+b(The)28 b(asso)s(ciated)h(v)-5 b(alues)29 b(table)g(is)f(constructed)g
+(in)m(ternally)h(b)m(y)390 4234 y Fn(gperf)34 b Fs(and)g(later)i
+(output)e(as)i(a)f(static)i(lo)s(cal)f(C)e(arra)m(y)i(called)g(`)p
Fn(hash_table)p Fs('.)52 b(The)35 b(relev)-5 b(an)m(t)390
-4344 y(selected)27 b(p)s(ositions)e(\(i.e.)40 b(indices)25
-b(in)m(to)i Fo(str)7 b Fs(\))26 b(are)h(sp)s(eci\014ed)e(via)i(the)g(`)
-p Fn(-k)p Fs(')g(option)f(when)g(running)390 4453 y Fn(gperf)p
-Fs(,)j(as)i(detailed)e(in)g(the)i Fl(Options)39 b Fs(section)30
-b(b)s(elo)m(w)g(\(see)h(Chapter)f(4)h([Options],)e(page)i(19\).)3525
-4705 y(F)-8 b(unction)-3725 b Fg(in)p 253 4705 35 5 v
+4344 y(selected)28 b(p)s(ositions)f(\(i.e.)41 b(indices)27
+b(in)m(to)h Fo(str)7 b Fs(\))26 b(are)h(sp)s(eci\014ed)f(via)i(the)f(`)
+p Fn(-k)p Fs(')g(option)g(when)f(running)390 4453 y Fn(gperf)p
+Fs(,)j(as)i(detailed)g(in)f(the)h Fl(Options)39 b Fs(section)31
+b(b)s(elo)m(w)g(\(see)g(Chapter)f(4)h([Options],)f(page)h(19\).)3525
+4705 y(F)-8 b(unction)-3724 b Fg(in)p 253 4705 35 5 v
41 w(w)m(ord)p 542 4705 V 41 w(set)44 b Ff(\()p Fn(const)30
b(char)f(*)h Fo(str)p Fn(,)g(unsigned)e(int)h Fo(len)p
-Ff(\))390 4815 y Fs(If)k Fo(str)41 b Fs(is)32 b(in)h(the)h(k)m(eyw)m
-(ord)g(set,)i(returns)c(a)j(p)s(oin)m(ter)e(to)h(that)h(k)m(eyw)m(ord.)
-51 b(More)35 b(exactly)-8 b(,)36 b(if)d(the)390 4924
-y(option)d(`)p Fn(-t)p Fs(')h(\(or,)g(equiv)-5 b(alen)m(tly)d(,)30
-b(the)h(`)p Fn(\045struct-type)p Fs(')d(declaration\))i(w)m(as)h(giv)m
-(en,)g(it)f(returns)g(a)390 5034 y(p)s(oin)m(ter)f(to)i(the)g(matc)m
-(hing)g(k)m(eyw)m(ord's)f(structure.)41 b(Otherwise)29
-b(it)h(returns)f Fn(NULL)p Fs(.)275 5230 y(If)39 b(the)i(option)e(`)p
-Fn(-c)p Fs(')h(\(or,)j(equiv)-5 b(alen)m(tly)d(,)42 b(the)f(`)p
-Fn(\045compare-strncmp)p Fs(')36 b(declaration\))k(is)f(not)h(used,)150
-5340 y Fo(str)k Fs(m)m(ust)37 b(b)s(e)f(a)i(NUL)f(terminated)g(string)f
-(of)i(exactly)g(length)e Fo(len)p Fs(.)61 b(If)37 b(`)p
-Fn(-c)p Fs(')g(\(or,)i(equiv)-5 b(alen)m(tly)d(,)39 b(the)p
-eop
+Ff(\))390 4815 y Fs(If)k Fo(str)41 b Fs(is)33 b(in)h(the)g(k)m(eyw)m
+(ord)g(set,)i(returns)c(a)j(p)s(oin)m(ter)f(to)g(that)h(k)m(eyw)m(ord.)
+51 b(More)35 b(exactly)-8 b(,)37 b(if)d(the)390 4924
+y(option)d(`)p Fn(-t)p Fs(')g(\(or,)g(equiv)-5 b(alen)m(tly)d(,)33
+b(the)e(`)p Fn(\045struct-type)p Fs(')d(declaration\))k(w)m(as)f(giv)m
+(en,)h(it)f(returns)f(a)390 5034 y(p)s(oin)m(ter)g(to)h(the)g(matc)m
+(hing)h(k)m(eyw)m(ord's)e(structure.)41 b(Otherwise)30
+b(it)h(returns)e Fn(NULL)p Fs(.)275 5230 y(If)39 b(the)i(option)f(`)p
+Fn(-c)p Fs(')g(\(or,)j(equiv)-5 b(alen)m(tly)d(,)45 b(the)c(`)p
+Fn(\045compare-strncmp)p Fs(')36 b(declaration\))42 b(is)e(not)g(used,)
+150 5340 y Fo(str)k Fs(m)m(ust)37 b(b)s(e)f(a)i(NUL)f(terminated)h
+(string)f(of)h(exactly)h(length)e Fo(len)p Fs(.)62 b(If)37
+b(`)p Fn(-c)p Fs(')g(\(or,)i(equiv)-5 b(alen)m(tly)d(,)42
+b(the)p eop end
%%Page: 18 20
-18 19 bop 150 -116 a Fs(Chapter)30 b(3:)41 b(High-Lev)m(el)30
-b(Description)g(of)g(GNU)h Fn(gperf)1520 b Fs(18)150
-299 y(`)p Fn(\045compare-strncmp)p Fs(')22 b(declaration\))k(is)f
-(used,)h Fo(str)32 b Fs(m)m(ust)26 b(simply)e(b)s(e)h(an)h(arra)m(y)g
-(of)g Fo(len)f Fs(b)m(ytes)i(and)e(do)s(es)150 408 y(not)31
-b(need)f(to)h(b)s(e)f(NUL)g(terminated.)275 543 y(The)f(co)s(de)i
-(generated)g(for)g(these)f(t)m(w)m(o)i(functions)d(is)g(a\013ected)j(b)
-m(y)f(the)f(follo)m(wing)f(options:)150 702 y(`)p Fn(-t)p
-Fs(')150 812 y(`)p Fn(--struct-type)p Fs(')630 922 y(Mak)m(e)j(use)e
-(of)h(the)f(user-de\014ned)f Fn(struct)p Fs(.)150 1081
-y(`)p Fn(-S)h Fo(total-switc)m(h-statemen)m(ts)t Fs(')150
-1191 y(`)p Fn(--switch=)p Fo(total-switc)m(h-statemen)m(ts)t
-Fs(')630 1300 y(Generate)22 b(1)f(or)g(more)g(C)f Fn(switch)f
-Fs(statemen)m(t)j(rather)f(than)f(use)h(a)g(large,)i(\(and)d(p)s(oten)m
-(tially)630 1410 y(sparse\))j(static)g(arra)m(y)-8 b(.)40
-b(Although)22 b(the)h(exact)h(time)f(and)f(space)i(sa)m(vings)f(of)g
-(this)f(approac)m(h)630 1519 y(v)-5 b(ary)32 b(according)f(to)i(y)m
-(our)e(C)g(compiler's)g(degree)h(of)g(optimization,)f(this)f(metho)s(d)
-i(often)630 1629 y(results)d(in)g(smaller)g(and)h(faster)h(co)s(de.)275
-1788 y(If)c(the)h(`)p Fn(-t)p Fs(')g(and)f(`)p Fn(-S)p
-Fs(')g(options)h(\(or,)g(equiv)-5 b(alen)m(tly)d(,)28
-b(the)g(`)p Fn(\045struct-type)p Fs(')d(and)i(`)p Fn(\045switch)p
-Fs(')g(declara-)150 1898 y(tions\))e(are)g(omitted,)h(the)f(default)f
-(action)h(is)f(to)i(generate)g(a)g Fn(char)j(*)24 b Fs(arra)m(y)i(con)m
-(taining)e(the)h(k)m(eyw)m(ords,)150 2007 y(together)32
-b(with)d(additional)g(empt)m(y)i(strings)e(used)h(for)g(padding)f(the)h
-(arra)m(y)-8 b(.)43 b(By)30 b(exp)s(erimen)m(ting)f(with)150
-2117 y(the)i(v)-5 b(arious)31 b(input)e(and)h(output)h(options,)g(and)g
-(timing)e(the)j(resulting)d(C)i(co)s(de,)h(y)m(ou)f(can)h(determine)150
-2227 y(the)f(b)s(est)f(option)f(c)m(hoices)i(for)g(di\013eren)m(t)e(k)m
-(eyw)m(ord)i(set)g(c)m(haracteristics.)150 2484 y Fr(3.3)68
-b(Use)46 b(of)f(NUL)g(b)l(ytes)275 2677 y Fs(By)30 b(default,)g(the)g
+TeXDict begin 18 19 bop 150 -116 a Fs(Chapter)30 b(3:)41
+b(High-Lev)m(el)32 b(Description)g(of)e(GNU)h Fn(gperf)1520
+b Fs(18)150 299 y(`)p Fn(\045compare-strncmp)p Fs(')22
+b(declaration\))28 b(is)e(used,)g Fo(str)32 b Fs(m)m(ust)26
+b(simply)g(b)s(e)f(an)h(arra)m(y)g(of)g Fo(len)g Fs(b)m(ytes)h(and)e
+(do)s(es)150 408 y(not)31 b(need)f(to)h(b)s(e)f(NUL)g(terminated.)275
+543 y(The)f(co)s(de)i(generated)g(for)g(these)f(t)m(w)m(o)i(functions)e
+(is)g(a\013ected)i(b)m(y)f(the)f(follo)m(wing)i(options:)150
+702 y(`)p Fn(-t)p Fs(')150 812 y(`)p Fn(--struct-type)p
+Fs(')630 922 y(Mak)m(e)g(use)e(of)h(the)f(user-de\014ned)f
+Fn(struct)p Fs(.)150 1081 y(`)p Fn(-S)h Fo(total-switc)m(h-statemen)m
+(ts)t Fs(')150 1191 y(`)p Fn(--switch=)p Fo(total-switc)m(h-statemen)m
+(ts)t Fs(')630 1300 y(Generate)22 b(1)f(or)g(more)g(C)f
+Fn(switch)f Fs(statemen)m(t)j(rather)f(than)f(use)h(a)g(large,)j(\(and)
+c(p)s(oten)m(tially)630 1410 y(sparse\))j(static)h(arra)m(y)-8
+b(.)40 b(Although)23 b(the)g(exact)h(time)g(and)e(space)i(sa)m(vings)g
+(of)f(this)g(approac)m(h)630 1519 y(v)-5 b(ary)32 b(according)g(to)h(y)
+m(our)e(C)g(compiler's)i(degree)f(of)g(optimization,)i(this)d(metho)s
+(d)h(often)630 1629 y(results)e(in)g(smaller)h(and)f(faster)h(co)s(de.)
+275 1788 y(If)c(the)h(`)p Fn(-t)p Fs(')g(and)f(`)p Fn(-S)p
+Fs(')g(options)i(\(or,)f(equiv)-5 b(alen)m(tly)d(,)31
+b(the)d(`)p Fn(\045struct-type)p Fs(')d(and)i(`)p Fn(\045switch)p
+Fs(')g(declara-)150 1898 y(tions\))f(are)f(omitted,)i(the)e(default)g
+(action)h(is)f(to)h(generate)g(a)g Fn(char)j(*)24 b Fs(arra)m(y)i(con)m
+(taining)g(the)f(k)m(eyw)m(ords,)150 2007 y(together)32
+b(with)e(additional)i(empt)m(y)f(strings)f(used)g(for)g(padding)g(the)g
+(arra)m(y)-8 b(.)43 b(By)30 b(exp)s(erimen)m(ting)h(with)150
+2117 y(the)g(v)-5 b(arious)32 b(input)e(and)g(output)h(options,)h(and)f
+(timing)g(the)h(resulting)f(C)g(co)s(de,)h(y)m(ou)f(can)h(determine)150
+2227 y(the)f(b)s(est)f(option)g(c)m(hoices)i(for)f(di\013eren)m(t)f(k)m
+(eyw)m(ord)h(set)g(c)m(haracteristics.)150 2484 y Fr(3.3)68
+b(Use)46 b(of)f(NUL)g(b)l(ytes)275 2677 y Fs(By)30 b(default,)h(the)f
(co)s(de)g(generated)i(b)m(y)e Fn(gperf)e Fs(op)s(erates)j(on)f(zero)h
-(terminated)f(strings,)f(the)h(usual)150 2786 y(represen)m(tation)40
-b(of)f(strings)g(in)f(C.)i(This)d(means)j(that)g(the)g(k)m(eyw)m(ords)g
-(in)e(the)i(input)e(\014le)g(m)m(ust)i(not)150 2896 y(con)m(tain)c(NUL)
-g(b)m(ytes,)i(and)e(the)g Fo(str)42 b Fs(argumen)m(t)36
+(terminated)g(strings,)f(the)g(usual)150 2786 y(represen)m(tation)41
+b(of)e(strings)h(in)f(C.)h(This)e(means)i(that)g(the)g(k)m(eyw)m(ords)g
+(in)f(the)h(input)f(\014le)g(m)m(ust)h(not)150 2896 y(con)m(tain)d(NUL)
+f(b)m(ytes,)i(and)e(the)g Fo(str)42 b Fs(argumen)m(t)36
b(passed)g(to)g Fn(hash)f Fs(or)h Fn(in_word_set)d Fs(m)m(ust)j(b)s(e)f
-(NUL)150 3005 y(terminated)30 b(and)g(ha)m(v)m(e)h(exactly)g(length)f
-Fo(len)p Fs(.)275 3140 y(If)35 b(option)h(`)p Fn(-c)p
-Fs(')g(\(or,)i(equiv)-5 b(alen)m(tly)d(,)37 b(the)f(`)p
-Fn(\045compare-strncmp)p Fs(')c(declaration\))k(is)f(used,)i(then)f
-(the)150 3249 y Fo(str)e Fs(argumen)m(t)29 b(do)s(es)e(not)h(need)g(to)
-h(b)s(e)e(NUL)h(terminated.)40 b(The)27 b(co)s(de)h(generated)h(b)m(y)f
-Fn(gperf)f Fs(will)e(only)150 3359 y(access)k(the)f(\014rst)g
-Fo(len)p Fs(,)f(not)i Fo(len)p Fn(+)p Fo(1)p Fs(,)e(b)m(ytes)i
-(starting)f(at)g Fo(str)p Fs(.)40 b(Ho)m(w)m(ev)m(er,)31
-b(the)d(k)m(eyw)m(ords)g(in)f(the)h(input)e(\014le)150
-3469 y(still)i(m)m(ust)j(not)f(con)m(tain)h(NUL)f(b)m(ytes.)275
-3603 y(If)35 b(option)h(`)p Fn(-l)p Fs(')g(\(or,)i(equiv)-5
-b(alen)m(tly)d(,)37 b(the)f(`)p Fn(\045compare-lengths)p
-Fs(')c(declaration\))k(is)f(used,)i(then)f(the)150 3713
-y(hash)c(table)h(p)s(erforms)e(binary)g(comparison.)46
-b(The)33 b(k)m(eyw)m(ords)g(in)e(the)i(input)e(\014le)g(ma)m(y)j(con)m
-(tain)f(NUL)150 3822 y(b)m(ytes,)46 b(written)40 b(in)h(string)g(syn)m
-(tax)h(as)g Fn(\\000)f Fs(or)h Fn(\\x00)p Fs(,)i(and)d(the)h(co)s(de)g
+(NUL)150 3005 y(terminated)c(and)f(ha)m(v)m(e)h(exactly)h(length)f
+Fo(len)p Fs(.)275 3140 y(If)k(option)i(`)p Fn(-c)p Fs(')f(\(or,)i
+(equiv)-5 b(alen)m(tly)d(,)40 b(the)c(`)p Fn(\045compare-strncmp)p
+Fs(')c(declaration\))38 b(is)e(used,)h(then)f(the)150
+3249 y Fo(str)e Fs(argumen)m(t)29 b(do)s(es)e(not)h(need)g(to)h(b)s(e)e
+(NUL)h(terminated.)41 b(The)27 b(co)s(de)h(generated)h(b)m(y)f
+Fn(gperf)f Fs(will)h(only)150 3359 y(access)h(the)f(\014rst)g
+Fo(len)p Fs(,)g(not)h Fo(len)p Fn(+)p Fo(1)p Fs(,)f(b)m(ytes)h
+(starting)g(at)f Fo(str)p Fs(.)40 b(Ho)m(w)m(ev)m(er,)31
+b(the)d(k)m(eyw)m(ords)g(in)g(the)g(input)f(\014le)150
+3469 y(still)k(m)m(ust)g(not)f(con)m(tain)i(NUL)e(b)m(ytes.)275
+3603 y(If)35 b(option)i(`)p Fn(-l)p Fs(')f(\(or,)i(equiv)-5
+b(alen)m(tly)d(,)40 b(the)c(`)p Fn(\045compare-lengths)p
+Fs(')c(declaration\))38 b(is)e(used,)h(then)f(the)150
+3713 y(hash)c(table)i(p)s(erforms)d(binary)h(comparison.)47
+b(The)33 b(k)m(eyw)m(ords)g(in)f(the)h(input)f(\014le)g(ma)m(y)i(con)m
+(tain)g(NUL)150 3822 y(b)m(ytes,)46 b(written)41 b(in)h(string)g(syn)m
+(tax)g(as)g Fn(\\000)f Fs(or)h Fn(\\x00)p Fs(,)i(and)d(the)h(co)s(de)g
(generated)h(b)m(y)f Fn(gperf)f Fs(will)150 3932 y(treat)i(NUL)e(lik)m
-(e)g(an)m(y)h(other)g(b)m(yte.)75 b(Also,)44 b(in)c(this)g(case)j(the)f
-(`)p Fn(-c)p Fs(')f(option)g(\(or,)k(equiv)-5 b(alen)m(tly)d(,)44
+(e)i(an)m(y)f(other)g(b)m(yte.)75 b(Also,)45 b(in)c(this)g(case)i(the)f
+(`)p Fn(-c)p Fs(')f(option)h(\(or,)j(equiv)-5 b(alen)m(tly)d(,)47
b(the)150 4042 y(`)p Fn(\045compare-strncmp)p Fs(')26
-b(declaration\))31 b(is)e(ignored.)p eop
+b(declaration\))33 b(is)d(ignored.)p eop end
%%Page: 19 21
-19 20 bop 150 -116 a Fs(Chapter)30 b(4:)41 b(In)m(v)m(oking)30
-b Fn(gperf)2433 b Fs(19)150 299 y Fp(4)80 b(In)l(v)l(oking)53
-b Fm(gperf)275 542 y Fs(There)35 b(are)i Fl(many)46 b
-Fs(options)35 b(to)j Fn(gperf)p Fs(.)57 b(They)36 b(w)m(ere)h(added)e
-(to)j(mak)m(e)f(the)g(program)f(more)g(con-)150 651 y(v)m(enien)m(t)e
-(for)f(use)g(with)f(real)h(applications.)47 b(\\On-line")32
-b(help)g(is)g(readily)g(a)m(v)-5 b(ailable)33 b(via)g(the)g(`)p
-Fn(--help)p Fs(')150 761 y(option.)40 b(Here)31 b(is)e(the)i(complete)g
-(list)e(of)h(options.)150 1025 y Fr(4.1)68 b(Sp)t(ecifying)45
-b(the)g(Lo)t(cation)h(of)f(the)g(Output)g(File)150 1247
-y Fs(`)p Fn(--output-file=)p Fo(\014le)5 b Fs(')630 1357
-y(Allo)m(ws)29 b(y)m(ou)i(to)g(sp)s(ecify)e(the)i(name)f(of)h(the)f
-(\014le)g(to)h(whic)m(h)e(the)i(output)f(is)f(written)g(to.)275
-1521 y(The)g(results)h(are)g(written)g(to)h(standard)e(output)h(if)g
-(no)g(output)g(\014le)f(is)h(sp)s(eci\014ed)f(or)h(if)f(it)h(is)g(`)p
-Fn(-)p Fs('.)150 1785 y Fr(4.2)68 b(Options)45 b(that)h(a\013ect)g(In)l
-(terpretation)h(of)e(the)g(Input)g(File)275 1981 y Fs(These)d(options)g
-(are)h(also)f(a)m(v)-5 b(ailable)42 b(as)h(declarations)f(in)f(the)i
-(input)e(\014le)g(\(see)j(Section)e(3.1.1.2)150 2090
-y([Gp)s(erf)30 b(Declarations],)h(page)g(12\).)150 2254
-y(`)p Fn(-e)f Fo(k)m(eyw)m(ord-delimiter-list)r Fs(')150
-2364 y(`)p Fn(--delimiters=)p Fo(k)m(eyw)m(ord-delimiter-list)r
-Fs(')630 2473 y(Allo)m(ws)e(y)m(ou)h(to)g(pro)m(vide)f(a)h(string)f
-(con)m(taining)g(delimiters)f(used)g(to)j(separate)g(k)m(eyw)m(ords)630
-2583 y(from)k(their)g(attributes.)53 b(The)34 b(default)f(is)h
-Fn(")p Fs(,)p Fn(")p Fs(.)53 b(This)33 b(option)h(is)f(essen)m(tial)i
-(if)e(y)m(ou)i(w)m(an)m(t)630 2692 y(to)f(use)e(k)m(eyw)m(ords)h(that)h
-(ha)m(v)m(e)g(em)m(b)s(edded)e(commas)h(or)g(newlines.)46
-b(One)33 b(useful)e(tric)m(k)i(is)630 2802 y(to)e(use)f(-e'T)-8
-b(AB',)33 b(where)c(T)-8 b(AB)31 b(is)f(the)g(literal)f(tab)i(c)m
+TeXDict begin 19 20 bop 150 -116 a Fs(Chapter)30 b(4:)41
+b(In)m(v)m(oking)31 b Fn(gperf)2433 b Fs(19)150 299 y
+Fp(4)80 b(In)l(v)l(oking)52 b Fm(gperf)275 542 y Fs(There)35
+b(are)i Fl(many)46 b Fs(options)36 b(to)i Fn(gperf)p
+Fs(.)57 b(They)36 b(w)m(ere)h(added)e(to)j(mak)m(e)f(the)g(program)f
+(more)g(con-)150 651 y(v)m(enien)m(t)f(for)e(use)g(with)g(real)h
+(applications.)50 b(\\On-line")34 b(help)f(is)g(readily)h(a)m(v)-5
+b(ailable)36 b(via)e(the)f(`)p Fn(--help)p Fs(')150 761
+y(option.)41 b(Here)31 b(is)f(the)h(complete)h(list)f(of)f(options.)150
+1025 y Fr(4.1)68 b(Sp)t(ecifying)45 b(the)g(Lo)t(cation)h(of)f(the)g
+(Output)g(File)150 1247 y Fs(`)p Fn(--output-file=)p
+Fo(\014le)5 b Fs(')630 1357 y(Allo)m(ws)31 b(y)m(ou)g(to)g(sp)s(ecify)f
+(the)h(name)f(of)h(the)f(\014le)h(to)g(whic)m(h)f(the)h(output)f(is)g
+(written)g(to.)275 1521 y(The)f(results)i(are)f(written)h(to)g
+(standard)e(output)h(if)h(no)f(output)g(\014le)g(is)h(sp)s(eci\014ed)f
+(or)g(if)g(it)h(is)g(`)p Fn(-)p Fs('.)150 1785 y Fr(4.2)68
+b(Options)45 b(that)h(a\013ect)g(In)l(terpretation)h(of)e(the)g(Input)g
+(File)275 1981 y Fs(These)d(options)h(are)g(also)g(a)m(v)-5
+b(ailable)45 b(as)e(declarations)h(in)e(the)h(input)f(\014le)g(\(see)i
+(Section)f(3.1.1.2)150 2090 y([Gp)s(erf)30 b(Declarations],)j(page)e
+(12\).)150 2254 y(`)p Fn(-e)f Fo(k)m(eyw)m(ord-delimiter-list)r
+Fs(')150 2364 y(`)p Fn(--delimiters=)p Fo(k)m(eyw)m(ord-delimiter-list)
+r Fs(')630 2473 y(Allo)m(ws)g(y)m(ou)f(to)g(pro)m(vide)g(a)g(string)g
+(con)m(taining)h(delimiters)g(used)d(to)j(separate)g(k)m(eyw)m(ords)630
+2583 y(from)k(their)h(attributes.)54 b(The)34 b(default)g(is)h
+Fn(")p Fs(,)p Fn(")p Fs(.)53 b(This)34 b(option)h(is)f(essen)m(tial)j
+(if)d(y)m(ou)h(w)m(an)m(t)630 2692 y(to)f(use)e(k)m(eyw)m(ords)h(that)h
+(ha)m(v)m(e)g(em)m(b)s(edded)e(commas)h(or)g(newlines.)48
+b(One)33 b(useful)f(tric)m(k)i(is)630 2802 y(to)d(use)f(-e'T)-8
+b(AB',)33 b(where)c(T)-8 b(AB)31 b(is)g(the)f(literal)i(tab)f(c)m
(haracter.)150 2964 y(`)p Fn(-t)p Fs(')150 3074 y(`)p
-Fn(--struct-type)p Fs(')630 3183 y(Allo)m(ws)f(y)m(ou)i(to)g(include)d
-(a)i Fn(struct)f Fs(t)m(yp)s(e)h(declaration)g(for)g(generated)h(co)s
-(de.)44 b(An)m(y)31 b(text)630 3293 y(b)s(efore)43 b(a)i(pair)d(of)i
-(consecutiv)m(e)h(`)p Fn(\045\045)p Fs(')e(is)g(considered)g(part)g(of)
+Fn(--struct-type)p Fs(')630 3183 y(Allo)m(ws)h(y)m(ou)g(to)g(include)f
+(a)g Fn(struct)f Fs(t)m(yp)s(e)h(declaration)i(for)e(generated)h(co)s
+(de.)44 b(An)m(y)31 b(text)630 3293 y(b)s(efore)43 b(a)i(pair)e(of)h
+(consecutiv)m(e)i(`)p Fn(\045\045)p Fs(')d(is)h(considered)g(part)f(of)
h(the)g(t)m(yp)s(e)g(declaration.)630 3403 y(Keyw)m(ords)39
-b(and)g(additional)e(\014elds)h(ma)m(y)j(follo)m(w)d(this,)j(one)f
-(group)f(of)h(\014elds)e(p)s(er)g(line.)630 3512 y(A)31
-b(set)g(of)g(examples)f(for)g(generating)h(p)s(erfect)f(hash)g(tables)h
-(and)f(functions)f(for)h(Ada,)h(C,)630 3622 y(C)p Fn(++)p
-Fs(,)24 b(P)m(ascal,)i(Mo)s(dula)c(2,)k(Mo)s(dula)c(3)i(and)f(Ja)m(v)-5
-b(aScript)23 b(reserv)m(ed)g(w)m(ords)g(are)h(distributed)630
-3731 y(with)29 b(this)g(release.)150 3894 y(`)p Fn(--ignore-case)p
-Fs(')630 4003 y(Consider)42 b(upp)s(er)g(and)i(lo)m(w)m(er)g(case)h
-(ASCI)s(I)e(c)m(haracters)i(as)f(equiv)-5 b(alen)m(t.)81
-b(The)44 b(string)630 4113 y(comparison)27 b(will)f(use)i(a)h(case)g
-(insigni\014can)m(t)d(c)m(haracter)k(comparison.)39 b(Note)29
-b(that)g(lo)s(cale)630 4222 y(dep)s(enden)m(t)e(case)i(mappings)e(are)h
-(ignored.)39 b(This)27 b(option)g(is)h(therefore)g(not)h(suitable)d(if)
-i(a)630 4332 y(prop)s(erly)k(in)m(ternationalized)h(or)h(lo)s(cale)g(a)
-m(w)m(are)i(case)f(mapping)e(should)f(b)s(e)i(used.)52
-b(\(F)-8 b(or)630 4442 y(example,)30 b(in)e(a)h(T)-8
-b(urkish)28 b(lo)s(cale,)h(the)h(upp)s(er)d(case)k(equiv)-5
-b(alen)m(t)28 b(of)i(the)g(lo)m(w)m(ercase)g(ASCI)s(I)630
-4551 y(letter)41 b(`)p Fn(i)p Fs(')h(is)e(the)h(non-ASCI)s(I)e(c)m
+b(and)g(additional)h(\014elds)f(ma)m(y)i(follo)m(w)f(this,)i(one)e
+(group)f(of)h(\014elds)f(p)s(er)f(line.)630 3512 y(A)31
+b(set)g(of)g(examples)g(for)f(generating)i(p)s(erfect)e(hash)g(tables)i
+(and)e(functions)g(for)g(Ada,)h(C,)630 3622 y(C)p Fn(++)p
+Fs(,)24 b(P)m(ascal,)j(Mo)s(dula)c(2,)j(Mo)s(dula)d(3)h(and)f(Ja)m(v)-5
+b(aScript)24 b(reserv)m(ed)f(w)m(ords)g(are)h(distributed)630
+3731 y(with)30 b(this)g(release.)150 3894 y(`)p Fn(--ignore-case)p
+Fs(')630 4003 y(Consider)43 b(upp)s(er)f(and)i(lo)m(w)m(er)h(case)g
+(ASCI)s(I)e(c)m(haracters)i(as)f(equiv)-5 b(alen)m(t.)83
+b(The)44 b(string)630 4113 y(comparison)28 b(will)h(use)f(a)h(case)g
+(insigni\014can)m(t)g(c)m(haracter)h(comparison.)40 b(Note)29
+b(that)g(lo)s(cale)630 4222 y(dep)s(enden)m(t)e(case)i(mappings)f(are)g
+(ignored.)40 b(This)28 b(option)g(is)h(therefore)f(not)h(suitable)f(if)
+h(a)630 4332 y(prop)s(erly)k(in)m(ternationalized)k(or)d(lo)s(cale)i(a)
+m(w)m(are)g(case)f(mapping)f(should)f(b)s(e)h(used.)52
+b(\(F)-8 b(or)630 4442 y(example,)31 b(in)e(a)g(T)-8
+b(urkish)29 b(lo)s(cale,)i(the)f(upp)s(er)d(case)k(equiv)-5
+b(alen)m(t)30 b(of)g(the)g(lo)m(w)m(ercase)h(ASCI)s(I)630
+4551 y(letter)42 b(`)p Fn(i)p Fs(')g(is)f(the)g(non-ASCI)s(I)e(c)m
(haracter)k(`)p Fn(capital)29 b(i)h(with)f(dot)g(above)p
-Fs('.\))72 b(F)-8 b(or)42 b(this)630 4661 y(case,)d(it)c(is)g(b)s
-(etter)i(to)f(apply)f(an)h(upp)s(ercase)f(or)h(lo)m(w)m(ercase)h(con)m
-(v)m(ersion)g(on)f(the)g(string)630 4770 y(b)s(efore)30
-b(passing)f(it)h(to)h(the)g Fn(gperf)e Fs(generated)i(function.)150
+Fs('.\))72 b(F)-8 b(or)42 b(this)630 4661 y(case,)d(it)d(is)g(b)s
+(etter)h(to)f(apply)g(an)g(upp)s(ercase)f(or)h(lo)m(w)m(ercase)i(con)m
+(v)m(ersion)g(on)e(the)g(string)630 4770 y(b)s(efore)30
+b(passing)g(it)h(to)g(the)g Fn(gperf)e Fs(generated)i(function.)150
5035 y Fr(4.3)68 b(Options)45 b(to)h(sp)t(ecify)f(the)g(Language)h(for)
-f(the)g(Output)f(Co)t(de)275 5230 y Fs(These)e(options)g(are)h(also)f
-(a)m(v)-5 b(ailable)42 b(as)h(declarations)f(in)f(the)i(input)e(\014le)
-g(\(see)j(Section)e(3.1.1.2)150 5340 y([Gp)s(erf)30 b(Declarations],)h
-(page)g(12\).)p eop
+f(the)g(Output)f(Co)t(de)275 5230 y Fs(These)e(options)h(are)g(also)g
+(a)m(v)-5 b(ailable)45 b(as)e(declarations)h(in)e(the)h(input)f(\014le)
+g(\(see)i(Section)f(3.1.1.2)150 5340 y([Gp)s(erf)30 b(Declarations],)j
+(page)e(12\).)p eop end
%%Page: 20 22
-20 21 bop 150 -116 a Fs(Chapter)30 b(4:)41 b(In)m(v)m(oking)30
-b Fn(gperf)2433 b Fs(20)150 299 y(`)p Fn(-L)30 b Fo
-(generated-language-name)5 b Fs(')150 408 y(`)p Fn(--language=)p
-Fo(generated-language-name)g Fs(')630 518 y(Instructs)33
-b Fn(gperf)f Fs(to)i(generate)h(co)s(de)f(in)e(the)i(language)g(sp)s
-(eci\014ed)d(b)m(y)j(the)g(option's)f(ar-)630 628 y(gumen)m(t.)41
-b(Languages)31 b(handled)e(are)i(curren)m(tly:)630 798
-y(`)p Fn(KR-C)p Fs(')238 b(Old-st)m(yle)25 b(K&R)h(C.)g(This)e
-(language)j(is)f(understo)s(o)s(d)e(b)m(y)i(old-st)m(yle)g(C)g(com-)
-1110 907 y(pilers)c(and)i(ANSI)f(C)h(compilers,)g(but)g(ANSI)f(C)h
-(compilers)f(ma)m(y)h(\015ag)h(w)m(arn-)1110 1017 y(ings)k(\(or)i(ev)m
-(en)g(errors\))f(b)s(ecause)h(of)f(lac)m(king)g(`)p Fn(const)p
-Fs('.)630 1187 y(`)p Fn(C)p Fs(')382 b(Common)23 b(C.)f(This)g
-(language)h(is)f(understo)s(o)s(d)f(b)m(y)i(ANSI)g(C)f(compilers,)i
-(and)1110 1296 y(also)29 b(b)m(y)f(old-st)m(yle)g(C)h(compilers,)e(pro)
-m(vided)g(that)j(y)m(ou)f Fn(#define)f(const)f Fs(to)1110
-1406 y(empt)m(y)k(for)f(compilers)f(whic)m(h)g(don't)h(kno)m(w)h(ab)s
-(out)f(this)f(k)m(eyw)m(ord.)630 1576 y(`)p Fn(ANSI-C)p
-Fs(')142 b(ANSI)39 b(C.)h(This)d(language)j(is)f(understo)s(o)s(d)f(b)m
-(y)h(ANSI)g(C)h(compilers)e(and)1110 1685 y(C)p Fn(++)29
-b Fs(compilers.)630 1855 y(`)p Fn(C++)p Fs(')286 b(C)p
-Fn(++)p Fs(.)40 b(This)28 b(language)j(is)f(understo)s(o)s(d)e(b)m(y)i
-(C)p Fn(++)g Fs(compilers.)630 2025 y(The)g(default)f(is)h(C.)150
-2195 y(`)p Fn(-a)p Fs(')334 b(This)32 b(option)h(is)f(supp)s(orted)g
-(for)h(compatibilit)m(y)f(with)g(previous)g(releases)i(of)g
-Fn(gperf)p Fs(.)49 b(It)630 2305 y(do)s(es)30 b(not)h(do)f(an)m
-(ything.)150 2475 y(`)p Fn(-g)p Fs(')334 b(This)32 b(option)h(is)f
-(supp)s(orted)g(for)h(compatibilit)m(y)f(with)g(previous)g(releases)i
-(of)g Fn(gperf)p Fs(.)49 b(It)630 2584 y(do)s(es)30 b(not)h(do)f(an)m
+TeXDict begin 20 21 bop 150 -116 a Fs(Chapter)30 b(4:)41
+b(In)m(v)m(oking)31 b Fn(gperf)2433 b Fs(20)150 299 y(`)p
+Fn(-L)30 b Fo(generated-language-name)5 b Fs(')150 408
+y(`)p Fn(--language=)p Fo(generated-language-name)g Fs(')630
+518 y(Instructs)33 b Fn(gperf)f Fs(to)i(generate)h(co)s(de)f(in)f(the)h
+(language)h(sp)s(eci\014ed)d(b)m(y)i(the)g(option's)g(ar-)630
+628 y(gumen)m(t.)41 b(Languages)31 b(handled)f(are)h(curren)m(tly:)630
+798 y(`)p Fn(KR-C)p Fs(')238 b(Old-st)m(yle)27 b(K&R)f(C.)g(This)f
+(language)j(is)f(understo)s(o)s(d)d(b)m(y)i(old-st)m(yle)i(C)e(com-)
+1110 907 y(pilers)e(and)g(ANSI)f(C)h(compilers,)i(but)e(ANSI)f(C)h
+(compilers)h(ma)m(y)f(\015ag)h(w)m(arn-)1110 1017 y(ings)30
+b(\(or)h(ev)m(en)g(errors\))f(b)s(ecause)h(of)f(lac)m(king)i(`)p
+Fn(const)p Fs('.)630 1187 y(`)p Fn(C)p Fs(')382 b(Common)23
+b(C.)f(This)h(language)h(is)f(understo)s(o)s(d)e(b)m(y)i(ANSI)g(C)f
+(compilers,)k(and)1110 1296 y(also)k(b)m(y)e(old-st)m(yle)i(C)f
+(compilers,)g(pro)m(vided)f(that)i(y)m(ou)f Fn(#define)f(const)f
+Fs(to)1110 1406 y(empt)m(y)k(for)f(compilers)h(whic)m(h)f(don't)g(kno)m
+(w)h(ab)s(out)f(this)g(k)m(eyw)m(ord.)630 1576 y(`)p
+Fn(ANSI-C)p Fs(')142 b(ANSI)39 b(C.)h(This)e(language)j(is)f(understo)s
+(o)s(d)e(b)m(y)h(ANSI)g(C)h(compilers)g(and)1110 1685
+y(C)p Fn(++)29 b Fs(compilers.)630 1855 y(`)p Fn(C++)p
+Fs(')286 b(C)p Fn(++)p Fs(.)40 b(This)29 b(language)j(is)f(understo)s
+(o)s(d)d(b)m(y)i(C)p Fn(++)g Fs(compilers.)630 2025 y(The)g(default)g
+(is)h(C.)150 2195 y(`)p Fn(-a)p Fs(')334 b(This)33 b(option)h(is)f
+(supp)s(orted)f(for)h(compatibilit)m(y)j(with)d(previous)g(releases)i
+(of)f Fn(gperf)p Fs(.)49 b(It)630 2305 y(do)s(es)30 b(not)h(do)f(an)m
+(ything.)150 2475 y(`)p Fn(-g)p Fs(')334 b(This)33 b(option)h(is)f
+(supp)s(orted)f(for)h(compatibilit)m(y)j(with)d(previous)g(releases)i
+(of)f Fn(gperf)p Fs(.)49 b(It)630 2584 y(do)s(es)30 b(not)h(do)f(an)m
(ything.)150 2868 y Fr(4.4)68 b(Options)45 b(for)g(\014ne)g(tuning)g
(Details)i(in)e(the)g(Output)f(Co)t(de)275 3071 y Fs(Most)21
-b(of)g(these)g(options)f(are)h(also)g(a)m(v)-5 b(ailable)20
-b(as)h(declarations)f(in)g(the)h(input)d(\014le)i(\(see)i(Section)e
-(3.1.1.2)150 3181 y([Gp)s(erf)30 b(Declarations],)h(page)g(12\).)150
+b(of)g(these)g(options)g(are)g(also)h(a)m(v)-5 b(ailable)23
+b(as)e(declarations)h(in)f(the)g(input)e(\014le)i(\(see)h(Section)f
+(3.1.1.2)150 3181 y([Gp)s(erf)30 b(Declarations],)j(page)e(12\).)150
3356 y(`)p Fn(-K)f Fo(slot-name)5 b Fs(')150 3466 y(`)p
-Fn(--slot-name=)p Fo(slot-name)g Fs(')630 3575 y(This)20
-b(option)h(is)g(only)f(useful)g(when)h(option)g(`)p Fn(-t)p
-Fs(')g(\(or,)j(equiv)-5 b(alen)m(tly)d(,)23 b(the)f(`)p
-Fn(\045struct-type)p Fs(')630 3685 y(declaration\))39
-b(has)g(b)s(een)f(giv)m(en.)66 b(By)39 b(default,)i(the)e(program)g
+Fn(--slot-name=)p Fo(slot-name)g Fs(')630 3575 y(This)21
+b(option)h(is)g(only)f(useful)g(when)g(option)h(`)p Fn(-t)p
+Fs(')f(\(or,)j(equiv)-5 b(alen)m(tly)d(,)26 b(the)c(`)p
+Fn(\045struct-type)p Fs(')630 3685 y(declaration\))41
+b(has)e(b)s(een)f(giv)m(en.)67 b(By)39 b(default,)j(the)d(program)g
(assumes)f(the)h(structure)630 3795 y(comp)s(onen)m(t)28
-b(iden)m(ti\014er)f(for)h(the)g(k)m(eyw)m(ord)g(is)g(`)p
-Fn(name)p Fs('.)39 b(This)26 b(option)i(allo)m(ws)f(an)h(arbitrary)630
-3904 y(c)m(hoice)k(of)g(iden)m(ti\014er)e(for)h(this)g(comp)s(onen)m
-(t,)h(although)f(it)g(still)e(m)m(ust)j(o)s(ccur)f(as)h(the)g(\014rst)
-630 4014 y(\014eld)d(in)g(y)m(our)h(supplied)d Fn(struct)p
-Fs(.)150 4184 y(`)p Fn(-F)j Fo(initializers)t Fs(')150
-4293 y(`)p Fn(--initializer-suffix=)p Fo(in)o(iti)o(ali)o(zers)t
-Fs(')630 4403 y(This)20 b(option)h(is)g(only)f(useful)g(when)h(option)g
-(`)p Fn(-t)p Fs(')g(\(or,)j(equiv)-5 b(alen)m(tly)d(,)23
-b(the)f(`)p Fn(\045struct-type)p Fs(')630 4512 y(declaration\))32
-b(has)h(b)s(een)e(giv)m(en.)48 b(It)32 b(p)s(ermits)f(to)i(sp)s(ecify)e
-(initializers)e(for)k(the)f(structure)630 4622 y(mem)m(b)s(ers)23
-b(follo)m(wing)f Fo(slot-name)29 b Fs(in)22 b(empt)m(y)i(hash)f(table)g
-(en)m(tries.)38 b(The)23 b(list)f(of)i(initializers)630
-4732 y(should)36 b(start)j(with)f(a)g(comma.)66 b(By)39
-b(default,)h(the)f(emitted)f(co)s(de)h(will)c(zero-initialize)630
-4841 y(structure)30 b(mem)m(b)s(ers)f(follo)m(wing)g
-Fo(slot-name)p Fs(.)150 5011 y(`)p Fn(-H)h Fo(hash-function-name)5
+b(iden)m(ti\014er)h(for)f(the)g(k)m(eyw)m(ord)g(is)h(`)p
+Fn(name)p Fs('.)39 b(This)27 b(option)i(allo)m(ws)g(an)f(arbitrary)630
+3904 y(c)m(hoice)33 b(of)f(iden)m(ti\014er)g(for)f(this)h(comp)s(onen)m
+(t,)g(although)g(it)g(still)g(m)m(ust)g(o)s(ccur)f(as)h(the)g(\014rst)
+630 4014 y(\014eld)e(in)g(y)m(our)g(supplied)f Fn(struct)p
+Fs(.)150 4184 y(`)p Fn(-F)h Fo(initializers)t Fs(')150
+4293 y(`)p Fn(--initializer-suffix=)p Fo(initializers)t
+Fs(')630 4403 y(This)21 b(option)h(is)g(only)f(useful)g(when)g(option)h
+(`)p Fn(-t)p Fs(')f(\(or,)j(equiv)-5 b(alen)m(tly)d(,)26
+b(the)c(`)p Fn(\045struct-type)p Fs(')630 4512 y(declaration\))34
+b(has)f(b)s(een)e(giv)m(en.)49 b(It)32 b(p)s(ermits)g(to)h(sp)s(ecify)f
+(initializers)i(for)f(the)f(structure)630 4622 y(mem)m(b)s(ers)23
+b(follo)m(wing)i Fo(slot-name)30 b Fs(in)23 b(empt)m(y)h(hash)f(table)h
+(en)m(tries.)39 b(The)23 b(list)h(of)g(initializers)630
+4732 y(should)37 b(start)i(with)g(a)f(comma.)66 b(By)39
+b(default,)i(the)e(emitted)g(co)s(de)g(will)f(zero-initialize)630
+4841 y(structure)30 b(mem)m(b)s(ers)f(follo)m(wing)j
+Fo(slot-name)p Fs(.)150 5011 y(`)p Fn(-H)e Fo(hash-function-name)5
b Fs(')150 5121 y(`)p Fn(--hash-function-name=)p Fo(hash-fu)o
-(nction-name)g Fs(')630 5230 y(Allo)m(ws)29 b(y)m(ou)h(to)g(sp)s(ecify)
-f(the)h(name)g(for)f(the)h(generated)h(hash)e(function.)39
-b(Default)30 b(name)630 5340 y(is)f(`)p Fn(hash)p Fs('.)40
-b(This)29 b(option)h(p)s(ermits)e(the)j(use)f(of)h(t)m(w)m(o)g(hash)f
-(tables)g(in)f(the)i(same)g(\014le.)p eop
+(nction-name)g Fs(')630 5230 y(Allo)m(ws)31 b(y)m(ou)f(to)g(sp)s(ecify)
+g(the)g(name)g(for)f(the)h(generated)h(hash)e(function.)40
+b(Default)31 b(name)630 5340 y(is)f(`)p Fn(hash)p Fs('.)40
+b(This)30 b(option)h(p)s(ermits)e(the)i(use)f(of)h(t)m(w)m(o)g(hash)f
+(tables)h(in)f(the)h(same)g(\014le.)p eop end
%%Page: 21 23
-21 22 bop 150 -116 a Fs(Chapter)30 b(4:)41 b(In)m(v)m(oking)30
-b Fn(gperf)2433 b Fs(21)150 299 y(`)p Fn(-N)30 b Fo(lo)s
-(okup-function-name)5 b Fs(')150 408 y(`)p Fn(--lookup-function-name=)p
-Fo(l)o(o)s(okup-fu)o(nction-name)g Fs(')630 518 y(Allo)m(ws)41
-b(y)m(ou)h(to)h(sp)s(ecify)d(the)j(name)f(for)f(the)h(generated)h(lo)s
-(okup)e(function.)74 b(Default)630 628 y(name)28 b(is)f(`)p
-Fn(in_word_set)p Fs('.)37 b(This)26 b(option)h(p)s(ermits)f(m)m
-(ultiple)g(generated)i(hash)f(functions)630 737 y(to)k(b)s(e)f(used)f
-(in)g(the)i(same)g(application.)150 938 y(`)p Fn(-Z)f
-Fo(class-name)5 b Fs(')150 1048 y(`)p Fn(--class-name=)p
-Fo(class-name)g Fs(')630 1157 y(This)65 b(option)i(is)f(only)h(useful)e
-(when)i(option)f(`)p Fn(-L)30 b(C++)p Fs(')67 b(\(or,)77
-b(equiv)-5 b(alen)m(tly)d(,)76 b(the)630 1267 y(`)p Fn
-(\045language=C++)p Fs(')43 b(declaration\))i(has)h(b)s(een)f(giv)m
-(en.)87 b(It)46 b(allo)m(ws)f(y)m(ou)h(to)g(sp)s(ecify)f(the)630
-1377 y(name)30 b(of)h(generated)g(C)p Fn(++)f Fs(class.)40
-b(Default)31 b(name)f(is)g Fn(Perfect_Hash)p Fs(.)150
-1577 y(`)p Fn(-7)p Fs(')150 1687 y(`)p Fn(--seven-bit)p
-Fs(')630 1797 y(This)35 b(option)i(sp)s(eci\014es)f(that)h(all)f
-(strings)g(that)i(will)c(b)s(e)j(passed)f(as)i(argumen)m(ts)f(to)h(the)
-630 1906 y(generated)e(hash)e(function)f(and)i(the)g(generated)g(lo)s
-(okup)f(function)f(will)f(solely)i(consist)630 2016 y(of)f(7-bit)g
-(ASCI)s(I)f(c)m(haracters)j(\(b)m(ytes)f(in)e(the)h(range)h(0..127\).)
-51 b(\(Note)35 b(that)f(the)g(ANSI)e(C)630 2125 y(functions)e
-Fn(isalnum)g Fs(and)i Fn(isgraph)e Fs(do)i Fl(not)41
-b Fs(guaran)m(tee)33 b(that)g(a)f(b)m(yte)h(is)e(in)f(this)h(range.)630
-2235 y(Only)25 b(an)h(explicit)f(test)j(lik)m(e)d(`)p
-Fn(c)31 b(>=)f('A')f(&&)h(c)g(<=)g('Z')p Fs(')25 b(guaran)m(tees)j
-(this.\))39 b(This)25 b(w)m(as)i(the)630 2345 y(default)f(in)g(v)m
-(ersions)g(of)h Fn(gperf)e Fs(earlier)h(than)g(2.7;)k(no)m(w)d(the)g
-(default)f(is)f(to)j(supp)s(ort)d(8-bit)630 2454 y(and)30
-b(m)m(ultib)m(yte)f(c)m(haracters.)150 2655 y(`)p Fn(-l)p
+TeXDict begin 21 22 bop 150 -116 a Fs(Chapter)30 b(4:)41
+b(In)m(v)m(oking)31 b Fn(gperf)2433 b Fs(21)150 299 y(`)p
+Fn(-N)30 b Fo(lo)s(okup-function-name)5 b Fs(')150 408
+y(`)p Fn(--lookup-function-name=)p Fo(lo)s(okup-fu)o(nction-name)g
+Fs(')630 518 y(Allo)m(ws)43 b(y)m(ou)f(to)h(sp)s(ecify)e(the)i(name)f
+(for)f(the)h(generated)h(lo)s(okup)f(function.)75 b(Default)630
+628 y(name)28 b(is)g(`)p Fn(in_word_set)p Fs('.)37 b(This)27
+b(option)h(p)s(ermits)f(m)m(ultiple)i(generated)f(hash)f(functions)630
+737 y(to)k(b)s(e)f(used)f(in)h(the)h(same)g(application.)150
+938 y(`)p Fn(-Z)f Fo(class-name)5 b Fs(')150 1048 y(`)p
+Fn(--class-name=)p Fo(class-name)g Fs(')630 1157 y(This)66
+b(option)i(is)f(only)h(useful)e(when)h(option)g(`)p Fn(-L)30
+b(C++)p Fs(')67 b(\(or,)77 b(equiv)-5 b(alen)m(tly)d(,)79
+b(the)630 1267 y(`)p Fn(\045language=C++)p Fs(')43 b(declaration\))k
+(has)f(b)s(een)f(giv)m(en.)88 b(It)46 b(allo)m(ws)h(y)m(ou)f(to)g(sp)s
+(ecify)g(the)630 1377 y(name)30 b(of)h(generated)g(C)p
+Fn(++)f Fs(class.)41 b(Default)32 b(name)e(is)h Fn(Perfect_Hash)p
+Fs(.)150 1577 y(`)p Fn(-7)p Fs(')150 1687 y(`)p Fn(--seven-bit)p
+Fs(')630 1797 y(This)36 b(option)i(sp)s(eci\014es)f(that)g(all)h
+(strings)f(that)h(will)f(b)s(e)g(passed)f(as)i(argumen)m(ts)f(to)h(the)
+630 1906 y(generated)e(hash)e(function)g(and)h(the)g(generated)g(lo)s
+(okup)g(function)f(will)h(solely)h(consist)630 2016 y(of)d(7-bit)h
+(ASCI)s(I)e(c)m(haracters)j(\(b)m(ytes)f(in)f(the)g(range)h(0..127\).)
+51 b(\(Note)35 b(that)f(the)g(ANSI)e(C)630 2125 y(functions)f
+Fn(isalnum)f Fs(and)i Fn(isgraph)e Fs(do)i Fl(not)41
+b Fs(guaran)m(tee)33 b(that)g(a)f(b)m(yte)h(is)f(in)f(this)h(range.)630
+2235 y(Only)26 b(an)g(explicit)i(test)g(lik)m(e)f(`)p
+Fn(c)k(>=)f('A')f(&&)h(c)g(<=)g('Z')p Fs(')25 b(guaran)m(tees)j
+(this.\))40 b(This)26 b(w)m(as)h(the)630 2345 y(default)g(in)g(v)m
+(ersions)g(of)g Fn(gperf)e Fs(earlier)j(than)e(2.7;)k(no)m(w)d(the)g
+(default)g(is)f(to)i(supp)s(ort)d(8-bit)630 2454 y(and)30
+b(m)m(ultib)m(yte)h(c)m(haracters.)150 2655 y(`)p Fn(-l)p
Fs(')150 2765 y(`)p Fn(--compare-lengths)p Fs(')630 2874
-y(Compare)40 b(k)m(eyw)m(ord)g(lengths)f(b)s(efore)g(trying)g(a)i
-(string)d(comparison.)69 b(This)38 b(option)h(is)630
-2984 y(mandatory)32 b(for)h(binary)d(comparisons)i(\(see)h(Section)g
-(3.3)g([Binary)f(Strings],)g(page)h(18\).)630 3093 y(It)g(also)g(migh)m
-(t)g(cut)g(do)m(wn)f(on)h(the)g(n)m(um)m(b)s(er)f(of)h(string)f
-(comparisons)g(made)h(during)e(the)630 3203 y(lo)s(okup,)i(since)g(k)m
-(eyw)m(ords)g(with)f(di\013eren)m(t)h(lengths)g(are)g(nev)m(er)h
-(compared)f(via)g Fn(strcmp)p Fs(.)630 3313 y(Ho)m(w)m(ev)m(er,)k
-(using)32 b(`)p Fn(-l)p Fs(')h(migh)m(t)g(greatly)h(increase)g(the)g
-(size)f(of)h(the)f(generated)i(C)e(co)s(de)h(if)630 3422
-y(the)k(lo)s(okup)f(table)g(range)i(is)e(large)h(\(whic)m(h)f(implies)e
-(that)j(the)g(switc)m(h)g(option)f(`)p Fn(-S)p Fs(')h(or)630
-3532 y(`)p Fn(\045switch)p Fs(')29 b(is)h(not)h(enabled\),)g(since)f
-(the)h(length)f(table)h(con)m(tains)g(as)g(man)m(y)g(elemen)m(ts)g(as)
-630 3641 y(there)g(are)f(en)m(tries)h(in)e(the)h(lo)s(okup)f(table.)150
+y(Compare)40 b(k)m(eyw)m(ord)g(lengths)g(b)s(efore)f(trying)h(a)h
+(string)e(comparison.)70 b(This)39 b(option)h(is)630
+2984 y(mandatory)32 b(for)h(binary)e(comparisons)i(\(see)g(Section)h
+(3.3)f([Binary)g(Strings],)g(page)g(18\).)630 3093 y(It)g(also)h(migh)m
+(t)g(cut)f(do)m(wn)f(on)h(the)g(n)m(um)m(b)s(er)f(of)h(string)g
+(comparisons)g(made)g(during)f(the)630 3203 y(lo)s(okup,)i(since)g(k)m
+(eyw)m(ords)f(with)g(di\013eren)m(t)h(lengths)g(are)f(nev)m(er)h
+(compared)f(via)h Fn(strcmp)p Fs(.)630 3313 y(Ho)m(w)m(ev)m(er,)j
+(using)c(`)p Fn(-l)p Fs(')g(migh)m(t)h(greatly)h(increase)g(the)f(size)
+g(of)g(the)f(generated)i(C)e(co)s(de)h(if)630 3422 y(the)k(lo)s(okup)g
+(table)g(range)h(is)f(large)h(\(whic)m(h)f(implies)g(that)g(the)g
+(switc)m(h)h(option)f(`)p Fn(-S)p Fs(')g(or)630 3532
+y(`)p Fn(\045switch)p Fs(')29 b(is)i(not)g(enabled\),)h(since)f(the)g
+(length)g(table)h(con)m(tains)g(as)f(man)m(y)g(elemen)m(ts)h(as)630
+3641 y(there)f(are)f(en)m(tries)i(in)e(the)g(lo)s(okup)g(table.)150
3842 y(`)p Fn(-c)p Fs(')150 3952 y(`)p Fn(--compare-strncmp)p
Fs(')630 4061 y(Generates)22 b(C)f(co)s(de)g(that)h(uses)e(the)i
-Fn(strncmp)d Fs(function)g(to)j(p)s(erform)e(string)g(comparisons.)630
-4171 y(The)30 b(default)f(action)i(is)f(to)h(use)f Fn(strcmp)p
+Fn(strncmp)d Fs(function)h(to)i(p)s(erform)e(string)h(comparisons.)630
+4171 y(The)30 b(default)g(action)i(is)f(to)g(use)f Fn(strcmp)p
Fs(.)150 4372 y(`)p Fn(-C)p Fs(')150 4482 y(`)p Fn(--readonly-tables)p
-Fs(')630 4591 y(Mak)m(es)41 b(the)f(con)m(ten)m(ts)h(of)f(all)f
-(generated)h(lo)s(okup)e(tables)i(constan)m(t,)j(i.e.,)g(\\readonly".)
-630 4701 y(Man)m(y)31 b(compilers)e(can)i(generate)h(more)e(e\016cien)m
-(t)h(co)s(de)g(for)f(this)g(b)m(y)g(putting)f(the)i(tables)630
-4810 y(in)e(readonly)h(memory)-8 b(.)150 5011 y(`)p Fn(-E)p
+Fs(')630 4591 y(Mak)m(es)41 b(the)f(con)m(ten)m(ts)h(of)f(all)h
+(generated)f(lo)s(okup)f(tables)i(constan)m(t,)i(i.e.,)h(\\readonly".)
+630 4701 y(Man)m(y)31 b(compilers)g(can)g(generate)h(more)e(e\016cien)m
+(t)i(co)s(de)f(for)f(this)h(b)m(y)f(putting)g(the)h(tables)630
+4810 y(in)f(readonly)h(memory)-8 b(.)150 5011 y(`)p Fn(-E)p
Fs(')150 5121 y(`)p Fn(--enum)p Fs(')142 b(De\014ne)31
-b(constan)m(t)g(v)-5 b(alues)30 b(using)f(an)h(en)m(um)g(lo)s(cal)g(to)
-h(the)g(lo)s(okup)e(function)g(rather)h(than)630 5230
-y(with)36 b(#de\014nes.)60 b(This)35 b(also)i(means)h(that)f
-(di\013eren)m(t)g(lo)s(okup)f(functions)g(can)h(reside)f(in)630
-5340 y(the)31 b(same)f(\014le.)40 b(Thanks)29 b(to)j(James)e(Clark)f
-Fn(<jjc@ai.mit.edu>)p Fs(.)p eop
+b(constan)m(t)g(v)-5 b(alues)31 b(using)f(an)g(en)m(um)g(lo)s(cal)i(to)
+f(the)g(lo)s(okup)f(function)g(rather)g(than)630 5230
+y(with)37 b(#de\014nes.)60 b(This)36 b(also)i(means)g(that)f
+(di\013eren)m(t)h(lo)s(okup)f(functions)g(can)g(reside)g(in)630
+5340 y(the)31 b(same)f(\014le.)41 b(Thanks)29 b(to)j(James)e(Clark)g
+Fn(<jjc@ai.mit.edu>)p Fs(.)p eop end
%%Page: 22 24
-22 23 bop 150 -116 a Fs(Chapter)30 b(4:)41 b(In)m(v)m(oking)30
-b Fn(gperf)2433 b Fs(22)150 299 y(`)p Fn(-I)p Fs(')150
-408 y(`)p Fn(--includes)p Fs(')630 518 y(Include)29 b(the)i(necessary)h
-(system)f(include)e(\014le,)h Fn(<string.h>)p Fs(,)f(at)i(the)g(b)s
-(eginning)e(of)i(the)630 628 y(co)s(de.)39 b(By)27 b(default,)f(this)f
-(is)g(not)h(done;)i(the)e(user)f(m)m(ust)h(include)e(this)g(header)i
-(\014le)f(himself)630 737 y(to)31 b(allo)m(w)f(compilation)f(of)h(the)h
-(co)s(de.)150 883 y(`)p Fn(-G)p Fs(')150 993 y(`)p Fn(--global-table)p
-Fs(')630 1103 y(Generate)38 b(the)f(static)g(table)f(of)h(k)m(eyw)m
-(ords)g(as)g(a)g(static)g(global)f(v)-5 b(ariable,)37
-b(rather)f(than)630 1212 y(hiding)28 b(it)i(inside)e(of)i(the)h(lo)s
-(okup)e(function)g(\(whic)m(h)g(is)h(the)g(default)g(b)s(eha)m(vior\).)
+TeXDict begin 22 23 bop 150 -116 a Fs(Chapter)30 b(4:)41
+b(In)m(v)m(oking)31 b Fn(gperf)2433 b Fs(22)150 299 y(`)p
+Fn(-I)p Fs(')150 408 y(`)p Fn(--includes)p Fs(')630 518
+y(Include)30 b(the)h(necessary)h(system)f(include)g(\014le,)g
+Fn(<string.h>)p Fs(,)e(at)i(the)g(b)s(eginning)g(of)g(the)630
+628 y(co)s(de.)39 b(By)27 b(default,)g(this)f(is)g(not)g(done;)i(the)e
+(user)f(m)m(ust)h(include)g(this)f(header)h(\014le)g(himself)630
+737 y(to)31 b(allo)m(w)h(compilation)g(of)e(the)h(co)s(de.)150
+883 y(`)p Fn(-G)p Fs(')150 993 y(`)p Fn(--global-table)p
+Fs(')630 1103 y(Generate)38 b(the)f(static)h(table)f(of)g(k)m(eyw)m
+(ords)g(as)g(a)g(static)h(global)g(v)-5 b(ariable,)39
+b(rather)d(than)630 1212 y(hiding)30 b(it)h(inside)f(of)g(the)h(lo)s
+(okup)f(function)g(\(whic)m(h)g(is)h(the)f(default)h(b)s(eha)m(vior\).)
150 1358 y(`)p Fn(-P)p Fs(')150 1468 y(`)p Fn(--pic)p
-Fs(')190 b(Optimize)40 b(the)h(generated)h(table)f(for)g(inclusion)d
-(in)i(shared)g(libraries.)70 b(This)39 b(reduces)630
-1577 y(the)c(startup)g(time)g(of)g(programs)g(using)f(a)i(shared)e
-(library)f(con)m(taining)i(the)g(generated)630 1687 y(co)s(de.)j(If)21
-b(the)h(option)g(`)p Fn(-t)p Fs(')f(\(or,)k(equiv)-5
-b(alen)m(tly)d(,)22 b(the)g(`)p Fn(\045struct-type)p
-Fs(')d(declaration\))j(is)f(also)630 1797 y(giv)m(en,)31
-b(the)g(\014rst)e(\014eld)h(of)g(the)h(user-de\014ned)e(struct)i(m)m
+Fs(')190 b(Optimize)42 b(the)f(generated)h(table)g(for)f(inclusion)g
+(in)g(shared)f(libraries.)73 b(This)40 b(reduces)630
+1577 y(the)35 b(startup)g(time)h(of)f(programs)g(using)g(a)h(shared)e
+(library)h(con)m(taining)i(the)e(generated)630 1687 y(co)s(de.)j(If)21
+b(the)h(option)h(`)p Fn(-t)p Fs(')e(\(or,)k(equiv)-5
+b(alen)m(tly)d(,)25 b(the)d(`)p Fn(\045struct-type)p
+Fs(')d(declaration\))24 b(is)e(also)630 1797 y(giv)m(en,)32
+b(the)f(\014rst)e(\014eld)i(of)f(the)h(user-de\014ned)e(struct)i(m)m
(ust)f(b)s(e)g(of)h(t)m(yp)s(e)g(`)p Fn(int)p Fs(',)f(not)h(`)p
-Fn(char)630 1906 y(*)p Fs(',)h(b)s(ecause)f(it)h(will)c(con)m(tain)k
-(o\013sets)h(in)m(to)e(the)h(string)e(p)s(o)s(ol)h(instead)f(of)i
-(actual)g(strings.)630 2016 y(T)-8 b(o)33 b(con)m(v)m(ert)h(suc)m(h)f
-(an)f(o\013set)i(to)f(a)g(string,)g(y)m(ou)g(can)g(use)f(the)h
-(expression)e(`)p Fn(stringpool)630 2125 y(+)f Fo(o)5
-b Fs(',)34 b(where)f Fo(o)38 b Fs(is)32 b(the)h(o\013set.)50
-b(The)32 b(string)g(p)s(o)s(ol)g(name)h(can)g(b)s(e)g(c)m(hanged)g
-(through)g(the)630 2235 y(option)d(`)p Fn(--string-pool-name)p
-Fs('.)150 2381 y(`)p Fn(-Q)g Fo(string-p)s(o)s(ol-name)5
-b Fs(')150 2491 y(`)p Fn(--string-pool-name=)p Fo(string-p)r(o)s
-(ol-name)g Fs(')630 2600 y(Allo)m(ws)30 b(y)m(ou)i(to)g(sp)s(ecify)e
-(the)h(name)h(of)f(the)h(generated)g(string)e(p)s(o)s(ol)g(created)i(b)
+Fn(char)630 1906 y(*)p Fs(',)h(b)s(ecause)f(it)i(will)e(con)m(tain)i
+(o\013sets)g(in)m(to)f(the)g(string)f(p)s(o)s(ol)h(instead)f(of)h
+(actual)h(strings.)630 2016 y(T)-8 b(o)33 b(con)m(v)m(ert)h(suc)m(h)f
+(an)f(o\013set)i(to)f(a)g(string,)h(y)m(ou)f(can)g(use)f(the)h
+(expression)f(`)p Fn(stringpool)630 2125 y(+)e Fo(o)5
+b Fs(',)34 b(where)f Fo(o)38 b Fs(is)33 b(the)g(o\013set.)50
+b(The)32 b(string)h(p)s(o)s(ol)g(name)g(can)g(b)s(e)g(c)m(hanged)g
+(through)g(the)630 2235 y(option)e(`)p Fn(--string-pool-name)p
+Fs('.)150 2381 y(`)p Fn(-Q)f Fo(string-p)s(o)s(ol-name)5
+b Fs(')150 2491 y(`)p Fn(--string-pool-name=)p Fo(string-p)s(o)s
+(ol-name)g Fs(')630 2600 y(Allo)m(ws)32 b(y)m(ou)g(to)g(sp)s(ecify)f
+(the)g(name)h(of)f(the)h(generated)g(string)f(p)s(o)s(ol)g(created)h(b)
m(y)f(option)630 2710 y(`)p Fn(-P)p Fs('.)38 b(The)21
-b(default)f(name)i(is)e(`)p Fn(stringpool)p Fs('.)36
-b(This)19 b(option)i(p)s(ermits)f(the)h(use)g(of)h(t)m(w)m(o)h(hash)630
-2819 y(tables)h(in)e(the)i(same)g(\014le,)h(with)d(`)p
-Fn(-P)p Fs(')i(and)f(ev)m(en)h(when)f(the)h(option)f(`)p
-Fn(-G)p Fs(')h(\(or,)i(equiv)-5 b(alen)m(tly)d(,)630
-2929 y(the)31 b(`)p Fn(\045global-table)p Fs(')c(declaration\))j(is)g
-(giv)m(en.)150 3075 y(`)p Fn(--null-strings)p Fs(')630
-3185 y(Use)39 b(NULL)g(strings)e(instead)i(of)f(empt)m(y)i(strings)d
-(for)i(empt)m(y)g(k)m(eyw)m(ord)g(table)g(en)m(tries.)630
-3294 y(This)e(reduces)h(the)h(startup)g(time)f(of)h(programs)g(using)e
-(a)i(shared)f(library)e(con)m(taining)630 3404 y(the)41
-b(generated)g(co)s(de)g(\(but)f(not)h(as)f(m)m(uc)m(h)h(as)g(option)f
-(`)p Fn(-P)p Fs('\),)j(at)e(the)g(exp)s(ense)f(of)h(one)630
-3513 y(more)31 b(test-and-branc)m(h)f(instruction)f(at)i(run)e(time.)
+b(default)g(name)h(is)f(`)p Fn(stringpool)p Fs('.)36
+b(This)20 b(option)i(p)s(ermits)f(the)g(use)g(of)h(t)m(w)m(o)h(hash)630
+2819 y(tables)i(in)e(the)h(same)g(\014le,)i(with)d(`)p
+Fn(-P)p Fs(')h(and)f(ev)m(en)h(when)f(the)h(option)g(`)p
+Fn(-G)p Fs(')g(\(or,)i(equiv)-5 b(alen)m(tly)d(,)630
+2929 y(the)31 b(`)p Fn(\045global-table)p Fs(')c(declaration\))32
+b(is)f(giv)m(en.)150 3075 y(`)p Fn(--null-strings)p Fs(')630
+3185 y(Use)39 b(NULL)g(strings)f(instead)i(of)e(empt)m(y)i(strings)e
+(for)h(empt)m(y)g(k)m(eyw)m(ord)g(table)h(en)m(tries.)630
+3294 y(This)e(reduces)g(the)h(startup)g(time)g(of)g(programs)g(using)f
+(a)h(shared)f(library)g(con)m(taining)630 3404 y(the)j(generated)g(co)s
+(de)g(\(but)f(not)h(as)f(m)m(uc)m(h)h(as)g(option)g(`)p
+Fn(-P)p Fs('\),)i(at)e(the)g(exp)s(ense)f(of)h(one)630
+3513 y(more)31 b(test-and-branc)m(h)f(instruction)h(at)g(run)e(time.)
150 3660 y(`)p Fn(-W)h Fo(hash-table-arra)m(y-name)5
b Fs(')150 3769 y(`)p Fn(--word-array-name=)p Fo(hash-table-arra)m
-(y-name)g Fs(')630 3879 y(Allo)m(ws)39 b(y)m(ou)h(to)h(sp)s(ecify)e
-(the)h(name)g(for)f(the)i(generated)g(arra)m(y)f(con)m(taining)g(the)g
-(hash)630 3988 y(table.)105 b(Default)52 b(name)f(is)g(`)p
-Fn(wordlist)p Fs('.)103 b(This)50 b(option)h(p)s(ermits)f(the)i(use)g
-(of)g(t)m(w)m(o)630 4098 y(hash)37 b(tables)g(in)g(the)h(same)g
-(\014le,)h(ev)m(en)f(when)f(the)h(option)f(`)p Fn(-G)p
-Fs(')h(\(or,)i(equiv)-5 b(alen)m(tly)d(,)39 b(the)630
-4208 y(`)p Fn(\045global-table)p Fs(')27 b(declaration\))k(is)e(giv)m
-(en.)150 4354 y(`)p Fn(-S)h Fo(total-switc)m(h-statemen)m(ts)t
-Fs(')150 4463 y(`)p Fn(--switch=)p Fo(total-switc)m(h-statemen)m(ts)t
-Fs(')630 4573 y(Causes)35 b(the)h(generated)h(C)e(co)s(de)h(to)h(use)e
-(a)h Fn(switch)e Fs(statemen)m(t)k(sc)m(heme,)g(rather)d(than)630
-4682 y(an)j(arra)m(y)g(lo)s(okup)f(table.)63 b(This)36
-b(can)i(lead)g(to)g(a)h(reduction)e(in)f(b)s(oth)h(time)h(and)f(space)
-630 4792 y(requiremen)m(ts)42 b(for)i(some)f(input)f(\014les.)79
-b(The)43 b(argumen)m(t)h(to)g(this)e(option)h(determines)630
+(y-name)g Fs(')630 3879 y(Allo)m(ws)41 b(y)m(ou)f(to)h(sp)s(ecify)f
+(the)g(name)g(for)f(the)i(generated)g(arra)m(y)f(con)m(taining)i(the)e
+(hash)630 3988 y(table.)106 b(Default)53 b(name)e(is)h(`)p
+Fn(wordlist)p Fs('.)103 b(This)51 b(option)h(p)s(ermits)f(the)h(use)g
+(of)g(t)m(w)m(o)630 4098 y(hash)37 b(tables)h(in)g(the)g(same)g
+(\014le,)i(ev)m(en)e(when)f(the)h(option)g(`)p Fn(-G)p
+Fs(')g(\(or,)i(equiv)-5 b(alen)m(tly)d(,)42 b(the)630
+4208 y(`)p Fn(\045global-table)p Fs(')27 b(declaration\))33
+b(is)d(giv)m(en.)150 4354 y(`)p Fn(-S)g Fo(total-switc)m(h-statemen)m
+(ts)t Fs(')150 4463 y(`)p Fn(--switch=)p Fo(total-switc)m(h-statemen)m
+(ts)t Fs(')630 4573 y(Causes)35 b(the)h(generated)h(C)e(co)s(de)h(to)h
+(use)e(a)h Fn(switch)e Fs(statemen)m(t)k(sc)m(heme,)g(rather)d(than)630
+4682 y(an)j(arra)m(y)g(lo)s(okup)g(table.)64 b(This)37
+b(can)h(lead)h(to)f(a)h(reduction)f(in)f(b)s(oth)g(time)i(and)e(space)
+630 4792 y(requiremen)m(ts)43 b(for)h(some)f(input)g(\014les.)80
+b(The)43 b(argumen)m(t)h(to)g(this)f(option)h(determines)630
4902 y(ho)m(w)33 b(man)m(y)f Fn(switch)f Fs(statemen)m(ts)k(are)e
-(generated.)49 b(A)32 b(v)-5 b(alue)33 b(of)f(1)i(generates)g(1)f
-Fn(switch)630 5011 y Fs(con)m(taining)23 b(all)e(the)j(elemen)m(ts,)h
-(a)e(v)-5 b(alue)22 b(of)i(2)f(generates)h(2)g(tables)e(with)g(1/2)i
-(the)g(elemen)m(ts)630 5121 y(in)37 b(eac)m(h)i Fn(switch)p
-Fs(,)g(etc.)65 b(This)36 b(is)h(useful)g(since)g(man)m(y)i(C)e
-(compilers)g(cannot)i(correctly)630 5230 y(generate)29
-b(co)s(de)f(for)f(large)g Fn(switch)f Fs(statemen)m(ts.)41
-b(This)26 b(option)h(w)m(as)h(inspired)c(in)i(part)h(b)m(y)630
-5340 y(Keith)j(Bostic's)h(original)d(C)i(program.)p eop
+(generated.)49 b(A)32 b(v)-5 b(alue)34 b(of)e(1)i(generates)g(1)f
+Fn(switch)630 5011 y Fs(con)m(taining)25 b(all)e(the)h(elemen)m(ts,)i
+(a)d(v)-5 b(alue)23 b(of)h(2)f(generates)h(2)g(tables)f(with)g(1/2)h
+(the)g(elemen)m(ts)630 5121 y(in)38 b(eac)m(h)h Fn(switch)p
+Fs(,)g(etc.)65 b(This)37 b(is)h(useful)g(since)g(man)m(y)h(C)e
+(compilers)i(cannot)g(correctly)630 5230 y(generate)29
+b(co)s(de)f(for)f(large)h Fn(switch)e Fs(statemen)m(ts.)41
+b(This)27 b(option)h(w)m(as)g(inspired)e(in)h(part)g(b)m(y)630
+5340 y(Keith)k(Bostic's)h(original)f(C)f(program.)p eop
+end
%%Page: 23 25
-23 24 bop 150 -116 a Fs(Chapter)30 b(4:)41 b(In)m(v)m(oking)30
-b Fn(gperf)2433 b Fs(23)150 299 y(`)p Fn(-T)p Fs(')150
-408 y(`)p Fn(--omit-struct-type)p Fs(')630 518 y(Prev)m(en)m(ts)29
-b(the)e(transfer)h(of)f(the)h(t)m(yp)s(e)g(declaration)f(to)i(the)f
-(output)f(\014le.)39 b(Use)28 b(this)e(option)630 628
-y(if)j(the)i(t)m(yp)s(e)f(is)g(already)g(de\014ned)f(elsewhere.)150
-795 y(`)p Fn(-p)p Fs(')334 b(This)32 b(option)h(is)f(supp)s(orted)g
-(for)h(compatibilit)m(y)f(with)g(previous)g(releases)i(of)g
-Fn(gperf)p Fs(.)49 b(It)630 905 y(do)s(es)30 b(not)h(do)f(an)m(ything.)
-150 1182 y Fr(4.5)68 b(Options)45 b(for)g(c)l(hanging)h(the)f
-(Algorithms)h(emplo)l(y)l(ed)g(b)l(y)f Fk(gperf)150 1412
-y Fs(`)p Fn(-k)30 b Fo(selected-b)m(yte-p)s(ositions)t
-Fs(')150 1521 y(`)p Fn(--key-positions=)p Fo(selected-b)m(yte-p)s
-(ositions)t Fs(')630 1631 y(Allo)m(ws)c(selection)h(of)g(the)g(b)m(yte)
-h(p)s(ositions)d(used)h(in)g(the)h(k)m(eyw)m(ords')h(hash)e(function.)
-38 b(The)630 1740 y(allo)m(w)m(able)21 b(c)m(hoices)i(range)f(b)s(et)m
-(w)m(een)h(1-255,)j(inclusiv)m(e.)35 b(The)22 b(p)s(ositions)d(are)k
+TeXDict begin 23 24 bop 150 -116 a Fs(Chapter)30 b(4:)41
+b(In)m(v)m(oking)31 b Fn(gperf)2433 b Fs(23)150 299 y(`)p
+Fn(-T)p Fs(')150 408 y(`)p Fn(--omit-struct-type)p Fs(')630
+518 y(Prev)m(en)m(ts)29 b(the)e(transfer)h(of)f(the)h(t)m(yp)s(e)g
+(declaration)h(to)g(the)f(output)f(\014le.)40 b(Use)28
+b(this)f(option)630 628 y(if)j(the)h(t)m(yp)s(e)f(is)h(already)g
+(de\014ned)e(elsewhere.)150 795 y(`)p Fn(-p)p Fs(')334
+b(This)33 b(option)h(is)f(supp)s(orted)f(for)h(compatibilit)m(y)j(with)
+d(previous)g(releases)i(of)f Fn(gperf)p Fs(.)49 b(It)630
+905 y(do)s(es)30 b(not)h(do)f(an)m(ything.)150 1182 y
+Fr(4.5)68 b(Options)45 b(for)g(c)l(hanging)h(the)f(Algorithms)h(emplo)l
+(y)l(ed)g(b)l(y)f Fk(gperf)150 1412 y Fs(`)p Fn(-k)30
+b Fo(selected-b)m(yte-p)s(ositions)t Fs(')150 1521 y(`)p
+Fn(--key-positions=)p Fo(selected-b)m(yte-p)s(ositions)t
+Fs(')630 1631 y(Allo)m(ws)e(selection)h(of)e(the)g(b)m(yte)h(p)s
+(ositions)f(used)f(in)h(the)g(k)m(eyw)m(ords')h(hash)e(function.)39
+b(The)630 1740 y(allo)m(w)m(able)24 b(c)m(hoices)g(range)e(b)s(et)m(w)m
+(een)h(1-255,)j(inclusiv)m(e.)38 b(The)22 b(p)s(ositions)f(are)i
(separated)f(b)m(y)630 1850 y(commas,)27 b(e.g.,)i(`)p
Fn(-k)h(9,4,13,14)p Fs(';)25 b(ranges)h(ma)m(y)g(b)s(e)f(used,)h(e.g.,)
i(`)p Fn(-k)i(2-7)p Fs(';)d(and)e(p)s(ositions)630 1960
-y(ma)m(y)c(o)s(ccur)f(in)g(an)m(y)h(order.)37 b(F)-8
-b(urthermore,)22 b(the)f(wildcard)d('*')j(causes)g(the)g(generated)h
-(hash)630 2069 y(function)36 b(to)i(consider)f Fe(all)h
-Fs(b)m(yte)g(p)s(ositions)d(in)h(eac)m(h)j(k)m(eyw)m(ord,)h(whereas)d
-('$')h(instructs)630 2179 y(the)31 b(hash)g(function)e(to)j(use)f(the)g
-(\\\014nal)g(b)m(yte")h(of)f(a)h(k)m(eyw)m(ord)f(\(this)f(is)h(the)g
-(only)f(w)m(a)m(y)i(to)630 2288 y(use)e(a)h(b)m(yte)g(p)s(osition)d
-(greater)k(than)e(255,)i(inciden)m(tally\).)630 2427
-y(F)-8 b(or)37 b(instance,)g(the)f(option)g(`)p Fn(-k)30
-b(1,2,4,6-10,'$')p Fs(')i(generates)38 b(a)e(hash)g(function)e(that)630
-2536 y(considers)g(p)s(ositions)f(1,2,4,6,7,8,9,10,)42
-b(plus)33 b(the)j(last)f(b)m(yte)g(in)f(eac)m(h)i(k)m(eyw)m(ord)g
-(\(whic)m(h)630 2646 y(ma)m(y)j(b)s(e)f(at)i(a)f(di\013eren)m(t)f(p)s
-(osition)f(for)h(eac)m(h)i(k)m(eyw)m(ord,)h(ob)m(viously\).)65
-b(Keyw)m(ords)38 b(with)630 2756 y(length)29 b(less)g(than)g(the)g
-(indicated)f(b)m(yte)j(p)s(ositions)c(w)m(ork)i(prop)s(erly)-8
-b(,)29 b(since)f(selected)i(b)m(yte)630 2865 y(p)s(ositions)j
-(exceeding)i(the)h(k)m(eyw)m(ord)f(length)f(are)i(simply)c(not)k
-(referenced)f(in)e(the)j(hash)630 2975 y(function.)630
-3113 y(This)27 b(option)i(is)f(not)h(normally)e(needed)i(since)f(v)m
-(ersion)g(2.8)j(of)e Fn(gperf)p Fs(;)f(the)h(default)f(b)m(yte)630
-3223 y(p)s(ositions)34 b(are)i(computed)f(dep)s(ending)e(on)j(the)f(k)m
+y(ma)m(y)c(o)s(ccur)f(in)h(an)m(y)g(order.)37 b(F)-8
+b(urthermore,)22 b(the)f(wildcard)f('*')h(causes)g(the)g(generated)h
+(hash)630 2069 y(function)37 b(to)h(consider)g Fe(all)g
+Fs(b)m(yte)g(p)s(ositions)f(in)g(eac)m(h)i(k)m(eyw)m(ord,)h(whereas)d
+('$')h(instructs)630 2179 y(the)31 b(hash)g(function)f(to)i(use)f(the)g
+(\\\014nal)h(b)m(yte")g(of)f(a)h(k)m(eyw)m(ord)f(\(this)g(is)h(the)f
+(only)g(w)m(a)m(y)h(to)630 2288 y(use)e(a)h(b)m(yte)g(p)s(osition)f
+(greater)i(than)e(255,)i(inciden)m(tally\).)630 2427
+y(F)-8 b(or)37 b(instance,)h(the)e(option)h(`)p Fn(-k)30
+b(1,2,4,6-10,'$')p Fs(')i(generates)38 b(a)e(hash)g(function)f(that)630
+2536 y(considers)g(p)s(ositions)g(1,2,4,6,7,8,9,10,)42
+b(plus)34 b(the)i(last)g(b)m(yte)f(in)g(eac)m(h)h(k)m(eyw)m(ord)g
+(\(whic)m(h)630 2646 y(ma)m(y)j(b)s(e)f(at)i(a)f(di\013eren)m(t)g(p)s
+(osition)g(for)f(eac)m(h)i(k)m(eyw)m(ord,)h(ob)m(viously\).)67
+b(Keyw)m(ords)38 b(with)630 2756 y(length)30 b(less)g(than)f(the)g
+(indicated)h(b)m(yte)h(p)s(ositions)e(w)m(ork)g(prop)s(erly)-8
+b(,)30 b(since)f(selected)i(b)m(yte)630 2865 y(p)s(ositions)k
+(exceeding)h(the)g(k)m(eyw)m(ord)f(length)g(are)h(simply)e(not)i
+(referenced)f(in)f(the)i(hash)630 2975 y(function.)630
+3113 y(This)28 b(option)i(is)f(not)g(normally)g(needed)g(since)g(v)m
+(ersion)g(2.8)i(of)e Fn(gperf)p Fs(;)f(the)h(default)g(b)m(yte)630
+3223 y(p)s(ositions)36 b(are)g(computed)f(dep)s(ending)f(on)i(the)f(k)m
(eyw)m(ord)h(set,)i(through)d(a)h(searc)m(h)g(that)630
-3332 y(minimizes)28 b(the)i(n)m(um)m(b)s(er)f(of)i(b)m(yte)g(p)s
+3332 y(minimizes)31 b(the)f(n)m(um)m(b)s(er)f(of)i(b)m(yte)g(p)s
(ositions.)150 3500 y(`)p Fn(-D)p Fs(')150 3609 y(`)p
-Fn(--duplicates)p Fs(')630 3719 y(Handle)g(k)m(eyw)m(ords)i(whose)f
-(selected)h(b)m(yte)f(sets)h(hash)e(to)i(duplicate)e(v)-5
-b(alues.)45 b(Duplicate)630 3829 y(hash)33 b(v)-5 b(alues)33
-b(can)i(o)s(ccur)e(if)g(a)h(set)h(of)f(k)m(eyw)m(ords)g(has)g(the)g
-(same)g(names,)h(but)e(p)s(ossesses)630 3938 y(di\013eren)m(t)e
-(attributes,)g(or)g(if)g(the)g(selected)h(b)m(yte)g(p)s(ositions)d(are)
-j(not)f(w)m(ell)f(c)m(hosen.)44 b(With)630 4048 y(the)36
-b(-D)g(option)f Fn(gperf)f Fs(treats)j(all)d(these)j(k)m(eyw)m(ords)e
-(as)h(part)g(of)g(an)f(equiv)-5 b(alence)35 b(class)630
-4157 y(and)c(generates)i(a)f(p)s(erfect)g(hash)f(function)f(with)h(m)m
-(ultiple)e(comparisons)i(for)g(duplicate)630 4267 y(k)m(eyw)m(ords.)38
-b(It)21 b(is)e(up)h(to)h(y)m(ou)g(to)h(completely)e(disam)m(biguate)g
-(the)h(k)m(eyw)m(ords)g(b)m(y)g(mo)s(difying)630 4377
-y(the)28 b(generated)g(C)f(co)s(de.)40 b(Ho)m(w)m(ev)m(er,)30
-b Fn(gperf)c Fs(helps)g(y)m(ou)h(out)h(b)m(y)f(organizing)g(the)g
-(output.)630 4515 y(Using)k(this)g(option)g(usually)f(means)i(that)g
-(the)g(generated)h(hash)e(function)g(is)g(no)g(longer)630
-4625 y(p)s(erfect.)48 b(On)31 b(the)i(other)g(hand,)g(it)f(p)s(ermits)f
-Fn(gperf)g Fs(to)i(w)m(ork)g(on)g(k)m(eyw)m(ord)g(sets)g(that)g(it)630
-4734 y(otherwise)d(could)f(not)i(handle.)150 4902 y(`)p
+Fn(--duplicates)p Fs(')630 3719 y(Handle)h(k)m(eyw)m(ords)h(whose)f
+(selected)i(b)m(yte)e(sets)h(hash)e(to)i(duplicate)g(v)-5
+b(alues.)46 b(Duplicate)630 3829 y(hash)33 b(v)-5 b(alues)34
+b(can)h(o)s(ccur)e(if)h(a)g(set)h(of)f(k)m(eyw)m(ords)g(has)g(the)g
+(same)g(names,)h(but)e(p)s(ossesses)630 3938 y(di\013eren)m(t)f
+(attributes,)g(or)f(if)h(the)f(selected)i(b)m(yte)f(p)s(ositions)f(are)
+h(not)f(w)m(ell)h(c)m(hosen.)44 b(With)630 4048 y(the)36
+b(-D)g(option)g Fn(gperf)e Fs(treats)j(all)f(these)h(k)m(eyw)m(ords)e
+(as)h(part)g(of)g(an)f(equiv)-5 b(alence)37 b(class)630
+4157 y(and)31 b(generates)i(a)f(p)s(erfect)g(hash)f(function)g(with)h
+(m)m(ultiple)g(comparisons)g(for)f(duplicate)630 4267
+y(k)m(eyw)m(ords.)38 b(It)21 b(is)f(up)g(to)h(y)m(ou)g(to)h(completely)
+g(disam)m(biguate)g(the)f(k)m(eyw)m(ords)g(b)m(y)g(mo)s(difying)630
+4377 y(the)28 b(generated)g(C)f(co)s(de.)40 b(Ho)m(w)m(ev)m(er,)30
+b Fn(gperf)c Fs(helps)h(y)m(ou)g(out)h(b)m(y)f(organizing)i(the)e
+(output.)630 4515 y(Using)32 b(this)g(option)g(usually)g(means)g(that)g
+(the)g(generated)h(hash)e(function)h(is)g(no)f(longer)630
+4625 y(p)s(erfect.)48 b(On)31 b(the)i(other)g(hand,)g(it)g(p)s(ermits)f
+Fn(gperf)f Fs(to)i(w)m(ork)g(on)g(k)m(eyw)m(ord)g(sets)g(that)g(it)630
+4734 y(otherwise)e(could)f(not)h(handle.)150 4902 y(`)p
Fn(-m)f Fo(iterations)t Fs(')150 5011 y(`)p Fn(--multiple-iterations=)p
-Fo(i)o(terations)t Fs(')630 5121 y(P)m(erform)24 b(m)m(ultiple)e(c)m
-(hoices)j(of)f(the)h(`)p Fn(-i)p Fs(')f(and)g(`)p Fn(-j)p
-Fs(')g(v)-5 b(alues,)25 b(and)e(c)m(ho)s(ose)j(the)e(b)s(est)g
-(results.)630 5230 y(This)33 b(increases)i(the)g(running)d(time)i(b)m
-(y)h(a)g(factor)h(of)f Fo(iterations)j Fs(but)c(do)s(es)g(a)i(go)s(o)s
-(d)e(job)630 5340 y(minimizing)27 b(the)j(generated)i(table)e(size.)p
-eop
+Fo(iterations)t Fs(')630 5121 y(P)m(erform)24 b(m)m(ultiple)h(c)m
+(hoices)h(of)e(the)h(`)p Fn(-i)p Fs(')f(and)g(`)p Fn(-j)p
+Fs(')g(v)-5 b(alues,)26 b(and)d(c)m(ho)s(ose)j(the)e(b)s(est)g
+(results.)630 5230 y(This)34 b(increases)i(the)f(running)e(time)i(b)m
+(y)g(a)g(factor)h(of)f Fo(iterations)40 b Fs(but)34 b(do)s(es)g(a)i(go)
+s(o)s(d)e(job)630 5340 y(minimizing)d(the)f(generated)i(table)f(size.)p
+eop end
%%Page: 24 26
-24 25 bop 150 -116 a Fs(Chapter)30 b(4:)41 b(In)m(v)m(oking)30
-b Fn(gperf)2433 b Fs(24)150 299 y(`)p Fn(-i)30 b Fo(initial-v)-5
-b(alue)5 b Fs(')150 408 y(`)p Fn(--initial-asso=)p Fo(initial)o(-v)-5
-b(alue)5 b Fs(')630 518 y(Pro)m(vides)28 b(an)g(initial)d
-Fo(v)-5 b(alue)33 b Fs(for)28 b(the)g(asso)s(ciate)h(v)-5
-b(alues)28 b(arra)m(y)-8 b(.)41 b(Default)28 b(is)f(0.)41
-b(Increasing)630 628 y(the)30 b(initial)d(v)-5 b(alue)30
-b(helps)e(in\015ate)h(the)h(\014nal)f(table)h(size,)g(p)s(ossibly)d
-(leading)i(to)h(more)g(time)630 737 y(e\016cien)m(t)e(k)m(eyw)m(ord)f
-(lo)s(okups.)38 b(Note)29 b(that)e(this)f(option)h(is)f(not)h
-(particularly)e(useful)g(when)630 847 y(`)p Fn(-S)p Fs(')j(\(or,)i
-(equiv)-5 b(alen)m(tly)d(,)28 b(`)p Fn(\045switch)p Fs('\))f(is)h
-(used.)39 b(Also,)29 b(`)p Fn(-i)p Fs(')f(is)f(o)m(v)m(erridden)h(when)
-f(the)i(`)p Fn(-r)p Fs(')630 956 y(option)h(is)f(used.)150
-1150 y(`)p Fn(-j)h Fo(jump-v)-5 b(alue)5 b Fs(')150 1260
-y(`)p Fn(--jump=)p Fo(jump-v)-5 b(alue)5 b Fs(')630 1369
-y(A\013ects)41 b(the)f(\\jump)f(v)-5 b(alue",)43 b(i.e.,)g(ho)m(w)d
-(far)g(to)g(adv)-5 b(ance)41 b(the)f(asso)s(ciated)h(b)m(yte)f(v)-5
-b(alue)630 1479 y(up)s(on)29 b(collisions.)39 b Fo(Jump-v)-5
-b(alue)34 b Fs(is)29 b(rounded)g(up)h(to)h(an)f(o)s(dd)g(n)m(um)m(b)s
-(er,)f(the)i(default)f(is)f(5.)630 1588 y(If)h(the)g
-Fo(jump-v)-5 b(alue)34 b Fs(is)c(0)g Fn(gperf)f Fs(jumps)g(b)m(y)h
-(random)g(amoun)m(ts.)150 1782 y(`)p Fn(-n)p Fs(')150
-1892 y(`)p Fn(--no-strlen)p Fs(')630 2001 y(Instructs)c(the)i
-(generator)g(not)f(to)h(include)d(the)j(length)e(of)h(a)h(k)m(eyw)m
-(ord)g(when)e(computing)630 2111 y(its)40 b(hash)g(v)-5
-b(alue.)71 b(This)39 b(ma)m(y)i(sa)m(v)m(e)h(a)f(few)f(assem)m(bly)g
-(instructions)f(in)g(the)i(generated)630 2221 y(lo)s(okup)29
-b(table.)150 2414 y(`)p Fn(-r)p Fs(')150 2524 y(`)p Fn(--random)p
-Fs(')630 2633 y(Utilizes)37 b(randomness)h(to)h(initialize)c(the)k
-(asso)s(ciated)g(v)-5 b(alues)37 b(table.)65 b(This)37
-b(frequen)m(tly)630 2743 y(generates)23 b(solutions)c(faster)j(than)f
-(using)f(deterministic)f(initialization)f(\(whic)m(h)i(starts)i(all)630
-2853 y(asso)s(ciated)27 b(v)-5 b(alues)27 b(at)g(0\).)40
-b(F)-8 b(urthermore,)28 b(using)e(the)h(randomization)e(option)i
-(generally)630 2962 y(increases)j(the)h(size)f(of)g(the)h(table.)150
+TeXDict begin 24 25 bop 150 -116 a Fs(Chapter)30 b(4:)41
+b(In)m(v)m(oking)31 b Fn(gperf)2433 b Fs(24)150 299 y(`)p
+Fn(-i)30 b Fo(initial-v)-5 b(alue)5 b Fs(')150 408 y(`)p
+Fn(--initial-asso=)p Fo(initial-v)-5 b(alue)5 b Fs(')630
+518 y(Pro)m(vides)29 b(an)f(initial)h Fo(v)-5 b(alue)34
+b Fs(for)28 b(the)g(asso)s(ciate)i(v)-5 b(alues)29 b(arra)m(y)-8
+b(.)41 b(Default)29 b(is)f(0.)41 b(Increasing)630 628
+y(the)30 b(initial)h(v)-5 b(alue)31 b(helps)e(in\015ate)h(the)g
+(\014nal)g(table)h(size,)g(p)s(ossibly)e(leading)i(to)f(more)g(time)630
+737 y(e\016cien)m(t)f(k)m(eyw)m(ord)e(lo)s(okups.)39
+b(Note)29 b(that)e(this)g(option)h(is)f(not)g(particularly)h(useful)e
+(when)630 847 y(`)p Fn(-S)p Fs(')i(\(or,)i(equiv)-5 b(alen)m(tly)d(,)31
+b(`)p Fn(\045switch)p Fs('\))c(is)i(used.)39 b(Also,)30
+b(`)p Fn(-i)p Fs(')e(is)g(o)m(v)m(erridden)h(when)e(the)i(`)p
+Fn(-r)p Fs(')630 956 y(option)i(is)f(used.)150 1150 y(`)p
+Fn(-j)g Fo(jump-v)-5 b(alue)5 b Fs(')150 1260 y(`)p Fn(--jump=)p
+Fo(jump-v)-5 b(alue)5 b Fs(')630 1369 y(A\013ects)41
+b(the)f(\\jump)f(v)-5 b(alue",)44 b(i.e.,)g(ho)m(w)c(far)g(to)g(adv)-5
+b(ance)41 b(the)f(asso)s(ciated)i(b)m(yte)e(v)-5 b(alue)630
+1479 y(up)s(on)29 b(collisions.)43 b Fo(Jump-v)-5 b(alue)35
+b Fs(is)30 b(rounded)f(up)h(to)h(an)f(o)s(dd)g(n)m(um)m(b)s(er,)f(the)i
+(default)g(is)f(5.)630 1588 y(If)g(the)g Fo(jump-v)-5
+b(alue)35 b Fs(is)c(0)f Fn(gperf)f Fs(jumps)g(b)m(y)h(random)g(amoun)m
+(ts.)150 1782 y(`)p Fn(-n)p Fs(')150 1892 y(`)p Fn(--no-strlen)p
+Fs(')630 2001 y(Instructs)c(the)i(generator)g(not)f(to)h(include)f(the)
+h(length)f(of)g(a)h(k)m(eyw)m(ord)g(when)e(computing)630
+2111 y(its)41 b(hash)f(v)-5 b(alue.)72 b(This)40 b(ma)m(y)h(sa)m(v)m(e)
+h(a)f(few)f(assem)m(bly)h(instructions)g(in)f(the)h(generated)630
+2221 y(lo)s(okup)30 b(table.)150 2414 y(`)p Fn(-r)p Fs(')150
+2524 y(`)p Fn(--random)p Fs(')630 2633 y(Utilizes)40
+b(randomness)e(to)h(initialize)h(the)f(asso)s(ciated)h(v)-5
+b(alues)38 b(table.)66 b(This)38 b(frequen)m(tly)630
+2743 y(generates)23 b(solutions)e(faster)h(than)f(using)g
+(deterministic)h(initialization)i(\(whic)m(h)d(starts)h(all)630
+2853 y(asso)s(ciated)28 b(v)-5 b(alues)28 b(at)f(0\).)40
+b(F)-8 b(urthermore,)28 b(using)f(the)g(randomization)g(option)h
+(generally)630 2962 y(increases)j(the)g(size)g(of)f(the)h(table.)150
3156 y(`)p Fn(-s)f Fo(size-m)m(ultiple)5 b Fs(')150 3266
-y(`)p Fn(--size-multiple=)p Fo(size-m)m(ultipl)o(e)g
-Fs(')630 3375 y(A\013ects)40 b(the)e(size)g(of)h(the)f(generated)i
-(hash)d(table.)65 b(The)38 b(n)m(umeric)f(argumen)m(t)i(for)f(this)630
-3485 y(option)32 b(indicates)f(\\ho)m(w)i(man)m(y)g(times)f(larger)g
-(or)g(smaller")g(the)g(maxim)m(um)f(asso)s(ciated)630
-3594 y(v)-5 b(alue)37 b(range)h(should)d(b)s(e,)k(in)d(relationship)f
-(to)j(the)f(n)m(um)m(b)s(er)g(of)g(k)m(eyw)m(ords.)62
-b(It)38 b(can)g(b)s(e)630 3704 y(written)f(as)i(an)f(in)m(teger,)k(a)c
-(\015oating-p)s(oin)m(t)g(n)m(um)m(b)s(er)f(or)i(a)f(fraction.)65
-b(F)-8 b(or)39 b(example,)i(a)630 3814 y(v)-5 b(alue)39
-b(of)g(3)h(means)f(\\allo)m(w)g(the)h(maxim)m(um)e(asso)s(ciated)h(v)-5
-b(alue)39 b(to)h(b)s(e)f(ab)s(out)g(3)g(times)630 3923
-y(larger)32 b(than)h(the)g(n)m(um)m(b)s(er)e(of)i(input)e(k)m(eyw)m
-(ords".)49 b(Con)m(v)m(ersely)-8 b(,)34 b(a)f(v)-5 b(alue)32
-b(of)h(1/3)h(means)630 4033 y(\\allo)m(w)41 b(the)g(maxim)m(um)e(asso)s
-(ciated)j(v)-5 b(alue)40 b(to)i(b)s(e)e(ab)s(out)g(3)h(times)g(smaller)
-e(than)i(the)630 4142 y(n)m(um)m(b)s(er)33 b(of)i(input)e(k)m(eyw)m
-(ords".)55 b(V)-8 b(alues)34 b(smaller)g(than)g(1)h(are)g(useful)e(for)
-i(limiting)d(the)630 4252 y(o)m(v)m(erall)d(size)f(of)h(the)f
-(generated)i(hash)e(table,)h(though)f(the)g(option)g(`)p
-Fn(-m)p Fs(')h(is)e(b)s(etter)i(at)g(this)630 4361 y(purp)s(ose.)630
-4513 y(If)44 b(`generate)h(switc)m(h')f(option)g(`)p
-Fn(-S)p Fs(')g(\(or,)k(equiv)-5 b(alen)m(tly)d(,)46 b(`)p
-Fn(\045switch)p Fs('\))d(is)g Fl(not)54 b Fs(enabled,)630
-4623 y(the)45 b(maxim)m(um)g(asso)s(ciated)g(v)-5 b(alue)45
-b(in\015uences)f(the)h(static)h(arra)m(y)g(table)f(size,)k(and)c(a)630
-4732 y(larger)26 b(table)g(should)e(decrease)j(the)f(time)g(required)e
-(for)i(an)f(unsuccessful)f(searc)m(h,)k(at)f(the)630
-4842 y(exp)s(ense)j(of)g(extra)i(table)e(space.)630 4994
-y(The)35 b(default)f(v)-5 b(alue)35 b(is)f(1,)j(th)m(us)e(the)h
-(default)e(maxim)m(um)g(asso)s(ciated)i(v)-5 b(alue)35
-b(ab)s(out)g(the)630 5103 y(same)h(size)f(as)g(the)h(n)m(um)m(b)s(er)e
-(of)h(k)m(eyw)m(ords)h(\(for)g(e\016ciency)-8 b(,)37
-b(the)e(maxim)m(um)f(asso)s(ciated)630 5213 y(v)-5 b(alue)35
-b(is)g(alw)m(a)m(ys)h(rounded)e(up)g(to)i(a)g(p)s(o)m(w)m(er)g(of)f
-(2\).)57 b(The)35 b(actual)h(table)g(size)f(ma)m(y)h(v)-5
-b(ary)630 5322 y(somewhat,)31 b(since)f(this)f(tec)m(hnique)h(is)g
-(essen)m(tially)f(a)i(heuristic.)p eop
+y(`)p Fn(--size-multiple=)p Fo(size-m)m(ultiple)g Fs(')630
+3375 y(A\013ects)40 b(the)e(size)h(of)g(the)f(generated)i(hash)d
+(table.)66 b(The)38 b(n)m(umeric)g(argumen)m(t)h(for)f(this)630
+3485 y(option)33 b(indicates)g(\\ho)m(w)g(man)m(y)g(times)g(larger)g
+(or)f(smaller")i(the)e(maxim)m(um)g(asso)s(ciated)630
+3594 y(v)-5 b(alue)38 b(range)g(should)e(b)s(e,)j(in)e(relationship)h
+(to)g(the)f(n)m(um)m(b)s(er)g(of)g(k)m(eyw)m(ords.)62
+b(It)38 b(can)g(b)s(e)630 3704 y(written)g(as)h(an)f(in)m(teger,)43
+b(a)38 b(\015oating-p)s(oin)m(t)i(n)m(um)m(b)s(er)d(or)i(a)f(fraction.)
+66 b(F)-8 b(or)39 b(example,)j(a)630 3814 y(v)-5 b(alue)40
+b(of)f(3)h(means)f(\\allo)m(w)i(the)f(maxim)m(um)f(asso)s(ciated)h(v)-5
+b(alue)40 b(to)g(b)s(e)f(ab)s(out)g(3)g(times)630 3923
+y(larger)33 b(than)g(the)g(n)m(um)m(b)s(er)e(of)i(input)f(k)m(eyw)m
+(ords".)49 b(Con)m(v)m(ersely)-8 b(,)35 b(a)e(v)-5 b(alue)33
+b(of)g(1/3)h(means)630 4033 y(\\allo)m(w)43 b(the)e(maxim)m(um)f(asso)s
+(ciated)j(v)-5 b(alue)41 b(to)h(b)s(e)e(ab)s(out)g(3)h(times)h(smaller)
+f(than)g(the)630 4142 y(n)m(um)m(b)s(er)33 b(of)i(input)f(k)m(eyw)m
+(ords".)55 b(V)-8 b(alues)35 b(smaller)h(than)e(1)h(are)g(useful)f(for)
+h(limiting)h(the)630 4252 y(o)m(v)m(erall)31 b(size)e(of)g(the)f
+(generated)i(hash)e(table,)i(though)e(the)g(option)h(`)p
+Fn(-m)p Fs(')g(is)f(b)s(etter)h(at)g(this)630 4361 y(purp)s(ose.)630
+4513 y(If)44 b(`generate)h(switc)m(h')g(option)g(`)p
+Fn(-S)p Fs(')f(\(or,)k(equiv)-5 b(alen)m(tly)d(,)49 b(`)p
+Fn(\045switch)p Fs('\))43 b(is)h Fl(not)54 b Fs(enabled,)630
+4623 y(the)45 b(maxim)m(um)h(asso)s(ciated)g(v)-5 b(alue)46
+b(in\015uences)f(the)g(static)i(arra)m(y)f(table)g(size,)k(and)45
+b(a)630 4732 y(larger)27 b(table)g(should)e(decrease)i(the)f(time)h
+(required)e(for)h(an)f(unsuccessful)g(searc)m(h,)j(at)f(the)630
+4842 y(exp)s(ense)j(of)g(extra)i(table)f(space.)630 4994
+y(The)k(default)g(v)-5 b(alue)36 b(is)f(1,)i(th)m(us)e(the)h(default)f
+(maxim)m(um)g(asso)s(ciated)i(v)-5 b(alue)36 b(ab)s(out)f(the)630
+5103 y(same)h(size)g(as)f(the)h(n)m(um)m(b)s(er)e(of)h(k)m(eyw)m(ords)h
+(\(for)g(e\016ciency)-8 b(,)38 b(the)d(maxim)m(um)g(asso)s(ciated)630
+5213 y(v)-5 b(alue)36 b(is)g(alw)m(a)m(ys)h(rounded)d(up)g(to)i(a)g(p)s
+(o)m(w)m(er)g(of)f(2\).)57 b(The)35 b(actual)i(table)g(size)f(ma)m(y)g
+(v)-5 b(ary)630 5322 y(somewhat,)31 b(since)g(this)f(tec)m(hnique)h(is)
+g(essen)m(tially)h(a)f(heuristic.)p eop end
%%Page: 25 27
-25 26 bop 150 -116 a Fs(Chapter)30 b(4:)41 b(In)m(v)m(oking)30
-b Fn(gperf)2433 b Fs(25)150 299 y Fr(4.6)68 b(Informativ)l(e)47
-b(Output)150 516 y Fs(`)p Fn(-h)p Fs(')150 626 y(`)p
-Fn(--help)p Fs(')142 b(Prin)m(ts)23 b(a)h(short)f(summary)g(on)h(the)g
-(meaning)f(of)h(eac)m(h)h(program)e(option.)38 b(Ab)s(orts)23
-b(further)630 736 y(program)30 b(execution.)150 895 y(`)p
-Fn(-v)p Fs(')150 1005 y(`)p Fn(--version)p Fs(')630 1114
-y(Prin)m(ts)f(out)i(the)f(curren)m(t)h(v)m(ersion)e(n)m(um)m(b)s(er.)
-150 1274 y(`)p Fn(-d)p Fs(')150 1383 y(`)p Fn(--debug)p
-Fs(')94 b(Enables)27 b(the)i(debugging)e(option.)39 b(This)27
-b(pro)s(duces)g(v)m(erb)s(ose)i(diagnostics)e(to)i(\\standard)630
-1493 y(error")i(when)g Fn(gperf)f Fs(is)g(executing.)44
-b(It)32 b(is)e(useful)g(b)s(oth)h(for)g(main)m(taining)f(the)h(program)
-630 1602 y(and)f(for)h(determining)e(whether)h(a)h(giv)m(en)g(set)g(of)
-g(options)f(is)g(actually)h(sp)s(eeding)e(up)h(the)630
-1712 y(searc)m(h)41 b(for)e(a)h(solution.)68 b(Some)40
-b(useful)e(information)g(is)h(dump)s(ed)f(at)i(the)g(end)g(of)g(the)630
-1822 y(program)30 b(when)g(the)g(`)p Fn(-d)p Fs(')g(option)g(is)g
-(enabled.)p eop
+TeXDict begin 25 26 bop 150 -116 a Fs(Chapter)30 b(4:)41
+b(In)m(v)m(oking)31 b Fn(gperf)2433 b Fs(25)150 299 y
+Fr(4.6)68 b(Informativ)l(e)47 b(Output)150 516 y Fs(`)p
+Fn(-h)p Fs(')150 626 y(`)p Fn(--help)p Fs(')142 b(Prin)m(ts)24
+b(a)g(short)f(summary)g(on)h(the)g(meaning)g(of)g(eac)m(h)h(program)e
+(option.)39 b(Ab)s(orts)23 b(further)630 736 y(program)30
+b(execution.)150 895 y(`)p Fn(-v)p Fs(')150 1005 y(`)p
+Fn(--version)p Fs(')630 1114 y(Prin)m(ts)g(out)h(the)f(curren)m(t)h(v)m
+(ersion)f(n)m(um)m(b)s(er.)150 1274 y(`)p Fn(-d)p Fs(')150
+1383 y(`)p Fn(--debug)p Fs(')94 b(Enables)28 b(the)h(debugging)f
+(option.)40 b(This)28 b(pro)s(duces)f(v)m(erb)s(ose)i(diagnostics)g(to)
+g(\\standard)630 1493 y(error")i(when)g Fn(gperf)f Fs(is)h(executing.)
+45 b(It)32 b(is)f(useful)g(b)s(oth)g(for)g(main)m(taining)i(the)e
+(program)630 1602 y(and)f(for)h(determining)g(whether)f(a)h(giv)m(en)h
+(set)f(of)g(options)g(is)g(actually)i(sp)s(eeding)d(up)g(the)630
+1712 y(searc)m(h)41 b(for)e(a)h(solution.)70 b(Some)40
+b(useful)f(information)h(is)g(dump)s(ed)e(at)i(the)g(end)g(of)g(the)630
+1822 y(program)30 b(when)g(the)g(`)p Fn(-d)p Fs(')g(option)h(is)g
+(enabled.)p eop end
%%Page: 26 28
-26 27 bop 150 -116 a Fs(Chapter)30 b(5:)41 b(Kno)m(wn)30
-b(Bugs)g(and)g(Limitations)e(with)h Fn(gperf)1397 b Fs(26)150
-299 y Fp(5)80 b(Kno)l(wn)53 b(Bugs)f(and)i(Limitations)h(with)e
-Fm(gperf)275 533 y Fs(The)29 b(follo)m(wing)g(are)i(some)g(limitations)
-d(with)h(the)h(curren)m(t)h(release)f(of)h Fn(gperf)p
-Fs(:)225 667 y Fq(\017)60 b Fs(The)31 b Fn(gperf)g Fs(utilit)m(y)f(is)h
-(tuned)g(to)h(execute)h(quic)m(kly)-8 b(,)32 b(and)f(w)m(orks)h(quic)m
-(kly)e(for)i(small)e(to)j(medium)330 777 y(size)h(data)h(sets)g
-(\(around)f(1000)i(k)m(eyw)m(ords\).)54 b(It)34 b(is)g(extremely)h
-(useful)d(for)i(main)m(taining)f(p)s(erfect)330 887 y(hash)40
-b(functions)g(for)g(compiler)g(k)m(eyw)m(ord)h(sets.)72
-b(Sev)m(eral)41 b(recen)m(t)h(enhancemen)m(ts)g(no)m(w)e(enable)330
-996 y Fn(gperf)31 b Fs(to)j(w)m(ork)e(e\016cien)m(tly)h(on)f(m)m(uc)m
-(h)h(larger)f(k)m(eyw)m(ord)h(sets)g(\(o)m(v)m(er)i(15,000)g(k)m(eyw)m
-(ords\).)48 b(When)330 1106 y(pro)s(cessing)29 b(large)i(k)m(eyw)m(ord)
-f(sets)h(it)f(helps)f(greatly)i(to)g(ha)m(v)m(e)g(o)m(v)m(er)h(8)f
-(megs)g(of)f(RAM.)225 1240 y Fq(\017)60 b Fs(The)43 b(size)h(of)g(the)g
-(generate)h(static)g(k)m(eyw)m(ord)f(arra)m(y)g(can)g(get)h
-Fl(extr)-5 b(emely)53 b Fs(large)44 b(if)f(the)h(input)330
-1350 y(k)m(eyw)m(ord)d(\014le)e(is)g(large)i(or)f(if)f(the)i(k)m(eyw)m
-(ords)f(are)h(quite)f(similar.)67 b(This)39 b(tends)h(to)h(slo)m(w)e
-(do)m(wn)330 1460 y(the)c(compilation)e(of)i(the)f(generated)i(C)e(co)s
-(de,)i(and)e Fl(gr)-5 b(e)g(atly)44 b Fs(in\015ates)34
-b(the)h(ob)5 b(ject)35 b(co)s(de)g(size.)53 b(If)330
-1569 y(this)39 b(situation)g(o)s(ccurs,)j(consider)d(using)f(the)i(`)p
-Fn(-S)p Fs(')g(option)f(to)i(reduce)e(data)i(size,)h(p)s(oten)m(tially)
-330 1679 y(increasing)g(k)m(eyw)m(ord)i(recognition)f(time)g(a)h
-(negligible)e(amoun)m(t.)80 b(Since)43 b(man)m(y)g(C)h(compilers)330
-1788 y(cannot)37 b(correctly)h(generate)g(co)s(de)f(for)g(large)g
-(switc)m(h)f(statemen)m(ts)j(it)d(is)g(imp)s(ortan)m(t)g(to)i(qualify)
-330 1898 y(the)i Fo(-S)46 b Fs(option)39 b(with)g(an)h(appropriate)f(n)
-m(umerical)g(argumen)m(t)h(that)h(con)m(trols)g(the)f(n)m(um)m(b)s(er)f
-(of)330 2007 y(switc)m(h)30 b(statemen)m(ts)i(generated.)225
-2142 y Fq(\017)60 b Fs(The)35 b(maxim)m(um)f(n)m(um)m(b)s(er)g(of)i
-(selected)g(b)m(yte)g(p)s(ositions)d(has)i(an)h(arbitrary)e(limit)f(of)
-j(255.)57 b(This)330 2252 y(restriction)27 b(should)f(b)s(e)h(remo)m(v)
-m(ed,)j(and)d(if)g(an)m(y)m(one)i(considers)e(this)g(a)h(problem)e
-(write)i(me)g(and)f(let)330 2361 y(me)j(kno)m(w)h(so)f(I)h(can)f(remo)m
-(v)m(e)i(the)f(constrain)m(t.)p eop
+TeXDict begin 26 27 bop 150 -116 a Fs(Chapter)30 b(5:)41
+b(Kno)m(wn)30 b(Bugs)g(and)g(Limitations)h(with)f Fn(gperf)1397
+b Fs(26)150 299 y Fp(5)80 b(Kno)l(wn)53 b(Bugs)f(and)i(Limitations)f
+(with)f Fm(gperf)275 533 y Fs(The)29 b(follo)m(wing)j(are)f(some)g
+(limitations)h(with)e(the)g(curren)m(t)h(release)g(of)g
+Fn(gperf)p Fs(:)225 667 y Fq(\017)60 b Fs(The)31 b Fn(gperf)g
+Fs(utilit)m(y)i(is)f(tuned)f(to)h(execute)h(quic)m(kly)-8
+b(,)34 b(and)d(w)m(orks)h(quic)m(kly)g(for)g(small)g(to)h(medium)330
+777 y(size)i(data)g(sets)g(\(around)f(1000)i(k)m(eyw)m(ords\).)54
+b(It)34 b(is)h(extremely)h(useful)d(for)h(main)m(taining)i(p)s(erfect)
+330 887 y(hash)k(functions)h(for)f(compiler)i(k)m(eyw)m(ord)f(sets.)72
+b(Sev)m(eral)42 b(recen)m(t)g(enhancemen)m(ts)g(no)m(w)e(enable)330
+996 y Fn(gperf)31 b Fs(to)j(w)m(ork)e(e\016cien)m(tly)j(on)d(m)m(uc)m
+(h)h(larger)g(k)m(eyw)m(ord)g(sets)g(\(o)m(v)m(er)i(15,000)g(k)m(eyw)m
+(ords\).)48 b(When)330 1106 y(pro)s(cessing)30 b(large)i(k)m(eyw)m(ord)
+e(sets)h(it)g(helps)f(greatly)i(to)f(ha)m(v)m(e)g(o)m(v)m(er)h(8)f
+(megs)g(of)f(RAM.)225 1240 y Fq(\017)60 b Fs(The)43 b(size)i(of)f(the)g
+(generate)h(static)h(k)m(eyw)m(ord)e(arra)m(y)g(can)g(get)h
+Fl(extr)-5 b(emely)53 b Fs(large)45 b(if)f(the)g(input)330
+1350 y(k)m(eyw)m(ord)d(\014le)f(is)g(large)i(or)e(if)g(the)h(k)m(eyw)m
+(ords)f(are)h(quite)g(similar.)70 b(This)40 b(tends)g(to)h(slo)m(w)f
+(do)m(wn)330 1460 y(the)35 b(compilation)h(of)f(the)f(generated)i(C)e
+(co)s(de,)i(and)e Fl(gr)-5 b(e)g(atly)44 b Fs(in\015ates)35
+b(the)g(ob)5 b(ject)35 b(co)s(de)g(size.)54 b(If)330
+1569 y(this)40 b(situation)h(o)s(ccurs,)h(consider)e(using)f(the)h(`)p
+Fn(-S)p Fs(')g(option)g(to)h(reduce)e(data)i(size,)i(p)s(oten)m(tially)
+330 1679 y(increasing)h(k)m(eyw)m(ord)g(recognition)h(time)f(a)g
+(negligible)i(amoun)m(t.)80 b(Since)44 b(man)m(y)f(C)h(compilers)330
+1788 y(cannot)37 b(correctly)i(generate)f(co)s(de)f(for)g(large)h
+(switc)m(h)f(statemen)m(ts)i(it)e(is)g(imp)s(ortan)m(t)g(to)h(qualify)
+330 1898 y(the)i Fo(-S)46 b Fs(option)40 b(with)g(an)g(appropriate)g(n)
+m(umerical)h(argumen)m(t)f(that)h(con)m(trols)h(the)e(n)m(um)m(b)s(er)f
+(of)330 2007 y(switc)m(h)31 b(statemen)m(ts)h(generated.)225
+2142 y Fq(\017)60 b Fs(The)35 b(maxim)m(um)g(n)m(um)m(b)s(er)f(of)i
+(selected)h(b)m(yte)f(p)s(ositions)f(has)g(an)h(arbitrary)f(limit)h(of)
+g(255.)57 b(This)330 2252 y(restriction)29 b(should)e(b)s(e)g(remo)m(v)
+m(ed,)j(and)d(if)h(an)m(y)m(one)h(considers)f(this)g(a)g(problem)f
+(write)i(me)f(and)f(let)330 2361 y(me)j(kno)m(w)h(so)f(I)h(can)f(remo)m
+(v)m(e)i(the)f(constrain)m(t.)p eop end
%%Page: 27 29
-27 28 bop 150 -116 a Fs(Chapter)30 b(6:)41 b(Things)28
-b(Still)g(Left)j(to)g(Do)2133 b(27)150 299 y Fp(6)80
-b(Things)54 b(Still)i(Left)d(to)g(Do)275 533 y Fs(It)24
-b(should)e(b)s(e)i(\\relativ)m(ely")h(easy)g(to)g(replace)f(the)h
-(curren)m(t)f(p)s(erfect)g(hash)g(function)f(algorithm)g(with)150
-643 y(a)35 b(more)f(exhaustiv)m(e)g(approac)m(h;)j(the)d(p)s(erfect)h
-(hash)e(mo)s(dule)g(is)g(essen)m(tial)h(indep)s(enden)m(t)e(from)i
-(other)150 752 y(program)c(mo)s(dules.)39 b(Additional)28
-b(w)m(orth)m(while)h(impro)m(v)m(emen)m(ts)i(include:)225
-887 y Fq(\017)60 b Fs(Another)34 b(useful)e(extension)h(in)m(v)m(olv)m
-(es)h(mo)s(difying)d(the)j(program)f(to)i(generate)g(\\minimal")d(p)s
-(er-)330 996 y(fect)42 b(hash)f(functions)e(\(under)i(certain)g
-(circumstances,)j(the)d(curren)m(t)g(v)m(ersion)g(can)g(b)s(e)g(rather)
-330 1106 y(extra)m(v)-5 b(agan)m(t)39 b(in)c(the)i(generated)g(table)f
-(size\).)59 b(This)35 b(is)g(mostly)h(of)h(theoretical)f(in)m(terest,)j
-(since)330 1215 y(a)g(sparse)f(table)g(often)h(pro)s(duces)e(faster)i
-(lo)s(okups,)g(and)f(use)g(of)h(the)g(`)p Fn(-S)p Fs(')f
-Fn(switch)f Fs(option)h(can)330 1325 y(minimize)e(the)j(data)g(size,)i
-(at)e(the)g(exp)s(ense)f(of)h(sligh)m(tly)e(longer)h(lo)s(okups)f
-(\(note)j(that)f(the)g(gcc)330 1435 y(compiler)c(generally)g(pro)s
-(duces)g(go)s(o)s(d)h(co)s(de)g(for)g Fn(switch)f Fs(statemen)m(ts,)k
-(reducing)c(the)h(need)g(for)330 1544 y(more)31 b(complex)f(sc)m
-(hemes\).)225 1679 y Fq(\017)60 b Fs(In)38 b(addition)f(to)j(impro)m
-(ving)d(the)j(algorithm,)g(it)e(w)m(ould)g(also)h(b)s(e)g(useful)e(to)i
+TeXDict begin 27 28 bop 150 -116 a Fs(Chapter)30 b(6:)41
+b(Things)29 b(Still)i(Left)g(to)g(Do)2133 b(27)150 299
+y Fp(6)80 b(Things)53 b(Still)g(Left)g(to)g(Do)275 533
+y Fs(It)24 b(should)f(b)s(e)h(\\relativ)m(ely")k(easy)d(to)g(replace)g
+(the)g(curren)m(t)f(p)s(erfect)g(hash)g(function)g(algorithm)h(with)150
+643 y(a)35 b(more)f(exhaustiv)m(e)h(approac)m(h;)i(the)d(p)s(erfect)h
+(hash)e(mo)s(dule)h(is)g(essen)m(tial)i(indep)s(enden)m(t)d(from)h
+(other)150 752 y(program)c(mo)s(dules.)40 b(Additional)31
+b(w)m(orth)m(while)g(impro)m(v)m(emen)m(ts)h(include:)225
+887 y Fq(\017)60 b Fs(Another)34 b(useful)f(extension)h(in)m(v)m(olv)m
+(es)i(mo)s(difying)d(the)h(program)f(to)i(generate)g(\\minimal")g(p)s
+(er-)330 996 y(fect)42 b(hash)f(functions)f(\(under)h(certain)h
+(circumstances,)j(the)c(curren)m(t)g(v)m(ersion)h(can)f(b)s(e)g(rather)
+330 1106 y(extra)m(v)-5 b(agan)m(t)39 b(in)d(the)h(generated)g(table)g
+(size\).)60 b(This)36 b(is)g(mostly)h(of)g(theoretical)h(in)m(terest,)i
+(since)330 1215 y(a)f(sparse)f(table)h(often)g(pro)s(duces)e(faster)i
+(lo)s(okups,)h(and)e(use)g(of)h(the)g(`)p Fn(-S)p Fs(')f
+Fn(switch)f Fs(option)i(can)330 1325 y(minimize)g(the)g(data)g(size,)j
+(at)d(the)g(exp)s(ense)f(of)h(sligh)m(tly)h(longer)f(lo)s(okups)f
+(\(note)i(that)f(the)g(gcc)330 1435 y(compiler)e(generally)g(pro)s
+(duces)e(go)s(o)s(d)h(co)s(de)g(for)g Fn(switch)f Fs(statemen)m(ts,)k
+(reducing)d(the)g(need)g(for)330 1544 y(more)31 b(complex)g(sc)m
+(hemes\).)225 1679 y Fq(\017)60 b Fs(In)38 b(addition)h(to)h(impro)m
+(ving)f(the)h(algorithm,)i(it)d(w)m(ould)g(also)h(b)s(e)f(useful)f(to)h
(generate)i(an)e(Ada)330 1788 y(pac)m(k)-5 b(age)32 b(as)f(the)g(co)s
-(de)f(output,)g(in)f(addition)g(to)i(the)g(curren)m(t)f(C)g(and)g(C)p
-Fn(++)f Fs(routines.)p eop
+(de)f(output,)g(in)g(addition)h(to)g(the)g(curren)m(t)f(C)g(and)g(C)p
+Fn(++)f Fs(routines.)p eop end
%%Page: 28 30
-28 29 bop 150 -116 a Fs(Chapter)30 b(7:)41 b(Bibliograph)m(y)2533
-b(28)150 299 y Fp(7)80 b(Bibliograph)l(y)275 533 y Fs([1])22
-b(Chang,)h(C.C.:)36 b Fl(A)24 b(Scheme)h(for)g(Constructing)h(Or)-5
-b(der)g(e)g(d)26 b(Minimal)f(Perfe)-5 b(ct)24 b(Hashing)h(F)-7
-b(unctions)150 643 y Fs(Information)29 b(Sciences)h(39\(1986\),)k
-(187-195.)275 777 y([2])26 b(Cic)m(helli,)e(Ric)m(hard)h(J.)g
-Fl(A)n(uthor's)k(R)-5 b(esp)g(onse)30 b(to)f(\\On)f(Cichel)5
-b(li's)28 b(Minimal)h(Perfe)-5 b(ct)28 b(Hash)g(F)-7
-b(unc-)150 887 y(tions)33 b(Metho)-5 b(d")38 b Fs(Comm)m(unications)29
-b(of)i(the)f(A)m(CM,)h(23,)h(12\(Decem)m(b)s(er)g(1980\),)h(729.)275
-1021 y([3])f(Cic)m(helli,)e(Ric)m(hard)g(J.)i Fl(Minimal)i(Perfe)-5
-b(ct)33 b(Hash)i(F)-7 b(unctions)34 b(Made)g(Simple)39
-b Fs(Comm)m(unications)150 1131 y(of)31 b(the)f(A)m(CM,)h(23,)h(1\(Jan)
-m(uary)f(1980\),)h(17-19.)275 1265 y([4])22 b(Co)s(ok,)h(C.)e(R.)g(and)
-f(Oldeho)s(eft,)i(R.R.)g Fl(A)h(L)-5 b(etter)25 b(Oriente)-5
-b(d)25 b(Minimal)f(Perfe)-5 b(ct)24 b(Hashing)g(F)-7
-b(unction)150 1375 y Fs(SIGPLAN)30 b(Notices,)h(17,)h(9\(Septem)m(b)s
-(er)f(1982\),)h(18-27.)275 1509 y([5])22 b(Cormac)m(k,)j(G.)d(V.)g(and)
-g(Horsp)s(o)s(ol,)g(R.)g(N.)g(S.)g(and)f(Kaiserw)m(erth,)i(M.)g
-Fl(Pr)-5 b(actic)g(al)26 b(Perfe)-5 b(ct)25 b(Hashing)150
-1619 y Fs(Computer)30 b(Journal,)f(28,)i(1\(Jan)m(uary)g(1985\),)i
-(54-58.)275 1753 y([6])28 b(Jaesc)m(hk)m(e,)j(G.)d Fl(R)-5
-b(e)g(cipr)g(o)g(c)g(al)34 b(Hashing:)41 b(A)30 b(Metho)-5
-b(d)31 b(for)g(Gener)-5 b(ating)32 b(Minimal)e(Perfe)-5
-b(ct)31 b(Hashing)150 1863 y(F)-7 b(unctions)39 b Fs(Comm)m(unications)
-29 b(of)h(the)h(A)m(CM,)g(24,)g(12\(Decem)m(b)s(er)i(1981\),)g
-(829-833.)275 1998 y([7])22 b(Jaesc)m(hk)m(e,)i(G.)e(and)f(Osterburg,)h
-(G.)g Fl(On)h(Cichel)5 b(li's)25 b(Minimal)f(Perfe)-5
-b(ct)24 b(Hash)h(F)-7 b(unctions)25 b(Metho)-5 b(d)150
-2107 y Fs(Comm)m(unications)29 b(of)h(the)h(A)m(CM,)g(23,)h(12\(Decem)m
-(b)s(er)g(1980\),)h(728-729.)275 2242 y([8])25 b(Sager,)h(Thomas)e(J.)h
+TeXDict begin 28 29 bop 150 -116 a Fs(Chapter)30 b(7:)41
+b(Bibliograph)m(y)2536 b(28)150 299 y Fp(7)80 b(Bibliograph)l(y)275
+533 y Fs([1])22 b(Chang,)h(C.C.:)36 b Fl(A)24 b(Scheme)h(for)g
+(Constructing)h(Or)-5 b(der)g(e)g(d)26 b(Minimal)f(Perfe)-5
+b(ct)24 b(Hashing)h(F)-7 b(unctions)150 643 y Fs(Information)30
+b(Sciences)h(39\(1986\),)j(187-195.)275 777 y([2])26
+b(Cic)m(helli,)i(Ric)m(hard)e(J.)f Fl(A)n(uthor's)k(R)-5
+b(esp)g(onse)30 b(to)f(\\On)f(Cichel)5 b(li's)28 b(Minimal)h(Perfe)-5
+b(ct)28 b(Hash)g(F)-7 b(unc-)150 887 y(tions)33 b(Metho)-5
+b(d")38 b Fs(Comm)m(unications)31 b(of)g(the)f(A)m(CM,)h(23,)h
+(12\(Decem)m(b)s(er)g(1980\),)h(729.)275 1021 y([3])f(Cic)m(helli,)i
+(Ric)m(hard)d(J.)h Fl(Minimal)i(Perfe)-5 b(ct)33 b(Hash)i(F)-7
+b(unctions)34 b(Made)g(Simple)39 b Fs(Comm)m(unications)150
+1131 y(of)31 b(the)f(A)m(CM,)h(23,)h(1\(Jan)m(uary)f(1980\),)h(17-19.)
+275 1265 y([4])22 b(Co)s(ok,)h(C.)e(R.)g(and)f(Oldeho)s(eft,)j(R.R.)f
+Fl(A)h(L)-5 b(etter)25 b(Oriente)-5 b(d)25 b(Minimal)f(Perfe)-5
+b(ct)24 b(Hashing)g(F)-7 b(unction)150 1375 y Fs(SIGPLAN)30
+b(Notices,)i(17,)g(9\(Septem)m(b)s(er)f(1982\),)h(18-27.)275
+1509 y([5])22 b(Cormac)m(k,)j(G.)d(V.)g(and)g(Horsp)s(o)s(ol,)h(R.)f
+(N.)g(S.)g(and)f(Kaiserw)m(erth,)j(M.)f Fl(Pr)-5 b(actic)g(al)26
+b(Perfe)-5 b(ct)25 b(Hashing)150 1619 y Fs(Computer)30
+b(Journal,)g(28,)h(1\(Jan)m(uary)g(1985\),)i(54-58.)275
+1753 y([6])28 b(Jaesc)m(hk)m(e,)j(G.)d Fl(R)-5 b(e)g(cipr)g(o)g(c)g(al)
+34 b(Hashing:)41 b(A)30 b(Metho)-5 b(d)31 b(for)g(Gener)-5
+b(ating)32 b(Minimal)e(Perfe)-5 b(ct)31 b(Hashing)150
+1863 y(F)-7 b(unctions)39 b Fs(Comm)m(unications)31 b(of)f(the)h(A)m
+(CM,)g(24,)g(12\(Decem)m(b)s(er)i(1981\),)g(829-833.)275
+1998 y([7])22 b(Jaesc)m(hk)m(e,)i(G.)e(and)f(Osterburg,)h(G.)g
+Fl(On)h(Cichel)5 b(li's)25 b(Minimal)f(Perfe)-5 b(ct)24
+b(Hash)h(F)-7 b(unctions)25 b(Metho)-5 b(d)150 2107 y
+Fs(Comm)m(unications)31 b(of)f(the)h(A)m(CM,)g(23,)h(12\(Decem)m(b)s
+(er)g(1980\),)h(728-729.)275 2242 y([8])25 b(Sager,)h(Thomas)e(J.)h
Fl(A)h(Polynomial)j(Time)f(Gener)-5 b(ator)29 b(for)f(Minimal)f(Perfe)
--5 b(ct)27 b(Hash)h(F)-7 b(unctions)150 2351 y Fs(Comm)m(unications)29
-b(of)h(the)h(A)m(CM,)g(28,)h(5\(Decem)m(b)s(er)g(1985\),)g(523-532)275
-2486 y([9])f(Sc)m(hmidt,)e(Douglas)h(C.)g Fl(GPERF:)i(A)g(Perfe)-5
+-5 b(ct)27 b(Hash)h(F)-7 b(unctions)150 2351 y Fs(Comm)m(unications)31
+b(of)f(the)h(A)m(CM,)g(28,)h(5\(Decem)m(b)s(er)g(1985\),)g(523-532)275
+2486 y([9])f(Sc)m(hmidt,)f(Douglas)h(C.)f Fl(GPERF:)i(A)g(Perfe)-5
b(ct)32 b(Hash)h(F)-7 b(unction)33 b(Gener)-5 b(ator)42
b Fs(Second)30 b(USENIX)150 2595 y(C)p Fn(++)f Fs(Conference)i(Pro)s
-(ceedings,)f(April)e(1990.)275 2730 y([10])42 b(Sc)m(hmidt,)h(Douglas)e
-(C.)g Fl(GPERF:)i(A)e(Perfe)-5 b(ct)43 b(Hash)g(F)-7
+(ceedings,)g(April)f(1990.)275 2730 y([10])42 b(Sc)m(hmidt,)i(Douglas)e
+(C.)f Fl(GPERF:)i(A)e(Perfe)-5 b(ct)43 b(Hash)g(F)-7
b(unction)43 b(Gener)-5 b(ator)53 b Fs(C)p Fn(++)40 b
Fs(Rep)s(ort,)150 2839 y(SIGS)29 b(10)j(10)f(\(No)m(v)m(em)m(b)s
(er/Decem)m(b)s(er)i(1998\).)275 2974 y([11])24 b(Seb)s(esta,)h(R.W.)e
-(and)g(T)-8 b(a)m(ylor,)25 b(M.A.)f Fl(Minimal)i(Perfe)-5
+(and)g(T)-8 b(a)m(ylor,)26 b(M.A.)e Fl(Minimal)i(Perfe)-5
b(ct)26 b(Hash)g(F)-7 b(unctions)27 b(for)g(R)-5 b(eserve)g(d)27
-b(Wor)-5 b(d)150 3083 y(Lists)38 b Fs(SIGPLAN)30 b(Notices,)i(20,)f
+b(Wor)-5 b(d)150 3083 y(Lists)38 b Fs(SIGPLAN)30 b(Notices,)j(20,)e
(12\(Septem)m(b)s(er)g(1985\),)i(47-53.)275 3218 y([12])43
-b(Sprugnoli,)f(R.)g Fl(Perfe)-5 b(ct)43 b(Hashing)h(F)-7
+b(Sprugnoli,)h(R.)e Fl(Perfe)-5 b(ct)43 b(Hashing)h(F)-7
b(unctions:)64 b(A)43 b(Single)g(Pr)-5 b(ob)g(e)44 b(R)-5
b(etrieving)44 b(Metho)-5 b(d)44 b(for)150 3328 y(Static)33
-b(Sets)38 b Fs(Comm)m(unications)29 b(of)i(the)f(A)m(CM,)i(20)f(11\(No)
+b(Sets)38 b Fs(Comm)m(unications)31 b(of)g(the)f(A)m(CM,)i(20)f(11\(No)
m(v)m(em)m(b)s(er)i(1977\),)f(841-850.)275 3462 y([13])27
-b(Stallman,)f(Ric)m(hard)f(M.)i Fl(Using)h(and)i(Porting)f(GNU)g(CC)39
-b Fs(F)-8 b(ree)28 b(Soft)m(w)m(are)f(F)-8 b(oundation,)27
-b(1988.)275 3597 y([14])k(Stroustrup,)e(Bjarne)i Fl(The)h(C)p
+b(Stallman,)h(Ric)m(hard)e(M.)h Fl(Using)h(and)i(Porting)f(GNU)g(CC)39
+b Fs(F)-8 b(ree)28 b(Soft)m(w)m(are)f(F)-8 b(oundation,)28
+b(1988.)275 3597 y([14])j(Stroustrup,)e(Bjarne)i Fl(The)h(C)p
Fn(++)g Fl(Pr)-5 b(o)g(gr)g(amming)36 b(L)-5 b(anguage.)40
-b Fs(Addison-W)-8 b(esley)g(,)31 b(1986.)275 3731 y([15])g(Tiemann,)e
-(Mic)m(hael)i(D.)g Fl(User's)h(Guide)h(to)g(GNU)f(C)p
-Fn(++)e Fs(F)-8 b(ree)31 b(Soft)m(w)m(are)h(F)-8 b(oundation,)30
-b(1989.)p eop
+b Fs(Addison-W)-8 b(esley)g(,)33 b(1986.)275 3731 y([15])e(Tiemann,)f
+(Mic)m(hael)j(D.)e Fl(User's)h(Guide)h(to)g(GNU)f(C)p
+Fn(++)e Fs(F)-8 b(ree)31 b(Soft)m(w)m(are)h(F)-8 b(oundation,)31
+b(1989.)p eop end
%%Page: 29 31
-29 30 bop 150 -116 a Fs(Concept)31 b(Index)2927 b(29)150
-299 y Fp(Concept)52 b(Index)150 642 y Fr(\045)150 777
-y Fd(`)p Fc(\045\045)p Fd(')12 b Fb(.)i(.)e(.)g(.)h(.)f(.)g(.)h(.)f(.)g
-(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)
-f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)38
+TeXDict begin 29 30 bop 150 -116 a Fs(Concept)31 b(Index)2927
+b(29)150 299 y Fp(Concept)52 b(Index)150 642 y Fr(\045)150
+777 y Fd(`)p Fc(\045\045)p Fd(')12 b Fb(.)i(.)e(.)g(.)h(.)f(.)g(.)h(.)f
+(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)
+h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)38
b Fd(12)150 874 y(`)p Fc(\045{)p Fd(')12 b Fb(.)i(.)e(.)g(.)h(.)f(.)g
(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)
f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)38
@@ -3798,7 +5229,7 @@ f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)38
b Fd(15)150 1069 y(`)p Fc(\0457bit)p Fd(')8 b Fb(.)14
b(.)e(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h
(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)
-g(.)h(.)33 b Fd(13)150 1167 y(`)p Fc(\045compare-lengths)p
+g(.)h(.)33 b Fd(14)150 1167 y(`)p Fc(\045compare-lengths)p
Fd(')10 b Fb(.)17 b(.)12 b(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h
(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)36
b Fd(14)150 1264 y(`)p Fc(\045compare-strncmp)p Fd(')10
@@ -3806,7 +5237,7 @@ b Fb(.)17 b(.)12 b(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g
(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)36 b Fd(14)150
1361 y(`)p Fc(\045define)28 b(class-name)p Fd(')14 b
Fb(.)g(.)f(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h
-(.)f(.)g(.)h(.)f(.)g(.)h(.)39 b Fd(13)150 1459 y(`)p
+(.)f(.)g(.)h(.)f(.)g(.)h(.)39 b Fd(14)150 1459 y(`)p
Fc(\045define)28 b(hash-function-name)p Fd(')c Fb(.)13
b(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)46
b Fd(13)150 1556 y(`)p Fc(\045define)28 b(initializer-suffix)p
@@ -3818,12 +5249,12 @@ Fd(')15 b Fb(.)g(.)d(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)
g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)41 b Fd(13)150
1849 y(`)p Fc(\045define)28 b(string-pool-name)p Fd(')f
Fb(.)12 b(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f
-(.)49 b Fd(14)150 1946 y(`)p Fc(\045define)28 b(word-array-name)p
+(.)49 b Fd(15)150 1946 y(`)p Fc(\045define)28 b(word-array-name)p
Fd(')7 b Fb(.)15 b(.)e(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h
(.)f(.)g(.)g(.)h(.)32 b Fd(15)150 2044 y(`)p Fc(\045delimiters)p
Fd(')17 b Fb(.)f(.)c(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)
g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)43
-b Fd(12)150 2141 y(`)p Fc(\045enum)p Fd(')8 b Fb(.)14
+b Fd(13)150 2141 y(`)p Fc(\045enum)p Fd(')8 b Fb(.)14
b(.)e(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h
(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)
g(.)h(.)33 b Fd(14)150 2239 y(`)p Fc(\045global-table)p
@@ -3852,28 +5283,28 @@ b Fb(.)17 b(.)12 b(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g
(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)36 b Fd(14)150
3019 y(`)p Fc(\045struct-type)p Fd(')16 b Fb(.)g(.)c(.)g(.)h(.)f(.)g(.)
h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f
-(.)g(.)h(.)f(.)g(.)h(.)41 b Fd(12)150 3116 y(`)p Fc(\045switch)p
+(.)g(.)h(.)f(.)g(.)h(.)41 b Fd(13)150 3116 y(`)p Fc(\045switch)p
Fd(')25 b Fb(.)13 b(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f
(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)
h(.)f(.)g(.)49 b Fd(15)150 3394 y Fr(A)150 3528 y Fd(Arra)n(y)25
-b(name)18 b Fb(.)12 b(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f
+b(name)19 b Fb(.)12 b(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f
(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)
h(.)f(.)44 b Fd(22)150 3819 y Fr(B)150 3953 y Fd(Bugs)9
b Fb(.)k(.)g(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)
g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f
(.)g(.)g(.)h(.)f(.)g(.)h(.)35 b Fd(8)150 4243 y Fr(C)150
-4378 y Fd(Class)27 b(name)10 b Fb(.)i(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f
+4378 y Fd(Class)27 b(name)10 b Fb(.)j(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f
(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)
f(.)g(.)h(.)f(.)g(.)h(.)f(.)35 b Fd(21)2025 642 y Fr(D)2025
764 y Fd(Declaration)27 b(section)d Fb(.)12 b(.)h(.)f(.)g(.)h(.)f(.)g
(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)
-f(.)49 b Fd(11)2025 855 y(Delimiters)9 b Fb(.)j(.)h(.)f(.)g(.)h(.)f(.)g
+f(.)49 b Fd(11)2025 855 y(Delimiters)9 b Fb(.)k(.)g(.)f(.)g(.)h(.)f(.)g
(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)
g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)35 b Fd(19)2025
946 y(Duplicates)23 b Fb(.)13 b(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f
(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)
h(.)f(.)g(.)h(.)f(.)49 b Fd(23)2025 1203 y Fr(F)2025
-1325 y Fd(F)-6 b(ormat)22 b Fb(.)13 b(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g
+1325 y Fd(F)-6 b(ormat)23 b Fb(.)13 b(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g
(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)
f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)49 b Fd(11)2025
1416 y(F)-6 b(unctions)25 b(section)18 b Fb(.)13 b(.)f(.)h(.)f(.)g(.)h
@@ -3890,19 +5321,19 @@ f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g
(.)h(.)f(.)g(.)h(.)46 b Fd(17)2025 2330 y(Initializers)25
b Fb(.)12 b(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g
(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)
-49 b Fd(20)2025 2573 y Fr(J)2025 2695 y Fd(Jump)24 b(v)l(alue)6
+49 b Fd(20)2025 2573 y Fr(J)2025 2695 y Fd(Jump)25 b(v)l(alue)6
b Fb(.)13 b(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g
(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)
32 b Fd(24)2025 2952 y Fr(K)2025 3073 y Fd(Keyw)n(ords)25
b(section)16 b Fb(.)e(.)e(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h
(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)42
-b Fd(11)2025 3330 y Fr(M)2025 3452 y Fd(Minimal)26 b(p)r(erfect)g(hash)
+b Fd(11)2025 3330 y Fr(M)2025 3452 y Fd(Minimal)27 b(p)r(erfect)f(hash)
g(functions)c Fb(.)12 b(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f
(.)g(.)48 b Fd(10)2025 3708 y Fr(N)2025 3830 y Fd(NUL)9
b Fb(.)j(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)
h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g
(.)h(.)f(.)g(.)h(.)f(.)35 b Fd(18)2025 4074 y Fr(S)2025
-4195 y Fd(Slot)26 b(name)13 b Fb(.)e(.)i(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)
+4195 y Fd(Slot)26 b(name)13 b Fb(.)f(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)
g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h
(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)39 b Fd(20)2025 4287 y(Static)26
b(searc)n(h)g(structure)20 b Fb(.)12 b(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h
@@ -3910,12 +5341,12 @@ b(searc)n(h)g(structure)20 b Fb(.)12 b(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h
b Fd(10)2025 4378 y Fc(switch)22 b Fb(.)12 b(.)g(.)g(.)h(.)f(.)g(.)h(.)
f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h
(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)46 b Fd(18,)27 b(22)p
-eop
+eop end
%%Page: -1 32
--1 31 bop 3725 -116 a Fs(i)150 299 y Fp(T)-13 b(able)54
-b(of)g(Con)l(ten)l(ts)150 641 y Fr(GNU)45 b(GENERAL)g(PUBLIC)g(LICENSE)
-31 b Fa(.)19 b(.)h(.)f(.)h(.)f(.)h(.)f(.)g(.)h(.)75 b
-Fr(1)449 778 y Fs(Pream)m(ble)16 b Fl(.)e(.)h(.)g(.)g(.)g(.)g(.)g(.)g
+TeXDict begin -1 31 bop 3725 -116 a Fs(i)150 299 y Fp(T)-13
+b(able)53 b(of)h(Con)l(ten)l(ts)150 641 y Fr(GNU)45 b(GENERAL)g(PUBLIC)
+g(LICENSE)31 b Fa(.)19 b(.)h(.)f(.)h(.)f(.)h(.)f(.)g(.)h(.)75
+b Fr(1)449 778 y Fs(Pream)m(ble)16 b Fl(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g
(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)45 b Fs(1)449 888
@@ -3923,7 +5354,7 @@ y(TERMS)29 b(AND)j(CONDITIONS)d(F)m(OR)h(COPYING,)h(DISTRIBUTION)631
997 y(AND)g(MODIFICA)-8 b(TION)24 b Fl(.)15 b(.)g(.)g(.)g(.)g(.)g(.)g
(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)54 b Fs(2)449 1107
-y(Ho)m(w)31 b(to)g(Apply)e(These)h(T)-8 b(erms)30 b(to)h(Y)-8
+y(Ho)m(w)31 b(to)g(Apply)f(These)g(T)-8 b(erms)30 b(to)h(Y)-8
b(our)31 b(New)f(Programs)16 b Fl(.)g(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g
(.)g(.)g(.)g(.)46 b Fs(6)150 1349 y Fr(Con)l(tributors)g(to)f(GNU)g
Fk(gperf)e Fr(Utilit)l(y)16 b Fa(.)21 b(.)e(.)h(.)f(.)h(.)f(.)h(.)f(.)h
@@ -3938,24 +5369,24 @@ Fk(gperf)21 b Fa(.)c(.)i(.)h(.)f(.)h(.)65 b Fr(11)449
Fn(gperf)23 b Fl(.)15 b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
g(.)g(.)54 b Fs(11)748 2405 y(3.1.1)93 b(Declarations)9
-b Fl(.)15 b(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
+b Fl(.)17 b(.)e(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
-g(.)39 b Fs(11)1047 2515 y(3.1.1.1)93 b(User-supplied)28
+g(.)39 b Fs(11)1047 2515 y(3.1.1.1)93 b(User-supplied)30
b Fn(struct)10 b Fl(.)j(.)i(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
(.)g(.)g(.)g(.)g(.)39 b Fs(12)1047 2624 y(3.1.1.2)93
-b(Gp)s(erf)30 b(Declarations)18 b Fl(.)d(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
+b(Gp)s(erf)30 b(Declarations)18 b Fl(.)f(.)e(.)g(.)g(.)g(.)g(.)g(.)g(.)
g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)47 b Fs(12)1047
-2734 y(3.1.1.3)93 b(C)30 b(Co)s(de)g(Inclusion)d Fl(.)15
+2734 y(3.1.1.3)93 b(C)30 b(Co)s(de)g(Inclusion)f Fl(.)15
b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
(.)g(.)g(.)59 b Fs(15)748 2844 y(3.1.2)93 b(F)-8 b(ormat)31
-b(for)f(Keyw)m(ord)g(En)m(tries)17 b Fl(.)e(.)g(.)g(.)g(.)g(.)g(.)g(.)g
-(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)46 b Fs(15)748
-2953 y(3.1.3)93 b(Including)27 b(Additional)h(C)i(F)-8
-b(unctions)19 b Fl(.)c(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
-(.)g(.)49 b Fs(16)748 3063 y(3.1.4)93 b(Where)30 b(to)h(place)g
-(directiv)m(es)e(for)i(GNU)g Fn(indent)p Fs(.)17 b Fl(.)c(.)i(.)g(.)g
+b(for)f(Keyw)m(ord)g(En)m(tries)17 b Fl(.)f(.)f(.)g(.)g(.)g(.)g(.)g(.)g
+(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)46 b Fs(16)748
+2953 y(3.1.3)93 b(Including)29 b(Additional)i(C)f(F)-8
+b(unctions)19 b Fl(.)d(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
+(.)g(.)49 b Fs(16)748 3063 y(3.1.4)93 b(Where)30 b(to)h(place)h
+(directiv)m(es)f(for)g(GNU)g Fn(indent)p Fs(.)17 b Fl(.)c(.)i(.)g(.)g
(.)g(.)46 b Fs(16)449 3172 y(3.2)92 b(Output)29 b(F)-8
-b(ormat)32 b(for)e(Generated)h(C)f(Co)s(de)g(with)f Fn(gperf)23
+b(ormat)32 b(for)e(Generated)h(C)f(Co)s(de)g(with)g Fn(gperf)23
b Fl(.)14 b(.)h(.)g(.)g(.)g(.)g(.)g(.)52 b Fs(17)449
3282 y(3.3)92 b(Use)31 b(of)f(NUL)h(b)m(ytes)22 b Fl(.)16
b(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
@@ -3963,19 +5394,19 @@ b(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
f(.)g(.)51 b Fs(18)150 3524 y Fr(4)135 b(In)l(v)l(oking)45
b Fk(gperf)16 b Fa(.)i(.)h(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)h(.)f(.)g(.)h
(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)h(.)f(.)61
-b Fr(19)449 3661 y Fs(4.1)92 b(Sp)s(ecifying)28 b(the)i(Lo)s(cation)h
-(of)f(the)h(Output)e(File)19 b Fl(.)c(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
-(.)g(.)g(.)g(.)g(.)g(.)49 b Fs(19)449 3771 y(4.2)92 b(Options)29
-b(that)i(a\013ect)h(In)m(terpretation)e(of)h(the)f(Input)f(File)e
+b Fr(19)449 3661 y Fs(4.1)92 b(Sp)s(ecifying)30 b(the)g(Lo)s(cation)i
+(of)e(the)h(Output)e(File)19 b Fl(.)e(.)e(.)g(.)g(.)g(.)g(.)g(.)g(.)g
+(.)g(.)g(.)g(.)g(.)g(.)49 b Fs(19)449 3771 y(4.2)92 b(Options)30
+b(that)h(a\013ect)h(In)m(terpretation)f(of)g(the)f(Input)f(File)g
Fl(.)15 b(.)g(.)g(.)g(.)g(.)g(.)57 b Fs(19)449 3880 y(4.3)92
-b(Options)29 b(to)i(sp)s(ecify)e(the)i(Language)g(for)f(the)h(Output)e
+b(Options)30 b(to)h(sp)s(ecify)f(the)h(Language)g(for)f(the)h(Output)e
(Co)s(de)14 b Fl(.)g(.)h(.)g(.)g(.)43 b Fs(19)449 3990
-y(4.4)92 b(Options)29 b(for)h(\014ne)g(tuning)f(Details)h(in)f(the)i
+y(4.4)92 b(Options)30 b(for)g(\014ne)g(tuning)g(Details)i(in)e(the)h
(Output)e(Co)s(de)23 b Fl(.)15 b(.)g(.)g(.)g(.)g(.)g(.)53
-b Fs(20)449 4100 y(4.5)92 b(Options)29 b(for)h(c)m(hanging)g(the)h
-(Algorithms)e(emplo)m(y)m(ed)h(b)m(y)h Fn(gperf)21 b
-Fl(.)14 b(.)50 b Fs(23)449 4209 y(4.6)92 b(Informativ)m(e)30
-b(Output)d Fl(.)15 b(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
+b Fs(20)449 4100 y(4.5)92 b(Options)30 b(for)g(c)m(hanging)h(the)g
+(Algorithms)g(emplo)m(y)m(ed)g(b)m(y)g Fn(gperf)21 b
+Fl(.)14 b(.)50 b Fs(23)449 4209 y(4.6)92 b(Informativ)m(e)31
+b(Output)c Fl(.)15 b(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
(.)g(.)g(.)g(.)g(.)58 b Fs(25)150 4452 y Fr(5)135 b(Kno)l(wn)45
b(Bugs)f(and)h(Limitations)i(with)e Fk(gperf)32 b Fa(.)19
@@ -3986,8 +5417,8 @@ b Fa(.)19 b(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)g(.)h
(.)f(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)h(.)f(.)82
b Fr(28)150 5261 y(Concept)45 b(Index)21 b Fa(.)e(.)g(.)h(.)f(.)h(.)f
(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)h(.)
-f(.)g(.)h(.)f(.)h(.)f(.)h(.)65 b Fr(29)p eop
+f(.)g(.)h(.)f(.)h(.)f(.)h(.)65 b Fr(29)p eop end
%%Trailer
-end
+
userdict /end-hook known{end-hook}if
%%EOF
diff --git a/doc/gperf_1.html b/doc/gperf_1.html
index d5269ce..c937fc8 100644
--- a/doc/gperf_1.html
+++ b/doc/gperf_1.html
@@ -1,7 +1,6 @@
<HTML>
<HEAD>
-<!-- This HTML file has been created by texi2html 1.51
- from gperf.texi on 7 May 2003 -->
+<!-- Created by texi2html 1.56k from gperf.texi on 12 June 2003 -->
<TITLE>Perfect Hash Function Generator - GNU GENERAL PUBLIC LICENSE</TITLE>
</HEAD>
@@ -15,7 +14,7 @@ Go to the first, previous, <A HREF="gperf_2.html">next</A>, <A HREF="gperf_10.ht
<P>
Version 2, June 1991
-</P>
+
<PRE>
Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
@@ -40,7 +39,7 @@ using it. (Some other Free Software Foundation software is covered by
the GNU Library General Public License instead.) You can apply it to
your programs, too.
-</P>
+
<P>
When we speak of free software, we are referring to freedom, not
price. Our General Public Licenses are designed to make sure that you
@@ -49,14 +48,14 @@ this service if you wish), that you receive source code or can get it
if you want it, that you can change the software or use pieces of it
in new free programs; and that you know you can do these things.
-</P>
+
<P>
To protect your rights, we need to make restrictions that forbid
anyone to deny you these rights or to ask you to surrender the rights.
These restrictions translate to certain responsibilities for you if you
distribute copies of the software, or if you modify it.
-</P>
+
<P>
For example, if you distribute copies of such a program, whether
gratis or for a fee, you must give the recipients all the rights that
@@ -64,13 +63,13 @@ you have. You must make sure that they, too, receive or can get the
source code. And you must show them these terms so they know their
rights.
-</P>
+
<P>
We protect your rights with two steps: (1) copyright the software, and
(2) offer you this license which gives you legal permission to copy,
distribute and/or modify the software.
-</P>
+
<P>
Also, for each author's protection and ours, we want to make certain
that everyone understands that there is no warranty for this free
@@ -79,7 +78,7 @@ want its recipients to know that what they have is not the original, so
that any problems introduced by others will not reflect on the original
authors' reputations.
-</P>
+
<P>
Finally, any free program is threatened constantly by software
patents. We wish to avoid the danger that redistributors of a free
@@ -87,16 +86,16 @@ program will individually obtain patent licenses, in effect making the
program proprietary. To prevent this, we have made it clear that any
patent must be licensed for everyone's free use or not licensed at all.
-</P>
+
<P>
The precise terms and conditions for copying, distribution and
modification follow.
-</P>
+
<P>
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
-</P>
+
<OL>
<LI>
@@ -365,7 +364,7 @@ POSSIBILITY OF SUCH DAMAGES.
<P>
END OF TERMS AND CONDITIONS
-</P>
+
<H2><A NAME="SEC3" HREF="gperf_toc.html#TOC3">How to Apply These Terms to Your New Programs</A></H2>
@@ -375,14 +374,14 @@ END OF TERMS AND CONDITIONS
possible use to the public, the best way to achieve this is to make it
free software which everyone can redistribute and change under these terms.
-</P>
+
<P>
To do so, attach the following notices to the program. It is safest
to attach them to the start of each source file to most effectively
convey the exclusion of warranty; and each file should have at least
the "copyright" line and a pointer to where the full notice is found.
-</P>
+
<PRE>
<VAR>one line to give the program's name and an idea of what it does.</VAR>
@@ -406,12 +405,12 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
<P>
Also add information on how to contact you by electronic and paper mail.
-</P>
+
<P>
If the program is interactive, make it output a short notice like this
when it starts in an interactive mode:
-</P>
+
<PRE>
Gnomovision version 69, Copyright (C) <VAR>year</VAR> <VAR>name of author</VAR>
@@ -428,13 +427,13 @@ commands you use may be called something other than <SAMP>`show w'</SAMP> and
<SAMP>`show c'</SAMP>; they could even be mouse-clicks or menu items--whatever
suits your program.
-</P>
+
<P>
You should also get your employer (if you work as a programmer) or your
school, if any, to sign a "copyright disclaimer" for the program, if
necessary. Here is a sample; alter the names:
-</P>
+
<PRE>
Yoyodyne, Inc., hereby disclaims all copyright
@@ -453,7 +452,7 @@ consider it more useful to permit linking proprietary applications with the
library. If this is what you want to do, use the GNU Library General
Public License instead of this License.
-</P>
+
<P><HR><P>
Go to the first, previous, <A HREF="gperf_2.html">next</A>, <A HREF="gperf_10.html">last</A> section, <A HREF="gperf_toc.html">table of contents</A>.
</BODY>
diff --git a/doc/gperf_10.html b/doc/gperf_10.html
index 0590625..39a2630 100644
--- a/doc/gperf_10.html
+++ b/doc/gperf_10.html
@@ -1,7 +1,6 @@
<HTML>
<HEAD>
-<!-- This HTML file has been created by texi2html 1.51
- from gperf.texi on 7 May 2003 -->
+<!-- Created by texi2html 1.56k from gperf.texi on 12 June 2003 -->
<TITLE>Perfect Hash Function Generator - Concept Index</TITLE>
</HEAD>
@@ -13,7 +12,34 @@ Go to the <A HREF="gperf_1.html">first</A>, <A HREF="gperf_9.html">previous</A>,
<H1><A NAME="SEC28" HREF="gperf_toc.html#TOC28">Concept Index</A></H1>
<P>
-<H2>%</H2>
+Jump to:
+<A HREF="#cindex_%">%</A>
+-
+<A HREF="#cindex_a">a</A>
+-
+<A HREF="#cindex_b">b</A>
+-
+<A HREF="#cindex_c">c</A>
+-
+<A HREF="#cindex_d">d</A>
+-
+<A HREF="#cindex_f">f</A>
+-
+<A HREF="#cindex_h">h</A>
+-
+<A HREF="#cindex_i">i</A>
+-
+<A HREF="#cindex_j">j</A>
+-
+<A HREF="#cindex_k">k</A>
+-
+<A HREF="#cindex_m">m</A>
+-
+<A HREF="#cindex_n">n</A>
+-
+<A HREF="#cindex_s">s</A>
+<P>
+<H2><A NAME="cindex_%">%</A></H2>
<DIR>
<LI><A HREF="gperf_5.html#IDX8"><SAMP>`%%'</SAMP></A>
<LI><A HREF="gperf_5.html#IDX18"><SAMP>`%7bit'</SAMP></A>
@@ -41,63 +67,63 @@ Go to the <A HREF="gperf_1.html">first</A>, <A HREF="gperf_9.html">previous</A>,
<LI><A HREF="gperf_5.html#IDX31"><SAMP>`%{'</SAMP></A>
<LI><A HREF="gperf_5.html#IDX32"><SAMP>`%}'</SAMP></A>
</DIR>
-<H2>a</H2>
+<H2><A NAME="cindex_a">a</A></H2>
<DIR>
<LI><A HREF="gperf_6.html#IDX42">Array name</A>
</DIR>
-<H2>b</H2>
+<H2><A NAME="cindex_b">b</A></H2>
<DIR>
<LI><A HREF="gperf_2.html#IDX1">Bugs</A>
</DIR>
-<H2>c</H2>
+<H2><A NAME="cindex_c">c</A></H2>
<DIR>
<LI><A HREF="gperf_6.html#IDX41">Class name</A>
</DIR>
-<H2>d</H2>
+<H2><A NAME="cindex_d">d</A></H2>
<DIR>
<LI><A HREF="gperf_5.html#IDX5">Declaration section</A>
<LI><A HREF="gperf_6.html#IDX38">Delimiters</A>
<LI><A HREF="gperf_6.html#IDX44">Duplicates</A>
</DIR>
-<H2>f</H2>
+<H2><A NAME="cindex_f">f</A></H2>
<DIR>
<LI><A HREF="gperf_5.html#IDX4">Format</A>
<LI><A HREF="gperf_5.html#IDX7">Functions section</A>
</DIR>
-<H2>h</H2>
+<H2><A NAME="cindex_h">h</A></H2>
<DIR>
<LI><A HREF="gperf_5.html#IDX34">hash</A>
<LI><A HREF="gperf_5.html#IDX33">hash table</A>
</DIR>
-<H2>i</H2>
+<H2><A NAME="cindex_i">i</A></H2>
<DIR>
<LI><A HREF="gperf_5.html#IDX35">in_word_set</A>
<LI><A HREF="gperf_6.html#IDX40">Initializers</A>
</DIR>
-<H2>j</H2>
+<H2><A NAME="cindex_j">j</A></H2>
<DIR>
<LI><A HREF="gperf_6.html#IDX45">Jump value</A>
</DIR>
-<H2>k</H2>
+<H2><A NAME="cindex_k">k</A></H2>
<DIR>
<LI><A HREF="gperf_5.html#IDX6">Keywords section</A>
</DIR>
-<H2>m</H2>
+<H2><A NAME="cindex_m">m</A></H2>
<DIR>
<LI><A HREF="gperf_4.html#IDX3">Minimal perfect hash functions</A>
</DIR>
-<H2>n</H2>
+<H2><A NAME="cindex_n">n</A></H2>
<DIR>
<LI><A HREF="gperf_5.html#IDX37">NUL</A>
</DIR>
-<H2>s</H2>
+<H2><A NAME="cindex_s">s</A></H2>
<DIR>
<LI><A HREF="gperf_6.html#IDX39">Slot name</A>
<LI><A HREF="gperf_4.html#IDX2">Static search structure</A>
<LI><A HREF="gperf_5.html#IDX36"><CODE>switch</CODE></A>, <A HREF="gperf_6.html#IDX43"><CODE>switch</CODE></A>
</DIR>
-</P>
+
<P><HR><P>
Go to the <A HREF="gperf_1.html">first</A>, <A HREF="gperf_9.html">previous</A>, next, last section, <A HREF="gperf_toc.html">table of contents</A>.
</BODY>
diff --git a/doc/gperf_2.html b/doc/gperf_2.html
index 3611e41..d416b38 100644
--- a/doc/gperf_2.html
+++ b/doc/gperf_2.html
@@ -1,7 +1,6 @@
<HTML>
<HEAD>
-<!-- This HTML file has been created by texi2html 1.51
- from gperf.texi on 7 May 2003 -->
+<!-- Created by texi2html 1.56k from gperf.texi on 12 June 2003 -->
<TITLE>Perfect Hash Function Generator - Contributors to GNU gperf Utility</TITLE>
</HEAD>
diff --git a/doc/gperf_3.html b/doc/gperf_3.html
index dda84ab..75c03ad 100644
--- a/doc/gperf_3.html
+++ b/doc/gperf_3.html
@@ -1,16 +1,15 @@
<HTML>
<HEAD>
-<!-- This HTML file has been created by texi2html 1.51
- from gperf.texi on 7 May 2003 -->
+<!-- Created by texi2html 1.56k from gperf.texi on 12 June 2003 -->
-<TITLE>Perfect Hash Function Generator - 1 Introduction</TITLE>
+<TITLE>Perfect Hash Function Generator - 1. Introduction</TITLE>
</HEAD>
<BODY>
Go to the <A HREF="gperf_1.html">first</A>, <A HREF="gperf_2.html">previous</A>, <A HREF="gperf_4.html">next</A>, <A HREF="gperf_10.html">last</A> section, <A HREF="gperf_toc.html">table of contents</A>.
<P><HR><P>
-<H1><A NAME="SEC5" HREF="gperf_toc.html#TOC5">1 Introduction</A></H1>
+<H1><A NAME="SEC5" HREF="gperf_toc.html#TOC5">1. Introduction</A></H1>
<P>
<CODE>gperf</CODE> is a perfect hash function generator written in C++. It
@@ -23,7 +22,7 @@ pair of C functions. These functions determine whether a given
character string <VAR>s</VAR> occurs in <VAR>W</VAR>, using at most one probe into
the lookup table.
-</P>
+
<P>
<CODE>gperf</CODE> currently generates the reserved keyword recognizer for
lexical analyzers in several production and research compilers and
@@ -34,7 +33,7 @@ A paper describing <CODE>gperf</CODE>'s design and implementation in greater
detail is available in the Second USENIX C++ Conference proceedings
or from <CODE>http://www.cs.wustl.edu/~schmidt/resume.html</CODE>.
-</P>
+
<P><HR><P>
Go to the <A HREF="gperf_1.html">first</A>, <A HREF="gperf_2.html">previous</A>, <A HREF="gperf_4.html">next</A>, <A HREF="gperf_10.html">last</A> section, <A HREF="gperf_toc.html">table of contents</A>.
</BODY>
diff --git a/doc/gperf_4.html b/doc/gperf_4.html
index cdd063d..2c7bf70 100644
--- a/doc/gperf_4.html
+++ b/doc/gperf_4.html
@@ -1,22 +1,21 @@
<HTML>
<HEAD>
-<!-- This HTML file has been created by texi2html 1.51
- from gperf.texi on 7 May 2003 -->
+<!-- Created by texi2html 1.56k from gperf.texi on 12 June 2003 -->
-<TITLE>Perfect Hash Function Generator - 2 Static search structures and GNU gperf</TITLE>
+<TITLE>Perfect Hash Function Generator - 2. Static search structures and GNU gperf</TITLE>
</HEAD>
<BODY>
Go to the <A HREF="gperf_1.html">first</A>, <A HREF="gperf_3.html">previous</A>, <A HREF="gperf_5.html">next</A>, <A HREF="gperf_10.html">last</A> section, <A HREF="gperf_toc.html">table of contents</A>.
<P><HR><P>
-<H1><A NAME="SEC6" HREF="gperf_toc.html#TOC6">2 Static search structures and GNU <CODE>gperf</CODE></A></H1>
+<H1><A NAME="SEC6" HREF="gperf_toc.html#TOC6">2. Static search structures and GNU <CODE>gperf</CODE></A></H1>
<P>
<A NAME="IDX2"></A>
-</P>
+
<P>
-A <STRONG>static search structure</STRONG> is an Abstract Data Type with certain
+A <EM>static search structure</EM> is an Abstract Data Type with certain
fundamental operations, e.g., <EM>initialize</EM>, <EM>insert</EM>,
and <EM>retrieve</EM>. Conceptually, all insertions occur before any
retrievals. In practice, <CODE>gperf</CODE> generates a <EM>static</EM> array
@@ -26,11 +25,11 @@ insertions. It is a useful data structure for representing <EM>static
search sets</EM>. Static search sets occur frequently in software system
applications. Typical static search sets include compiler reserved
words, assembler instruction opcodes, and built-in shell interpreter
-commands. Search set members, called <STRONG>keywords</STRONG>, are inserted into
+commands. Search set members, called <EM>keywords</EM>, are inserted into
the structure only once, usually during program initialization, and are
not generally modified at run-time.
-</P>
+
<P>
Numerous static search structure implementations exist, e.g.,
arrays, linked lists, binary search trees, digital search tries, and
@@ -42,14 +41,14 @@ proportional to log <VAR>n</VAR>. Conversely, hash table implementations
often locate a table entry in constant time, but typically impose
additional memory overhead and exhibit poor worst case performance.
-</P>
+
<P>
<A NAME="IDX3"></A>
<EM>Minimal perfect hash functions</EM> provide an optimal solution for a
particular class of static search sets. A minimal perfect hash
function is defined by two properties:
-</P>
+
<UL>
<LI>
@@ -75,7 +74,7 @@ behavior generates <EM>near-minimal</EM> perfect hash functions for
keyword sets. However, <CODE>gperf</CODE> provides many options that permit
user control over the degree of minimality and perfection.
-</P>
+
<P>
Static search sets often exhibit relative stability over time. For
example, Ada's 63 reserved words have remained constant for nearly a
@@ -91,7 +90,7 @@ not yet part of the official GNU distribution. Each compiler utilizes
<CODE>gperf</CODE> to automatically generate static search structures that
efficiently identify their respective reserved keywords.
-</P>
+
<P><HR><P>
Go to the <A HREF="gperf_1.html">first</A>, <A HREF="gperf_3.html">previous</A>, <A HREF="gperf_5.html">next</A>, <A HREF="gperf_10.html">last</A> section, <A HREF="gperf_toc.html">table of contents</A>.
</BODY>
diff --git a/doc/gperf_5.html b/doc/gperf_5.html
index af6dbe9..8b6fd53 100644
--- a/doc/gperf_5.html
+++ b/doc/gperf_5.html
@@ -1,29 +1,28 @@
<HTML>
<HEAD>
-<!-- This HTML file has been created by texi2html 1.51
- from gperf.texi on 7 May 2003 -->
+<!-- Created by texi2html 1.56k from gperf.texi on 12 June 2003 -->
-<TITLE>Perfect Hash Function Generator - 3 High-Level Description of GNU gperf</TITLE>
+<TITLE>Perfect Hash Function Generator - 3. High-Level Description of GNU gperf</TITLE>
</HEAD>
<BODY>
Go to the <A HREF="gperf_1.html">first</A>, <A HREF="gperf_4.html">previous</A>, <A HREF="gperf_6.html">next</A>, <A HREF="gperf_10.html">last</A> section, <A HREF="gperf_toc.html">table of contents</A>.
<P><HR><P>
-<H1><A NAME="SEC7" HREF="gperf_toc.html#TOC7">3 High-Level Description of GNU <CODE>gperf</CODE></A></H1>
+<H1><A NAME="SEC7" HREF="gperf_toc.html#TOC7">3. High-Level Description of GNU <CODE>gperf</CODE></A></H1>
<P>
The perfect hash function generator <CODE>gperf</CODE> reads a set of
"keywords" from an input file (or from the standard input by
default). It attempts to derive a perfect hashing function that
-recognizes a member of the <STRONG>static keyword set</STRONG> with at most a
+recognizes a member of the <EM>static keyword set</EM> with at most a
single probe into the lookup table. If <CODE>gperf</CODE> succeeds in
generating such a function it produces a pair of C source code routines
that perform hashing and table lookup recognition. All generated C code
is directed to the standard output. Command-line options described
below allow you to modify the input and output format to <CODE>gperf</CODE>.
-</P>
+
<P>
By default, <CODE>gperf</CODE> attempts to produce time-efficient code, with
less emphasis on efficient space utilization. However, several options
@@ -35,7 +34,7 @@ statement scheme that minimizes data space storage size. Furthermore,
using a C <CODE>switch</CODE> may actually speed up the keyword retrieval time
somewhat. Actual results depend on your C compiler, of course.
-</P>
+
<P>
In general, <CODE>gperf</CODE> assigns values to the bytes it is using
for hashing until some set of values gives each keyword a unique value.
@@ -43,10 +42,10 @@ A helpful heuristic is that the larger the hash value range, the easier
it is for <CODE>gperf</CODE> to find and generate a perfect hash function.
Experimentation is the key to getting the most from <CODE>gperf</CODE>.
-</P>
-<H2><A NAME="SEC8" HREF="gperf_toc.html#TOC8">3.1 Input Format to <CODE>gperf</CODE></A></H2>
+
+<H2><A NAME="SEC8" HREF="gperf_toc.html#TOC8">3.1 Input Format to <CODE>gperf</CODE></A></H2>
<P>
<A NAME="IDX4"></A>
<A NAME="IDX5"></A>
@@ -58,7 +57,7 @@ is similar to GNU utilities <CODE>flex</CODE> and <CODE>bison</CODE> (or UNIX
utilities <CODE>lex</CODE> and <CODE>yacc</CODE>). Here's an outline of the general
format:
-</P>
+
<PRE>
declarations
@@ -73,14 +72,13 @@ functions
the functions section are optional. The following sections describe the
input format for each section.
-</P>
<P>
It is possible to omit the declaration section entirely, if the <SAMP>`-t'</SAMP>
option is not given. In this case the input file begins directly with the
first keyword line, e.g.:
-</P>
+
<PRE>
january
@@ -92,7 +90,7 @@ april
-<H3><A NAME="SEC9" HREF="gperf_toc.html#TOC9">3.1.1 Declarations</A></H3>
+<H3><A NAME="SEC9" HREF="gperf_toc.html#TOC9">3.1.1 Declarations</A></H3>
<P>
The keyword input file optionally contains a section for including
@@ -100,11 +98,10 @@ arbitrary C declarations and definitions, <CODE>gperf</CODE> declarations that
act like command-line options, as well as for providing a user-supplied
<CODE>struct</CODE>.
-</P>
-<H4><A NAME="SEC10" HREF="gperf_toc.html#TOC10">3.1.1.1 User-supplied <CODE>struct</CODE></A></H4>
+<H4><A NAME="SEC10" HREF="gperf_toc.html#TOC10">3.1.1.1 User-supplied <CODE>struct</CODE></A></H4>
<P>
If the <SAMP>`-t'</SAMP> option (or, equivalently, the <SAMP>`%struct-type'</SAMP> declaration)
@@ -117,15 +114,15 @@ This first field must be called <SAMP>`name'</SAMP>, although it is possible to
its name with the <SAMP>`-K'</SAMP> option (or, equivalently, the
<SAMP>`%define slot-name'</SAMP> declaration) described below.
-</P>
+
<P>
Here is a simple example, using months of the year and their attributes as
input:
-</P>
+
<PRE>
-struct months { char *name; int number; int days; int leap_days; };
+struct month { char *name; int number; int days; int leap_days; };
%%
january, 1, 31, 31
february, 2, 28, 29
@@ -148,10 +145,23 @@ other fields are a pair of consecutive percent signs, <SAMP>`%%'</SAMP>,
appearing left justified in the first column, as in the UNIX utility
<CODE>lex</CODE>.
-</P>
+
+<P>
+If the <CODE>struct</CODE> has already been declared in an include file, it can
+be mentioned in an abbreviated form, like this:
+
-<H4><A NAME="SEC11" HREF="gperf_toc.html#TOC11">3.1.1.2 Gperf Declarations</A></H4>
+<PRE>
+struct month;
+%%
+january, 1, 31, 31
+...
+</PRE>
+
+
+
+<H4><A NAME="SEC11" HREF="gperf_toc.html#TOC11">3.1.1.2 Gperf Declarations</A></H4>
<P>
The declaration section can contain <CODE>gperf</CODE> declarations. They
@@ -159,7 +169,7 @@ influence the way <CODE>gperf</CODE> works, like command line options do.
In fact, every such declaration is equivalent to a command line option.
There are three forms of declarations:
-</P>
+
<OL>
<LI>
@@ -180,11 +190,11 @@ Declarations of names of entities in the output file, like
When a declaration is given both in the input file and as a command line
option, the command-line option's value prevails.
-</P>
+
<P>
The following <CODE>gperf</CODE> declarations are available.
-</P>
+
<DL COMPACT>
<DT><SAMP>`%delimiters=<VAR>delimiter-list</VAR>'</SAMP>
@@ -295,7 +305,7 @@ test like <SAMP>`c &#62;= 'A' &#38;&#38; c &#60;= 'Z''</SAMP> guarantees this.)
<DD>
<A NAME="IDX19"></A>
Compare keyword lengths before trying a string comparison. This option
-is mandatory for binary comparisons (see section <A HREF="gperf_5.html#SEC17">3.3 Use of NUL bytes</A>). It also might
+is mandatory for binary comparisons (see section <A HREF="gperf_5.html#SEC17">3.3 Use of NUL bytes</A>). It also might
cut down on the number of string comparisons made during the lookup, since
keywords with different lengths are never compared via <CODE>strcmp</CODE>.
However, using <SAMP>`%compare-lengths'</SAMP> might greatly increase the size of the
@@ -398,7 +408,7 @@ this option if the type is already defined elsewhere.
-<H4><A NAME="SEC12" HREF="gperf_toc.html#TOC12">3.1.1.3 C Code Inclusion</A></H4>
+<H4><A NAME="SEC12" HREF="gperf_toc.html#TOC12">3.1.1.3 C Code Inclusion</A></H4>
<P>
<A NAME="IDX31"></A>
@@ -410,15 +420,15 @@ inside left-justified surrounding <SAMP>`%{'</SAMP>, <SAMP>`%}'</SAMP> pairs. H
an input fragment based on the previous example that illustrates this
feature:
-</P>
+
<PRE>
%{
#include &#60;assert.h&#62;
/* This section of code is inserted directly into the output. */
-int return_month_days (struct months *months, int is_leap_year);
+int return_month_days (struct month *months, int is_leap_year);
%}
-struct months { char *name; int number; int days; int leap_days; };
+struct month { char *name; int number; int days; int leap_days; };
%%
january, 1, 31, 31
february, 2, 28, 29
@@ -428,7 +438,7 @@ march, 3, 31, 31
-<H3><A NAME="SEC13" HREF="gperf_toc.html#TOC13">3.1.2 Format for Keyword Entries</A></H3>
+<H3><A NAME="SEC13" HREF="gperf_toc.html#TOC13">3.1.2 Format for Keyword Entries</A></H3>
<P>
The second input file format section contains lines of keywords and any
@@ -438,7 +448,7 @@ in the first column is considered a comment. Everything following the
beginning with <SAMP>`%'</SAMP> in the first column is an option declaration and
must not occur within the keywords section.
-</P>
+
<P>
The first field of each non-comment line is always the keyword itself. It
can be given in two ways: as a simple name, i.e., without surrounding
@@ -450,7 +460,7 @@ In this context, a "field" is considered to extend up to, but
not include, the first blank, comma, or newline. Here is a simple
example taken from a partial list of C reserved words:
-</P>
+
<PRE>
# These are a few C reserved words, see the c.gperf file
@@ -470,7 +480,7 @@ return
Note that unlike <CODE>flex</CODE> or <CODE>bison</CODE> the first <SAMP>`%%'</SAMP> marker
may be elided if the declaration section is empty.
-</P>
+
<P>
Additional fields may optionally follow the leading keyword. Fields
should be separated by commas, and terminate at the end of line. What
@@ -481,10 +491,10 @@ declaration section. If the <SAMP>`-t'</SAMP> option (or, equivalently, the
these fields are simply ignored. All previous examples except the last
one contain keyword attributes.
-</P>
-<H3><A NAME="SEC14" HREF="gperf_toc.html#TOC14">3.1.3 Including Additional C Functions</A></H3>
+
+<H3><A NAME="SEC14" HREF="gperf_toc.html#TOC14">3.1.3 Including Additional C Functions</A></H3>
<P>
The optional third section also corresponds closely with conventions
@@ -494,10 +504,10 @@ file, is included verbatim into the generated output file. Naturally,
it is your responsibility to ensure that the code contained in this
section is valid C.
-</P>
-<H3><A NAME="SEC15" HREF="gperf_toc.html#TOC15">3.1.4 Where to place directives for GNU <CODE>indent</CODE>.</A></H3>
+
+<H3><A NAME="SEC15" HREF="gperf_toc.html#TOC15">3.1.4 Where to place directives for GNU <CODE>indent</CODE>.</A></H3>
<P>
If you want to invoke GNU <CODE>indent</CODE> on a <CODE>gperf</CODE> input file,
@@ -507,7 +517,7 @@ interpretation of the input file. Therefore you have to insert some
directives for GNU <CODE>indent</CODE>. More precisely, assuming the most
general input file structure
-</P>
+
<PRE>
declarations part 1
@@ -525,7 +535,7 @@ functions
you would insert <SAMP>`*INDENT-OFF*'</SAMP> and <SAMP>`*INDENT-ON*'</SAMP> comments
as follows:
-</P>
+
<PRE>
/* *INDENT-OFF* */
@@ -545,11 +555,11 @@ functions
-<H2><A NAME="SEC16" HREF="gperf_toc.html#TOC16">3.2 Output Format for Generated C Code with <CODE>gperf</CODE></A></H2>
+<H2><A NAME="SEC16" HREF="gperf_toc.html#TOC16">3.2 Output Format for Generated C Code with <CODE>gperf</CODE></A></H2>
<P>
<A NAME="IDX33"></A>
-</P>
+
<P>
Several options control how the generated C code appears on the standard
output. Two C function are generated. They are called <CODE>hash</CODE> and
@@ -558,22 +568,22 @@ option. Both functions require two arguments, a string, <CODE>char *</CODE>
<VAR>str</VAR>, and a length parameter, <CODE>int</CODE> <VAR>len</VAR>. Their default
function prototypes are as follows:
-</P>
+
<P>
<DL>
<DT><U>Function:</U> unsigned int <B>hash</B> <I>(const char * <VAR>str</VAR>, unsigned int <VAR>len</VAR>)</I>
<DD><A NAME="IDX34"></A>
By default, the generated <CODE>hash</CODE> function returns an integer value
created by adding <VAR>len</VAR> to several user-specified <VAR>str</VAR> byte
-positions indexed into an <STRONG>associated values</STRONG> table stored in a
+positions indexed into an <EM>associated values</EM> table stored in a
local static array. The associated values table is constructed
internally by <CODE>gperf</CODE> and later output as a static local C array
called <SAMP>`hash_table'</SAMP>. The relevant selected positions (i.e. indices
into <VAR>str</VAR>) are specified via the <SAMP>`-k'</SAMP> option when running
-<CODE>gperf</CODE>, as detailed in the <EM>Options</EM> section below (see section <A HREF="gperf_6.html#SEC18">4 Invoking <CODE>gperf</CODE></A>).
+<CODE>gperf</CODE>, as detailed in the <EM>Options</EM> section below (see section <A HREF="gperf_6.html#SEC18">4. Invoking <CODE>gperf</CODE></A>).
</DL>
-</P>
+
<P>
<DL>
<DT><U>Function:</U> <B>in_word_set</B> <I>(const char * <VAR>str</VAR>, unsigned int <VAR>len</VAR>)</I>
@@ -585,7 +595,7 @@ a pointer to the matching keyword's structure. Otherwise it returns
<CODE>NULL</CODE>.
</DL>
-</P>
+
<P>
If the option <SAMP>`-c'</SAMP> (or, equivalently, the <SAMP>`%compare-strncmp'</SAMP>
declaration) is not used, <VAR>str</VAR> must be a NUL terminated
@@ -594,12 +604,12 @@ string of exactly length <VAR>len</VAR>. If <SAMP>`-c'</SAMP> (or, equivalently
simply be an array of <VAR>len</VAR> bytes and does not need to be NUL
terminated.
-</P>
+
<P>
The code generated for these two functions is affected by the following
options:
-</P>
+
<DL COMPACT>
<DT><SAMP>`-t'</SAMP>
@@ -630,14 +640,14 @@ with the various input and output options, and timing the resulting C
code, you can determine the best option choices for different keyword
set characteristics.
-</P>
-<H2><A NAME="SEC17" HREF="gperf_toc.html#TOC17">3.3 Use of NUL bytes</A></H2>
+
+<H2><A NAME="SEC17" HREF="gperf_toc.html#TOC17">3.3 Use of NUL bytes</A></H2>
<P>
<A NAME="IDX37"></A>
-</P>
+
<P>
By default, the code generated by <CODE>gperf</CODE> operates on zero
terminated strings, the usual representation of strings in C. This means
@@ -645,7 +655,7 @@ that the keywords in the input file must not contain NUL bytes,
and the <VAR>str</VAR> argument passed to <CODE>hash</CODE> or <CODE>in_word_set</CODE>
must be NUL terminated and have exactly length <VAR>len</VAR>.
-</P>
+
<P>
If option <SAMP>`-c'</SAMP> (or, equivalently, the <SAMP>`%compare-strncmp'</SAMP>
declaration) is used, then the <VAR>str</VAR> argument does not need
@@ -654,7 +664,7 @@ access the first <VAR>len</VAR>, not <VAR>len+1</VAR>, bytes starting at <VAR>st
However, the keywords in the input file still must not contain NUL
bytes.
-</P>
+
<P>
If option <SAMP>`-l'</SAMP> (or, equivalently, the <SAMP>`%compare-lengths'</SAMP>
declaration) is used, then the hash table performs binary
@@ -664,7 +674,7 @@ generated by <CODE>gperf</CODE> will treat NUL like any other byte.
Also, in this case the <SAMP>`-c'</SAMP> option (or, equivalently, the
<SAMP>`%compare-strncmp'</SAMP> declaration) is ignored.
-</P>
+
<P><HR><P>
Go to the <A HREF="gperf_1.html">first</A>, <A HREF="gperf_4.html">previous</A>, <A HREF="gperf_6.html">next</A>, <A HREF="gperf_10.html">last</A> section, <A HREF="gperf_toc.html">table of contents</A>.
</BODY>
diff --git a/doc/gperf_6.html b/doc/gperf_6.html
index 599910d..05b48cd 100644
--- a/doc/gperf_6.html
+++ b/doc/gperf_6.html
@@ -1,16 +1,15 @@
<HTML>
<HEAD>
-<!-- This HTML file has been created by texi2html 1.51
- from gperf.texi on 7 May 2003 -->
+<!-- Created by texi2html 1.56k from gperf.texi on 12 June 2003 -->
-<TITLE>Perfect Hash Function Generator - 4 Invoking gperf</TITLE>
+<TITLE>Perfect Hash Function Generator - 4. Invoking gperf</TITLE>
</HEAD>
<BODY>
Go to the <A HREF="gperf_1.html">first</A>, <A HREF="gperf_5.html">previous</A>, <A HREF="gperf_7.html">next</A>, <A HREF="gperf_10.html">last</A> section, <A HREF="gperf_toc.html">table of contents</A>.
<P><HR><P>
-<H1><A NAME="SEC18" HREF="gperf_toc.html#TOC18">4 Invoking <CODE>gperf</CODE></A></H1>
+<H1><A NAME="SEC18" HREF="gperf_toc.html#TOC18">4. Invoking <CODE>gperf</CODE></A></H1>
<P>
There are <EM>many</EM> options to <CODE>gperf</CODE>. They were added to make
@@ -18,11 +17,10 @@ the program more convenient for use with real applications. "On-line"
help is readily available via the <SAMP>`--help'</SAMP> option. Here is the
complete list of options.
-</P>
-<H2><A NAME="SEC19" HREF="gperf_toc.html#TOC19">4.1 Specifying the Location of the Output File</A></H2>
+<H2><A NAME="SEC19" HREF="gperf_toc.html#TOC19">4.1 Specifying the Location of the Output File</A></H2>
<DL COMPACT>
@@ -35,16 +33,16 @@ Allows you to specify the name of the file to which the output is written to.
The results are written to standard output if no output file is specified
or if it is <SAMP>`-'</SAMP>.
-</P>
-<H2><A NAME="SEC20" HREF="gperf_toc.html#TOC20">4.2 Options that affect Interpretation of the Input File</A></H2>
+
+<H2><A NAME="SEC20" HREF="gperf_toc.html#TOC20">4.2 Options that affect Interpretation of the Input File</A></H2>
<P>
These options are also available as declarations in the input file
-(see section <A HREF="gperf_5.html#SEC11">3.1.1.2 Gperf Declarations</A>).
+(see section <A HREF="gperf_5.html#SEC11">3.1.1.2 Gperf Declarations</A>).
+
-</P>
<DL COMPACT>
<DT><SAMP>`-e <VAR>keyword-delimiter-list</VAR>'</SAMP>
@@ -84,13 +82,13 @@ the <CODE>gperf</CODE> generated function.
-<H2><A NAME="SEC21" HREF="gperf_toc.html#TOC21">4.3 Options to specify the Language for the Output Code</A></H2>
+<H2><A NAME="SEC21" HREF="gperf_toc.html#TOC21">4.3 Options to specify the Language for the Output Code</A></H2>
<P>
These options are also available as declarations in the input file
-(see section <A HREF="gperf_5.html#SEC11">3.1.1.2 Gperf Declarations</A>).
+(see section <A HREF="gperf_5.html#SEC11">3.1.1.2 Gperf Declarations</A>).
+
-</P>
<DL COMPACT>
<DT><SAMP>`-L <VAR>generated-language-name</VAR>'</SAMP>
@@ -138,13 +136,13 @@ This option is supported for compatibility with previous releases of
-<H2><A NAME="SEC22" HREF="gperf_toc.html#TOC22">4.4 Options for fine tuning Details in the Output Code</A></H2>
+<H2><A NAME="SEC22" HREF="gperf_toc.html#TOC22">4.4 Options for fine tuning Details in the Output Code</A></H2>
<P>
Most of these options are also available as declarations in the input file
-(see section <A HREF="gperf_5.html#SEC11">3.1.1.2 Gperf Declarations</A>).
+(see section <A HREF="gperf_5.html#SEC11">3.1.1.2 Gperf Declarations</A>).
+
-</P>
<DL COMPACT>
<DT><SAMP>`-K <VAR>slot-name</VAR>'</SAMP>
@@ -215,7 +213,7 @@ to support 8-bit and multibyte characters.
<DT><SAMP>`--compare-lengths'</SAMP>
<DD>
Compare keyword lengths before trying a string comparison. This option
-is mandatory for binary comparisons (see section <A HREF="gperf_5.html#SEC17">3.3 Use of NUL bytes</A>). It also might
+is mandatory for binary comparisons (see section <A HREF="gperf_5.html#SEC17">3.3 Use of NUL bytes</A>). It also might
cut down on the number of string comparisons made during the lookup, since
keywords with different lengths are never compared via <CODE>strcmp</CODE>.
However, using <SAMP>`-l'</SAMP> might greatly increase the size of the
@@ -333,7 +331,7 @@ This option is supported for compatibility with previous releases of
-<H2><A NAME="SEC23" HREF="gperf_toc.html#TOC23">4.5 Options for changing the Algorithms employed by <CODE>gperf</CODE></A></H2>
+<H2><A NAME="SEC23" HREF="gperf_toc.html#TOC23">4.5 Options for changing the Algorithms employed by <CODE>gperf</CODE></A></H2>
<DL COMPACT>
@@ -458,7 +456,7 @@ heuristic.
-<H2><A NAME="SEC24" HREF="gperf_toc.html#TOC24">4.6 Informative Output</A></H2>
+<H2><A NAME="SEC24" HREF="gperf_toc.html#TOC24">4.6 Informative Output</A></H2>
<DL COMPACT>
diff --git a/doc/gperf_7.html b/doc/gperf_7.html
index 084f646..0f470e5 100644
--- a/doc/gperf_7.html
+++ b/doc/gperf_7.html
@@ -1,22 +1,21 @@
<HTML>
<HEAD>
-<!-- This HTML file has been created by texi2html 1.51
- from gperf.texi on 7 May 2003 -->
+<!-- Created by texi2html 1.56k from gperf.texi on 12 June 2003 -->
-<TITLE>Perfect Hash Function Generator - 5 Known Bugs and Limitations with gperf</TITLE>
+<TITLE>Perfect Hash Function Generator - 5. Known Bugs and Limitations with gperf</TITLE>
</HEAD>
<BODY>
Go to the <A HREF="gperf_1.html">first</A>, <A HREF="gperf_6.html">previous</A>, <A HREF="gperf_8.html">next</A>, <A HREF="gperf_10.html">last</A> section, <A HREF="gperf_toc.html">table of contents</A>.
<P><HR><P>
-<H1><A NAME="SEC25" HREF="gperf_toc.html#TOC25">5 Known Bugs and Limitations with <CODE>gperf</CODE></A></H1>
+<H1><A NAME="SEC25" HREF="gperf_toc.html#TOC25">5. Known Bugs and Limitations with <CODE>gperf</CODE></A></H1>
<P>
The following are some limitations with the current release of
<CODE>gperf</CODE>:
-</P>
+
<UL>
<LI>
diff --git a/doc/gperf_8.html b/doc/gperf_8.html
index 58460aa..1f472b9 100644
--- a/doc/gperf_8.html
+++ b/doc/gperf_8.html
@@ -1,16 +1,15 @@
<HTML>
<HEAD>
-<!-- This HTML file has been created by texi2html 1.51
- from gperf.texi on 7 May 2003 -->
+<!-- Created by texi2html 1.56k from gperf.texi on 12 June 2003 -->
-<TITLE>Perfect Hash Function Generator - 6 Things Still Left to Do</TITLE>
+<TITLE>Perfect Hash Function Generator - 6. Things Still Left to Do</TITLE>
</HEAD>
<BODY>
Go to the <A HREF="gperf_1.html">first</A>, <A HREF="gperf_7.html">previous</A>, <A HREF="gperf_9.html">next</A>, <A HREF="gperf_10.html">last</A> section, <A HREF="gperf_toc.html">table of contents</A>.
<P><HR><P>
-<H1><A NAME="SEC26" HREF="gperf_toc.html#TOC26">6 Things Still Left to Do</A></H1>
+<H1><A NAME="SEC26" HREF="gperf_toc.html#TOC26">6. Things Still Left to Do</A></H1>
<P>
It should be "relatively" easy to replace the current perfect hash
@@ -18,7 +17,7 @@ function algorithm with a more exhaustive approach; the perfect hash
module is essential independent from other program modules. Additional
worthwhile improvements include:
-</P>
+
<UL>
<LI>
diff --git a/doc/gperf_9.html b/doc/gperf_9.html
index 4bc59ce..91427fd 100644
--- a/doc/gperf_9.html
+++ b/doc/gperf_9.html
@@ -1,94 +1,93 @@
<HTML>
<HEAD>
-<!-- This HTML file has been created by texi2html 1.51
- from gperf.texi on 7 May 2003 -->
+<!-- Created by texi2html 1.56k from gperf.texi on 12 June 2003 -->
-<TITLE>Perfect Hash Function Generator - 7 Bibliography</TITLE>
+<TITLE>Perfect Hash Function Generator - 7. Bibliography</TITLE>
</HEAD>
<BODY>
Go to the <A HREF="gperf_1.html">first</A>, <A HREF="gperf_8.html">previous</A>, <A HREF="gperf_10.html">next</A>, <A HREF="gperf_10.html">last</A> section, <A HREF="gperf_toc.html">table of contents</A>.
<P><HR><P>
-<H1><A NAME="SEC27" HREF="gperf_toc.html#TOC27">7 Bibliography</A></H1>
+<H1><A NAME="SEC27" HREF="gperf_toc.html#TOC27">7. Bibliography</A></H1>
<P>
[1] Chang, C.C.: <I>A Scheme for Constructing Ordered Minimal Perfect
Hashing Functions</I> Information Sciences 39(1986), 187-195.
-</P>
+
<P>
[2] Cichelli, Richard J. <I>Author's Response to "On Cichelli's Minimal Perfect Hash
Functions Method"</I> Communications of the ACM, 23, 12(December 1980), 729.
-</P>
+
<P>
[3] Cichelli, Richard J. <I>Minimal Perfect Hash Functions Made Simple</I>
Communications of the ACM, 23, 1(January 1980), 17-19.
-</P>
+
<P>
[4] Cook, C. R. and Oldehoeft, R.R. <I>A Letter Oriented Minimal
Perfect Hashing Function</I> SIGPLAN Notices, 17, 9(September 1982), 18-27.
-</P>
+
<P>
[5] Cormack, G. V. and Horspool, R. N. S. and Kaiserwerth, M.
<I>Practical Perfect Hashing</I> Computer Journal, 28, 1(January 1985), 54-58.
-</P>
+
<P>
[6] Jaeschke, G. <I>Reciprocal Hashing: A Method for Generating Minimal
Perfect Hashing Functions</I> Communications of the ACM, 24, 12(December
1981), 829-833.
-</P>
+
<P>
[7] Jaeschke, G. and Osterburg, G. <I>On Cichelli's Minimal Perfect
Hash Functions Method</I> Communications of the ACM, 23, 12(December 1980),
728-729.
-</P>
+
<P>
[8] Sager, Thomas J. <I>A Polynomial Time Generator for Minimal Perfect
Hash Functions</I> Communications of the ACM, 28, 5(December 1985), 523-532
-</P>
+
<P>
[9] Schmidt, Douglas C. <I>GPERF: A Perfect Hash Function Generator</I>
Second USENIX C++ Conference Proceedings, April 1990.
-</P>
+
<P>
[10] Schmidt, Douglas C. <I>GPERF: A Perfect Hash Function Generator</I>
C++ Report, SIGS 10 10 (November/December 1998).
-</P>
+
<P>
[11] Sebesta, R.W. and Taylor, M.A. <I>Minimal Perfect Hash Functions
for Reserved Word Lists</I> SIGPLAN Notices, 20, 12(September 1985), 47-53.
-</P>
+
<P>
[12] Sprugnoli, R. <I>Perfect Hashing Functions: A Single Probe
Retrieving Method for Static Sets</I> Communications of the ACM, 20
11(November 1977), 841-850.
-</P>
+
<P>
[13] Stallman, Richard M. <I>Using and Porting GNU CC</I> Free Software Foundation,
1988.
-</P>
+
<P>
[14] Stroustrup, Bjarne <I>The C++ Programming Language.</I> Addison-Wesley, 1986.
-</P>
+
<P>
[15] Tiemann, Michael D. <I>User's Guide to GNU C++</I> Free Software
Foundation, 1989.
-</P>
+
<P><HR><P>
Go to the <A HREF="gperf_1.html">first</A>, <A HREF="gperf_8.html">previous</A>, <A HREF="gperf_10.html">next</A>, <A HREF="gperf_10.html">last</A> section, <A HREF="gperf_toc.html">table of contents</A>.
</BODY>
diff --git a/doc/gperf_toc.html b/doc/gperf_toc.html
index 3541fbb..5aa1baa 100644
--- a/doc/gperf_toc.html
+++ b/doc/gperf_toc.html
@@ -1,14 +1,13 @@
<HTML>
<HEAD>
-<!-- This HTML file has been created by texi2html 1.51
- from gperf.texi on 7 May 2003 -->
+<!-- Created by texi2html 1.56k from gperf.texi on 12 June 2003 -->
<TITLE>Perfect Hash Function Generator - Table of Contents</TITLE>
</HEAD>
<BODY>
-<H1>User's Guide to <CODE>gperf</CODE> 3.0</H1>
+<H1>User's Guide to <CODE>gperf</CODE> 3.0.1</H1>
<H2>The GNU Perfect Hash Function Generator</H2>
-<H2>Edition 3.0, 7 May 2003</H2>
+<H2>Edition 3.0.1, 12 June 2003</H2>
<ADDRESS>Douglas C. Schmidt</ADDRESS>
<ADDRESS>Bruno Haible</ADDRESS>
<P>
@@ -20,42 +19,41 @@
<LI><A NAME="TOC3" HREF="gperf_1.html#SEC3">How to Apply These Terms to Your New Programs</A>
</UL>
<LI><A NAME="TOC4" HREF="gperf_2.html#SEC4">Contributors to GNU <CODE>gperf</CODE> Utility</A>
-<LI><A NAME="TOC5" HREF="gperf_3.html#SEC5">1 Introduction</A>
-<LI><A NAME="TOC6" HREF="gperf_4.html#SEC6">2 Static search structures and GNU <CODE>gperf</CODE></A>
-<LI><A NAME="TOC7" HREF="gperf_5.html#SEC7">3 High-Level Description of GNU <CODE>gperf</CODE></A>
+<LI><A NAME="TOC5" HREF="gperf_3.html#SEC5">1. Introduction</A>
+<LI><A NAME="TOC6" HREF="gperf_4.html#SEC6">2. Static search structures and GNU <CODE>gperf</CODE></A>
+<LI><A NAME="TOC7" HREF="gperf_5.html#SEC7">3. High-Level Description of GNU <CODE>gperf</CODE></A>
<UL>
-<LI><A NAME="TOC8" HREF="gperf_5.html#SEC8">3.1 Input Format to <CODE>gperf</CODE></A>
+<LI><A NAME="TOC8" HREF="gperf_5.html#SEC8">3.1 Input Format to <CODE>gperf</CODE></A>
<UL>
-<LI><A NAME="TOC9" HREF="gperf_5.html#SEC9">3.1.1 Declarations</A>
+<LI><A NAME="TOC9" HREF="gperf_5.html#SEC9">3.1.1 Declarations</A>
<UL>
-<LI><A NAME="TOC10" HREF="gperf_5.html#SEC10">3.1.1.1 User-supplied <CODE>struct</CODE></A>
-<LI><A NAME="TOC11" HREF="gperf_5.html#SEC11">3.1.1.2 Gperf Declarations</A>
-<LI><A NAME="TOC12" HREF="gperf_5.html#SEC12">3.1.1.3 C Code Inclusion</A>
+<LI><A NAME="TOC10" HREF="gperf_5.html#SEC10">3.1.1.1 User-supplied <CODE>struct</CODE></A>
+<LI><A NAME="TOC11" HREF="gperf_5.html#SEC11">3.1.1.2 Gperf Declarations</A>
+<LI><A NAME="TOC12" HREF="gperf_5.html#SEC12">3.1.1.3 C Code Inclusion</A>
</UL>
-<LI><A NAME="TOC13" HREF="gperf_5.html#SEC13">3.1.2 Format for Keyword Entries</A>
-<LI><A NAME="TOC14" HREF="gperf_5.html#SEC14">3.1.3 Including Additional C Functions</A>
-<LI><A NAME="TOC15" HREF="gperf_5.html#SEC15">3.1.4 Where to place directives for GNU <CODE>indent</CODE>.</A>
+<LI><A NAME="TOC13" HREF="gperf_5.html#SEC13">3.1.2 Format for Keyword Entries</A>
+<LI><A NAME="TOC14" HREF="gperf_5.html#SEC14">3.1.3 Including Additional C Functions</A>
+<LI><A NAME="TOC15" HREF="gperf_5.html#SEC15">3.1.4 Where to place directives for GNU <CODE>indent</CODE>.</A>
</UL>
-<LI><A NAME="TOC16" HREF="gperf_5.html#SEC16">3.2 Output Format for Generated C Code with <CODE>gperf</CODE></A>
-<LI><A NAME="TOC17" HREF="gperf_5.html#SEC17">3.3 Use of NUL bytes</A>
+<LI><A NAME="TOC16" HREF="gperf_5.html#SEC16">3.2 Output Format for Generated C Code with <CODE>gperf</CODE></A>
+<LI><A NAME="TOC17" HREF="gperf_5.html#SEC17">3.3 Use of NUL bytes</A>
</UL>
-<LI><A NAME="TOC18" HREF="gperf_6.html#SEC18">4 Invoking <CODE>gperf</CODE></A>
+<LI><A NAME="TOC18" HREF="gperf_6.html#SEC18">4. Invoking <CODE>gperf</CODE></A>
<UL>
-<LI><A NAME="TOC19" HREF="gperf_6.html#SEC19">4.1 Specifying the Location of the Output File</A>
-<LI><A NAME="TOC20" HREF="gperf_6.html#SEC20">4.2 Options that affect Interpretation of the Input File</A>
-<LI><A NAME="TOC21" HREF="gperf_6.html#SEC21">4.3 Options to specify the Language for the Output Code</A>
-<LI><A NAME="TOC22" HREF="gperf_6.html#SEC22">4.4 Options for fine tuning Details in the Output Code</A>
-<LI><A NAME="TOC23" HREF="gperf_6.html#SEC23">4.5 Options for changing the Algorithms employed by <CODE>gperf</CODE></A>
-<LI><A NAME="TOC24" HREF="gperf_6.html#SEC24">4.6 Informative Output</A>
+<LI><A NAME="TOC19" HREF="gperf_6.html#SEC19">4.1 Specifying the Location of the Output File</A>
+<LI><A NAME="TOC20" HREF="gperf_6.html#SEC20">4.2 Options that affect Interpretation of the Input File</A>
+<LI><A NAME="TOC21" HREF="gperf_6.html#SEC21">4.3 Options to specify the Language for the Output Code</A>
+<LI><A NAME="TOC22" HREF="gperf_6.html#SEC22">4.4 Options for fine tuning Details in the Output Code</A>
+<LI><A NAME="TOC23" HREF="gperf_6.html#SEC23">4.5 Options for changing the Algorithms employed by <CODE>gperf</CODE></A>
+<LI><A NAME="TOC24" HREF="gperf_6.html#SEC24">4.6 Informative Output</A>
</UL>
-<LI><A NAME="TOC25" HREF="gperf_7.html#SEC25">5 Known Bugs and Limitations with <CODE>gperf</CODE></A>
-<LI><A NAME="TOC26" HREF="gperf_8.html#SEC26">6 Things Still Left to Do</A>
-<LI><A NAME="TOC27" HREF="gperf_9.html#SEC27">7 Bibliography</A>
+<LI><A NAME="TOC25" HREF="gperf_7.html#SEC25">5. Known Bugs and Limitations with <CODE>gperf</CODE></A>
+<LI><A NAME="TOC26" HREF="gperf_8.html#SEC26">6. Things Still Left to Do</A>
+<LI><A NAME="TOC27" HREF="gperf_9.html#SEC27">7. Bibliography</A>
<LI><A NAME="TOC28" HREF="gperf_10.html#SEC28">Concept Index</A>
</UL>
<P><HR><P>
-This document was generated on 7 May 2003 using the
-<A HREF="http://wwwcn.cern.ch/dci/texi2html/">texi2html</A>
-translator version 1.51.</P>
+This document was generated on 12 June 2003 using
+<A HREF="http://wwwinfo.cern.ch/dis/texi2html/">texi2html</A>&nbsp;1.56k.
</BODY>
</HTML>