ttmac.s - plan9port - [fork] Plan 9 from user space
 (HTM) git clone git://src.adamsgaard.dk/plan9port
 (DIR) Log
 (DIR) Files
 (DIR) Refs
 (DIR) README
 (DIR) LICENSE
       ---
       ttmac.s (23530B)
       ---
            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 ..