1464 lines
		
	
	
		
			24 KiB
		
	
	
	
		
			Groff
		
	
	
	
	
	
			
		
		
	
	
			1464 lines
		
	
	
		
			24 KiB
		
	
	
	
		
			Groff
		
	
	
	
	
	
.\" Macro package for producing books (based on -ms)
 | 
						||
.nr PS 12
 | 
						||
.nr PZ 12
 | 
						||
.\"	RT -  reset everything to normal state
 | 
						||
.de RT
 | 
						||
.if !\\n(1T .BG
 | 
						||
.ce 0
 | 
						||
.if !\\n(IK .if !\\n(IF .if !\\n(IX .if !\\n(BE .di
 | 
						||
.ul 0
 | 
						||
.if \\n(QP \{\
 | 
						||
.	ll +\\n(QIu
 | 
						||
.	in -\\n(QIu
 | 
						||
.	nr QP -1\}
 | 
						||
.if \\n(NX<=1 .if \\n(AJ=0 .ll \\n(LLu
 | 
						||
.if \\n(IF=0 \{\
 | 
						||
.	ps \\n(PS
 | 
						||
.	if \\n(VS>=41 .vs \\n(VSu
 | 
						||
.	if \\n(VS<=40 .vs \\n(VSp\}
 | 
						||
.if \\n(IP .in -\\n(I\\n(IRu
 | 
						||
.if \\n(IP=0 .nr I0 \\n(PIu
 | 
						||
.if \\n(IP .nr IP -1
 | 
						||
.ft 1
 | 
						||
.bd 1
 | 
						||
.ta 5n 10n 15n 20n 25n 30n 35n 40n 45n 50n 55n 60n 65n 70n 75n 80n
 | 
						||
.fi
 | 
						||
..
 | 
						||
.	\"IZ - initialization
 | 
						||
.de IZ
 | 
						||
.nr TN 0
 | 
						||
.em EM
 | 
						||
.if n .ds [. [
 | 
						||
.if t .ds [. \s-2\v'-.4m'\f1
 | 
						||
.if n .ds .] ]
 | 
						||
.if t .ds .] \v'.4m'\s+2\fP
 | 
						||
.if n .ds [o ""
 | 
						||
.if n .ds [c ""
 | 
						||
.if t .ds [o ``
 | 
						||
.if t .ds [c ''
 | 
						||
.ch FO \\n(YYu
 | 
						||
.if \\n(FM=0 .nr FM 1i
 | 
						||
.nr YY -\\n(FMu
 | 
						||
.nr XX 0 1
 | 
						||
.nr IP 0
 | 
						||
.nr PI 5n
 | 
						||
.nr QI 5n
 | 
						||
.nr I0 \\n(PIu
 | 
						||
.nr PZ 12
 | 
						||
.nr VZ 13.8p
 | 
						||
.nr PS \n(PZ
 | 
						||
.nr VS \\n(VZu
 | 
						||
.if !\\n(PD .if n .nr PD 1v
 | 
						||
.if !\\n(PD .if t .nr PD 0.3v
 | 
						||
.nr ML 3v
 | 
						||
.ps \\n(PS
 | 
						||
.if \\n(VS>=41 .vs \\n(VSu
 | 
						||
.if \\n(VS<=40 .vs \\n(VSp
 | 
						||
.nr IR 0
 | 
						||
.nr TB 0
 | 
						||
.nr SJ \\n(.j
 | 
						||
.nr LL 6i
 | 
						||
.ll \\n(LLu
 | 
						||
.nr LT \\n(.l
 | 
						||
.lt \\n(LTu
 | 
						||
.ev 1
 | 
						||
.nr FL \\n(LLu*11u/12u
 | 
						||
.ll \\n(FLu
 | 
						||
.ps 10
 | 
						||
.vs 12p
 | 
						||
.ev
 | 
						||
.if \\*(CH .ds CH "\(hy \\\\n(PN \(hy
 | 
						||
.wh 0 NP
 | 
						||
.wh -\\n(FMu FO
 | 
						||
.ch FO 16i
 | 
						||
.wh -\\n(FMu FX
 | 
						||
.ch FO -\\n(FMu
 | 
						||
.if t .wh -\\n(FMu/2u BT
 | 
						||
.if n .wh -\\n(FMu/2u-1v BT
 | 
						||
..
 | 
						||
.	\"KS keep - for keep release features. As in IFM
 | 
						||
.de KS
 | 
						||
.nr KN \\n(.u
 | 
						||
.if \\n(IK=0 .if \\n(IF=0 .KQ
 | 
						||
.nr IK +1
 | 
						||
..
 | 
						||
.	\"KQ - real keep processor
 | 
						||
.de KQ
 | 
						||
.br
 | 
						||
.nr KI \\n(.i
 | 
						||
.ev 2
 | 
						||
.br
 | 
						||
.in \\n(KIu
 | 
						||
.ps \\n(PS
 | 
						||
.if \\n(VS>40 .vs \\n(VSu
 | 
						||
.if \\n(VS<=39 .vs \\n(VSp
 | 
						||
.ll \\n(LLu
 | 
						||
.lt \\n(LTu
 | 
						||
.if \\n(NX>1 .ll \\n(CWu
 | 
						||
.if \\n(NX>1 .lt \\n(CWu
 | 
						||
.di KK
 | 
						||
.nr TB 0
 | 
						||
.nr KV 0
 | 
						||
..
 | 
						||
.	\"KF - floating keep
 | 
						||
.de KF
 | 
						||
.nr KN \\n(.u
 | 
						||
.if !\\n(IK .FQ
 | 
						||
.nr IK +1
 | 
						||
..
 | 
						||
.	\"FQ real floating keep processor
 | 
						||
.de FQ
 | 
						||
.nr KI \\n(.i
 | 
						||
.ev 2
 | 
						||
.br
 | 
						||
.in \\n(KIu
 | 
						||
.ps \\n(PS
 | 
						||
.if \\n(VS>40 .vs \\n(VSu
 | 
						||
.if \\n(VS<=39 .vs \\n(VSp
 | 
						||
.ll \\n(LLu
 | 
						||
.lt \\n(LTu
 | 
						||
.if \\n(NX>1 .ll \\n(CWu
 | 
						||
.if \\n(NX>1 .lt \\n(CWu
 | 
						||
.di KK
 | 
						||
.nr TB 1
 | 
						||
.nr KV 0
 | 
						||
..
 | 
						||
.	\"KP - keep full page
 | 
						||
.de KP
 | 
						||
.nr KV 1
 | 
						||
..
 | 
						||
.	\"KE release - everything between keep and release is together
 | 
						||
.de KE
 | 
						||
.if \\n(IK .if !\\n(IK-1 .if \\n(IF=0 .RQ
 | 
						||
.if \\n(IK .nr IK -1
 | 
						||
..
 | 
						||
.	\"RQ real release
 | 
						||
.de RQ
 | 
						||
.br
 | 
						||
.di
 | 
						||
.nr NF 0
 | 
						||
.if \\n(dn-\\n(.t .nr NF 1
 | 
						||
.if \\n(TC .nr NF 1
 | 
						||
.if \\n(KV .nr NF 1 \" if KV on full page needed, doesn't fit
 | 
						||
.if \\n(NF .if !\\n(TB .sp 11i
 | 
						||
.if !\\n(NF .if \\n(TB .nr TB 0
 | 
						||
.nf
 | 
						||
.rs
 | 
						||
.nr TC 5
 | 
						||
.in 0
 | 
						||
.ls 1
 | 
						||
.if \\n(TB=0 .ev
 | 
						||
.if \\n(TB=0 .br
 | 
						||
.if \\n(TB=0 .ev 2
 | 
						||
.if \\n(TB=0 .KK
 | 
						||
.ls
 | 
						||
.ce 0
 | 
						||
.if \\n(TB=0 .rm KK
 | 
						||
.if \\n(TB .da KJ
 | 
						||
.if \\n(TB \!.KD \\n(dn \\n(KV
 | 
						||
.if \\n(TB .KK
 | 
						||
.if \\n(TB .di
 | 
						||
.nr TC \\n(TB
 | 
						||
.if \\n(KN .fi
 | 
						||
.in
 | 
						||
.ev
 | 
						||
..
 | 
						||
.de EQ  \"equation, breakout and display
 | 
						||
.nr EF \\n(.u
 | 
						||
.rm EE
 | 
						||
.nr LE 1	\" 1 is center
 | 
						||
.ds EL \\$1
 | 
						||
.if "\\$1"L" .ds EL \\$2
 | 
						||
.if "\\$1"L" .nr LE 0
 | 
						||
.if "\\$1"C" .ds EL \\$2
 | 
						||
.if "\\$1"I" .nr LE 0
 | 
						||
.if "\\$1"I" .ds EE \\h'|10n'
 | 
						||
.if "\\$1"I" .if !"\\$3"" .ds EE \\h'\\$3'
 | 
						||
.if "\\$1"I" .ds EL \\$2
 | 
						||
.if \\n(YE>0 .nf
 | 
						||
.di EZ
 | 
						||
..
 | 
						||
.de EN  \" end of a displayed equation
 | 
						||
.br
 | 
						||
.di
 | 
						||
.rm EZ
 | 
						||
.nr ZN \\n(dn
 | 
						||
.if \\n(ZN>0 .if \\n(YE=0 .LP
 | 
						||
.if \\n(ZN=0 .if !"\\*(EL"" .nr ZN 1
 | 
						||
.if "\\n(.z"" .if \\n(ZN>0 .if !\\n(nl=\\n(PE .if t .sp .5
 | 
						||
.if "\\n(.z"" .if \\n(ZN>0 .if !\\n(nl=\\n(PE .if n .sp 1
 | 
						||
.if !"\\n(.z"" .if \\n(ZN>0 .if !\\n(.d=\\n(PE .if t .sp .5
 | 
						||
.if !"\\n(.z"" .if \\n(ZN>0 .if !\\n(.d=\\n(PE .if n .sp 1
 | 
						||
'pc
 | 
						||
.if \\n(BD>0 .nr LE 0 \" can't mean centering in this case.
 | 
						||
.if \\n(MK>0 .if \\n(LE=1 .ds EE \\h'|10n'
 | 
						||
.if \\n(MK>0 .nr LE 0 \" don't center if mark/lineup
 | 
						||
'lt \\n(.lu
 | 
						||
.if \\n(EP=0 .if \\n(ZN>0 .if \\n(LE>0 .tl \(ts\(ts\\*(10\(ts\\*(EL\(ts
 | 
						||
.if \\n(EP=0 .if \\n(ZN>0 .if \\n(LE=0 .if \\n(BD=0 .tl \(ts\\*(EE\\*(10\(ts\(ts\\*(EL\(ts
 | 
						||
.if \\n(EP=0 .if \\n(ZN>0 .if \\n(LE=0 .if \\n(BD>0 .if \\n(BD<\\w\(ts\\*(10\(ts .nr BD \\w\(ts\\*(10\(ts
 | 
						||
.if \\n(EP=0 .if \\n(ZN>0 .if \\n(LE=0 .if \\n(BD>0 \!\\*(10\\t\\*(EL
 | 
						||
.if \\n(EP>0 .if \\n(ZN>0 .if \\n(LE>0 .tl \(ts\\*(EL\(ts\\*(10\(ts\(ts
 | 
						||
.if \\n(EP>0 .if \\n(ZN>0 .if \\n(LE=0 .if \\n(BD=0 .tl \(ts\\*(EL\\*(EE\\*(10\(ts\(ts\(ts
 | 
						||
.if \\n(EP>0 .if \\n(ZN>0 .if \\n(LE=0 .if \\n(BD>0 .if \\n(BD<\\w\(ts\\*(10\(ts .nr BD \\w\(ts\\*(10\(ts
 | 
						||
.if \\n(EP>0 .if \\n(ZN>0 .if \\n(LE=0 .if \\n(BD>0 \!\\h'-\\\\n(.iu'\\*(EL\\h'|0'\\*(10
 | 
						||
.\".di EZ \" GCOS patch
 | 
						||
.\"\\*(10 \" GCOS patch
 | 
						||
.\".br \" GCOS patch
 | 
						||
.\".di \" GCOS patch
 | 
						||
.\".rm EZ \" GCOS patch
 | 
						||
'lt \\n(LLu
 | 
						||
'pc %
 | 
						||
.if \\n(YE>0 .if \\n(EF>0 .fi
 | 
						||
.rm EL 10 11 12 13 14 15 16 17 18 19 20 21 22 23
 | 
						||
.rr 10 11 12 13 14 15 16 17 18 19 20 21 22 23
 | 
						||
.if \\n(ZN>0 .if t .sp .5
 | 
						||
.if \\n(ZN>0 .if n .sp
 | 
						||
.if "\\n(.z"" .nr PE \\n(nl
 | 
						||
.if !"\\n(.z"" .nr PE \\n(.d
 | 
						||
.nr z 72-((\\n(nl-\\n(HM)%72)
 | 
						||
.if \\n(nl<\\n(HM .nr z 0
 | 
						||
.if \\nz>0 .if \\nz<60 .sp \\nzu  \"force post equation text to whole line
 | 
						||
.if \\nz>59 .if \\nz<72 .sp \\nzu-72u   \"move backwards a fraction of a pica
 | 
						||
..
 | 
						||
.de ME
 | 
						||
.nr SJ \\n(.j
 | 
						||
.if \\n(LL>0 .nr LT \\n(LL
 | 
						||
.nr YE 1
 | 
						||
.if \\n(PO=0 .nr PO \\n(.o
 | 
						||
.if \\n(mo-0 .ds MO January
 | 
						||
.if \\n(mo-1 .ds MO February
 | 
						||
.if \\n(mo-2 .ds MO March
 | 
						||
.if \\n(mo-3 .ds MO April
 | 
						||
.if \\n(mo-4 .ds MO May
 | 
						||
.if \\n(mo-5 .ds MO June
 | 
						||
.if \\n(mo-6 .ds MO July
 | 
						||
.if \\n(mo-7 .ds MO August
 | 
						||
.if \\n(mo-8 .ds MO September
 | 
						||
.if \\n(mo-9 .ds MO October
 | 
						||
.if \\n(mo-10 .ds MO November
 | 
						||
.if \\n(mo-11 .ds MO December
 | 
						||
.if \\n(dw-0 .ds DW Sunday
 | 
						||
.if \\n(dw-1 .ds DW Monday
 | 
						||
.if \\n(dw-2 .ds DW Tuesday
 | 
						||
.if \\n(dw-3 .ds DW Wednesday
 | 
						||
.if \\n(dw-4 .ds DW Thursday
 | 
						||
.if \\n(dw-5 .ds DW Friday
 | 
						||
.if \\n(dw-6 .ds DW Saturday
 | 
						||
.if "\\*(DY"" .ds DY \\*(MO \\n(dy, 19\\n(yr
 | 
						||
.if "\\*(CF"" .if n .ds CF "\\*(DY
 | 
						||
..
 | 
						||
.	\"EM end up macro - process left over keep-release
 | 
						||
.de EM
 | 
						||
.br
 | 
						||
.if \\n(TB=0 .if t .wh -1p CM
 | 
						||
.if \\n(TB \&\c
 | 
						||
.if \\n(TB 'bp
 | 
						||
.if \\n(TB .NP
 | 
						||
.if \\n(TB .ch CM 160
 | 
						||
..
 | 
						||
.	\"NP new page
 | 
						||
.de NP
 | 
						||
.if \\n(FM+\\n(HM>=\\n(.p .tm Margins bigger than page length.
 | 
						||
.if \\n(FM+\\n(HM>=\\n(.p .ab
 | 
						||
.if \\n(FM+\\n(HM>=\\n(.p .ex
 | 
						||
.nr PX \\n(.s
 | 
						||
.nr PF \\n(.f
 | 
						||
.nr PV \\n(.v
 | 
						||
.if t .CM
 | 
						||
.if \\n(HM=0 .nr HM 1i
 | 
						||
'sp \\n(HMu/2u
 | 
						||
.lt \\n(LTu
 | 
						||
.ps \\n(PS
 | 
						||
.vs \\n(PS+2
 | 
						||
.ft 1
 | 
						||
.if \\n(PO>0 .po \\n(POu
 | 
						||
.PT
 | 
						||
.ps \\n(PX
 | 
						||
.vs \\n(PVu
 | 
						||
.ft \\n(PF
 | 
						||
'sp |\\n(HMu
 | 
						||
.nr XX 0 1
 | 
						||
.nr YY 0-\\n(FMu
 | 
						||
.ch FO 16i
 | 
						||
.ch FX 17i
 | 
						||
.ch FO \\n(.pu-\\n(FMu
 | 
						||
.ch FX \\n(.pu-\\n(FMu
 | 
						||
.if \\n(MF .FV
 | 
						||
.nr MF 0
 | 
						||
.mk
 | 
						||
.os
 | 
						||
.ev 1
 | 
						||
.if \\n(TD=0 .if \\n(TC<5  .XK
 | 
						||
.nr TC 0
 | 
						||
.ns
 | 
						||
.ev
 | 
						||
.nr TQ \\n(.i
 | 
						||
.nr TK \\n(.u
 | 
						||
.if \\n(IT>0 \{\
 | 
						||
.	in 0
 | 
						||
.	nf
 | 
						||
.	TT
 | 
						||
.	in \\n(TQu
 | 
						||
.	if \\n(TK .fi\
 | 
						||
\}
 | 
						||
.mk #T
 | 
						||
.if t .if \\n(.o+\\n(LL>7.75i .tm Offset (\\n(.o) + line length (\\n(LL) exceeds 7.75 inches, too wide
 | 
						||
..
 | 
						||
.de XK
 | 
						||
.nr TD 1
 | 
						||
.nf
 | 
						||
.ls 1
 | 
						||
.in 0
 | 
						||
.rn KJ KL
 | 
						||
.KL
 | 
						||
.rm KL
 | 
						||
.if "\\n(.z"KJ" .di
 | 
						||
.nr TB 0
 | 
						||
.if "\\n(.z"KJ" .nr TB 1
 | 
						||
.br
 | 
						||
.in
 | 
						||
.ls
 | 
						||
.fi
 | 
						||
.if (\\n(nl+1v)>(\\n(.p-\\n(FM) .if \\n(NX>1 .RC
 | 
						||
.if (\\n(nl+1v)>(\\n(.p-\\n(FM) .if \\n(NX<1 .bp
 | 
						||
.nr TD 0
 | 
						||
..
 | 
						||
.de KD
 | 
						||
.nr KM 0
 | 
						||
.if "\\n(.z"" .if \\$2>0 .if \\n(nl>\\n(HM .if (\\n(nl+1v)<(\\n(.p-\\n(FM) .di KJ
 | 
						||
.if "\\n(.z"" .if \\n(nl>\\n(HM .if \\$2>0 .sp 15i \" full page figure must have new page
 | 
						||
.if "\\n(.z"" .if \\n(nl>\\n(HM .if \\$2=0 .if (\\n(nl+1v)>(\\n(.p-\\n(FM) .sp 15i
 | 
						||
.if "\\n(.z"KJ" .nr KM 1 \" KM is 1 if in a rediversion of keeps
 | 
						||
.if \\n(KM>0 \!.KD \\$1 \\$2
 | 
						||
.nr KR \\n(.t
 | 
						||
.if \\n(nl<=\\n(HM .nr KR 32767
 | 
						||
.if \\n(KM=0 .if \\n(KR<\\$1 .di KJ
 | 
						||
.if \\n(KM=0 .if \\n(KR<\\$1 .nr KM 1
 | 
						||
.if \\n(KM=0 .if \\$2>0 .if (\\n(nl+1v)>(\\n(.p-\\n(FM) .sp 15i
 | 
						||
.rs
 | 
						||
.if \\n(KM=0 .if \\$2>0 .sp \\n(.tu-\\$1u
 | 
						||
..
 | 
						||
.de PT
 | 
						||
.lt \\n(LLu
 | 
						||
.pc %
 | 
						||
.nr PN \\n%
 | 
						||
....if \\n%-1 .tl '\\*(LH'\\*(CH'\\*(RH'
 | 
						||
.lt \\n(.lu
 | 
						||
..
 | 
						||
.	\"FO - footer of page
 | 
						||
.de FO
 | 
						||
.rn FO FZ
 | 
						||
.if \\n(K1>0 .tm This memo has a multi-page cover sheet.  You are
 | 
						||
.if \\n(K1>0 .tm rebuked in the name of the Committee on Technical Memoranda.
 | 
						||
.if \\n(IT>0 .nr T. 1
 | 
						||
.if \\n(IT>0 .if \\n(FC=0  .T# 1
 | 
						||
.if \\n(IT>0 .br
 | 
						||
.nr FC +1
 | 
						||
.if \\n(NX<2 .nr WF 0
 | 
						||
.nr dn 0
 | 
						||
.if \\n(FC<=1 .if \\n(XX .XF
 | 
						||
.rn FZ FO
 | 
						||
.nr MF 0
 | 
						||
.if \\n(dn  .nr MF 1
 | 
						||
.if !\\n(WF .nr YY 0-\\n(FMu
 | 
						||
.if !\\n(WF .ch FO \\n(YYu
 | 
						||
.if !\\n(dn .nr WF 0
 | 
						||
.if \\n(FC<=1 .if \\n(XX=0  .if \\n(NX>1 .RC
 | 
						||
.nr x 7176u-\\n(.d
 | 
						||
.if \nL=1 .if \\n(FC<=1 .if \\n(XX=0  .if \\n(NX<1 'tm Chap=\\na  page=\\n%   short=\\nx    
 | 
						||
.if \\n(FC<=1 .if \\n(XX=0  .if \\n(NX<1 'bp
 | 
						||
.nr FC -1
 | 
						||
.if \\n(ML>0 .ne \\n(MLu
 | 
						||
..
 | 
						||
.	\"2C - begin double column
 | 
						||
.de 2C
 | 
						||
.MC \" default MC is double column
 | 
						||
..
 | 
						||
.de MC \" multiple columns- arg is line length
 | 
						||
.nr L1 \\n(LL*7/15
 | 
						||
.if \\n(.$>0 .nr L1 \\$1n
 | 
						||
.nr GW 0-1
 | 
						||
.if \\n(.$>1 .nr GW \\$1n
 | 
						||
.nr NQ \\n(LL/\\n(L1
 | 
						||
.if \\n(NQ<1 .nr NQ 1
 | 
						||
.if \\n(NQ>2 .if (\\n(LL%\\n(L1)=0 .nr NQ -1
 | 
						||
.if \\n(1T=0 \{\
 | 
						||
.	BG
 | 
						||
.	if n .sp 4
 | 
						||
.	if t .sp 2\}
 | 
						||
.if \\n(NX=0 .nr NX 1
 | 
						||
.if !\\n(NX=\\n(NQ \{\
 | 
						||
.	RT
 | 
						||
.	if \\n(NX>1 .bp
 | 
						||
.	mk
 | 
						||
.	nr NC 1
 | 
						||
.	po \\n(POu\}
 | 
						||
.if \\n(NQ>1 .hy 14
 | 
						||
.nr NX \\n(NQ
 | 
						||
.nr CW \\n(L1
 | 
						||
.ll \\n(CWu
 | 
						||
.nr FL \\n(CWu*11u/12u
 | 
						||
.if \\n(NX>1 .nr GW (\\n(LL-(\\n(NX*\\n(CW))/(\\n(NX-1)
 | 
						||
.nr RO \\n(CW+\\n(GW
 | 
						||
.ns
 | 
						||
..
 | 
						||
.de RC
 | 
						||
.ie \\n(NC>=\\n(NX .C2
 | 
						||
.el .C1
 | 
						||
..
 | 
						||
.de C1
 | 
						||
.rt
 | 
						||
.po +\\n(ROu
 | 
						||
.nr NC +1
 | 
						||
.if \\n(NC>\\n(NX .nr NC 1
 | 
						||
.nr XX 0 1
 | 
						||
.if \\n(MF .FV
 | 
						||
.ch FX \\n(.pu-\\n(FMu
 | 
						||
.ev 1
 | 
						||
.if \\n(TB .XK
 | 
						||
.nr TC 0
 | 
						||
.ev
 | 
						||
.nr TQ \\n(.i
 | 
						||
.if \\n(IT>0 .in 0
 | 
						||
.if \\n(IT>0 .TT
 | 
						||
.if \\n(IT>0 .in \\n(TQu
 | 
						||
.mk #T
 | 
						||
.ns
 | 
						||
..
 | 
						||
.de C2
 | 
						||
.po \\n(POu
 | 
						||
.nr NC +1
 | 
						||
.if \\n(NC>\\n(NX .nr NC 1
 | 
						||
'bp
 | 
						||
..
 | 
						||
.	\"1C - return to single column format
 | 
						||
.de 1C
 | 
						||
.MC \\n(LLu
 | 
						||
.hy 14
 | 
						||
..
 | 
						||
.	\".de R3
 | 
						||
.	\".pl 102
 | 
						||
.	\".nr LT \\n(.l
 | 
						||
.	\"..
 | 
						||
.de BT
 | 
						||
.nr PX \\n(.s
 | 
						||
.nr PF \\n(.f
 | 
						||
.ft 1
 | 
						||
.ps \\n(PS
 | 
						||
'lt \\n(LTu
 | 
						||
.po \\n(POu
 | 
						||
.if \\n%>0 .tl '\\*(LF'\\*(CF'\\*(RF'
 | 
						||
.ft \\n(PF
 | 
						||
.ps \\n(PX
 | 
						||
..
 | 
						||
.	\"PP - paragraph
 | 
						||
.de PP
 | 
						||
.RT
 | 
						||
.if \\n(1T .sp \\n(PDu
 | 
						||
.ti +\\n(PIu
 | 
						||
..
 | 
						||
.	\"SH - (unnumbered) section heading
 | 
						||
.de SH
 | 
						||
.ti \\n(.iu
 | 
						||
.RT
 | 
						||
.if \\n(1T .sp 1
 | 
						||
.if !\\n(1T .BG
 | 
						||
.RT
 | 
						||
.ne 4
 | 
						||
.ft 3
 | 
						||
..
 | 
						||
.	\"NH - numbered heading
 | 
						||
.de NH
 | 
						||
.RT
 | 
						||
.if \\n(1T .sp 1
 | 
						||
.if !\\n(1T .BG
 | 
						||
.RT
 | 
						||
.ne 4
 | 
						||
.ft 3
 | 
						||
.nr NS \\$1
 | 
						||
.if !\\n(.$ .nr NS 1
 | 
						||
.if !\\n(NS .nr NS 1
 | 
						||
.nr H\\n(NS +1
 | 
						||
.if !\\n(NS-4 .nr H5 0
 | 
						||
.if !\\n(NS-3 .nr H4 0
 | 
						||
.if !\\n(NS-2 .nr H3 0
 | 
						||
.if !\\n(NS-1 .nr H2 0
 | 
						||
.if !\\$1 .if \\n(.$ .nr H1 1
 | 
						||
.ds SN \\n(H1.
 | 
						||
.if \\na=0 .ds SN \\*(CN.
 | 
						||
.ti \\n(.iu
 | 
						||
.if \\n(NS-1 .as SN \\n(H2.
 | 
						||
.if \\n(NS-2 .as SN \\n(H3.
 | 
						||
.if \\n(NS-3 .as SN \\n(H4.
 | 
						||
.if \\n(NS-4 .as SN \\n(H5.
 | 
						||
\\*(SN
 | 
						||
..
 | 
						||
.	\"BG - begin, execute at first PP
 | 
						||
.de BG
 | 
						||
.br
 | 
						||
.ME
 | 
						||
.rm ME
 | 
						||
.di
 | 
						||
.ce 0
 | 
						||
.nr KI 0
 | 
						||
.hy 14
 | 
						||
.nr 1T 1
 | 
						||
.S\\n(ST
 | 
						||
.rm S0
 | 
						||
.rm S1
 | 
						||
.rm S2
 | 
						||
.rm S3
 | 
						||
.rm OD
 | 
						||
.rm OK
 | 
						||
.rm TX
 | 
						||
.rm AX
 | 
						||
.rm WT
 | 
						||
.rm CS
 | 
						||
.rm TM
 | 
						||
.rm IM
 | 
						||
.rm MF
 | 
						||
.rm MR
 | 
						||
.rm RP
 | 
						||
.rm I1
 | 
						||
.rm I2
 | 
						||
.rm I3
 | 
						||
.rm I4
 | 
						||
.rm I5
 | 
						||
.rm CB
 | 
						||
.rm E1
 | 
						||
.rm E2
 | 
						||
.de TL
 | 
						||
.ft 3
 | 
						||
.sp
 | 
						||
.if n .ul 100
 | 
						||
.ce 100
 | 
						||
.ps +2
 | 
						||
\\..
 | 
						||
.de AU
 | 
						||
.ft 2
 | 
						||
.if n .ul 0
 | 
						||
.ce 100
 | 
						||
.sp
 | 
						||
.NL
 | 
						||
\\..
 | 
						||
.de AI
 | 
						||
.ft 1
 | 
						||
.ce 100
 | 
						||
.if n .ul 0
 | 
						||
.if n .sp
 | 
						||
.if t .sp .5
 | 
						||
.NL
 | 
						||
\\..
 | 
						||
.RA
 | 
						||
.rm RA
 | 
						||
.rn FJ FS
 | 
						||
.rn FK FE
 | 
						||
.nf
 | 
						||
.ev 1
 | 
						||
.ps \\n(PS-2
 | 
						||
.vs \\n(.s+2p
 | 
						||
.ev
 | 
						||
.if \\n(KG=0 .nr FP 0 
 | 
						||
.if \\n(GA>1 .if \\n(KG=0 .nr GA 0 \" next UNIX must be flagged.
 | 
						||
.nr KG 0 
 | 
						||
.if \\n(FP>0 .FS
 | 
						||
.if \\n(FP>0 .FG
 | 
						||
.if \\n(FP>0 .FE
 | 
						||
.br
 | 
						||
.if \\n(TV>0 .if n .sp 2
 | 
						||
.if \\n(TV>0 .if t .sp 1
 | 
						||
.fi
 | 
						||
.ll \\n(LLu
 | 
						||
..
 | 
						||
.de RA \"redefine abstract macros
 | 
						||
.de AB
 | 
						||
.br
 | 
						||
.if !\\n(1T .BG
 | 
						||
.ce 1
 | 
						||
.sp 1
 | 
						||
.if \\n(.$=0 ABSTRACT
 | 
						||
.if \\n(.$>0 .if !"\\$1"-" .if !"\\$1"no"  \\$1
 | 
						||
.if \\n(.$=0 .sp
 | 
						||
.if \\n(.$>0 .if !"\\$1"-" .if !"\\$1"no" .sp
 | 
						||
.sp 1
 | 
						||
.nr AJ 1
 | 
						||
.in +\\n(.lu/12u
 | 
						||
.ll -\\n(.lu/12u
 | 
						||
.RT
 | 
						||
\\..
 | 
						||
.de AE
 | 
						||
.nr AJ 0
 | 
						||
.br
 | 
						||
.in 0
 | 
						||
.ll \\n(LLu
 | 
						||
.if \\n(VS>=41 .vs \\n(VSu
 | 
						||
.if \\n(VS<=40 .vs \\n(VSp
 | 
						||
\\..
 | 
						||
..
 | 
						||
.	\"IP - indented paragraph
 | 
						||
.de IP
 | 
						||
.RT
 | 
						||
.if !\\n(IP .nr IP +1
 | 
						||
.sp \\n(PDu
 | 
						||
.if \\n(.$-1 .nr I\\n(IR \\$2n
 | 
						||
.in +\\n(I\\n(IRu
 | 
						||
.nr TY \\n(TZ-\\n(.i
 | 
						||
.ta \\n(I\\n(IRu \\n(TYuR
 | 
						||
.if \\n(.$>0 \{\
 | 
						||
.ti -\\n(I\\n(IRu
 | 
						||
\&\\$1\t\c\}
 | 
						||
..
 | 
						||
.	\"LP - left aligned (block) paragraph
 | 
						||
.de LP
 | 
						||
.ti \\n(.iu
 | 
						||
.RT
 | 
						||
.if \\n(1T .sp \\n(PDu
 | 
						||
..
 | 
						||
.de QP
 | 
						||
.ti \\n(.iu
 | 
						||
.RT
 | 
						||
.if \\n(1T .sp \\n(PDu
 | 
						||
.ne 1.1
 | 
						||
.nr QP 1
 | 
						||
.in +\\n(QIu
 | 
						||
.ll -\\n(QIu
 | 
						||
.ti \\n(.iu
 | 
						||
..
 | 
						||
.	\"IE - synonym for .LP
 | 
						||
.de IE
 | 
						||
.LP
 | 
						||
..
 | 
						||
.	\"LB - label paragraph
 | 
						||
.de LB
 | 
						||
.in +\\n(I\\n(IRu
 | 
						||
.ta \\n(I\\n(IRu
 | 
						||
.if \\n(.$ .ti -\\n(I\\n(IRu
 | 
						||
.if \\n(.$ \&\\$1\t\c
 | 
						||
..
 | 
						||
.de XP
 | 
						||
.RT
 | 
						||
.if !\\n(IP .nr IP +1
 | 
						||
.sp \\n(PDu
 | 
						||
.ne 3
 | 
						||
.if \\n(.$=3 .nr I\\n(IR \\$3n
 | 
						||
.if \\n(.$=4 .nr I\\n(IR \\$4n
 | 
						||
.nr J\\n(IR \\n(IRu/2u
 | 
						||
.if \\n(.$=4 .nr J\\n(IR \\$3n
 | 
						||
.in +\\n(I\\n(IRu
 | 
						||
.ta \\n(J\\n(IRu \\n(I\\n(IRu
 | 
						||
.ti -\\n(I\\n(IRu
 | 
						||
\0\\$1\t\\$2\t\c
 | 
						||
..
 | 
						||
.	\"RS - prepare for double indenting
 | 
						||
.de RS
 | 
						||
.nr IS \\n(IP
 | 
						||
.RT
 | 
						||
.nr IP \\n(IS
 | 
						||
.if \\n(IP>0 .in +\\n(I\\n(IRu
 | 
						||
.nr IR +1
 | 
						||
.nr I\\n(IR \\n(PIu
 | 
						||
.in +\\n(I\\n(IRu
 | 
						||
.nr TY \\n(TZ-\\n(.i
 | 
						||
.ta \\n(TYuR
 | 
						||
..
 | 
						||
.	\"RE - retreat to the left
 | 
						||
.de RE
 | 
						||
.nr IS \\n(IP
 | 
						||
.RT
 | 
						||
.nr IP \\n(IS
 | 
						||
.if \\n(IR>0 .nr IR -1
 | 
						||
.if \\n(IP<=0 .in -\\n(I\\n(IRu
 | 
						||
..
 | 
						||
.de TC
 | 
						||
.nr TZ \\n(.lu
 | 
						||
.if \\n(.$ .nr TZ \\$1n
 | 
						||
.ta \\n(TZuR
 | 
						||
..
 | 
						||
.de TD
 | 
						||
.LP
 | 
						||
.nr TZ 0
 | 
						||
..
 | 
						||
.	\"CM - cut mark
 | 
						||
.de CM
 | 
						||
.po 0
 | 
						||
.lt 7.6i
 | 
						||
.ft 1
 | 
						||
.ps 10
 | 
						||
.vs 4p
 | 
						||
.po
 | 
						||
.vs
 | 
						||
.lt
 | 
						||
.ps
 | 
						||
.ft
 | 
						||
..
 | 
						||
.	\"B - bold font
 | 
						||
.de B
 | 
						||
.nr PQ \\n(.f
 | 
						||
.if t .ft 3
 | 
						||
.if "\\$1"" .if n .ul 1000
 | 
						||
.if !"\\$1"" .if n .ul 1
 | 
						||
.if t .if !"\\$1"" \&\\$1\\f\\n(PQ\\$2
 | 
						||
.if n .if \\n(.$=1 \&\\$1
 | 
						||
.if n .if \\n(.$>1 \&\\$1\\c
 | 
						||
.if n .if \\n(.$>1 \\&\\$2
 | 
						||
..
 | 
						||
.	\"R - Roman font
 | 
						||
.de R
 | 
						||
.if n .ul 0
 | 
						||
.ft 1
 | 
						||
..
 | 
						||
.	\"I - italic font
 | 
						||
.de I
 | 
						||
.nr PQ \\n(.f
 | 
						||
.if t .ft 2
 | 
						||
.if "\\$1"" .if n .ul 1000
 | 
						||
.if !"\\$1"" .if n .ul 1
 | 
						||
.if t .if !"\\$1"" \&\\$1\\f\\n(PQ\\$2
 | 
						||
.if n .if \\n(.$=1 \&\\$1
 | 
						||
.if n .if \\n(.$>1 \&\\$1\\c
 | 
						||
.if n .if \\n(.$>1 \\&\\$2
 | 
						||
..
 | 
						||
.	\"TA - tabs set in ens or chars
 | 
						||
.de TA
 | 
						||
.ta \\$1n \\$2n \\$3n \\$4n \\$5n \\$6n \\$7n \\$8n \\$9n
 | 
						||
..
 | 
						||
.	\"SM - make smaller size
 | 
						||
.de SM
 | 
						||
.if \\n(.$>0 \&\\$3\s-2\\$1\s0\\$2
 | 
						||
.if \\n(.$=0 .ps -2
 | 
						||
..
 | 
						||
.	\"LG - make larger size
 | 
						||
.de LG
 | 
						||
.ps +2
 | 
						||
..
 | 
						||
.	\"NL - return to normal size
 | 
						||
.de NL
 | 
						||
.ps \\n(PS
 | 
						||
..
 | 
						||
.	\"DA - force date; ND - no date or new date.
 | 
						||
.de DA
 | 
						||
.if \\n(.$ .ds DY \\$1 \\$2 \\$3 \\$4
 | 
						||
.ds CF \\*(DY
 | 
						||
..
 | 
						||
.de ND
 | 
						||
.ME
 | 
						||
.rm ME
 | 
						||
.ds DY \\$1 \\$2 \\$3 \\$4
 | 
						||
.rm CF
 | 
						||
..
 | 
						||
.de FN
 | 
						||
.FS
 | 
						||
..
 | 
						||
.	\"FS - begin footnote
 | 
						||
.de FJ
 | 
						||
'ce 0
 | 
						||
.di
 | 
						||
.ev1
 | 
						||
.ll \\n(FLu
 | 
						||
.da FF
 | 
						||
.br
 | 
						||
.if \\n(IF>0 .tm Footnote within footnote-illegal.
 | 
						||
.nr IF 1
 | 
						||
.if !\\n+(XX-1 .FA
 | 
						||
..
 | 
						||
.	\"FE - footnote end
 | 
						||
.de FK
 | 
						||
.br
 | 
						||
.in 0
 | 
						||
.nr IF 0
 | 
						||
.di
 | 
						||
.ev
 | 
						||
.if !\\n(XX-1 .nr dn +\\n(.v
 | 
						||
.nr YY -\\n(dn
 | 
						||
.if \\n(NX=0 .nr WF 1
 | 
						||
.if \\n(dl>\\n(CW .nr WF 1
 | 
						||
.if (\\n(nl+\\n(.v)<=(\\n(.p+\\n(YY) .ch FO \\n(YYu
 | 
						||
.if (\\n(nl+\\n(.v)>(\\n(.p+\\n(YY) .if \\n(nl>(\\n(HM+1.5v) .ch FO \\n(nlu+\\n(.vu
 | 
						||
.if (\\n(nl+\\n(.v)>(\\n(.p+\\n(YY) .if \\n(nl+\\n(FM+1v>\\n(.p .ch FX \\n(.pu-\\n(FMu+2v
 | 
						||
.if (\\n(nl+\\n(.v)>(\\n(.p+\\n(YY) .if \\n(nl<=(\\n(HM+1.5v) .ch FO \\n(HMu+(4u*\\n(.vu)
 | 
						||
..
 | 
						||
.\"	First page footer.
 | 
						||
.de FS
 | 
						||
.ev1
 | 
						||
.br
 | 
						||
.ll \\n(FLu
 | 
						||
.da FG
 | 
						||
..
 | 
						||
.de FE
 | 
						||
.br
 | 
						||
.di
 | 
						||
.nr FP \\n(dn
 | 
						||
.if \\n(1T=0 .nr KG 1 \"not in abstract repeat next page.
 | 
						||
.if "\\n(.z"OD" .nr KG 0 \" if in OK, don't repeat.
 | 
						||
.ev
 | 
						||
..
 | 
						||
.de FA
 | 
						||
.if n __________________________
 | 
						||
.if t \l'1i'
 | 
						||
.br
 | 
						||
..
 | 
						||
.de FV
 | 
						||
.FS
 | 
						||
.nf
 | 
						||
.ls 1
 | 
						||
.FY
 | 
						||
.ls
 | 
						||
.fi
 | 
						||
.FE
 | 
						||
..
 | 
						||
.de FX
 | 
						||
.if \\n(XX>0 .di FY
 | 
						||
.if \\n(XX>0 .ns
 | 
						||
..
 | 
						||
.de XF
 | 
						||
.if \\n(nlu+1v>(\\n(.pu-\\n(FMu) .ch FX \\n(nlu+1.9v
 | 
						||
.ev1
 | 
						||
.nf
 | 
						||
.ls 1
 | 
						||
.FF
 | 
						||
.rm FF
 | 
						||
.nr XX 0 1
 | 
						||
.br
 | 
						||
.ls
 | 
						||
.di
 | 
						||
.fi
 | 
						||
.ev
 | 
						||
..
 | 
						||
.de FL
 | 
						||
.ev1
 | 
						||
.nr FL \\$1n
 | 
						||
.ll \\$1
 | 
						||
.ev
 | 
						||
..
 | 
						||
.de UL \" underline argument, don't italicize
 | 
						||
.if t \\$1\l'|0\(ul'\\$2
 | 
						||
.if n .I \\$1 \\$2
 | 
						||
..
 | 
						||
.de UX
 | 
						||
UNIX
 | 
						||
..
 | 
						||
.de US
 | 
						||
the
 | 
						||
.UX
 | 
						||
operating system
 | 
						||
..
 | 
						||
.de QS
 | 
						||
.br
 | 
						||
.LP
 | 
						||
.in +\\n(QIu
 | 
						||
.ll -\\n(QIu
 | 
						||
..
 | 
						||
.de QE
 | 
						||
.br
 | 
						||
.ll +\\n(QIu
 | 
						||
.in -\\n(QIu
 | 
						||
.LP
 | 
						||
..
 | 
						||
.de B1 \" begin boxed stuff
 | 
						||
.br
 | 
						||
.di BB
 | 
						||
.nr BC 0
 | 
						||
.if "\\$1"C" .nr BC 1
 | 
						||
.nr BE 1
 | 
						||
..
 | 
						||
.de B2 \" end boxed stuff
 | 
						||
.br
 | 
						||
.nr BI 1n
 | 
						||
.if \\n(.$>0 .nr BI \\$1n
 | 
						||
.di
 | 
						||
.nr BE 0
 | 
						||
.nr BW \\n(dl
 | 
						||
.nr BH \\n(dn
 | 
						||
.ne \\n(BHu+\\n(.Vu
 | 
						||
.nr BQ \\n(.j
 | 
						||
.nf
 | 
						||
.ti 0
 | 
						||
.if \\n(BC>0 .in +(\\n(.lu-\\n(BWu)/2u
 | 
						||
.in +\\n(BIu
 | 
						||
.BB
 | 
						||
.in -\\n(BIu
 | 
						||
.nr BW +2*\\n(BI
 | 
						||
.sp -1
 | 
						||
\l'\\n(BWu\(ul'\L'-\\n(BHu'\l'|0\(ul'\h'|0'\L'\\n(BHu'
 | 
						||
.if \\n(BC>0 .in -(\\n(.lu-\\n(BWu)/2u
 | 
						||
.if \\n(BQ .fi
 | 
						||
.br
 | 
						||
..
 | 
						||
.de AT
 | 
						||
.nf
 | 
						||
.sp
 | 
						||
.ne 2
 | 
						||
Attached:
 | 
						||
..
 | 
						||
.de CT
 | 
						||
.nf
 | 
						||
.sp
 | 
						||
.ne 2
 | 
						||
.ie \\n(.$ Copy to \\$1:
 | 
						||
.el Copy to:
 | 
						||
..
 | 
						||
.de BX
 | 
						||
.if t \(br\|\\$1\|\(br\l'|0\(rn'\l'|0\(ul'
 | 
						||
.if n \(br\\kA\|\\$1\|\\kB\(br\v'-1v'\h'|\\nBu'\l'|\\nAu'\v'1v'\l'|\\nAu'
 | 
						||
..
 | 
						||
.IZ
 | 
						||
.rm IZ
 | 
						||
.\" ------------------- VARIABLES ------------------------------
 | 
						||
.\" \na - Current chapter
 | 
						||
.\" \nb - Current section
 | 
						||
.\" \nc - Current subsection 
 | 
						||
.\" \nd - Set to 0 initially, 1 by PT,  2 by .PB  Used to control running head
 | 
						||
.\" \ne - Current equation number
 | 
						||
.\" \ng - Used to count items in numbered lists
 | 
						||
.\" \nh - Counts number of times CP has been invoked
 | 
						||
.\" \nj - Set to 1 iff footer page number needed
 | 
						||
.\" \nk - Last figure number used
 | 
						||
.\" \nL - 1 if depth printed for each page
 | 
						||
.\" \nl - 1 old Agfa length to be used
 | 
						||
.\" \np - Numbers end-of-chapter problems
 | 
						||
.\" \nq - 1 for double spaced text, smaller vert. margins
 | 
						||
.\" \ns - initial page number
 | 
						||
.\" \nt - Variable part of spacing inside .BI macro
 | 
						||
.\" \nv - Scratch register in lower case roman numerals
 | 
						||
.\" \nx - Scratch register
 | 
						||
.\" ------------------- GENERAL PARAMETERS ---------------------
 | 
						||
.nr BO 43		\" number of lines of text per page
 | 
						||
.nr PO 1.3i
 | 
						||
.po \n(PO
 | 
						||
.if \nq=1 .ls 2		\" -rq1 invokes double spacing
 | 
						||
.nr LL 5.67i
 | 
						||
.if t \{
 | 
						||
.nr PL 29.73c
 | 
						||
.nr PI 0.25i\}
 | 
						||
.if n \{
 | 
						||
.nr LL 80m
 | 
						||
.nr PL 11.0i
 | 
						||
.nr PI 3m\}
 | 
						||
.pl \n(PLu
 | 
						||
.nr HM (\n(PLu-(\n(BOu*\n(VSu))/2u
 | 
						||
.nr FM \n(PLu-(\n(HMu+((\n(BOu-1u)*\n(VSu)+1u)
 | 
						||
.nr xx \n(HMu%\n(VZu
 | 
						||
.nr HM \n(HMu-\n(xxu
 | 
						||
.nr FM \n(FMu+\n(xxu
 | 
						||
.nr t 0 0
 | 
						||
.\" ------------------- INITIALIZATION -------------------------
 | 
						||
.nr d 0 0
 | 
						||
.nr e 0 1
 | 
						||
.nr h 0 1
 | 
						||
.nr j 1 0
 | 
						||
.nr t 0 0
 | 
						||
.tr ~
 | 
						||
.ds CT "~	\"initially empty
 | 
						||
.ND		\"suppress date on bottom of page
 | 
						||
.af v i		\"register v is in lower case roman
 | 
						||
.ch FO -\n(FMu
 | 
						||
.ch BT -\n(FMu+0.5P
 | 
						||
.\" ------------------- ALIGN TEXT TO A WHOLE NUMBER OF PICAS ----
 | 
						||
.de AL
 | 
						||
'nr xx \\n(.du%\\n(VZu
 | 
						||
'nr xy \\n(VZu-\\n(xx
 | 
						||
'if \\n(xy=\\n(VZu .nr xy 0
 | 
						||
'sp \\n(xyu
 | 
						||
..
 | 
						||
.\" ------------------- DIVISION OF TEXT INTO LOGICAL UNITS ----
 | 
						||
.\"	Define chapter number
 | 
						||
.de CP
 | 
						||
.ds CN \\$1
 | 
						||
.ds CX CHAP.
 | 
						||
.if '\\$1'A' .ds CX APPENDIX
 | 
						||
.if '\\$1'B' .ds CX APPENDIX
 | 
						||
.if '\\$1'C' .ds CX APPENDIX
 | 
						||
.if '\\$1'D' .ds CX APPENDIX
 | 
						||
.if '\\$1'E' .ds CX APPENDIX
 | 
						||
.if '\\$1'F' .ds CX APPENDIX
 | 
						||
.if '\\$1'A' .nr a 0 0
 | 
						||
.if '\\$1'B' .nr a 0 0
 | 
						||
.if '\\$1'C' .nr a 0 0
 | 
						||
.if '\\$1'D' .nr a 0 0
 | 
						||
.if '\\$1'E' .nr a 0 0
 | 
						||
.if '\\$1'F' .nr a 0 0
 | 
						||
.nr H1 \\$1 0
 | 
						||
.nr H2 0 1
 | 
						||
.nr a \\$1 0
 | 
						||
.nr b 0 1
 | 
						||
.nr c 0 1
 | 
						||
.nr d 1 1
 | 
						||
.nr e 0 1
 | 
						||
.nr k 0 1
 | 
						||
.nr s \\n%
 | 
						||
.if \\nq=1 .PH 6
 | 
						||
.ll \\n(LLu
 | 
						||
.nr LT \\n(LLu
 | 
						||
.lt \\n(LLu
 | 
						||
.ll \\n(LLu
 | 
						||
.pl \n(PLu
 | 
						||
.po \n(POu
 | 
						||
.in 0
 | 
						||
.nr PS \\n(PZ
 | 
						||
.nr VS \\n(VZu
 | 
						||
.nr PD 0i
 | 
						||
.ds ST
 | 
						||
.ds CT \\$2
 | 
						||
.if !'\\$3'' .as CT " \\$3
 | 
						||
.if \\nh .bp
 | 
						||
.rs
 | 
						||
.sp 16P
 | 
						||
.B
 | 
						||
.ps 30
 | 
						||
.vs 32
 | 
						||
.ce 1
 | 
						||
\\$1
 | 
						||
.sp 4P
 | 
						||
.ps 18
 | 
						||
.vs 20
 | 
						||
.ce 1
 | 
						||
\\$2
 | 
						||
.sp 0.25i
 | 
						||
.if !'\\$3'' .ce 1
 | 
						||
.if !'\\$3'' \\$3
 | 
						||
.ps 10
 | 
						||
.vs 12
 | 
						||
.R
 | 
						||
.nr x \\n(.pu/2u
 | 
						||
.sp |\\nxu
 | 
						||
.nr h +1 1
 | 
						||
.tr _\\(ru
 | 
						||
.AL
 | 
						||
..
 | 
						||
.de SP
 | 
						||
.sp \\$1	\"used for temporary (page balancing ) fill
 | 
						||
..
 | 
						||
.de HS
 | 
						||
.sp 0.5
 | 
						||
..
 | 
						||
.\"	Major section (numbered)
 | 
						||
.de SE
 | 
						||
.nr b +1 1
 | 
						||
.nr c 0 1
 | 
						||
.ds ST \\$1
 | 
						||
.sp 1
 | 
						||
.NH 2
 | 
						||
\\$1
 | 
						||
.sp 1
 | 
						||
..
 | 
						||
.\"	Subsection (numbered)
 | 
						||
.de SS
 | 
						||
.nr c +1 1
 | 
						||
.NH 3
 | 
						||
\\$1
 | 
						||
.sp 1
 | 
						||
..
 | 
						||
.de UU
 | 
						||
.SH
 | 
						||
\\$1
 | 
						||
.sp 1
 | 
						||
..
 | 
						||
.\"-------------------- PAGE TRANSITION MACROS USED BY -MS ------
 | 
						||
.de PH	\"select special running heads
 | 
						||
.nr d \\$1
 | 
						||
.if \\$1=4 .nr j 1
 | 
						||
.ds CT \\$2
 | 
						||
..
 | 
						||
.de PT
 | 
						||
.AL
 | 
						||
.pc %
 | 
						||
.PN \\n%
 | 
						||
'sp |\\n(HMu-0.35i
 | 
						||
.ps 10
 | 
						||
.\"
 | 
						||
.\" nd = 0 means no running head this time, normal next time
 | 
						||
.if \\nd=0 \{\
 | 
						||
.tl ''''	\" no running head on initial page transition
 | 
						||
.nr j 1 0\}
 | 
						||
.\"
 | 
						||
.\" nd = 1 is normal case: chapter heading even (left) and section odd(right)
 | 
						||
.if \\nd=1\{\
 | 
						||
.if e .tl '\fB\s+2%\s-2\fR'\\*(CT'\\*(CX~ \\*(CN' \"normal case even page
 | 
						||
.if o .if \\nb>0 .tl 'SEC.~ \\*(CN.\\nb'\\*(ST'\fB\s+2%\s-2\fR'
 | 
						||
.if o .if \\nb=0 .tl '''\fB\s+2%\s-2\fR'\}
 | 
						||
.if o .if \\nb=-999 .tl '\\*(CX~ \\*(CN'\\*(CT'\fB\s+2%\s-2\fR'\}
 | 
						||
.\"
 | 
						||
.\" nd = 2 is for PROBLEMS; even normal, odd  CHAP. ... PROBLEMS %
 | 
						||
.if \\nd=2\{\
 | 
						||
.if e .tl '\fB\s+2%\s-2\fR'\\*(CT'\\*(CX~ \\*(CN' \"even page PROBLEMS
 | 
						||
.if o .if \\nd=2 .tl '\\*(CX~ \\*(CN'PROBLEMS'\fB\s+2%\s-2\fR' \}
 | 
						||
.\"
 | 
						||
.\" nd = 3 is for index, problem solutions & other cases with same odd even hd
 | 
						||
.if \\nd=3\{\
 | 
						||
.if e .tl '\fB\s+2%\s-2\fR'\\*(CT''
 | 
						||
.if o .tl ''\\*(CT'\fB\s+2%\s-2\fR'\}
 | 
						||
.\"
 | 
						||
.\" nd = 4 is like nd = 3, except page numbers are lower case roman
 | 
						||
.if \\nd=4\{\
 | 
						||
.nr v \\n%
 | 
						||
.if e .tl '\fB\s+2\\nv\s-2\fR'\\*(CT''
 | 
						||
.if o .tl ''\\*(CT'\fB\s+2\\nv\s-2\fR'\}
 | 
						||
.\"
 | 
						||
.\" nd = 5 suppresses running heads like nd=0, only it keeps them suppressed
 | 
						||
.if \\nd=5 .tl ''''
 | 
						||
.\" nd = 6 gives page number in right-hand corner only
 | 
						||
.if \\nd=6 .tl '''%'
 | 
						||
.if \\nd=0 .nr d 1 0	\" henceforth normal running heads
 | 
						||
..
 | 
						||
.de BT
 | 
						||
.if \\n%=\\ns\{\
 | 
						||
.nr x \\n(HMu+(\\n(BO*\\n(VSu)+2P
 | 
						||
'sp |\\nxu
 | 
						||
.nr v \\n%
 | 
						||
.ie \\nd=4 .tl ''\fB\s-1\\nv\s0\fP''
 | 
						||
.el .tl ''\fB\s-1\\n%\s0\fP''\}
 | 
						||
.nr j 0 0
 | 
						||
.if \\nd=0 .nr d 1 0
 | 
						||
..
 | 
						||
.\"--------------- CHECK FOR INITIAL PAGE NUMBER ---------------
 | 
						||
.de PC
 | 
						||
.if \n%<\\$1\{
 | 
						||
.tm You forgot to set the page number.  Run aborted. Use troff -n
 | 
						||
.ex\}
 | 
						||
.if \n%>\\$2\{
 | 
						||
.tm You forgot to set the page number.  Run aborted. Use troff -n
 | 
						||
.ex\}
 | 
						||
..
 | 
						||
.\"-------------------- LISTS OF THINGS ------------------------
 | 
						||
.\"	Start list
 | 
						||
.de LI
 | 
						||
.nr g 0 1
 | 
						||
.in +0.25i
 | 
						||
.nr LL -0.25i
 | 
						||
.ll -0.25i
 | 
						||
.ne 3v
 | 
						||
.HS
 | 
						||
..
 | 
						||
.\"	End list
 | 
						||
.de LX
 | 
						||
.sp 1
 | 
						||
.in -0.25i
 | 
						||
.nr LL +0.25i
 | 
						||
.ll +0.25i
 | 
						||
.LP
 | 
						||
..
 | 
						||
.\"	List item
 | 
						||
.de IT
 | 
						||
.HS
 | 
						||
.nr g \\ng+1 1
 | 
						||
.ie \\ng<10 .IP \0\\ng. 4
 | 
						||
.el .IP \\ng. 4
 | 
						||
..
 | 
						||
.\"Short unnumbered lines
 | 
						||
.de UN
 | 
						||
.HS
 | 
						||
..
 | 
						||
.\"-------------------- END OF CHAPTER EXERCISES ---------------
 | 
						||
.de PB
 | 
						||
.nr d 2 0
 | 
						||
.if \\nq=1 .PH 6
 | 
						||
.ne 1.5i
 | 
						||
.sp 0.5i
 | 
						||
.ce 1
 | 
						||
.B PROBLEMS
 | 
						||
.sp 1
 | 
						||
.nr p 0 1
 | 
						||
..
 | 
						||
.de PR
 | 
						||
.ps 11
 | 
						||
.vs 13
 | 
						||
.nr PS 11
 | 
						||
.nr VS 13.01p
 | 
						||
.HS
 | 
						||
.nr p +1 1
 | 
						||
.in \w'00.  'u
 | 
						||
.ti -\w'00.  'u
 | 
						||
.if \\np>9 \fB\\np.\fR~~\c
 | 
						||
.if \\np<10 \fB\0\\np.\fR~~\c
 | 
						||
..
 | 
						||
.de AA
 | 
						||
.sp 3
 | 
						||
.if n .nr LL 84m
 | 
						||
.nr PS \\n(PZ
 | 
						||
.nr VS \\n(VZu
 | 
						||
.nr a \\$1 1
 | 
						||
.nr b 0 0
 | 
						||
.nr p 0 1
 | 
						||
.ce 1
 | 
						||
.nr x 1
 | 
						||
.if '\\$1'A' .nr x 0
 | 
						||
.if '\\$1'B' .nr x 0
 | 
						||
.if '\\$1'C' .nr x 0
 | 
						||
.if \\nq=1 .PH 6
 | 
						||
.if \\nx\fBSOLUTIONS TO CHAPTER \\$1 PROBLEMS\fR
 | 
						||
.if !\\nx\fBSOLUTIONS TO APPENDIX \\$1 PROBLEMS\fR
 | 
						||
.sp 1v
 | 
						||
..
 | 
						||
.de AN
 | 
						||
.HS
 | 
						||
.ps \\n(PZ
 | 
						||
.vs \\n(VSu
 | 
						||
.nr PS \\n(PZ
 | 
						||
.nr VS \\n(VZu
 | 
						||
.nr p +1 1
 | 
						||
.in \w'00.  'u
 | 
						||
.ti -\w'00.  'u
 | 
						||
.if \\np>9 \fB\\np.\fR~~\c
 | 
						||
.if \\np<10 \fB\0\\np.\fR~~\c
 | 
						||
..
 | 
						||
.\"-------------------- BIBLIOGRAPHY ---------------------------
 | 
						||
.de BB
 | 
						||
.sp 2
 | 
						||
.in 0.25i
 | 
						||
..
 | 
						||
.de BI
 | 
						||
.ps 10
 | 
						||
.vs 12
 | 
						||
.sp \\ntu
 | 
						||
.HS
 | 
						||
.if n .HS
 | 
						||
.ti -0.30i
 | 
						||
.R
 | 
						||
..
 | 
						||
.\"-------------------- QUOTES ---------------------------------
 | 
						||
.ds OQ `\h'-1p'`
 | 
						||
.ds CQ '\h'-1p''
 | 
						||
.\"-------------------- FIGS.-----------------------------------
 | 
						||
.de FC 
 | 
						||
'sp 1v
 | 
						||
.ps 10
 | 
						||
.vs 12
 | 
						||
.in +0.5i
 | 
						||
.ll -0.5i
 | 
						||
.B
 | 
						||
.if '\\$1'C' .ce 1
 | 
						||
Fig.\|\|\|\\*(CN-\\n+k.~\c
 | 
						||
.R
 | 
						||
..
 | 
						||
.de BF
 | 
						||
.KF
 | 
						||
'sp 1v
 | 
						||
.nr TP \\n(.s
 | 
						||
.nr TV \\n(.v
 | 
						||
.nr TF \\n(.f
 | 
						||
.nr r 0 0
 | 
						||
.if \\nq=0 .if  "\\$1"PAGE" .KP
 | 
						||
.if \\nq=0 .if  "\\$1"PAGE" .nr r 1 0
 | 
						||
.if \\nq=0 .if !"\\$1"PAGE" .sp \\$1
 | 
						||
.if \\nq=1 .sp 0.5i
 | 
						||
.FC \\$2
 | 
						||
..
 | 
						||
.de EF
 | 
						||
.in -0.5i
 | 
						||
.ll +0.5i
 | 
						||
.ps \\n(TP
 | 
						||
.vs \\n(TV
 | 
						||
.ft \\n(TF
 | 
						||
'if \\nr==0 'sp 30u
 | 
						||
'AL
 | 
						||
.KE
 | 
						||
..
 | 
						||
.de NF
 | 
						||
.nr x \\nk+1
 | 
						||
.ie !'\\$1'X' Fig.~\\*(CN-\\nx\\$1
 | 
						||
.el Figure \\*(CN-\\nx\\$2
 | 
						||
..
 | 
						||
.de PF
 | 
						||
.ie !'\\$1'X' Fig.~\\*(CN-\\nk\\$1
 | 
						||
.el Figure \\*(CN-\\nk\\$2
 | 
						||
..
 | 
						||
.\"-------------------- MULTIPLE BLANK PAGES -------------------
 | 
						||
.de MP
 | 
						||
.if \\$1 \{\
 | 
						||
.KF
 | 
						||
.KP
 | 
						||
.KE
 | 
						||
.MP \\$1-1
 | 
						||
.if \\$1<2 .nr k +1 1
 | 
						||
\}
 | 
						||
..
 | 
						||
.\"-------------------- TABLE OF CONTENTS ----------------------
 | 
						||
.de XT
 | 
						||
.if t .ta 0.4i 0.8i 0.9i \\n(LLuR
 | 
						||
.if n .ta 0.3i 1.0i 1.1i 5.0iR
 | 
						||
.ps 11
 | 
						||
.vs 13
 | 
						||
.nr a \\$1 0
 | 
						||
.nr b 0 1
 | 
						||
.nr c 0 1
 | 
						||
.sp 0.40i
 | 
						||
.ne 0.3i
 | 
						||
.B
 | 
						||
\\s18\\$1\\s12	\\$2	\\$3\\fR\\s11
 | 
						||
.br
 | 
						||
.if !'\\$4''	\\fB\\$4\\fR
 | 
						||
.R
 | 
						||
.sp 0.5v
 | 
						||
..
 | 
						||
.de XE
 | 
						||
.nr b +1 1
 | 
						||
.nr c 0 1
 | 
						||
.HS
 | 
						||
	\\na.\\nb	\\$1   \\$2
 | 
						||
..
 | 
						||
.de XS
 | 
						||
.nr c +1 1
 | 
						||
		\\na.\\nb.\\nc   \\$1   \\$2
 | 
						||
..
 | 
						||
.\"------------------- INDEX -----------------------------------
 | 
						||
.de IL
 | 
						||
.nr PS \\n(PZ-2
 | 
						||
.nr VS 12.01p
 | 
						||
.LP
 | 
						||
.nf
 | 
						||
.na
 | 
						||
.sp 2v
 | 
						||
.ne 2
 | 
						||
\fB\s+4\\$1\\s0\fR
 | 
						||
.sp 1v
 | 
						||
..
 | 
						||
.\"------------------- NEW .B MACRO ----------------------------
 | 
						||
.rm B
 | 
						||
.de B
 | 
						||
.nr PQ \\n(.f
 | 
						||
.ft 3
 | 
						||
.if !"\\$1"" \&\\$1\\f\\n(PQ\\$2
 | 
						||
..
 | 
						||
.\"--------------------- FIXES NEEDED TO -MS -------------------
 | 
						||
.\" Remove .if n .ul 1000 from .NH
 | 
						||
.\" Remove .if n .ul 1000 from .SH
 | 
						||
.\" Fix to allow letters as chapter "numbers"
 | 
						||
.\"
 | 
						||
.\" Here is the b3mac file
 | 
						||
.nr Cs 10
 | 
						||
.fp 5 H
 | 
						||
.ds fm \(fm
 | 
						||
.ds em \(em
 | 
						||
.de F
 | 
						||
\\fI\\$1\\fR\\$2
 | 
						||
..
 | 
						||
.de CC
 | 
						||
.HS
 | 
						||
~~~~~\\s\\n(Cs\\f5\\$1\\fP\\s0
 | 
						||
.HS
 | 
						||
.LP
 | 
						||
..
 | 
						||
.de Cx
 | 
						||
~~~~~\\s\\n(Cs\\f5\\$1\\fP\\s0\\$2
 | 
						||
..
 | 
						||
.de Cb
 | 
						||
.in +0.25i
 | 
						||
\\s\\n(Cs
 | 
						||
.HS
 | 
						||
\\f5
 | 
						||
..
 | 
						||
.de Ce
 | 
						||
.HS
 | 
						||
\\fR
 | 
						||
.nr PS \\n(PZ
 | 
						||
.nr VS \\n(VZ
 | 
						||
.LP
 | 
						||
.in -0.25i
 | 
						||
..
 | 
						||
.de SY
 | 
						||
\\$3\s-2\\$1\s+2\\$2
 | 
						||
..
 | 
						||
.de SM
 | 
						||
\\$3\s-1\\$1\s+1\\$2
 | 
						||
..
 | 
						||
.de FN
 | 
						||
\&\\fI\\$1\\fR\\$2
 | 
						||
..
 | 
						||
.de DI
 | 
						||
\&\\fI\\$1\\fR\\$2
 | 
						||
..
 | 
						||
.de FI
 | 
						||
\&\\fI\\$1\\fR\\$2
 | 
						||
..
 | 
						||
.de LN
 | 
						||
.nr x \\$1+\\$2
 | 
						||
\\$4line
 | 
						||
.L4 \\nx \\$3
 | 
						||
..
 | 
						||
.de LS
 | 
						||
.nr x \\$1+\\$2
 | 
						||
.nr y \\$1+\\$3
 | 
						||
.nr z \\nx+1
 | 
						||
\\$5lines
 | 
						||
.L4 \\nx
 | 
						||
.ie \\ny=\\nz and
 | 
						||
.el to
 | 
						||
.L4 \\ny \\$4
 | 
						||
..
 | 
						||
.ds SQ \(fm\h'-0.05c'\(fm
 | 
						||
.de L4
 | 
						||
.ie \\$1<10 000\\$1\\$2
 | 
						||
.el .ie \\$1<100 00\\$1\\$2
 | 
						||
.el .ie \\$1<1000 0\\$1\\$2
 | 
						||
.el \\$1\\$2
 | 
						||
..
 | 
						||
.de KW
 | 
						||
\f5\\$1\\$2\fR
 | 
						||
..
 | 
						||
.ds M0 MINIX
 | 
						||
.ds M1 \\s-1MINIX\\s+1
 | 
						||
.ds M2 \\s-2MINIX\\s+2
 | 
						||
.ds M9 \\s-1MINIX\\s+1
 | 
						||
.ds m0 minix
 | 
						||
.de MX
 | 
						||
\s-2MINIX\s+2\\$1
 | 
						||
..
 | 
						||
.de Ux
 | 
						||
\s-2UNIX\s+2\\$1
 | 
						||
..
 | 
						||
.tr _\(ru
 | 
						||
.de UX
 | 
						||
\s-2UNIX\s+2\\$1
 | 
						||
..
 | 
						||
.ds Mx \\s-1MINIX\\s0
 | 
						||
.ds Mp \\s-1MINIX-PC\\s0
 | 
						||
.ds Ms \\s-1MINIX-ST\\s0
 | 
						||
.de CW
 | 
						||
\f5
 | 
						||
..
 | 
						||
.de Bu
 | 
						||
.HS
 | 
						||
.IP "\0\(bu" 4
 | 
						||
..
 | 
						||
.de CD
 | 
						||
.ne 2
 | 
						||
.if t .ta 0.9i 1.15i 2.75i 3.25i 3.75i
 | 
						||
.if n .ta 11m 15m 40m
 | 
						||
.nr x 0 0
 | 
						||
.nr y 0 0
 | 
						||
.nr z 0 0
 | 
						||
.if n #\\$1
 | 
						||
.if n .br
 | 
						||
\\fBCommand:\&	\\$1\\fR
 | 
						||
.br
 | 
						||
..
 | 
						||
.de SX
 | 
						||
.if \\nx<=0 \\fBSyntax:\&	\\$1
 | 
						||
.if \\nx>0 \&	\\fB\\$1
 | 
						||
.nr x 1 1
 | 
						||
.br
 | 
						||
..
 | 
						||
.de FL
 | 
						||
.if \\ny<=0 \\fBFlags:\&	\\fB\\$1	\\fR\\$2
 | 
						||
.if \\ny>0 \& 	\\fB\\$1	\\fR\\$2
 | 
						||
.nr y 1 1
 | 
						||
.br
 | 
						||
..
 | 
						||
.de EX
 | 
						||
.br
 | 
						||
.nf
 | 
						||
.if \\nz<=0 \\fB\&Examples:	\\fR\\$1	\\fR# \\$2
 | 
						||
.if \\nz>0 \&	\\fR\\$1	\\fR# \\$2
 | 
						||
.nr z 1 1
 | 
						||
.br
 | 
						||
..
 | 
						||
.de EY
 | 
						||
.br
 | 
						||
.nf
 | 
						||
.if \\nz<=0 \\fB\&Example:	\\fR\\$1	\\fR# \\$2
 | 
						||
.if \\nz>0 \&	\\fR\\$1	\\fR# \\$2
 | 
						||
.nr z 1 1
 | 
						||
.br
 | 
						||
..
 |