9base

revived minimalist port of Plan 9 userland to Unix
git clone git://git.suckless.org/9base
Log | Files | Refs | README | LICENSE

tmac.s (23532B)


      1 .lg 0
      2 .ds sd #9/tmac
      3 .\"	RT -  reset everything to normal state
      4 .de RT
      5 .if \\n(CS \{\
      6 .SR 1
      7 .BG\}
      8 .if !\\n(1T .BG
      9 .ce 0
     10 .if !\\n(IK .if !\\n(IF .if !\\n(IX .if !\\n(BE .if !\\n(FT .di
     11 .ul 0
     12 .if \\n(QP \{\
     13 .	ll +\\n(QIu
     14 .	in -\\n(QIu
     15 .	nr QP -1\}
     16 .if \\n(NX<=1 .if \\n(AJ=0 .if \\n(FT=0 .ll \\n(LLu
     17 .if !\\n(IF \{\
     18 .	ps \\n(PS
     19 .	ie \\n(VS>=41 .vs \\n(VSu
     20 .	el .vs \\n(VSp\}
     21 .ie \\n(IP \{\
     22 .	in \\n(I\\n(IRu
     23 .	nr IP -1\}
     24 .el .if !\\n(IR \{\
     25 .	nr I1 \\n(PIu
     26 .	nr I2 0
     27 .	nr I3 0
     28 .	nr I4 0
     29 .	nr I5 0\}
     30 .ft 1
     31 .ta 5n 10n 15n 20n 25n 30n 35n 40n 45n 50n 55n 60n 65n 70n 75n 80n
     32 .hy \\n(HY
     33 .fi
     34 ..
     35 .	\"IZ - initialization
     36 .de IZ
     37 .so \\*(sd/tmac.sdisp
     38 .nr TN 0
     39 .em EM
     40 . \"  ACCENTS  say \*'e or \*`e to get e acute or e grave both were 4/10
     41 .ds ' \h'\w'e'u*1/10'\z\(aa\h'-\w'e'u*1/10'
     42 .ds ` \h'\w'e'u*2/10'\z\(ga\h'-\w'e'u*2/10'
     43 . \"  UMLAUT  \*:u, etc.
     44 .if t .ds : \\v'-0.6m'\\h'(1u-(\\\\n(.fu%2u))*0.13m+0.00m'\\z.\\h'0.2m'\\z.\\h'-((1u-(\\\\n(.fu%2u))*0.13m+0.20m)'\\v'0.6m'
     45 .if n .ds : \z"
     46 . \" TILDE and CIRCUMFLEX
     47 .ds ^ \\\\k:\\h'-\\\\n(.fu+1u/2u*2u+\\\\n(.fu-1u*0.13m+0.06m'\\z^\\h'|\\\\n:u'
     48 .ds ~ \\\\k:\\h'-\\\\n(.fu+1u/2u*2u+\\\\n(.fu-1u*0.13m+0.06m'\\z~\\h'|\\\\n:u'
     49 .	\" czech v symbol
     50 .ds v \\\\k:\\\\h'+\\\\w'e'u/4u'\\\\v'-0.6m'\\\\s6v\\\\s0\\\\v'0.6m'\\\\h'|\\\\n:u'
     51 .		\" cedilla
     52 .ds , \\\\k:\\\\h'\\\\w'c'u*0.4u'\\\\z,\\\\h'|\\\\n:u'
     53 .so \\*(sd/tmac.srefs
     54 .ch FO \\n(YYu
     55 .if !\\n(FM .nr FM 1i
     56 .nr YY -\\n(FMu
     57 .nr XX 0 1
     58 .nr IP 0
     59 .nr PI 5n
     60 .nr QI 5n
     61 .nr I0 \\n(PIu
     62 .nr PS 10
     63 .nr VS 12
     64 .nr HY 14
     65 .ie n \{\
     66 .	if !\\n(PD .nr PD 1v
     67 .	nr DV 1v\}
     68 .el \{\
     69 .	if !\\n(PD .nr PD 0.3v
     70 .	nr DV .5v\}
     71 .nr ML 3v
     72 .ps \\n(PS
     73 .ie \\n(VS>=41 .vs \\n(VSu
     74 .el .vs \\n(VSp
     75 .nr IR 0
     76 .nr I0 0
     77 .nr I1 \\n(PIu
     78 .nr TB 0
     79 .nr SJ \\n(.j
     80 .nr LL 6i
     81 .ll \\n(LLu
     82 .nr LT \\n(.l
     83 .lt \\n(LTu
     84 .ev 1
     85 .if !\\n(FL .nr FL \\n(LLu*11u/12u
     86 .ll \\n(FLu
     87 .ps 8
     88 .vs 10p
     89 .ev
     90 .if \\*(CH .ds CH "\(hy \\\\n(PN \(hy
     91 .wh 0 NP
     92 .wh -\\n(FMu FO
     93 .ch FO 16i
     94 .wh -\\n(FMu FX
     95 .ch FO -\\n(FMu
     96 .if t .wh -\\n(FMu/2u BT
     97 .if n .wh -\\n(FMu/2u-1v BT
     98 . \" no overstriking bold or italic; switch underlining to bold italic
     99 . \" (sad historical botch, the .uf font must be 2, 3, or 4)
    100 .if n .uf 4
    101 .if n .bd 3
    102 .nr CW 0-1
    103 .nr GW 0-1
    104 ..
    105 .de TM
    106 .if !\\n(IM .if !\\n(MN .pn 0
    107 .so \\*(sd/tmac.scover
    108 .if !\\n(IM .if !\\n(MN .rm IM MF MR
    109 .if n .if !\\n(.T .pi /usr/bin/col
    110 .nr ST 1
    111 .ds QF TECHNICAL MEMORANDUM
    112 .br
    113 .ds MN \\$1
    114 .if !"\\$1"" .nr MM 1
    115 .if !"\\$2"" .nr MC 1
    116 .if !"\\$3"" .nr MG 1
    117 .nr TN 1
    118 .if \\n(.$-1 .ds CA \\$2
    119 .if \\n(.$-2 .ds CC \\$3
    120 .rm RP S0 S2 AX
    121 ..
    122 .		\" IM - internal memorandum
    123 .de IM
    124 .nr IM 1
    125 .TM "\\$1" "\\$2" "\\$3"
    126 .rm QF
    127 .RA
    128 .rm RA RP MF MR
    129 ..
    130 .		\" MF - memorandum for file.
    131 .de MF
    132 .nr MN 1
    133 .TM "\\$1" "\\$2" "\\$3"
    134 .rm MR
    135 .rm IM
    136 .RA
    137 .rm RA RP TM
    138 ..
    139 .		\" MR - memo for record
    140 .de MR
    141 .nr MN 2
    142 .TM "\\$1" "\\$2" "\\$3"
    143 .ds QF MEMORANDUM FOR RECORD
    144 .rm MF
    145 .RA
    146 .rm RA RP IM TM
    147 ..
    148 .	\" LT - letter
    149 .de LT
    150 .if !\\n(PO .ie n .nr PO 1.5i
    151 .el .nr PO 1.3i
    152 .po \\n(POu
    153 .LP
    154 .rs
    155 .if !"\\$1"" \{\
    156 .	vs -2p
    157 .if "\\$1"LT" .ta 3.9i 4.45i
    158 .if !"\\$1"LT" .ta 3.9i 4.45i
    159 .	sp .2i
    160 .	nf
    161 .	if "\\$1"LT" 	\s36\(FA\s0
    162 .	if !"\\$1"LT" 	\s36\(LH\s0
    163 .	br
    164 \s7\l'7i'\s0
    165 .sp
    166 .	br
    167 .	if !"\\$2"" .ds xR "		\\$2
    168 .	ds xP 908-582-3000
    169 .	if !"\\$3"" .ds xP \\$3
    170 .	if "\\$1"LT" \s8\f(HBBell Laboratories\fP		\fH600 Mountain Avenue
    171 .	if !"\\$1"LT" \s8\f(HBBell Laboratories\fP		\fH600 Mountain Avenue
    172 .	if !"\\$2"" \\*(xR
    173 		Murray Hill, NJ 07974-0636
    174 		\\*(xP
    175 .	if !"\\$4"" 		\\$4
    176 .	if !"\\$5"" 		\\$5
    177 .	if !"\\$6"" 		\\$6
    178 .	if !"\\$7"" 		\\$7
    179 .ft 1
    180 .ps
    181 .	sp -.75i
    182 .	vs
    183 .	fi \}
    184 .if n \{\
    185 .	sp 1i
    186 .	in 4.55i\}
    187 .if t \{\
    188 .	sp 1.45i
    189 .	in 3.5i\}
    190 .ll 8i
    191 \\*(DY
    192 .ll
    193 .in 0
    194 .br
    195 .if t .sp 3
    196 .if n \{\
    197 .	sp
    198 .	na\}
    199 .nf
    200 .rm CF
    201 .de SG	\" nested defn
    202 .sp 2
    203 .ta 3.5i
    204 	Sincerely,
    205 .sp 3
    206 	\\\\$1
    207 .ds CH
    208 \\..
    209 ..
    210 .de OK
    211 .br
    212 .di
    213 .di OD
    214 ..
    215 .de RP		\" released paper
    216 .nr ST 2
    217 .pn 0
    218 .rm SG CS TM QF IM MR MF EG
    219 .br
    220 ..
    221 .de TR		\" Comp. Sci. Tech Rept series.
    222 .nr ST 3
    223 .pn 0
    224 .ds MN \\$1
    225 .rm SG CS TM QF IM MR M EG
    226 .br
    227 ..
    228 .	\"FP - font position for a family
    229 .de FP
    230 .ds TF \\$1
    231 .if '\\$1'palatino'\{\
    232 .	fp 1 R PA
    233 .	fp 2 I PI
    234 .	fp 3 B PB
    235 .	fp 4 BI PX\}
    236 .if '\\$1'lucidabright'\{\
    237 .	fp 1 R LucidaBright
    238 .	fp 2 I LucidaBright-Italic
    239 .	fp 3 B LucidaBright-Demi
    240 .	fp 4 BI LucidaBright-DemiItalic
    241 .	fp 5 CW LucidaSansCW\}
    242 .if '\\$1'lucidasans'\{\
    243 .	fp 1 R LucidaSans
    244 .	fp 2 I LucidaSansI
    245 .	fp 3 B LucidaSansB
    246 .	fp 5 CW LucidaCW\}
    247 .if '\\$1'luxisans'\{\
    248 .	fp 1 R LuxiSans
    249 .	fp 2 I LuxiSans-Oblique
    250 .	fp 3 B LuxiSans-Bold
    251 .	fp 4 BI LuxiSans-BoldOblique
    252 .	fp 5 CW LuxiMono\}
    253 .if '\\$1'dejavu'\{\
    254 .	fp 1 R DejaVuSerif
    255 .	fp 2 I DejaVuSerifOblique
    256 .	fp 3 B DejaVuSerifBold
    257 .	fp 4 BI DejaVuSerifBoldOblique
    258 .	fp 5 CW DejaVuMonoSans\}
    259 .if '\\$1'dejavusans'\{\
    260 .	fp 1 R DejaVuSans
    261 .	fp 2 I DejaVuSansOblique
    262 .	fp 3 B DejaVuSansBold
    263 .	fp 4 BI DejaVuSansBoldOblique
    264 .	fp 5 CW DejaVuMonoSans\}
    265 .if '\\$1'syntax'\{\
    266 .	fp 1 R Syntax
    267 .	fp 2 I SyntaxI
    268 .	fp 3 B SyntaxB
    269 .	fp 5 CW LucidaCW\}
    270 .if '\\$1'century'\{\
    271 .	ie '\\*(.T'202'\{\
    272 .		fp 1 NR Centsb
    273 .		fp 2 NI CentI
    274 .		fp 3 NB CentB
    275 .		fp 4 NX CentBI\}
    276 .	el \{\
    277 .		fp 1 NR
    278 .		fp 2 NI
    279 .		fp 3 NB
    280 .		fp 4 NX\}\}
    281 .if '\\$1'helvetica'\{\
    282 .	fp 1 H
    283 .	fp 2 HI
    284 .	fp 3 HB
    285 .	fp 4 HX\}
    286 .if '\\$1'bembo'\{\
    287 .	ie '\\*(.T'202'\{\
    288 .		fp 1 B1 Bembo
    289 .		fp 2 B2 BemboI
    290 .		fp 3 B3 BemboB
    291 .		fp 4 B4 BemboBI\}
    292 .	el \{\
    293 .		fp 1 B1
    294 .		fp 2 B2
    295 .		fp 3 B3
    296 .		fp 4 B4\}\}
    297 .if '\\$1'optima'\{\
    298 .	fp 1 R Optima
    299 .	fp 2 I OptimaI
    300 .	fp 3 B OptimaB
    301 .	fp 4 BI OptimaBI\}
    302 .if '\\$1'souvenir'\{\
    303 .	fp 1 R Souvenir
    304 .	fp 2 I SouvenirI
    305 .	fp 3 B SouvenirB
    306 .	fp 4 BI SouvenirBI\}
    307 .if '\\$1'melior'\{\
    308 .	fp 1 R Melior
    309 .	fp 2 I MeliorI
    310 .	fp 3 B MeliorB
    311 .	fp 4 BI MeliorBI\}
    312 .if '\\$1'times'\{\
    313 .	fp 1 R
    314 .	fp 2 I
    315 .	fp 3 B
    316 .	fp 4 BI\}
    317 ..
    318 .	\"TL - title and initialization
    319 .de TL
    320 .br
    321 .nr TV 1
    322 .if \\n(IM .rm CS
    323 .if \\n(MN .rm CS
    324 .ME
    325 .rm ME
    326 .di WT
    327 .na
    328 .fi
    329 .ie h .ll \\n(LLu
    330 .el \{\
    331 .ll 5.0i
    332 .if n .if \\n(TN .ll 29
    333 .if t .if \\n(TN .ll 3.5i \}
    334 .ft 3
    335 .ps \\n(PS
    336 .if !\\n(TN \{\
    337 .	ps +2
    338 .	vs \\n(.s+2
    339 .	rm CS\}
    340 .hy 0
    341 .if h .ce 999
    342 ..
    343 .de TX
    344 .rs
    345 .sp .5i
    346 .ce 1000
    347 .if n .ul 1000
    348 .ps 12
    349 .ft 3
    350 .vs 15p
    351 .ne 4
    352 .hy 0
    353 .WT
    354 .hy \\n(HY
    355 .ce 0
    356 .ul 0
    357 ..
    358 .	\"	AU - author(s)
    359 .de AU
    360 .nr AV 1
    361 .ad \\n(SJ
    362 .br
    363 .di
    364 .br
    365 .nf
    366 .nr NA +1
    367 .ds R\\n(NA \\$1
    368 .ds E\\n(NA \\$2
    369 .di A\\n(NA
    370 .ll \\n(LLu
    371 .ie t \{\
    372 .	ie !\\n(TN .ft 2
    373 .	el \{\
    374 .		ft 3
    375 .		ll 1.4i\}\}
    376 .el \{\
    377 .	ie !\\n(TN .ft 1
    378 .	el \{\
    379 .		ft 3
    380 .		ll 16\}\}
    381 .ps \\n(PS
    382 .if h .ce 999
    383 ..
    384 .de AX
    385 .ft 1
    386 .rs
    387 .ce 1000
    388 .if n .ul 0
    389 .ps \\n(PS
    390 .ie \\n(VS>=41 .vs \\n(VSu
    391 .el .vs \\n(VSp
    392 .if t \{\
    393 .	sp
    394 .	A1
    395 .	sp 0.5
    396 .	ns
    397 .	I1
    398 .	if \\n(NA-1 .sp
    399 .	A2
    400 .	if \\n(NA-1 .sp 0.5
    401 .	ns
    402 .	I2
    403 .	if \\n(NA-2 .sp
    404 .	A3
    405 .	if \\n(NA-2 .sp 0.5
    406 .	ns
    407 .	I3
    408 .	if \\n(NA-3 .sp
    409 .	A4
    410 .	if \\n(NA-3 .sp 0.5
    411 .	ns
    412 .	I4
    413 .	if \\n(NA-4 .sp
    414 .	A5
    415 .	if \\n(NA-4 .sp 0.5
    416 .	ns
    417 .	I5
    418 .	if \\n(NA-5 .sp
    419 .	A6
    420 .	if \\n(NA-5 .sp 0.5
    421 .	ns
    422 .	I6
    423 .	if \\n(NA-6 .sp
    424 .	A7
    425 .	if \\n(NA-6 .sp 0.5
    426 .	ns
    427 .	I7
    428 .	if \\n(NA-7 .sp
    429 .	A8
    430 .	if \\n(NA-7 .sp 0.5
    431 .	ns
    432 .	I8
    433 .	if \\n(NA-8 .sp
    434 .	A9
    435 .	if \\n(NA-8 .sp 0.5
    436 .	ns
    437 .	I9\}
    438 .if n \{\
    439 .	sp 2
    440 .	A1
    441 .	sp 
    442 .	ns
    443 .	I1
    444 .	if \\n(NA-1 .sp 2
    445 .	A2
    446 .	if \\n(NA-1 .sp
    447 .	ns
    448 .	I2
    449 .	if \\n(NA-2 .sp 2
    450 .	A3
    451 .	if \\n(NA-2 .sp
    452 .	ns
    453 .	I3
    454 .	if \\n(NA-3 .sp 2
    455 .	A4
    456 .	if \\n(NA-3 .sp
    457 .	ns
    458 .	I4
    459 .	if \\n(NA-4 .sp 2
    460 .	A5
    461 .	if \\n(NA-4 .sp
    462 .	ns
    463 .	I5
    464 .	if \\n(NA-5 .sp 2
    465 .	A6
    466 .	if \\n(NA-5 .sp
    467 .	ns
    468 .	I6
    469 .	if \\n(NA-6 .sp 2
    470 .	A7
    471 .	if \\n(NA-6 .sp
    472 .	ns
    473 .	I7
    474 .	if \\n(NA-7 .sp 2
    475 .	A8
    476 .	if \\n(NA-7 .sp
    477 .	ns
    478 .	I8
    479 .	if \\n(NA-8 .sp 2
    480 .	A9
    481 .	if \\n(NA-8 .sp
    482 .	ns
    483 .	I9\}
    484 ..
    485 .	\"AI - authors institution
    486 .de AI
    487 .br
    488 .ft 1
    489 .di
    490 .di I\\n(NA
    491 .nf
    492 ..
    493 .	\"AB - begin an abstract
    494 .de AB
    495 .br
    496 .di
    497 .ul 0
    498 .ce 0
    499 .nr 1T 1
    500 .nr IK 1
    501 .nr KI 1
    502 .di WB
    503 .rs
    504 .nr AJ 1
    505 .ce 1
    506 .ft 2
    507 .if n .ul
    508 .ll \\n(LLu
    509 .ie \\n(.$ \{\
    510 .	if !"\\$1"-" .if !"\\$1"no" \\$1
    511 .	if !"\\$1"-" .if !"\\$1"no" .sp\}
    512 .el \{\
    513 ABSTRACT
    514 .sp\}
    515 .hy \\n(HY
    516 .ul 0
    517 .ce 0
    518 .fi
    519 .ft 1
    520 .nr OJ \\n(.i
    521 .in +\\n(.lu/12u
    522 .ll -\\n(.lu/12u
    523 .br
    524 .ps \\n(PS
    525 .ie \\n(VS>=41 .vs \\n(VSu
    526 .el .vs \\n(VSp
    527 .ti +\\n(PIu
    528 ..
    529 .	\"AE - end of an abstract
    530 .de AE
    531 .br
    532 .di
    533 .ll \\n(LLu
    534 .ps \\n(PS
    535 .ie \\n(VS>=41 .vs \\n(VSu
    536 .el .vs \\n(VSp
    537 .nr 1T 0
    538 .nr IK 0
    539 .in \\n(OJu
    540 .nr AJ 0
    541 .di
    542 .ce 0
    543 .if \\n(ST=2 .SY
    544 .if \\n(ST<3 .rm SY
    545 ..
    546 .	\"S2 - release paper style
    547 .	\"SY - cover sheet of released paper
    548 .de SY
    549 .ll \\n(LLu
    550 .ns
    551 .if \\n(TV .TX
    552 .if \\n(AV .AX
    553 .rs
    554 .ce 0
    555 .nf
    556 .sp 3
    557 .ls 1
    558 .pn 2
    559 .WB
    560 .ls 
    561 .sp 3v
    562 \\*(DY
    563 .sp |9i
    564 .if \\n(FP .FA
    565 .FG
    566 .if \\n(GA=1 .nr GA 2
    567 .fi
    568 ..
    569 .	\"S2 - first text page, released paper format
    570 .de S2
    571 .ce 0
    572 .br
    573 .SY
    574 .rm SY
    575 .bp 1
    576 .if \\n(TV .TX
    577 .if \\n(AV .AX
    578 .rs
    579 .ce 0
    580 .ft 1
    581 .ad \\n(SJ
    582 ..
    583 .	\"S0- mike lesk conserve paper style
    584 .de S0
    585 .ce 0
    586 .br
    587 .ll \\n(LLu
    588 .if \\n(TV+\\n(AV .ns
    589 .if \\n(TV .TX
    590 .if \\n(AV .AX
    591 .if \\n(TV+\\n(AV .rs
    592 .ce 0
    593 .if \\n(TV .sp 2
    594 .ls 1
    595 .if \\n(FP \{\
    596 .	FJ
    597 .	nf
    598 .	FG
    599 .	fi
    600 .	FK
    601 .	nr FP 0\}
    602 .nf
    603 .WB
    604 .ls
    605 .fi
    606 .ad \\n(SJ
    607 ..
    608 .	\"S3 - CSTR style
    609 .de S3
    610 .rs
    611 .sp |2.25i
    612 .ce 1000
    613 .I1
    614 .if \\n(NA>1 \{\
    615 .	sp .5
    616 .	I2\}
    617 .if \\n(NA>2 \{\
    618 .	sp .5
    619 .	I3\}
    620 .if \\n(NA>3 \{\
    621 .	sp .5
    622 .	I4\}
    623 .if \\n(NA>4 \{\
    624 .	sp .5
    625 .	I5\}
    626 .if \\n(NA>5 \{\
    627 .	sp .5
    628 .	I6\}
    629 .if \\n(NA>6 \{\
    630 .	sp .5
    631 .	I7\}
    632 .if \\n(NA>7 \{\
    633 .	sp .5
    634 .	I8\}
    635 .if \\n(NA>8 \{\
    636 .	sp .5
    637 .	I9\}
    638 .sp |4i
    639 .	\"check how long title is: can space extra .25 inch if short
    640 .di EZ
    641 .WT
    642 .di
    643 .if \\n(dn<1.5v .if \\n(NA=1 .sp .25i
    644 .ft 1
    645 Computing Science Technical Report No. \\*(MN
    646 .sp
    647 .if t .ft 3
    648 .if n .ul 100
    649 .ps 12
    650 .vs 15p
    651 .hy 0
    652 .WT
    653 .hy \\n(HY
    654 .ft 1
    655 .if n .ul 0
    656 .ps 10
    657 .vs 12p
    658 .sp
    659 .ft 1
    660 .A1
    661 .A2
    662 .A3
    663 .A4
    664 .A5
    665 .A6
    666 .A7
    667 .A8
    668 .A9
    669 .ce 0
    670 .sp |8.5i
    671 .ce 0
    672 \\*(DY
    673 .DZ
    674 .bp 0
    675 .ft 1
    676 .S2
    677 ..
    678 .	\"SG - signature
    679 .de SG
    680 .br
    681 .KS
    682 .in +2u*\\n(.lu/3u
    683 .sp 4
    684 .A1
    685 .if \\n(NA>1 .sp 4
    686 .A2
    687 .if \\n(NA>2 .sp 4
    688 .A3
    689 .if \\n(NA>3 .sp 4
    690 .A4
    691 .if \\n(NA>4 .sp 4
    692 .A5
    693 .if \\n(NA>5 .sp 4
    694 .A6
    695 .if \\n(NA>6 .sp 4
    696 .A7
    697 .if \\n(NA>7 .sp 4
    698 .A8
    699 .if \\n(NA>8 .sp 4
    700 .A9
    701 .in
    702 .nf
    703 .if \\n(.$<1 .G9
    704 .sp -1
    705 .if \\n(.$>=1 \\$1
    706 .if \\n(.$>=2 \\$2
    707 .if \\n(.$>=3 \\$3
    708 .if \\n(.$>=4 \\$4
    709 .if \\n(.$>=5 \\$5
    710 .if \\n(.$>=6 \\$6
    711 .if \\n(.$>=7 \\$7
    712 .if \\n(.$>=8 \\$8
    713 .if \\n(.$>=9 \\$9
    714 .fi
    715 .br
    716 .KE
    717 ..
    718 .	\"Tables.  TS - table start, TE - table end
    719 .de TS
    720 .br
    721 .if !\\n(1T .RT
    722 .ul 0
    723 .ti \\n(.iu
    724 .if t .sp 0.5
    725 .if n .sp
    726 .if \\$1H .TQ
    727 .nr IX 1
    728 ..
    729 .de TQ
    730 .di TT
    731 .nr IT 1
    732 ..
    733 .de TH
    734 .if \\n(.d>0.5v \{\
    735 .	nr T. 0
    736 .	T# 0\}
    737 .di
    738 .nr TQ \\n(.i
    739 .nr HT 1
    740 .in 0
    741 .mk #a
    742 .mk #b
    743 .mk #c
    744 .mk #d
    745 .mk #e
    746 .mk #f
    747 .TT
    748 .in \\n(TQu
    749 .mk #T
    750 ..
    751 .de TE
    752 .nr IX 0
    753 .if \\n(IT .if !\\n(HT \{\
    754 .	di
    755 .	nr EF \\n(.u
    756 .	nf
    757 .	TT
    758 .	if \\n(EF .fi\}
    759 .nr IT 0
    760 .nr HT 0
    761 .if n .sp 1
    762 .if t .sp 0.5
    763 .rm a+ b+ c+ d+ e+ f+ g+ h+ i+ j+ k+ l+ n+ m+
    764 .rr 32 33 34 35 36 37 38 40 79 80 81 82
    765 .rr a| b| c| d| e| f| g| h| i| j| k| l| m|
    766 .rr a- b- c- d- e- f- g- h- i- j- k- l- m-
    767 ..
    768 .so \*(sd/tmac.skeep
    769 .de EQ  \"equation, breakout and display
    770 .nr EF \\n(.u
    771 .rm EE
    772 .nr LE 1	\" 1 is center
    773 .ds EL \\$1
    774 .if "\\$1"L" \{\
    775 .	ds EL \\$2
    776 .	nr LE 0\}
    777 .if "\\$1"C" .ds EL \\$2
    778 .if "\\$1"R" \{\
    779 .	ds EL \\$2 \" 2 is right adjust
    780 .	nr LE 2\}
    781 .if "\\$1"I" \{\
    782 .	nr LE 0
    783 .	if "\\$3"" .ds EE \\h'|10n'
    784 .	el .ds EE \\h'\\$3'
    785 .	ds EL \\$2\}
    786 .if \\n(YE .nf
    787 .di EZ
    788 ..
    789 .de EN  \" end of a displayed equation
    790 .br
    791 .di
    792 .rm EZ
    793 .nr ZN \\n(dn
    794 .if \\n(ZN .if !\\n(YE .LP
    795 .if !\\n(ZN .if !"\\*(EL"" .nr ZN 1
    796 .if \\n(ZN \{\
    797 .	ie "\\n(.z"" \{\
    798 .		if t .if !\\n(nl=\\n(PE .sp .5
    799 .		if n .if !\\n(nl=\\n(PE .sp 1\}
    800 .	el \{\
    801 .		if t .if !\\n(.d=\\n(PE .sp .5
    802 .		if n .if !\\n(.d=\\n(PE .sp 1\}\}
    803 'pc
    804 .if \\n(BD .nr LE 0 \" don't center if block display or mark/lineup
    805 .if \\n(MK \{\
    806 .	if \\n(LE=1 .ds EE \\h'|10n'
    807 .	nr LE 0\}
    808 'lt \\n(.lu
    809 .if !\\n(EP .if \\n(ZN \{\
    810 .	if \\n(LE=1 .tl \(ts\(ts\\*(10\(ts\\*(EL\(ts
    811 .	if \\n(LE=2 .tl \(ts\(ts\(ts\\*(10\\*(EL\(ts
    812 .	if !\\n(LE \{\
    813 .		if !\\n(BD .tl \(ts\\*(EE\\*(10\(ts\(ts\\*(EL\(ts
    814 .		if \\n(BD .if \\n(BD<\\w\(ts\\*(10\(ts .nr BD \\w\(ts\\*(10\(ts
    815 .		if \\n(BD \!\\*(10\\t\\*(EL\}\}
    816 .if \\n(EP .if \\n(ZN \{\
    817 .	if \\n(LE=1 .tl \(ts\\*(EL\(ts\\*(10\(ts\(ts
    818 .	if \\n(LE=2 .tl \(ts\\*(EL\(ts\(ts\\*(10\(ts
    819 .	if !\\n(LE \{\
    820 .		if !\\n(BD .tl \(ts\\*(EL\\*(EE\\*(10\(ts\(ts\(ts
    821 .		if \\n(BD .if \\n(BD<\\w\(ts\\*(10\(ts .nr BD \\w\(ts\\*(10\(ts
    822 .		if \\n(BD \!\\h'-\\\\n(.iu'\\*(EL\\h'|0'\\*(10\}\}
    823 'lt \\n(LLu
    824 'pc %
    825 .if \\n(YE .if \\n(EF .fi
    826 .if t .if \\n(ZN .sp .5
    827 .if n .if \\n(ZN .sp
    828 .ie "\\n(.z"" .nr PE \\n(nl
    829 .el .nr PE \\n(.d
    830 ..
    831 .de PS	\" start picture
    832 .	\" $1 is height, $2 is width, both in inches
    833 .if \\$1>0 .sp .35
    834 .ie \\$1>0 .nr $1 \\$1
    835 .el .nr $1 0
    836 .in (\\n(.lu-\\$2)/2u
    837 .ne \\$1
    838 ..
    839 .de PE	\" end of picture
    840 .in
    841 .if \\n($1>0 .sp .65
    842 ..
    843 .			\" .P1/.P2 macros for programs
    844 .
    845 .nr XP 1	\" delta point size for program
    846 .nr XV 1p	\" delta vertical for programs
    847 .nr XT 8	\" delta tab stop for programs
    848 .nr DV .5v	\" space before start of program
    849 .
    850 .de P1
    851 .nr P1 .4i	\" program indent in .P1
    852 .if \\n(.$ .nr P1 \\$1
    853 .br
    854 .nr v \\n(.v
    855 .di p1
    856 .in \\n(P1u
    857 .nf
    858 .ps -\\n(XP
    859 .vs -\\n(XVu
    860 .ft CW
    861 .nr t \\n(XT*\\w'x'u
    862 .ta 1u*\\ntu 2u*\\ntu 3u*\\ntu 4u*\\ntu 5u*\\ntu 6u*\\ntu 7u*\\ntu 8u*\\ntu 9u*\\ntu 10u*\\ntu 11u*\\ntu 12u*\\ntu 13u*\\ntu 14u*\\ntu
    863 ..
    864 .
    865 .de P2
    866 .br
    867 .ps \\n(PS
    868 .vs \\n(VSp
    869 .vs \\nvu
    870 .ft 1
    871 .in -\\n(P1u
    872 .di
    873 .br
    874 .sp \\n(DVu
    875 .br
    876 .if \\n(.$=0 .ne \\n(dnu  \" -\\n(DVu
    877 .nf
    878 .p1
    879 .sp \\n(DVu
    880 .br
    881 .fi
    882 ..
    883 .
    884 .de ME
    885 .nr SJ \\n(.j
    886 .if \\n(LL .nr LT \\n(LL
    887 .nr YE 1
    888 .if !\\n(PO .nr PO \\n(.o
    889 .if \\n(mo-0 .ds MO January
    890 .if \\n(mo-1 .ds MO February
    891 .if \\n(mo-2 .ds MO March
    892 .if \\n(mo-3 .ds MO April
    893 .if \\n(mo-4 .ds MO May
    894 .if \\n(mo-5 .ds MO June
    895 .if \\n(mo-6 .ds MO July
    896 .if \\n(mo-7 .ds MO August
    897 .if \\n(mo-8 .ds MO September
    898 .if \\n(mo-9 .ds MO October
    899 .if \\n(mo-10 .ds MO November
    900 .if \\n(mo-11 .ds MO December
    901 .if \\n(dw-0 .ds DW Sunday
    902 .if \\n(dw-1 .ds DW Monday
    903 .if \\n(dw-2 .ds DW Tuesday
    904 .if \\n(dw-3 .ds DW Wednesday
    905 .if \\n(dw-4 .ds DW Thursday
    906 .if \\n(dw-5 .ds DW Friday
    907 .if \\n(dw-6 .ds DW Saturday
    908 .nr yP (\\n(yr+2000)/100)
    909 .nr yD (\\n(yr%100
    910 .af yD 01
    911 .if "\\*(DY"" .ds DY \\*(MO \\n(dy, \\n(yP\\n(yD
    912 .if "\\*(CF"" .if n .ds CF "\\*(DY
    913 ..
    914 .	\"EM end up macro - process left over keep-release
    915 .de EM
    916 .br
    917 .if \\n(AJ .tm Syntax error: no .AE
    918 .if \\n(IF .ab Missing .FE somewhere
    919 .if t .if \\n(TB=0 .wh -1p CM
    920 .if \\n(TB \{\&\c
    921 '	bp
    922 .	NP
    923 .	ch CM 160\}
    924 ..
    925 .	\"NP new page
    926 .de NP
    927 .rr PE
    928 .if \\n(FM+\\n(HM>=\\n(.p \{\
    929 .	tm Margins bigger than page length.
    930 .	ab
    931 .	ex\}
    932 .if t .CM
    933 .if !\\n(HM .nr HM 1i
    934 'sp \\n(HMu/2u
    935 .ev 1
    936 .nr PX \\n(.s
    937 .nr PF \\n(.f
    938 .nr PV \\n(.v
    939 .lt \\n(LTu
    940 .ps \\n(PS
    941 .vs \\n(PS+2
    942 .ft 1
    943 .if \\n(PO .po \\n(POu
    944 .PT
    945 .ps \\n(PX
    946 .vs \\n(PVu
    947 .ft \\n(PF
    948 .ev
    949 'sp |\\n(HMu
    950 .nr XX 0 1
    951 .nr YY 0-\\n(FMu
    952 .ch FO 16i
    953 .ch FX 17i
    954 .ch FO \\n(.pu-\\n(FMu
    955 .ch FX \\n(.pu-\\n(FMu
    956 .if \\n(MF .FV
    957 .nr MF 0
    958 .mk
    959 .os
    960 .ev 1
    961 .if !\\n(TD .if \\n(TC<5  .XK
    962 .nr TC 0
    963 .ns
    964 .ev
    965 .nr TQ \\n(.i
    966 .nr TK \\n(.u
    967 .if \\n(IT \{\
    968 .	in 0
    969 .	nf
    970 .	TT
    971 .	in \\n(TQu
    972 .	if \\n(TK .fi\
    973 \}
    974 .mk #T
    975 ....if t .if \\n(.o+\\n(LL>7.75i .tm Offset + line length exceeds 7.75 inches, too wide
    976 ..
    977 .de XK
    978 .nr TD 1
    979 .nf
    980 .ls 1
    981 .in 0
    982 .rn KJ KL
    983 .KL
    984 .rm KL
    985 .if "\\n(.z"KJ" .di
    986 .nr TB 0
    987 .if "\\n(.z"KJ" .nr TB 1
    988 .br
    989 .in
    990 .ls
    991 .fi
    992 .if (\\n(nl+1v)>(\\n(.p-\\n(FM) \{\
    993 .	if \\n(NX>1 .RC
    994 .	if \\n(NX<1 .bp\}
    995 .nr TD 0
    996 ..
    997 .de KD
    998 .nr KM 0
    999 .if "\\n(.z"" .if \\$2>0 .if \\n(nl>\\n(HM \{\
   1000 .	if (\\n(nl+1v)<(\\n(.p-\\n(FM) .di KJ \" full page figure must have new page
   1001 .	sp 15i\}
   1002 .if "\\n(.z"" .if \\n(nl>\\n(HM .if \\$2=0 .if (\\n(nl+1v)>(\\n(.p-\\n(FM) .sp 15i
   1003 .if "\\n(.z"KJ" .nr KM 1 \" KM is 1 if in a rediversion of keeps
   1004 .if \\n(KM>0 \!.KD \\$1 \\$2
   1005 .nr KR \\n(.t
   1006 .if \\n(nl<=\\n(HM .nr KR 32767
   1007 .if \\n(KM=0 \{\
   1008 .	if \\n(KR<\\$1 \{\
   1009 .		di KJ
   1010 .		nr KM 1\}
   1011 .	if \\$2>0 .if (\\n(nl+1v)>(\\n(.p-\\n(FM) .sp 15i\}
   1012 .rs
   1013 .if \\n(KM=0 .if \\$2>0 .sp \\n(.tu-\\$1u
   1014 ..
   1015 .de PT
   1016 .lt \\n(LLu
   1017 .pc %
   1018 .nr PN \\n%
   1019 .if \\n%-1 .tl \\*(LH\\*(CH\\*(RH
   1020 .lt \\n(.lu
   1021 ..
   1022 .	\"FO - footer of page
   1023 .de FO
   1024 .rn FO FZ
   1025 .if \\n(IT>0 \{\
   1026 .	nr T. 1
   1027 .	if \\n(FC=0  .T# 1
   1028 .	br\}
   1029 .nr FC +1
   1030 .if \\n(NX<2 .nr WF 0
   1031 .nr dn 0
   1032 .if \\n(FC<=1 .if \\n(XX .XF
   1033 .rn FZ FO
   1034 .nr MF 0
   1035 .if \\n(dn  .nr MF 1
   1036 .if !\\n(WF \{\
   1037 .	nr YY 0-\\n(FMu
   1038 .	ch FO \\n(YYu\}
   1039 .if !\\n(dn .nr WF 0
   1040 .if \\n(FC<=1 .if \\n(XX=0 \{\
   1041 .	if \\n(NX>1 .RC
   1042 .	if \\n(NX<1 'bp\}
   1043 .nr FC -1
   1044 .if \\n(ML>0 .ne \\n(MLu
   1045 ..
   1046 .	\"2C - begin double column
   1047 .de 2C
   1048 .MC \" default MC is double column
   1049 ..
   1050 .de MC \" multiple columns- arg is line length
   1051 .nr L1 \\n(LL*7/15
   1052 .if \\n(CW>=0 .nr L1 \\n(CWu
   1053 .if \\n(.$ .nr L1 \\$1n
   1054 .if \\n(GW>=0 .nr GW \\n(GWu
   1055 .if \\n(.$>1 .nr GW \\$2n
   1056 .nr NQ \\n(LL/\\n(L1
   1057 .if \\n(NQ<1 .nr NQ 1
   1058 .if \\n(NQ>2 .if (\\n(LL%\\n(L1)=0 .nr NQ -1
   1059 .if !\\n(1T \{\
   1060 .	BG
   1061 .	if n .sp 4
   1062 .	if t .sp 2\}
   1063 .if \\n(NX=0 .nr NX 1
   1064 .if !\\n(NX=\\n(NQ \{\
   1065 .	RT
   1066 .	if \\n(NX>1 .bp
   1067 .	mk
   1068 .	nr NC 1
   1069 .	po \\n(POu\}
   1070 .if \\n(NQ>1 .hy \\n(HY
   1071 .nr NX \\n(NQ
   1072 .if \\n(NX>1 .nr CW \\n(L1
   1073 .ll \\n(L1u
   1074 .nr FL \\n(L1u*11u/12u
   1075 .if \\n(NX>1 .if \\n(GW<0 .nr GW (\\n(LL-(\\n(NX*\\n(L1))/(\\n(NX-1)
   1076 .nr RO \\n(L1+\\n(GW
   1077 .ns
   1078 ..
   1079 .de RC
   1080 .ie \\n(NC>=\\n(NX .C2
   1081 .el .C1
   1082 ..
   1083 .de C1
   1084 .rt
   1085 .po +\\n(ROu
   1086 .nr NC +1
   1087 .if \\n(NC>\\n(NX .nr NC 1
   1088 .nr XX 0 1
   1089 .nr YY 0-\\n(FMu
   1090 .if \\n(MF .FV
   1091 .ch FX \\n(.pu-\\n(FMu
   1092 .ev 1
   1093 .if \\n(TB .XK
   1094 .nr TC 0
   1095 .ev
   1096 .nr TQ \\n(.i
   1097 .if \\n(IT \{\
   1098 .	in 0
   1099 .	TT
   1100 .	in \\n(TQu\}
   1101 .mk #T
   1102 .ns
   1103 ..
   1104 .de C2
   1105 .po \\n(POu
   1106 .nr NC +1
   1107 .if \\n(NC>\\n(NX .nr NC 1
   1108 'bp
   1109 ..
   1110 .	\"1C - return to single column format
   1111 .de 1C
   1112 .MC \\n(LLu
   1113 .hy \\n(HY
   1114 ..
   1115 .de MH
   1116 Bell Laboratories
   1117 Murray Hill, New Jersey 07974
   1118 ..
   1119 .de PY
   1120 Bell Laboratories
   1121 Piscataway, New Jersey 08854
   1122 ..
   1123 .de BT
   1124 .nr PX \\n(.s
   1125 .nr PF \\n(.f
   1126 .ft 1
   1127 .ps \\n(PS
   1128 'lt \\n(LTu
   1129 .po \\n(POu
   1130 .if \\n%>0 .tl \(ts\\*(LF\(ts\\*(CF\(ts\\*(RF\(ts
   1131 .ft \\n(PF
   1132 .ps \\n(PX
   1133 ..
   1134 .	\"PP - paragraph
   1135 .de PP
   1136 .RT
   1137 .if \\n(1T .sp \\n(PDu
   1138 .ti +\\n(PIu
   1139 ..
   1140 .	\"SH - (unnumbered) section heading
   1141 .de SH
   1142 .ti \\n(.iu
   1143 .RT
   1144 .ie \\n(1T .sp 1
   1145 .el .BG
   1146 .RT
   1147 .ne 4
   1148 .ft 3
   1149 .if n .ul 1000
   1150 ..
   1151 .	\"NH - numbered heading
   1152 .de N{
   1153 .RT
   1154 .ie \\n(1T .sp 1
   1155 .el .BG
   1156 .RT
   1157 .ne 4
   1158 .ft 3
   1159 .if n .ul 1000
   1160 .nr NS \\$1
   1161 .if !\\n(.$ .nr NS 1
   1162 .if !\\n(NS .nr NS 1
   1163 .nr H\\n(NS +1
   1164 .if !\\n(NS-4 .nr H5 0
   1165 .if !\\n(NS-3 .nr H4 0
   1166 .if !\\n(NS-2 .nr H3 0
   1167 .if !\\n(NS-1 .nr H2 0
   1168 .if !\\$1 .if \\n(.$ .nr H1 1
   1169 .ds SN \\n(H1.
   1170 .ti \\n(.iu
   1171 .if \\n(NS-1 .as SN \\n(H2.
   1172 .if \\n(NS-2 .as SN \\n(H3.
   1173 .if \\n(NS-3 .as SN \\n(H4.
   1174 .if \\n(NS-4 .as SN \\n(H5.
   1175 ..
   1176 .de NH
   1177 .N{ \\$1
   1178 \\*(SN
   1179 ..
   1180 .	\"BG - begin, execute at first PP
   1181 .de BG
   1182 .br
   1183 .ME
   1184 .rm ME
   1185 .di
   1186 .ce 0
   1187 .nr KI 0
   1188 .hy \\n(HY
   1189 .nr 1T 1
   1190 .nr CS 0
   1191 .S\\n(ST
   1192 .rm S0 S1 S2 S3 OD OK TX AX WT CS TM IM MF MR RP I1 I2 I3 I4 I5 CB E1 E2
   1193 .de TL
   1194 .ft 3
   1195 .sp
   1196 .if n .ul 100
   1197 .ce 100
   1198 .ps +2
   1199 \\..
   1200 .de AU
   1201 .ft 2
   1202 .if n .ul 0
   1203 .ce 100
   1204 .sp
   1205 .NL
   1206 \\..
   1207 .de AI
   1208 .ft 1
   1209 .ce 100
   1210 .if n .ul 0
   1211 .if n .sp
   1212 .if t .sp .5
   1213 .NL
   1214 \\..
   1215 .RA
   1216 .rm RA
   1217 .rn FJ FS
   1218 .rn FK FE
   1219 .nf
   1220 .ev 1
   1221 .ps \\n(PS-2
   1222 .vs \\n(.s+2p
   1223 .ev
   1224 .if !\\n(KG .nr FP 0 
   1225 .if \\n(GA>1 .if \\n(KG=0 .nr GA 0 \" next UNIX must be flagged.
   1226 .nr KG 0 
   1227 .if \\n(FP \{\
   1228 .	FS
   1229 .	FG
   1230 .	FE\}
   1231 .br
   1232 .if n .if \\n(TV .sp 2
   1233 .if t .if \\n(TV .sp 1
   1234 .fi
   1235 .ll \\n(LLu
   1236 .ev 1
   1237 .if !\\n(FL .nr FL \\n(LLu*11u/12u
   1238 .ll \\n(FLu
   1239 .ev
   1240 ..
   1241 .de RA \"redefine abstract macros
   1242 .de AB
   1243 .br
   1244 .if !\\n(1T .BG
   1245 .ce 1
   1246 .sp 1
   1247 .ie \\n(.$ \{\
   1248 .	if !"\\$1"-" .if !"\\$1"no" \{\
   1249 \\$1
   1250 .sp\}\}
   1251 .el \{\
   1252 ABSTRACT
   1253 .sp\}
   1254 .sp 1
   1255 .nr AJ 1
   1256 .in +\\n(.lu/12u
   1257 .ll -\\n(.lu/12u
   1258 .RT
   1259 \\..
   1260 .de AE
   1261 .nr AJ 0
   1262 .br
   1263 .in 0
   1264 .ll \\n(LLu
   1265 .ie \\n(VS>=41 .vs \\n(VSu
   1266 .el .vs \\n(VSp
   1267 \\..
   1268 ..
   1269 .	\"IP - indented paragraph
   1270 .de IP
   1271 .RT
   1272 .if !\\n(IP .nr IP +1
   1273 .ie \\n(ID>0 .sp \\n(IDu
   1274 .el .sp \\n(PDu
   1275 .nr IU \\n(IR+1
   1276 .if \\n(.$>1 .nr I\\n(IU \\$2n+\\n(I\\n(IRu
   1277 .if \\n(I\\n(IU=0 .nr I\\n(IU \\n(PIu+\\n(I\\n(IRu
   1278 .in \\n(I\\n(IUu
   1279 .nr TY \\n(TZ-\\n(.i
   1280 .nr JQ \\n(I\\n(IU-\\n(I\\n(IR
   1281 .ta \\n(JQu \\n(TYuR
   1282 .if \\n(.$ \{\
   1283 .ti \\n(I\\n(IRu
   1284 \&\\$1\t\c
   1285 .\}
   1286 ..
   1287 .	\"LP - left aligned (block) paragraph
   1288 .de LP
   1289 .ti \\n(.iu
   1290 .RT
   1291 .if \\n(1T .sp \\n(PDu
   1292 ..
   1293 .de QP
   1294 .ti \\n(.iu
   1295 .RT
   1296 .if \\n(1T .sp \\n(PDu
   1297 .ne 1.1
   1298 .nr QP 1
   1299 .in +\\n(QIu
   1300 .ll -\\n(QIu
   1301 .ti \\n(.iu
   1302 ..
   1303 .	\"IE - synonym for .LP
   1304 .de IE
   1305 .LP
   1306 ..
   1307 .	\"RS - prepare for double indenting
   1308 .de RS
   1309 .nr IS \\n(IP
   1310 .RT
   1311 .nr IP \\n(IS
   1312 .nr IU \\n(IR
   1313 .nr IR +1
   1314 .if !\\n(I\\n(IR .nr I\\n(IR \\n(I\\n(IU+\\n(PIu
   1315 .in \\n(I\\n(IRu
   1316 .nr TY \\n(TZ-\\n(.i
   1317 .ta \\n(TYuR
   1318 ..
   1319 .	\"RE - retreat to the left
   1320 .de RE
   1321 .nr IS \\n(IP
   1322 .RT
   1323 .nr IP \\n(IS
   1324 .if \\n(IR>0 .nr IR -1
   1325 .in \\n(I\\n(IRu
   1326 ..
   1327 .de TC
   1328 .nr TZ \\n(.lu
   1329 .if \\n(.$ .nr TZ \\$1n
   1330 .ta \\n(TZuR
   1331 ..
   1332 .de TD
   1333 .LP
   1334 .nr TZ 0
   1335 ..
   1336 .	\"CM - cut mark
   1337 .de CM
   1338 .po 0
   1339 .lt 7.6i
   1340 .ft 1
   1341 .ps 10
   1342 .vs 4p
   1343 .if "\\*(.T"aps" .tl '--''--'
   1344 .po
   1345 .vs
   1346 .lt
   1347 .ps
   1348 .ft
   1349 ..
   1350 .		\" fontname(CW) fontstr(\f(CW) first_arg goes_after goes_before
   1351 .de OF		\" this is completely WRONG if any argument contains "'s
   1352 .nr PQ \\n(.f
   1353 .hy 0
   1354 .if t .if "\\$3"" .ft \\$1
   1355 .if t .if !"\\$3"" \{\
   1356 \&\\$5\\$2\\$3\\f\\n(PQ\\$4
   1357 .hy \\n(HY\}
   1358 .if n \{\
   1359 .	if \\n(.$=5 \&\\$5
   1360 .	ie "\\$3"" .ul 1000
   1361 .	el .ul 1
   1362 .	if \\n(.$=3 \&\\$3
   1363 .	if \\n(.$>3 \&\\$3\\c
   1364 .	if \\n(.$>3 \&\\$4
   1365 .	hy \\n(HY\}
   1366 ..
   1367 .	\"B - bold font
   1368 .de B
   1369 .OF 3 \\f3 "\\$1" "\\$2" "\\$3"
   1370 ..
   1371 .de BI	\" bold italic -- only on 202
   1372 .OF 4 \\f4 "\\$1" "\\$2" "\\$3"
   1373 ..
   1374 .	\"R - Roman font
   1375 .de R
   1376 .nr PQ \\n(.f
   1377 .ft 1
   1378 .ie \\n(.$>0 \&\\$1\f\\n(PQ\\$2
   1379 .el .if n .ul 0
   1380 ..
   1381 .	\"I - italic font
   1382 .de I
   1383 .OF 2 \\f2 "\\$1" "\\$2" "\\$3"
   1384 ..
   1385 .	\"CW - constant width font
   1386 .de CW
   1387 .nr PQ \\n(.f
   1388 .if t .if \\n(.$>0 \%\&\\$3\f(CW\\$1\f\\n(PQ\&\\$2
   1389 .if t .if \\n(.$=0 .OF CW \\f(CW "\\$1" "\\$2" "\\$3"
   1390 .if n .OF CW \\f(CW "\\$1" "\\$2" "\\$3"
   1391 ..
   1392 .	\"TA - tabs set in ens or chars
   1393 .de TA
   1394 .ta \\$1n \\$2n \\$3n \\$4n \\$5n \\$6n \\$7n \\$8n \\$9n
   1395 ..
   1396 .	\"SM - make smaller size
   1397 .de SM
   1398 .ie \\n(.$ \&\\$3\s-2\\$1\s0\\$2
   1399 .el .ps -2
   1400 ..
   1401 .	\"LG - make larger size
   1402 .de LG
   1403 .ps +2
   1404 ..
   1405 .	\"NL - return to normal size
   1406 .de NL
   1407 .ps \\n(PS
   1408 ..
   1409 .	\"DA - force date; ND - no date or new date.
   1410 .de DA
   1411 .if \\n(.$ .ds DY \\$1 \\$2 \\$3 \\$4
   1412 .ds CF \\*(DY
   1413 ..
   1414 .de ND
   1415 .ME
   1416 .rm ME
   1417 .ds DY \\$1 \\$2 \\$3 \\$4
   1418 .rm CF
   1419 ..
   1420 .de FN
   1421 .FS
   1422 ..
   1423 .	\"FS - begin footnote
   1424 .de FJ
   1425 'ce 0
   1426 .nr IA \\n(IP
   1427 .nr IB \\n(.i
   1428 .ev1
   1429 .ll \\n(FLu
   1430 .da FF
   1431 .br
   1432 .if \\n(IF \{\
   1433 .	tm Footnote within footnote-illegal.
   1434 .	ab\}
   1435 .nr IF 1
   1436 .if !\\n+(XX-1 .FA
   1437 ..
   1438 .	\"FE - footnote end
   1439 .de FK
   1440 .br
   1441 .in 0
   1442 .nr IF 0
   1443 .di
   1444 .ev
   1445 .if !\\n(XX-1 .nr dn +\\n(.v
   1446 .nr YY -\\n(dn
   1447 .if !\\n(NX .nr WF 1
   1448 .if \\n(dl>\\n(CW .nr WF 1
   1449 .ie (\\n(nl+\\n(.v)<=(\\n(.p+\\n(YY) .ch FO \\n(YYu
   1450 .el \{\
   1451 .	if \\n(nl>(\\n(HM+1.5v) .ch FO \\n(nlu+\\n(.vu
   1452 .	if \\n(nl+\\n(FM+1v>\\n(.p .ch FX \\n(.pu-\\n(FMu+2v
   1453 .	if \\n(nl<=(\\n(HM+1.5v) .ch FO \\n(HMu+(4u*\\n(.vu)\}
   1454 .nr IP \\n(IA
   1455 'in \\n(IBu
   1456 ..
   1457 .\"	First page footer.
   1458 .de FS
   1459 .ev1
   1460 .br
   1461 .ll \\n(FLu
   1462 .da FG
   1463 ..
   1464 .de FE
   1465 .br
   1466 .di
   1467 .nr FP \\n(dn
   1468 .if !\\n(1T .nr KG 1 \"not in abstract repeat next page.
   1469 .if "\\n(.z"OD" .nr KG 0 \" if in OK, don't repeat.
   1470 .ev
   1471 ..
   1472 .de FA
   1473 .if n __________________________
   1474 .if t \l'1i'
   1475 .br
   1476 ..
   1477 .de FV
   1478 .FS
   1479 .nf
   1480 .ls 1
   1481 .FY
   1482 .ls
   1483 .fi
   1484 .FE
   1485 ..
   1486 .de FX
   1487 .if \\n(XX \{\
   1488 .	di FY
   1489 .	ns\}
   1490 ..
   1491 .de XF
   1492 .if \\n(nlu+1v>(\\n(.pu-\\n(FMu) .ch FX \\n(nlu+1.9v
   1493 .ev1
   1494 .nf
   1495 .ls 1
   1496 .FF
   1497 .rm FF
   1498 .nr XX 0 1
   1499 .br
   1500 .ls
   1501 .di
   1502 .fi
   1503 .ev
   1504 ..
   1505 .de FL
   1506 .ev1
   1507 .nr FL \\$1n
   1508 .ll \\$1
   1509 .ev
   1510 ..
   1511 .de HO
   1512 Bell Laboratories
   1513 Holmdel, New Jersey 07733
   1514 ..
   1515 .de WH
   1516 Bell Laboratories
   1517 Whippany, New Jersey 07981
   1518 ..
   1519 .de IH
   1520 Bell Laboratories
   1521 Naperville, Illinois 60540
   1522 ..
   1523 .de UL \" underline argument, don't italicize
   1524 .ie t \\$1\l'|0\(ul'\\$2
   1525 .el .I "\\$1" "\\$2"
   1526 ..
   1527 .de UX
   1528 .ie \\n(GA \\$2\s-1UNIX\s0\\$1
   1529 .el \{\
   1530 .ie n \{\\$2UNIX\\$1*
   1531 .FS
   1532 * UNIX is a
   1533 .ie \\$3=1 Footnote
   1534 .el registered trademark
   1535 of X/Open.
   1536 .FE\}
   1537 .el \\$2\s-1UNIX\\s0\\$1\\f1\(rg\\fP
   1538 .nr GA 1\}
   1539 ..
   1540 .de US
   1541 the
   1542 .UX
   1543 operating system\\$1
   1544 ..
   1545 .de QS
   1546 .br
   1547 .LP
   1548 .in +\\n(QIu
   1549 .ll -\\n(QIu
   1550 ..
   1551 .de QE
   1552 .br
   1553 .ll +\\n(QIu
   1554 .in -\\n(QIu
   1555 .LP
   1556 ..
   1557 .de B1 \" begin boxed stuff
   1558 .br
   1559 .di BB
   1560 .nr BC 0
   1561 .if "\\$1"C" .nr BC 1
   1562 .nr BE 1
   1563 ..
   1564 .de B2 \" end boxed stuff
   1565 .br
   1566 .nr BI 1n
   1567 .if \\n(.$>0 .nr BI \\$1n
   1568 .di
   1569 .nr BE 0
   1570 .nr BW \\n(dl
   1571 .nr BH \\n(dn
   1572 .ne \\n(BHu+\\n(.Vu
   1573 .nr BQ \\n(.j
   1574 .nf
   1575 .ti 0
   1576 .if \\n(BC>0 .in +(\\n(.lu-\\n(BWu)/2u
   1577 .in +\\n(BIu
   1578 .ls 1
   1579 .BB
   1580 .ls
   1581 .in -\\n(BIu
   1582 .nr BW +2*\\n(BI
   1583 .sp -1
   1584 \l'\\n(BWu\(ul'\L'-\\n(BHu'\l'|0\(ul'\h'|0'\L'\\n(BHu'
   1585 .nr BW -2*\\n(BI
   1586 .if \\n(BC>0 .in -(\\n(.lu-\\n(BWu)/2u
   1587 .if \\n(BQ .fi
   1588 .br
   1589 ..
   1590 .de AT
   1591 .nf
   1592 .sp
   1593 .ne 2
   1594 Attached:
   1595 ..
   1596 .de CT
   1597 .nf
   1598 .sp
   1599 .ne 2
   1600 .ie \\n(.$ Copy to \\$1:
   1601 .el Copy to:
   1602 ..
   1603 .de BX
   1604 .ie t \(br\|\\$1\|\(br\l'|0\(rn'\l'|0\(ul'
   1605 .el \(br\\kA\|\\$1\|\\kB\(br\v'-1v'\h'|\\nBu'\l'|\\nAu'\v'1v'\l'|\\nAu'
   1606 ..
   1607 .IZ
   1608 .rm IZ
   1609 .de [
   1610 [
   1611 ..
   1612 .de ]
   1613 ]
   1614 ..