summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBruno Haible <bruno@clisp.org>2007-03-31 15:43:28 +0000
committerBruno Haible <bruno@clisp.org>2007-03-31 15:43:28 +0000
commitfaae53d552ca472817b28e988b62889ac264957c (patch)
tree6d6969cdff5e43d5458f1c6046185a36c1e31527
parent420a9082115cf4ba510eda53ca2770c7666549f1 (diff)
downloadgperf-faae53d552ca472817b28e988b62889ac264957c.tar.gz
Regenerated.
-rw-r--r--doc/gperf.dvibin95684 -> 105368 bytes
-rw-r--r--doc/gperf.html77
-rw-r--r--doc/gperf.info28
-rw-r--r--doc/gperf.pdfbin226715 -> 225619 bytes
-rw-r--r--doc/gperf.ps3511
-rw-r--r--doc/gperf_1.html4
-rw-r--r--doc/gperf_10.html57
-rw-r--r--doc/gperf_2.html4
-rw-r--r--doc/gperf_3.html4
-rw-r--r--doc/gperf_4.html8
-rw-r--r--doc/gperf_5.html10
-rw-r--r--doc/gperf_6.html4
-rw-r--r--doc/gperf_7.html4
-rw-r--r--doc/gperf_8.html4
-rw-r--r--doc/gperf_9.html4
-rw-r--r--doc/gperf_toc.html14
16 files changed, 2050 insertions, 1683 deletions
diff --git a/doc/gperf.dvi b/doc/gperf.dvi
index 0619301..04ba5ff 100644
--- a/doc/gperf.dvi
+++ b/doc/gperf.dvi
Binary files differ
diff --git a/doc/gperf.html b/doc/gperf.html
index 40216bc..e48f226 100644
--- a/doc/gperf.html
+++ b/doc/gperf.html
@@ -1,14 +1,14 @@
<HTML>
<HEAD>
-<!-- This HTML file has been created by texi2html 1.52
- from gperf.texi on 22 January 2006 -->
+<!-- This HTML file has been created by texi2html 1.51
+ from gperf.texi on 31 March 2007 -->
<TITLE>Perfect Hash Function Generator</TITLE>
</HEAD>
<BODY>
-<H1>User's Guide to <CODE>gperf</CODE> 3.0.2</H1>
+<H1>User's Guide to <CODE>gperf</CODE> 3.0.3</H1>
<H2>The GNU Perfect Hash Function Generator</H2>
-<H2>Edition 3.0.2, 22 January 2006</H2>
+<H2>Edition 3.0.3, 31 March 2007</H2>
<ADDRESS>Douglas C. Schmidt</ADDRESS>
<ADDRESS>Bruno Haible</ADDRESS>
<P>
@@ -570,7 +570,7 @@ or from <CODE>http://www.cs.wustl.edu/~schmidt/resume.html</CODE>.
</P>
<P>
-A <EM>static search structure</EM> is an Abstract Data Type with certain
+A <STRONG>static search structure</STRONG> 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,7 +580,7 @@ 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 <EM>keywords</EM>, are inserted into
+commands. Search set members, called <STRONG>keywords</STRONG>, are inserted into
the structure only once, usually during program initialization, and are
not generally modified at run-time.
@@ -654,7 +654,7 @@ efficiently identify their respective reserved keywords.
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 <EM>static keyword set</EM> with at most a
+recognizes a member of the <STRONG>static keyword set</STRONG> 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
@@ -1211,7 +1211,7 @@ functions
</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
+output. Two C functions are generated. They are called <CODE>hash</CODE> and
<CODE>in_word_set</CODE>, although you may modify their names with a command-line
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
@@ -1224,7 +1224,7 @@ function prototypes are as follows:
<DD><A NAME="IDX35"></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 <EM>associated values</EM> table stored in a
+positions indexed into an <STRONG>associated values</STRONG> 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
@@ -1970,34 +1970,7 @@ Foundation, 1989.
<H1><A NAME="SEC28" HREF="gperf.html#TOC28">Concept Index</A></H1>
<P>
-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>
+<H2>%</H2>
<DIR>
<LI><A HREF="gperf.html#IDX8"><SAMP>`%%'</SAMP></A>
<LI><A HREF="gperf.html#IDX18"><SAMP>`%7bit'</SAMP></A>
@@ -2026,56 +1999,56 @@ Jump to:
<LI><A HREF="gperf.html#IDX32"><SAMP>`%{'</SAMP></A>
<LI><A HREF="gperf.html#IDX33"><SAMP>`%}'</SAMP></A>
</DIR>
-<H2><A NAME="cindex_a">a</A></H2>
+<H2>a</H2>
<DIR>
<LI><A HREF="gperf.html#IDX43">Array name</A>, <A HREF="gperf.html#IDX44">Array name</A>
</DIR>
-<H2><A NAME="cindex_b">b</A></H2>
+<H2>b</H2>
<DIR>
<LI><A HREF="gperf.html#IDX1">Bugs</A>
</DIR>
-<H2><A NAME="cindex_c">c</A></H2>
+<H2>c</H2>
<DIR>
<LI><A HREF="gperf.html#IDX42">Class name</A>
</DIR>
-<H2><A NAME="cindex_d">d</A></H2>
+<H2>d</H2>
<DIR>
<LI><A HREF="gperf.html#IDX5">Declaration section</A>
<LI><A HREF="gperf.html#IDX39">Delimiters</A>
<LI><A HREF="gperf.html#IDX46">Duplicates</A>
</DIR>
-<H2><A NAME="cindex_f">f</A></H2>
+<H2>f</H2>
<DIR>
<LI><A HREF="gperf.html#IDX4">Format</A>
<LI><A HREF="gperf.html#IDX7">Functions section</A>
</DIR>
-<H2><A NAME="cindex_h">h</A></H2>
+<H2>h</H2>
<DIR>
<LI><A HREF="gperf.html#IDX35">hash</A>
<LI><A HREF="gperf.html#IDX34">hash table</A>
</DIR>
-<H2><A NAME="cindex_i">i</A></H2>
+<H2>i</H2>
<DIR>
<LI><A HREF="gperf.html#IDX36">in_word_set</A>
<LI><A HREF="gperf.html#IDX41">Initializers</A>
</DIR>
-<H2><A NAME="cindex_j">j</A></H2>
+<H2>j</H2>
<DIR>
<LI><A HREF="gperf.html#IDX47">Jump value</A>
</DIR>
-<H2><A NAME="cindex_k">k</A></H2>
+<H2>k</H2>
<DIR>
<LI><A HREF="gperf.html#IDX6">Keywords section</A>
</DIR>
-<H2><A NAME="cindex_m">m</A></H2>
+<H2>m</H2>
<DIR>
<LI><A HREF="gperf.html#IDX3">Minimal perfect hash functions</A>
</DIR>
-<H2><A NAME="cindex_n">n</A></H2>
+<H2>n</H2>
<DIR>
<LI><A HREF="gperf.html#IDX38">NUL</A>
</DIR>
-<H2><A NAME="cindex_s">s</A></H2>
+<H2>s</H2>
<DIR>
<LI><A HREF="gperf.html#IDX40">Slot name</A>
<LI><A HREF="gperf.html#IDX2">Static search structure</A>
@@ -2084,8 +2057,8 @@ Jump to:
</P>
<P><HR><P>
-This document was generated on 22 January 2006 using the
-<A HREF="http://wwwinfo.cern.ch/dis/texi2html/">texi2html</A>
-translator version 1.52.</P>
+This document was generated on 31 March 2007 using the
+<A HREF="http://wwwcn.cern.ch/dci/texi2html/">texi2html</A>
+translator version 1.51.</P>
</BODY>
</HTML>
diff --git a/doc/gperf.info b/doc/gperf.info
index 13a4845..c3e81ae 100644
--- a/doc/gperf.info
+++ b/doc/gperf.info
@@ -6,7 +6,7 @@ START-INFO-DIR-ENTRY
END-INFO-DIR-ENTRY
This file documents the features of the GNU Perfect Hash Function
-Generator 3.0.2.
+Generator 3.0.3.
Copyright (C) 1989-2006 Free Software Foundation, Inc.
@@ -1019,7 +1019,7 @@ File: gperf.info, Node: Output Format, Next: Binary Strings, Prev: Input Form
===================================================
Several options control how the generated C code appears on the standard
-output. Two C function are generated. They are called `hash' and
+output. Two C functions are generated. They are called `hash' and
`in_word_set', although you may modify their names with a command-line
option. Both functions require two arguments, a string, `char *' STR,
and a length parameter, `int' LEN. Their default function prototypes
@@ -1692,17 +1692,17 @@ Node: Keywords43182
Node: Functions45127
Node: Controls for GNU indent45662
Node: Output Format46610
-Node: Binary Strings49401
-Node: Options50549
-Node: Output File51335
-Node: Input Details51727
-Node: Output Language53563
-Node: Output Details54979
-Node: Algorithmic Details62243
-Node: Verbosity67500
-Node: Bugs68211
-Node: Projects69804
-Node: Bibliography70933
-Node: Concept Index72990
+Node: Binary Strings49402
+Node: Options50550
+Node: Output File51336
+Node: Input Details51728
+Node: Output Language53564
+Node: Output Details54980
+Node: Algorithmic Details62244
+Node: Verbosity67501
+Node: Bugs68212
+Node: Projects69805
+Node: Bibliography70934
+Node: Concept Index72991

End Tag Table
diff --git a/doc/gperf.pdf b/doc/gperf.pdf
index 02991d7..4655e2a 100644
--- a/doc/gperf.pdf
+++ b/doc/gperf.pdf
Binary files differ
diff --git a/doc/gperf.ps b/doc/gperf.ps
index 274fb8a..f360905 100644
--- a/doc/gperf.ps
+++ b/doc/gperf.ps
@@ -1,19 +1,18 @@
%!PS-Adobe-2.0
-%%Creator: dvips(k) 5.95a Copyright 2005 Radical Eye Software
-%%Title: ../../cvs/doc/gperf.dvi
+%%Creator: dvips(k) 5.92b Copyright 2002 Radical Eye Software
+%%Title: ./gperf.dvi
%%Pages: 32
%%PageOrder: Ascend
-%%BoundingBox: 0 0 595 842
+%%BoundingBox: 0 0 596 842
%%DocumentFonts: CMBX12 CMTT12 CMR10 CMSY10 CMSL10 CMTT10 CMTI10 CMBX10
-%%+ CMSS10 CMB10 CMR9 CMBXTI10
+%%+ CMSS10 CMB10 CMR9 CMTT9 CMTI9 CMBXTI10
%%DocumentPaperSizes: a4
%%EndComments
%DVIPSWebPage: (www.radicaleye.com)
-%DVIPSCommandLine: dvips -D600 -o ../../cvs/doc/gperf.ps
-%+ ../../cvs/doc/gperf.dvi
-%DVIPSParameters: dpi=600
-%DVIPSSource: TeX output 2006.01.22:1238
-%%BeginProcSet: tex.pro 0 0
+%DVIPSCommandLine: dvips -D600 -o gperf.ps ./gperf.dvi
+%DVIPSParameters: dpi=600, compressed
+%DVIPSSource: TeX output 2007.03.31:1631
+%%BeginProcSet: texc.pro
%!
/TeXDict 300 dict def TeXDict begin/N{def}def/B{bind def}N/S{exch}N/X{S
N}B/A{dup}B/TR{translate}N/isls false N/vsize 11 72 mul N/hsize 8.5 72
@@ -32,10 +31,22 @@ df-tail}B/dfs{div/sf X/fntrx[sf 0 0 sf neg 0 0]N df-tail}B/E{pop nn A
definefont setfont}B/Cw{Cd A length 5 sub get}B/Ch{Cd A length 4 sub get
}B/Cx{128 Cd A length 3 sub get sub}B/Cy{Cd A length 2 sub get 127 sub}
B/Cdx{Cd A length 1 sub get}B/Ci{Cd A type/stringtype ne{ctr get/ctr ctr
-1 add N}if}B/CharBuilder{save 3 1 roll S A/base get 2 index get S
-/BitMaps get S get/Cd X pop/ctr 0 N Cdx 0 Cx Cy Ch sub Cx Cw add Cy
-setcachedevice Cw Ch true[1 0 0 -1 -.1 Cx sub Cy .1 sub]{Ci}imagemask
-restore}B/D{/cc X A type/stringtype ne{]}if nn/base get cc ctr put nn
+1 add N}if}B/id 0 N/rw 0 N/rc 0 N/gp 0 N/cp 0 N/G 0 N/CharBuilder{save 3
+1 roll S A/base get 2 index get S/BitMaps get S get/Cd X pop/ctr 0 N Cdx
+0 Cx Cy Ch sub Cx Cw add Cy setcachedevice Cw Ch true[1 0 0 -1 -.1 Cx
+sub Cy .1 sub]/id Ci N/rw Cw 7 add 8 idiv string N/rc 0 N/gp 0 N/cp 0 N{
+rc 0 ne{rc 1 sub/rc X rw}{G}ifelse}imagemask restore}B/G{{id gp get/gp
+gp 1 add N A 18 mod S 18 idiv pl S get exec}loop}B/adv{cp add/cp X}B
+/chg{rw cp id gp 4 index getinterval putinterval A gp add/gp X adv}B/nd{
+/cp 0 N rw exit}B/lsh{rw cp 2 copy get A 0 eq{pop 1}{A 255 eq{pop 254}{
+A A add 255 and S 1 and or}ifelse}ifelse put 1 adv}B/rsh{rw cp 2 copy
+get A 0 eq{pop 128}{A 255 eq{pop 127}{A 2 idiv S 128 and or}ifelse}
+ifelse put 1 adv}B/clr{rw cp 2 index string putinterval adv}B/set{rw cp
+fillstr 0 4 index getinterval putinterval adv}B/fillstr 18 string 0 1 17
+{2 copy 255 put pop}for N/pl[{adv 1 chg}{adv 1 chg nd}{1 add chg}{1 add
+chg nd}{adv lsh}{adv lsh nd}{adv rsh}{adv rsh nd}{1 add adv}{/rc X nd}{
+1 add set}{1 add clr}{adv 2 chg}{adv 2 chg nd}{pop nd}]A{bind pop}
+forall N/D{/cc X A type/stringtype ne{]}if nn/base get cc ctr put nn
/BitMaps get S ctr S sf 1 ne{A A length 1 sub A 2 index S get sf div put
}if put/ctr ctr 1 add N}B/I{cc 1 add D}B/bop{userdict/bop-hook known{
bop-hook}if/SI save N @rigin 0 0 moveto/V matrix currentmatrix A 1 get A
@@ -59,7 +70,165 @@ 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
-%%BeginProcSet: texps.pro 0 0
+%%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
@@ -96,9 +265,10 @@ end readonly 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 46 /period put
+dup 0 /.notdef put
readonly def
/FontBBox{-29 -250 1274 754}readonly def
+/UniqueID 5000771 def
currentdict end
currentfile eexec
D9D66F633B846A97B686A97E45A3D0AA0529731C99A784CCBE85B4993B2EEBDE
@@ -142,6 +312,270 @@ CFA8717DE230CB6182F2250885B8E90AC42A66484A7B527061B223A6D1CC72D4
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
@@ -162,19 +596,10 @@ end readonly 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 40 /parenleft put
-dup 41 /parenright put
-dup 73 /I put
-dup 100 /d put
-dup 101 /e put
-dup 105 /i put
-dup 110 /n put
-dup 111 /o put
-dup 115 /s put
-dup 116 /t put
-dup 120 /x put
+dup 0 /.notdef put
readonly def
/FontBBox{-39 -250 1036 750}readonly def
+/UniqueID 5000792 def
currentdict end
currentfile eexec
D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891
@@ -201,64 +626,241 @@ C25F9E8FB912CBE23199AD9D2C3E573727701BA301526C66C3617B9514D6F11F
D4004E6BEF379066FD72209DC88D2E634E79BCC2B98C766CBD92C561F2703F8A
109E6C6CEC7B866F2FC7ADF646BF492E520319F3B949AB5D84AE990B33344A40
3971F58DFDF8D8D67FA0B8F2A0D884F8C09A5A721319B911DBA0A35903877343
-C37BC36C5EB32353272D1E6ED5FCA611BE319A7E1E842CB7576E7F5458CFC59B
-079E0D4D871D2A7D81326B7416856475D76205EAEEC9F3D52327C5B62994CE55
-1B930DFFBC741F40F64C00013B59589381551142DA0571D7219B034FE96E2029
-3F5A62E3CD07308E303E616DDF322799FDAC2B6B306679295314E08E76644438
-6E4BA84059F7CA54E1993211BAD90DD3A51CA589139A75717A5FC3B497DBA3B8
-F3629E43414B3522E80742E32BCA188C22779D748C7AA6B46B64B3F85604D799
-5C6C5A44FDB20FD4F5637E62AD65F244E8AD62A9B1091B558174854DB42B8BA3
-2BB48247AB1F8F9C7735AC08F7F3D4946C4C92815745A64A0B2C9E9836A4691B
-C5D3833C22EFE5FC9F3261789CAC68B83C8350C3CA3326FB17DE179CF7707358
-07E7B48A010E6A558CFDEB454B91A07BF032E852D09C9491DC4A4DD47AF86968
-2D402A79B6770156D4AE6461DB26261E41B72C03F0BE35E5B7094615BE5BD8CA
-13D011FD4A241E1BF7F08B4E1ED6367974130E95428CE40E0FFB940521A834D7
-13BE1B34B80E1AADC8EB7357B84BDA70506FF89867FC4DD9F829EAEB43DCF7D4
-F9D81ADE02EDB4FF128C7B6822533E2386D6110E0A8AD99D02F129D6D3B7BCCC
-8E0B4F6BD1357ED5727EA27A4751AA271616C29E2092E2E9AC33C864750941B6
-9D9D0EBC991F38832D3A9884CAA06BDF5A3EFE212187F01ABD22D90861DA504F
-8E03D4A75E6A84FED5AD1260FD1B5504A5EB660B40EBBC1711B625FAB2E43596
-74F2DC1C7E1622F5A9643782E90AD9E03CE154486E3F3202701274B67BD4A823
-4206A10BEC6659C6CCFE63B2FA0C581CA42DD7E73023BB4692E9BC4E82125E45
-F4530E0BA7E2AEB69F758C93681029D1C4F2D385593C21E9780BB439BCCB924D
-6AB1675FFE5B6BD734201EB119E6C66AE2B9781493E99A3545438FA9A395EFEC
-D83120B7700CEF5CE34C18F215D28E4936DF84FF7C8E6C1752588762F1626B67
-178C501070D7DB2EBAC316AC27F5F802CD796BDD927409E3899D361170D4FAD1
-DE63682751881ACBEDBDEA073C0AF5C0509573E9A8AC0A0A71EA52FD5666D09A
-36990458CF0F9E8D8ECAA96809EF41F6374BD7E8959D5656ADD23943DF12F496
-D4703DAE21C31E787C9CF791E666D35A6F542AF6E5B8124B886474FCF1062873
-3F707ECD55F184AAA4A41D3EF08320C5825B912FCD1E07A21BB8661524D71C4B
-8E924E047E93B02D13604E630464788A1FAE903EFC8B58B832B5E808EC305998
-C792B109B2D200D507C88BB28DF966AF9ED6F6C82776BCBD9AB0636DE09A2F20
-90B3645AFFF2A1CFE1BE1778B637391469F82543C6AF4A970084E2D60ADFDD9E
-04036DB57FF14118D7669394B808FAA3ABA10BBD19BCB532D73407CDE6E16C2A
-6E4801698B00C90073C7A00988D9483D52D13816113602789DB0B2201FDBC5E9
-B13A83919E062BCF886008149354F5024465F346EC345F8D549E791030ED3E38
-7B34FE9E76C665DE93A2D03210F940D88BC0772934F148EC86CFFBF58E3BC3E3
-D4668E55E0B2AA88BB1563B7D18B7AAC911EE728544878CD6B19F37B643F36E5
-2929E164D285978F3666881C560ED0E1ECF74CBEC725D469C43B73EB8DB62DB7
-7E1DF2E43361C94B763F4DC7885C0BC1937B7E359585913F9F9331862583D9E0
-4FABDD346E68DEF044712D26F8E71D8F0E3F1AACC74D024CF2D206624FBA8B40
-F8319FE8727248169A48A0045CFB89CCD988F88A2C9DB8C2AED12AAE8FD27F12
-7BC63BD88681D3C1C7977A474176C30376B6B8B9C6F3B73E349D202622CB821D
-457597241FEFEA76CCB5E76A107E29C5E92221253ACF242BE65DBAA4C762637E
-2F2EBA40E01CB70A22BD0190C2C114194159A032E57C39C424565BB11D463C66
-9D30AD565CACC1439F95AF8996F22F5812B5E59ED8BD562CA03D383CF6AE1B97
-26F8DFFB8DE8DC9F12FBF06D3D4DCAD71439DC1A6A1D5E1C99577BCA37CFB4B7
-399BB847AB19787779A7EB9DADC092A5CE6031E7453366C12AB1E542D4781CB0
-23FE39F7464954A4BBB423EA3E23D0435C3EF99F575A786BF43CD7588C0C7247
-962F148D7389B38D5A3020CDE884FDA3C47BFF161061001BA9A1B2AE6706E80C
-3AD68000BBE4835FD86AC30286CB3CFBE4856F1E25D8C0F4082A6F076B459D70
-2570C078E8E0F6F08EE108C7AED1ABA955EECBD57EC76FCA0F34C106CFA4E60A
-109951865AF71B44B92B9D8A46DFE9C4F516B4EA0F2EC69B5FAB85D834DF374D
-504126B9829FE2CFD3A09DF6BC078BCFD29119FF6A2403A9CB1843D9FA8126F9
-B3AD679D37B43AE2C56E8A5895A8C71684C870015A9C609728C5A43C9D8E8B41
-FE37B0DF82FC4425E9867FEC1AB3177E0BCDDA39FB0B1352AFF87F9631E13D54
-113766388AB6D20A516D5BEBF9A8F1707F5152EBF5069F37BDC82A4EF856E6CC
-9AE69A3DD107B85C896651AC9AA6DF71D91176197C473F2187DF09534DD3C7AF
-A7A5BB5D2F89E2E52860537DF81FE8F026CD8D878D365F98DFB7F18B51B59503
-A2C1C0ED445F62A77D9A81428E938B83B0DB94E381E088FF7CF1B8A10E1FA040
-7F3BE64BF61F6366F1430F
+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
@@ -289,10 +891,10 @@ end readonly 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 97 /a put
-dup 108 /l put
+dup 0 /.notdef put
readonly def
/FontBBox{-62 -250 1011 750}readonly def
+/UniqueID 5000761 def
currentdict end
currentfile eexec
D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891
@@ -363,10 +965,10 @@ end readonly 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 40 /parenleft put
-dup 41 /parenright put
+dup 0 /.notdef put
readonly def
/FontBBox{-61 -250 999 759}readonly def
+/UniqueID 5000803 def
currentdict end
currentfile eexec
D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891
@@ -436,19 +1038,10 @@ end readonly 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 97 /a put
-dup 100 /d put
-dup 101 /e put
-dup 104 /h put
-dup 105 /i put
-dup 110 /n put
-dup 111 /o put
-dup 114 /r put
-dup 115 /s put
-dup 116 /t put
-dup 119 /w put
+dup 0 /.notdef put
readonly def
/FontBBox{-301 -250 1164 946}readonly def
+/UniqueID 5000768 def
currentdict end
currentfile eexec
D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891
@@ -589,94 +1182,10 @@ end readonly 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 34 /quotedbl put
-dup 35 /numbersign put
-dup 36 /dollar put
-dup 37 /percent put
-dup 38 /ampersand put
-dup 39 /quoteright put
-dup 40 /parenleft put
-dup 41 /parenright put
-dup 42 /asterisk put
-dup 43 /plus put
-dup 44 /comma put
-dup 45 /hyphen put
-dup 46 /period put
-dup 47 /slash put
-dup 48 /zero put
-dup 49 /one put
-dup 50 /two put
-dup 51 /three put
-dup 52 /four put
-dup 53 /five put
-dup 54 /six put
-dup 55 /seven put
-dup 56 /eight put
-dup 57 /nine put
-dup 58 /colon put
-dup 59 /semicolon put
-dup 60 /less put
-dup 61 /equal put
-dup 62 /greater put
-dup 64 /at put
-dup 65 /A put
-dup 66 /B put
-dup 67 /C put
-dup 68 /D put
-dup 69 /E put
-dup 70 /F put
-dup 71 /G put
-dup 72 /H put
-dup 73 /I put
-dup 74 /J put
-dup 75 /K put
-dup 76 /L put
-dup 77 /M put
-dup 78 /N put
-dup 79 /O put
-dup 80 /P put
-dup 81 /Q put
-dup 82 /R put
-dup 83 /S put
-dup 84 /T put
-dup 85 /U put
-dup 86 /V put
-dup 87 /W put
-dup 89 /Y put
-dup 90 /Z put
-dup 92 /backslash put
-dup 95 /underscore put
-dup 96 /quoteleft put
-dup 97 /a put
-dup 98 /b put
-dup 99 /c put
-dup 100 /d put
-dup 101 /e put
-dup 102 /f put
-dup 103 /g put
-dup 104 /h put
-dup 105 /i put
-dup 106 /j put
-dup 107 /k put
-dup 108 /l put
-dup 109 /m put
-dup 110 /n put
-dup 111 /o put
-dup 112 /p put
-dup 114 /r put
-dup 115 /s put
-dup 116 /t put
-dup 117 /u put
-dup 118 /v put
-dup 119 /w put
-dup 120 /x put
-dup 121 /y put
-dup 122 /z put
-dup 123 /braceleft put
-dup 125 /braceright put
-dup 126 /asciitilde put
+dup 0 /.notdef put
readonly def
/FontBBox{-4 -235 731 800}readonly def
+/UniqueID 5000832 def
currentdict end
currentfile eexec
D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891
@@ -1155,20 +1664,10 @@ end readonly 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 99 /c put
-dup 100 /d put
-dup 101 /e put
-dup 102 /f put
-dup 103 /g put
-dup 105 /i put
-dup 110 /n put
-dup 112 /p put
-dup 114 /r put
-dup 115 /s put
-dup 116 /t put
-dup 117 /u put
+dup 0 /.notdef put
readonly def
/FontBBox{-1 -234 524 695}readonly def
+/UniqueID 5000833 def
currentdict end
currentfile eexec
D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891
@@ -1287,68 +1786,10 @@ end readonly 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 11 /ff put
-dup 12 /fi put
-dup 39 /quoteright put
-dup 44 /comma put
-dup 45 /hyphen put
-dup 46 /period put
-dup 48 /zero put
-dup 49 /one put
-dup 50 /two put
-dup 51 /three put
-dup 52 /four put
-dup 53 /five put
-dup 54 /six put
-dup 55 /seven put
-dup 56 /eight put
-dup 57 /nine put
-dup 65 /A put
-dup 66 /B put
-dup 67 /C put
-dup 68 /D put
-dup 69 /E put
-dup 70 /F put
-dup 71 /G put
-dup 72 /H put
-dup 73 /I put
-dup 75 /K put
-dup 76 /L put
-dup 77 /M put
-dup 78 /N put
-dup 79 /O put
-dup 80 /P put
-dup 82 /R put
-dup 83 /S put
-dup 84 /T put
-dup 85 /U put
-dup 87 /W put
-dup 89 /Y put
-dup 97 /a put
-dup 98 /b put
-dup 99 /c put
-dup 100 /d put
-dup 101 /e put
-dup 102 /f put
-dup 103 /g put
-dup 104 /h put
-dup 105 /i put
-dup 107 /k put
-dup 108 /l put
-dup 109 /m put
-dup 110 /n put
-dup 111 /o put
-dup 112 /p put
-dup 114 /r put
-dup 115 /s put
-dup 116 /t put
-dup 117 /u put
-dup 118 /v put
-dup 119 /w put
-dup 120 /x put
-dup 121 /y put
+dup 0 /.notdef put
readonly def
/FontBBox{-53 -251 1139 750}readonly def
+/UniqueID 5000769 def
currentdict end
currentfile eexec
D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891
@@ -1377,294 +1818,306 @@ E2A1732B3627109EA446CB320EBBE2E78281CDF0890E2E72B6711335857F1E23
0E73843FC6619DE017C8473A6D1B2BE5142DEBA285B98FA1CC5E64D2ADB981E6
472971848451A245DDF6AA3B8225E9AC8E4630B0FF32D679EC27ACAD85C6394E
A6F71023B660EE883D8B676837E9EBA4E42BA8F365433A900F1DC3A9F0E88A26
-30F0D05285D6CCEF1C6CFF8FFE81F0E5C4D224E4DC6102F6A1BD5C2B6D3C8869
-667B2B2879127AF21B390B902894D3513791F49EC4CEC8DDD653648B5EF4C262
-8232A1B80899EB578E098AED393A9FF39A19CFF30F61026A552FB61F4403F6A8
-5D92496F5C099FE4CDA386EA76573213702F9BB8A7B039ECD80223396BCCC8F1
-98713A48A89D951C13DDDE965E5034E27B0679CE30D50309E9410A3BAC7C4927
-D3CD5D40DAADD9FE246BF6237A7DD9EAE3C381935D1F472F8B6ABF161FE53961
-64FC3A5AB258E3897AE1A00F45628125AE5C2698517BD38B18F1166774B376D3
-0546998F1C6A8DA01FCB2E1C8D173E1A2A5134AE4283C62993BE45AEFB04FBDC
-5BC8286538485B6F0082E9157CDB615A4353A565557B6EE8F219D5B31F61CC2A
-10A43AB189DE20834586005EE6C2430AB287AB0D4463E2B5F5617A16C8E0D922
-8A0DDAF4F77E01AD9746D510ECC7811A20CF6C98F9C7A8B8C50A94E973BA8EF2
-75A52B678B8E5E059C70CC6336A9680915C5A386DDB2DC69B719C13238905182
-D24B2AFD8B006583DDD6BFE44EFF261AABB13004EDB5DFB63E8E5BFA4A982360
-CA92D65BF31D2B5FDE6C651FC361B8F7BB18946DEB087814E4CE3E9B94A84D2C
-681DAD2939F661AE0FC27211E0049E3AB1DC3C7638A217E2ED5E76A0BB223BB0
-F32738B078472899C502FC6B5468990FDA78BF8B4C9A14CAAB6D62FCD2B70515
-E96578939BBFC1C18699060B6763F52FF10CB98C1F25783ECD92FC90DB893CBB
-25CA4621564EF80CC7156DEFFD3C83D94BB237D4314D5457FC6A618A8752427D
-146FCEAFE8E8A1C2A08347E406DCECC9C69D2BC5CFBFF1DE9512FA3352139E6B
-51A13610A4EA061D5EC51B112880CE87D938AB70BBAF5EB0FFB2AE497241D52C
-0908CED690784DE26C2C10C4693ABA644D4DE34DC7FD54A952909FE988C909FF
-4721707AB8DBE2FECD0B987AA73C207EF1B77A563B5577BAC80FC1473F4B1DBF
-8CB6CF99DC770B386C67D783F3877948A8EF667272BFABBFCAF6C94656E9B850
-7B8726FBF4E3C1F3515FB15957B6BF1EB381863D56B421F64A5022401DE00CA8
-2A928D931C9D457ECB9FCCAF57EAD983AE071F568CD039274901D52A3A9B1D05
-12885BF6CA557AC65A3769F4B90C3C9ED7E0CC0CC8802CEF9E13170531FD2B1C
-D2A6304B880869696792C1D8A50FB4B95EF9E628581E26394C4309D51DA04835
-6623BB3716E64E0A2B9D46FD9AAE7E47480935A091CFC6824FCD8EF9AD6F83B9
-F2195B624C2940D7A380E9691A3B20D2310EB59E41DC22FBAA23E9A0B695B2FC
-238AC8B56090C3494CCF91994D580ADB71E7213CB316287001B8A2878F2F3C1B
-6759467DEF855BB899F6365C85195B6813040D461536DA814D59501C10F64DEE
-6F51AB8CE95094CC72AD3E1F5EC3D561816AF6A8B11BA9199933B76F76DCDD8A
-C1899ED67A2E650476C32A66808F9416EF5317B4F86975776F9F2C34466D886A
-5BEAD62B5023413D24B80131165D455322B2BC8661EDD22CB7BDD50FC18C80A0
-946DD22EA7E76555597756FE6A172AAA2841071D41FF0B0CE92A64B79EE24EC5
-A2A639F7AE08D8B9A8A7514A0C780580AD847D597CA66CA95B54EF64532C21EA
-1670A8660F986CF209F7AF70049B7FAC4CC0AD7D21C47E755A8C735CED420F8F
-FA9E98C6A0E501E54370C2C7CC45D1578C20EF812E968B6BFD9196B92054612B
-1EEE75CBBEC588F2ED8A4EEE0D378E1695116A2EF5618FADB7E1DA9B4E4A18FF
-D11471F644171EB4EAD0820703430053CFF4EE3AD78813B7C289121988240CB2
-F48230338E5B7DD63641A9937820AD9441671BA15E94780A8E1E21B067D4A0B4
-E25C9285C47FAA78082E5B3234217EC9099597214D764E9906CE29C4EFC7090D
-9BB0E8911AC5109EF272FF2D0F091CA05C97F87121F685A0F9D39486B5F76301
-A73E86D2F8A581696A0DE01E39DE172FA19F3FC26A8DC97E04B45A4A231BC282
-21C03D6ED9134748D2F09AE1E7A16BE288458338D951775B3EC5082DAAFFCCC3
-246F4E15DFF480B7232E2948CD3C5F730C508081C204649568405178BC901AFE
-A59F3DAF0E5980FF5A4E586E03F7C46C9998048375ED9F3B8AA38206F149FCA8
-CF5EB7605906EF69F7D5F4D41F59F537ABC877A271088EC1D4CC3C7C33760EDB
-314EF716DDE483C47AF31353210F0606FF48D8F3A2620B189C5A8ED71D56F7A5
-023356741A236065F59E4CAAC584A5C230C803590C4A7394AB372E95637BCA78
-634EF8229A4C77F1A875059810C5BDA94B9F01BCAFCD8F26D02AB64830A40A0A
-43757AAF9E6A4220CE7F478928C37DFE4B90CE863F3FA844FEF96524BD46D254
-3E30FB670EE76690A35D23F5A5BF59FB4ACDAFD1673EC0464797A903187D0D6B
-1C181D73036B93B76B9AA0E62064A05B414E6FF2C16FA9FC17CCFED02D84381F
-1A9FEA5C5728637804B7F67E606DB3FAE4C43DA1FA18CF08744C926F631E26D6
-7446A1E183F83E4F25A1DE899F9BA59821E6E73355F873B9DEC876AC6C7DEF45
-7AC3F1892E4647C5442434056C1868AA6202C58EDBBEDFF39236AE76D8F0AC2F
-AED3039AD6885353414BBE496936E2B07EDC8583073464A9CC3469FE08E79946
-A2253404518CFA39A9FBC58010DD369DDF6584553EBD3B1E14F17B79BED0372A
-2CADF9494BED1EF953288F97180C207155849B6D1D9BA2931D170BF9C30B4B07
-CB62BC4FB3E98424F9B278DB66114A0C5F76C4D9FE789C42A796D5669687AC4E
-C75B7E224C69DA6507AABED8F87B7D7F80E456D81AFD08D49F6F0A5169CE30FF
-D27D2197D922C9BCA2103D0460B92DFE05BAC7AFAC00BD486C0B1DB5379C1FAE
-0BD3610A1DD8F3D90EA88D22C90B29EFA2F15F297DA1C4ADA3F085BC07F838B8
-9398992BE46EC49DAD78DB55A7D30ECA9699624C76657C0559EF59FFD6478AE9
-585567E6C0739A17790256DE272FD4B96C999D43E77C46430BDE8FEBBA71A76E
-A49B0516063CBD4CBFDEA2DB98012DC4FC065D858F16356BC79D3DA14C665291
-ABB11A66D6F7C21FA8E981E67A285CED046F516010A910C18B7D678F984E359F
-0F586D1FE0E045F4167BB76F0CD9E129EFA10FC3411DB8B4B8D3D308B563F53E
-54D5F884FFA8BAA6643253622C35C99ED194238FDACBFDF77D01333827EE92E9
-2EB65A94B93080933C0CE64FAA1D5CD2BAD24147849986B02DBD6F43F9C7F96B
-E9AA76A45BE891F45C1AA29188B7367D0FE265D1E32FCAB6F0AE8E7E9E2FD7E5
-821642DC80537E6A103934A6107560735615686E65064A8E16C9C049C28EFFD5
-FDDFDB20DFD9DF7BD07FA7E06AF451F54A44A2473E33BE7F6BAE6B0BB8F2835E
-A5E169189C632A96FBA71686C12A98DD976B3AEE883FCFAF2E7E6BA82FDD3095
-1EAD1F9D3DF7B2694BAAAAB702DD7F1A7D0589E8B5D6449F34B6917281FA3802
-A3D998684B91DDCC78A1751D369006553F68B145C4FDD26591C66834DDD271FB
-25F9212870BA0D10259C982D22CC04FEA69288CC2E0870329A5C55A0DC567C49
-395AFA2A374D32215BB130AA1571F2C57B77A67F3334427823569FC268C210D1
-8B56D6F3DD6B483447692E59D08C9A8473BA2A65584FE364EC6C632D6C4EF109
-D1D9E6A84DA4E1FA0475777F21325A8B7C7A4A9EFDB5721B41A7F9FFDB2C86FB
-E70A5F483D78371EB600F6EBDE27D9E95EBB4A45E8F224B3CEC16C525E86E02D
-58DADC2EE818F32173726A9A34F5CEDF1C3B4E0D61A6DD7BBBA19BB8547C04A4
-A80BBF117319FEB51EB3E2577E3D2CAFCA7E3B041FD5ACE28631CE39BF72207E
-30C0D79C490A8C45A95895EC461AAF8CD43686DBC0B1D368C6B7BA1911E6316C
-778F6AC3423EF417BAFCBDE368C86284D265A406FFAB35DDBD4FD4328B504260
-4A8B096888215D49CAE6399DA38542D221579377B92F274F807440E9328F27CE
-F0E97C0F88B80BA6EEA749A3D70FFC871DB7A2F45A2351349132C4B2FD9CAA49
-E4BE537834908A23BAF0F1AC0EC31D85F11EE7358D1EF998CD94F4E7A90D0B04
-F9B9B16E5D1C62109E92F204E8D49A5B183CAE51F02CB29361FB3A1EFE0439B5
-5E362837296C122FF37A08E626D34AEB2375896A9E69BCB12C64C2B969380DF8
-4387386CCDAF7412BA6FA4218477212D7E3300D73C775AFD9B85D0DCAAEEE2F5
-50458CC08AA1EF8E1C165852BE15EB560197BBE7F17FDD72785A14219EC0DC99
-2B48F163FFCAC0928ACC0C7A58AF3EA525A94D937BD6327B80F00C358AA515A5
-9D7B7B179BA367D9174C41D17CD6EE9EF423981DEE95F27057C446F4D96D74BB
-5903D7A68B20556E178F9273FF2FD424BAEBA22E0771AC1340D6B47744D5296F
-F01677472B3996D658C200384500556FBC0130258ADCD273098F6D624D1C244C
-7300C7E5180D3A6DF34D0305E30AB0BC0B0DF2E84EA00FFB50BF8D22D9E916D0
-06A4A83222A1E509F8208838F99BEAC24C915757C8C13343BFCDEB27C83F03F1
-1835C9A2701CD47EC8AD7281293B1DEBB7C79C8AB575E69F8390991F97401C28
-E01DFDF5F0343FCC5E2B370589FB2896942E796E2B5ECB339CFECE60B6AF794B
-A17C7FC24F42B7AFFE9FD8EDFA580B613E00A125FD55CFBA9BA56F68BAD581D1
-47BC7A2F7EAE4DBB04ECA8BEB6FB6922ECFA0685A3B8B667C8C80D8094124E6B
-4F126E60A56878B8C6E46261330AAAD66C13FF94C0BBA40EC670C2FDDE179636
-5EBAA95EED3C597191B35EC29F228E22E266903A59242E89D6EA9327ACF07602
-58FAFB707D0C5AFD6625A49D514A9E3F811BAD80CDF210F69C45B35DFA918EFA
-43BEFF62EE8D58A5B8EFB486A4B57401AABB3578289BE8804C10CBD55DBC51FF
-72900B2318BB3A97E08D8EEE4DEAF03A2CEF667BDB6CAD59D1FD1274F42B55EA
-075E2EA3B3324F23D3F8DDDF905C872C13154F49C1184D3E8B88F1A589BEE0EE
-8213325A35BFE718011C93B4F96E47776B96C1F36040F304B503BED36794E2F2
-009FAEDB3EE212590CEC189A7E55EA8C28BC72C96BF822AC7C4E1B197C897992
-EC87737263EC1167A9BD966FA18CF6F1B3268D5C23F11236150EDE4BEF78C825
-24760C8F2F0029405D6E1351CAE05B3CDC8EDE6FEC60FA3242EF3BCA1370F722
-C6184A8E1AE4DD3C99D2E10151786EDB3005D8EB86237C95D9451F8BD7C0EB61
-260CF7F1FDE38CC87739D43139A5FC03F704C42E47E1D7D9C17AA3436FA33060
-AE4F2368E1624DE32339361D68CFC68A3CE224C91054D2A3765B42EC2F0FB75A
-4954854FF0CD755881A3348EECAD8DEACD7E662241C276A41AAA03EF875D8F29
-3294AB0CCBC6DC09355174943702F9411B1B4785770AF9A666C0A6228A4D708A
-137D2C0FE6CA7D5BF853C504CE85C471D81BBAE73AF72E16045921F580AA4826
-84A2D61DCD11A149FD631360CD4954AD902B5CE385AD72E63508B6BA6EDE4D30
-661FC6E77CCF2D852894C509AEB93A9D135AD74509697EE3DBC9AEA0B1522975
-548B4A390581343E12686FDB39F1E26A4D894E98408E0171B11252C3EB03004B
-98A695FC743B94DBAE28B1396C984D2235D3431F73C42D6F5E9F0FA1EC953113
-65168137774E652B5793C1DBB0C79D2E8C9FBCAB8922AC0B40475F7F19F44FC7
-D8558EADAC39D802932C12AAF5E03C36B9F4AB2C8EF4DBC207C612448F122014
-FAD87E63F1CA6CEC17FF8D99BB7038B80C20C77112DEE28F0025995DC62AABB0
-C47C4020DB7D0946ADDA0E011D7141B5E000DCF1B4DA00F447351D2C8138626F
-8AA3664BA653A9AF9846A43FC76AC9A1EAE2560EDDC4B83E95C121CDB76C0BB3
-346AF6D7EAE8C9DBF6843BDAD8AB42FFD060F7F5C47571FFC95E6BE1804909B7
-2AABC5EBBEE592709E1A2D55051837B82006BF5A037080FA395B166749062E9D
-47ACF1BB5C1EA652284B5B48E703B52B6FD85401C281CA6E6F75E3A162B6A023
-39F2A5331DBDDCEB19D9D7588818034BAE3E216E1E30AC813E8D15B0794E964C
-CCB6ED09F3BE76F56797B63F3D5A7C03F66F320BA2B5F1664BD6B76C8F0FF7A5
-40AD7737DEB1AEEC9ECB873A0F7266863E743A6DBE0A38A10315854F6DBEF4BB
-33AF4A9A39A4BB920DEAD5AE3C1D96B7714002FAB977B5450DFEB7AE4639D414
-79F88C0AB9D2FCA19854C513233C1824B48D65088FDA64F504298A025B2B6FC2
-7D2780968543E0B50F0ED6147D29ECF2CBB557F0331066B15BE35A94A94488A2
-21A66FCB70508D822AF1E092210B3CC54F21149CD2A534062EA2AC08954AAAE8
-09AF3500C055B15B2477D23223C1D6DB2A20AE78BCE0811F4B123EF976C0A79F
-854E4AC7C5A2249FE4201342AF4B6EEBCEA08D01B605916B0A65F0817EE1AF76
-ED6130C839137976DB45570E5EC1E8B18B42961F40229EC822E079605AD17483
-6141028AA6A70B5CA81C8625AB73597F855ABD2EFFB65959FAED8CBDA920CCB5
-9D12A328E216B07512A53C7F1DDFEBFDA42877744D20B0BF890C6ACE8BC3C435
-D276C31BA87AABC50A46D1101920812525887F866EA5C17E82387841EC42650C
-106DEA09C3D58C1D0BB9CFF3C1A776A591B0E7F791CECA268B953ECD617B8853
-32A89324F7D7C96BB52406A0F4E40B6B9124E774C1955A358075CD0C7C56912F
-4070BEDFDE8B8D59DC1B26AB80A3A891D4D1536D524DEE42CA2B54C17D54E57C
-23D9E642928ACB0547D592FB7B2A465038A20D585D2B40CA90883F46B50C3268
-835678A37A3AF06ACBB0EA15B1F58CB9F32EEC7DAD0F6D45EDF2DAC394054654
-31C213DAB180F099E9E84578FA202BD689CCFEC72D31A86FCAD751A025CD2A71
-F437A3153D5A52E112780282902259941FCA4AA4BC9C519E3344A643A11B8A6C
-0859544CF205380EE8D7731CB3408824152306E292A01C6598FB5952E4F12E03
-7A59257625EC23C38E8C8755BC85E55BD48F6E982B60D57A552E35858AC382BB
-D90353A3EA5963D08400473906798D56AEB9BB0C81A86E688A8F1B77EA854BFE
-E2CA0E3A72D48A7367AD19F83C4445BD6A449FD7B36560DA9E4F0F0DA54983E5
-5560E40059CAFCDE80B9DD2559F555BC39687E243BDCBA427A4B3D2E31095038
-795C41F6AE47AE2A3AA6F0127F97E538B210B444916FC67F76445C113DAFD0D4
-525AA5382A5D1958276BD523C9BB96320ACFC8B4FE733B35CEB41CC11AA066A6
-6908CDF57794C18119702BD993CAACBB7D9E6149F17964E96A0750D784786DD4
-867AD2EA8B0CD39186BC7639868DCDBA9263126F0F565C108D9B3CB2484451F1
-9ACF24A2727DECF228ECC9A2E10CD99B0525415FF5F4188C67BDDF6B3A82F6AF
-5B2911AE04AB64F7853B54962812173D8CD41DD41D0776AA25CB48E989689684
-0AAC760219EFD126DA135D2A453161397B7ADCA897656EFD09ED29616E9EEBB8
-39AAA4D66E6B406574F7FC3734443235086AEF9C8AA96B1E3E7C9A3E28485E7C
-0026FDCAD2AFBF4F8ED4BA6F9862D6A4F1F9AEFD3FFD4BCEAC5E8421432257AA
-E854E6464410C5A8B7E1C32B524D2B59186BD90B8CE0A75456ACAEAAFF95DF26
-41ED32B12E2815C83F3C7F17E1414A4CB204963CAA6A4BAC5AD3C5782358ED71
-6033C289134C84A0FF2AFFBA949863ED5BB8D886AC9309F43620578FD828D2E2
-A1318DD20102208FAF57863C05DC85E5C33577DED67A5F70F4F46799F52A8B14
-83E6E51C27D93C807ECEE29850131F2ECBC4F2533EFC8460CC1FA35A610201CF
-62ED6D564DFDBCD19E1F8BE7B38BD30286997581A124D5897B08E5E4517FD0AD
-DF14758077D26762641E1CE5C1AB8E202E91174074D3DFAEBF1A41D78A8C5329
-627A37C6EB6902FF585565D7E8850A60494A86A98CAED7BF7350C14907E065EA
-AE8ED9EF06EFEAB84E0AAC9E7C20FEC88D19092C52EF368B41A170145AE2BA5F
-703470171DECCBCE4766BEC9FB055167177E72260F512F5B888E6F0E0EF876C2
-66AB6FB71C408A39DDE17651FFE7EC7DDE65E3AEA041CCA12D52EF695B2616DD
-AE43FDCD3932D075556D53B6AA3AAFAE7AC38EBC6AC338BF2376E227BE840A5B
-2CA9F73B1C49916C93E58EFDF0B346BFBD218062C140E5C2B76A412661D7742F
-732205A47DE085341A1A7F38ABD660CD24086CB548D1000B017A77268CF61098
-CC7FA46BEFBB95C25766B8CC9A1A94D296C1FF74255C4558624E56E52555A2FE
-49D6B49D3FB5F414464E7DC285BC5D9EC9F922F2B706141878C7FEAB26C4374D
-6EA351E6558192A6B72E2519777C27C93DE66E637CD4956B795AF45B811A1A22
-4C150F3EE21DEF0F174710D04A95BE893D1E579649C04C07FE0068C3D889AEB1
-011BB0A48FB90F005BB543CA5893D1E63E7BBDF9E99F4916065B6653F9386857
-318E0AC2D713C149B6DFB5A64DA05B41148E26C7D341407E6DCBC30EE4A92428
-0654CB2E255901EE9D5BD67357086996C75D0215F2E64885F9611193C0173CCE
-792BB823146D3B63CEEF2F8715A7DDD69ABB00CEB4043D66A2250B1CA165A61F
-18804E397D54DD0E63A91A65C30F0653F6F1632151360BF030AB7638F65A17A9
-6A80B363BF5AF695620EB2244C805C674E0516835ADA3F01E1616B871C389606
-1EF6260C298D90191FBEEB184C4682BB86280B96791B9B6868536EB88BBC8AB7
-A01B1981FC010EA9089CAE1AC63FB7CAAC04AFAFAF27DE55CA86B06D024DC06D
-FEF38710DA39B88E102F48C7CE4F81F36E85A0C6053542F765965D09E6D529F3
-BCE013785CB5F245F306D69570977D51AE4FF32D00ED855332FC74538A1F9E1D
-26AA89C22CA7F7B9977CC273453AA807EFC1A31D313A4708F77F774746C2A6DD
-04D5ABE95985B52CACF634983390E13FA60517CDD09B811D8455025FD8A7C6B5
-7AF678246CABC6E648B23BF73CF4C2A9D5E18B87BD5F32BCA4E69494F0C55796
-E7C126968E4729B4234EF735DE0194E28732758D7E816E3D12C241A17D19A3F6
-8639011EC17D6E3A45ECA3E8DC975E12661336692D4524C0C9556845CFB7589B
-E4992FE805C03E3DE1D81628810B19CEC2A692A487B3453EADE640788711FA7A
-87B11C36723879D3B2971B5DD6C6524CA5DC49192837635C22256AF60B8DA4C7
-C69DE48C4C897F9A8F22F8B6B310E7382D5CA82426A1E943ACE8B539F4FE77D3
-68696AD07521B018CCF9C5D1C07B5DCC16784D3130295D35AE46BE7B47681624
-7AE8B7C4131B9CAC5F5193B04124B7DE261E3D360C1347024C061AD63934BC92
-744B468D17DE9DD44E3BA975F7956B7BEF0AE5B58DADEE576C102F6DADC2415A
-D14F5290D61CB30761C250E4628C10391DB7DB977A53263D4AF5A96BB06FF240
-EABA625BC68D28A8459101A2BAF0C79D69DFF79116D039D6275720FDA9C445DD
-FE2A3F9FE667490B4570D13679E36B3AED8C8FEFA3B9324DA8D27F88EC275BCC
-EB5E5B0FE84D033717651BF40C073438C49D410892E608CFD7032DC8D28A6AEA
-F854C4026326F67127C6335834A09A734F0418D0C1DD190DC656E04B8F58D0C9
-16F0FD15DC2614CC769A01C635AD00CBA37BA198089C3E6CFD677FDF9571FE08
-50746CA3DA5E8BA7E8444A0E8BABCA3630031F365D56DA5D57861594074E7F7C
-2B38909917B32B866E9E61F09143FED52C6764A1EB3F6FE72A17953F495E914C
-AAFCB853DD4A6C71731C3387637EB6E6A0332AAF846986284AA119A5A30C2CA9
-07096ABEB9C042B6AA9FCA512B0D87B90AC4EF8B30C884EB6C7C56E67E333C81
-BA112525504476738192381248A908F0C25E57942EB72A684E051D94119CE36B
-1B683A94BEDC34910821BBF9A94E92D09CB9EE7582CED4783E0CF31BADE2413E
-4B6D79918EEF2AFB2781E2B3E9EFDD4F0E159861682573F1FBE52957F61DEEDF
-1EEDEE1B8577B8AFF085930A65E1B3F9CA089D92BE2F035A74D184E2806BCFC1
-7E41C4DCAE62A2550B57B527B513E3BFC0480C3ED389557E6C59D87C2767299B
-C4AAE0DA7E2C75E16924324578A89F5FA14F19EF4924140B4306A371133333EF
-0AE6D38BAD7E0D31A8047828E0834FCE6E721391F265C62FE6BEA454AB5A9E59
-02598D59C690216CC52C12EEDBFFF618048EEA67B867B459080A07184F6B8E7F
-F102C364913A11F9C05024A79F5C907DBD494CE8F85113050C62E71C51C8B62F
-8510EBE508BA685AD04F5ABF69CBCE3A94EE6A70CF29CFC4B07D163C42A07BEA
-24B4C77CAC9D0102C4AA29986BF76AAC5039E9F15D9F515E77227B1300E5F5E7
-F760D28D959ED550D9372A31BCBDE3732B28312DFBC7DC643A9FBB3130E8D903
-C14D17FEA00600C42C30D01B562FF3C85EF4550E28234038B9E1D197F26C6822
-A0A9F4E80A66E7391BE1D14D8611066A7A57B42D7068FA12E5751F599BFDE140
-037848930E6E05E2CFD162A3C10BE1148BB690525ED3E2711C0DBB0C2D6F2B67
-DE0441F6683160B575714495F5FEA175C2B896C740FC36CDDE8234F53284896F
-22CDB78A258218D059B004502A6FCF6B98C1454E81EC1AD9E3B9121449832694
-49A19D20ACE379E110C5504CE5A713810B962ED7F4BB660CD9BBA2528806D829
-9C0EA1DC8D76D53BD179A62C8FE361EEE3A8D63D0CD05CB44513B8D724D81F8B
-51D789BB83FFB30BEC37A12FE473798A514622B13269718C24FD5A136A561E51
-FD88C412495440E748D764F82D2C88AC30D01C098226754AF49FA640FAB2F349
-F6E60D04698BFC22FBAC18773A340274B0275EFD930F114E8999C74D72926E64
-07C7003DC37B3D9271528291B697D14DEA9A8E21E4FB5A70EA4DE92E6703752C
-60EEA1C17FE96074FAF9B47B2170272B94EEA06549D2F8C64C77AE0A54938D83
-F8A6CA045B85D30327715BBF9BB2C16F47F9568C6B03A09E982CC1BE9893B8EC
-EDADBC27BA817893FA7EF798CA707FE70877A9602A71ED725E83EAF41A817FEB
-AC08BF1DCC8325A065533A7A6DFEBBA22DDFBA4424DBF6CA6228E7AAC0914813
-21B921C6AA429E7D8C27A887C6345E43D63AACC1110CA0A6DA044533EB98D6DD
-CD06923BB8E1ADD2488433CF49468DD4FCFCAAD8154C19405E59DF8259878145
-6E7808C8E8C52C6656D44137D25BCFBBFE3C6603054A3A758E72F8131F3A9041
-F7B1929C2C7D65935BCFC181CEA69C6A8B220BD61CABD0013F3825D1E4D31350
-D35374BDB999362B71A74AC48E3E78FDED95104C7718B8D7DD377888ED682099
-AD8D56B3E035DE39551E2FDA1742899DD1A696316057519BD860990662E83C48
-13461E3FE4D47D616F6C2E195C20B480CB5F9A0F47202D54A319F27C95347948
-1E59872DDA86B7959BE9AAEAEF04BC4F4567E6DAD2713388843A2285C1E419AB
-E592C0EC22E7B1C7256872F34F3A3A0D414CE96240778729052C94E7D82D4419
-445D1B69283F42E55EBF8B0569E9BAD401371FF2ABDA43EE38C48D2A0BDB39FD
-BD2BD5002FE5270F65D0E5BC2C15D26278DD8A76C3E844A7A1B6B9B1B32ED852
-BA29E9E4B770ADAD6C4B597FD0797F257CA4E0883A7D8DA07FEFD02899DE325B
-48A92233D5ADEECEF36564E6D094F9F729C9200CBC92B08FC4DB1304AFB65724
-53A873938791D1386729710F8CE45CCD4C8475C7761765E6661562EAF157B0FE
-E82A6FF5CA01BB1723ADFCA0F43FD3F0A26679359BD07FD255693213B611547D
-BE5FA4487C64EC46469F08491D6811841639E254B9A5CBD300F6C68263F1A4AE
-76C742D34B1B17C2220263612966DC713F9E40AED5716736F4AAD4B532D3F95B
-F801F2D828BE0AD27ED6258F6A849440FD22991A9500E94C3A3A4C8986EC1A5B
-0DAA7ED546AC026368AB4F1700FED36A2E9AFFBBAB7E43248F53AB2960498363
-8BB266C99FB765A06FD0E24D271460BC45CCF8786336C7BECE2270DD6F2A0174
-55724F095107D7FF537283583E8A4D8BA08ECE55D1874D78C5C1BA594336641E
-86D28B6C79D21146CC767A4D8D5FDF29A8DAEA0C82AAAE26215B71F3064014CD
-30F10F5E2E319325161809B62F663976BF1233ED1566C0811B1755A536CEB690
-E0D295CE88498AE37992A879074A6E75120A2BA49FE72C261F157DA56AB895BC
-1B98133DF63E51514847261FCDE36FB1C1DAAEEC0EB0A65B1133CDBECC62C344
-51C14D4947491D3B4E6DCE4565B61B6D5F1CBAB56012EA5D6AF946631A1ABE64
-EDE858FE388BC0ABB8944FF3A7CB3FD2B9C72F72EB8FB7D23A3CEFAB7FB05C3C
-7B456685671CCA1876E06E5E8A0A9294CB344E505E16237042D923D100204ECC
-155D619B50645940B92B790BB7633B5C766257CF00E5527E2B055A84A3B2A173
-06CA596DFE482E81FD7DDE8B45E6CA79B9D5FCC713D0A0D2AFD77CD61B8EC424
-02FA201CC8D5816FFA5B8AB2E460DD3D744E3FCE65479ABE34FDD2F6553FABBA
-B81259F488E81545FA1507EE4E26A4B66D44777596998D023939F2CDE82B4A2D
-DE9BB15E57BD8AF8FB3526ECAD74A51D5B4B93170B9CD72433FEF961C9FA176A
-7F777C642D9C9B3355BDD316A35AE131242C26363F5B5C9EF849C60CFB807569
-CCFF76451AF150297BE7C6F6015780B85AF29C2535696A964AB91D0CBAD8A81F
-73F2E2E152DB661402E7FAFCDA18B26917E52EBB6F7BFE4776F48CD7D43B49AB
-BB812B8DE5DF14070CCFB8DBB3FEAF830FBB8B78C205331E17F135DF7AB31165
-9844523606D0EA962E59ACEEBA267BBEA5245BAC046C5971EFAEEA5DB64098C8
-0AA8D1F83A13B72F998C746A45A990BDFD93AF5A1E6AB1EA41647F67D6963461
-D9264BBB478C1456777E74C632386D018292D145B3477887CD83ED1D5C0A1F28
-D8292292428F6A2B48028ADB71F370C2A1102EBC1EB6530D8E3B058D05693335
-7FED4FCB9ED98EAC76F5CA82939A285718738D2ECCF914C8B5410C8985FC4778
-1F192ACE143FC9FC4B04FCB2CEF1D92DDC3F22C4FB9BAE6803DB4246A135F151
-7B6DEE4FBD0A75276638212B81AE0DFB685801F2DACB2E695C0E84CE6D71E6A4
-92418DABDCCFA7E8D491CB0BCA4747CABF8EB57CEADF2860DD31D3C555BA94F7
-1F796D1BC78F87FFE65312EAB0F23BEAE5AB2F87287D80B6EE6A9B2205352824
-B444F0027815F2927475934F68EC8335E3DCCBBB1E89E7C8C205
+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
@@ -1695,53 +2148,10 @@ end readonly 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 34 /quotedblright put
-dup 39 /quoteright put
-dup 45 /hyphen put
-dup 46 /period put
-dup 58 /colon put
-dup 65 /A put
-dup 67 /C put
-dup 69 /E put
-dup 70 /F put
-dup 71 /G put
-dup 72 /H put
-dup 76 /L put
-dup 77 /M put
-dup 78 /N put
-dup 79 /O put
-dup 80 /P put
-dup 82 /R put
-dup 83 /S put
-dup 84 /T put
-dup 85 /U put
-dup 87 /W put
-dup 92 /quotedblleft put
-dup 97 /a put
-dup 98 /b put
-dup 99 /c put
-dup 100 /d put
-dup 101 /e put
-dup 102 /f put
-dup 103 /g put
-dup 104 /h put
-dup 105 /i put
-dup 107 /k put
-dup 108 /l put
-dup 109 /m put
-dup 110 /n put
-dup 111 /o put
-dup 112 /p put
-dup 114 /r put
-dup 115 /s put
-dup 116 /t put
-dup 117 /u put
-dup 118 /v put
-dup 120 /x put
-dup 121 /y put
-dup 122 /z put
+dup 0 /.notdef put
readonly def
/FontBBox{-163 -250 1146 969}readonly def
+/UniqueID 5000828 def
currentdict end
currentfile eexec
D9D66F633B846A97B686A97E45A3D0AA0529731C99A784CCBE85B4993B2EEBDE
@@ -2095,43 +2505,10 @@ end readonly 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 12 /fi put
-dup 39 /quoteright put
-dup 45 /hyphen put
-dup 46 /period put
-dup 49 /one put
-dup 67 /C put
-dup 70 /F put
-dup 74 /J put
-dup 83 /S put
-dup 84 /T put
-dup 87 /W put
-dup 97 /a put
-dup 98 /b put
-dup 99 /c put
-dup 100 /d put
-dup 101 /e put
-dup 102 /f put
-dup 103 /g put
-dup 104 /h put
-dup 105 /i put
-dup 106 /j put
-dup 107 /k put
-dup 108 /l put
-dup 109 /m put
-dup 110 /n put
-dup 111 /o put
-dup 112 /p put
-dup 114 /r put
-dup 115 /s put
-dup 116 /t put
-dup 117 /u put
-dup 118 /v put
-dup 119 /w put
-dup 121 /y put
-dup 122 /z put
+dup 0 /.notdef put
readonly def
/FontBBox{-62 -250 1123 750}readonly def
+/UniqueID 5000798 def
currentdict end
currentfile eexec
D9D66F633B846A97B686A97E45A3D0AA0529731C99A784CCBE85B4993B2EEBDE
@@ -2389,12 +2766,10 @@ end readonly 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 13 /circlecopyrt put
-dup 15 /bullet put
-dup 104 /angbracketleft put
-dup 105 /angbracketright put
+dup 0 /.notdef put
readonly def
/FontBBox{-29 -960 1116 775}readonly def
+/UniqueID 5000820 def
currentdict end
currentfile eexec
D9D66F633B846A97B686A97E45A3D0AA052F09F9C8ADE9D907C058B87E9B6964
@@ -2408,26 +2783,18 @@ E21B3ABF72E39A89232CD9F4237FC80C9E64E8425AA3BEF7DED60B122A52922A
DE3302B2E6B819CB6AE455B1AF3187FFE8071AA57EF8A6616B9CB7941D44EC7A
71A7BB3DF755178D7D2E4BB69859EFA4BBC30BD6BB1531133FD4D9438FF99F09
4ECC068A324D75B5F696B8688EEB2F17E5ED34CCD6D047A4E3806D000C199D7C
-515DB70A8D4F6146FE068DC1E5DE8BC57030ACE57A0A31C99BEDB251A0ECAD78
-253AB320C099669BFED2878A6C4038A5BCEB5B4C28040BB8B4AC2C167BB2C999
-ED93E2F4AE3E4B44B7B6B469C36A24080D4BEDB5523D202E920D8898DEBD5EB0
-CAC3C5D5F01A87F7B15BD1C197B344F7D94E965CBFE73E8A65A2AA6A6F93B878
-03E30E60F1390C2FB671C8D36E7D6E516A20079B48CA9BE632F5A8D1250F01EE
-6809D6C5B51AE3D1B4C244195E4AB5E68F2AF1D7556B9D03035E08B962A33B44
-426A3B5BEF3BA86E4BFE8C823D42816B59DAE9EBD42C115A1E75B0E6427720BF
-773EA85158709B4DF306511D5CC19D7395BEE5940DF97513CC36EDF468B80C01
-476B0B89D1198F039E4A32FECF58E56F6B0A1D27E9E5FE6393AF613D11EE6185
-26EDAB5CD87D6B6C9838DC76423000F9E0D094046832BDDDE6AFB7549561F742
-F0B1AE278DB3355F8867D2CCF8BCC03AB7A7A8F9E51C4B2BD121F9D3B2477803
-1A24BBD88C9C54A8E31B9CF66295B665495BE7ACC72E1A1F05413DFCB56D0749
-49539F8F4706361CCBBEB69D135FF4B63C35408A38382C739EE8AF9F378CF061
-C9754E8C7CEDD29E63D79C8AD5518244E4BFCB827E05F4EFCF03BB47CE67F43E
-F29192EC2FA1026ACFAF2CB156124C88D860864BEBE81CBBDD60DB5C7DA2B6A7
-B64E3DA907988FE60AF047DCEDF2D52D2D43E6C01FA7F84B598386FE03765B15
-EE11E9DB0BA83469FC7FC5CECCA2E4D84F87D43811978975C96D9CB66BB87B02
-579D63949B512A59123F039A1DAE2EFB897FFE82E8C6B0A30C570015B77B8318
-9BB684151679A432E2E167F4E27B7E878A46C19969230B9604ADE2E6487203D0
-DF06DF8F5E
+515DB70A8D4F6146FE068DC1E5DE8BC57036431151EC603C8BCFE359BBD953AD
+5F3D998D8365AF76D4CF6A06FB66E1CBCFDB3A67D8880377CD677B9705EE853A
+D849F88A828E244FA5816B7D081D4D1975A56D771790C21AE05809BEE6613452
+953F26C39CE61F0E134BC35404FE2F0B7D244D9A6F66E4D817D1C65024013AD3
+5F242EDE94633B8E20EA42B07F83BA649F12B784B2AAFA542BC597C6C2C9AE9C
+39D60FBA6CD16AADB5DFDABF22F37E244DF3987FBFA55031CFCD46ADF03650CE
+D6CDFFD87BF7407FFB63F3FE4C29FE753896101B2CEAB9007B66E29D6A5B85D3
+FF91F888E445677157A5996FC7A3BD19BAF3A3BCF33F0719B992A0F013B1F0A1
+82E42DF6F651071FB407F448DFF37653E2A0569BDD8EABC3280B3582745DB98B
+644E5B341F531B0D81ED85F815B993C2B8B34CDDC6AE97606F6B3B1C5427F174
+362FAB82B935087B568E6F526347058C406E878F1CC2DD05C26D35565347C5A5
+7575891BB4
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
@@ -2458,93 +2825,10 @@ end readonly 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 11 /ff put
-dup 12 /fi put
-dup 13 /fl put
-dup 14 /ffi put
-dup 34 /quotedblright put
-dup 35 /numbersign put
-dup 36 /dollar put
-dup 38 /ampersand put
-dup 39 /quoteright put
-dup 40 /parenleft put
-dup 41 /parenright put
-dup 42 /asterisk put
-dup 44 /comma put
-dup 45 /hyphen put
-dup 46 /period put
-dup 47 /slash put
-dup 48 /zero put
-dup 49 /one put
-dup 50 /two put
-dup 51 /three put
-dup 52 /four put
-dup 53 /five put
-dup 54 /six put
-dup 55 /seven put
-dup 56 /eight put
-dup 57 /nine put
-dup 58 /colon put
-dup 59 /semicolon put
-dup 61 /equal put
-dup 65 /A put
-dup 66 /B put
-dup 67 /C put
-dup 68 /D put
-dup 69 /E put
-dup 70 /F put
-dup 71 /G put
-dup 72 /H put
-dup 73 /I put
-dup 74 /J put
-dup 75 /K put
-dup 76 /L put
-dup 77 /M put
-dup 78 /N put
-dup 79 /O put
-dup 80 /P put
-dup 81 /Q put
-dup 82 /R put
-dup 83 /S put
-dup 84 /T put
-dup 85 /U put
-dup 86 /V put
-dup 87 /W put
-dup 88 /X put
-dup 89 /Y put
-dup 91 /bracketleft put
-dup 92 /quotedblleft put
-dup 93 /bracketright put
-dup 96 /quoteleft put
-dup 97 /a put
-dup 98 /b put
-dup 99 /c put
-dup 100 /d put
-dup 101 /e put
-dup 102 /f put
-dup 103 /g put
-dup 104 /h put
-dup 105 /i put
-dup 106 /j put
-dup 107 /k put
-dup 108 /l put
-dup 109 /m put
-dup 110 /n put
-dup 111 /o put
-dup 112 /p put
-dup 113 /q put
-dup 114 /r put
-dup 115 /s put
-dup 116 /t put
-dup 117 /u put
-dup 118 /v put
-dup 119 /w put
-dup 120 /x put
-dup 121 /y put
-dup 122 /z put
-dup 124 /emdash put
+dup 0 /.notdef put
readonly def
/FontBBox{-251 -250 1009 969}readonly def
+/UniqueID 5000793 def
currentdict end
currentfile eexec
D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891
@@ -3057,50 +3341,68 @@ B771485F39ECDD20D29EA4133DCCDF90C9CA0F1F2385317B2053B1A53FF8F4C4
0000000000000000000000000000000000000000000000000000000000000000
cleartomark
%%EndFont
-TeXDict begin 39139632 55387786 1000 600 600 (../../cvs/doc/gperf.dvi)
-@start /Fa 209[43 46[{}1 119.552 /CMBXTI10 rf /Fb 135[41
-3[30 30 3[38 43 4[21 3[34 43 26[28 31[30 30 40[{}11 74.7198
-/CMR9 rf /Fc 147[25 10[44 97[{}2 90.9091 /CMB10 rf /Fd
-214[35 35 40[{}2 90.9091 /CMSS10 rf /Fe 136[83 2[45 45
-47 2[57 64 4[32 64 2[53 64 2[56 97[{}11 99.6264 /CMBX10
-rf /Ff 138[52 52 52 4[52 4[52 1[52 1[52 52 100[{}8 99.6264
-/CMTT10 rf /Fg 138[56 56 56 56 3[56 4[56 3[56 56 56 99[{}9
-109.091 /CMTT12 rf /Fh 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[{}37 109.091 /CMBX12 rf /Fi 141[62 1[62 8[62 62 62
-101[{}5 119.552 /CMTT12 rf /Fj 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[{}45 90.9091 /CMTI10
-rf /Fk 141[74 1[74 8[74 74 74 101[{}5 143.462 /CMTT12
-rf /Fl 129[48 48 1[48 48 48 48 48 48 48 48 48 48 1[48
+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[{}86 90.9091 /CMTT10 rf /Fm 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[{}35 90.9091 /CMSL10 rf /Fn 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[{}47 143.462 /CMBX12 rf /Fo 150[35 35 88[45 1[91
-13[{}4 90.9091 /CMSY10 rf /Fp 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 1[50
-105 106 85 88 103 97 96 102 7[67 67 67 67 67 67 67 67
-67 67 1[37 45 37 31[75 78 11[{}59 119.552 /CMBX12 rf
-/Fq 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[{}85 90.9091 /CMR10 rf /Fr 141[89 1[89 8[89
-89 89 101[{}5 172.154 /CMTT12 rf /Fs 138[108 75 76 79
-2[97 5[54 3[88 108 14[149 13[152 19[97 97 1[97 1[54 6[54
-39[{}15 172.154 /CMBX12 rf end
+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 2[97 1[54 6[54 39[{ TeXf7b6d320Encoding ReEncodeFont }14
+172.154 /CMBX12 rf end
%%EndProlog
%%BeginSetup
%%Feature: *Resolution 600dpi
@@ -3111,15 +3413,15 @@ a4
end
%%EndSetup
%%Page: 1 1
-TeXDict begin 1 0 bop 150 1318 a Fs(User's)65 b(Guide)g(to)f
-Fr(gperf)f Fs(3.0.2)p 150 1423 3600 34 v 2005 1519 a
-Fq(The)30 b(GNU)h(P)m(erfect)h(Hash)e(F)-8 b(unction)31
-b(Generator)2530 1627 y(Edition)g(3.0.2,)h(22)f(Jan)m(uary)f(2006)150
-4958 y Fp(Douglas)46 b(C.)f(Sc)l(hmidt)150 5091 y(Bruno)f(Haible)p
+TeXDict begin 1 0 bop 150 1318 a Fu(User's)65 b(Guide)g(to)f
+Ft(gperf)f Fu(3.0.3)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)2597 1627 y(Edition)f(3.0.3,)j(31)e(Marc)m(h)g(2007)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
-TeXDict begin 2 1 bop 150 4152 a Fq(Cop)m(yrigh)m(t)602
-4149 y(c)577 4152 y Fo(\015)30 b Fq(1989-2004)k(F)-8
+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-2007)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
@@ -3143,17 +3445,17 @@ 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
-TeXDict begin 1 2 bop 150 -116 a Fq(GNU)31 b(GENERAL)f(PUBLIC)h
-(LICENSE)2052 b(1)150 299 y Fn(GNU)54 b(GENERAL)g(PUBLIC)f(LICENSE)1537
-564 y Fq(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 Fo(\015)g Fq(1989,)j(1991)f(F)
+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,)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 Fp(Pream)l(ble)275
-1683 y Fq(The)39 b(licenses)j(for)e(most)h(soft)m(w)m(are)g(are)g
+(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
@@ -3220,10 +3522,10 @@ b(m)m(ust)g(b)s(e)e(licensed)i(for)f(ev)m(ery)m(one's)i(free)f(use)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
-TeXDict begin 2 3 bop 150 -116 a Fq(GNU)31 b(GENERAL)f(PUBLIC)h
-(LICENSE)2052 b(2)150 166 y Fp(TERMS)44 b(AND)h(CONDITIONS)g(F)l(OR)g
+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 Fq(0.)61 b(This)42 b(License)h(applies)f(to)i(an)m(y)f
+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
@@ -3310,7 +3612,7 @@ b(to)h(those)f(sections)h(when)f(y)m(ou)g(distribute)g(them)g(as)g
(the)g(terms)g(of)h(this)f(License,)h(whose)f(p)s(ermissions)p
eop end
%%Page: 3 5
-TeXDict begin 3 4 bop 150 -116 a Fq(GNU)31 b(GENERAL)f(PUBLIC)h
+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
@@ -3400,7 +3702,7 @@ b(ativ)m(e)330 5230 y(w)m(orks.)38 b(These)23 b(actions)h(are)g
(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
-TeXDict begin 4 5 bop 150 -116 a Fq(GNU)31 b(GENERAL)f(PUBLIC)h
+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
@@ -3491,7 +3793,7 @@ b(the)i(Program)f(do)s(es)g(not)g(sp)s(ecify)g(a)330
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
-TeXDict begin 5 6 bop 150 -116 a Fq(GNU)31 b(GENERAL)f(PUBLIC)h
+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
@@ -3501,12 +3803,12 @@ 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)f(guided)g(b)m(y)g(the)h(t)m(w)m
+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 Fp(NO)45 b(W)-15 b(ARRANTY)154
-1187 y Fq(11.)61 b(BECA)m(USE)40 b(THE)f(PR)m(OGRAM)i(IS)e(LICENSED)g
+(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
b(ARRANTY)26 b(F)m(OR)f(THE)g(PR)m(OGRAM,)h(TO)e(THE)h(EXTENT)f
(PERMITTED)h(BY)g(APPLI-)330 1406 y(CABLE)i(LA)-10 b(W.)27
@@ -3540,13 +3842,13 @@ b(OR)g(A)h(F)-10 b(AILURE)40 b(OF)g(THE)330 3185 y(PR)m(OGRAM)f(TO)f
(OPERA)-8 b(TE)38 b(WITH)h(ANY)g(OTHER)f(PR)m(OGRAMS\),)h(EVEN)g(IF)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 Fp(END)45 b(OF)g(TERMS)f(AND)h
+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 end
%%Page: 6 8
-TeXDict begin 6 7 bop 150 -116 a Fq(GNU)31 b(GENERAL)f(PUBLIC)h
-(LICENSE)2052 b(6)150 299 y Fp(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 Fq(If)38 b(y)m(ou)i(dev)m(elop)g(a)f(new)g(program,)j(and)c(y)m
+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)
@@ -3559,10 +3861,10 @@ b(o)29 b(do)h(so,)g(attac)m(h)h(the)f(follo)m(wing)h(notices)f(to)h
(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 Fm(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 Fl(Copyright)45
-b(\(C\))i Fm(y)m(ear)103 b(name)30 b(of)h(author)390
-1539 y Fl(This)47 b(program)e(is)j(free)e(software;)g(you)g(can)h
+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
(terms)f(of)h(the)g(GNU)g(General)f(Public)g(License)390
1746 y(as)h(published)e(by)j(the)f(Free)f(Software)g(Foundation;)e
@@ -3577,24 +3879,24 @@ b(\(C\))i Fm(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 Fq(Also)31 b(add)e(information)i
+(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 Fl(Gnomovision)45 b(version)h(69,)g(Copyright)g
-(\(C\))h Fm(y)m(ear)103 b(name)30 b(of)g(author)390 3429
-y Fl(Gnomovision)45 b(comes)h(with)h(ABSOLUTELY)e(NO)i(WARRANTY;)e(for)
+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 Fq(The)27
-b(h)m(yp)s(othetical)i(commands)f(`)p Fl(show)h(w)p Fq(')f(and)f(`)p
-Fl(show)j(c)p Fq(')d(should)g(sho)m(w)h(the)g(appropriate)g(parts)g(of)
+(`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 Fl(show)29
-b(w)p Fq(')c(and)f(`)p Fl(show)29 b(c)p Fq(';)e(they)d(could)h(ev)m(en)
+(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
@@ -3602,14 +3904,14 @@ b(ou)28 b(should)f(also)i(get)g(y)m(our)f(emplo)m(y)m(er)h(\(if)f(y)m
(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 Fl(Yoyodyne,)45 b(Inc.,)i(hereby)f(disclaims)f
+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 Fm(signature)31
-b(of)f(T)m(y)h(Co)s(on)p Fl(,)47 b(1)g(April)g(1989)390
+(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
-TeXDict begin 7 8 bop 150 -116 a Fq(GNU)31 b(GENERAL)f(PUBLIC)h
+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
@@ -3620,12 +3922,12 @@ 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
-TeXDict begin 8 9 bop 150 -116 a Fq(Con)m(tributors)30
-b(to)h(GNU)g Fl(gperf)e Fq(Utilit)m(y)2140 b(8)150 299
-y Fn(Con)l(tributors)50 b(to)j(GNU)h Fk(gperf)f Fn(Utilit)l(y)225
-533 y Fo(\017)60 b Fq(The)45 b(GNU)h Fl(gperf)d Fq(p)s(erfect)j(hash)e
+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
-Fl(++)330 643 y Fq(b)m(y)e(Douglas)i(C.)f(Sc)m(hmidt.)83
+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)
@@ -3634,77 +3936,77 @@ b(The)44 b(general)i(idea)f(for)f(the)h(p)s(erfect)g(hash)e(function)i
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 Fl(<bug-gnu-gperf@gnu.org>)p Fq(.)225
-1215 y Fo(\017)60 b Fq(Sp)s(ecial)33 b(thanks)g(is)g(extended)g(to)h
+(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)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
-Fl(gperf)p Fq(.)225 1704 y Fo(\017)60 b Fq(Bruno)26 b(Haible)i
+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
-TeXDict begin 9 10 bop 150 -116 a Fq(Chapter)30 b(1:)41
-b(In)m(tro)s(duction)2592 b(9)150 299 y Fn(1)80 b(In)l(tro)t(duction)
-275 533 y Fl(gperf)31 b Fq(is)j(a)f(p)s(erfect)h(hash)e(function)h
-(generator)i(written)e(in)g(C)p Fl(++)p Fq(.)49 b(It)33
-b(transforms)g(an)g Fm(n)f Fq(elemen)m(t)150 643 y(user-sp)s(eci\014ed)
-k(k)m(eyw)m(ord)i(set)g Fm(W)49 b Fq(in)m(to)39 b(a)e(p)s(erfect)h
-(hash)e(function)h Fm(F)p Fq(.)h Fm(F)44 b Fq(uniquely)37
-b(maps)g(k)m(eyw)m(ords)150 752 y(in)e Fm(W)47 b Fq(on)m(to)36
-b(the)f(range)g(0..)p Fm(k)p Fq(,)j(where)c Fm(k)40 b
-Fl(>)p Fq(=)35 b Fm(n-1)p Fq(.)54 b(If)35 b Fm(k)40 b
-Fq(=)35 b Fm(n-1)42 b Fq(then)35 b Fm(F)42 b Fq(is)35
-b(a)g Fj(minimal)46 b Fq(p)s(erfect)35 b(hash)150 862
-y(function.)68 b Fl(gperf)39 b Fq(generates)i(a)f(0..)p
-Fm(k)46 b Fq(elemen)m(t)41 b(static)g(lo)s(okup)f(table)g(and)f(a)i
+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 Fm(s)j
-Fq(o)s(ccurs)c(in)g Fm(W)p Fq(,)h(using)e(at)j(most)150
+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 Fl(gperf)22 b Fq(curren)m(tly)h(generates)j(the)d(reserv)m(ed)h
+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 Fl(++)p Fq(,)24 b(GNU)f(Ja)m(v)-5
+(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 Fl(++)e Fq(source)h(co)s(de)150
-1544 y(for)42 b Fl(gperf)f Fq(is)h(a)m(v)-5 b(ailable)44
-b(from)e Fl(http://ftp.gnu.org/pub/g)o(nu/g)o(perf)o(/)p
-Fq(.)70 b(A)42 b(pap)s(er)f(describing)150 1654 y Fl(gperf)p
-Fq('s)d(design)i(and)f(implemen)m(tation)j(in)d(greater)i(detail)g(is)f
+(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)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 Fl(++)29 b Fq(Conference)g(pro)s(ceedings)h(or)g(from)f
-Fl(http://www.cs.wustl.edu)o(/~sc)o(hmid)o(t/r)o(esum)o(e.ht)o(ml)p
-Fq(.)p eop end
+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 end
%%Page: 10 12
-TeXDict begin 10 11 bop 150 -116 a Fq(Chapter)30 b(2:)41
-b(Static)32 b(searc)m(h)f(structures)e(and)h(GNU)h Fl(gperf)1425
-b Fq(10)150 299 y Fn(2)80 b(Static)53 b(searc)l(h)g(structures)e(and)j
-(GNU)f Fk(gperf)275 533 y Fq(A)24 b Fm(static)i(searc)m(h)f(structure)k
-Fq(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 Fj(initialize)p
-Fq(,)g Fj(insert)p Fq(,)f(and)f Fj(r)-5 b(etrieve)p Fq(.)42
+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 Fl(gperf)19 b Fq(generates)k(a)e Fj(static)27 b Fq(arra)m(y)22
+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
-Fj(static)j(se)-5 b(ar)g(ch)32 b(sets)p Fq(.)40 b(Static)28
+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 Fm(k)m(eyw)m(ords)p
-Fq(,)i(are)c(inserted)h(in)m(to)g(the)g(structure)f(only)g(once,)k
+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
@@ -3713,32 +4015,32 @@ Fq(,)i(are)c(inserted)h(in)m(to)g(the)g(structure)f(only)g(once,)k
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 Fm(n)h Fq(elemen)m(t)h(sorted)150
+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 Fm(n)p Fq(.)42 b(Con)m(v)m(ersely)-8
+(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 Fj(Minimal)26 b(p)-5 b(erfe)g(ct)28
-b(hash)f(functions)32 b Fq(pro)m(vide)24 b(an)f(optimal)i(solution)f
+(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)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 Fo(\017)60 b Fq(It)34 b(allo)m(ws)i(k)m(eyw)m(ord)f(recognition)
+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
-Fj(one)41 b Fq(prob)s(e)33 b(in)m(to)j(the)330 2690 y(hash)30
+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 Fo(\017)60 b Fq(The)35 b(actual)j(memory)e
+(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 Fj(no)j(lar)-5 b(ger)p Fq(.)42 b(This)29
+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 Fj(p)-5 b(erfe)g(ct)47 b Fq(hash)37 b(functions)g(than)h
-Fj(minimal)150 3203 y(p)-5 b(erfe)g(ct)47 b Fq(hash)36
+(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.)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
@@ -3746,10 +4048,10 @@ 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 Fl(gperf)p Fq('s)34 b(default)h(b)s(eha)m(vior)g(generates)i
-Fj(ne)-5 b(ar-minimal)47 b Fq(p)s(erfect)35 b(hash)f(functions)h(for)
+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 Fl(gperf)39 b Fq(pro)m(vides)g(man)m(y)h(options)f(that)h(p)s(ermit)f
+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
@@ -3758,44 +4060,44 @@ 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 Fj(onc)-5 b(e)p
-Fq(,)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 Fl(gperf)22 b Fq(remo)m(v)m(es)i(the)f
+(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 Fl(gperf)e Fq(is)i(curren)m(tly)h
+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 Fl(++)p
-Fq(,)g(GNU)g(Ja)m(v)-5 b(a,)28 b(GNU)e(P)m(ascal,)j(and)150
+(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
-Fl(gperf)d Fq(to)i(automatically)i(generate)f(static)g(searc)m(h)f
+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
-TeXDict begin 11 12 bop 150 -116 a Fq(Chapter)30 b(3:)41
-b(High-Lev)m(el)32 b(Description)g(of)e(GNU)h Fl(gperf)1520
-b Fq(11)150 299 y Fn(3)80 b(High-Lev)l(el)52 b(Description)f(of)j(GNU)g
-Fk(gperf)275 539 y Fq(The)29 b(p)s(erfect)h(hash)g(function)g
-(generator)h Fl(gperf)e Fq(reads)h(a)h(set)g(of)f(\\k)m(eyw)m(ords")i
+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 Fm(static)h(k)m(eyw)m(ord)f(set)j
-Fq(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 Fl(gperf)f Fq(succeeds)i(in)g
+(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 Fl(gperf)p
-Fq(.)275 1332 y(By)23 b(default,)i Fl(gperf)d Fq(attempts)i(to)g(pro)s
+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
@@ -3804,73 +4106,73 @@ 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 Fl(gperf)150 1771 y
-Fq(to)21 b(utilize)h(a)f(C)f Fl(switch)f Fq(statemen)m(t)k(sc)m(heme)e
+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 Fl(switch)e
-Fq(ma)m(y)i(actually)i(sp)s(eed)d(up)g(the)h(k)m(eyw)m(ord)h(retriev)-5
+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 Fl(gperf)44 b Fq(assigns)h(v)-5
+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 Fl(gperf)f Fq(to)j(\014nd)d(and)h(generate)i(a)f(p)s
+(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
-Fl(gperf)p Fq(.)150 2717 y Fp(3.1)68 b(Input)44 b(F)-11
-b(ormat)46 b(to)f Fi(gperf)275 2911 y Fq(Y)-8 b(ou)38
+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)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 Fl(-t)p Fq(')g(option.)66
+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 Fl(flex)e Fq(and)150 3131 y Fl(bison)29
-b Fq(\(or)i(UNIX)f(utilities)i Fl(lex)e Fq(and)f Fl(yacc)p
-Fq(\).)40 b(Here's)31 b(an)g(outline)g(of)f(the)h(general)g(format:)390
-3261 y Fl(declarations)390 3365 y(\045\045)390 3469 y(keywords)390
-3572 y(\045\045)390 3676 y(functions)275 3806 y Fj(Unlike)41
-b Fl(flex)35 b Fq(or)g Fl(bison)p Fq(,)h(the)g(declarations)g(section)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)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 Fl(-t)p Fq(')f(option)h(is)f(not)h(giv)m(en.)48
+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 Fl(january)390 4395 y(february)390 4499 y(march)390
-4603 y(april)390 4707 y(...)150 4926 y Fh(3.1.1)63 b(Declarations)275
-5121 y Fq(The)33 b(k)m(eyw)m(ord)i(input)f(\014le)g(optionally)i(con)m
+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)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 Fl(gperf)f Fq(declarations)j
+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 Fl(struct)p
-Fq(.)p eop end
+(for)150 5340 y(pro)m(viding)g(a)h(user-supplied)e Fn(struct)p
+Fs(.)p eop end
%%Page: 12 14
-TeXDict begin 12 13 bop 150 -116 a Fq(Chapter)30 b(3:)41
-b(High-Lev)m(el)32 b(Description)g(of)e(GNU)h Fl(gperf)1520
-b Fq(12)150 299 y Fh(3.1.1.1)63 b(User-supplied)43 b
-Fg(struct)275 500 y Fq(If)24 b(the)h(`)p Fl(-t)p Fq(')f(option)h(\(or,)
-i(equiv)-5 b(alen)m(tly)d(,)28 b(the)d(`)p Fl(\045struct-type)p
-Fq(')d(declaration\))k Fj(is)32 b Fq(enabled,)26 b(y)m(ou)f
-Fj(must)150 609 y Fq(pro)m(vide)37 b(a)f(C)h Fl(struct)d
-Fq(as)j(the)g(last)g(comp)s(onen)m(t)g(in)f(the)h(declaration)h
+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 Fl(char)j(*)d Fq(or)g Fl(const)j(char)h(*)25
-b Fq(if)h(the)h(`)p Fl(-P)p Fq(')f(option)g(is)h(not)150
-829 y(giv)m(en,)k(or)g(of)f(t)m(yp)s(e)g Fl(int)g Fq(if)g(the)g(option)
-h(`)p Fl(-P)p Fq(')f(\(or,)h(equiv)-5 b(alen)m(tly)d(,)32
-b(the)f(`)p Fl(\045pic)p Fq(')e(declaration\))j(is)f(enabled.)150
+(yp)s(e)g Fn(char)j(*)d Fs(or)g Fn(const)j(char)h(*)25
+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
-Fl(name)p Fq(',)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 Fl(-K)p Fq(')30
+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
-Fl(\045define)f(slot-name)p Fq(')f(declaration\))k(describ)s(ed)e(b)s
+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 Fl(struct)46 b(month)g({)i(char)f(*name;)f(int)h(number;)e(int)i
+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
@@ -3880,268 +4182,267 @@ b(5,)47 b(31,)g(31)390 2054 y(june,)285 b(6,)47 b(30,)g(30)390
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 Fq(Separating)25 b(the)g Fl(struct)f Fq(declaration)i(from)f(the)g
+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
-Fl(\045\045)p Fq(',)h(app)s(earing)f(left)h(justi\014ed)e(in)h(the)h
+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
-Fl(lex)p Fq(.)275 3175 y(If)k(the)i Fl(struct)d Fq(has)i(already)h(b)s
+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 Fl(struct)46 b(month;)390 3525 y(\045\045)390
+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 Fh(3.1.1.2)63 b(Gp)s(erf)43 b(Declarations)275
-4167 y Fq(The)31 b(declaration)j(section)g(can)e(con)m(tain)i
-Fl(gperf)c Fq(declarations.)48 b(They)32 b(in\015uence)g(the)g(w)m(a)m
-(y)h Fl(gperf)150 4276 y Fq(w)m(orks,)43 b(lik)m(e)f(command)f(line)g
+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 Fl(\045compare-lengths)p Fq('.)199
+(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 Fl(\045switch=)p Fm(coun)m(t)r Fq('.)199 4806 y(3.)61
+(`)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 Fl(\045define)330 4916
-y(lookup-function-name)25 b Fm(name)5 b Fq('.)275 5088
+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 Fl(gperf)d
-Fq(declarations)j(are)f(a)m(v)-5 b(ailable.)p eop end
+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
-TeXDict begin 13 14 bop 150 -116 a Fq(Chapter)30 b(3:)41
-b(High-Lev)m(el)32 b(Description)g(of)e(GNU)h Fl(gperf)1520
-b Fq(13)150 299 y(`)p Fl(\045delimiters=)p Fm(delimiter-list)r
-Fq(')630 408 y(Allo)m(ws)30 b(y)m(ou)f(to)g(pro)m(vide)g(a)g(string)g
+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
-Fl(")p Fq(,)p Fl(")p Fq(.)53 b(This)34 b(option)h(is)f(essen)m(tial)j
+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 Fl(\045struct-type)p Fq(')630 883 y(Allo)m(ws)i(y)m(ou)e(to)i
-(include)e(a)h Fl(struct)d Fq(t)m(yp)s(e)j(declaration)h(for)e
+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 Fl(\045ignore-case)p
-Fq(')630 1249 y(Consider)43 b(upp)s(er)f(and)i(lo)m(w)m(er)h(case)g
+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 Fl(\045language=)p Fm(language-name)5
-b Fq(')630 1724 y(Instructs)33 b Fl(gperf)f Fq(to)i(generate)h(co)s(de)
+(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 Fl(KR-C)p Fq(')238 b(Old-st)m(yle)27
+(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 Fl(const)p Fq('.)630 2345 y(`)p Fl(C)p Fq(')382
+(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 Fl(#define)f(const)f
-Fq(to)1110 2564 y(empt)m(y)k(for)f(compilers)h(whic)m(h)f(don't)g(kno)m
+(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
-Fl(ANSI-C)p Fq(')142 b(ANSI)39 b(C.)h(This)e(language)j(is)f(understo)s
+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 Fl(++)29 b Fq(compilers.)630 2966 y(`)p Fl(C++)p
-Fq(')286 b(C)p Fl(++)p Fq(.)40 b(This)29 b(language)j(is)f(understo)s
-(o)s(d)d(b)m(y)i(C)p Fl(++)g Fq(compilers.)630 3112 y(The)g(default)g
-(is)h(C.)150 3258 y(`)p Fl(\045define)e(slot-name)e Fm(name)5
-b Fq(')630 3367 y(This)65 b(declaration)j(is)e(only)g(useful)f(when)g
-(option)h(`)p Fl(-t)p Fq(')g(\(or,)76 b(equiv)-5 b(alen)m(tly)d(,)77
-b(the)630 3477 y(`)p Fl(\045struct-type)p Fq(')27 b(declaration\))32
+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 Fl(name)p
-Fq('.)94 b(This)47 b(option)630 3696 y(allo)m(ws)f(an)e(arbitrary)g(c)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 Fl(struct)p
-Fq(.)150 3952 y(`)p Fl(\045define)g(initializer-suffix)c
-Fm(initializers)t Fq(')630 4061 y(This)65 b(declaration)j(is)e(only)g
-(useful)f(when)g(option)h(`)p Fl(-t)p Fq(')g(\(or,)76
-b(equiv)-5 b(alen)m(tly)d(,)77 b(the)630 4171 y(`)p Fl(\045struct-type)
-p Fq(')33 b(declaration\))38 b(has)d(b)s(een)g(giv)m(en.)58
+(\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
-Fm(slot-name)51 b Fq(in)43 b(empt)m(y)i(hash)e(table)i(en)m(tries.)630
+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 Fm(slot-name)p Fq(.)150 4646 y(`)p Fl(\045define)d
-(hash-function-name)c Fm(name)5 b Fq(')630 4755 y(Allo)m(ws)31
+(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
-Fl(hash)p Fq('.)40 b(This)30 b(option)h(p)s(ermits)e(the)i(use)f(of)h
+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 Fl(\045define)e(lookup-function-name)24 b
-Fm(name)5 b Fq(')630 5121 y(Allo)m(ws)43 b(y)m(ou)f(to)h(sp)s(ecify)e
+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 Fl(in_word_set)p
-Fq('.)37 b(This)27 b(option)h(p)s(ermits)f(m)m(ultiple)i(generated)f
+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
-TeXDict begin 14 15 bop 150 -116 a Fq(Chapter)30 b(3:)41
-b(High-Lev)m(el)32 b(Description)g(of)e(GNU)h Fl(gperf)1520
-b Fq(14)150 299 y(`)p Fl(\045define)29 b(class-name)e
-Fm(name)5 b Fq(')630 408 y(This)66 b(option)i(is)f(only)h(useful)e
-(when)h(option)g(`)p Fl(-L)30 b(C++)p Fq(')67 b(\(or,)77
-b(equiv)-5 b(alen)m(tly)d(,)79 b(the)630 518 y(`)p Fl(\045language=C++)
-p Fq(')43 b(declaration\))k(has)f(b)s(een)f(giv)m(en.)88
+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 Fl(++)f Fq(class.)41
-b(Default)32 b(name)e(is)h Fl(Perfect_Hash)p Fq(.)150
-792 y(`)p Fl(\0457bit)p Fq(')190 b(This)36 b(option)i(sp)s(eci\014es)f
+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 Fl(isalnum)f Fq(and)i Fl(isgraph)e
-Fq(do)i Fj(not)41 b Fq(guaran)m(tee)33 b(that)g(a)f(b)m(yte)h(is)f(in)f
+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
-Fl(c)e(>=)g('A')f(&&)h(c)g(<=)g('Z')p Fq(')f(guaran)m(tees)j(this.\))
-150 1395 y(`)p Fl(\045compare-lengths)p Fq(')630 1504
+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)29 b(for)f(binary)g(comparisons)h(\(see)h
-Fo(h)p Fq(unde\014ned)p Fo(i)d Fq([Binary)j(Strings],)f(page)g
-Fo(h)p Fq(un-)630 1724 y(de\014ned)p Fo(i)p Fq(\).)53
-b(It)35 b(also)g(migh)m(t)g(cut)g(do)m(wn)f(on)h(the)g(n)m(um)m(b)s(er)
-e(of)i(string)f(comparisons)h(made)630 1833 y(during)22
-b(the)i(lo)s(okup,)h(since)f(k)m(eyw)m(ords)g(with)g(di\013eren)m(t)g
-(lengths)g(are)g(nev)m(er)g(compared)f(via)630 1943 y
-Fl(strcmp)p Fq(.)38 b(Ho)m(w)m(ev)m(er,)31 b(using)d(`)p
-Fl(\045compare-lengths)p Fq(')c(migh)m(t)29 b(greatly)g(increase)g(the)
-g(size)g(of)630 2052 y(the)h(generated)g(C)g(co)s(de)f(if)h(the)g(lo)s
-(okup)f(table)i(range)f(is)f(large)i(\(whic)m(h)f(implies)g(that)g(the)
-630 2162 y(switc)m(h)g(option)h(`)p Fl(-S)p Fq(')f(or)g(`)p
-Fl(\045switch)p Fq(')f(is)h(not)g(enabled\),)h(since)f(the)g(length)h
-(table)g(con)m(tains)630 2271 y(as)g(man)m(y)f(elemen)m(ts)i(as)e
-(there)h(are)g(en)m(tries)g(in)f(the)h(lo)s(okup)f(table.)150
-2436 y(`)p Fl(\045compare-strncmp)p Fq(')630 2545 y(Generates)22
-b(C)f(co)s(de)g(that)h(uses)e(the)i Fl(strncmp)d Fq(function)h(to)i(p)s
+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 Fl(strcmp)p Fq(.)150 2819 y(`)p Fl
-(\045readonly-tables)p Fq(')630 2929 y(Mak)m(es)41 b(the)f(con)m(ten)m
+(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 Fl(\045enum)p Fq(')190 b(De\014ne)31 b(constan)m(t)g(v)-5
+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 Fl(<jjc@ai.mit.edu>)p
-Fq(.)150 3696 y(`)p Fl(\045includes)p Fq(')630 3806 y(Include)g(the)h
-(necessary)h(system)f(include)g(\014le,)g Fl(<string.h>)p
-Fq(,)e(at)i(the)g(b)s(eginning)g(of)g(the)630 3915 y(co)s(de.)39
+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 Fl(\045global-table)p Fq(')630 4299 y(Generate)38
+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 Fl(\045pic)p Fq(')238 b(Optimize)42 b(the)f(generated)h(table)g
+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 Fl(\045struct-type)p
-Fq(')d(declaration)24 b(\(or,)g(equiv)-5 b(alen)m(tly)d(,)26
-b(the)c(option)g(`)p Fl(-t)p Fq('\))g(is)g(also)630 4902
+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 Fl(int)p
-Fq(',)f(not)h(`)p Fl(char)630 5011 y(*)p Fq(',)h(b)s(ecause)f(it)i
+(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 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 Fl(stringpool)630
-5230 y(+)e Fm(o)5 b Fq(',)34 b(where)f Fm(o)38 b Fq(is)33
+(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 Fl(\045define)c
-(string-pool-name)p Fq(')d(declaration.)p eop end
+(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
-TeXDict begin 15 16 bop 150 -116 a Fq(Chapter)30 b(3:)41
-b(High-Lev)m(el)32 b(Description)g(of)e(GNU)h Fl(gperf)1520
-b Fq(15)150 299 y(`)p Fl(\045define)29 b(string-pool-name)d
-Fm(name)5 b Fq(')630 408 y(Allo)m(ws)42 b(y)m(ou)f(to)h(sp)s(ecify)f
+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 Fl(\045pic)p
-Fq(')e(\(or,)51 b(equiv)-5 b(alen)m(tly)d(,)53 b(the)47
-b(option)f(`)p Fl(-P)p Fq('\).)90 b(The)46 b(default)g(name)h(is)630
-628 y(`)p Fl(stringpool)p Fq('.)38 b(This)29 b(declaration)i(p)s
+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 Fl(\045pic)p Fq(')g(and)g(ev)m(en)h
-(when)f(the)h(`)p Fl(\045global-table)p Fq(')c(declaration)38
+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
-Fl(-G)p Fq('\))f(is)h(giv)m(en.)150 1074 y(`)p Fl(\045null-strings)p
-Fq(')630 1183 y(Use)39 b(NULL)g(strings)f(instead)i(of)e(empt)m(y)i
+Fn(-G)p Fs('\))f(is)h(giv)m(en.)150 1074 y(`)p Fn(\045null-strings)p
+Fs(')630 1183 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
1293 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 1402 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 Fl(\045pic)p Fq('\),)f(at)g(the)f(exp)s(ense)630
+(declaration)h(`)p Fn(\045pic)p Fs('\),)f(at)g(the)f(exp)s(ense)630
1512 y(of)j(one)f(more)h(test-and-branc)m(h)g(instruction)f(at)h(run)e
-(time.)150 1739 y(`)p Fl(\045define)g(word-array-name)d
-Fm(name)5 b Fq(')630 1848 y(Allo)m(ws)41 b(y)m(ou)f(to)h(sp)s(ecify)f
+(time.)150 1739 y(`)p Fn(\045define)g(word-array-name)d
+Fo(name)5 b Fs(')630 1848 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 1958 y(table.)106 b(Default)53 b(name)e(is)h(`)p
-Fl(wordlist)p Fq('.)103 b(This)51 b(option)h(p)s(ermits)f(the)h(use)g
+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 2068 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 Fl(-G)p
-Fq(')g(\(or,)i(equiv)-5 b(alen)m(tly)d(,)42 b(the)630
-2177 y(`)p Fl(\045global-table)p Fq(')27 b(declaration\))33
-b(is)d(giv)m(en.)150 2404 y(`)p Fl(\045define)f(length-table-name)c
-Fm(name)5 b Fq(')630 2514 y(Allo)m(ws)36 b(y)m(ou)e(to)i(sp)s(ecify)e
+(\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
+2177 y(`)p Fn(\045global-table)p Fs(')27 b(declaration\))33
+b(is)d(giv)m(en.)150 2404 y(`)p Fn(\045define)f(length-table-name)c
+Fo(name)5 b Fs(')630 2514 y(Allo)m(ws)36 b(y)m(ou)e(to)i(sp)s(ecify)e
(the)h(name)f(for)g(the)h(generated)h(arra)m(y)f(con)m(taining)h(the)f
(length)630 2623 y(table.)77 b(Default)43 b(name)g(is)f(`)p
-Fl(lengthtable)p Fq('.)74 b(This)41 b(option)i(p)s(ermits)e(the)h(use)g
+Fn(lengthtable)p Fs('.)74 b(This)41 b(option)i(p)s(ermits)e(the)h(use)g
(of)h(t)m(w)m(o)630 2733 y(length)33 b(tables)h(in)f(the)g(same)g
-(\014le,)h(ev)m(en)g(when)e(the)h(option)h(`)p Fl(-G)p
-Fq(')f(\(or,)h(equiv)-5 b(alen)m(tly)d(,)36 b(the)630
-2842 y(`)p Fl(\045global-table)p Fq(')27 b(declaration\))33
-b(is)d(giv)m(en.)150 3069 y(`)p Fl(\045switch=)p Fm(coun)m(t)r
-Fq(')630 3179 y(Causes)35 b(the)h(generated)h(C)e(co)s(de)h(to)h(use)e
-(a)h Fl(switch)e Fq(statemen)m(t)k(sc)m(heme,)g(rather)d(than)630
+(\014le,)h(ev)m(en)g(when)e(the)h(option)h(`)p Fn(-G)p
+Fs(')f(\(or,)h(equiv)-5 b(alen)m(tly)d(,)36 b(the)630
+2842 y(`)p Fn(\045global-table)p Fs(')27 b(declaration\))33
+b(is)d(giv)m(en.)150 3069 y(`)p Fn(\045switch=)p Fo(coun)m(t)r
+Fs(')630 3179 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
3289 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 3398 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
-3508 y(ho)m(w)33 b(man)m(y)f Fl(switch)f Fq(statemen)m(ts)k(are)e
+3508 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
-Fl(switch)630 3617 y Fq(con)m(taining)25 b(all)e(the)h(elemen)m(ts,)i
+Fn(switch)630 3617 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 3727 y(in)38 b(eac)m(h)h Fl(switch)p
-Fq(,)g(etc.)65 b(This)37 b(is)h(useful)g(since)g(man)m(y)h(C)e
+(the)g(elemen)m(ts)630 3727 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 3836 y(generate)29
-b(co)s(de)f(for)f(large)h Fl(switch)e Fq(statemen)m(ts.)41
+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
3946 y(Keith)k(Bostic's)h(original)f(C)f(program.)150
-4173 y(`)p Fl(\045omit-struct-type)p Fq(')630 4282 y(Prev)m(en)m(ts)f
+4173 y(`)p Fn(\045omit-struct-type)p Fs(')630 4282 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 4392
y(if)j(the)h(t)m(yp)s(e)f(is)h(already)g(de\014ned)e(elsewhere.)150
-4751 y Fh(3.1.1.3)63 b(C)41 b(Co)s(de)g(Inclusion)275
-5011 y Fq(Using)26 b(a)g(syn)m(tax)h(similar)f(to)h(GNU)f(utilities)i
-Fl(flex)d Fq(and)g Fl(bison)p Fq(,)h(it)g(is)g(p)s(ossible)g(to)g
+4751 y Fj(3.1.1.3)63 b(C)41 b(Co)s(de)g(Inclusion)275
+5011 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 5121 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 5230 y(b)m(y)37 b(enclosing)h(the)g
(region)g(inside)e(left-justi\014ed)i(surrounding)d(`)p
-Fl(\045{)p Fq(',)k(`)p Fl(\045})p Fq(')e(pairs.)61 b(Here)38
+Fn(\045{)p Fs(',)k(`)p Fn(\045})p Fs(')e(pairs.)61 b(Here)38
b(is)f(an)g(input)150 5340 y(fragmen)m(t)31 b(based)f(on)g(the)h
(previous)f(example)h(that)g(illustrates)g(this)g(feature:)p
eop end
%%Page: 16 18
-TeXDict begin 16 17 bop 150 -116 a Fq(Chapter)30 b(3:)41
-b(High-Lev)m(el)32 b(Description)g(of)e(GNU)h Fl(gperf)1520
-b Fq(16)390 299 y Fl(\045{)390 403 y(#include)46 b(<assert.h>)390
+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)390 299 y Fn(\045{)390 403 y(#include)46 b(<assert.h>)390
506 y(/*)h(This)g(section)f(of)h(code)f(is)i(inserted)d(directly)h
(into)g(the)h(output.)f(*/)390 610 y(int)h(return_month_days)c
(\(struct)j(month)g(*months,)g(int)h(is_leap_year\);)390
@@ -4149,17 +4450,17 @@ b Fq(16)390 299 y Fl(\045{)390 403 y(#include)46 b(<assert.h>)390
(number;)e(int)i(days;)g(int)g(leap_days;)e(};)390 922
y(\045\045)390 1025 y(january,)141 b(1,)47 b(31,)g(31)390
1129 y(february,)93 b(2,)47 b(28,)g(29)390 1233 y(march,)237
-b(3,)47 b(31,)g(31)390 1337 y(...)150 1632 y Fh(3.1.2)63
+b(3,)47 b(31,)g(31)390 1337 y(...)150 1632 y Fj(3.1.2)63
b(F)-10 b(ormat)41 b(for)h(Keyw)m(ord)e(En)m(tries)275
-1865 y Fq(The)33 b(second)i(input)e(\014le)i(format)g(section)g(con)m
+1865 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 1974 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 Fl(#)p
-Fq(')h(in)f(the)h(\014rst)f(column)g(is)g(considered)h(a)150
+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
2084 y(commen)m(t.)53 b(Ev)m(erything)34 b(follo)m(wing)h(the)g(`)p
-Fl(#)p Fq(')f(is)g(ignored,)h(up)e(to)i(and)e(including)h(the)g(follo)m
+Fn(#)p Fs(')f(is)g(ignored,)h(up)e(to)i(and)e(including)h(the)g(follo)m
(wing)h(new-)150 2193 y(line.)57 b(A)36 b(line)h(b)s(eginning)e(with)g
-(`)p Fl(\045)p Fq(')h(in)g(the)g(\014rst)f(column)g(is)h(an)g(option)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 2303 y(o)s(ccur)30
b(within)g(the)h(k)m(eyw)m(ords)f(section.)275 2477 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
@@ -4168,8 +4469,8 @@ m(en)150 2587 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 2696 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 Fl(\\")e Fq(or)150 2806
-y Fl(\\234)23 b Fq(or)i Fl(\\xa8)p Fq(.)37 b(In)24 b(either)h(case,)i
+(kslash)h(escap)s(es)g(lik)m(e)h Fn(\\")e Fs(or)150 2806
+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 2916 y(whitespace.)58
b(In)35 b(this)h(con)m(text,)j(a)e(\\\014eld")f(is)g(considered)g(to)g
@@ -4177,13 +4478,13 @@ b(In)35 b(this)h(con)m(text,)j(a)e(\\\014eld")f(is)g(considered)g(to)g
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 3135 y(reserv)m(ed)31 b(w)m(ords:)390 3303
-y Fl(#)47 b(These)g(are)g(a)g(few)g(C)h(reserved)d(words,)h(see)h(the)g
+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 3407 y(#)h(for)g(a)h(complete)d(list)i(of)g(ANSI)g
(C)g(reserved)f(words.)390 3511 y(unsigned)390 3615 y(sizeof)390
3718 y(switch)390 3822 y(signed)390 3926 y(if)390 4030
y(default)390 4133 y(for)390 4237 y(while)390 4341 y(return)275
-4508 y Fq(Note)38 b(that)f(unlik)m(e)g Fl(flex)f Fq(or)h
-Fl(bison)e Fq(the)j(\014rst)e(`)p Fl(\045\045)p Fq(')g(mark)m(er)i(ma)m
+4508 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 4618
y(section)32 b(is)e(empt)m(y)-8 b(.)275 4792 y(Additional)29
b(\014elds)f(ma)m(y)h(optionally)h(follo)m(w)g(the)f(leading)g(k)m(eyw)
@@ -4191,210 +4492,207 @@ m(ord.)41 b(Fields)29 b(should)e(b)s(e)h(separated)150
4902 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 5011 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 Fl(struct)h Fq(pro)m(vided)g(b)m(y)h
+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 5121 y(declaration)40 b(section.)67
-b(If)39 b(the)g(`)p Fl(-t)p Fq(')f(option)h(\(or,)j(equiv)-5
-b(alen)m(tly)d(,)43 b(the)c(`)p Fl(\045struct-type)p
-Fq(')d(declaration\))150 5230 y(is)g Fj(not)45 b Fq(enabled)36
+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 5230 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
5340 y(con)m(tain)32 b(k)m(eyw)m(ord)f(attributes.)p
eop end
%%Page: 17 19
-TeXDict begin 17 18 bop 150 -116 a Fq(Chapter)30 b(3:)41
-b(High-Lev)m(el)32 b(Description)g(of)e(GNU)h Fl(gperf)1520
-b Fq(17)150 299 y Fh(3.1.3)63 b(Including)41 b(Additional)g(C)g(F)-10
-b(unctions)275 490 y Fq(The)30 b(optional)i(third)e(section)i(also)g
+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)150 299 y Fj(3.1.3)63 b(Including)41 b(Additional)g(C)g(F)-10
+b(unctions)275 490 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
-Fl(flex)f Fq(and)150 600 y Fl(bison)p Fq(.)36 b(All)23
+Fn(flex)f Fs(and)150 600 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
-Fl(\045\045)p Fq(')h(and)f(extending)i(to)f(the)g(end)g(of)g(the)g
+Fn(\045\045)p Fs(')h(and)f(extending)i(to)f(the)g(end)g(of)g(the)g
(input)150 710 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
819 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 1040 y Fh(3.1.4)63
+(section)h(is)g(v)-5 b(alid)30 b(C.)150 1040 y Fj(3.1.4)63
b(Where)41 b(to)g(place)f(directiv)m(es)g(for)i(GNU)g
-Fg(indent)p Fh(.)275 1231 y Fq(If)26 b(y)m(ou)i(w)m(an)m(t)g(to)g(in)m
-(v)m(ok)m(e)h(GNU)f Fl(indent)e Fq(on)h(a)g Fl(gperf)f
-Fq(input)h(\014le,)h(y)m(ou)f(will)h(see)g(that)g(GNU)g
-Fl(indent)150 1341 y Fq(do)s(esn't)33 b(understand)e(the)i(`)p
-Fl(\045\045)p Fq(',)h(`)p Fl(\045{)p Fq(')e(and)h(`)p
-Fl(\045})p Fq(')g(directiv)m(es)h(that)f(con)m(trol)i
-Fl(gperf)p Fq('s)c(in)m(terpretation)k(of)150 1451 y(the)23
+Fi(indent)p Fj(.)275 1231 y Fs(If)26 b(y)m(ou)i(w)m(an)m(t)g(to)g(in)m
+(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 1341 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)h(that)f(con)m(trol)i
+Fn(gperf)p Fs('s)c(in)m(terpretation)k(of)150 1451 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 Fl(indent)p
-Fq(.)36 b(More)24 b(precisely)-8 b(,)150 1560 y(assuming)30
+(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 1560 y(assuming)30
b(the)h(most)f(general)i(input)d(\014le)i(structure)390
-1688 y Fl(declarations)44 b(part)j(1)390 1791 y(\045{)390
+1688 y Fn(declarations)44 b(part)j(1)390 1791 y(\045{)390
1895 y(verbatim)f(code)390 1999 y(\045})390 2103 y(declarations)e(part)
j(2)390 2207 y(\045\045)390 2310 y(keywords)390 2414
-y(\045\045)390 2518 y(functions)150 2644 y Fq(y)m(ou)31
-b(w)m(ould)f(insert)g(`)p Fl(*INDENT-OFF*)p Fq(')e(and)h(`)p
-Fl(*INDENT-ON*)p Fq(')f(commen)m(ts)k(as)e(follo)m(ws:)390
-2772 y Fl(/*)47 b(*INDENT-OFF*)e(*/)390 2875 y(declarations)f(part)j(1)
+y(\045\045)390 2518 y(functions)150 2644 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
+2772 y Fn(/*)47 b(*INDENT-OFF*)e(*/)390 2875 y(declarations)f(part)j(1)
390 2979 y(\045{)390 3083 y(/*)g(*INDENT-ON*)e(*/)390
3187 y(verbatim)h(code)390 3291 y(/*)h(*INDENT-OFF*)e(*/)390
3394 y(\045})390 3498 y(declarations)f(part)j(2)390 3602
y(\045\045)390 3706 y(keywords)390 3809 y(\045\045)390
3913 y(/*)g(*INDENT-ON*)e(*/)390 4017 y(functions)150
-4263 y Fp(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 Fi(gperf)275 4454 y Fq(Sev)m(eral)28
+4263 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 4454 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
-4564 y(C)22 b(function)g(are)g(generated.)39 b(They)22
-b(are)h(called)g Fl(hash)e Fq(and)h Fl(in_word_set)p
-Fq(,)f(although)h(y)m(ou)h(ma)m(y)g(mo)s(dify)150 4673
-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 4783 y Fl(char)c(*)43 b Fm(str)p Fq(,)j(and)d(a)g(length)h
-(parameter,)j Fl(int)42 b Fm(len)p Fq(.)79 b(Their)43
-b(default)g(function)g(protot)m(yp)s(es)g(are)h(as)150
-4892 y(follo)m(ws:)3525 5121 y(F)-8 b(unction)-3724 b
-Ff(unsigned)41 b(int)e Fe(hash)44 b Fd(\()p Fl(const)30
-b(char)f(*)h Fm(str)p Fl(,)g(unsigned)e(int)h Fm(len)p
-Fd(\))390 5230 y Fq(By)35 b(default,)h(the)e(generated)i
-Fl(hash)d Fq(function)h(returns)f(an)i(in)m(teger)h(v)-5
-b(alue)34 b(created)i(b)m(y)e(adding)390 5340 y Fm(len)28
-b Fq(to)g(sev)m(eral)h(user-sp)s(eci\014ed)d Fm(str)34
-b Fq(b)m(yte)28 b(p)s(ositions)g(indexed)f(in)m(to)h(an)f
-Fm(asso)s(ciated)i(v)-5 b(alues)32 b Fq(table)p eop end
+4564 y(C)i(functions)g(are)h(generated.)77 b(They)42
+b(are)h(called)g Fn(hash)f Fs(and)f Fn(in_word_set)p
+Fs(,)i(although)g(y)m(ou)f(ma)m(y)150 4673 y(mo)s(dify)30
+b(their)g(names)h(with)f(a)h(command-line)g(option.)42
+b(Both)31 b(functions)f(require)g(t)m(w)m(o)i(argumen)m(ts,)g(a)150
+4783 y(string,)h Fn(char)c(*)i Fo(str)p Fs(,)i(and)e(a)i(length)f
+(parameter,)h Fn(int)e Fo(len)p Fs(.)46 b(Their)31 b(default)h
+(function)g(protot)m(yp)s(es)h(are)150 4892 y(as)e(follo)m(ws:)3525
+5121 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 5230 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
+5340 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)p eop end
%%Page: 18 20
-TeXDict begin 18 19 bop 150 -116 a Fq(Chapter)30 b(3:)41
-b(High-Lev)m(el)32 b(Description)g(of)e(GNU)h Fl(gperf)1520
-b Fq(18)390 299 y(stored)28 b(in)g(a)g(lo)s(cal)i(static)f(arra)m(y)-8
+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)390 299 y(stored)28 b(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 408 y Fl(gperf)34
-b Fq(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 Fl(hash_table)p Fq('.)52 b(The)35 b(relev)-5
+(constructed)g(in)m(ternally)h(b)m(y)390 408 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 518 y(selected)28 b(p)s(ositions)f(\(i.e.)41
-b(indices)27 b(in)m(to)h Fm(str)7 b Fq(\))26 b(are)h(sp)s(eci\014ed)f
-(via)i(the)f(`)p Fl(-k)p Fq(')g(option)g(when)f(running)390
-628 y Fl(gperf)p Fq(,)h(as)i(detailed)g(in)f(the)g Fj(Options)37
-b Fq(section)29 b(b)s(elo)m(w)g(\(see)g Fo(h)p Fq(unde\014ned)p
-Fo(i)d Fq([Options],)j(page)g Fo(h)p Fq(un-)390 737 y(de\014ned)p
-Fo(i)p Fq(\).)3525 941 y(F)-8 b(unction)-3724 b Fe(in)p
-253 941 35 5 v 41 w(w)m(ord)p 542 941 V 41 w(set)44 b
-Fd(\()p Fl(const)30 b(char)f(*)h Fm(str)p Fl(,)g(unsigned)e(int)h
-Fm(len)p Fd(\))390 1050 y Fq(If)k Fm(str)41 b Fq(is)33
+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
+628 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 857 y(F)-8 b(unction)-3724 b Fg(in)p
+253 857 35 5 v 41 w(w)m(ord)p 542 857 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 967 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 1160 y(option)d(`)p Fl(-t)p Fq(')g(\(or,)g(equiv)-5
-b(alen)m(tly)d(,)33 b(the)e(`)p Fl(\045struct-type)p
-Fq(')d(declaration\))k(w)m(as)f(giv)m(en,)h(it)f(returns)f(a)390
-1269 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 Fl(NULL)p
-Fq(.)275 1435 y(If)39 b(the)i(option)f(`)p Fl(-c)p Fq(')g(\(or,)j
-(equiv)-5 b(alen)m(tly)d(,)45 b(the)c(`)p Fl(\045compare-strncmp)p
-Fq(')36 b(declaration\))42 b(is)e(not)g(used,)150 1545
-y Fm(str)k Fq(m)m(ust)37 b(b)s(e)f(a)i(NUL)f(terminated)h(string)f(of)h
-(exactly)h(length)e Fm(len)p Fq(.)62 b(If)37 b(`)p Fl(-c)p
-Fq(')g(\(or,)i(equiv)-5 b(alen)m(tly)d(,)42 b(the)150
-1654 y(`)p Fl(\045compare-strncmp)p Fq(')22 b(declaration\))28
-b(is)e(used,)g Fm(str)32 b Fq(m)m(ust)26 b(simply)g(b)s(e)f(an)h(arra)m
-(y)g(of)g Fm(len)g Fq(b)m(ytes)h(and)e(do)s(es)150 1764
+b(if)d(the)390 1076 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
+1186 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 1367 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 1477
+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)150
+1587 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 1696
y(not)31 b(need)f(to)h(b)s(e)f(NUL)g(terminated.)275
-1892 y(The)f(co)s(de)i(generated)g(for)g(these)f(t)m(w)m(o)i(functions)
+1830 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
-2040 y(`)p Fl(-t)p Fq(')150 2149 y(`)p Fl(--struct-type)p
-Fq(')630 2259 y(Mak)m(e)g(use)e(of)h(the)f(user-de\014ned)f
-Fl(struct)p Fq(.)150 2406 y(`)p Fl(-S)h Fm(total-switc)m(h-statemen)m
-(ts)t Fq(')150 2515 y(`)p Fl(--switch=)p Fm(total-switc)m(h-statemen)m
-(ts)t Fq(')630 2625 y(Generate)22 b(1)f(or)g(more)g(C)f
-Fl(switch)f Fq(statemen)m(t)j(rather)f(than)f(use)h(a)g(large,)j(\(and)
-c(p)s(oten)m(tially)630 2735 y(sparse\))j(static)h(arra)m(y)-8
+1987 y(`)p Fn(-t)p Fs(')150 2097 y(`)p Fn(--struct-type)p
+Fs(')630 2207 y(Mak)m(e)g(use)e(of)h(the)f(user-de\014ned)f
+Fn(struct)p Fs(.)150 2364 y(`)p Fn(-S)h Fo(total-switc)m(h-statemen)m
+(ts)t Fs(')150 2474 y(`)p Fn(--switch=)p Fo(total-switc)m(h-statemen)m
+(ts)t Fs(')630 2583 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 2693 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 2844 y(v)-5 b(ary)32 b(according)g(to)h(y)
+(of)f(this)g(approac)m(h)630 2802 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 2954 y(results)e(in)g(smaller)h(and)f(faster)h(co)s(de.)
-275 3101 y(If)c(the)h(`)p Fl(-t)p Fq(')g(and)f(`)p Fl(-S)p
-Fq(')g(options)i(\(or,)f(equiv)-5 b(alen)m(tly)d(,)31
-b(the)d(`)p Fl(\045struct-type)p Fq(')d(and)i(`)p Fl(\045switch)p
-Fq(')g(declara-)150 3210 y(tions\))f(are)f(omitted,)i(the)e(default)g
-(action)h(is)f(to)h(generate)g(a)g Fl(char)j(*)24 b Fq(arra)m(y)i(con)m
-(taining)g(the)f(k)m(eyw)m(ords,)150 3320 y(together)32
+(d)h(often)630 2912 y(results)e(in)g(smaller)h(and)f(faster)h(co)s(de.)
+275 3070 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 3179 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 3289 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
-3430 y(the)g(v)-5 b(arious)32 b(input)e(and)g(output)h(options,)h(and)f
+3398 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
-3539 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 3778 y Fp(3.3)68
-b(Use)46 b(of)f(NUL)g(b)l(ytes)275 3965 y Fq(By)30 b(default,)h(the)f
-(co)s(de)g(generated)i(b)m(y)e Fl(gperf)e Fq(op)s(erates)j(on)f(zero)h
-(terminated)g(strings,)f(the)g(usual)150 4074 y(represen)m(tation)41
+3508 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 3763 y Fr(3.3)68
+b(Use)46 b(of)f(NUL)g(b)l(ytes)275 3954 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)g(strings,)f(the)g(usual)150 4064 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 4184 y(con)m(tain)d(NUL)
-f(b)m(ytes,)i(and)e(the)g Fm(str)42 b Fq(argumen)m(t)36
-b(passed)g(to)g Fl(hash)f Fq(or)h Fl(in_word_set)d Fq(m)m(ust)j(b)s(e)f
-(NUL)150 4293 y(terminated)c(and)f(ha)m(v)m(e)h(exactly)h(length)f
-Fm(len)p Fq(.)275 4422 y(If)k(option)i(`)p Fl(-c)p Fq(')f(\(or,)i
-(equiv)-5 b(alen)m(tly)d(,)40 b(the)c(`)p Fl(\045compare-strncmp)p
-Fq(')c(declaration\))38 b(is)e(used,)h(then)f(the)150
-4531 y Fm(str)e Fq(argumen)m(t)29 b(do)s(es)e(not)h(need)g(to)h(b)s(e)e
+(in)f(the)h(input)f(\014le)g(m)m(ust)h(not)150 4173 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 4283 y(terminated)c(and)f(ha)m(v)m(e)h(exactly)h(length)f
+Fo(len)p Fs(.)275 4417 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
+4526 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
-Fl(gperf)f Fq(will)h(only)150 4641 y(access)h(the)f(\014rst)g
-Fm(len)p Fq(,)g(not)h Fm(len)p Fl(+)p Fm(1)p Fq(,)f(b)m(ytes)h
-(starting)g(at)f Fm(str)p Fq(.)40 b(Ho)m(w)m(ev)m(er,)31
+Fn(gperf)f Fs(will)h(only)150 4636 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
-4751 y(still)k(m)m(ust)g(not)f(con)m(tain)i(NUL)e(b)m(ytes.)275
-4879 y(If)35 b(option)i(`)p Fl(-l)p Fq(')f(\(or,)i(equiv)-5
-b(alen)m(tly)d(,)40 b(the)c(`)p Fl(\045compare-lengths)p
-Fq(')c(declaration\))38 b(is)e(used,)h(then)f(the)150
+4745 y(still)k(m)m(ust)g(not)f(con)m(tain)i(NUL)e(b)m(ytes.)275
+4879 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
4988 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 5098 y(b)m(ytes,)46 b(written)41 b(in)h(string)g(syn)m
-(tax)g(as)g Fl(\\000)f Fq(or)h Fl(\\x00)p Fq(,)i(and)d(the)h(co)s(de)g
-(generated)h(b)m(y)f Fl(gperf)f Fq(will)150 5208 y(treat)i(NUL)e(lik)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 5208 y(treat)i(NUL)e(lik)m
(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 Fl(-c)p Fq(')f(option)h(\(or,)j(equiv)-5 b(alen)m(tly)d(,)47
-b(the)150 5317 y(`)p Fl(\045compare-strncmp)p Fq(')26
+(`)p Fn(-c)p Fs(')f(option)h(\(or,)j(equiv)-5 b(alen)m(tly)d(,)47
+b(the)150 5317 y(`)p Fn(\045compare-strncmp)p Fs(')26
b(declaration\))33 b(is)d(ignored.)p eop end
%%Page: 19 21
-TeXDict begin 19 20 bop 150 -116 a Fq(Chapter)30 b(4:)41
-b(In)m(v)m(oking)31 b Fl(gperf)2433 b Fq(19)150 299 y
-Fn(4)80 b(In)l(v)l(oking)52 b Fk(gperf)275 542 y Fq(There)35
-b(are)i Fj(many)46 b Fq(options)36 b(to)i Fl(gperf)p
-Fq(.)57 b(They)36 b(w)m(ere)h(added)e(to)j(mak)m(e)f(the)g(program)f
+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 Fl(--help)p Fq(')150 761
+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 Fp(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 Fq(`)p Fl(--output-file=)p
-Fm(\014le)5 b Fq(')630 1357 y(Allo)m(ws)31 b(y)m(ou)g(to)g(sp)s(ecify)f
+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 Fl(-)p Fq('.)150 1785 y Fp(4.2)68
+(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 Fq(These)29 b(options)i(are)f(also)h(a)m(v)-5
-b(ailable)33 b(as)d(declarations)i(in)d(the)i(input)e(\014le)h(\(see)h
-Fo(h)p Fq(unde\014ned)p Fo(i)e Fq([Gp)s(erf)150 2090
-y(Declarations],)k(page)e Fo(h)p Fq(unde\014ned)p Fo(i)p
-Fq(\).)150 2254 y(`)p Fl(-e)f Fm(k)m(eyw)m(ord-delimiter-list)r
-Fq(')150 2364 y(`)p Fl(--delimiters=)p Fm(k)m(eyw)m(ord-delimiter-list)
-r Fq(')630 2473 y(Allo)m(ws)g(y)m(ou)f(to)g(pro)m(vide)g(a)g(string)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
-Fl(")p Fq(,)p Fl(")p Fq(.)53 b(This)34 b(option)h(is)f(essen)m(tial)j
+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 Fl(-t)p Fq(')150 3074 y(`)p
-Fl(--struct-type)p Fq(')630 3183 y(Allo)m(ws)h(y)m(ou)g(to)g(include)f
-(a)g Fl(struct)f Fq(t)m(yp)s(e)h(declaration)i(for)e(generated)h(co)s
+(haracter.)150 2964 y(`)p Fn(-t)p Fs(')150 3074 y(`)p
+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 Fl(\045\045)p Fq(')d(is)h(considered)g(part)f(of)
+(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)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 Fl(++)p
-Fq(,)24 b(P)m(ascal,)j(Mo)s(dula)c(2,)j(Mo)s(dula)d(3)h(and)f(Ja)m(v)-5
+(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 Fl(--ignore-case)p
-Fq(')630 4003 y(Consider)43 b(upp)s(er)f(and)i(lo)m(w)m(er)h(case)g
+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
@@ -4405,274 +4703,271 @@ 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 Fl(i)p Fq(')g(is)f(the)g(non-ASCI)s(I)e(c)m
-(haracter)k(`)p Fl(capital)29 b(i)h(with)f(dot)g(above)p
-Fq('.\))72 b(F)-8 b(or)42 b(this)630 4661 y(case,)d(it)d(is)g(b)s
+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)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 Fl(gperf)e Fq(generated)i(function.)150
-5035 y Fp(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 Fq(These)29 b(options)i(are)f(also)
-h(a)m(v)-5 b(ailable)33 b(as)d(declarations)i(in)d(the)i(input)e
-(\014le)h(\(see)h Fo(h)p Fq(unde\014ned)p Fo(i)e Fq([Gp)s(erf)150
-5340 y(Declarations],)k(page)e Fo(h)p Fq(unde\014ned)p
-Fo(i)p Fq(\).)p eop end
+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)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
-TeXDict begin 20 21 bop 150 -116 a Fq(Chapter)30 b(4:)41
-b(In)m(v)m(oking)31 b Fl(gperf)2433 b Fq(20)150 299 y(`)p
-Fl(-L)30 b Fm(generated-language-name)5 b Fq(')150 408
-y(`)p Fl(--language=)p Fm(generated-language-name)g Fq(')630
-518 y(Instructs)33 b Fl(gperf)f Fq(to)i(generate)h(co)s(de)f(in)f(the)h
+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 Fl(KR-C)p Fq(')238 b(Old-st)m(yle)27 b(K&R)f(C.)g(This)f
+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
-Fl(const)p Fq('.)630 1187 y(`)p Fl(C)p Fq(')382 b(Common)23
+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 Fl(#define)f(const)f
-Fq(to)1110 1406 y(empt)m(y)k(for)f(compilers)h(whic)m(h)f(don't)g(kno)m
+(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
-Fl(ANSI-C)p Fq(')142 b(ANSI)39 b(C.)h(This)e(language)j(is)f(understo)s
+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 Fl(++)29 b Fq(compilers.)630 1855 y(`)p Fl(C++)p
-Fq(')286 b(C)p Fl(++)p Fq(.)40 b(This)29 b(language)j(is)f(understo)s
-(o)s(d)d(b)m(y)i(C)p Fl(++)g Fq(compilers.)630 2025 y(The)g(default)g
-(is)h(C.)150 2195 y(`)p Fl(-a)p Fq(')334 b(This)33 b(option)h(is)f
+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 Fl(gperf)p Fq(.)49 b(It)630 2305 y(do)s(es)30 b(not)h(do)f(an)m
-(ything.)150 2475 y(`)p Fl(-g)p Fq(')334 b(This)33 b(option)h(is)f
+(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 Fl(gperf)p Fq(.)49 b(It)630 2584 y(do)s(es)30 b(not)h(do)f(an)m
-(ything.)150 2868 y Fp(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 Fq(Most)29
-b(of)g(these)g(options)g(are)g(also)h(a)m(v)-5 b(ailable)31
-b(as)e(declarations)h(in)e(the)h(input)f(\014le)h(\(see)g
-Fo(h)p Fq(unde\014ned)p Fo(i)150 3181 y Fq([Gp)s(erf)h(Declarations],)j
-(page)e Fo(h)p Fq(unde\014ned)p Fo(i)p Fq(\).)150 3356
-y(`)p Fl(-K)f Fm(slot-name)5 b Fq(')150 3466 y(`)p Fl(--slot-name=)p
-Fm(slot-name)g Fq(')630 3575 y(This)21 b(option)h(is)g(only)f(useful)g
-(when)g(option)h(`)p Fl(-t)p Fq(')f(\(or,)j(equiv)-5
-b(alen)m(tly)d(,)26 b(the)c(`)p Fl(\045struct-type)p
-Fq(')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)h(for)f(the)g(k)m(eyw)m
-(ord)g(is)h(`)p Fl(name)p Fq('.)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
-Fl(struct)p Fq(.)150 4184 y(`)p Fl(-F)h Fm(initializers)t
-Fq(')150 4293 y(`)p Fl(--initializer-suffix=)p Fm(initializers)t
-Fq(')630 4403 y(This)21 b(option)h(is)g(only)f(useful)g(when)g(option)h
-(`)p Fl(-t)p Fq(')f(\(or,)j(equiv)-5 b(alen)m(tly)d(,)26
-b(the)c(`)p Fl(\045struct-type)p Fq(')630 4512 y(declaration\))34
+(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)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)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)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 Fm(slot-name)30 b Fq(in)23 b(empt)m(y)h(hash)f(table)h
+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
-Fm(slot-name)p Fq(.)150 5011 y(`)p Fl(-H)e Fm(hash-function-name)5
-b Fq(')150 5121 y(`)p Fl(--hash-function-name=)p Fm(hash-fu)o
-(nction-name)g Fq(')630 5230 y(Allo)m(ws)31 b(y)m(ou)f(to)g(sp)s(ecify)
+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)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 Fl(hash)p Fq('.)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
-TeXDict begin 21 22 bop 150 -116 a Fq(Chapter)30 b(4:)41
-b(In)m(v)m(oking)31 b Fl(gperf)2433 b Fq(21)150 299 y(`)p
-Fl(-N)30 b Fm(lo)s(okup-function-name)5 b Fq(')150 408
-y(`)p Fl(--lookup-function-name=)p Fm(lo)s(okup-fu)o(nction-name)g
-Fq(')630 518 y(Allo)m(ws)43 b(y)m(ou)f(to)h(sp)s(ecify)e(the)i(name)f
+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 Fl(in_word_set)p Fq('.)37 b(This)27
+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 Fl(-Z)f Fm(class-name)5 b Fq(')150 1048 y(`)p
-Fl(--class-name=)p Fm(class-name)g Fq(')630 1157 y(This)66
-b(option)i(is)f(only)h(useful)e(when)h(option)g(`)p Fl(-L)30
-b(C++)p Fq(')67 b(\(or,)77 b(equiv)-5 b(alen)m(tly)d(,)79
-b(the)630 1267 y(`)p Fl(\045language=C++)p Fq(')43 b(declaration\))k
+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
-Fl(++)f Fq(class.)41 b(Default)32 b(name)e(is)h Fl(Perfect_Hash)p
-Fq(.)150 1577 y(`)p Fl(-7)p Fq(')150 1687 y(`)p Fl(--seven-bit)p
-Fq(')630 1797 y(This)36 b(option)i(sp)s(eci\014es)f(that)g(all)h
+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
-Fl(isalnum)f Fq(and)i Fl(isgraph)e Fq(do)i Fj(not)41
-b Fq(guaran)m(tee)33 b(that)g(a)f(b)m(yte)h(is)f(in)f(this)h(range.)630
+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
-Fl(c)k(>=)f('A')f(&&)h(c)g(<=)g('Z')p Fq(')25 b(guaran)m(tees)j
+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 Fl(gperf)e Fq(earlier)j(than)e(2.7;)k(no)m(w)d(the)g
+(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 Fl(-l)p
-Fq(')150 2765 y(`)p Fl(--compare-lengths)p Fq(')630 2874
+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)g(b)s(efore)f(trying)h(a)h
(string)e(comparison.)70 b(This)39 b(option)h(is)630
-2984 y(mandatory)29 b(for)f(binary)g(comparisons)h(\(see)h
-Fo(h)p Fq(unde\014ned)p Fo(i)d Fq([Binary)j(Strings],)f(page)g
-Fo(h)p Fq(un-)630 3093 y(de\014ned)p Fo(i)p Fq(\).)53
-b(It)35 b(also)g(migh)m(t)g(cut)g(do)m(wn)f(on)h(the)g(n)m(um)m(b)s(er)
-e(of)i(string)f(comparisons)h(made)630 3203 y(during)22
-b(the)i(lo)s(okup,)h(since)f(k)m(eyw)m(ords)g(with)g(di\013eren)m(t)g
-(lengths)g(are)g(nev)m(er)g(compared)f(via)630 3313 y
-Fl(strcmp)p Fq(.)39 b(Ho)m(w)m(ev)m(er,)31 b(using)d(`)p
-Fl(-l)p Fq(')h(migh)m(t)h(greatly)g(increase)g(the)f(size)g(of)g(the)g
-(generated)h(C)630 3422 y(co)s(de)25 b(if)f(the)h(lo)s(okup)f(table)h
-(range)g(is)f(large)i(\(whic)m(h)e(implies)h(that)g(the)f(switc)m(h)h
-(option)g(`)p Fl(-S)p Fq(')630 3532 y(or)31 b(`)p Fl(\045switch)p
-Fq(')e(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)630 3641 y(as)g(there)f(are)h(en)m
-(tries)g(in)f(the)h(lo)s(okup)f(table.)150 3842 y(`)p
-Fl(-c)p Fq(')150 3952 y(`)p Fl(--compare-strncmp)p Fq(')630
-4061 y(Generates)22 b(C)f(co)s(de)g(that)h(uses)e(the)i
-Fl(strncmp)d Fq(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 Fl(strcmp)p
-Fq(.)150 4372 y(`)p Fl(-C)p Fq(')150 4482 y(`)p Fl(--readonly-tables)p
-Fq(')630 4591 y(Mak)m(es)41 b(the)f(con)m(ten)m(ts)h(of)f(all)h
+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)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)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 Fl(-E)p
-Fq(')150 5121 y(`)p Fl(--enum)p Fq(')142 b(De\014ne)31
+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)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
-Fl(<jjc@ai.mit.edu>)p Fq(.)p eop end
+Fn(<jjc@ai.mit.edu>)p Fs(.)p eop end
%%Page: 22 24
-TeXDict begin 22 23 bop 150 -116 a Fq(Chapter)30 b(4:)41
-b(In)m(v)m(oking)31 b Fl(gperf)2433 b Fq(22)150 299 y(`)p
-Fl(-I)p Fq(')150 408 y(`)p Fl(--includes)p Fq(')630 518
+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
-Fl(<string.h>)p Fq(,)e(at)i(the)g(b)s(eginning)g(of)g(the)630
+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
-897 y(`)p Fl(-G)p Fq(')150 1007 y(`)p Fl(--global-table)p
-Fq(')630 1117 y(Generate)38 b(the)f(static)h(table)f(of)g(k)m(eyw)m
+897 y(`)p Fn(-G)p Fs(')150 1007 y(`)p Fn(--global-table)p
+Fs(')630 1117 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 1226 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 1386 y(`)p Fl(-P)p Fq(')150 1496 y(`)p Fl(--pic)p
-Fq(')190 b(Optimize)42 b(the)f(generated)h(table)g(for)f(inclusion)g
+150 1386 y(`)p Fn(-P)p Fs(')150 1496 y(`)p Fn(--pic)p
+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
1606 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 1715 y(co)s(de.)j(If)21
-b(the)h(option)h(`)p Fl(-t)p Fq(')e(\(or,)k(equiv)-5
-b(alen)m(tly)d(,)25 b(the)d(`)p Fl(\045struct-type)p
-Fq(')d(declaration\))24 b(is)e(also)630 1825 y(giv)m(en,)32
+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 1825 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 Fl(int)p Fq(',)f(not)h(`)p
-Fl(char)630 1934 y(*)p Fq(',)h(b)s(ecause)f(it)i(will)e(con)m(tain)i
+(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 1934 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 2044 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 Fl(stringpool)630 2153 y(+)e Fm(o)5
-b Fq(',)34 b(where)f Fm(o)38 b Fq(is)33 b(the)g(o\013set.)50
+(expression)f(`)p Fn(stringpool)630 2153 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 2263 y(option)e(`)p Fl(--string-pool-name)p
-Fq('.)150 2423 y(`)p Fl(-Q)f Fm(string-p)s(o)s(ol-name)5
-b Fq(')150 2533 y(`)p Fl(--string-pool-name=)p Fm(string-p)s(o)s
-(ol-name)g Fq(')630 2642 y(Allo)m(ws)32 b(y)m(ou)g(to)g(sp)s(ecify)f
+(through)g(the)630 2263 y(option)e(`)p Fn(--string-pool-name)p
+Fs('.)150 2423 y(`)p Fn(-Q)f Fo(string-p)s(o)s(ol-name)5
+b Fs(')150 2533 y(`)p Fn(--string-pool-name=)p Fo(string-p)s(o)s
+(ol-name)g Fs(')630 2642 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 2752 y(`)p Fl(-P)p Fq('.)38 b(The)21
-b(default)g(name)h(is)f(`)p Fl(stringpool)p Fq('.)36
+m(y)f(option)630 2752 y(`)p Fn(-P)p Fs('.)38 b(The)21
+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
2862 y(tables)i(in)e(the)h(same)g(\014le,)i(with)d(`)p
-Fl(-P)p Fq(')h(and)f(ev)m(en)h(when)f(the)h(option)g(`)p
-Fl(-G)p Fq(')g(\(or,)i(equiv)-5 b(alen)m(tly)d(,)630
-2971 y(the)31 b(`)p Fl(\045global-table)p Fq(')c(declaration\))32
-b(is)f(giv)m(en.)150 3131 y(`)p Fl(--null-strings)p Fq(')630
+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
+2971 y(the)31 b(`)p Fn(\045global-table)p Fs(')c(declaration\))32
+b(is)f(giv)m(en.)150 3131 y(`)p Fn(--null-strings)p Fs(')630
3241 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
3351 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 3460 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
-Fl(-P)p Fq('\),)i(at)e(the)g(exp)s(ense)f(of)h(one)630
+Fn(-P)p Fs('\),)i(at)e(the)g(exp)s(ense)f(of)h(one)630
3570 y(more)31 b(test-and-branc)m(h)f(instruction)h(at)g(run)e(time.)
-150 3730 y(`)p Fl(-W)h Fm(hash-table-arra)m(y-name)5
-b Fq(')150 3839 y(`)p Fl(--word-array-name=)p Fm(hash-table-arra)m
-(y-name)g Fq(')630 3949 y(Allo)m(ws)41 b(y)m(ou)f(to)h(sp)s(ecify)f
+150 3730 y(`)p Fn(-W)h Fo(hash-table-arra)m(y-name)5
+b Fs(')150 3839 y(`)p Fn(--word-array-name=)p Fo(hash-table-arra)m
+(y-name)g Fs(')630 3949 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 4059 y(table.)106 b(Default)53 b(name)e(is)h(`)p
-Fl(wordlist)p Fq('.)103 b(This)51 b(option)h(p)s(ermits)f(the)h(use)g
+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 4168 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 Fl(-G)p
-Fq(')g(\(or,)i(equiv)-5 b(alen)m(tly)d(,)42 b(the)630
-4278 y(`)p Fl(\045global-table)p Fq(')27 b(declaration\))33
-b(is)d(giv)m(en.)150 4413 y(`)p Fl(--length-table-name=)p
-Fm(length-table-arra)m(y-name)5 b Fq(')630 4522 y(Allo)m(ws)36
+(\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
+4278 y(`)p Fn(\045global-table)p Fs(')27 b(declaration\))33
+b(is)d(giv)m(en.)150 4413 y(`)p Fn(--length-table-name=)p
+Fo(length-table-arra)m(y-name)5 b Fs(')630 4522 y(Allo)m(ws)36
b(y)m(ou)e(to)i(sp)s(ecify)e(the)h(name)f(for)g(the)h(generated)h(arra)
m(y)f(con)m(taining)h(the)f(length)630 4632 y(table.)77
-b(Default)43 b(name)g(is)f(`)p Fl(lengthtable)p Fq('.)74
+b(Default)43 b(name)g(is)f(`)p Fn(lengthtable)p Fs('.)74
b(This)41 b(option)i(p)s(ermits)e(the)h(use)g(of)h(t)m(w)m(o)630
4741 y(length)33 b(tables)h(in)f(the)g(same)g(\014le,)h(ev)m(en)g(when)
-e(the)h(option)h(`)p Fl(-G)p Fq(')f(\(or,)h(equiv)-5
-b(alen)m(tly)d(,)36 b(the)630 4851 y(`)p Fl(\045global-table)p
-Fq(')27 b(declaration\))33 b(is)d(giv)m(en.)150 5011
-y(`)p Fl(-S)g Fm(total-switc)m(h-statemen)m(ts)t Fq(')150
-5121 y(`)p Fl(--switch=)p Fm(total-switc)m(h-statemen)m(ts)t
-Fq(')630 5230 y(Causes)35 b(the)h(generated)h(C)e(co)s(de)h(to)h(use)e
-(a)h Fl(switch)e Fq(statemen)m(t)k(sc)m(heme,)g(rather)d(than)630
+e(the)h(option)h(`)p Fn(-G)p Fs(')f(\(or,)h(equiv)-5
+b(alen)m(tly)d(,)36 b(the)630 4851 y(`)p Fn(\045global-table)p
+Fs(')27 b(declaration\))33 b(is)d(giv)m(en.)150 5011
+y(`)p Fn(-S)g Fo(total-switc)m(h-statemen)m(ts)t Fs(')150
+5121 y(`)p Fn(--switch=)p Fo(total-switc)m(h-statemen)m(ts)t
+Fs(')630 5230 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
5340 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)p
eop end
%%Page: 23 25
-TeXDict begin 23 24 bop 150 -116 a Fq(Chapter)30 b(4:)41
-b(In)m(v)m(oking)31 b Fl(gperf)2433 b Fq(23)630 299 y(requiremen)m(ts)
+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)630 299 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 408 y(ho)m(w)33 b(man)m(y)f
-Fl(switch)f Fq(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 Fl(switch)630
-518 y Fq(con)m(taining)25 b(all)e(the)h(elemen)m(ts,)i(a)d(v)-5
+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
+518 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 628 y(in)38 b(eac)m(h)h Fl(switch)p
-Fq(,)g(etc.)65 b(This)37 b(is)h(useful)g(since)g(man)m(y)h(C)e
+(elemen)m(ts)630 628 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 737 y(generate)29
-b(co)s(de)f(for)f(large)h Fl(switch)e Fq(statemen)m(ts.)41
+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
847 y(Keith)k(Bostic's)h(original)f(C)f(program.)150
-1000 y(`)p Fl(-T)p Fq(')150 1110 y(`)p Fl(--omit-struct-type)p
-Fq(')630 1219 y(Prev)m(en)m(ts)f(the)e(transfer)h(of)f(the)h(t)m(yp)s
+1000 y(`)p Fn(-T)p Fs(')150 1110 y(`)p Fn(--omit-struct-type)p
+Fs(')630 1219 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 1329 y(if)j(the)h(t)m(yp)s(e)f(is)h(already)g
-(de\014ned)e(elsewhere.)150 1483 y(`)p Fl(-p)p Fq(')334
+(de\014ned)e(elsewhere.)150 1483 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 Fl(gperf)p Fq(.)49 b(It)630
+d(previous)g(releases)i(of)f Fn(gperf)p Fs(.)49 b(It)630
1592 y(do)s(es)30 b(not)h(do)f(an)m(ything.)150 1841
-y Fp(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 Fi(gperf)150 2052 y Fq(`)p
-Fl(-k)30 b Fm(selected-b)m(yte-p)s(ositions)t Fq(')150
-2162 y(`)p Fl(--key-positions=)p Fm(selected-b)m(yte-p)s(ositions)t
-Fq(')630 2271 y(Allo)m(ws)e(selection)h(of)e(the)g(b)m(yte)h(p)s
+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 2052 y Fs(`)p
+Fn(-k)30 b Fo(selected-b)m(yte-p)s(ositions)t Fs(')150
+2162 y(`)p Fn(--key-positions=)p Fo(selected-b)m(yte-p)s(ositions)t
+Fs(')630 2271 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 2381 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 2491 y(commas,)27 b(e.g.,)i(`)p
-Fl(-k)h(9,4,13,14)p Fq(';)25 b(ranges)h(ma)m(y)g(b)s(e)f(used,)h(e.g.,)
-i(`)p Fl(-k)i(2-7)p Fq(';)d(and)e(p)s(ositions)630 2600
+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 2600
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 2710 y(function)37 b(to)h(consider)g Fc(all)g
-Fq(b)m(yte)g(p)s(ositions)f(in)g(eac)m(h)i(k)m(eyw)m(ord,)h(whereas)d
+(hash)630 2710 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 2819 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 2929 y(use)e(a)h(b)m(yte)g(p)s(osition)f
(greater)i(than)e(255,)i(inciden)m(tally\).)630 3060
-y(F)-8 b(or)37 b(instance,)h(the)e(option)h(`)p Fl(-k)30
-b(1,2,4,6-10,'$')p Fq(')i(generates)38 b(a)e(hash)g(function)f(that)630
+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
3170 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 3280 y(ma)m(y)j(b)s(e)f(at)i(a)f(di\013eren)m(t)g(p)s
@@ -4683,70 +4978,70 @@ b(,)30 b(since)f(selected)i(b)m(yte)630 3499 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 3608 y(function.)630
3740 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 Fl(gperf)p Fq(;)f(the)h(default)g(b)m(yte)630
+(ersion)g(2.8)i(of)e Fn(gperf)p Fs(;)f(the)h(default)g(b)m(yte)630
3849 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
3959 y(minimizes)31 b(the)f(n)m(um)m(b)s(er)f(of)i(b)m(yte)g(p)s
-(ositions.)150 4113 y(`)p Fl(-D)p Fq(')150 4222 y(`)p
-Fl(--duplicates)p Fq(')630 4332 y(Handle)h(k)m(eyw)m(ords)h(whose)f
+(ositions.)150 4113 y(`)p Fn(-D)p Fs(')150 4222 y(`)p
+Fn(--duplicates)p Fs(')630 4332 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 4441 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 4551 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 4660 y(the)36
-b(-D)g(option)g Fl(gperf)e Fq(treats)j(all)f(these)h(k)m(eyw)m(ords)e
+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
4770 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 4880
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
4989 y(the)28 b(generated)g(C)f(co)s(de.)40 b(Ho)m(w)m(ev)m(er,)30
-b Fl(gperf)c Fq(helps)h(y)m(ou)g(out)h(b)m(y)f(organizing)i(the)e
+b Fn(gperf)c Fs(helps)h(y)m(ou)g(out)h(b)m(y)f(organizing)i(the)e
(output.)630 5121 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
5230 y(p)s(erfect.)48 b(On)31 b(the)i(other)g(hand,)g(it)g(p)s(ermits)f
-Fl(gperf)f Fq(to)i(w)m(ork)g(on)g(k)m(eyw)m(ord)g(sets)g(that)g(it)630
+Fn(gperf)f Fs(to)i(w)m(ork)g(on)g(k)m(eyw)m(ord)g(sets)g(that)g(it)630
5340 y(otherwise)e(could)f(not)h(handle.)p eop end
%%Page: 24 26
-TeXDict begin 24 25 bop 150 -116 a Fq(Chapter)30 b(4:)41
-b(In)m(v)m(oking)31 b Fl(gperf)2433 b Fq(24)150 299 y(`)p
-Fl(-m)30 b Fm(iterations)t Fq(')150 408 y(`)p Fl
-(--multiple-iterations=)p Fm(iterations)t Fq(')630 518
+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(-m)30 b Fo(iterations)t Fs(')150 408 y(`)p Fn
+(--multiple-iterations=)p Fo(iterations)t Fs(')630 518
y(P)m(erform)24 b(m)m(ultiple)h(c)m(hoices)h(of)e(the)h(`)p
-Fl(-i)p Fq(')f(and)g(`)p Fl(-j)p Fq(')g(v)-5 b(alues,)26
+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 628
y(This)34 b(increases)i(the)f(running)e(time)i(b)m(y)g(a)g(factor)h(of)
-f Fm(iterations)40 b Fq(but)34 b(do)s(es)g(a)i(go)s(o)s(d)e(job)630
+f Fo(iterations)40 b Fs(but)34 b(do)s(es)g(a)i(go)s(o)s(d)e(job)630
737 y(minimizing)d(the)f(generated)i(table)f(size.)150
-907 y(`)p Fl(-i)f Fm(initial-v)-5 b(alue)5 b Fq(')150
-1016 y(`)p Fl(--initial-asso=)p Fm(initial-v)-5 b(alue)5
-b Fq(')630 1126 y(Pro)m(vides)29 b(an)f(initial)h Fm(v)-5
-b(alue)34 b Fq(for)28 b(the)g(asso)s(ciate)i(v)-5 b(alues)29
+907 y(`)p Fn(-i)f Fo(initial-v)-5 b(alue)5 b Fs(')150
+1016 y(`)p Fn(--initial-asso=)p Fo(initial-v)-5 b(alue)5
+b Fs(')630 1126 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
1235 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
1345 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 1455 y(`)p Fl(-S)p Fq(')i(\(or,)i(equiv)-5
-b(alen)m(tly)d(,)31 b(`)p Fl(\045switch)p Fq('\))c(is)i(used.)39
-b(Also,)30 b(`)p Fl(-i)p Fq(')e(is)g(o)m(v)m(erridden)h(when)e(the)i(`)
-p Fl(-r)p Fq(')630 1564 y(option)i(is)f(used.)150 1733
-y(`)p Fl(-j)g Fm(jump-v)-5 b(alue)5 b Fq(')150 1843 y(`)p
-Fl(--jump=)p Fm(jump-v)-5 b(alue)5 b Fq(')630 1953 y(A\013ects)41
+(when)630 1455 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 1564 y(option)i(is)f(used.)150 1733
+y(`)p Fn(-j)g Fo(jump-v)-5 b(alue)5 b Fs(')150 1843 y(`)p
+Fn(--jump=)p Fo(jump-v)-5 b(alue)5 b Fs(')630 1953 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
-2062 y(up)s(on)29 b(collisions.)43 b Fm(Jump-v)-5 b(alue)35
-b Fq(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 2172 y(If)g(the)g Fm(jump-v)-5
-b(alue)35 b Fq(is)c(0)f Fl(gperf)f Fq(jumps)g(b)m(y)h(random)g(amoun)m
-(ts.)150 2341 y(`)p Fl(-n)p Fq(')150 2451 y(`)p Fl(--no-strlen)p
-Fq(')630 2560 y(Instructs)c(the)i(generator)g(not)f(to)h(include)f(the)
+2062 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 2172 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 2341 y(`)p Fn(-n)p Fs(')150 2451 y(`)p Fn(--no-strlen)p
+Fs(')630 2560 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
2670 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
-2780 y(lo)s(okup)30 b(table.)150 2949 y(`)p Fl(-r)p Fq(')150
-3059 y(`)p Fl(--random)p Fq(')630 3168 y(Utilizes)40
+2780 y(lo)s(okup)30 b(table.)150 2949 y(`)p Fn(-r)p Fs(')150
+3059 y(`)p Fn(--random)p Fs(')630 3168 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
3278 y(generates)23 b(solutions)e(faster)h(than)f(using)g
@@ -4754,8 +5049,8 @@ b(alues)38 b(table.)66 b(This)38 b(frequen)m(tly)630
3387 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 3497 y(increases)j(the)g(size)g(of)f(the)h(table.)150
-3666 y(`)p Fl(-s)f Fm(size-m)m(ultiple)5 b Fq(')150 3776
-y(`)p Fl(--size-multiple=)p Fm(size-m)m(ultiple)g Fq(')630
+3666 y(`)p Fn(-s)f Fo(size-m)m(ultiple)5 b Fs(')150 3776
+y(`)p Fn(--size-multiple=)p Fo(size-m)m(ultiple)g Fs(')630
3885 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
3995 y(option)33 b(indicates)g(\\ho)m(w)g(man)m(y)g(times)g(larger)g
@@ -4775,10 +5070,10 @@ f(than)g(the)630 4653 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 4762 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
-Fl(-m)p Fq(')g(is)f(b)s(etter)h(at)g(this)630 4872 y(purp)s(ose.)630
+Fn(-m)p Fs(')g(is)f(b)s(etter)h(at)g(this)630 4872 y(purp)s(ose.)630
5011 y(If)44 b(`generate)h(switc)m(h')g(option)g(`)p
-Fl(-S)p Fq(')f(\(or,)k(equiv)-5 b(alen)m(tly)d(,)49 b(`)p
-Fl(\045switch)p Fq('\))43 b(is)h Fj(not)54 b Fq(enabled,)630
+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
5121 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 5230 y(larger)27 b(table)g(should)e(decrease)i(the)f(time)h
@@ -4786,8 +5081,8 @@ b(a)630 5230 y(larger)27 b(table)g(should)e(decrease)i(the)f(time)h
5340 y(exp)s(ense)j(of)g(extra)i(table)f(space.)p eop
end
%%Page: 25 27
-TeXDict begin 25 26 bop 150 -116 a Fq(Chapter)30 b(4:)41
-b(In)m(v)m(oking)31 b Fl(gperf)2433 b Fq(25)630 299 y(The)35
+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)630 299 y(The)35
b(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
408 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
@@ -4795,233 +5090,359 @@ m(um)g(asso)s(ciated)i(v)-5 b(alue)36 b(ab)s(out)f(the)630
518 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 628 y(somewhat,)31 b(since)g(this)f(tec)m(hnique)h(is)g
-(essen)m(tially)h(a)f(heuristic.)150 885 y Fp(4.6)68
-b(Informativ)l(e)47 b(Output)150 1103 y Fq(`)p Fl(-h)p
-Fq(')150 1212 y(`)p Fl(--help)p Fq(')142 b(Prin)m(ts)24
+(essen)m(tially)h(a)f(heuristic.)150 885 y Fr(4.6)68
+b(Informativ)l(e)47 b(Output)150 1103 y Fs(`)p Fn(-h)p
+Fs(')150 1212 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 1322 y(program)30
-b(execution.)150 1481 y(`)p Fl(-v)p Fq(')150 1591 y(`)p
-Fl(--version)p Fq(')630 1700 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 1860 y(`)p Fl(-d)p Fq(')150
-1969 y(`)p Fl(--debug)p Fq(')94 b(Enables)28 b(the)h(debugging)f
+b(execution.)150 1481 y(`)p Fn(-v)p Fs(')150 1591 y(`)p
+Fn(--version)p Fs(')630 1700 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 1860 y(`)p Fn(-d)p Fs(')150
+1969 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 2079 y(error")i(when)g Fl(gperf)f Fq(is)h(executing.)
+g(\\standard)630 2079 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 2188 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
2298 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
-2408 y(program)30 b(when)g(the)g(`)p Fl(-d)p Fq(')g(option)h(is)g
+2408 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
-TeXDict begin 26 27 bop 150 -116 a Fq(Chapter)30 b(5:)41
-b(Kno)m(wn)30 b(Bugs)g(and)g(Limitations)h(with)f Fl(gperf)1397
-b Fq(26)150 299 y Fn(5)80 b(Kno)l(wn)53 b(Bugs)f(and)i(Limitations)f
-(with)f Fk(gperf)275 533 y Fq(The)29 b(follo)m(wing)j(are)f(some)g
+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
-Fl(gperf)p Fq(:)225 667 y Fo(\017)60 b Fq(The)31 b Fl(gperf)g
-Fq(utilit)m(y)i(is)f(tuned)f(to)h(execute)h(quic)m(kly)-8
+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 Fl(gperf)31 b Fq(to)j(w)m(ork)e(e\016cien)m(tly)j(on)d(m)m(uc)m
+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 Fo(\017)60 b Fq(The)43 b(size)i(of)f(the)g
+(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
-Fj(extr)-5 b(emely)53 b Fq(large)45 b(if)f(the)g(input)330
+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 Fj(gr)-5 b(e)g(atly)44 b Fq(in\015ates)35
+(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
-Fl(-S)p Fq(')g(option)g(to)h(reduce)e(data)i(size,)i(p)s(oten)m(tially)
+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 Fm(-S)46 b Fq(option)40 b(with)g(an)g(appropriate)g(n)
+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 Fo(\017)60 b Fq(The)35 b(maxim)m(um)g(n)m(um)m(b)s(er)f(of)i
+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
-TeXDict begin 27 28 bop 150 -116 a Fq(Chapter)30 b(6:)41
+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 Fn(6)80 b(Things)53 b(Still)g(Left)g(to)g(Do)275 533
-y Fq(It)24 b(should)f(b)s(e)h(\\relativ)m(ely")k(easy)d(to)g(replace)g
+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 Fo(\017)60 b Fq(Another)34 b(useful)f(extension)h(in)m(v)m(olv)m
+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 Fl(-S)p Fq(')f
-Fl(switch)f Fq(option)i(can)330 1325 y(minimize)g(the)g(data)g(size,)j
+(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 Fl(switch)f Fq(statemen)m(ts,)k
+(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 Fo(\017)60 b Fq(In)38 b(addition)h(to)h(impro)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)g(addition)h(to)g(the)g(curren)m(t)f(C)g(and)g(C)p
-Fl(++)f Fq(routines.)p eop end
+Fn(++)f Fs(routines.)p eop end
%%Page: 28 30
-TeXDict begin 28 29 bop 150 -116 a Fq(Chapter)30 b(7:)41
-b(Bibliograph)m(y)2536 b(28)150 299 y Fn(7)80 b(Bibliograph)l(y)275
-533 y Fq([1])22 b(Chang,)h(C.C.:)36 b Fj(A)24 b(Scheme)h(for)g
+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 Fq(Information)30
+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 Fj(A)n(uthor's)k(R)-5
+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 Fq(Comm)m(unications)31 b(of)g(the)f(A)m(CM,)h(23,)h
+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 Fj(Minimal)i(Perfe)-5 b(ct)33 b(Hash)i(F)-7
-b(unctions)34 b(Made)g(Simple)39 b Fq(Comm)m(unications)150
+(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
-Fj(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 Fq(SIGPLAN)30
+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 Fj(Pr)-5 b(actic)g(al)26
-b(Perfe)-5 b(ct)25 b(Hashing)150 1619 y Fq(Computer)30
+(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 Fj(R)-5 b(e)g(cipr)g(o)g(c)g(al)
+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 Fq(Comm)m(unications)31 b(of)f(the)h(A)m
+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
-Fj(On)h(Cichel)5 b(li's)25 b(Minimal)f(Perfe)-5 b(ct)24
+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
-Fq(Comm)m(unications)31 b(of)f(the)h(A)m(CM,)g(23,)h(12\(Decem)m(b)s
+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
-Fj(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 Fq(Comm)m(unications)31
+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)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 Fj(GPERF:)i(A)g(Perfe)-5
+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 Fq(Second)30 b(USENIX)150 2595 y(C)p Fl(++)f Fq(Conference)i(Pro)s
+b Fs(Second)30 b(USENIX)150 2595 y(C)p Fn(++)f Fs(Conference)i(Pro)s
(ceedings,)g(April)f(1990.)275 2730 y([10])42 b(Sc)m(hmidt,)i(Douglas)e
-(C.)f Fj(GPERF:)i(A)e(Perfe)-5 b(ct)43 b(Hash)g(F)-7
-b(unction)43 b(Gener)-5 b(ator)53 b Fq(C)p Fl(++)40 b
-Fq(Rep)s(ort,)150 2839 y(SIGS)29 b(10)j(10)f(\(No)m(v)m(em)m(b)s
+(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,)26 b(M.A.)e Fj(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 Fq(SIGPLAN)30 b(Notices,)j(20,)e
+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,)h(R.)e Fj(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 Fq(Comm)m(unications)31 b(of)g(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,)h(Ric)m(hard)e(M.)h Fj(Using)h(and)i(Porting)f(GNU)g(CC)39
-b Fq(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 Fj(The)h(C)p
-Fl(++)g Fj(Pr)-5 b(o)g(gr)g(amming)36 b(L)-5 b(anguage.)40
-b Fq(Addison-W)-8 b(esley)g(,)33 b(1986.)275 3731 y([15])e(Tiemann,)f
-(Mic)m(hael)j(D.)e Fj(User's)h(Guide)h(to)g(GNU)f(C)p
-Fl(++)e Fq(F)-8 b(ree)31 b(Soft)m(w)m(are)h(F)-8 b(oundation,)31
+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(,)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
-TeXDict begin 29 30 bop 150 -116 a Fq(Concept)31 b(Index)2927
-b(29)150 299 y Fn(Concept)52 b(Index)275 658 y Fb(\(Index)24
-b(is)i(nonexisten)n(t\))p eop end
+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
+773 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 868 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
+b Fd(15)150 964 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
+b Fd(15)150 1060 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(14)150 1155 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 1251 y(`)p Fc(\045compare-strncmp)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
+1346 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(14)150 1442 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 1538 y(`)p Fc(\045define)28 b(initializer-suffix)p
+Fd(')c Fb(.)13 b(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)
+46 b Fd(13)150 1633 y(`)p Fc(\045define)28 b(length-table-name)p
+Fd(')e Fb(.)12 b(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)
+h(.)47 b Fd(15)150 1729 y(`)p Fc(\045define)28 b(lookup-function-name)p
+Fd(')18 b Fb(.)e(.)d(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)43
+b Fd(13)150 1824 y(`)p Fc(\045define)28 b(slot-name)p
+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
+1920 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(15)150 2016 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 2111 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(13)150 2207 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 2302 y(`)p Fc(\045global-table)p
+Fd(')14 b Fb(.)i(.)d(.)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(.)40
+b Fd(14)150 2398 y(`)p Fc(\045ignore-case)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(13)150 2494 y(`)p Fc(\045includes)p Fd(')23 b Fb(.)12
+b(.)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(.)46
+b Fd(14)150 2589 y(`)p Fc(\045language)p Fd(')23 b Fb(.)12
+b(.)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(.)46
+b Fd(13)150 2685 y(`)p Fc(\045null-strings)p Fd(')14
+b Fb(.)i(.)d(.)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(.)40 b
+Fd(15)150 2780 y(`)p Fc(\045omit-struct-type)p Fd(')9
+b Fb(.)16 b(.)d(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g
+(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)34 b Fd(15)150 2876
+y(`)p Fc(\045pic)p Fd(')9 b Fb(.)14 b(.)f(.)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(.)g(.)h(.)f(.)g(.)35 b
+Fd(14)150 2972 y(`)p Fc(\045readonly-tables)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
+3067 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(13)150 3163 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 3430 y Fr(A)150 3561 y Fd(Arra)n(y)25
+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 3841 y Fr(B)150 3971 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 4252 y Fr(C)150
+4382 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(.)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
+947 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 1204 y Fr(F)2025
+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
+1417 y(F)-6 b(unctions)25 b(section)18 b Fb(.)13 b(.)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(.)44 b Fd(11)2025 1661 y Fr(H)2025 1783
+y Fc(hash)13 b Fb(.)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(.)38 b Fd(17)2025 1874
+y(hash)25 b(table)9 b Fb(.)k(.)f(.)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(.)g(.)h(.)34 b Fd(17)2025 2118 y Fr(I)2025
+2240 y Fc(in_word_set)23 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(.)h(.)f(.)g(.)g
+(.)h(.)f(.)g(.)h(.)46 b Fd(18)2025 2331 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 2576 y Fr(J)2025 2697 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 2954 y Fr(K)2025 3076 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 3333 y Fr(M)2025 3455 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 3712 y Fr(N)2025 3833 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 4078 y Fr(S)2025
+4199 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 4291 y(Static)26
+b(searc)n(h)g(structure)20 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(.)46
+b Fd(10)2025 4382 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 end
%%Page: -1 32
-TeXDict begin -1 31 bop 3725 -116 a Fq(i)150 299 y Fn(T)-13
-b(able)53 b(of)h(Con)l(ten)l(ts)150 641 y Fp(GNU)45 b(GENERAL)g(PUBLIC)
+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 Fp(1)449 778 y Fq(Pream)m(ble)16 b Fj(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g
+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 Fq(1)449 888
+(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)45 b Fs(1)449 888
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 Fj(.)15 b(.)g(.)g(.)g(.)g(.)g(.)g
+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 Fq(2)449 1107
+g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)54 b Fs(2)449 1107
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 Fj(.)g(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g
-(.)g(.)g(.)g(.)46 b Fq(6)150 1349 y Fp(Con)l(tributors)g(to)f(GNU)g
-Fi(gperf)e Fp(Utilit)l(y)16 b Fa(.)21 b(.)e(.)h(.)f(.)h(.)f(.)h(.)f(.)h
-(.)f(.)g(.)h(.)60 b Fp(8)150 1619 y(1)135 b(In)l(tro)t(duction)15
+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
+(.)f(.)g(.)h(.)60 b Fr(8)150 1619 y(1)135 b(In)l(tro)t(duction)15
b Fa(.)20 b(.)f(.)h(.)f(.)g(.)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(.)60
-b Fp(9)150 1889 y(2)135 b(Static)45 b(searc)l(h)h(structures)f(and)f
-(GNU)h Fi(gperf)15 b Fa(.)i(.)j(.)f(.)60 b Fp(10)150
+b Fr(9)150 1889 y(2)135 b(Static)45 b(searc)l(h)h(structures)f(and)f
+(GNU)h Fk(gperf)15 b Fa(.)i(.)j(.)f(.)60 b Fr(10)150
2159 y(3)135 b(High-Lev)l(el)46 b(Description)g(of)f(GNU)g
-Fi(gperf)21 b Fa(.)c(.)i(.)h(.)f(.)h(.)65 b Fp(11)449
-2296 y Fq(3.1)92 b(Input)29 b(F)-8 b(ormat)32 b(to)f
-Fl(gperf)23 b Fj(.)15 b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
+Fk(gperf)21 b Fa(.)c(.)i(.)h(.)f(.)h(.)65 b Fr(11)449
+2296 y Fs(3.1)92 b(Input)29 b(F)-8 b(ormat)32 b(to)f
+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 Fq(11)748 2405 y(3.1.1)93 b(Declarations)9
-b Fj(.)17 b(.)e(.)g(.)g(.)h(.)f(.)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(.)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 Fq(11)1047 2515 y(3.1.1.1)93 b(User-supplied)30
-b Fl(struct)10 b Fj(.)j(.)i(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
-(.)g(.)g(.)g(.)g(.)39 b Fq(12)1047 2624 y(3.1.1.2)93
-b(Gp)s(erf)30 b(Declarations)18 b Fj(.)f(.)e(.)g(.)g(.)g(.)g(.)g(.)g(.)
-g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)47 b Fq(12)1047
-2734 y(3.1.1.3)93 b(C)30 b(Co)s(de)g(Inclusion)f Fj(.)15
+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(.)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)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 Fq(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 Fj(.)f(.)f(.)g(.)g(.)g(.)g(.)g(.)g
-(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)46 b Fq(16)748
+(.)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(.)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 Fj(.)d(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
-(.)g(.)49 b Fq(17)748 3063 y(3.1.4)93 b(Where)30 b(to)h(place)h
-(directiv)m(es)f(for)g(GNU)g Fl(indent)p Fq(.)17 b Fj(.)c(.)i(.)g(.)g
-(.)g(.)46 b Fq(17)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)g Fl(gperf)23
-b Fj(.)14 b(.)h(.)g(.)g(.)g(.)g(.)g(.)52 b Fq(17)449
-3282 y(3.3)92 b(Use)31 b(of)f(NUL)h(b)m(ytes)22 b Fj(.)16
+b(unctions)19 b Fl(.)d(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
+(.)g(.)49 b Fs(17)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(17)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)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
(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)
-f(.)g(.)51 b Fq(18)150 3524 y Fp(4)135 b(In)l(v)l(oking)45
-b Fi(gperf)16 b Fa(.)i(.)h(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)h(.)f(.)g(.)h
+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 Fp(19)449 3661 y Fq(4.1)92 b(Sp)s(ecifying)30 b(the)g(Lo)s(cation)i
-(of)e(the)h(Output)e(File)19 b Fj(.)e(.)e(.)g(.)g(.)g(.)g(.)g(.)g(.)g
-(.)g(.)g(.)g(.)g(.)g(.)49 b Fq(19)449 3771 y(4.2)92 b(Options)30
+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
-Fj(.)15 b(.)g(.)g(.)g(.)g(.)g(.)57 b Fq(19)449 3880 y(4.3)92
+Fl(.)15 b(.)g(.)g(.)g(.)g(.)g(.)57 b Fs(19)449 3880 y(4.3)92
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 Fj(.)g(.)h(.)g(.)g(.)43 b Fq(19)449 3990
+(Co)s(de)14 b Fl(.)g(.)h(.)g(.)g(.)43 b Fs(19)449 3990
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 Fj(.)15 b(.)g(.)g(.)g(.)g(.)g(.)53
-b Fq(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 Fl(gperf)21 b
-Fj(.)14 b(.)50 b Fq(23)449 4209 y(4.6)92 b(Informativ)m(e)31
-b(Output)c Fj(.)15 b(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
+(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)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 Fq(25)150 4452 y Fp(5)135 b(Kno)l(wn)45
-b(Bugs)f(and)h(Limitations)i(with)e Fi(gperf)32 b Fa(.)19
-b(.)g(.)79 b Fp(26)150 4721 y(6)135 b(Things)44 b(Still)i(Left)g(to)f
+(.)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
+b(.)g(.)79 b Fr(26)150 4721 y(6)135 b(Things)44 b(Still)i(Left)g(to)f
(Do)23 b Fa(.)d(.)f(.)g(.)h(.)f(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)h
-(.)f(.)g(.)h(.)f(.)68 b Fp(27)150 4991 y(7)135 b(Bibliograph)l(y)38
+(.)f(.)g(.)h(.)f(.)68 b Fr(27)150 4991 y(7)135 b(Bibliograph)l(y)38
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 Fp(28)150 5261 y(Concept)45 b(Index)21 b Fa(.)e(.)g(.)h(.)f(.)h(.)f
+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 Fp(29)p eop end
+f(.)g(.)h(.)f(.)h(.)f(.)h(.)65 b Fr(29)p eop end
%%Trailer
userdict /end-hook known{end-hook}if
diff --git a/doc/gperf_1.html b/doc/gperf_1.html
index b0b4d8b..058e788 100644
--- a/doc/gperf_1.html
+++ b/doc/gperf_1.html
@@ -1,7 +1,7 @@
<HTML>
<HEAD>
-<!-- This HTML file has been created by texi2html 1.52
- from gperf.texi on 22 January 2006 -->
+<!-- This HTML file has been created by texi2html 1.51
+ from gperf.texi on 31 March 2007 -->
<TITLE>Perfect Hash Function Generator - GNU GENERAL PUBLIC LICENSE</TITLE>
</HEAD>
diff --git a/doc/gperf_10.html b/doc/gperf_10.html
index c90f33f..c019fd2 100644
--- a/doc/gperf_10.html
+++ b/doc/gperf_10.html
@@ -1,7 +1,7 @@
<HTML>
<HEAD>
-<!-- This HTML file has been created by texi2html 1.52
- from gperf.texi on 22 January 2006 -->
+<!-- This HTML file has been created by texi2html 1.51
+ from gperf.texi on 31 March 2007 -->
<TITLE>Perfect Hash Function Generator - Concept Index</TITLE>
</HEAD>
@@ -13,34 +13,7 @@ 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>
-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>
+<H2>%</H2>
<DIR>
<LI><A HREF="gperf_5.html#IDX8"><SAMP>`%%'</SAMP></A>
<LI><A HREF="gperf_5.html#IDX18"><SAMP>`%7bit'</SAMP></A>
@@ -69,56 +42,56 @@ Jump to:
<LI><A HREF="gperf_5.html#IDX32"><SAMP>`%{'</SAMP></A>
<LI><A HREF="gperf_5.html#IDX33"><SAMP>`%}'</SAMP></A>
</DIR>
-<H2><A NAME="cindex_a">a</A></H2>
+<H2>a</H2>
<DIR>
<LI><A HREF="gperf_6.html#IDX43">Array name</A>, <A HREF="gperf_6.html#IDX44">Array name</A>
</DIR>
-<H2><A NAME="cindex_b">b</A></H2>
+<H2>b</H2>
<DIR>
<LI><A HREF="gperf_2.html#IDX1">Bugs</A>
</DIR>
-<H2><A NAME="cindex_c">c</A></H2>
+<H2>c</H2>
<DIR>
<LI><A HREF="gperf_6.html#IDX42">Class name</A>
</DIR>
-<H2><A NAME="cindex_d">d</A></H2>
+<H2>d</H2>
<DIR>
<LI><A HREF="gperf_5.html#IDX5">Declaration section</A>
<LI><A HREF="gperf_6.html#IDX39">Delimiters</A>
<LI><A HREF="gperf_6.html#IDX46">Duplicates</A>
</DIR>
-<H2><A NAME="cindex_f">f</A></H2>
+<H2>f</H2>
<DIR>
<LI><A HREF="gperf_5.html#IDX4">Format</A>
<LI><A HREF="gperf_5.html#IDX7">Functions section</A>
</DIR>
-<H2><A NAME="cindex_h">h</A></H2>
+<H2>h</H2>
<DIR>
<LI><A HREF="gperf_5.html#IDX35">hash</A>
<LI><A HREF="gperf_5.html#IDX34">hash table</A>
</DIR>
-<H2><A NAME="cindex_i">i</A></H2>
+<H2>i</H2>
<DIR>
<LI><A HREF="gperf_5.html#IDX36">in_word_set</A>
<LI><A HREF="gperf_6.html#IDX41">Initializers</A>
</DIR>
-<H2><A NAME="cindex_j">j</A></H2>
+<H2>j</H2>
<DIR>
<LI><A HREF="gperf_6.html#IDX47">Jump value</A>
</DIR>
-<H2><A NAME="cindex_k">k</A></H2>
+<H2>k</H2>
<DIR>
<LI><A HREF="gperf_5.html#IDX6">Keywords section</A>
</DIR>
-<H2><A NAME="cindex_m">m</A></H2>
+<H2>m</H2>
<DIR>
<LI><A HREF="gperf_4.html#IDX3">Minimal perfect hash functions</A>
</DIR>
-<H2><A NAME="cindex_n">n</A></H2>
+<H2>n</H2>
<DIR>
<LI><A HREF="gperf_5.html#IDX38">NUL</A>
</DIR>
-<H2><A NAME="cindex_s">s</A></H2>
+<H2>s</H2>
<DIR>
<LI><A HREF="gperf_6.html#IDX40">Slot name</A>
<LI><A HREF="gperf_4.html#IDX2">Static search structure</A>
diff --git a/doc/gperf_2.html b/doc/gperf_2.html
index 784abdb..9868475 100644
--- a/doc/gperf_2.html
+++ b/doc/gperf_2.html
@@ -1,7 +1,7 @@
<HTML>
<HEAD>
-<!-- This HTML file has been created by texi2html 1.52
- from gperf.texi on 22 January 2006 -->
+<!-- This HTML file has been created by texi2html 1.51
+ from gperf.texi on 31 March 2007 -->
<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 b5b8e25..b50e0dc 100644
--- a/doc/gperf_3.html
+++ b/doc/gperf_3.html
@@ -1,7 +1,7 @@
<HTML>
<HEAD>
-<!-- This HTML file has been created by texi2html 1.52
- from gperf.texi on 22 January 2006 -->
+<!-- This HTML file has been created by texi2html 1.51
+ from gperf.texi on 31 March 2007 -->
<TITLE>Perfect Hash Function Generator - 1 Introduction</TITLE>
</HEAD>
diff --git a/doc/gperf_4.html b/doc/gperf_4.html
index a6d3288..bec2f42 100644
--- a/doc/gperf_4.html
+++ b/doc/gperf_4.html
@@ -1,7 +1,7 @@
<HTML>
<HEAD>
-<!-- This HTML file has been created by texi2html 1.52
- from gperf.texi on 22 January 2006 -->
+<!-- This HTML file has been created by texi2html 1.51
+ from gperf.texi on 31 March 2007 -->
<TITLE>Perfect Hash Function Generator - 2 Static search structures and GNU gperf</TITLE>
</HEAD>
@@ -16,7 +16,7 @@ Go to the <A HREF="gperf_1.html">first</A>, <A HREF="gperf_3.html">previous</A>,
</P>
<P>
-A <EM>static search structure</EM> is an Abstract Data Type with certain
+A <STRONG>static search structure</STRONG> 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,7 +26,7 @@ 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 <EM>keywords</EM>, are inserted into
+commands. Search set members, called <STRONG>keywords</STRONG>, are inserted into
the structure only once, usually during program initialization, and are
not generally modified at run-time.
diff --git a/doc/gperf_5.html b/doc/gperf_5.html
index 9d08f68..7cfe024 100644
--- a/doc/gperf_5.html
+++ b/doc/gperf_5.html
@@ -1,7 +1,7 @@
<HTML>
<HEAD>
-<!-- This HTML file has been created by texi2html 1.52
- from gperf.texi on 22 January 2006 -->
+<!-- This HTML file has been created by texi2html 1.51
+ from gperf.texi on 31 March 2007 -->
<TITLE>Perfect Hash Function Generator - 3 High-Level Description of GNU gperf</TITLE>
</HEAD>
@@ -16,7 +16,7 @@ Go to the <A HREF="gperf_1.html">first</A>, <A HREF="gperf_4.html">previous</A>,
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 <EM>static keyword set</EM> with at most a
+recognizes a member of the <STRONG>static keyword set</STRONG> 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
@@ -573,7 +573,7 @@ functions
</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
+output. Two C functions are generated. They are called <CODE>hash</CODE> and
<CODE>in_word_set</CODE>, although you may modify their names with a command-line
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
@@ -586,7 +586,7 @@ function prototypes are as follows:
<DD><A NAME="IDX35"></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 <EM>associated values</EM> table stored in a
+positions indexed into an <STRONG>associated values</STRONG> 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
diff --git a/doc/gperf_6.html b/doc/gperf_6.html
index 3ab3f6f..b4cc410 100644
--- a/doc/gperf_6.html
+++ b/doc/gperf_6.html
@@ -1,7 +1,7 @@
<HTML>
<HEAD>
-<!-- This HTML file has been created by texi2html 1.52
- from gperf.texi on 22 January 2006 -->
+<!-- This HTML file has been created by texi2html 1.51
+ from gperf.texi on 31 March 2007 -->
<TITLE>Perfect Hash Function Generator - 4 Invoking gperf</TITLE>
</HEAD>
diff --git a/doc/gperf_7.html b/doc/gperf_7.html
index 42c06dc..38f4de8 100644
--- a/doc/gperf_7.html
+++ b/doc/gperf_7.html
@@ -1,7 +1,7 @@
<HTML>
<HEAD>
-<!-- This HTML file has been created by texi2html 1.52
- from gperf.texi on 22 January 2006 -->
+<!-- This HTML file has been created by texi2html 1.51
+ from gperf.texi on 31 March 2007 -->
<TITLE>Perfect Hash Function Generator - 5 Known Bugs and Limitations with gperf</TITLE>
</HEAD>
diff --git a/doc/gperf_8.html b/doc/gperf_8.html
index 7001536..7c12f75 100644
--- a/doc/gperf_8.html
+++ b/doc/gperf_8.html
@@ -1,7 +1,7 @@
<HTML>
<HEAD>
-<!-- This HTML file has been created by texi2html 1.52
- from gperf.texi on 22 January 2006 -->
+<!-- This HTML file has been created by texi2html 1.51
+ from gperf.texi on 31 March 2007 -->
<TITLE>Perfect Hash Function Generator - 6 Things Still Left to Do</TITLE>
</HEAD>
diff --git a/doc/gperf_9.html b/doc/gperf_9.html
index 4d33d08..d031bc1 100644
--- a/doc/gperf_9.html
+++ b/doc/gperf_9.html
@@ -1,7 +1,7 @@
<HTML>
<HEAD>
-<!-- This HTML file has been created by texi2html 1.52
- from gperf.texi on 22 January 2006 -->
+<!-- This HTML file has been created by texi2html 1.51
+ from gperf.texi on 31 March 2007 -->
<TITLE>Perfect Hash Function Generator - 7 Bibliography</TITLE>
</HEAD>
diff --git a/doc/gperf_toc.html b/doc/gperf_toc.html
index 495b5df..635917d 100644
--- a/doc/gperf_toc.html
+++ b/doc/gperf_toc.html
@@ -1,14 +1,14 @@
<HTML>
<HEAD>
-<!-- This HTML file has been created by texi2html 1.52
- from gperf.texi on 22 January 2006 -->
+<!-- This HTML file has been created by texi2html 1.51
+ from gperf.texi on 31 March 2007 -->
<TITLE>Perfect Hash Function Generator - Table of Contents</TITLE>
</HEAD>
<BODY>
-<H1>User's Guide to <CODE>gperf</CODE> 3.0.2</H1>
+<H1>User's Guide to <CODE>gperf</CODE> 3.0.3</H1>
<H2>The GNU Perfect Hash Function Generator</H2>
-<H2>Edition 3.0.2, 22 January 2006</H2>
+<H2>Edition 3.0.3, 31 March 2007</H2>
<ADDRESS>Douglas C. Schmidt</ADDRESS>
<ADDRESS>Bruno Haible</ADDRESS>
<P>
@@ -54,8 +54,8 @@
<LI><A NAME="TOC28" HREF="gperf_10.html#SEC28">Concept Index</A>
</UL>
<P><HR><P>
-This document was generated on 22 January 2006 using the
-<A HREF="http://wwwinfo.cern.ch/dis/texi2html/">texi2html</A>
-translator version 1.52.</P>
+This document was generated on 31 March 2007 using the
+<A HREF="http://wwwcn.cern.ch/dci/texi2html/">texi2html</A>
+translator version 1.51.</P>
</BODY>
</HTML>