Annotation of researchv10dc/man/adm/tmac.s, revision 1.1

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

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.