\def\texinfoversion{2.73}
\message{Loading texinfo package [Version \texinfoversion]:}
\message{}
\everyjob{\message{[Texinfo version \texinfoversion]}\message{}}
\let\ptexlbrace=\{
\let\ptexrbrace=\}
\let\ptexdots=\dots
\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
\newlinechar = `^^J
\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
\def\gloggingall{\begingroup \globaldefs = 1 \loggingall \endgroup}\def\loggingall{\tracingcommands2 \tracingstats2
\tracingpages1 \tracingoutput1 \tracinglostchars1
\tracingmacros2 \tracingparagraphs1 \tracingrestores1
\showboxbreadth\maxdimen\showboxdepth\maxdimen
}
\newdimen\cornerlong \newdimen\cornerthick
\newdimen \topandbottommargin
\newdimen \outerhsize \newdimen \outervsize
\cornerlong=1pc\cornerthick=.3pt \outerhsize=7in
\outervsize=9.25in
\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
{\escapechar=`\\\relax \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\@{{\tt \char '100}}
\def\`{{`}}
\def\'{{'}}
\def\mylbrace {{\tt \char '173}}
\def\myrbrace {{\tt \char '175}}
\let\{=\mylbrace
\let\}=\myrbrace
\def\:{\spacefactor=1000 }
\def\*{\hfil\break\hbox{}\ignorespaces}
\def\.{.\spacefactor=3000 }
\def\w#1{\leavevmode\hbox{#1}}
\def\group{\begingroup
\ifnum\catcode13=\active \else
\errhelp = \groupinvalidhelp
\errmessage{@group invalid in context where filling is enabled} \fi
\def\Egroup{\egroup\endgroup} \vtop\bgroup
}
\newhelp\groupinvalidhelp{group can only be used in environments such as @example,^^Jwhere each line of input produces a line of output.}
\newdimen\mil \mil=0.001in
\def\need{\parsearg\needx}
\def\needx#1{ \par
\allowbreak
\nointerlineskip
\vtop to #1\mil{\vfil} \penalty9999
\kern -#1\mil
\nobreak
}
\let\br = \par
\def\dots{$\ldots$}
\def\page{\par\vfill\supereject}
\newskip\exdentamount
\def\exdent{\parsearg\exdentyyy}
\def\exdentyyy #1{{\hfil\break\hbox{\kern -\exdentamount{\rm#1}}\hfil\break}}
\def\nofillexdent{\parsearg\nofillexdentyyy}
\def\nofillexdentyyy #1{{\advance \leftskip by -\exdentamount
\leftline{\hskip\leftskip{\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{\catcode 64=\other \catcode 123=\other \catcode 125=\other\parsearg \commentxxx}
\def\commentxxx #1{\catcode 64=0 \catcode 123=1 \catcode 125=2 }
\let\c=\comment
\def\ignoresections{\let\chapter=\relax
\let\unnumbered=\relax
\let\top=\relax
\let\unnumberedsec=\relax
\let\unnumberedsection=\relax
\let\unnumberedsubsec=\relax
\let\unnumberedsubsection=\relax
\let\unnumberedsubsubsec=\relax
\let\unnumberedsubsubsection=\relax
\let\section=\relax
\let\subsec=\relax
\let\subsubsec=\relax
\let\subsection=\relax
\let\subsubsection=\relax
\let\appendix=\relax
\let\appendixsec=\relax
\let\appendixsection=\relax
\let\appendixsubsec=\relax
\let\appendixsubsection=\relax
\let\appendixsubsubsec=\relax
\let\appendixsubsubsection=\relax
\let\contents=\relax
\let\smallbook=\relax
\let\titlepage=\relax
}
\def\ignore{\begingroup\ignoresections
\catcode32=10
\ignorexxx}
\long\def\ignorexxx #1\end ignore{\endgroup\ignorespaces}
\def\direntry{\begingroup\direntryxxx}
\long\def\direntryxxx #1\end direntry{\endgroup\ignorespaces}
\def\ifset{\begingroup\ignoresections\parsearg\ifsetxxx}
\def\ifsetxxx #1{\endgroup
\expandafter\ifx\csname IF#1\endcsname\relax \let\temp=\ifsetfail
\else \let\temp=\relax \fi
\temp}
\def\Eifset{}
\def\ifsetfail{\begingroup\ignoresections\ifsetfailxxx}
\long\def\ifsetfailxxx #1\end ifset{\endgroup\ignorespaces}
\def\ifclear{\begingroup\ignoresections\parsearg\ifclearxxx}
\def\ifclearxxx #1{\endgroup
\expandafter\ifx\csname IF#1\endcsname\relax \let\temp=\relax
\else \let\temp=\ifclearfail \fi
\temp}
\def\Eifclear{}
\def\ifclearfail{\begingroup\ignoresections\ifclearfailxxx}
\long\def\ifclearfailxxx #1\end ifclear{\endgroup\ignorespaces}
\def\set{\parsearg\setxxx}
\def\setxxx #1{
\expandafter\let\csname IF#1\endcsname=\set}
\def\clear{\parsearg\clearxxx}
\def\clearxxx #1{
\expandafter\let\csname IF#1\endcsname=\relax}
\def\iftex{}
\def\Eiftex{}
\def\ifinfo{\begingroup\ignoresections\ifinfoxxx}
\long\def\ifinfoxxx #1\end ifinfo{\endgroup\ignorespaces}
\long\def\menu #1\end menu{}
\def\asis#1{#1}
\let\implicitmath = $
\def\math#1{\implicitmath #1\implicitmath}
\def\node{\ENVcheck\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}
\def\appendixnoderef{\ifx\lastnode\relax\else
\expandafter\expandafter\expandafter\appendixsetref{\lastnode}\fi
\let\lastnode=\relax}
\let\refill=\relax
\def\setfilename{ \readauxfile
\opencontents
\openindices
\fixbackslash \global\let\setfilename=\comment \comment }
\outer\def\bye{\pagealignmacro\tracingstats=1\ptexend}
\def\inforef #1{\inforefzzz #1,,,,**}
\def\inforefzzz #1,#2,#3,#4**{See Info file \file{\losespace#3{}},
node \samp{\losespace#1{}}}
\def\losespace #1{#1}
\message{fonts,}
\newfam\sffam
\def\sf{\fam=\sffam \tensf}
\let\li = \sf
\let\mainmagstep=\magstephalf
\ifx\bigger\relax
\let\mainmagstep=\magstep1
\font\textrm=cmr12
\font\texttt=cmtt12
\else
\font\textrm=cmr10 scaled \mainmagstep
\font\texttt=cmtt10 scaled \mainmagstep
\fi
\font\textbf=cmb10 scaled \mainmagstep
\font\textit=cmti10 scaled \mainmagstep
\font\textsl=cmsl10 scaled \mainmagstep
\font\textsf=cmss10 scaled \mainmagstep
\font\textsc=cmcsc10 scaled \mainmagstep
\font\texti=cmmi10 scaled \mainmagstep
\font\textsy=cmsy10 scaled \mainmagstep
\font\defbf=cmbx10 scaled \magstep1 \font\deftt=cmtt10 scaled \magstep1
\def\df{\let\tentt=\deftt \let\tenbf = \defbf \bf}
\font\ninett=cmtt9
\font\indrm=cmr9
\font\indit=cmsl9
\let\indsl=\indit
\let\indtt=\ninett
\let\indsf=\indrm
\let\indbf=\indrm
\let\indsc=\indrm
\font\indi=cmmi9
\font\indsy=cmsy9
\font\chaprm=cmbx12 scaled \magstep2
\font\chapit=cmti12 scaled \magstep2
\font\chapsl=cmsl12 scaled \magstep2
\font\chaptt=cmtt12 scaled \magstep2
\font\chapsf=cmss12 scaled \magstep2
\let\chapbf=\chaprm
\font\chapsc=cmcsc10 scaled\magstep3
\font\chapi=cmmi12 scaled \magstep2
\font\chapsy=cmsy10 scaled \magstep3
\font\secrm=cmbx12 scaled \magstep1
\font\secit=cmti12 scaled \magstep1
\font\secsl=cmsl12 scaled \magstep1
\font\sectt=cmtt12 scaled \magstep1
\font\secsf=cmss12 scaled \magstep1
\font\secbf=cmbx12 scaled \magstep1
\font\secsc=cmcsc10 scaled\magstep2
\font\seci=cmmi12 scaled \magstep1
\font\secsy=cmsy10 scaled \magstep2
\font\ssecrm=cmbx12 scaled \magstephalf
\font\ssecit=cmti12 scaled \magstephalf
\font\ssecsl=cmsl12 scaled \magstephalf
\font\ssectt=cmtt12 scaled \magstephalf
\font\ssecsf=cmss12 scaled \magstephalf
\font\ssecbf=cmbx12 scaled \magstephalf
\font\ssecsc=cmcsc10 scaled \magstep1
\font\sseci=cmmi12 scaled \magstephalf
\font\ssecsy=cmsy10 scaled \magstep1
\font\titlerm = cmbx12 scaled \magstep3
\let\authorrm = \secrm
\def\resetmathfonts{ \textfont0 = \tenrm \textfont1 = \teni \textfont2 = \tensy
\textfont\itfam = \tenit \textfont\slfam = \tensl \textfont\bffam = \tenbf
\textfont\ttfam = \tentt \textfont\sffam = \tensf
}
\def\textfonts{ \let\tenrm=\textrm \let\tenit=\textit \let\tensl=\textsl
\let\tenbf=\textbf \let\tentt=\texttt \let\smallcaps=\textsc
\let\tensf=\textsf \let\teni=\texti \let\tensy=\textsy
\resetmathfonts}
\def\chapfonts{ \let\tenrm=\chaprm \let\tenit=\chapit \let\tensl=\chapsl
\let\tenbf=\chapbf \let\tentt=\chaptt \let\smallcaps=\chapsc
\let\tensf=\chapsf \let\teni=\chapi \let\tensy=\chapsy
\resetmathfonts}
\def\secfonts{ \let\tenrm=\secrm \let\tenit=\secit \let\tensl=\secsl
\let\tenbf=\secbf \let\tentt=\sectt \let\smallcaps=\secsc
\let\tensf=\secsf \let\teni=\seci \let\tensy=\secsy
\resetmathfonts}
\def\subsecfonts{ \let\tenrm=\ssecrm \let\tenit=\ssecit \let\tensl=\ssecsl
\let\tenbf=\ssecbf \let\tentt=\ssectt \let\smallcaps=\ssecsc
\let\tensf=\ssecsf \let\teni=\sseci \let\tensy=\ssecsy
\resetmathfonts}
\def\indexfonts{ \let\tenrm=\indrm \let\tenit=\indit \let\tensl=\indsl
\let\tenbf=\indbf \let\tentt=\indtt \let\smallcaps=\indsc
\let\tensf=\indsf \let\teni=\indi \let\tensy=\indsy
\resetmathfonts}
\textfonts
\newcount\fontdepth \fontdepth=0
\font\shortcontrm=cmr12
\font\shortcontbf=cmbx12
\font\shortcontsl=cmsl12
\def\smartitalicx{\ifx\next,\else\ifx\next-\else\ifx\next.\else\/\fi\fi\fi}
\def\smartitalic#1{{\sl #1}\futurelet\next\smartitalicx}
\let\i=\smartitalic
\let\var=\smartitalic
\let\dfn=\smartitalic
\let\emph=\smartitalic
\let\cite=\smartitalic
\def\b#1{{\bf #1}}
\let\strong=\b
\def\t#1{{\tt \exhyphenpenalty=10000\rawbackslash \frenchspacing #1}\null}
\let\ttfont = \t
\def\samp #1{`\tclose{#1}'\null}
\def\key #1{{\tt \exhyphenpenalty=10000\uppercase{#1}}\null}
\def\ctrl #1{{\tt \rawbackslash \hat}#1}
\let\file=\samp
\newdimen\tclosesave
\newdimen\tcloserm
\def\tclose#1{{\rm \tcloserm=\fontdimen2\font \tt \tclosesave=\fontdimen2\font
\fontdimen2\font=\tcloserm
\exhyphenpenalty=10000
\def\ {{\fontdimen2\font=\tclosesave{} }} \rawbackslash \frenchspacing #1\fontdimen2\font=\tclosesave}\null}
\let\code=\tclose
\def\xkey{\key}
\def\kbdfoo#1#2#3\par{\def\one{#1}\def\three{#3}\def\threex{??}\ifx\one\xkey\ifx\threex\three \key{#2}\else\tclose{\look}\fi
\else\tclose{\look}\fi}
\def\dmn#1{\thinspace #1}
\def\kbd#1{\def\look{#1}\expandafter\kbdfoo\look??\par}
\def\l#1{{\li #1}\null}
\def\r#1{{\rm #1}} \def\sc#1{{\smallcaps#1}} \def\ii#1{{\it #1}}
\message{page headings,}
\newskip\titlepagetopglue \titlepagetopglue = 1.5in
\newskip\titlepagebottomglue \titlepagebottomglue = 2pc
\def\titlefont#1{{\titlerm #1}}
\newtoks\realeverypar
\newif\ifseenauthor
\newif\iffinishedtitlepage
\def\titlepage{\begingroup \parindent=0pt \textfonts
\let\subtitlerm=\tenrm
\def\subtitlefont{\subtitlerm \normalbaselineskip = 13pt \normalbaselines} \def\authorfont{\authorrm \normalbaselineskip = 16pt \normalbaselines} \vglue\titlepagetopglue
\def\title{\parsearg\titlezzz} \def\titlezzz##1{\leftline{\titlefont{##1}}
\finishedtitlepagefalse
\vskip4pt \hrule height 4pt \vskip4pt} \finishedtitlepagetrue
\def\subtitle{\parsearg\subtitlezzz} \def\subtitlezzz##1{{\subtitlefont \rightline{##1}}} \def\author{\parsearg\authorzzz} \def\authorzzz##1{\ifseenauthor\else\vskip 0pt plus 1filll\seenauthortrue\fi
{\authorfont \leftline{##1}}} \let\oldpage = \page
\def\page{ \iffinishedtitlepage\else
\finishtitlepage
\fi
\oldpage
\let\page = \oldpage
\hbox{}}}
\def\Etitlepage{ \iffinishedtitlepage\else
\finishtitlepage
\fi
\oldpage
\endgroup
\HEADINGSon
}
\def\finishtitlepage{ \vskip4pt \hrule height 2pt
\vskip\titlepagebottomglue
\finishedtitlepagetrue
}
\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}\HEADINGShook}
\let\HEADINGShook=\relax
\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\HEADINGSdouble{
\global\pageno=1
\global\evenfootline={\hfil}
\global\oddfootline={\hfil}
\global\evenheadline={\line{\folio\hfil\thistitle}}
\global\oddheadline={\line{\thischapter\hfil\folio}}
}
\def\HEADINGSsingle{
\global\pageno=1
\global\evenfootline={\hfil}
\global\oddfootline={\hfil}
\global\evenheadline={\line{\thischapter\hfil\folio}}
\global\oddheadline={\line{\thischapter\hfil\folio}}
}
\def\HEADINGSon{\HEADINGSdouble}
\def\HEADINGSafter{\let\HEADINGShook=\HEADINGSdoublex}
\let\HEADINGSdoubleafter=\HEADINGSafter
\def\HEADINGSdoublex{\global\evenfootline={\hfil}
\global\oddfootline={\hfil}
\global\evenheadline={\line{\folio\hfil\thistitle}}
\global\oddheadline={\line{\thischapter\hfil\folio}}
}
\def\HEADINGSsingleafter{\let\HEADINGShook=\HEADINGSsinglex}
\def\HEADINGSsinglex{\global\evenfootline={\hfil}
\global\oddfootline={\hfil}
\global\evenheadline={\line{\thischapter\hfil\folio}}
\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 -\tableindent
\setbox0=\hbox{\itemfont{#1}} \itemindex{#1} \nobreak \parskip=0in
\par
\ifdim \wd0>\itemmax
\setbox0=\hbox{\hskip \leftskip \hskip -\tableindent \unhbox0}\box0
\nobreak
\else
\noindent
\rlap{\hskip -\tableindent\box0} \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\Eftable{\endgraf\endgroup\afterenvbreak}\let\Etable=\relax}}
\def\vtable{\begingroup\inENV\obeylines\obeyspaces\vtablex}
{\obeylines\obeyspaces\gdef\vtablex #1^^M{\tabley\vritemindex#1 \endtabley
\def\Evtable{\endgraf\endgroup\afterenvbreak}\let\Etable=\relax}}
\def\dontindex #1{}
\def\fnitemindex #1{\doind {fn}{\code{#1}}}\def\vritemindex #1{\doind {vr}{\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 \exdentamount=\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{ \begingroup \itemizey {#1}{\Eitemize}
}
\def\itemizey #1#2{\aboveenvbreak \itemmax=\itemindent \advance \itemmax by -\itemmargin \advance \leftskip by \itemindent \exdentamount=\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\frenchspacing{\sfcode46=1000 \sfcode63=1000 \sfcode33=1000
\sfcode58=1000 \sfcode59=1000 \sfcode44=1000 }
\def\splitoff#1#2\endmark{\def\first{#1}\def\rest{#2}}
\def\enumerate{\parsearg\enumeratezzz}
\def\enumeratezzz #1{\enumeratey #1 \endenumeratey}
\def\enumeratey #1 #2\endenumeratey{ \begingroup \def\thearg{#1} \ifx\thearg\empty \def\thearg{1}\fi
\expandafter\splitoff\thearg\endmark
\ifx\rest\empty
\ifnum\lccode\expandafter`\thearg=0\relax
\numericenumerate \else
\ifnum\lccode\expandafter`\thearg=\expandafter`\thearg\relax
\lowercaseenumerate \else
\uppercaseenumerate \fi
\fi
\else
\numericenumerate
\fi
}
\def\numericenumerate{ \itemno = \thearg
\startenumeration{\the\itemno}}
\def\lowercaseenumerate{ \itemno = \expandafter`\thearg
\startenumeration{ \ifnum\itemno=0
\errmessage{No more lowercase letters in @enumerate; get a bigger
alphabet} \fi
\char\lccode\itemno
}}
\def\uppercaseenumerate{ \itemno = \expandafter`\thearg
\startenumeration{ \ifnum\itemno=0
\errmessage{No more uppercase letters in @enumerate; get a bigger
alphabet}
\fi
\char\uccode\itemno
}}
\def\startenumeration#1{ \advance\itemno by -1
\itemizey{#1.}\Eenumerate\flushcr
}
\def\alphaenumerate{\enumerate{a}}
\def\capsenumerate{\enumerate{A}}
\def\Ealphaenumerate{\Eenumerate}
\def\Ecapsenumerate{\Eenumerate}
\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 1200}}\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\let\expandafter\synindexfoo\expandafter=\csname#2indfile\endcsname
\expandafter\let\csname#1indfile\endcsname=\synindexfoo
\expandafter\xdef\csname#1index\endcsname{\noexpand\doindex {#2}}}
\def\syncodeindex #1 #2 {\expandafter\let\expandafter\synindexfoo\expandafter=\csname#2indfile\endcsname
\expandafter\let\csname#1indfile\endcsname=\synindexfoo
\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\_{{\realbackslash _}}\def\w{\realbackslash w }\def\bf{\realbackslash bf }\def\rm{\realbackslash rm }\def\sl{\realbackslash sl }\def\sf{\realbackslash sf}\def\tt{\realbackslash tt}\def\gtr{\realbackslash gtr}\def\less{\realbackslash less}\def\hat{\realbackslash hat}\def\char{\realbackslash char}\def\TeX{\realbackslash TeX}\def\dots{\realbackslash dots }\def\copyright{\realbackslash copyright }\def\tclose##1{\realbackslash tclose {##1}}\def\code##1{\realbackslash code {##1}}\def\samp##1{\realbackslash samp {##1}}\def\t##1{\realbackslash r {##1}}\def\r##1{\realbackslash r {##1}}\def\i##1{\realbackslash i {##1}}\def\b##1{\realbackslash b {##1}}\def\cite##1{\realbackslash cite {##1}}\def\key##1{\realbackslash key {##1}}\def\file##1{\realbackslash file {##1}}\def\var##1{\realbackslash var {##1}}\def\kbd##1{\realbackslash kbd {##1}}}
\def\indexdummyfont#1{#1}
\def\indexdummytex{TeX}
\def\indexdummydots{...}
\def\indexnofonts{\let\w=\indexdummyfont
\let\t=\indexdummyfont
\let\r=\indexdummyfont
\let\i=\indexdummyfont
\let\b=\indexdummyfont
\let\emph=\indexdummyfont
\let\strong=\indexdummyfont
\let\cite=\indexdummyfont
\let\sc=\indexdummyfont
\let\tclose=\indexdummyfont
\let\code=\indexdummyfont
\let\file=\indexdummyfont
\let\samp=\indexdummyfont
\let\kbd=\indexdummyfont
\let\key=\indexdummyfont
\let\var=\indexdummyfont
\let\TeX=\indexdummytex
\let\dots=\indexdummydots
}
{\catcode`\@=0 \catcode`\\=\other
@gdef@realbackslash{\}}
\let\indexbackslash=0
\def\doind #1#2{{\count10=\lastpenalty {\indexdummies \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{{\count10=\lastpenalty {\indexdummies \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
\dobreak \chapheadingskip {10000}
\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
(Index is nonexistent)
\else
\read 1 to \temp
\ifeof 1
(Index is empty)
\else
\input \jobname.#1s
\fi
\fi
\closein 1
\enddoublecolumns
\Etex
}
\newskip\initialskipamount \initialskipamount 12pt plus4pt
\def\initial #1{{\let\tentt=\sectt \let\tt=\sectt \let\sf=\sectt
\ifdim\lastskip<\initialskipamount
\removelastskip \penalty-200 \vskip \initialskipamount\fi
\line{\secbf#1\hfill}\kern 2pt\penalty10000}}
\def\entry #1#2{\begingroup
\parfillskip=0in \parskip=0in \parindent=0in
\hangindent=.75\hsize
\noindent
\hbox{#1} \hfil\penalty50
\null\nobreak\indexdotfill \ #2 \par
\endgroup}
\def\indexdotfill{\cleaders
\hbox{$\mathsurround=0pt \mkern1.5mu . \mkern1.5mu$}\hskip 1em plus 1fill}
\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}\indexdotfill #2\par
}}
\catcode `\@=11
\newbox\partialpage
\newdimen\doublecolumnhsize \doublecolumnhsize = 3.11in
\newdimen\doublecolumnvsize \doublecolumnvsize = 19.1in
\newdimen\availdimen@
\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{ \setbox255=\vbox{\unvbox255}
\dimen@=\ht255
\advance\dimen@ by\topskip \advance\dimen@ by-\baselineskip
\divide\dimen@ by2
\availdimen@=\pageheight \advance\availdimen@ by-\ht\partialpage
\ifdim \dimen@>\availdimen@
{
\splittopskip=\topskip \splitmaxdepth=\maxdepth
\dimen@=\pageheight \advance\dimen@ by-\ht\partialpage
\setbox0=\vsplit255 to\dimen@ \setbox2=\vsplit255 to\dimen@
\onepageout\pagesofar
}
\dimen@=\ht255
\advance\dimen@ by\topskip \advance\dimen@ by-\baselineskip
\divide\dimen@ by2
\fi
\setbox0=\vbox{\unvbox255}
\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 \secno=0
\newcount \subsecno \subsecno=0
\newcount \subsubsecno \subsubsecno=0
\newcount \appendixno \appendixno = `\@
\def\appendixletter{\char\the\appendixno}
\newwrite \contentsfile
\def\opencontents{\openout \contentsfile = \jobname.toc}
\def\thischapter{} \def\thissection{}
\def\seccheck#1{\if \pageno<0 \errmessage{@#1 not allowed after generating table of contents}\fi
}
\def\chapternofonts{\let\rawbackslash=\relax\let\frenchspacing=\relax\def\result{\realbackslash result}
\def\equiv{\realbackslash equiv}
\def\expansion{\realbackslash expansion}
\def\print{\realbackslash print}
\def\TeX{\realbackslash TeX}
\def\dots{\realbackslash dots}
\def\copyright{\realbackslash copyright}
\def\tt{\realbackslash tt}
\def\bf{\realbackslash bf }
\def\w{\realbackslash w}
\def\less{\realbackslash less}
\def\gtr{\realbackslash gtr}
\def\hat{\realbackslash hat}
\def\char{\realbackslash char}
\def\tclose##1{\realbackslash tclose {##1}}
\def\code##1{\realbackslash code {##1}}
\def\samp##1{\realbackslash samp {##1}}
\def\r##1{\realbackslash r {##1}}
\def\b##1{\realbackslash b {##1}}
\def\key##1{\realbackslash key {##1}}
\def\file##1{\realbackslash file {##1}}
\def\kbd##1{\realbackslash kbd {##1}}
\def\i##1{\realbackslash i {##1}}
\def\cite##1{\realbackslash cite {##1}}
\def\var##1{\realbackslash var {##1}}
\def\emph##1{\realbackslash emph {##1}}
\def\dfn##1{\realbackslash dfn {##1}}
}
\def\thischaptername{No Chapter Title}
\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\thischaptername{#1}\xdef\thischapter{Chapter \the\chapno: \noexpand\thischaptername}{\chapternofonts\edef\temp{{\realbackslash chapentry {#1}{\the\chapno}{\noexpand\folio}}}\escapechar=`\\\write \contentsfile \temp \donoderef \global\let\section = \numberedsec
\global\let\subsection = \numberedsubsec
\global\let\subsubsection = \numberedsubsubsec
}}
\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\thissection{#1}\gdef\thischaptername{#1}\xdef\thischapter{Appendix \appendixletter: \noexpand\thischaptername}{\chapternofonts\edef\temp{{\realbackslash chapentry
{#1}{Appendix \appendixletter}{\noexpand\folio}}}\escapechar=`\\\write \contentsfile \temp \appendixnoderef \global\let\section = \appendixsec
\global\let\subsection = \appendixsubsec
\global\let\subsubsection = \appendixsubsubsec
}}
\outer\def\top{\parsearg\unnumberedzzz}
\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}{\chapternofonts\edef\temp{{\realbackslash unnumbchapentry {#1}{\noexpand\folio}}}\escapechar=`\\\write \contentsfile \temp \unnumbnoderef \global\let\section = \unnumberedsec
\global\let\subsection = \unnumberedsubsec
\global\let\subsubsection = \unnumberedsubsubsec
}}
\outer\def\numberedsec{\parsearg\seczzz}
\def\seczzz #1{\seccheck{section}\subsecno=0 \subsubsecno=0 \global\advance \secno by 1 \gdef\thissection{#1}\secheading {#1}{\the\chapno}{\the\secno}{\chapternofonts\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}{\chapternofonts\edef\temp{{\realbackslash secentry {#1}{\appendixletter}{\the\secno}{\noexpand\folio}}}\escapechar=`\\\write \contentsfile \temp \appendixnoderef \penalty 10000 }}
\outer\def\unnumberedsec{\parsearg\unnumberedseczzz}
\def\unnumberedseczzz #1{\seccheck{unnumberedsec}\plainsecheading {#1}\gdef\thissection{#1}{\chapternofonts\edef\temp{{\realbackslash unnumbsecentry{#1}{\noexpand\folio}}}\escapechar=`\\\write \contentsfile \temp \unnumbnoderef \penalty 10000 }}
\outer\def\numberedsubsec{\parsearg\numberedsubseczzz}
\def\numberedsubseczzz #1{\seccheck{subsection}\gdef\thissection{#1}\subsubsecno=0 \global\advance \subsecno by 1 \subsecheading {#1}{\the\chapno}{\the\secno}{\the\subsecno}{\chapternofonts\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}{\chapternofonts\edef\temp{{\realbackslash subsecentry {#1}{\appendixletter}{\the\secno}{\the\subsecno}{\noexpand\folio}}}\escapechar=`\\\write \contentsfile \temp \appendixnoderef \penalty 10000 }}
\outer\def\unnumberedsubsec{\parsearg\unnumberedsubseczzz}
\def\unnumberedsubseczzz #1{\seccheck{unnumberedsubsec}\plainsecheading {#1}\gdef\thissection{#1}{\chapternofonts\edef\temp{{\realbackslash unnumbsubsecentry{#1}{\noexpand\folio}}}\escapechar=`\\\write \contentsfile \temp \unnumbnoderef \penalty 10000 }}
\outer\def\numberedsubsubsec{\parsearg\numberedsubsubseczzz}
\def\numberedsubsubseczzz #1{\seccheck{subsubsection}\gdef\thissection{#1}\global\advance \subsubsecno by 1 \subsubsecheading {#1}
{\the\chapno}{\the\secno}{\the\subsecno}{\the\subsubsecno}{\chapternofonts\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}{\chapternofonts\edef\temp{{\realbackslash subsubsecentry{#1} {\appendixletter}
{\the\secno}{\the\subsecno}{\the\subsubsecno}{\noexpand\folio}}}\escapechar=`\\\write \contentsfile \temp \appendixnoderef \penalty 10000 }}
\outer\def\unnumberedsubsubsec{\parsearg\unnumberedsubsubseczzz}
\def\unnumberedsubsubseczzz #1{\seccheck{unnumberedsubsubsec}\plainsecheading {#1}\gdef\thissection{#1}{\chapternofonts\edef\temp{{\realbackslash unnumbsubsubsecentry{#1}{\noexpand\folio}}}\escapechar=`\\\write \contentsfile \temp \unnumbnoderef \penalty 10000 }}
\def\infotop{\parsearg\unnumberedzzz}
\def\infounnumbered{\parsearg\unnumberedzzz}
\def\infounnumberedsec{\parsearg\unnumberedseczzz}
\def\infounnumberedsubsec{\parsearg\unnumberedsubseczzz}
\def\infounnumberedsubsubsec{\parsearg\unnumberedsubsubseczzz}
\def\infoappendix{\parsearg\appendixzzz}
\def\infoappendixsec{\parsearg\appendixseczzz}
\def\infoappendixsubsec{\parsearg\appendixsubseczzz}
\def\infoappendixsubsubsec{\parsearg\appendixsubsubseczzz}
\def\infochapter{\parsearg\chapterzzz}
\def\infosection{\parsearg\sectionzzz}
\def\infosubsection{\parsearg\subsectionzzz}
\def\infosubsubsection{\parsearg\subsubsectionzzz}
\global\let\section = \numberedsec
\global\let\subsection = \numberedsubsec
\global\let\subsubsection = \numberedsubsubsec
\def\majorheading{\parsearg\majorheadingzzz}
\def\majorheadingzzz #1{{\advance\chapheadingskip by 10pt \chapbreak }{\chapfonts \vbox{\hyphenpenalty=10000\tolerance=5000
\parindent=0pt\raggedright
\rm #1\hfill}}\bigskip \par\penalty 200}
\def\chapheading{\parsearg\chapheadingzzz}
\def\chapheadingzzz #1{\chapbreak {\chapfonts \vbox{\hyphenpenalty=10000\tolerance=5000
\parindent=0pt\raggedright
\rm #1\hfill}}\bigskip \par\penalty 200}
\def\heading{\parsearg\secheadingi}
\def\subheading{\parsearg\subsecheadingi}
\def\subsubheading{\parsearg\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
\global\def\HEADINGSon{\HEADINGSsingle}}
\def\CHAPPAGodd{
\global\let\pchapsepmacro=\chapoddpage
\global\let\pagealignmacro=\chapoddpage
\global\def\HEADINGSon{\HEADINGSdouble}}
\CHAPPAGon
\def\CHAPFplain{
\global\let\chapmacro=\chfplain
\global\let\unnumbchapmacro=\unnchfplain}
\def\chfplain #1#2{ \pchapsepmacro
{ \chapfonts \vbox{\hyphenpenalty=10000\tolerance=5000
\parindent=0pt\raggedright
\rm #2\enspace #1} } \bigskip
\penalty5000
}
\def\unnchfplain #1{\pchapsepmacro {\chapfonts \vbox{\hyphenpenalty=10000\tolerance=5000
\parindent=0pt\raggedright
\rm #1\hfill}}\bigskip \par\penalty 10000 }
\CHAPFplain
\def\unnchfopen #1{\chapoddpage {\chapfonts \vbox{\hyphenpenalty=10000\tolerance=5000
\parindent=0pt\raggedright
\rm #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}}
\let\paragraphindent=\comment
\def\secheading #1#2#3{\secheadingi {#2.#3\enspace #1}}
\def\plainsecheading #1{\secheadingi {#1}}
\def\secheadingi #1{{\advance \secheadingskip by \parskip \secheadingbreak}{\secfonts \vbox{\hyphenpenalty=10000\tolerance=5000
\parindent=0pt\raggedright
\rm #1\hfill}}\ifdim \parskip<10pt \kern 10pt\kern -\parskip\fi \penalty 10000 }
\def\subsecheading #1#2#3#4{\subsecheadingi {#2.#3.#4\enspace #1}}
\def\subsecheadingi #1{{\advance \subsecheadingskip by \parskip \subsecheadingbreak}{\subsecfonts \vbox{\hyphenpenalty=10000\tolerance=5000
\parindent=0pt\raggedright
\rm #1\hfill}}\ifdim \parskip<10pt \kern 10pt\kern -\parskip\fi \penalty 10000 }
\def\subsubsecfonts{\subsecfonts} \def\subsubsecheading #1#2#3#4#5{\subsubsecheadingi {#2.#3.#4.#5\enspace #1}}
\def\subsubsecheadingi #1{{\advance \subsecheadingskip by \parskip \subsecheadingbreak}{\subsubsecfonts \vbox{\hyphenpenalty=10000\tolerance=5000
\parindent=0pt\raggedright
\rm #1\hfill}}\ifdim \parskip<10pt \kern 10pt\kern -\parskip\fi \penalty 10000}
\message{toc printing,}
\newskip\contentsrightmargin \contentsrightmargin=1in
\def\startcontents#1{ \pagealignmacro
\immediate\closeout \contentsfile
\ifnum \pageno>0
\pageno = -1 \fi
\unnumbchapmacro{#1}\def\thischapter{} \begingroup \catcode`\\=0 \catcode`\{=1 \catcode`\}=2 \catcode`\@=11
\raggedbottom \advance\hsize by -\contentsrightmargin }
\outer\def\contents{ \startcontents{Table of Contents} \input \jobname.toc
\endgroup
\vfill \eject
}
\outer\def\summarycontents{ \startcontents{Short Contents} \let\chapentry = \shortchapentry
\let\unnumbchapentry = \shortunnumberedentry
\secfonts
\let\rm=\shortcontrm \let\bf=\shortcontbf \let\sl=\shortcontsl
\rm
\advance\baselineskip by 1pt \def\secentry ##1##2##3##4{}
\def\unnumbsecentry ##1##2{}
\def\subsecentry ##1##2##3##4##5{}
\def\unnumbsubsecentry ##1##2{}
\def\subsubsecentry ##1##2##3##4##5##6{}
\def\unnumbsubsubsecentry ##1##2{}
\input \jobname.toc
\endgroup
\vfill \eject
}
\let\shortcontents = \summarycontents
\def\chapentry#1#2#3{\dochapentry{#2\labelspace#1}{#3}}
\def\shortchapentry#1#2#3{ \vbox{\hyphenpenalty=10000\tolerance=5000
\parindent=0pt\strut\raggedright
{#2\labelspace #1}\dotfill\doshortpageno{#3}}}
\def\unnumbchapentry#1#2{\dochapentry{#1}{#2}}
\def\shortunnumberedentry#1#2{ \vbox{\hyphenpenalty=10000\tolerance=5000
\parindent=0pt\strut\raggedright
#1\dotfill\doshortpageno{#2}}}
\def\secentry#1#2#3#4{\dosecentry{#2.#3\labelspace#1}{#4}}
\def\unnumbsecentry#1#2{\dosecentry{#1}{#2}}
\def\subsecentry#1#2#3#4#5{\dosubsecentry{#2.#3.#4\labelspace#1}{#5}}
\def\unnumbsubsecentry#1#2{\dosubsecentry{#1}{#2}}
\def\subsubsecentry#1#2#3#4#5#6{ \dosubsubsecentry{#2.#3.#4.#5\labelspace#1}{#6}}
\def\unnumbsubsubsecentry#1#2{\dosubsubsecentry{#1}{#2}}
\newdimen\tocindent \tocindent = 3pc
\def\dochapentry#1#2{ \penalty-300 \vskip\baselineskip
\vbox{\chapentryfonts
\hyphenpenalty=10000\tolerance=5000 \parindent=0pt\strut\raggedright #1\dotfill
\dopageno{#2}} \nobreak\vskip .25\baselineskip
}
\def\dosecentry#1#2{ \vbox{\secentryfonts \leftskip=\tocindent
\hyphenpenalty=10000\tolerance=5000
\parindent=0pt\strut\raggedright #1\dotfill
\dopageno{#2}}}
\def\dosubsecentry#1#2{ \vbox{\subsecentryfonts \leftskip=2\tocindent
\hyphenpenalty=10000\tolerance=5000
\parindent=0pt\strut\raggedright #1\dotfill
\dopageno{#2}}}
\def\dosubsubsecentry#1#2{ \vbox{\subsubsecentryfonts \leftskip=3\tocindent
\hyphenpenalty=10000\tolerance=5000
\parindent=0pt\strut\raggedright #1\dotfill
\dopageno{#2}}}
\def\labelspace{\hskip1em \relax}
\def\dopageno#1{{\rm #1}}
\def\doshortpageno#1{{\rm #1}}
\def\chapentryfonts{\secfonts \rm}
\def\secentryfonts{\textfonts}
\let\subsecentryfonts = \textfonts
\let\subsubsecentryfonts = \textfonts
\message{environments,}
\newbox\dblarrowbox \newbox\longdblarrowbox
\newbox\pushcharbox \newbox\bullbox
\newbox\equivbox \newbox\errorbox
\let\ptexequiv = \equiv
\def\point{$\star$}
\def\result{\leavevmode\raise.15ex\hbox to 1em{\hfil$\Rightarrow$\hfil}}
\def\expansion{\leavevmode\raise.1ex\hbox to 1em{\hfil$\mapsto$\hfil}}
\def\print{\leavevmode\lower.1ex\hbox to 1em{\hfil$\dashv$\hfil}}
\def\equiv{\leavevmode\lower.1ex\hbox to 1em{\hfil$\ptexequiv$\hfil}}
{\tentt \global\dimen0 = 3em}\dimen2 = .55pt \setbox0 = \hbox{\kern-.75pt \tensf error\kern-1.5pt}
\global\setbox\errorbox=\hbox to \dimen0{\hfil
\hsize = \dimen0 \advance\hsize by -5.8pt \advance\hsize by -2\dimen2 \vbox{
\hrule height\dimen2
\hbox{\vrule width\dimen2 \kern3pt \vtop{\kern2.4pt \box0 \kern2.4pt} \kern3pt\vrule width\dimen2} \hrule height\dimen2}
\hfil}
\def\error{\leavevmode\lower.7ex\copy\errorbox}
\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 43=12
\catcode`\"=12
\catcode`\==12
\catcode`\|=12
\catcode`\<=12
\catcode`\>=12
\escapechar=`\\
\let\{=\ptexlbrace
\let\}=\ptexrbrace
\let\.=\ptexdot
\let\*=\ptexstar
\let\dots=\ptexdots
\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}
\let\nonarrowing=\relax
\font\circle=lcircle10
\newdimen\circthick
\newdimen\cartouter\newdimen\cartinner
\newskip\normbskip\newskip\normpskip\newskip\normlskip
\circthick=\fontdimen8\circle
\def\ctl{{\circle\char'013\hskip -6pt}}\def\ctr{{\hskip 6pt\circle\char'010}}
\def\cbl{{\circle\char'012\hskip -6pt}}
\def\cbr{{\hskip 6pt\circle\char'011}}
\def\carttop{\hbox to \cartouter{\hskip\lskip
\ctl\leaders\hrule height\circthick\hfil\ctr
\hskip\rskip}}
\def\cartbot{\hbox to \cartouter{\hskip\lskip
\cbl\leaders\hrule height\circthick\hfil\cbr
\hskip\rskip}}
\newskip\lskip\newskip\rskip
\long\def\cartouche{\begingroup
\lskip=\leftskip \rskip=\rightskip
\leftskip=0pt\rightskip=0pt \cartinner=\hsize \advance\cartinner by-\lskip
\advance\cartinner by-\rskip
\cartouter=\hsize
\advance\cartouter by 18pt \normbskip=\baselineskip \normpskip=\parskip \normlskip=\lineskip
\let\nonarrowing=\comment
\vbox\bgroup
\baselineskip=0pt\parskip=0pt\lineskip=0pt
\carttop
\hbox\bgroup
\hskip\lskip
\vrule\kern3pt
\vbox\bgroup
\hsize=\cartinner
\kern3pt
\begingroup
\baselineskip=\normbskip
\lineskip=\normlskip
\parskip=\normpskip
\vskip -\parskip
\def\Ecartouche{ \endgroup
\kern3pt
\egroup
\kern3pt\vrule
\hskip\rskip
\egroup
\cartbot
\egroup
\endgroup
}}
\def\lisp{\aboveenvbreak
\begingroup\inENV \hfuzz=12truept \sepspaces \singlespace \let\par=\lisppar
\def\Elisp{\endgroup\afterenvbreak}\parskip=0pt
\ifx\nonarrowing\relax
\advance \leftskip by \lispnarrowing
\exdentamount=\lispnarrowing
\let\exdent=\nofillexdent
\let\nonarrowing=\relax
\fi
\parindent=0pt
\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}\baselineskip 10pt
\parskip=0pt
\ifx\nonarrowing\relax
\advance \leftskip by \lispnarrowing
\exdentamount=\lispnarrowing
\let\exdent=\nofillexdent
\let\nonarrowing=\relax
\fi
\parindent=0pt
\obeyspaces \obeylines \ninett \indexfonts \rawbackslash
\def\next##1{}\next}
\def\display{\begingroup\inENV \aboveenvbreak
\sepspaces \singlespace \let\par=\lisppar
\def\Edisplay{\endgroup\afterenvbreak}\parskip=0pt
\ifx\nonarrowing\relax
\advance \leftskip by \lispnarrowing
\exdentamount=\lispnarrowing
\let\exdent=\nofillexdent
\let\nonarrowing=\relax
\fi
\parindent=0pt
\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}\ifx\nonarrowing\relax
\advance \leftskip by \lispnarrowing
\advance \rightskip by \lispnarrowing
\exdentamount=\lispnarrowing
\let\nonarrowing=\relax
\fi}
\message{defuns,}
\def\setdeffont #1 {\csname DEF#1\endcsname}
\newskip\defbodyindent \defbodyindent=.4in
\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{{\bf\char`\[}} \def\rbrb{{\bf\char`\]}}
\def\defname #1#2{\dimen2=\leftskip
\advance\dimen2 by -\defbodyindent
\dimen3=\rightskip
\advance\dimen3 by -\defbodyindent
\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 {\advance \hsize by -\dimen2 \advance \hsize by -\dimen3
\rlap{\rightline{{\rm #2}\hskip \deftypemargin}}}\tolerance=10000 \hbadness=10000
\advance\leftskip by -\defbodyindent
\exdentamount=\defbodyindent
{\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
\advance\leftskip by \defbodyindent \advance \rightskip by \defbodyindent
\exdentamount=\defbodyindent
\begingroup \catcode 61=\active \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
\advance\leftskip by \defbodyindent \advance \rightskip by \defbodyindent
\exdentamount=\defbodyindent
\begingroup\obeylines\activeparens\spacesplit{#3{#4}}}
\def\defopparsebody #1#2#3#4#5 {\begingroup\inENV \medbreak \def#1{\endgraf\endgroup\medbreak}\def#2##1 ##2 {\def#4{##1}\begingroup\obeylines\activeparens\spacesplit{#3{##2}}}\parindent=0in
\advance\leftskip by \defbodyindent \advance \rightskip by \defbodyindent
\exdentamount=\defbodyindent
\begingroup\obeylines\activeparens\spacesplit{#3{#5}}}
\def\defvarparsebody #1#2#3{\begingroup\inENV\medbreak \def#1{\endgraf\endgroup\medbreak}\def#2{\begingroup\obeylines\spacesplit#3}\parindent=0in
\advance\leftskip by \defbodyindent \advance \rightskip by \defbodyindent
\exdentamount=\defbodyindent
\begingroup \catcode 61=\active \obeylines\spacesplit#3}
\def\defvrparsebody #1#2#3#4 {\begingroup\inENV \medbreak \def#1{\endgraf\endgroup\medbreak}\def#2##1 {\begingroup\obeylines\spacesplit{#3{##1}}}\parindent=0in
\advance\leftskip by \defbodyindent \advance \rightskip by \defbodyindent
\exdentamount=\defbodyindent
\begingroup\obeylines\spacesplit{#3{#4}}}
\def\defopvarparsebody #1#2#3#4#5 {\begingroup\inENV \medbreak \def#1{\endgraf\endgroup\medbreak}\def#2##1 ##2 {\def#4{##1}\begingroup\obeylines\spacesplit{#3{##2}}}\parindent=0in
\advance\leftskip by \defbodyindent \advance \rightskip by \defbodyindent
\exdentamount=\defbodyindent
\begingroup\obeylines\spacesplit{#3{#5}}}
{\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
\hyphenchar\tensl=0
#1\hyphenchar\tensl=45
\ifnum\parencount=0 \else \errmessage{unbalanced parens in @def arguments}\fi\interlinepenalty=10000
\advance\rightskip by 0pt plus 1fil
\endgraf\penalty 10000\vskip -\parskip\penalty 10000}
\def\deftypefunargs #1{\functionparens
\code{#1}\interlinepenalty=10000
\advance\rightskip by 0pt plus 1fil
\endgraf\penalty 10000\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 \catcode 61=\other }
\def\defun{\defparsebody\Edefun\defunx\defunheader}
\def\defunheader #1#2{\doind {fn}{\code{#1}}\begingroup\defname {#1}{Function}\defunargs {#2}\endgroup \catcode 61=\other }
\def\deftypefun{\defparsebody\Edeftypefun\deftypefunx\deftypefunheader}
\def\deftypefunheader #1#2{\deftypefunheaderx{#1}#2 \relax}
\def\deftypefunheaderx #1#2 #3\relax{\doind {fn}{\code{#2}}\begingroup\defname {\code{#1} #2}{Function}\deftypefunargs {#3}\endgroup \catcode 61=\other }
\def\deftypefn{\defmethparsebody\Edeftypefn\deftypefnx\deftypefnheader}
\def\deftypefnheader #1#2#3{\deftypefnheaderx{#1}{#2}#3 \relax}
\def\deftypefnheaderx #1#2#3 #4\relax{\doind {fn}{\code{#3}}\begingroup\defname {\code{#2} #3}{#1}\deftypefunargs {#4}\endgroup \catcode 61=\other }
\def\defmac{\defparsebody\Edefmac\defmacx\defmacheader}
\def\defmacheader #1#2{\doind {fn}{\code{#1}}\begingroup\defname {#1}{Macro}\defunargs {#2}\endgroup \catcode 61=\other }
\def\defspec{\defparsebody\Edefspec\defspecx\defspecheader}
\def\defspecheader #1#2{\doind {fn}{\code{#1}}\begingroup\defname {#1}{Special Form}\defunargs {#2}\endgroup \catcode 61=\other }
\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\deftypefnx #1 {\errmessage{@deftypefnx in invalid context}}
\def\deftypeunx #1 {\errmessage{@deftypeunx in invalid context}}
\def\defop #1 {\def\defoptype{#1}\defopparsebody\Edefop\defopx\defopheader\defoptype}
\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}{Method on #1}\defunargs {#3}\endgroup }
\def\defcv #1 {\def\defcvtype{#1}\defopvarparsebody\Edefcv\defcvx\defcvarheader\defcvtype}
\def\defcvarheader #1#2#3{\dosubind {vr}{\code{#2}}{of #1}\begingroup\defname {#2}{\defcvtype{} of #1}\defvarargs {#3}\endgroup }
\def\defivar{\defvrparsebody\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\penalty 10000\vskip -\parskip\penalty 10000}
\def\defvr{\defvrparsebody\Edefvr\defvrx\defvrheader}
\def\defvrheader #1#2#3{\doind {vr}{\code{#2}}\begingroup\defname {#2}{#1}\defvarargs{#3}\endgroup}
\def\defvar{\defvarparsebody\Edefvar\defvarx\defvarheader}
\def\defvarheader #1#2{\doind {vr}{\code{#1}}\begingroup\defname {#1}{Variable}\defvarargs {#2}\endgroup }
\def\defopt{\defvarparsebody\Edefopt\defoptx\defoptheader}
\def\defoptheader #1#2{\doind {vr}{\code{#1}}\begingroup\defname {#1}{User Option}\defvarargs {#2}\endgroup }
\def\deftypevar{\defvarparsebody\Edeftypevar\deftypevarx\deftypevarheader}
\def\deftypevarheader #1#2{\doind {vr}{\code{#2}}\begingroup\defname {\code{#1} #2}{Variable}\interlinepenalty=10000
\endgraf\penalty 10000\vskip -\parskip\penalty 10000
\endgroup}
\def\deftypevr{\defvrparsebody\Edeftypevr\deftypevrx\deftypevrheader}
\def\deftypevrheader #1#2#3{\doind {vr}{\code{#3}}\begingroup\defname {\code{#2} #3}{#1}
\interlinepenalty=10000
\endgraf\penalty 10000\vskip -\parskip\penalty 10000
\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\deftypevarx #1 {\errmessage{@deftypevarx in invalid context}}
\def\deftypevrx #1 {\errmessage{@deftypevrx in invalid context}}
\def\deftpargs #1{\bf \defvarargs{#1}}
\def\deftp{\defvrparsebody\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
\newif\ifhavexrefs \newif\ifwarnedxrefs
\def\setref#1{\dosetq{#1-pg}{Ypagenumber}\dosetq{#1-snt}{Ysectionnumberandtype}}
\def\unnumbsetref#1{\dosetq{#1-pg}{Ypagenumber}\dosetq{#1-snt}{Ynothing}}
\def\appendixsetref#1{\dosetq{#1-pg}{Ypagenumber}\dosetq{#1-snt}{Yappendixletterandtype}}
\def\pxref#1{see \xrefX[#1,,,,,,,]}
\def\xref#1{See \xrefX[#1,,,,,,,]}
\def\ref#1{\xrefX[#1,,,,,,,]}
\def\xrefX[#1,#2,#3,#4,#5,#6]{\begingroup\def\printedmanual{\ignorespaces #5}\def\printednodename{\ignorespaces #3}\setbox1=\hbox{\printedmanual}\setbox0=\hbox{\printednodename}\ifdim \wd0=0pt\def\printednodename{\ignorespaces #1}\fi\ifdim \wd1>0pt
section ``\printednodename'' in \cite{\printedmanual}\else\turnoffactive\refx{#1-snt}{} [\printednodename], page\tie\refx{#1-pg}{}\fi
\endgroup}
\def\dosetq #1#2{{\let\folio=0 \turnoffactive\edef\next{\write\auxfile{\internalsetq {#1}{#2}}}\next}}
\def\internalsetq #1#2{'xrdef {#1}{\csname #2\endcsname}}
\def\Ypagenumber{\folio}
\def\Ytitle{\thischapter}
\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 }
\def\Yappendixletterandtype{\ifnum\secno=0 Appendix\xreftie'char\the\appendixno{}\else \ifnum \subsecno=0 Section\xreftie'char\the\appendixno.\the\secno \else \ifnum \subsubsecno=0 Section\xreftie'char\the\appendixno.\the\secno.\the\subsecno \else Section\xreftie'char\the\appendixno.\the\secno.\the\subsecno.\the\subsubsecno \fi \fi \fi }
\gdef\xreftie{'tie}
\ifx\inputlineno\thisisundefined
\let\linenumber = \empty \else
\def\linenumber{\the\inputlineno:\space}
\fi
\def\refx#1#2{ \expandafter\ifx\csname X#1\endcsname\relax
$\langle$un\-de\-fined$\rangle$ \ifhavexrefs
\message{\linenumber Undefined cross reference `#1'.} \else
\ifwarnedxrefs\else
\global\warnedxrefstrue
\message{Cross reference values unknown; you must run TeX again.} \fi
\fi
\else
\csname X#1\endcsname
\fi
#2}
\def\xrdef #1#2{
{\catcode`\'=\other\expandafter \gdef \csname X#1\endcsname {#2}}}
\def\readauxfile{\begingroup
\catcode `\^^@=\other
\catcode `\=\other
\catcode `\=\other
\catcode `\^^C=\other
\catcode `\^^D=\other
\catcode `\^^E=\other
\catcode `\^^F=\other
\catcode `\^^G=\other
\catcode `\^^H=\other
\catcode `\=\other
\catcode `\^^L=\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 26=\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 \global\havexrefstrue
\fi
\openout \auxfile=\jobname.aux
\endgroup}
\newcount \footnoteno
\def\supereject{\par\penalty -20000\footnoteno =0 }
\let\footnotestyle=\comment
\let\ptexfootnote=\footnote
{\catcode `\@=11
\long\gdef\footnote #1{\global\advance \footnoteno by \@ne
\unskip
\edef\thisfootno{$^{\the\footnoteno}$}\let\@sf\empty
\ifhmode\edef\@sf{\spacefactor\the\spacefactor}\/\fi
\thisfootno\@sf \footnotezzz{#1}}
\long\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\parindent=\defaultparindent\hang\textindent{\thisfootno}#1\strut}}
}
\message{and turning on texinfo input format.}
\def\openindices{ \newindex{cp} \newcodeindex{fn} \newcodeindex{vr} \newcodeindex{tp} \newcodeindex{ky} \newcodeindex{pg}}
\newdimen\defaultparindent \defaultparindent = 15pt
\parindent = \defaultparindent
\parskip 18pt plus 1pt
\baselineskip 15pt
\advance\topskip by 1.2cm
\vbadness=10000
\widowpenalty=10000
\clubpenalty=10000
\ifx\emergencystretch\thisisundefined \else
\emergencystretch = \hsize
\divide\emergencystretch by 45
\fi
\def\smallbook{
\global\lispnarrowing = 0.3in
\global\baselineskip 12pt
\advance\topskip by -1cm
\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\contentsrightmargin=0pt
\global\pagewidth=\hsize
\global\pageheight=\vsize
\global\let\smalllisp=\smalllispx
\global\let\smallexample=\smalllispx
\global\def\Esmallexample{\Esmalllisp}
}
\def\afourpaper{
\global\tolerance=700
\global\hfuzz=1pt
\global\baselineskip=12pt
\global\parskip 15pt plus 1pt
\global\vsize= 53\baselineskip
\advance\vsize by \topskip
\global\hsize= 6.5in
\global\outerhsize=\hsize
\global\advance\outerhsize by 0.5in
\global\outervsize=\vsize
\global\advance\outervsize by 0.6in
\global\doublecolumnhsize=\hsize
\global\divide\doublecolumnhsize by 2
\global\advance\doublecolumnhsize by -0.1in
\global\doublecolumnvsize=\vsize
\global\multiply\doublecolumnvsize by 2
\global\advance\doublecolumnvsize by 0.1in
\global\pagewidth=\hsize
\global\pageheight=\vsize
}
\def\finalout{\overfullrule=0pt}
\catcode`\"=\other
\catcode`\~=\other
\catcode`\^=\other
\catcode`\_=\other
\catcode`\|=\other
\catcode`\<=\other
\catcode`\>=\other
\catcode`\+=\other
\def\normaldoublequote{"}
\def\normaltilde{~}
\def\normalcaret{^}
\def\normalunderscore{_}
\def\normalverticalbar{|}
\def\normalless{<}
\def\normalgreater{>}
\def\normalplus{+}
\def\ifusingtt#1#2{\ifdim \fontdimen3\the\font=0pt #1\else #2\fi}
\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_{\ifusingtt\normalunderscore\_}
\def\_{\lvvmode \kern.06em \vbox{\hrule width.3em height.1ex}}
\def\lvvmode{\vbox to 0pt{}}
\catcode`\|=\active
\def|{{\tt \char '174}}
\chardef \less=`\<
\catcode`\<=\active
\def<{{\tt \less}}
\chardef \gtr=`\>
\catcode`\>=\active
\def>{{\tt \gtr}}
\catcode`\+=\active
\def+{{\tt \char 43}}
\def\turnoffactive{\let"=\normaldoublequote
\let~=\normaltilde
\let^=\normalcaret
\let_=\normalunderscore
\let|=\normalverticalbar
\let<=\normalless
\let>=\normalgreater
\let+=\normalplus}
{\catcode`\==\active
\global\def={{\tt \char 61}}}
\catcode`\@=0
\global\chardef\rawbackslashxx=`\\
{\catcode`\\=\active
@gdef@rawbackslash{@let\=@rawbackslashxx }}
\def\normalbackslash{{\tt\rawbackslashxx}}
\escapechar=`\@
\catcode`\\=\active
@gdef@eatinput input texinfo{@fixbackslash}
@global@let\ = @eatinput
@gdef@fixbackslash{@ifx\@eatinput @let\ = @normalbackslash @fi}
@catcode`@$=@other @catcode`@
@textfonts
@rm
@c Local variables:
@c page-delimiter: "^\\\\message"
@c End: