\def\texinfoversion{1.18}
\message{Loading texinfo package [Version \texinfoversion]:}
\message{}
\let\ptexlbrace=\{
\let\ptexrbrace=\}
\let\ptexdot=\.
\let\ptexstar=\*
\let\ptexend=\end
\let\ptexbullet=\bullet
\let\ptexb=\b
\let\ptexc=\c
\let\ptexi=\i
\let\ptext=\t
\let\ptexl=\l
\let\ptexL=\L
\def\tie{\penalty 10000\ }
\message{Basics,}
\chardef\other=12
\hyphenation{ap-pen-dix}
\hyphenation{mini-buf-fer mini-buf-fers}
\hyphenation{eshell}
\newdimen \bindingoffset \bindingoffset=0pt
\newdimen \normaloffset \normaloffset=\hoffset
\newdimen\pagewidth \newdimen\pageheight
\pagewidth=\hsize \pageheight=\vsize
\newdimen\cornerlong \newdimen\cornerthick
\newdimen \topandbottommargin
\newdimen \outerhsize \newdimen \outervsize
\cornerlong=1pc\cornerthick=.3pt \outerhsize=7in
\outervsize=9.5in
\topandbottommargin=.75in
\chardef\PAGE=255 \output={\onepageout{\pagecontents\PAGE}}
\def\onepageout#1{\hoffset=\normaloffset
\ifodd\pageno \advance\hoffset by \bindingoffset
\else \advance\hoffset by -\bindingoffset\fi
\shipout\vbox{{\let\hsize=\pagewidth \makeheadline} \pagebody{#1} {\let\hsize=\pagewidth \makefootline}}
\advancepageno \ifnum\outputpenalty>-20000 \else\dosupereject\fi}
\def\croppageout#1{\hoffset=0pt \shipout
\vbox to \outervsize{\hsize=\outerhsize
\vbox{\line{\ewtop\hfill\ewtop}}
\nointerlineskip
\line{\vbox{\moveleft\cornerthick\nstop}
\hfill
\vbox{\moveright\cornerthick\nstop}}
\vskip \topandbottommargin
\centerline{\ifodd\pageno\hskip\bindingoffset\fi
\vbox{
{\let\hsize=\pagewidth \makeheadline}
\pagebody{#1}
{\let\hsize=\pagewidth \makefootline}}
\ifodd\pageno\else\hskip\bindingoffset\fi}
\vskip \topandbottommargin plus1fill minus1fill
\boxmaxdepth\cornerthick
\line{\vbox{\moveleft\cornerthick\nsbot}
\hfill
\vbox{\moveright\cornerthick\nsbot}}
\nointerlineskip
\vbox{\line{\ewbot\hfill\ewbot}}
}
\advancepageno
\ifnum\outputpenalty>-20000 \else\dosupereject\fi}
\def\cropmarks{\let\onepageout=\croppageout }
\def\pagebody#1{\vbox to\pageheight{\boxmaxdepth=\maxdepth #1}}
{\catcode`\@ =11
\gdef\pagecontents#1{\ifvoid\topins\else\unvbox\topins\fi
\dimen@=\dp#1 \unvbox#1
\ifvoid\footins\else\vskip\skip\footins\footnoterule \unvbox\footins\fi
\ifr@ggedbottom \kern-\dimen@ \vfil \fi}
}
\def\ewtop{\vrule height\cornerthick depth0pt width\cornerlong}
\def\nstop{\vbox
{\hrule height\cornerthick depth\cornerlong width\cornerthick}}
\def\ewbot{\vrule height0pt depth\cornerthick width\cornerlong}
\def\nsbot{\vbox
{\hrule height\cornerlong depth\cornerthick width\cornerthick}}
\def\parsearg #1{\let\next=#1\begingroup\obeylines\futurelet\temp\parseargx}
\def\parseargx{\ifx \obeyedspace\temp \aftergroup\parseargdiscardspace \else\aftergroup \parseargline \fi \endgroup}
{\obeyspaces \gdef\parseargdiscardspace {\begingroup\obeylines\futurelet\temp\parseargx}}
\gdef\obeyedspace{\ }
\def\parseargline{\begingroup \obeylines \parsearglinex}
{\obeylines \gdef\parsearglinex #1^^M{\endgroup \next {#1}}}
\def\flushcr{\ifx\par\lisppar \def\next##1{}\else \let\next=\relax \fi \next}
\newif\ifENV \ENVfalse \def\inENV{\ifENV\relax\else\ENVtrue\fi}
\def\ENVcheck{\ifENV\errmessage{Still within an environment. Type Return to continue.}
\endgroup\fi}
\newhelp\EMsimple{Type <Return> to continue}
\outer\def\begin{\parsearg\beginxxx}
\def\beginxxx #1{\expandafter\ifx\csname #1\endcsname\relax
{\errhelp=\EMsimple \errmessage{Undefined command @begin #1}}\else
\csname #1\endcsname\fi}
\def\end{\parsearg\endxxx}
\def\endxxx #1{\expandafter\ifx\csname E#1\endcsname\relax
\expandafter\ifx\csname #1\endcsname\relax
\errmessage{Undefined command @end #1}\else
\errorE{#1}\fi\fi
\csname E#1\endcsname}
\def\errorE#1{
{\errhelp=\EMsimple \errmessage{@end #1 not within #1 environment}}}
\newskip\singlespaceskip \singlespaceskip = \baselineskip
\def\singlespace{{\advance \baselineskip by -\singlespaceskip
\kern \baselineskip}\baselineskip=\singlespaceskip
}
\def\@{{\sf \char '100}}
\def\`{{`}}
\def\'{{'}}
\def\mylbrace {{\tt \char '173}}
\def\myrbrace {{\tt \char '175}}
\let\{=\mylbrace
\let\}=\myrbrace
\def\:{\spacefactor=1000 }
\def\*{\hfil\break}
\def\.{.\spacefactor=3000 }
\def\w #1{\hbox{#1}}
\def\group{\begingroup\def \Egroup{\egroup\endgroup}
\vbox\bgroup}
\let\br = \par
\def\dots{$\ldots$}
\def\page{\par\vfill\supereject}
\def\exdent{\errmessage{@exdent in filled text}}
{\obeyspaces
\gdef\internalexdent{\parsearg\exdentzzz}}
\def\exdentzzz #1{{\advance \leftskip by -\lispnarrowing
\advance \hsize by -\leftskip
\advance \hsize by -\rightskip
\leftline{{\rm#1}}}}
\def\include{\parsearg\includezzz}
\def\includezzz #1{{\def\thisfile{#1}\input #1
}}
\def\thisfile{}
\def\center{\parsearg\centerzzz}
\def\centerzzz #1{{\advance\hsize by -\leftskip
\advance\hsize by -\rightskip
\centerline{#1}}}
\def\sp{\parsearg\spxxx}
\def\spxxx #1{\par \vskip #1\baselineskip}
\def\comment{\parsearg \commentxxx}
\def\commentxxx #1{}
\let\c=\comment
\long\def\ignore #1\end ignore{}
\outer\def\ifset{\parsearg\ifsetxxx}
\def\ifsetxxx #1#2\end ifset{\expandafter\ifx\csname IF#1\endcsname\relax \else #2\fi}
\outer\def\ifclear{\parsearg\ifclearxxx}
\def\ifclearxxx #1#2\end ifclear{\expandafter\ifx\csname IF#1\endcsname\relax #2\fi}
\def\iftex{}
\def\Eiftex{}
\long\def\ifinfo #1\end ifinfo{}
\long\def\menu #1\end menu{}
\def\asis#1{#1}
\def\node{\parsearg\nodezzz}
\def\nodezzz#1{\nodexxx [#1,]}
\def\nodexxx[#1,#2]{\gdef\lastnode{#1}}
\let\lastnode=\relax
\def\donoderef{\ifx\lastnode\relax\else
\expandafter\expandafter\expandafter\setref{\lastnode}\fi
\let\lastnode=\relax}
\def\unnumbnoderef{\ifx\lastnode\relax\else
\expandafter\expandafter\expandafter\unnumbsetref{\lastnode}\fi
\let\lastnode=\relax}
\let\refill=\relax
\let\setfilename=\comment
\def\inforef #1{\inforefzzz #1,,,,**}
\def\inforefzzz #1,#2,#3,#4**{See Info file \file{\losespace#3{}}, node `\losespace#1{}'}
\def\losespace #1{#1}
\message{fonts,}
\font\tenrm=cmr10 scaled \magstephalf
\font\tentt=cmtt10 scaled \magstephalf
\font\tenbf=cmb10 scaled \magstephalf
\font\tenit=cmti10 scaled \magstephalf
\font\tensl=cmsl10 scaled \magstephalf
\font\tensf=cmss10 scaled \magstephalf
\def\li{\sf}
\font\tensc=cmcsc10 scaled \magstephalf
\font\defbf=cmbx10 scaled \magstep1 \let\deftt=\tentt
\def\df{\let\tt=\deftt \defbf}
\font\titlerm = cmbx10 scaled \magstep5
\font\indit=cmti9 \font\indrm=cmr9
\def\indbf{\indrm} \def\indsl{\indit}
\def\indexfonts{\let\it=\indit \let\sl=\indsl \let\bf=\indbf \let\rm=\indrm}
\font\chaprm=cmbx10 scaled \magstep3
\font\chapit=cmti10 scaled \magstep3
\font\chapsl=cmsl10 scaled \magstep3
\font\chaptt=cmtt10 scaled \magstep3
\font\chapsf=cmss10 scaled \magstep3
\let\chapbf=\chaprm
\font\secrm=cmbx10 scaled \magstep2
\font\secit=cmti10 scaled \magstep2
\font\secsl=cmsl10 scaled \magstep2
\font\sectt=cmtt10 scaled \magstep2
\font\secsf=cmss10 scaled \magstep2
\let\secbf=\secrm
\font\ssecrm=cmbx10 scaled \magstep1
\font\ssecit=cmti10 scaled \magstep1
\font\ssecsl=cmsl10 scaled \magstep1
\font\ssectt=cmtt10 scaled \magstep1
\font\ssecsf=cmss10 scaled \magstep1
\let\ssecbf=\ssecrm
\def\textfonts{\let\rm=\tenrm\let\it=\tenit\let\sl=\tensl\let\bf=\tenbf\let\sc=\tensc\let\sf=\tensf}
\def\chapfonts{\let\rm=\chaprm\let\it=\chapit\let\sl=\chapsl\let\bf=\chapbf\let\tt=\chaptt\let\sf=\chapsf}
\def\secfonts{\let\rm=\secrm\let\it=\secit\let\sl=\secsl\let\bf=\secbf\let\tt=\sectt\let\sf=\secsf}
\def\subsecfonts{\let\rm=\ssecrm\let\it=\ssecit\let\sl=\ssecsl\let\bf=\ssecbf\let\tt=\ssectt\let\sf=\ssecsf}
\newcount\fontdepth \fontdepth=0
\def\i#1{{\sl #1}}
\let\var=\i
\let\dfn=\i
\let\emph=\i
\let\cite=\i
\def\b#1{{\bf #1}}
\let\strong=\b
\def\t#1{{\tt \rawbackslash \frenchspacing #1}\null}
\let\ttfont = \t
\let\kbd=\t
\let\code=\t
\def\samp #1{`{\tt \rawbackslash \frenchspacing #1}'\null}
\def\key #1{{\tt \uppercase{#1}}\null}
\def\ctrl #1{{\tt \rawbackslash \hat}#1}
\let\file=\samp
\def\l#1{{\li #1}\null}
\def\r#1{{\rm #1}}
\def\s#1{{\sc #1}}
\def\ii#1{{\it #1}}
\def\titlefont#1{{\titlerm #1}}
\def\titlepage{\begingroup \parindent=0pt \hbox{}\let\oldpage=\page
\def\page{\oldpage \hbox{}}}
\def\Etitlepage{\endgroup\page\HEADINGSon}
\catcode `\^^[=\active \def^^[{$\diamondsuit$}
\message{page headings,}
\let\thispage=\folio
\newtoks \evenheadline \newtoks \oddheadline \newtoks \evenfootline \newtoks \oddfootline
\headline={{\textfonts\rm \ifodd\pageno \the\oddheadline \else \the\evenheadline \fi}}
\footline={{\textfonts\rm \ifodd\pageno \the\oddfootline \else \the\evenfootline \fi}}
\def\evenheading{\parsearg\evenheadingxxx}
\def\oddheading{\parsearg\oddheadingxxx}
\def\everyheading{\parsearg\everyheadingxxx}
\def\evenfooting{\parsearg\evenfootingxxx}
\def\oddfooting{\parsearg\oddfootingxxx}
\def\everyfooting{\parsearg\everyfootingxxx}
{\catcode`\@=0
\gdef\evenheadingxxx #1{\evenheadingyyy #1@|@|@|@|\finish}
\gdef\evenheadingyyy #1@|#2@|#3@|#4\finish{\global\evenheadline={\rlap{\centerline{#2}}\line{#1\hfil#3}}}
\gdef\oddheadingxxx #1{\oddheadingyyy #1@|@|@|@|\finish}
\gdef\oddheadingyyy #1@|#2@|#3@|#4\finish{\global\oddheadline={\rlap{\centerline{#2}}\line{#1\hfil#3}}}
\gdef\everyheadingxxx #1{\everyheadingyyy #1@|@|@|@|\finish}
\gdef\everyheadingyyy #1@|#2@|#3@|#4\finish{\global\evenheadline={\rlap{\centerline{#2}}\line{#1\hfil#3}}
\global\oddheadline={\rlap{\centerline{#2}}\line{#1\hfil#3}}}
\gdef\evenfootingxxx #1{\evenfootingyyy #1@|@|@|@|\finish}
\gdef\evenfootingyyy #1@|#2@|#3@|#4\finish{\global\evenfootline={\rlap{\centerline{#2}}\line{#1\hfil#3}}}
\gdef\oddfootingxxx #1{\oddfootingyyy #1@|@|@|@|\finish}
\gdef\oddfootingyyy #1@|#2@|#3@|#4\finish{\global\oddfootline={\rlap{\centerline{#2}}\line{#1\hfil#3}}}
\gdef\everyfootingxxx #1{\everyfootingyyy #1@|@|@|@|\finish}
\gdef\everyfootingyyy #1@|#2@|#3@|#4\finish{\global\evenfootline={\rlap{\centerline{#2}}\line{#1\hfil#3}}
\global\oddfootline={\rlap{\centerline{#2}}\line{#1\hfil#3}}}
}
\def\headings #1 {\csname HEADINGS#1\endcsname}
\def\HEADINGSoff{
\global\evenheadline={\hfil} \global\evenfootline={\hfil}
\global\oddheadline={\hfil} \global\oddfootline={\hfil}}
\HEADINGSoff
\def\HEADINGSon{
\pagealignmacro
\global\pageno=1
\global\evenfootline={\hfil}
\global\oddfootline={\hfil}
\global\evenheadline={\line{\folio\hfil\thistitle}}
\global\oddheadline={\line{\thischapter\hfil\folio}}
}
\def\today{\number\day\space
\ifcase\month\or
January\or February\or March\or April\or May\or June\or
July\or August\or September\or October\or November\or December\fi
\space\number\year}
\def\thistitle{No Title}
\def\settitle{\parsearg\settitlezzz}
\def\settitlezzz #1{\gdef\thistitle{#1}}
\message{tables,}
\newdimen\tableindent \tableindent=.8in
\newdimen\itemindent \itemindent=.3in
\newdimen\itemmargin \itemmargin=.1in
\newdimen\itemmax
\def\internalBitem{\smallbreak \parsearg\itemzzz}
\def\internalBitemx{\par \parsearg\itemzzz}
\def\internalBxitem "#1"{\def\xitemsubtopix{#1} \smallbreak \parsearg\xitemzzz}
\def\internalBxitemx "#1"{\def\xitemsubtopix{#1} \par \parsearg\xitemzzz}
\def\internalBkitem{\smallbreak \parsearg\kitemzzz}
\def\internalBkitemx{\par \parsearg\kitemzzz}
\def\kitemzzz #1{\dosubind {kw}{\code{#1}}{for {\bf \lastfunction}}\itemzzz {#1}}
\def\xitemzzz #1{\dosubind {kw}{\code{#1}}{for {\bf \xitemsubtopic}}\itemzzz {#1}}
\def\itemzzz #1{\begingroup \advance \hsize by -\rightskip \advance \hsize by -\leftskip \setbox0=\hbox{\itemfont{#1}}\itemindex{#1}\parskip=0in \noindent \ifdim \wd0>\itemmax \vadjust{\penalty 10000}\hbox to \hsize{\hskip -\tableindent\box0\hss}\ \else \hbox to 0pt{\hskip -\tableindent\box0\hss}\fi \endgroup }
\def\item{\errmessage{@item while not in a table}}
\def\itemx{\errmessage{@itemx while not in a table}}
\def\kitem{\errmessage{@kitem while not in a table}}
\def\kitemx{\errmessage{@kitemx while not in a table}}
\def\xitem{\errmessage{@xitem while not in a table}}
\def\xitemx{\errmessage{@xitemx while not in a table}}
\def\description{\tablez{\dontindex}{1}{}{}{}{}}
\def\table{\begingroup\inENV\obeylines\obeyspaces\tablex}
{\obeylines\obeyspaces\gdef\tablex #1^^M{\tabley\dontindex#1 \endtabley}}
\def\ftable{\begingroup\inENV\obeylines\obeyspaces\ftablex}
{\obeylines\obeyspaces\gdef\ftablex #1^^M{\tabley\fnitemindex#1 \endtabley}}
\def\dontindex #1{}
\def\fnitemindex #1{\doind {fn}{\code{#1}}}
{\obeyspaces \gdef\tabley#1#2 #3 #4 #5 #6 #7\endtabley{\endgroup\tablez{#1}{#2}{#3}{#4}{#5}{#6}}}
\def\tablez #1#2#3#4#5#6{\aboveenvbreak \begingroup \def\Edescription{\Etable}\let\itemindex=#1\ifnum 0#3>0 \advance \leftskip by #3\mil \fi \ifnum 0#4>0 \tableindent=#4\mil \fi \ifnum 0#5>0 \advance \rightskip by #5\mil \fi \def\itemfont{#2}\itemmax=\tableindent \advance \itemmax by -\itemmargin \advance \leftskip by \tableindent \parindent = 0pt
\parskip = \smallskipamount
\ifdim \parskip=0pt \parskip=2pt \fi\def\Etable{\endgraf\endgroup\afterenvbreak}\let\item = \internalBitem \let\itemx = \internalBitemx \let\kitem = \internalBkitem \let\kitemx = \internalBkitemx \let\xitem = \internalBxitem \let\xitemx = \internalBxitemx }
\newcount \itemno
\def\itemize{\parsearg\itemizezzz}
\def\itemizezzz #1{\itemizey {#1}{\Eitemize}}
\def\itemizey #1#2{\aboveenvbreak \begingroup \itemno = 0 \itemmax=\itemindent \advance \itemmax by -\itemmargin \advance \leftskip by \itemindent \parindent = 0pt
\parskip = \smallskipamount
\ifdim \parskip=0pt \parskip=2pt \fi\def#2{\endgraf\endgroup\afterenvbreak}\def\itemcontents{#1}\let\item=\itemizeitem}
\def\bullet{$\ptexbullet$}
\def\minus{$-$}
\def\enumerate{\itemizey{\the\itemno.}\Eenumerate\flushcr}
\def\itemizeitem{\advance\itemno by 1
{\let\par=\endgraf \smallbreak}\ifhmode \errmessage{\in hmode at itemizeitem}\fi
{\parskip=0in \hskip 0pt
\hbox to 0pt{\hss \itemcontents\hskip \itemmargin}\vadjust{\penalty 300}}\flushcr}
\message{indexing,}
{\catcode`\@=11
\gdef\newwrite{\alloc@7\write\chardef\sixt@@n}}
\def\newindex #1{
\expandafter\newwrite \csname#1indfile\endcsname\openout \csname#1indfile\endcsname \jobname.#1 \expandafter\xdef\csname#1index\endcsname{\noexpand\doindex {#1}}
}
\def\defindex{\parsearg\newindex}
\def\newcodeindex #1{
\expandafter\newwrite \csname#1indfile\endcsname\openout \csname#1indfile\endcsname \jobname.#1 \expandafter\xdef\csname#1index\endcsname{\noexpand\docodeindex {#1}}
}
\def\defcodeindex{\parsearg\newcodeindex}
\def\synindex #1 #2 {\expandafter\xdef\csname#1index\endcsname{\noexpand\doindex {#2}}}
\def\syncodeindex #1 #2 {\expandafter\xdef\csname#1index\endcsname{\noexpand\docodeindex {#2}}}
\def\doindex#1{\edef\indexname{#1}\parsearg\singleindexer}
\def\singleindexer #1{\doind{\indexname}{#1}}
\def\docodeindex#1{\edef\indexname{#1}\parsearg\singlecodeindexer}
\def\singlecodeindexer #1{\doind{\indexname}{\code{#1}}}
\def\indexdummies{\def\bf{\realbackslash bf }\def\rm{\realbackslash rm }\def\sl{\realbackslash sl }\def\dots{\realbackslash dots }\def\copyright{\realbackslash copyright }}
\def\indexdummyfont#1{#1}
\def\indexnofonts{\let\code=\indexdummyfont
\let\samp=\indexdummyfont
\let\kbd=\indexdummyfont
\let\key=\indexdummyfont
\let\var=\indexdummyfont
}
{\catcode`\@=0 \catcode`\\=\other
@gdef@realbackslash{\}}
\let\indexbackslash=0
\def\doind #1#2{{\indexdummies \count10=\lastpenalty \escapechar=`\\{\let\folio=0\def\rawbackslashxx{\indexbackslash}{\indexnofonts
\xdef\temp1{#2}}\edef\temp{\write \csname#1indfile\endcsname{\realbackslash entry {\temp1}{\folio}{#2}}}\temp }\penalty\count10}}
\def\dosubind #1#2#3{{\indexdummies \count10=\lastpenalty \escapechar=`\\{\let\folio=0\def\rawbackslashxx{\indexbackslash}{\indexnofonts
\xdef\temp1{#2 #3}}\edef\temp{\write \csname#1indfile\endcsname{\realbackslash entry {\temp1}{\folio}{#2}{#3}}}\temp }\penalty\count10}}
\def\findex {\fnindex}
\def\kindex {\kyindex}
\def\cindex {\cpindex}
\def\vindex {\vrindex}
\def\tindex {\tpindex}
\def\pindex {\pgindex}
\def\cindexsub {\begingroup\obeylines\cindexsub}
{\obeylines \gdef\cindexsub "#1" #2^^M{\endgroup \dosubind{cp}{#2}{#1}}}
\def\printindex{\parsearg\doprintindex}
\def\doprintindex#1{\tex \catcode`\%=\other\catcode`\&=\other\catcode`\#=\other
\catcode`\$=\other\catcode`\_=\other
\catcode`\~=\other
\def\indexbackslash{\rawbackslashxx}
\indexfonts\rm \tolerance=9500 \advance\baselineskip -1pt
\begindoublecolumns
\openin 1 \jobname.#1s
\ifeof 1 \else \closein 1 \input \jobname.#1s
\fi
\enddoublecolumns
\Etex}
\newskip\initialskipamount \initialskipamount 12pt plus4pt
\outer\def\initial #1{{\let\tentt=\sectt \let\sf=\sectt
\ifdim\lastskip<\initialskipamount
\removelastskip \penalty-200 \vskip \initialskipamount\fi
\line{\secbf#1\hfill}\kern 2pt\penalty3000}}
\outer\def\entry #1#2{
{\parfillskip=0in \parskip=0in \parindent=0in
\hangindent=1in \hangafter=1\noindent\hbox{#1}\leaders\Dotsbox\hskip 0pt plus 1filll #2\par
}}
\def\primary #1{\line{#1\hfil}}
\newskip\secondaryindent \secondaryindent=0.5cm
\def\secondary #1#2{
{\parfillskip=0in \parskip=0in
\hangindent =1in \hangafter=1
\noindent\hskip\secondaryindent\hbox{#1}\leaders\Dotsbox\hskip 0pt plus 1filll#2\par
}}
\catcode `\@=11
\newbox\partialpage
\newdimen\doublecolumnhsize \doublecolumnhsize = 3.11in
\newdimen\doublecolumnvsize \doublecolumnvsize = 19.1in
\def\begindoublecolumns{\begingroup
\output={\global\setbox\partialpage=\vbox{\unvbox255\kern -\topskip \kern \baselineskip}}\eject
\output={\doublecolumnout} \hsize=\doublecolumnhsize \vsize=\doublecolumnvsize}
\def\enddoublecolumns{\output={\balancecolumns}\eject
\endgroup \pagegoal=\vsize}
\def\doublecolumnout{\splittopskip=\topskip \splitmaxdepth=\maxdepth
\dimen@=\pageheight \advance\dimen@ by-\ht\partialpage
\setbox0=\vsplit255 to\dimen@ \setbox2=\vsplit255 to\dimen@
\onepageout\pagesofar \unvbox255 \penalty\outputpenalty}
\def\pagesofar{\unvbox\partialpage \hsize=\doublecolumnhsize \wd0=\hsize \wd2=\hsize \hbox to\pagewidth{\box0\hfil\box2}}
\def\balancecolumns{\setbox0=\vbox{\unvbox255} \dimen@=\ht0
\advance\dimen@ by\topskip \advance\dimen@ by-\baselineskip
\divide\dimen@ by2 \splittopskip=\topskip
{\vbadness=10000 \loop \global\setbox3=\copy0
\global\setbox1=\vsplit3 to\dimen@
\ifdim\ht3>\dimen@ \global\advance\dimen@ by1pt \repeat}
\setbox0=\vbox to\dimen@{\unvbox1} \setbox2=\vbox to\dimen@{\unvbox3}
\pagesofar}
\catcode `\@=\other
\message{sectioning,}
\newcount \chapno
\newcount \secno
\newcount \subsecno
\newcount \subsubsecno
\newcount \appendixno \appendixno = `\@
\def\appendixletter{\char\the\appendixno}
\newwrite \contentsfile
\openout \contentsfile = \jobname.toc
\def\thischapter{} \def\thissection{}
\def\seccheck#1{\if \pageno<0 \errmessage{@#1 not allowed after generating table of contents}\fi
}
\outer\def\chapter{\parsearg\chapterzzz}
\def\chapterzzz #1{\seccheck{chapter}\secno=0 \subsecno=0 \subsubsecno=0 \global\advance \chapno by 1 \message{Chapter \the\chapno}\chapmacro {#1}{\the\chapno}\gdef\thissection{#1}\gdef\thischapter{#1}\let\rawbackslash=\relax\let\frenchspacing=\relax\edef\temp{{\realbackslash chapentry {#1}{\the\chapno}{\noexpand\folio}}}\escapechar=`\\\write \contentsfile \temp \donoderef }
\outer\def\appendix{\parsearg\appendixzzz}
\def\appendixzzz #1{\seccheck{appendix}\secno=0 \subsecno=0 \subsubsecno=0 \global\advance \appendixno by 1 \message{Appendix \appendixletter}\chapmacro {#1}{Appendix \appendixletter}\gdef\thischapter{#1}\gdef\thissection{#1}\let\rawbackslash=\relax\let\frenchspacing=\relax\edef\temp{{\realbackslash chapentry {#1}{Appendix \appendixletter}{\noexpand\folio}}}\escapechar=`\\\write \contentsfile \temp \unnumbnoderef }
\outer\def\unnumbered{\parsearg\unnumberedzzz}
\def\unnumberedzzz #1{\seccheck{unnumbered}\secno=0 \subsecno=0 \subsubsecno=0 \message{(#1)}
\unnumbchapmacro {#1}\gdef\thischapter{#1}\gdef\thissection{#1}\let\rawbackslash=\relax\let\frenchspacing=\relax\edef\temp{{\realbackslash unnumbchapentry {#1}{\noexpand\folio}}}\escapechar=`\\\write \contentsfile \temp \unnumbnoderef }
\outer\def\section{\parsearg\sectionzzz}
\def\sectionzzz #1{\seccheck{section}\subsecno=0 \subsubsecno=0 \global\advance \secno by 1 \gdef\thissection{#1}\secheading {#1}{\the\chapno}{\the\secno}\let\rawbackslash=\relax\let\frenchspacing=\relax\edef\temp{{\realbackslash secentry {#1}{\the\chapno}{\the\secno}{\noexpand\folio}}}\escapechar=`\\\write \contentsfile \temp \donoderef \penalty 10000 }
\outer\def\appendixsection{\parsearg\appendixsectionzzz}
\outer\def\appendixsec{\parsearg\appendixsectionzzz}
\def\appendixsectionzzz #1{\seccheck{appendixsection}\subsecno=0 \subsubsecno=0 \global\advance \secno by 1 \gdef\thissection{#1}\secheading {#1}{\appendixletter}{\the\secno}\let\rawbackslash=\relax\let\frenchspacing=\relax\edef\temp{{\realbackslash secentry {#1}{\appendixletter}{\the\secno}{\noexpand\folio}}}\escapechar=`\\\write \contentsfile \temp \unnumbnoderef \penalty 10000 }
\outer\def\unnumberedsec{\parsearg\unnumberedseczzz}
\def\unnumberedseczzz #1{\seccheck{unnumberedsec}\plainsecheading {#1}\gdef\thissection{#1}\let\rawbackslash=\relax\let\frenchspacing=\relax\edef\temp{{\realbackslash unnumbsecentry{#1}{\noexpand\folio}}}\escapechar=`\\\write \contentsfile \temp \unnumbnoderef \penalty 10000 }
\outer\def\subsection{\parsearg\subsectionzzz}
\def\subsectionzzz #1{\seccheck{subsection}\gdef\thissection{#1}\subsubsecno=0 \global\advance \subsecno by 1 \subsecheading {#1}{\the\chapno}{\the\secno}{\the\subsecno}\let\rawbackslash=\relax\let\frenchspacing=\relax\edef\temp{{\realbackslash subsecentry {#1}{\the\chapno}{\the\secno}{\the\subsecno}{\noexpand\folio}}}\escapechar=`\\\write \contentsfile \temp \donoderef \penalty 10000 }
\outer\def\appendixsubsec{\parsearg\appendixsubseczzz}
\def\appendixsubseczzz #1{\seccheck{appendixsubsec}\gdef\thissection{#1}\subsubsecno=0 \global\advance \subsecno by 1 \subsecheading {#1}{\appendixletter}{\the\secno}{\the\subsecno}\let\rawbackslash=\relax\let\frenchspacing=\relax\edef\temp{{\realbackslash subsecentry {#1}{\appendixletter}{\the\secno}{\the\subsecno}{\noexpand\folio}}}\escapechar=`\\\write \contentsfile \temp \unnumbnoderef \penalty 10000 }
\outer\def\unnumberedsubsec{\parsearg\unnumberedsubseczzz}
\def\unnumberedsubseczzz #1{\seccheck{unnumberedsubsec}\plainsecheading {#1}\gdef\thissection{#1}\let\rawbackslash=\relax\let\frenchspacing=\relax\edef\temp{{\realbackslash unnumbsubsecentry{#1}{\noexpand\folio}}}\escapechar=`\\\write \contentsfile \temp \unnumbnoderef \penalty 10000 }
\outer\def\subsubsection{\parsearg\subsubsectionzzz}
\def\subsubsectionzzz #1{\seccheck{subsubsection}\gdef\thissection{#1}\global\advance \subsubsecno by 1 \subsubsecheading {#1}{\the\chapno}{\the\secno}{\the\subsecno}{\the\subsubsecno}\let\rawbackslash=\relax\let\frenchspacing=\relax\edef\temp{{\realbackslash subsubsecentry {#1}{\the\chapno}{\the\secno}{\the\subsecno}{\the\subsubsecno}{\noexpand\folio}}}\escapechar=`\\\write \contentsfile \temp \donoderef \penalty 10000 }
\outer\def\appendixsubsubsec{\parsearg\appendixsubsubseczzz}
\def\appendixsubsubseczzz #1{\seccheck{appendixsubsubsec}\gdef\thissection{#1}\global\advance \subsubsecno by 1 \subsubsecheading {#1}{\appendixletter}{\the\secno}{\the\subsecno}{\the\subsubsecno}\let\rawbackslash=\relax\let\frenchspacing=\relax\edef\temp{{\realbackslash subsubsecentry{#1}{\appendixletter}{\the\secno}{\the\subsecno}{\the\subsubsecno}{\noexpand\folio}}}\escapechar=`\\\write \contentsfile \temp \unnumbnoderef \penalty 10000 }
\outer\def\unnumberedsubsubsec{\parsearg\unnumberedsubsubseczzz}
\def\unnumberedsubsubseczzz #1{\seccheck{unnumberedsubsubsec}\plainsecheading {#1}\gdef\thissection{#1}\let\rawbackslash=\relax\let\frenchspacing=\relax\edef\temp{{\realbackslash unnumbsubsubsecentry{#1}{\noexpand\folio}}}\escapechar=`\\\write \contentsfile \temp \unnumbnoderef \penalty 10000 }
\outer\def\majorheading #1{{\advance\chapheadingskip by 10pt \chapbreak }{\chapfonts \line{\chaprm #1\hfill}}\bigskip \par\penalty 200}
\outer\def\chapheading #1{\chapbreak {\chapfonts \line{\chaprm #1\hfill}}\bigskip \par\penalty 200}
\let\heading=\secheadingi
\let\subheading=\subsecheadingi
\let\subsubheading=\subsubsecheadingi
\def\dobreak#1#2{\par\ifdim\lastskip<#1\removelastskip\penalty#2\vskip#1\fi}
\def\setchapterstyle #1 {\csname CHAPF#1\endcsname}
\newskip \chapheadingskip \chapheadingskip = 30pt plus 8pt minus 4pt
\def\chapbreak{\dobreak \chapheadingskip {-4000}}
\def\chappager{\par\vfill\supereject}
\def\chapoddpage{\chappager \ifodd\pageno \else \hbox to 0pt{} \chappager\fi}
\def\setchapternewpage #1 {\csname CHAPPAG#1\endcsname}
\def\CHAPPAGoff{
\global\let\pchapsepmacro=\chapbreak
\global\let\pagealignmacro=\chappager}
\def\CHAPPAGon{
\global\let\pchapsepmacro=\chappager
\global\let\pagealignmacro=\chappager}
\def\CHAPPAGodd{
\global\let\pchapsepmacro=\chapoddpage
\global\let\pagealignmacro=\chapoddpage}
\CHAPPAGon
\def\CHAPFplain{
\global\let\chapmacro=\chfplain
\global\let\unnumbchapmacro=\unnchfplain}
\def\chfplain #1#2{\pchapsepmacro {\chapfonts \line{\chaprm #2.\enspace #1\hfill}}\bigskip \par\penalty 5000 }
\def\unnchfplain #1{\pchapsepmacro {\chapfonts \line{\chaprm #1\hfill}}\bigskip \par\penalty 10000 }
\CHAPFplain
\def\unnchfopen #1{\chapoddpage {\chapfonts \line{\chaprm #1\hfill}}\bigskip \par\penalty 10000 }
\def\chfopen #1#2{\chapoddpage {\chapfonts
\vbox to 3in{\vfil \hbox to\hsize{\hfil #2} \hbox to\hsize{\hfil #1} \vfil}}\par\penalty 5000 }
\def\CHAPFopen{
\global\let\chapmacro=\chfopen
\global\let\unnumbchapmacro=\unnchfopen}
\newskip \subsecheadingskip \subsecheadingskip = 17pt plus 8pt minus 4pt
\def\subsecheadingbreak{\dobreak \subsecheadingskip {-500}}
\newskip \secheadingskip \secheadingskip = 21pt plus 8pt minus 4pt
\def\secheadingbreak{\dobreak \secheadingskip {-1000}}
\def\secheading #1#2#3{\secheadingi {#2.#3\enspace #1}}
\def\plainsecheading #1{\secheadingi {#1}}
\def\secheadingi #1{{\advance \secheadingskip by \parskip \secheadingbreak}{\secfonts \line{\secrm #1\hfill}}\ifdim \parskip<10pt \kern 10pt\kern -\parskip\fi \penalty 10000 }
\def\subsecheading #1#2#3#4{{\advance \subsecheadingskip by \parskip \subsecheadingbreak}{\secfonts \line{\secrm#2.#3.#4\enspace #1\hfill}}\ifdim \parskip<10pt \kern 10pt\kern -\parskip\fi \penalty 10000 }
\def\subsubsecfonts{\subsecfonts}
\def\subsubsecheading #1#2#3#4#5{{\advance \subsecheadingskip by \parskip \subsecheadingbreak}{\secfonts \line{\secrm#2.#3.#4.#5\enspace #1\hfill}}\ifdim \parskip<10pt \kern 10pt\kern -\parskip\fi \penalty 10000}
\message{toc printing,}
\def\Dotsbox{\hbox to 1em{\hss.\hss}}
\def\finishcontents{\ifnum\pageno>0 \pagealignmacro \immediate\closeout \contentsfile\pageno=-1 \fi}
\outer\def\contents{\finishcontents \unnumbchapmacro{Table of Contents}
\def\thischapter{Table of Contents}
{\catcode`\\=0
\catcode`\{=1 \catcode`\}=2
\catcode`\@=11
\input \jobname.toc
}
\vfill \eject}
\outer\def\summarycontents{\finishcontents \unnumbchapmacro{Summary Table of Contents}
\def\thischapter{Summary Table of Contents}
{\catcode`\\=0
\catcode`\{=1 \catcode`\}=2
\catcode`\@=11
\def\smallbreak{}
\def\secentry ##1##2##3##4{}
\def\subsecentry ##1##2##3##4##5{}
\def\subsubsecentry ##1##2##3##4##5##6{}
\def\unnumbsecentry ##1##2{}
\def\unnumbsubsecentry ##1##2{}
\def\unnumbsubsubsecentry ##1##2{}
\let\medbreak=\smallbreak
\input \jobname.toc
}
\vfill \eject}
\outer\def\bye{\pagealignmacro\tracingstats=1\ptexend}
\def\chapentry #1#2#3{\medbreak
\line{#2.\space#1\leaders\hbox to 1em{\hss.\hss}\hfill #3}
}
\def\unnumbchapentry #1#2{\medbreak
\line{#1\leaders\Dotsbox\hfill #2}
}
\def\secentry #1#2#3#4{\line{\enspace\enspace#2.#3\space#1\leaders\Dotsbox\hfill#4}
}
\def\unnumbsecentry #1#2{\line{\enspace\enspace#1\leaders\Dotsbox\hfill #2}
}
\def\subsecentry #1#2#3#4#5{\line{\enspace\enspace\enspace\enspace
#2.#3.#4\space#1\leaders\Dotsbox\hfill #5}
}
\def\unnumbsubsecentry #1#2{\line{\enspace\enspace\enspace\enspace#1\leaders\Dotsbox\hfill #2}
}
\def\subsubsecentry #1#2#3#4#5#6{\line{\enspace\enspace\enspace\enspace\enspace\enspace
#2.#3.#4.#5\space#1\leaders\Dotsbox\hfill #6}
}
\def\unnumbsubsubsecentry #1#2{\line{\enspace\enspace\enspace\enspace\enspace\enspace#1\leaders\Dotsbox\hfill #2}
}
\message{environments,}
\def\tex{\begingroup
\catcode `\\=0 \catcode `\{=1 \catcode `\}=2
\catcode `\$=3 \catcode `\&=4 \catcode `\#=6
\catcode `\^=7 \catcode `\_=8 \catcode `\~=13 \let~=\tie
\catcode `\%=14
\catcode`\"=12
\catcode`\|=12
\catcode`\<=12
\catcode`\>=12
\escapechar=`\\
\let\{=\ptexlbrace
\let\}=\ptexrbrace
\let\.=\ptexdot
\let\*=\ptexstar
\def\@={@}\let\bullet=\ptexbullet
\let\b=\ptexb \let\c=\ptexc \let\i=\ptexi \let\t=\ptext \let\l=\ptexl
\let\L=\ptexL
\let\Etex=\endgroup}
\newskip\lispnarrowing \lispnarrowing=0.4in
{\obeyspaces\gdef\lisppar{\null\endgraf}}
{\obeyspaces \gdef\sepspaces{\def {\ }}}
\newskip\aboveenvskipamount \aboveenvskipamount= 0pt
\def\aboveenvbreak{{\advance\aboveenvskipamount by \parskip
\endgraf \ifdim\lastskip<\aboveenvskipamount
\removelastskip \penalty-50 \vskip\aboveenvskipamount \fi}}
\def\afterenvbreak{\endgraf \ifdim\lastskip<\aboveenvskipamount
\removelastskip \penalty-50 \vskip\aboveenvskipamount \fi}
\def\lisp{\aboveenvbreak\begingroup\inENV \hfuzz=12truept \sepspaces \singlespace \let\par=\lisppar
\def\Elisp{\endgroup\afterenvbreak}\parskip=0pt \advance \rightskip by \lispnarrowing
\advance \leftskip by \lispnarrowing
\parindent=0pt
\let\exdent=\internalexdent
\obeyspaces \obeylines \tt \rawbackslash
\def\next##1{}\next}
\let\example=\lisp
\def\Eexample{\Elisp}
\let\smallexample=\lisp
\def\Esmallexample{\Elisp}
\def\smalllispx{\aboveenvbreak\begingroup\inENV
\hfuzz=12truept \sepspaces \singlespace \let\par=\lisppar
\def\Esmalllisp{\endgroup\afterenvbreak}\parskip=0pt \advance \rightskip by \lispnarrowing
\advance \leftskip by \lispnarrowing
\parindent=0pt
\let\exdent=\internalexdent
\obeyspaces \obeylines \ninett \rawbackslash
\def\next##1{}\next}
\def\display{\begingroup\inENV \aboveenvbreak
\sepspaces \singlespace \let\par=\lisppar
\def\Edisplay{\endgroup\afterenvbreak}\parskip=0pt \advance \rightskip by \lispnarrowing
\advance \leftskip by \lispnarrowing
\parindent=0pt
\let\exdent=\internalexdent
\obeyspaces \obeylines
\def\next##1{}\next}
\def\format{\begingroup\inENV \aboveenvbreak
\sepspaces \singlespace \let\par=\lisppar
\def\Eformat{\endgroup\afterenvbreak}
\parskip=0pt \parindent=0pt
\obeyspaces \obeylines
\def\next##1{}\next}
\def\flushleft{\begingroup\inENV \aboveenvbreak
\sepspaces \let\par=\lisppar
\def\Eflushleft{\endgroup\afterenvbreak}\parskip=0pt \parindent=0pt
\obeyspaces \obeylines
\def\next##1{}\next}
\def\flushright{\begingroup\inENV \aboveenvbreak
\sepspaces \let\par=\lisppar
\def\Eflushright{\endgroup\afterenvbreak}\parskip=0pt \parindent=0pt
\advance \leftskip by 0pt plus 1fill
\obeyspaces \obeylines
\def\next##1{}\next}
\def\quotation{\begingroup\inENV {\parskip=0pt \aboveenvbreak}\singlespace
\parindent=0pt
\def\Equotation{\par\endgroup\afterenvbreak}\advance \rightskip by \lispnarrowing
\advance \leftskip by \lispnarrowing}
\message{defuns,}
\def\setdeffont #1 {\csname DEF#1\endcsname}
\newskip\defbodyindent \defbodyindent=36pt
\newskip\defargsindent \defargsindent=50pt
\newskip\deftypemargin \deftypemargin=12pt
\newskip\deflastargmargin \deflastargmargin=18pt
\newcount\parencount
\def\activeparens{\catcode`\(=\active \catcode`\)=\active \catcode`\&=\active
\catcode`\[=\active \catcode`\]=\active}
{\activeparens \gdef\functionparens{\boldbrax\let&=\amprm\parencount=0 }
\gdef\boldbrax{\let(=\opnr\let)=\clnr\let[=\lbrb\let]=\rbrb}
\gdef\oprm#1 {{\rm\char`\(}#1 \bf \let(=\opnested \global\advance\parencount by 1 }
\gdef\opnested{\char`\(\global\advance\parencount by 1 }
\gdef\clrm{\ifnum \parencount=1 {\rm \char `\)}\sl \let(=\oprm \else \char `\) \fi
\global\advance \parencount by -1 }
\gdef\amprm#1 {{\rm\}\let(=\oprm \let)=\clrm\ }
\gdef\normalparens{\boldbrax\let&=\ampnr}
} \def\opnr{{\sf\char`\(}} \def\clnr{{\sf\char`\)}} \def\ampnr{\&}
\def\lbrb{{\tt\char`\[}} \def\rbrb{{\tt\char`\]}}
\def\defname #1#2{\leftskip = 0in \noindent \setbox0=\hbox{\hskip \deflastargmargin{\rm #2}\hskip \deftypemargin}\dimen0=\hsize \advance \dimen0 by -\wd0 \dimen1=\hsize \advance \dimen1 by -\defargsindent \parshape 2 0in \dimen0 \defargsindent \dimen1 \rlap{\rightline{{\rm #2}\hskip \deftypemargin}}\tolerance=10000 \hbadness=10000 {\df #1}\enskip }
\def\defparsebody #1#2#3{\begingroup\inENV\medbreak \def#1{\endgraf\endgroup\medbreak}\def#2{\begingroup\obeylines\activeparens\spacesplit#3}\parindent=0in \leftskip=\defbodyindent \begingroup\obeylines\activeparens\spacesplit#3}
\def\defmethparsebody #1#2#3#4 {\begingroup\inENV \medbreak \def#1{\endgraf\endgroup\medbreak}\def#2##1 {\begingroup\obeylines\activeparens\spacesplit{#3{##1}}}\parindent=0in \leftskip=\defbodyindent \begingroup\obeylines\activeparens\spacesplit{#3{#4}}}
{\obeylines
\gdef\spacesplit#1#2^^M{\endgroup\spacesplitfoo{#1}#2 \relax\spacesplitfoo}\long\gdef\spacesplitfoo#1#2 #3#4\spacesplitfoo{\ifx\relax #3#1{#2}{}\else #1{#2}{#3#4}\fi}}
\def\defunargs #1{\functionparens \sl #1\ifnum\parencount=0 \else \errmessage{unbalanced parens in @def arguments}\fi\interlinepenalty=10000
\endgraf\vskip -\parskip \penalty 10000}
\def\deffn{\defmethparsebody\Edeffn\deffnx\deffnheader}
\def\deffnheader #1#2#3{\doind {fn}{\code{#2}}\begingroup\defname {#2}{#1}\defunargs{#3}\endgroup}
\def\defun{\defparsebody\Edefun\defunx\defunheader}
\def\defunheader #1#2{\doind {fn}{\code{#1}}\begingroup\defname {#1}{Function}\defunargs {#2}\endgroup }
\def\defmac{\defparsebody\Edefmac\defmacx\defmacheader}
\def\defmacheader #1#2{\doind {fn}{\code{#1}}\begingroup\defname {#1}{Macro}\defunargs {#2}\endgroup }
\def\defspec{\defparsebody\Edefspec\defspecx\defspecheader}
\def\defspecheader #1#2{\doind {fn}{\code{#1}}\begingroup\defname {#1}{Special form}\defunargs {#2}\endgroup }
\def\deffnx #1 {\errmessage{@deffnx in invalid context}}
\def\defunx #1 {\errmessage{@defunx in invalid context}}
\def\defmacx #1 {\errmessage{@defmacx in invalid context}}
\def\defspecx #1 {\errmessage{@defspecx in invalid context}}
\def\defop #1 {\def\defoptype{#1}\defmethparsebody\Edefop\defopx\defopheader}
\def\defopheader #1#2#3{\dosubind {fn}{\code{#2}}{on #1}\begingroup\defname {#2}{\defoptype{} on #1}\defunargs {#3}\endgroup }
\def\defmethod{\defmethparsebody\Edefmethod\defmethodx\defmethodheader}
\def\defmethodheader #1#2#3{\dosubind {fn}{\code{#2}}{on #1}\begingroup\defname {#2}{Operation on #1}\defunargs {#3}\endgroup }
\def\defcv #1 {\def\defcvtype{#1}\defmethparsebody\Edefcv\defcvx\defcvheader}
\def\defcvarheader #1#2#3{\dosubind {vr}{\code{#2}}{of #1}\begingroup\defname {#2}{\defcvtype of #1}\defvarargs {#3}\endgroup }
\def\defivar{\defmethparsebody\Edefivar\defivarx\defivarheader}
\def\defivarheader #1#2#3{\dosubind {vr}{\code{#2}}{of #1}\begingroup\defname {#2}{Instance variable of #1}\defvarargs {#3}\endgroup }
\def\defopx #1 {\errmessage{@defopx in invalid context}}
\def\defmethodx #1 {\errmessage{@defmethodx in invalid context}}
\def\defcvx #1 {\errmessage{@defcvx in invalid context}}
\def\defivarx #1 {\errmessage{@defivarx in invalid context}}
\def\defvarargs #1{\normalparens #1\interlinepenalty=10000
\endgraf\vskip -\parskip \penalty 10000}
\def\defvr{\defmethparsebody\Edefvr\defvrx\defvrheader}
\def\defvrheader #1#2#3{\doind {vr}{\code{#2}}\begingroup\defname {#2}{#1}\defvarargs{#3}\endgroup}
\def\defvar{\defparsebody\Edefvar\defvarx\defvarheader}
\def\defvarheader #1#2{\doind {vr}{\code{#1}}\begingroup\defname {#1}{Variable}\defvarargs {#2}\endgroup }
\def\defopt{\defparsebody\Edefopt\defoptx\defoptheader}
\def\defoptheader #1#2{\doind {vr}{\code{#1}}\begingroup\defname {#1}{User Option}\defvarargs {#2}\endgroup }
\def\defvrx #1 {\errmessage{@defvrx in invalid context}}
\def\defvarx #1 {\errmessage{@defvarx in invalid context}}
\def\defoptx #1 {\errmessage{@defoptx in invalid context}}
\def\deftpargs #1{\bf \defvarargs{#1}}
\def\deftp{\defmethparsebody\Edeftp\deftpx\deftpheader}
\def\deftpheader #1#2#3{\doind {tp}{\code{#2}}\begingroup\defname {#2}{#1}\deftpargs{#3}\endgroup}
\def\deftpx #1 {\errmessage{@deftpx in invalid context}}
\message{cross reference,}
\newwrite \auxfile
\def\setref#1{\dosetq{#1-pg}{Ypagenumber}\dosetq{#1-snt}{Ysectionnumberandtype}}
\def\unnumbsetref#1{\dosetq{#1-pg}{Ypagenumber}\dosetq{#1-snt}{Ynothing}}
\def\pxref #1{see \xrefX [#1,,,,,,,]}
\def\xref #1{See \xrefX [#1,,,,,,,]}
\def\xrefX [#1,#2,#3,#4,#5,#6]{\setbox1=\hbox{\i{\losespace#5{}}}\setbox0=\hbox{\losespace#3{}}\ifdim \wd0 =0pt \setbox0=\hbox{\losespace#1{}}\fi\ifdim \wd1 >0ptsection \unhbox0{} in \unhbox1\else\refx{#1-snt} [\unhbox0], page\tie \refx{#1-pg}\fi }
\def\dosetq #1#2{{\let\folio=0\edef\next{\write\auxfile{\internalsetq {#1}{#2}}}\next}}
\def\internalsetq #1#2{'xrdef {#1}{\csname #2\endcsname}}
\def\Ypagenumber{\folio}
\def\Ynothing{}
\def\Ysectionnumberandtype{\ifnum\secno=0 chapter\xreftie\the\chapno \else \ifnum \subsecno=0 section\xreftie\the\chapno.\the\secno \else \ifnum \subsubsecno=0 section\xreftie\the\chapno.\the\secno.\the\subsecno \else section\xreftie\the\chapno.\the\secno.\the\subsecno.\the\subsubsecno \fi \fi \fi }
\gdef\xreftie{'tie}
\def\refx#1{{\expandafter\ifx\csname X#1\endcsname\relax
\expandafter\gdef\csname X#1\endcsname {$<$undefined$>$}\message {WARNING: Cross-reference "#1" used but not yet defined}\message {}\fi \csname X#1\endcsname }}
\def\xrdef #1#2{
{\catcode`\'=\other\expandafter \gdef \csname X#1\endcsname {#2}}}
{
\catcode `\^^@=\other
\catcode `\^^A=\other
\catcode `\^^B=\other
\catcode `\^^C=\other
\catcode `\^^D=\other
\catcode `\^^E=\other
\catcode `\^^F=\other
\catcode `\^^G=\other
\catcode `\^^H=\other
\catcode `\^^K=\other
\catcode `\^^L=\other
\catcode `\^^N=\other
\catcode `\^^O=\other
\catcode `\^^P=\other
\catcode `\^^Q=\other
\catcode `\^^R=\other
\catcode `\^^S=\other
\catcode `\^^T=\other
\catcode `\^^U=\other
\catcode `\^^V=\other
\catcode `\^^W=\other
\catcode `\^^X=\other
\catcode `\^^Y=\other
\catcode `\^^Z=\other
\catcode `\^^[=\other
\catcode `\^^\=\other
\catcode `\^^]=\other
\catcode `\^^^=\other
\catcode `\^^_=\other
\catcode `\@=\other
\catcode `\^=\other
\catcode `\~=\other
\catcode `\[=\other
\catcode `\]=\other
\catcode`\"=\other
\catcode`\_=\other
\catcode`\|=\other
\catcode`\<=\other
\catcode`\>=\other
\catcode `\$=\other
\catcode `\#=\other
\catcode `\&=\other
\catcode `\{=1 \catcode `\}=2
\catcode `\%=\other
\catcode `\'=0
\catcode `\\=\other
'openin 1 'jobname.aux
'ifeof 1 'else 'closein 1 'input 'jobname.aux
'fi
}
\openout \auxfile=\jobname.aux
\newcount \footnoteno
\def\supereject{\par\penalty -20000\footnoteno =0 }
\let\ptexfootnote=\footnote
{\catcode `\@=11
\gdef\footnote{\global\advance \footnoteno by \@ne
\edef\thisfootno{$^{\the\footnoteno}$}\let\@sf\empty
\ifhmode\edef\@sf{\spacefactor\the\spacefactor}\/\fi
\thisfootno\@sf\parsearg\footnotezzz}
\gdef\footnotezzz #1{\insert\footins{
\interlinepenalty\interfootnotelinepenalty
\splittopskip\ht\strutbox \splitmaxdepth\dp\strutbox \floatingpenalty\@MM
\leftskip\z@skip \rightskip\z@skip \spaceskip\z@skip \xspaceskip\z@skip
\footstrut\hang\textindent{\thisfootno}#1\strut}}
}
\message{and turning on texinfo input format.}
\newindex{cp}
\newcodeindex{fn}
\newcodeindex{vr}
\newcodeindex{tp}
\newcodeindex{ky}
\newcodeindex{pg}
\hsize = 6.5in
\parindent 15pt
\parskip 18pt plus 1pt
\baselineskip 15pt
\advance\topskip by 1.2cm
\vbadness=10000
\def\smallbook{
\global\lispnarrowing = 0.3in
\global\baselineskip 12pt
\global\parskip 3pt plus 1pt
\global\hsize = 5in
\global\doublecolumnhsize=2.4in \global\doublecolumnvsize=15.0in
\global\vsize=7.5in
\global\tolerance=700
\global\hfuzz=1pt
\global\pagewidth=\hsize
\global\pageheight=\vsize
\global\font\ninett=cmtt9
\global\let\smalllisp=\smalllispx
\global\let\smallexample=\smalllispx
\global\def\Esmallexample{\Esmalllisp}
}
\def\finalout{\overfullrule=0pt}
\catcode`\"=\active
\def\activedoublequote{{\tt \char '042}}
\let"=\activedoublequote
\catcode`\~=\active
\def~{{\tt \char '176}}
\chardef\hat=`\^
\catcode`\^=\active
\def^{{\tt \hat}}
\catcode`\_=\active
\def_{{\tt \char '137}}
\catcode`\|=\active
\def|{{\tt \char '174}}
\chardef \less=`\<
\catcode`\<=\active
\def<{{\tt \less}}
\chardef \gtr=`\>
\catcode`\>=\active
\def>{{\tt \gtr}}
\catcode`\@=0
{\catcode`\\=\other
@gdef@rawbackslashxx{\}}
{\catcode`\\=\active
@gdef@rawbackslash{@let\=@rawbackslashxx }}
\def\normalbackslash{{\tt\rawbackslashxx}}
\escapechar=`\@
\catcode`\$=\other \catcode`\%=\other \catcode`\&=\other \catcode`\#=\other
\catcode 17=0 @c Define control-q
\catcode`\\=\active
@let\=@normalbackslash
@textfonts
@rm