PVOL1RSXM01 D%C 1 3PPHDR1RSXM32. RSXM0100010001000100 82222 82222 000000DECFILE11A PPHDR2U0206402064 M 00 PPHDR30810000000000000000100000000000000000810000000000000000000000000 P RSXM32 DR1 RSXM32`0DR?.t:#z29DEC81102852$000000000 0 0 0 0 000Տ,    ߕ  . ׭f 2       C  @P7uUA A 5MeJ C u͕9͋ 565 "/w=w:w:w:w:CmEC  U ͕ DE                                                     0RSXM3229DEC81102852yRSXM32 [001,001] DECFILE11A > BACKUPDR1:[12,304]000000 .DIR;1BϐPUKCABF.NNz29DEC81102852=t:#z xQz kzNNz*O:zOOzOPzOQz ORz OTz OUz Oz OzOzOzOzOzOzO>zOBzPzwvzwzwzwzwzwzxvzxzxzxz xz!xz"zvz#zz$zz%zz&zz'zz({vz){z*{z+{z,{z-{z.vz/z0z1z2vz3z4vz5z6z7z8z9vz:ƞz;z<z=zBACKUPDR1:[12,304]CORIMG .SYS;1Bϐz PUKCAB2.*O:z29DEC8112002229DEC81102852̠j>Π3T3X?/?PO02(28X?     X4 6̫ҢtztʢʢʢҢ¢ZJRr *ڢB:2򢚣"b `D7 Π@ % 7 ̠ d  ge 7 b jpwrwTE@&7F7 Bgr> , @$ iwlX?PB, Uw'&17   B `e ¢  ¢ W ,7 i !z R 4 t Z d 4j 4n 4Ȭ X X X X$ X d| dR pF p2 | |ΰ d 4 ĩ Щ ܩx ª l5ew , Bv    EU  5Bwb X? X?6.*O:z29DEC8112002229DEC811028525  5U TH jE*5@*& E& & f&ËDef Ë )̋U&ff 4 $4 44T4(X$H4$L@(p4Lp4@4d!4p%4|)4쨈-4p쨔14쨸2d474ĩ<4ЩA4ܩF4I4LhN PXQR$, T &a 67      !!!&! (# !&@ DfCCD *f w_@@d   $=:," 7 /,55-2- 2-7 " 67 *%&e EC   2 2  = EA 05   (C  \JANFEBMARAPRMAYJUNJULAUGSEPOCTNOVDEC&= 0 aeSSS %  % `e0e0S@eT TR d s5h  t r e hO5D@^  j@J $  *wf @e @E77 $ "   % e && P PP pe     B pp C `p Q$ &Ӥ `B   0 bN[ 5 B5R& 5 W  5<[ ,t ( (* b+%)~ f v΋B  %  C WEB EBEP UC E2@ -$ z& lB% b %݉7 e  ,w7:@-*  2!& & f& & Ε &  %P1W ! ! % !Cb&C ?%< \eaW/2B0@A&fe 5  ʋ p5EAE e` $ ቖ%EDEU< && d@,,f" $ &@& w( p -BCwJp}  E 7$7&nEeDB C   CeB U%   -#O Ee1 1  eE <&q B C ClB  *  EeBeɊD    5a aB     ( %<&q B C ClB  *  EeBeɊD    5a aB     ( %    ( %v=34/////?PO.> jQ@(+' . ٦Q0a.Q"" Q=ACS SY:/BLKS=1024. J?ԡ-gg vgA$HlF7V g>77  x'&10a/~N;}0a4~^s0a7~ns0a9 ~~E`0a>~y0a@4~Sy0aC4~y0aG4~z0aJ4~Τz0aM4~ޤz0aP4~z0aR4~z0aU40~z0aW4~z0aY~.0a[~>y0a\~Na'0a^(~^0a`~n:d0acL~,0af¦l ,¦F ¦kff¦¦a'¦u~¦VN¦Uq f [q f swrff4¦4l ¦[¦E`¦'fE`¦:d¦IqLq¦4y¦4}¦l ;}¦vffspy,+4 >\ >[@7  ׭B E 7 H  U ׭xU1T _1`eʝNeє T]7P]  &.-| -| E 7 7 we e e e %n5  \ R7 w7 FϦ7 w,J e  5 ٦ܦ +Ʀ'& +'5 7 )7 \0  _lE  [-[[wFw[w[UA&Ur[ -[[7 [[EA&E b[ vw (@f ťZ+ťAť9%ť0ť$ ť  ť.@&fA ^EAa$  *  + 23E Ew Z   Е-   0@A r^W e`fÊ    E &f  " $m&B @,,f" $ &@& xw^}  E 7$7&EeDB C   CeB U%   -#O Ee1 1 eE <&q B C ClB  *  EeBeɊD    5a aB     ( %m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶!m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶%m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶)m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶-m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶1m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶5m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶9m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶=m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶Am۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶Em۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶Im۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶Mm۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶Qm۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶Um۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶Ym۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶]m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶am۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶em۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶im۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶mm۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶qm۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶um۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶ym۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶}m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶ m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶ m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶!m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶%m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶)m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶-m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶1m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶5m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶9m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶=m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶Am۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶Em۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶Im۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶Mm۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶Qm۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶Um۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶Ym۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶]m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶am۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶em۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶im۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶mm۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶qm۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶um۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶ym۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶}m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶ m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶ m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶!m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶%m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶)m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶-m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶1m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶5m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶9m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶=m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶Am۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶Em۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶Im۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶Mm۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶Qm۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶Um۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶Ym۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶]m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶am۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶em۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶im۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶mm۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶qm۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶um۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶ym۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶}m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶ m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶ m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶!m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶%m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶)m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶-m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶1m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶5m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶9m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶=m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶Am۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶Em۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶Im۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶Mm۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶Qm۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶Um۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶Ym۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶]m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶am۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶em۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶im۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶mm۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶qm۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶um۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶ym۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶}m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶BACKUPDR1:[12,304]001001 .DIR;1Րtm۶m۶PUKCAB<.OOz29DEC8110442429DEC81102903P@FM NskQ8kQ>#Q"SA &^B &Q^C &aT^DM^EM^Ft^^GZg8^HZg9;^IZgd^JZg^K^?#jL_OzjL_L8_MskQxBACKUPDR1:[12,304]001002 .DIR;1Ր(^FPUKCAB.OPz29DEC8110442829DEC81102903PPysdRkz?TQ2d"BACKUPDR1:[12,304]001003 .DIR;1Ր(PUKCABV.OQz29DEC8110442829DEC81102903Pm۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶ BACKUPDR1:[12,304]001004 .DIR;1i֐(m۶m۶PUKCABC3 . ORz29DEC8110442829DEC81102904Q m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶ BACKUPDR1:[12,304]001006 .DIR;1i֐(m۶m۶PUKCABE' . OTz29DEC8110442829DEC81102904q S""_M"T""_Mc"" BACKUPDR1:[12,304]001007 .DIR;1i֐(PUKCAB . OUz29DEC8110442829DEC81102904Q m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶ BACKUPDR1:[12,304]001020 .DIR;1.אdm۶m۶PUKCAB] . Oz29DEC8110442929DEC81102905o ddhddddUdd ddVddi_ddeddWmddaddddddj,ddddkddlddddddddddm)!ddn"ddr&Mddq&Qddo&Rddp&xdds &sddx'dd'dd(ddtw*?TddX2ddu8ddw8%ddv8ddyy:ddY:dd:ddbKddZYMdd[MddxMddkQdd]Qdd\QddzSdd{aTdd . Oz29DEC8110444529DEC81102905 U 8K:K:;KdMX^x`'^zr^}^__,_"_&_&_8_y:_:_1KX_YM_M_Q_4SJ_aT_xel_ f_Ol_Ol_ q_r_v_BACKUPDR1:[12,304]001030 .DIR;1.אv ^PUKCAB8 .Oz29DEC8110445229DEC81102905 9Vm۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶BACKUPDR1:[12,304]001034 .DIR;1Śאv m۶m۶PUKCABދ.Oz29DEC8110445229DEC81102906 CWm۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶BACKUPDR1:[12,304]001050 .DIR;1Śאv m۶m۶(PUKCAB.(Oz29DEC8110445229DEC81102906,w:d@QTsysysysy sysysy sy sy MsyLSsy~?4@|rbsBACKUPDR1:[12,304]001060 .DIR;1[3ؐ1yN0PUKCABk.0O>z29DEC8110451029DEC81102907Tm۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶BACKUPDR1:[12,304]001064 .DIR;1[3ؐ1m۶m۶4PUKCAB.4OBz29DEC8110451029DEC81102907Tm۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶BACKUPDR1:[12,304]002300 .DIR;1[3ؐ1m۶m۶PUKCABW.Pz29DEC8110451029DEC81102907@&$&@${|&,u&{Dxx':"}bKyYMQ ~kQ!9KkQ"9kQ_kQskQTskQskQ# skQskQskQLskQ skQBACKUPDR1:[12,304]011020 .DIR;1ؐ^I&kQ PUKCABU. wz29DEC8110453729DEC81102908I_m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶BACKUPDR1:[12,304]011024 .DIR;1ؐ^I&m۶m۶ PUKCABaJ. wz29DEC8110453729DEC81102908S_m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶BACKUPDR1:[12,304]011030 .DIR;1dِ^I&m۶m۶ PUKCAB. wz29DEC8110453729DEC81102909}`m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶BACKUPDR1:[12,304]011034 .DIR;1dِ^I&m۶m۶ PUKCAB. wz29DEC8110453729DEC81102909`m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶BACKUPDR1:[12,304]011040 .DIR;1ِ^I&m۶m۶ PUKCABt. wz29DEC8110453729DEC81102910Wm۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶BACKUPDR1:[12,304]012010 .DIR;1ڐ^I&m۶m۶ PUKCAB .  xvz29DEC8110453729DEC81102911Zbvt:zt:'*A0akQ%kQ&&kQ',0akQ, zkQ(40akQ)F 0akQBl 0akQ*}kQkQC`ekQ+[0akQ>mkQ,$]kQ-tPkQ0akQ.0akQo$^kQ/,PkQkQv0akQ00akQ1HkQ{SkQ0akQ2@GkQ3"wkQ4""?TkQt""0akQ5&kQ6'0akQEa'0akQ7'pkQ8'kQ9,ZkQ:-LkQ;.`kQ<.YkQ=.xxkQ2XMkQ?8kQ8C kQ8N kQ8W kQ8X kQ8Y kQ8Z kQ8[ kQ8s kQ8kkQ8kQ8kQ8r!kQ8"kQ8""kQ8 #kQ8&kQ8#&kQ8`&kQ8&kQ8'kQ8'kQ8'kQ8'kQ8'kQ8(kQ8v*kQ8+kQ8-kQ8,.kQ8.kQ8O9kQ8P9kQ8Q9kQ8R9kQ8X:kQ8:kQ8:kQ8:kQ8:kQ8:kQ8QkQ8RkQ8RkQ8KXkQ8QXkQ8VXkQ8\XkQ8`XkQ8ZkQ8ZkQ8`kQ8:dkQ8dkQ8hfkQ8wfkQ8fkQ8fkQ8fkQ8rkQ8wkQ8ykQ8 zkQ8zkQ8'zkQ8(zkQ8)zkQ8*zkQ8+zkQ8,zkQ8zkQ8zkQ8zkQ8zkQ8zkQ8}kQ8}kQ8kQ8KkQ8ĐkQ8 kQy:,kQy: kQy: kQy:D,kQy:e4kQy:oQkQy:8XkQy::dkQy:rkQy:ąkQJ:p kQK:kQG:`'kQL:(kQM:8,kQN:2kQ@:PKkQs:fkQH:rkQr:` kQOE`kQPK0kQQK~kQRKskQSK :kQTKp:kQUKPkQVK8kQWLykQXOM0akQYVN0akQqQkQFQ{kQnQ,`kQDQ0akQmQ0akQy[R SkQSkQS<kQS{kQSkQ S'kQS?TkQS:dkQSfkQ SrkQS zkQS8}kQ?TakQ\X zkQ[E`0akQ\:d0akQpf0akQ]p0akQ^Iq0akQ_Lq0akQYq,kQls0akQus0akQIvkQvUkQvkQ|vkQvkQ}vPkQ~vkQvkQvkQvkQvkQvkQvkQvkQv kQvHkQxvkQvkQ$v@kQvH!kQ{v'kQ`v:kQwvBxkQvykQZv zkQzvkQxD,kQSy0akQy0akQay0akQykQy0akQz0akQz0akQz0akQz0akQz0akQz0akQz0akQbzP}kQcz0akQdzrkQe;}0akQfu~0akQg{~kQh~WkQ skQ kQ kQJkQ4kQ4:dkQ4"gkQ4kQi|kQj|&kQk8TkQBACKUPDR1:[12,304]012020 .DIR;1L.ې[:kQ) PUKCAB . xz29DEC8110461129DEC81102912SX&E &jLd8E 8jLdy:E y:jLdYME QE QjLdt:'^BACKUPDR1:[12,304]012024 .DIR;1L.ېW< PUKCABP. xz29DEC8110461429DEC81102912`X &E !&jLd"8E #8jLd$y:E %y:jLdYME QE QjLd&t:'^BACKUPDR1:[12,304]012030 .DIR;1ېW< PUKCAB. xz29DEC8110461429DEC81102913Ym۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶ BACKUPDR1:[12,304]012034 .DIR;1y_ܐW<m۶m۶ PUKCAB .  xz29DEC8110461429DEC81102914Z m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶!BACKUPDR1:[12,304]012040 .DIR;1y_ܐ<m۶m۶ PUKCAB>!.! xz29DEC8110461529DEC81102914Z!m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶"BACKUPDR1:[12,304]014010 .DIR;1<)ސ<m۶m۶ PUKCAB"." zvz29DEC8110461529DEC81102917k"Nc QkQ]c _kQ_i XkQMp ]kQ>,QkQA,_kQH,XkQO,m kQ),kQ2,,kQ4,3kQb,:kQ3,QkQk,ykQQ,M~kQC ,]kQ?3_kQB3XkQD3]kQc:QkQa:_kQd:XkQe:]kQ[LPm kQ1LPkQ=LP3kQ<LPQkQqLPykQSLPM~kQGQQkQIQ_kQ*QXkQJQ]kQFZkQ@UqkQ'rkQErW!kQ.rkQkQ+rqkQLrkQoyQkQmy_kQnyXkQjy]kQ(}RkQUC~QkQVC~_kQWF~kQXI~XkQYP~]kQPSm kQ,SkQ5S3kQfS:kQKSQkQZ`m kQ0`kQ;`3kQg`:kQ:`QkQl`ykQ\`M~kQTm kQ-kQ73kQi:kQ6QkQ^M~kQRm kQ/kQ93kQh:kQ8QkQpykQ`M~kQ#BACKUPDR1:[12,304]014020 .DIR;1<)ސBkQ) PUKCAB#.# zz29DEC8110462529DEC81102917!g`#rrE $BACKUPDR1:[12,304]014024 .DIR;1ސB PUKCABiA$.$ zz29DEC8110462529DEC81102918"qa$srE %BACKUPDR1:[12,304]014030 .DIR;1iZߐ-~C PUKCABk%.% zz29DEC8110462629DEC81102919#b%m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶&BACKUPDR1:[12,304]014034 .DIR;1-~Cm۶m۶ PUKCABe&.& zz29DEC8110462629DEC81102921$Z&m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶'BACKUPDR1:[12,304]014040 .DIR;1-$-~Cm۶m۶ PUKCABu'.' zz29DEC8110462629DEC81102922%['m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶(BACKUPDR1:[12,304]015010 .DIR;1ü-~Cm۶m۶ PUKCAB (.( {vz29DEC8110462629DEC81102923&D](v}kQw_kQx2XMkQy2rkQz3kQ|3 zkQ{ 5*}kQtx`'kQuxXkQ)BACKUPDR1:[12,304]015020 .DIR;1ZUGEkQu PUKCAB?y).) {z29DEC8110462929DEC81102924'y^)~4SE 4SjLd}xXE *BACKUPDR1:[12,304]015024 .DIR;1GE PUKCABy*.* {z29DEC8110462929DEC81102925(_*4SE 4SjLdxa'xxXE +BACKUPDR1:[12,304]015030 .DIR;1E PUKCAB+.+ {z29DEC8110463029DEC81102926)a+m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶,BACKUPDR1:[12,304]015034 .DIR;1Em۶m۶ PUKCAB],., {z29DEC8110463029DEC81102927*b,m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶-BACKUPDR1:[12,304]015040 .DIR;1Em۶m۶ PUKCABz\-.- {z29DEC8110463029DEC81102928+c-m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶.BACKUPDR1:[12,304]023010 .DIR;1JPEm۶m۶PUKCAB...vz29DEC8110463029DEC81102929p. skQ&WkQ&ZkQ,kQ,9^}kQtkQt@kQt!kQK f9kQL 0akQ` kQ HkQ 8kQ_L kQnMkQkQLkQkQ_kQkQ%kQkQ %vQkQ&v~kQ&Z}kQ(kQ(@kQe kQdkQkQ<@kQe+kQkQ<kQkQkQSkQLkQy-kQ XkQe"kQkQnZ&s!kQz`kQ{SZkQ{GLkQ?G8^kQ=Gp kQAG}kQBGkQCG kQDG8kQEG@`kQGG kQ*GkQF*KkQkQ5BACKUPDR1:[12,304]045020 .DIR;1)WkQ%PUKCAB5.5%z29DEC8110465929DEC811029353 {5IE DMDEvNGEQHF KF LF`JJx6BACKUPDR1:[12,304]045024 .DIR;1WX%PUKCAB#6.6%z29DEC8110470229DEC811029354v6PE DQDEvUGEQOF RF SF`TJx7BACKUPDR1:[12,304]045030 .DIR;1h|Y%PUKCABM7.7%z29DEC8110470329DEC8110293658w7m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶8BACKUPDR1:[12,304]045034 .DIR;1Ym۶m۶%PUKCAB-8.8%z29DEC8110470329DEC811029376Bx8m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶m۶9BACKUPDR1:[12,304]104010 .DIR;1Ym۶m۶DPUKCAB9.9Dvz29DEC8110470329DEC81102938^x9VxWX{BACKUPDR1:[12,304]EXEMC .MLB;1@@APUKCABİ>.>@@t#Q"S29DEC8110294529DEC81102944?<B><0Q 3@, @b  V  ^3 z    ! :w* 1f2  V5  b; \K zK aT 6zd e z:w xz}   'VQ  .MACRO ABODF$,L,B S.CACT='B'-4. S.CEXT='B'-2. S.COAD='B'0. S.CSGF='B'2. S.CBPT='B'4. S.CIOT='B'6. S.CILI='B'8. S.CEMT='B'10. S.CTRP='B'12. S.CFLT='B'14. S.CSST='B'16. S.CAST='B'18. S.CABO='B'20. S.CLRF='B'22. S.CCRF='B'24. S.IOMG='B'26. S.PRTY='B'28. S.CPMD='B'30. S.CINS='B'32. T.NDNR='B'0 T.NDSE='B'2 T.NCWF='B'4 T.NCRE='B'6 T.NDMO='B'8. T.NUER='B'10. T.NLDN='B'12. T.NLUP='B'14. T.NCFI='B'16. T.NUDE='B'18. T.NMPE='B'20. T.NKLF='B'22. T.NDEB='B'24. T.NRCT='B'26.$ T.NWBL='B'28.' .MACRO ABODF$ X,Y .ENDM .ENDMQ  .MACRO CLKDF$,L,B. C.MRKT='B'0. C.SCHD='B'20 C.SSHT='B'4' C.SYST='B'6' C.SYTK='B'8. C.CSTP='B'10.T .ASECT.=0OC.LNK:'L' .BLKW 1'C.RQT:'L' .BLKB 1C.EFN:'L' .BLKB 1.C.TCB:'L' .BLKW 1DC.TIM:'L' .BLKW 2' .=C.TIM+4RC.AST:'L' .BLKW 1C.SRC:'L' .BLKW 1CC.DST:'L' .BLKW 1' .=C.TIM+4'C.RSI:'L' .BLKW 22C.UIC:'L' .BLKW 1 .=C.TIM+46 .BLKW 2 .BLKW 1 .=C.TIM+40C.SUB:'L' .BLK>W 1C.AR5:'L' .BLKW 1R .BLKW 1 C.LGTH='B'.8 .PSECTR .MACRO CLKDF$ X,Y .ENDM .ENDMTQ  .MACRO CUCDF$ X,Y .ASECT .= U.CW2+2U.ACUR:'X .BLKW 1YU.NSYN:'X .BLKB 1'U.NSYC:'X .BLKB 1 .= U.VCB+2U.PHDR:'X .BLKW 1 U.RCHK:'X .BLKW 1 U.QSYN:'XLU.RCAC:'X .BLKW 1LU.RBUF:'X .BLKW 2LU.RCNT:'X .BLKW 1+U.SVC:'X .BLKW 1 U.TXCT:'X:U.INTP:'X .BLKW 1:U.SYNC:'X .BLKB 1IU.MPN:'X .BLKB 1U.RFRK:'X .BLKW 1BU.RFPC:'X .BLKW 1U.RFR5:'X .BLKW 1U.RFR4:'X .BLKW 1LU.RFCT='Y U.TXCT+1 .PSECTRU2.HDX='Y 100000U2.LIN='Y 40000U2.CTS='Y 20000U2.SWC='Y 10000U2.ONL='Y 4000U2.HPT='Y 1000U2.HRC='Y 400U2.RCV='Y 200U2.ACU='Y 100U2.MPT='Y 40U2.FTM='Y 20U2.SFL='Y 10U2.RFK='Y 4U2.SYC='Y 3U2.TXA='Y 2U2.SNC='Y 1 US.SYN='Y 1TU3.LOK='Y 100000U3.RPD='Y 400U3.RAC='Y 200U3.SND='Y 1 .MACRO CUCDF$ A,B .ENDM .ENDM4Q  .MACRO CVCDF$ X,Y .ASECTK .= V.IFWI4V.CPRT:'X .BLKW 1TV.CLUN:'X .BLKB 1CV.CMPN:'X .BLKB 10V.CSTS:'X .BLKW 1V.CST1:'X .BLKB 12V.CNID:'X .BLKB 1OV.CUCB:'X .BLKW 1TV.CMPL:'X .BLKW 1'V.CNPN:'X .BLKW 1 V.CMBC:'X .BLKW 1 V.CRED:'X .BLKW 1 V.CNHD:'X .BLKW 10V.CTBL:'X .BLKW 1V.CRBL:'X .BLKW 12V.NXHD:'X .BLKW 1TV.CDBC:'X .BLKW 1CV.CIAD:'X .BLKW 1'V.CICT:'X .BLKW 10V.CSAD:'X .BLKW 10V.CSCT:'X .BLKW 1V.CMXI:'X .BLKW 1.V.CMXO:'X .BLKW 1.V.CTDH:'X .BLKW 1V.CTDT:'X .BLKW 1 V.CSTQ:'X .BLKW 2KV.CLMT:'X .BLKB 1TV.CTMA:'X .BLKB 1NV.CLMR:'X .BLKB 1NV.CRMA:'X .BLKB 1SV.CMCT:'X .BLKW 21V.CRPC:'X .BLKB 1DV.CRPL:'X .BLKB 1BV.CRTM:'X .BLKW 1LV.CREP:'X .BLKW 1NV.CBCC:'X .BLKW 1CV.CDCC:'X .BLKW 1DV.CURH:'X .BLKW 1DV.CDLE:'X .BLKW 1LV.COVR:'X .BLKW 1LV.CRST:'X .BLKW 1DV.CALF:'X .BLKW 1CV.CREA:'X .BLKB 1D .BLKB 1 .IF DF C$$ACUV.CTPN:'X .BLKB 12.K .ENDCV.CLEN:'X .BLKW 1. .PSECTB VS.SEL='Y 100000VS.FIN='Y 40000VS.REP='Y 20000VS.RTR='Y 10000VS.STK='Y 4000VS.STR='Y 2000VS >.ACK='Y 1000VS.NAK='Y 400VS.MPT='Y 200VS.DIS='Y 200VS.CTL='Y 100VS.DAT='Y 40VS.SYN='Y 20VS.POL='Y 10VS.ONL='Y 4VS.BOO='Y 2VS.TRN='Y 1 .MACRO CVCDF$ A,B .ENDM .ENDMQ  .MACRO DCBDF$,L,B .ASECTF.=0BD.LNK:'L' .BLKW 1BD.UCB:'L' .BLKW 1.D.NAM:'L' .BLKW 1ND.UNIT:'L' .BLKB 1 .BLKB 1D.UCBL:'L' .BLKW 1D.DSP:'L' .BLKW 10D.MSK:'L' .BLKW 10 .BLKW 1 .BLKW 1 .BLKW 1 .BLKW 1 .BLKW 1 .BLKW 1 .BLKW 1D.PCB:'L' .BLKW 10 .PSECTKD.VDEB='B'177776 D.VINI='B'0S D.VCAN='B'20 D.VOUT='B'4 D.VPWF='B'6' .MACRO DCBDF$,X,Y .ENDM .ENDMQ  .MACRO DEVDF$,L,B .MCALL DCBDF$ DCBDF$ ,  .MCALL UCBDF$ UCBDF$ , .MCALL SCBDF$ SCBDF$ ,. .MCALL LCBDF$ LCBDF$ , .MACRO DEVDF$,X,Y .ENDM .ENDMQ  .MACRO HDRDF$,L,B .ASECTL.=0H.CSP:'L'.BLKW 1H.HDLN:'L'.BLKW 10H.EFLM:'L'.BLKW 21H.CUIC:'L'.BLKW 11H.DUIC:'L'.BLKW 11H.IPS:'L'.BLKW 1H.IPC:'L'.BLKW 1H.ISP:'L'.BLKW 1H.ODVA:'L'.BLKW 1H.ODVL:'L'.BLKW 1TH.TKVA:'L'.BLKW 1'H.TKVL:'L'.BLKW 1YH.PFVA:'L'.BLKW 1H.FPVA:'L'.BLKW 1AH.RCVA:'L'.BLKW 1CH.EFSV:'L'.BLKW 1 H.FPSA:'L'.BLKW 1CH.WND:'L'.BLKW 1H.DSW:'L'.BLKW 1H.FCS:'L'.BLKW 1H.FORT:'L'.BLKW 1H.OVLY:'L'.BLKW 1.H.VEXT:'L'.BLKW 1.H.SPRI:'L'.BLKB 1H.NML:'L'.BLKB 1H.RRVA:'L'.BLKW 1CH.X25:'L'.BLKB 1 .BLKB 1 .BLKW 2H.GARD:'L'.BLKW 1'H.NLUN:'L'.BLKW 1'H.LUN:'L'.BLKW 2H.FPSL='B'25.*2:.=0LW.BPCB:'L'.BLKW 1WW.BLVR:'L'.BLKW 11W.BHVR:'L'.BLKW 1W.BATT:'L'.BLKW 1TW.BSIZ:'L'.BLKW 1'W.BOFF:'L'.BLKW 1YW.BFPD:'L'.BLKB 1W.BNPD:'L'.BLKB 1AW.BLPD:'L'.BLKW 1C W.BLGH:'L' .PSECT .MACRO HDRDF$ X,Y .ENDM .ENDMQ  .MACRO HWDDF$,L,BMPCSR='B'177746MPAR='B'172100PIRQ='B'177772PR0='B'0 PR1='B'40B PR4='B'200 PR5='B'240 PR6='B'300 PR7='B'340 PS='B'177776 SWR='B'177570L TPS='B'177564' .IF DF E$$EAE AC='B'177302 MQ='B'177304 SC='B'177310 .ENDC .IF D >F M$$MGEKDSAR0='B'172360KDSDR0='B'172320KISAR0='B'172340KINAR0='B'KISAR0KISAR5='B'172352KINAR5='B'KISAR5KISAR6='B'172354KINAR6='B'KISAR6KISAR7='B'172356KINAR7='B'KISAR7KISDR0='B'172300KISDR6='B'172314KISDR7='B'172316SISDR0='B'172200UDSAR0='B'177660UDSDR0='B'177620UISAR0='B'177640UISAR4='B'177650UISAR5='B'177652UISAR6='B'177654UISAR7='B'177656UISDR0='B'177600UISDR4='B'177610UISDR5='B'177612UISDR6='B'177614UISDR7='B'177616UBMPR='B'1702003CMODE='B'140000D .IFTFPMODE='B'30000 .IFTD SR0='B'177572I SR3='B'172516 .ENDC FE.EXT='B'1A FE.MUP='B'2 FE.EXV='B'4A FE.DRV='B'10 FE.PLA='B'20 FE.CAL='B'40 FE.PKT='B'100 FE.EXP='B'2007 FE.LSI='B'4003FE.OFF='B'1000FE.FDT='B'2000FE.X25='B'4000FE.DYM='B'10000'FE.CEX='B'20000'FE.MXT='B'40000'FE.NLG='B'100000 F2.DAS='B'1A F2.LIB='B'2 F2.MP='B'4 F2.EVT='B'10 F2.ACN='B'20 F2.SDW='B'40 F2.POL='B'1000 F2.WND='B'2006 F2.DPR='B'4007F2.IRR='B'1000F2.GGF='B'2000F2.RAS='B'4000F2.AHR='B'10000FF2.RBN='B'20000F2.SWP='B'400007F2.STP='B'100000 F3.CRA='B'1E F3.NWK='B'2E F3.EIS='B'4E F3.STM='B'10 F3.UDS='B'20 F3.PRO='B'40 F3.XHR='B'100P F3.AST='B'200E F3.11S='B'400LF3.CLI='B'1000F3.TCM='B'2000F3.PMN='B'4000F3.WAT='B'10000MF3.RLK='B'20000XF3.SHF='B'40000T;F3.RES='B'100000' HF.UBM='B'1D HF.EIS='B'2L HF.CIS='B'200=HF.FPP='B'100000 .MACRO HWDDF$ X,Y .ENDM .ENDMQ  .MACRO ITBDF$ L,B,SYSDEFI .IF DF A$$TRP .MCALL PKTDF$ PKTDF$0 .ENDC .ASECTF .=0X.LNK:'L' .BLKW 1PX.JSR:'L' JSR R5,@#0X.PSW:'L' .BLKB 1E .BLKB 1X.ISR:'L' .BLKW 1 X.FORK:'L' .BLKW 1 .BLKW 1 .BLKW 1 .BLKW 1 .IF DF M$$MGEX.REL:'L' .BLKW 1L .ENDCX.DSI:'L' .BLKW 1'X.TCB:'L' .BLKW 10 .IF NB SYSDEF .IF DF A$$TRP .BLKW 1X.AST:'L' .BLKB A.PRMB .ENDCX.VEC:'L' .BLKW 1EX.VPC:'L' .BLKW 1' X.LEN:'L'P .ENDC .PSECTR.MACRO ITBDF$ X,Y,Z .ENDM ITBDF$ .ENDM ITBDF$Q  .MACRO LBLDF$ L,B .ASECTL.=0DR$LNAM:'L'.BLKW 2C>R$LSA:'L' .BLKW 1.R$LHGV:'L'.BLKW 1.R$LMXV:'L'.BLKW 1R$LLDZ:'L'.BLKW 1R$LMXZ:'L'.BLKW 1 R$LOFF:'L'.BLKW 1'R$LWND:'L'.BLKW 11R$LSEG:'L'.BLKW 11R$LFLG:'L'.BLKW 1.R$LDAT:'L'.BLKW 3.R$LSIZ:'L'.BLKW 0KLD$ACC='B'100000LD$RSV='B'0400000LD$CLS='B'020000 ; LIBRARY IS PART OF A CLUSTER3LD$SUP='B'000010 ; SUPERVISOR MODE LIBRARY (1=YES)5LD$REL='B'000004 ; PIC FLAG (1=POSITION INDEPENDANT)D.=0DL$BTSK:'L'.BLKW 2L$BPAR:'L'.BLKW 2AL$BSA:'L' .BLKW 1SL$BHGV:'L'.BLKW 1'L$BMXV:'L'.BLKW 1LL$BLDZ:'L'.BLKW 1'L$BMXZ:'L'.BLKW 1'L$BOFF:'L'.BLKW 1'L$BWND:'L'.BLKB 1'L$BSYS:'L'.BLKB 1'L$BSEG:'L'.BLKW 1'L$BFLG:'L'.BLKW 1'L$BDAT:'L'.BLKW 3'!L$BLIB:'L'.BLKW <7.*>+1SL$BPRI:'L'.BLKW 1AL$BXFR:'L'.BLKW 1VL$BEXT:'L'.BLKW 1'L$BSGL:'L'.BLKW 1 L$BHRB:'L'.BLKW 1RL$BBLK:'L'.BLKW 1 L$BLUN:'L'.BLKW 1IL$BROB:'L'.BLKW 1RL$BROL:'L'.BLKW 1  .BLKW <512.-.>/2DL$BASG:'L'.BLKW 0$$LBXL='B'<8.*>TS$PIC='B'100000TS$NHD='B'040000TS$ACP='B'020000TS$PMD='B'010000TS$SLV='B'004000TS$NSD='B'002000.TS$PRV='B'000400 ; TASK IS PRIVELEGED (1=YES)TS$CMP='B'000200TS$CHK='B'000100TS$RES='B'000040:TS$IOP='B'000020 ; PRIVILEGED TASK NOT MAPPED TO I/O PAGE?TS$SUP='B'000010 ; TASK LINKED TO A SUPER MODE LIBRARY (1=YES)L7TS$XHR='B'000004 ; TASK HAS AN EXTERNAL HEADER (1=YES)L?TS$NXH='B'000002 ; TASK DOES NOT HAVE AN EXTRNL HEADER (1=YES)1 .PSECT .MACRO LBLDF$ X,Y .ENDM .ENDMQ  .MACRO LCBDF$,L,B .ASECTA.=0'L.LNK:'L' .BLKW 11L.NAM:'L' .BLKW 10L.UNIT:'L' .BLKB 1L.TYPE:'L' .BLKB 1L.UCB:'L' .BLKW 1DL.ASG:'L' .BLKW 1'L.LGTH='B'.-L.LNK0 .PSECTR .MACRO LCBDF$,X,Y .ENDM .ENDMQ  .MACRO PCBDF$ L,B,SYSDEF' .ASECT .=0KP.LNK:'L'.BLKW 1P.PRI:'L'.BLKB 1P.IOC:'L'.BLKB 1P.NAM:'L'.BLKW 2P.SUB:'L'.BLKW 1P.MAIN:'L'.BLKW 1' .IF NB SYSDEF .IF NDF M$$MGEX P.HDR:'L'  .ENDC .IFTFP.REL:'L'.BLKW 1 P.BLKS:'L')P.SIZE:'L'.BLKW 1 ;SIZE OF PARTITION IN:L ; UNMAPPED SYSTEMS - BYTES>) ; MAPPED SYSTEMS - 32 WORD BLOCKS1;P.WAIT:'L'.BLKW 1 ;PARTITION WAIT QUEUE LISTHEAD (2 WORDS)P.SWSZ:'L'.BLKW 1P.BUSY:'L'.BLKB 2C P.OWN:'L'.P.TCB:'L'.BLKW 1P.STAT:'L'.BLKW 1R .IFT$ .IF DF M$$MGEP.HDR:'L' .BLKW 1: .ENDCP.PRO:'L' .BLKW 11P.ATT:'L' .BLKW 2 .IF NDF P$$LASP.LGTH='B'P.PRO .IFF' P.LGTH='B'.. .ENDC .IFF. .PSECT$PS.OUT='B'100000PS.CKP='B'40000.PS.CKR='B'20000.PS.CHK='B'10000'PS.FXD='B'4000PS.PER='B'2000PS.LIO='B'1000 PS.NSF='B'400B PS.COM='B'200A PS.PIC='B'100- PS.SYS='B'40 PS.DRV='B'20 PS.DEL='B'10 PS.APR='B'7E .ASECTA.=0WA.PCBL:'L'.BLKW 1BA.PRI:'L'.BLKB 1A.IOC:'L'.BLKB 1A.TCB:'L'.BLKW 1A.TCBL:'L'.BLKW 1 A.STAT:'L'.BLKB 1 A.MPCT:'L'.BLKB 1BA.PCB:'L'.BLKW 1 A.LGTH='B'.  .PSECT: AS.DEL='B'10 AS.EXT='B'4A AS.WRT='B'2' AS.RED='B'1' .ENDC .MACRO PCBDF$ X,Y,Z .ENDM .ENDMQ  .MACRO PKTDF$,L,B,SYSDEF0 .ASECTK.=177774A.KSR5:'L' .BLKW 1A.DQSR:'L' .BLKW 1 .BLKW 1A.CBL:'L' .BLKW 1CA.BYT:'L' .BLKW 1'A.AST:'L' .BLKW 10A.NPR:'L' .BLKW 1DA.PRM:'L' .BLKW 1' AS.FPA='B'1 AS.RCA='B'2' AS.RRA='B'3. AS.PFA='B'41 AS.REA='B'5L AS.CAA='B'6L AB.NPV='B'1C AB.TYP='B'2 AK.BUF='B'200K AK.OCB='B'201' AK.GBI='B'202: AK.GGF='B'303G.=0'O.LNK:'L'.BLKW 1O.MCRL:'L'.BLKW 1'O.PTCB:'L'.BLKW 1SO.AST:'L'.BLKW 1O.EFN:'L'.BLKW 1O.ESB:'L'.BLKW 1O.STAT:'L'.BLKW 8. O.LGTH='B'.D .ASECTS.=0I.LNK:'L' .BLKW 1I.PRI:'L' .BLKB 1I.EFN:'L' .BLKB 1I.TCB:'L' .BLKW 1 I.LN2:'L' .BLKW 1 I.UCB:'L' .BLKW 1 I.FCN:'L' .BLKW 1 I.IOSB:'L' .BLKW 1 .BLKW 1 .BLKW 1I.AST:'L' .BLKW 1SI.PRM:'L' .BLKW 1' .BLKW 6 .BLKW 1 I.ATTL='B'. I.LGTH='B'..=0PG.LNK:'L' .BLKW 10G.GRP:'L' .BLKB 1G.STAT:'L' .BLKB 1G.CNT:'L' .BLKW 1.G.EFLG:'L' .BLKW 2 G.LGTH='B'.' GS.DEL='B'1B PC.HIH='B'1: PC.LOW='B'2. PC.ALF='B'41 PC.XAF='B'10 PC.XIT='B'200'PC.NRM='B'PC.HIH*400PC.ALM='B'PC.LOW*400 PF.INS='B'40 PF.LOG='B'100K PF.REQ='B'200 PF.ALL='B'177777.=0KC.PTCB:'>L' .BLKW 1C.PNAM:'L' .BLKW 2C.PSTS:'L' .BLKW 1C.PDPL:'L' .BLKB 1C.PCPL:'L' .BLKB 1 C.PRMT:'L' CP.NUL='B'1 CP.MSG='B'2K CP.LGO='B'46 CP.DSB='B'10 CP.PRV='B'20 CP.SGL='B'40 CP.NIO='B'100B CP.RST='B'200L CP.EXT='B'400T CM.INE='B'11 CM.IND='B'2B CM.CEN='B'3G CM.CDS='B'4 CM.ELM='B'5 CM.EXT='B'6 CM.LKT='B'7 CM.RMT='B'8. CM.MSG='B'9..=0FA.REL:'L' .BLKW 10A.DIS:'L' .BLKW 1HA.MAS:'L' .BLKW 1LA.NUM:'L' .BLKB 10 .BLKB 1A.LIN:'L' .BLKW 10A.ACC:'L' .BLKB 17A.STA:'L' .BLKB 1. A.LEN1='B'.M.=A.LINWA.IMAP:'L' .BLKW 1A.IBUF:'L' .BLKW 1A.ILEN:'L' .BLKW 1A.SMAP:'L' .BLKW 1A.SBUF:'L' .BLKW 1A.SLEN:'L' .BLKW 1A.IOS:'L' .BLKW 2'A.RES:'L' .BLKW 1 A.LEN2='B'.B UA.ACC='B'10 UA.PRO='B'2' UA.ECH='B'4' UA.TYP='B'10 UA.SPE='B'20 UA.PUT='B'40 UA.CAL='B'100' UA.COM='B'200 UA.ALL='B'400UA.TRA='B'1000.=0'A.ACCE:'L' .BLKW 1A.DEQU:'L' .BLKW 1A.POWE:'L' .BLKW 1A.INPU:'L' .BLKW 1A.OUTP:'L' .BLKW 1A.CONN:'L' .BLKW 1A.DISC:'L' .BLKW 1A.RECE:'L' .BLKW 1A.PROC:'L' .BLKW 1A.CALL:'L' .BLKW 1 AS.DEL='B'1' AS.DIS='B'2. .PSECT. .MACRO PKTDF$ X,Y,Z .ENDM .ENDM:Q  .MACRO SCBDF$,L,B,SYSDEF  .ASECT:.=177772S.RCNT:'L' .BLKB 1S.ROFF:'L' .BLKB 1S.BMSV:'L' .BLKW 1S.BMSK:'L' .BLKW 1S.LHD:'L' .BLKW 20S.PRI:'L' .BLKB 1AS.VCT:'L' .BLKB 1LS.CTM:'L' .BLKB 1'S.ITM:'L' .BLKB 1'S.CON:'L' .BLKB 1'S.STS:'L' .BLKB 1'S.CSR:'L' .BLKW 1'S.PKT:'L' .BLKW 1'S.FRK:'L' .BLKW 1' S.DMCS:'L' .BLKW 1 .BLKW 1 .BLKW 1 .IF NB SYSDEF .IF DF L$$DRV & M$$MGE. .BLKW 1 .ENDC S.CCB:'L''S.MPR:'L' .BLKW 6A .BLKW 1S.UMHD:'L'.BLKW 2NS.UMCT:'L'.BLKW 1 .IFFR .PSECTL SP.EIP='B'1. SP.ENB='B'27 SP.LOG='B'4'SPARE=10 .ASECT'.=0BM.LNK:'L' .BLKW 1M.UMRA:'L' .BLKW 1M.UMRN:'L' .BLKW 1M.UMVL:'L' .BLKW 1M.UMVH:'L' .BLKB 1M.BFVH:'L' .BLKB 1M.BFVL:'L' .BLKW 1 M.LGTH='B'.  .ENDC .PSECTL .MACRO SCBDF$,X,Y,Z .ENDM .ENDMQ  .MACRO TCBDF$,L,B,SYSDEF .ASECT.=0WT.LNK:'L' .BLK>W 1NT.PRI:'L' .BLKB 1$T.IOC:'L' .BLKB 1LT.CPCB:'L' .BLKW 1T.NAM:'L' .BLKW 2KT.RCVL:'L' .BLKW 2T.ASTL:'L' .BLKW 2T.EFLG:'L' .BLKW 2T.UCB:'L' .BLKW 1PT.TCBL:'L' .BLKW 1T.STAT:'L' .BLKW 1T.ST2:'L' .BLKW 1BT.ST3:'L' .BLKW 11T.DPRI:'L' .BLKB 1T.LBN:'L' .BLKB 31T.LDV:'L' .BLKW 11T.PCB:'L' .BLKW 11T.MXSZ:'L' .BLKW 1T.ACTL:'L' .BLKW 1T.SAST:'L' .BLKW 1 .BLKB 1T.TIO:'L' .BLKB 1XT.TKSZ:'L' .BLKW 1$$$=.T.ATT:'L' .BLKW 2 T.OFF:'L' .BLKW 1 .BLKB 1T.SRCT:'L' .BLKB 1T.RRFL:'L' .BLKW 2 .IF NDF P$$LASB.=$$$ .ENDC .IF NB SYSDEF$$$=.BT.OCBH:'L' .BLKW 2T.RDCT:'L' .BLKW 1 .IF NDF P$$OFF'.=$$$2 .ENDC$$$=.KT.EFLM:'L' .BLKW 2 .IF NDF S$$TOP&T$$BUF.=$$$: .ENDC$$$=..T.HDLN:'L' .BLKB 1 .IF NDF A$$HDR.=$$$L .ENDC$$$=.DT.GGF:'L'.BLKB 1$ .IF NDF R$$SND&G$$EFN!A$$CLI&G$$EFN.=$$$' .ENDC .EVEN T.LGTH='B'.1 T.EXT='B'0 .IFFLTS.EXE='B'100000TS.RDN='B'40000=TS.MSG='B'20000KTS.NRP='B'10000BTS.RUN='B'4000TS.HLD='B'2000TS.STP='B'1000 TS.OUT='B'400N TS.CKP='B'200$ TS.CKR='B'100FATS.BLK='B'TS.CKP!TS.CKR!TS.EXE!TS.MSG!TS.NRP!TS.OUT!TS.RDN!TS.STPFT2.AST='B'100000T2.DST='B'40000.T2.CHK='B'20000T2.CKD='B'10000$T2.SEF='B'4000T2.FXD='B'2000T2.REX='B'1000 T2.CAF='B'400D T2.HLT='B'200N T2.ABO='B'100G T2.STP='B'40 T2.STP='B'20 T2.SPN='B'10 T2.SPN='B'4$ T2.WFR='B'2. T2.WFR='B'1'T3.ACP='B'100000T3.PMD='B'40000'T3.REM='B'20000'T3.PRV='B'10000'T3.MCR='B'4000T3.SLV='B'2000T3.CLI='B'1000 T3.RST='B'400P T3.NSD='B'200T T3.CAL='B'100P T3.ROV='B'40 T3.NET='B'20 T3.GFL='B'10; ='B'4S T3.SWS='B'2S; ='B'1U .ENDC .PSECT .MACRO TCBDF$ X,Y,Z .ENDM .ENDM"Q  .MACRO UCBDF$,L,B,TTDEF,SYSDF .ASECT' .IF NB SYSDF' .IF DF E$$DVC .IF DF M$$MUP.=177766 .IFF0.=177770 .ENDCU.IOC:'L' .BLKW 2NU.ERSL:'L' .BLKB 1U.ERHL:'L' .BLKB 1U.ERSC:'L' .BLKB 1U.ERHC:'L' .BLKB 1 .ENDC .ENDC.=177772 U.MUP:'L'0U.CLI:'L' .BLKW 1U.LUIC:'L' .BLKW 1U.OWN:'L' .BLKW 1'!>U.DCB:'L' .BLKW 10U.RED:'L' .BLKW 1U.CTL:'L' .BLKB 1TU.STS:'L' .BLKB 10U.UNIT:'L' .BLKB 1U.ST2:'L' .BLKB 1NU.CW1:'L' .BLKW 1RU.CW2:'L' .BLKW 1NU.CW3:'L' .BLKW 1U.CW4:'L' .BLKW 1CU.SCB:'L' .BLKW 1FU.ATT:'L' .BLKW 1 U.BUF:'L' .BLKW 1D .BLKW 1U.CNT:'L' .BLKW 1U.ACP='B'U.CNT+2U.VCB='B'U.CNT+4U.CBF='B'U.CNT+2U.KCSR='B'U.CNT+2'U.KCS6='B'U.KCSR+2U.SPC='B'U.CNT+6U.SUB='B'U.CNT+6U.FNUM='B'U.CNT+10U.FCDE='B'U.CNT+12U.UTMO='B'U.VCB+2CU.LHD='B'U.VCB+4U.BPKT='B'U.VCB+10U.MLUN='B'U.VCB+14U.UNFL='B'U.VCB+16U.HSTI='B'U.VCB+20U.UNTI='B'U.VCB+24U.MEDI='B'U.VCB+34U.SHUN='B'U.VCB+40U.SHST='B'U.VCB+42U.TRCK='B'U.VCB+44U.GRP='B'U.VCB+46WU.CYL='B'U.VCB+50CU.RCTS='B'U.VCB+54U.RBNS='B'U.VCB+56U.RCTC='B'U.VCB+57U.UNSZ='B'U.VCB+60U.VSER='B'U.VCB+64U.OTRF='B'U.VCB+70U.CMST='B'U.VCB+72.=U.BUF'U.TUX:'L' .BLKW 1'U.TSTA:'L' .BLKW 3U.TTAB:'L' .BLKW 1U.TLPP:'L' .BLKB 1U.TFRQ:'L' .BLKB 1U.TFLK:'L' .BLKW 1U.TCHP:'L' .BLKB 1U.TCVP:'L' .BLKB 1U.UIC:'L' .BLKW 1+U.TTYP:'L' .BLKB 1U.TMTI:'L' .BLKB 1U.CTYP:'L' .BLKW 1U.ACB:'L' .BLKW 1+U.AFLG:'L' .BLKW 1U.ADMA:'L' .BLKW 1 .=U.BUF+2'U.CTCB:'L' .BLKW 1U.COTQ:'L' .BLKW 2U.RED2:'L' .BLKW 1 S1.RST='B'1. S1.RUB='B'2+ S1.ESC='B'4' S1.RAL='B'10 S1.RNE='B'20 S1.CTO='B'40 S1.OBY='B'100' S1.IBY='B'200M S1.BEL='B'400S1.DPR='B'1000S1.DEC='B'2000S1.DSI='B'4000S1.CTS='B'10000WS1.USI='B'20000LS1.OBF='B'40000.S1.IBF='B'100000 S2.ACR='B'1C S2.WRA='B'61 S2.WRB='B'2. S2.CR='B'10: S2.BRQ='B'20 S2.SRQ='B'40 S2.ORQ='B'100' S2.IRQ='B'200PS2.HFL='B'3400S2.VFL='B'4000S2.HHT='B'10000WS2.HFF='B'20000LS2.FLF='B'40000S2.FDX='B'100000 S3.RAL='B'10 S3.RPO='B'20 S3.WES='B'40 S3.TAB='B'1001 S3.8BC='B'200E S3.RCU='B'400LS3.ABD='B'1000S3.ABP='B'2000S3.WAL='B'4000S3.VER='B'10000MS3.BCC='B'20000S3.DAO='B'400001S3.PCU='B'100000 .PSECT0 DV.REC='B'10 DV.CCL='B'2' DV.TTY='B'4O DV.DIR='B'10 DV.SDI='B'20 DV.SQD='B'40 DV.MSD='B'1001 DV.UMD='B'200 %>DV.MBC='B'4002 DV.EXT='B'400SDV.SWL='B'1000DV.ISP='B'2000DV.OSP='B'4000DV.PSE='B'10000'DV.COM='B'20000'DV.F11='B'40000'DV.MNT='B'100000U2.DH1='B'100000U2.DJ1='B'40000'U2.RMT='B'20000U2.HFF='B'10000TU2.L8S='B'10000CU2.NEC='B'4000U2.CRT='B'2000U2.ESC='B'1000 U2.LOG='B'400L U2.SLV='B'200R U2.DZ1='B'100B U2.HLD='B'40 U2.AT.='B'20 U2.PRV='B'10 U2.L3S='B'4C U2.SCS='B'4' U2.VT5='B'2' U2.LWC='B'1' U2.LWC='B'1' UM.OVR='B'1' UM.CLI='B'36 UM.DSB='B'2000 UM.NBR='B'4000U2.R04='B'100000U2.7CH='B'10000U3.UPC='B'20000V U4.CR='B'100 UC.ALG='B'200 UC.NPR='B'100' UC.QUE='B'40 UC.PWF='B'20 UC.ATT='B'10 UC.KIL='B'4 UC.LGH='B'30 US.BSY='B'2000 US.MNT='B'100' US.FOR='B'40 US.MDM='B'20 US.PWF='B'10 US.ABO='B'10 US.MDE='B'2' US.WCK='B'10 US.SPU='B'2G US.VV='B'1 US.KPF='B'1 .IF NB TTDEF .IF DF T$$CPW US.CRW='B'42 US.DSB='B'22 US.OIU='B'12 .IFF' US.DSB='B'10 US.CRW='B'4' US.ECH='B'2' US.OUT='B'1' .ENDC .ENDC US.FRK='B'20 US.SHR='B'1' US.LAB='B'4' US.BSP='B'27 US.OFL='B'1 US.RED='B'20 US.PUB='B'41 US.UMD='B'10 UD.UNS='B'0' UD.200='B'1E UD.556='B'2F UD.800='B'3T UD.160='B'4L UD.625='B'5H .MACRO UCBDF$,X,Y,Z,ZZS .ENDM .ENDMQ  .MACRO UDADF$,L,B .ASECT'.=0P.CRF:'L'.BLKB 4P.UNIT:'L'.BLKB 2' .BLKB 2P.OPCD:'L'.BLKB 1 .BLKB 1P.MOD:'L'.BLKB 2P.BCNT:'L'.BLKB 4SP.BUFF:'L'.BLKB 12.'P.LBN:'L'.BLKB 4 .BLKB 16. P.END:'L'S P.LENG='B'.S.=P.BCNTP.OTRF:'L'.BLKB 4S.=P.BCNT .BLKB 2P.UNFL:'L'.BLKB 2P.HSTI:'L'.BLKB 4L .BLKB 8.RP.ELGF:'L'.BLKB 4'P.SHUN:'L'.BLKB 2DP.CPSP:'L'.BLKB 2'.=P.BCNTP.RBN:'L'.BLKB 4.=P.BCNTP.VRSN:'L'.BLKB 2'P.CNTF:'L'.BLKB 2XP.HTMO:'L'.BLKB 2. .BLKB 2P.TIME:'L'.BLKB 8..=P.LBNLP.RGID:'L'.BLKB 4P.RGOF:'L'.BLKB 4. .=P.OPCD+1P.FLGS:'L'.BLKB 1PP.STS:'L'.BLKB 2 .=P.BCNT+16.P.FBBK:'L'.BLKB 4'.=P.BCNTP.OTRF:'L'.BLKB 42P.CMST:'L'.BLKB 24.=P.BCNTP.MLUN:'L'.BLKB 2EP.UNFL:'L'.BLKB 2P.HSTI:'L'.BLKB 4P.UNTI:'L'.BLKB 8.P.MEDI:')>L'.BLKB 4P.SHUN:'L'.BLKB 2P.SHST:'L'.BLKB 2'P.TRCK:'L'.BLKB 2'P.GRP:'L'.BLKB 2P.CYL:'L'.BLKB 2 .BLKB 2P.RCTS:'L'.BLKB 2CP.RBNS:'L'.BLKB 1 P.RCTC:'L'.BLKB 1 .=P.TRCKP.UNSZ:'L'.BLKB 4BP.VSER:'L'.BLKB 4 .=P.BCNTP.VRSN:'L'.BLKB 2 P.CNTF:'L'.BLKB 2 P.CTMO:'L'.BLKB 2L .BLKB 2P.CNTI:'L'.BLKB 8..=0=L.CRF:'L'.BLKB 4L.UNIT:'L'.BLKB 2CL.SEQ:'L'.BLKB 2L.FMT:'L'.BLKB 1L.FLGS:'L'.BLKB 1.L.EVNT:'L'.BLKB 2.L.CNTI:'L'.BLKB 8.L.CSVR:'L'.BLKB 1.L.CHVR:'L'.BLKB 1.L.MLUN:'L'.BLKB 2.L.UNTI:'L'.BLKB 8.L.USVR:'L'.BLKB 1.L.UHVR:'L'.BLKB 1. .BLKB 2L.VSER:'L'.BLKB 4B .BLKB 16. L.LENG='B'.B .=L.MLUN+2L.BADR:'L'.BLKB 4C .=L.UHVR+1L.GRP:'L'.BLKB 2L.VSER:'L'.BLKB 4SL.CYL:'L'.BLKB 4L.TRCK:'L'.BLKB 2BL.SCTR:'L'.BLKB 2BL.LBN:'L'.BLKB 4L.LVL:'L'.BLKB 1L.RTRY:'L'.BLKB 1. .=L.CYL+4RL.SDI:'L'.BLKB 12. .=L.UHVR+1L.SCYL:'L'.BLKB 2 .PSECT. OP.ABO='B'1. OP.ACC='B'16.. OP.AVL='B'8. OP.CCD='B'17.B OP.CMP='B'32.' OP.DAP='B'11.H OP.ERS='B'18. OP.FLU='B'19. OP.GCS='B'2. OP.GUS='B'3. OP.ONL='B'9. OP.RD='B'33. OP.RPL='B'20.2 OP.SCC='B'4. OP.SUC='B'10.1 OP.WR='B'34.OP.END='B'128. OP.SEX='B'7. OP.AVA='B'64.1 OP.DUP='B'65.B OP.ACP='B'66.B OP.MWR='B'25.L OP.MRD='B'24.KMD.CSE='B'20000CMD.CMP='B'40000.MD.EXP='B'100000MD.ERR='B'10000.MD.SCH='B'4000MD.SCL='B'2000MD.SEC='B'1000 MD.SER='B'400. MD.SSH='B'200 MD.WBN='B'100A MD.WBV='B'40 MD.SEQ='B'20 MD.ALL='B'2P MD.SPD='B'1 MD.FEU='B'1' MD.VOL='B'21 MD.NXU='B'1' MD.RIP='B'1' MD.IMF='B'2S MD.AHI='B'40 MD.CWB='B'10 MD.SWP='B'4= MD.SHD='B'20 MD.PRI='B'1S EF.BBR='B'200C EF.BBU='B'100= EF.LOG='B'40 EF.SEX='B'20 CF.ATN='B'200A CF.MSC='B'100P CF.OTH='B'40 CF.THS='B'20 CF.MLH='B'4 CF.SHD='B'2K CF.576='B'10 UF.CMR='B'1' UF.CMW='B'2EUF.RPL='B'100000UF.INA='B'40000S UF.RMV='B'200SUF.SCH='B'4000UF.SCL='B'2000 UF.WBN='B'100SUF.WPH='B'20000NUF.WPS='B'10000' UF.576='B'4' FM.CNT='B'0' FM.BAD='B'1' FM.DSK='B'2' FM.SDI='B'3' FM.SDE='B'4' LF.SUC='B'->200' LF.CON='B'100S LF.SNR='B'10 ST.MSK='B'37 ST.SUB='B'40 ST.SUC='B'00 ST.CMD='B'1S ST.ABO='B'20 ST.OFL='B'3' ST.AVL='B'4' ST.MFE='B'5' ST.WPR='B'6' ST.CMP='B'7C ST.DAT='B'8. ST.HST='B'9. ST.CNT='B'10.H ST.DRV='B'11.' ST.DIA='B'31.'ST.NML='B'0*ST.SUB+ST.SUC'ST.SDI='B'1*ST.SUB+ST.SUCAST.CON='B'2*ST.SUB+ST.SUCST.DUP='B'4*ST.SUB+ST.SUC0ST.ONL='B'8.*ST.SUB+ST.SUCST.SON='B'16.*ST.SUB+ST.SUCFST.IPT='B'0*ST.SUB+ST.CMDMST.UNK='B'0*ST.SUB+ST.OFLMST.VOL='B'1*ST.SUB+ST.OFLFST.IOP='B'2*ST.SUB+ST.OFLSST.DPU='B'4.*ST.SUB+ST.OFLST.DIS='B'8.*ST.SUB+ST.OFLST.HWP='B'256.*ST.SUB+ST.WPRST.SWP='B'128.*ST.SUB+ST.WPRST.FER='B'0*ST.SUB+ST.DATTST.CTO='B'0*ST.SUB+ST.CNTTST.FDC='B'1.*ST.SUB+ST.MFEST.FSH='B'2.*ST.SUB+ST.MFEST.FST='B'3.*ST.SUB+ST.MFEST.576='B'5.*ST.SUB+ST.MFEST.FCT='B'6.*ST.SUB+ST.MFEST.FEC='B'7.*ST.SUB+ST.MFEST.ISH='B'2.*ST.SUB+ST.DATST.DST='B'3.*ST.SUB+ST.DATST.ECC='B'7.*ST.SUB+ST.DATEV.ISH='B'2.*ST.SUB+ST.DATEV.DST='B'3.*ST.SUB+ST.DATEV.ECC='B'7.*ST.SUB+ST.DATEV.EC1='B'8.*ST.SUB+ST.DATEV.EC2='B'9.*ST.SUB+ST.DATEV.EC3='B'10.*ST.SUB+ST.DATTEV.EC4='B'11.*ST.SUB+ST.DATTEV.EC5='B'12.*ST.SUB+ST.DATAEV.EC6='B'13.*ST.SUB+ST.DATTEV.EC7='B'14.*ST.SUB+ST.DATEV.EC8='B'15.*ST.SUB+ST.DATTST.ODA='B'1.*ST.SUB+ST.HSTST.ODB='B'2.*ST.SUB+ST.HSTST.NXM='B'3.*ST.SUB+ST.HSTST.PAR='B'4.*ST.SUB+ST.HSTST.SDS='B'1.*ST.SUB+ST.CNTST.EDC='B'2.*ST.SUB+ST.CNTST.IDS='B'3.*ST.SUB+ST.CNTEV.SDS='B'1.*ST.SUB+ST.CNTEV.EDC='B'2.*ST.SUB+ST.CNTEV.IDS='B'3.*ST.SUB+ST.CNTST.SRT='B'1.*ST.SUB+ST.DRVST.SRI='B'2.*ST.SUB+ST.DRVST.POE='B'3.*ST.SUB+ST.DRVST.RDY='B'4.*ST.SUB+ST.DRVST.CLK='B'5.*ST.SUB+ST.DRVST.RSP='B'6.*ST.SUB+ST.DRVST.SUR='B'7.*ST.SUB+ST.DRVST.PSP='B'8.*ST.SUB+ST.DRVEV.SRT='B'1.*ST.SUB+ST.DRVEV.SRI='B'2.*ST.SUB+ST.DRVEV.POE='B'3.*ST.SUB+ST.DRVEV.RDY='B'4.*ST.SUB+ST.DRVEV.CLK='B'5.*ST.SUB+ST.DRVEV.RSP='B'6.*ST.SUB+ST.DRVEV.SUR='B'7.*ST.SUB+ST.DRVEV.PSP='B'8.*ST.SUB+ST.DRV MSCNT='B' 1E DISK='B' 2 UDA50='B' 2V RA1>80='B' 17; THEREFORE "DURA 80" IS ENCODED AS .WORD 022544,010120. .MACRO UDADF$ X,Y .ENDM .ENDM2 Q  .MACRO F11DF$,L,B,SYSDEFS .ASECTD.=0TV.TRCT:'L'.BLKW 1T .IF DF R$$11MV.TYPE:'L'.BLKB 1T VT.SL1='B' 1U VT.ANS='B' 10 VT.UNL='B' 11V.VCHA:'L'.BLKB 1S VC.SLK='B' 1V VC.HLK='B' 2U VC.DEA='B' 4Y VC.PUB='B' 10V.LABL:'L'.BLKB 14V.PKSR:'L'.BLKW 2P V.SLEN:'L' .ENDCV.IFWI:'L'.BLKW 1U .IF DF,R$$11DV.STD:'L'.BLKW 1 .ENDCV.FCB:'L'.BLKW 2V.IBLB:'L'.BLKB 1AV.IBSZ:'L'.BLKB 1R .BLKW 1V.FMAX:'L'.BLKW 1RV.WISZ:'L'.BLKB 1.V.SBCL:'L'.BLKB 1.V.SBSZ:'L'.BLKW 1V.SBLB:'L'.BLKB 1 V.FIEX:'L'.BLKB 1 .BLKW 1 .IF DF,R$$11MV.VOWN:'L'.BLKW 1$V.VPRO:'L'.BLKW 1K .ENDCV.FPRO:'L'.BLKW 1NV.FRBK:'L'.BLKB 1BV.LRUC:'L'.BLKB 1K .BLKW 1V.STS:'L'.BLKB 1 VS.IFW='B' 1E VS.BMW='B' 2UV.FFNU:'L'.BLKB 1'V.EXT:'L'.BLKW 1 V.LGTH:'L' .ASECT'.=0NM.LNK:'L'.BLKW 1M.TYPE:'L'.BLKB 1D MT.MLS='B' 1WM.ACC:'L'.BLKB 1M.DEV:'L'.BLKW 1M.TI:'L'.BLKW 1B M.LEN:'L'  .ASECTW.=0.F.LINK:'L'.BLKW 1. .IF DF,R$$11DF.FEXT:'L'.BLKW 1.F.STD:'L'.BLKW 1 .ENDCF.FNUM:'L'.BLKW 1IF.FSEQ:'L'.BLKW 1L .BLKB 1F.FSQN:'L'.BLKB 1'F.FOWN:'L'.BLKW 1'F.FPRO:'L'.BLKW 1F.UCHA:'L'.BLKB 1F.SCHA:'L'.BLKB 1F.HDLB:'L'.BLKW 2F.LBN:'L'.BLKW 2F.SIZE:'L'.BLKW 2BF.NACS:'L'.BLKB 1UF.NLCK:'L'.BLKB 1'S.STBK='B'.-F.LBN F.STAT:'L'F.NWAC:'L'.BLKB 1N .BLKB 1 FC.WAC='B' 100000 FC.DIR='B' 40000 FC.CEF='B' 20000. FC.FCO='B' 10000IF.DREF:'L'.BLKW 1:F.DRNM:'L'.BLKW 1. .IF DF,R$$11MF.FEXT:'L'.BLKW 1D .ENDCF.FVBN:'L'.BLKW 2:F.LKL:'L'.BLKW 1F.WIN:'L'.BLKW 1 F.LGTH:'L' .ASECTL.=0L W.ACT:'L'N W.BLKS:'L'W.CTL:'L'.BLKW 1 WI.RDV='B' 400K WI.WRV='B' 1000 WI.EXT='B' 2000 WI.LCK='B' 4000 WI.DLK='B' 10000L .IF DF,R$$11M WI.PND='B' 20000S .ENDC WI.EXL='B' 40000K WI.WCK='B' 100000 .IF NDF R$$11MW.FCB:'L'.BLKW 1W.STD:'L'.BLKW 1W.VBN:'L'.BLKB 1W.WISZ:'L'.BLKB 1. .BLKW 1W.LKL:'L'.BLKW 1W.WIN:'L'.5>BLKW 1 W.RTRV:'L' .IFF'W.IOC:'L'.BLKB 1 .BLKB 1W.FCB:'L'.BLKW 1W.LKL:'L'.BLKW 1W.WIN:'L'.BLKW 1 .IF NB,SYSDEF .IF NDF,P$$WNDHW.VBN:'L'.BLKB 1 W.MAP:'L'LW.WISZ:'L'.BLKB 1T .BLKW 1 W.RTRV:'L' .IFFKW.MAP:'L'.BLKW 1.=0. ASSUME W.CTL,0. .BLKB 1W.USE:'L'.BLKB 1W.VBN:'L'.BLKB 1W.WISZ:'L'.BLKB 10 .BLKW 1 W.RTRV:'L' .ENDC .ENDC .ENDC .ASECTF.=0RL.LNK:'L'.BLKW 1L.WI1:'L'.BLKW 1 .IF DF,R$$11DL.STD:'L'.BLKW 1L.VB1:'L'.BLKW 2L.VB2:'L'.BLKW 2L.CNT:'L'.BLKB 1 .BLKB 1 .IFF.L.VB1:'L'.BLKB 1L.CNT:'L'.BLKB 1 .BLKW 1 .ENDC L.LKSZ:'L' .PSECT: .MACRO F11DF$ X,Y,Z .ENDM F11DF$P .ENDM F11DF$LxQ  .MACRO MTADF$,L,B .ASECTW.=0.V.TCNT:'L' .BLKW 1V.TYPE:'L' .BLKB 1V.VCHA:'L' .BLKB 1V.LABL:'L' .BLKB 12.V.NXT:'L' .BLKW 1BV.MVL:'L' .BLKW 1 V.UVL:'L' .BLKW 1VV.ATL:'L' .BLKW 1CV.UCB:'L' .BLKW 1V.RVOL:'L' .BLKB 1V.MOU:'L' .BLKB 11V.TCHR:'L' .BLKW 1V.SEQN:'L' .BLKW 1V.SECN:'L' .BLKW 1V.TPOS:'L' .BLKB 1V.PSTA:'L' .BLKB 1V.TIMO:'L' .BLKW 1V.STAT:'L' .BLKW 3V.TRTB:'L' .BLKB 1V.EFTV:'L' .BLKB 1V.BLKL:'B' .BLKW 1V.RECL:'B' .BLKW 1V.FNAM:'L' .BLKW 3V.FTYP:'L' .BLKW 1V.FVER:'L' .BLKW 1V.CDAT:'L' .BLKW 2V.EDAT:'L' .BLKW 2V.BLKC:'L' .BLKW 2V.RTYP:'L' .BLKB 1V.FATT:'L' .BLKB 1 .BLKB 30..V.WIND:'L' .BLKW 4.V.MST2:'L' .BLKW 1:V.FABY:'L' .BLKB 1L .BLKB 1V.ANSN:'L' .BLKB 17.V.BOFF:'L' .BLKB 1.V.DENS:'L' .BLKB 1.V.DRAT:'L' .BLKB 1.V.DBLK:'L' .BLKW 1.V.DREC:'L' .BLKW 1.S.VSCB=. .PSECTL .ASECTT.=0' W.CTL: .BLKW 1' V.WINC=V.WIND+W.CTL .PSECT .ASECT'.=0W .IF DF R$$11MM.NXT:'L' .BLKW 1. .ENDCM.UIC:'L' .BLKW 1M.CH:'L' .BLKW 1M.PROT:'L' .BLKW 1 .IF NDF R$$11MW .BLKW 2'M.NXT:'L' .BLKW 1' .ENDCM.RVOL:'L' .BLKB 1M.STAT:'L' .BLKB 1M.VIDP:'L' .BLKW 1M.UCB:'L' .BLKW 1 S.MVL=.Y .PSECTB .ASECT .=0 L.NXT:'L' .BLKW 1BL.VOL1:'L' .BLKB 1L.VOL2:'L' .BLKB 1L.VID1:'L' .BLKB 6L.VID2:'L' .BLKB 6S.UVL=.  .PSECTC9>VM.OLD ='B' 200.VM.BYP ='B' 100VM.ULB ='B' 40VM.FSC ='B' 20VM.EXC ='B' 10 V2.INI ='B' 1 V2.XH2 ='B' 2W V2.XH3 ='B' 4MV2.NH3 ='B' 10V2.OAC ='B' 20 VP.RM ='B' 2 VP.WM ='B' 4 VP.UCM ='B' 6' VP.SM ='B' 10FVP.MOU ='B' 20VP.RWD ='B' 40VP.VFY ='B' VP.RWDVP.POS ='B' 100B VP.TO=1WI.RDV ='B' 400IWI.WRV ='B' 1000WI.EXT ='B' 2000WI.LCK ='B' 4000MS.VER ='B' 200 MS.RID ='B' 1 MS.NMO ='B' 2. MS.TMO ='B' 4'MS.EXP ='B' 10 MO.OVR ='B' 1 MO.UIC ='B' 2B MO.PRO ='B' 4.MO.160 ='B' 10 .ENDMR Q  .MACRO EPKDF$,L,B .ASECT  .=0CE$HLGH:'L' .BLKW 1E$HSBF:'L' .BLKW 1E$HSYS:'L' .BLKB 1E$HIDN:'L' .BLKB 1E$HSID:'L' .BLKB 4E$HCTX:'L' .BLKB 1E$HFLG:'L' .BLKB 1E$HENS:'L' .BLKW 1E$HERS:'L' .BLKW 1 E$HENC:'L'E$HTYC:'L' .BLKB 1E$HTYS:'L' .BLKB 1E$HTIM:'L' .BLKB 6E$HPTY:'L' .BLKB 1 .BLKB 1E$HURM:'L' .BLKW 1 .EVEN E$HLEN:'L' B SM.ERR ='B' 1 SM.HDR ='B' 1P SM.TSK ='B' 2  SM.DID ='B' 4O SM.DOP ='B' 10= SM.DAC ='B' 20 SM.DAT ='B' 40P SM.MBC ='B' 20000 SM.CMD ='B' 40000W SM.ZER ='B' 1000001 EH$FOR ='B' 1 ES.INI ='B' 1$ ES.DAT ='B' 2C ES.LIM ='B' 4G ES.LOG ='B' 10' . E$CCMD ='B' 1L E$SSTA ='B' 1T E$SSWI ='B' 2S E$SAPP ='B' 3' E$SBAC ='B' 4' E$SSHO ='B' 5 E$SCHL ='B' 6  E$CERR ='B' 2B E$SDVH ='B' 1 E$SDVS ='B' 2P E$STMO ='B' 3  E$SUNS ='B' 4O E$CDVI ='B' 3= E$SDVI ='B' 1 E$CDCI ='B' 4P E$SMOU ='B' 10 E$SDMO ='B' 20 E$SRES ='B' 30 E$SRCT ='B' 4  E$CCPU ='B' 5  E$SMEM ='B' 1  E$SINT ='B' 2  E$CSYS ='B' 61 E$SPWR ='B' 1  E$CCTL ='B' 7  E$STIM ='B' 1  E$SCRS ='B' 2  E$SLOA ='B' 3  E$SUNL ='B' 4  E$SHRC ='B' 5  E$SMES ='B' 6  E$CSDE ='B' 10  E$SABO ='B' 1  EH$NOR ='B' 1  EH$STA ='B' 2  EH$CRS ='B' 3  E=>H$VIR ='B' 1  EH$EXT ='B' 2  EH$COU ='B' 4  .=0EE$TLGH:'L' .BLKW 1E$TTSK:'L' .BLKW 2E$TUIC:'L' .BLKW 1E$TTID:'L' .BLKB 2E$TTIU:'L' .BLKB 1E$TFLG:'L' .BLKB 1 .EVEN E$TLEN:'L' ET$PRV ='B' 1' ET$PRI ='B' 2'  .=0EE$ILGH:'L' .BLKW 1E$ILDV:'L' .BLKW 1E$ILUN:'L' .BLKB 1E$IPCO:'L' .BLKB 1E$IPUN:'L' .BLKB 1E$IPSU:'L' .BLKB 1 .IF DF R$$MPL E$IPDV:'L' .BLKW 1 .ENDC E$IFLG:'L' .BLKB 1 .BLKB 1$E$IVOL:'L' .BLKB 12.E$IPAK:'L' .BLKB 4 E$IDEV:'L'E$IDCL:'L' .BLKW 1E$IDTY:'L' .BLKW 2E$IOPR:'L' .BLKW 2E$IERS:'L' .BLKB 1E$IERH:'L' .BLKB 1 .IF DF R$$MPLWE$IBLK:'L' .BLKW 2E$ICYL:'L' .BLKW 2 .ENDCG .EVEN E$ILEN:'L' EI$SUB ='B' 1  '.=0 E$OLGN:'L' .BLKW 1E$OTSK:'L' .BLKW 2E$OUIC:'L' .BLKW 1E$OTID:'L' .BLKB 2E$OTIU:'L' .BLKB 1 .BLKB 1.E$OFNC:'L' .BLKW 1E$OFLG:'L' .BLKB 1 .BLKB 1IE$OADD:'L' .BLKW 2E$OSIZ:'L' .BLKW 1E$ORTY:'L' .BLKW 1 .EVEN E$OLEN:'L' EO$TRA ='B' 1P EO$DMA ='B' 2V EO$EXT ='B' 4W EO$PIP ='B' 102 $.=0'E$ALGH:'L' .BLKW 1 ..=01E$ALDV:'L' .BLKW 1E$ALUN:'L' .BLKB 1E$APCO:'L' .BLKB 1E$APUN:'L' .BLKB 1E$APSU:'L' .BLKB 1 .IF DF R$$MPL E$APDV:'L' .BLKW 1 .ENDCNE$ADFG:'L' .BLKB 1E$ATIU:'L' .BLKB 1E$ATSK:'L' .BLKW 2E$AUIC:'L' .BLKW 1E$ATID:'L' .BLKW 1E$AFNC:'L' .BLKW 1E$AFLG:'L' .BLKB 1 .BLKB 1KE$AADD:'L' .BLKW 2E$ASIZ:'L' .BLKW 1 .EVEN E$ALEN:'L' EA$SUB ='B' 1' EA$TRA ='B' 1  EA$DMA ='B' 2  EA$EXT ='B' 4  EA$PIP ='B' 10 .PSECT' .MACRO EPKDF$ X,Y .ENDM .ENDMALUN:'L' .BLKB 1E$APCO:'L' .BLKB 1E$APUN:'L' .BLKB 1E$APSU:'L' .BLKB 1 .IF DF R$$MPL E$APDV:'L' .BLKW 1 .ENDCNE$ADFG:'L' .BLKB 1E$ATIU:'L' .BLKB 1E$ATSK:'L' .BLKW 2E$AUIC:'L' .BLKW 1E$ATID:'L' .BLKW 1E$AFNC:'L' .BLKW 1E$AFLG:'L' .BLKB 1 .BLKB 1KE$AADD:'L' .BLKW 2E$ASIZ:'L' .BLKW 1 .EVEN E$ALEN:'L' EA$SUB ='B' 1' EA$TRA ='B' 1  EA$DMA ='B' ?BACKUPDR1:[12,304]EXELIB .OLB;1..'B' 4MPUKCAB?.?..J#jL_29DEC8110294529DEC81102945-|g?<0Q @?.JZ,,:^T T T {T #T (T dT pT IqT LqT QsT  8 = y ` , ` _ ! 8; ;; Jm  K xQ Z 8^ ` y ! ! . p: 8  d f H p   ]a q r r  ! 8"  K xQ (} <}  n (S;T`xS~iws-!#t:u:L?Tr\\#\'L\?T\X\Z\f\s\w!u!y#y$y%',.,8Y-Lr0L00W0r0y0z}2`m2(x33p3x33L3k44H:58{DD%z#w*H;QS*# H ;;H 8;H 8^HyswH**DH@#'H "@;HHsO!H|ZH*TH H ,HQU[HyiwH * !HtOqH,{2H H yH*gD)HHdfHԃH@"H*{2H*H H"H{?DH* Hs qH9"HfHyH*f6KHy_H){DH.s<}HQH*y#VNH"H{rHr6sH2"H*3{H v6H""H(H@tGH0*#H\xH<H gH@ZH0\H{H {H* H _H sHi8^Hd&H*doMHS~H`H H L zH* H rh.H xH\`K,H{AH *{HLHH QH #wH"swH**\`_H yM[Hi )?HHVNH30<}H*DrH ysH#{H TLqHczdH*yHx6xH4yH{HgdH*dzHU(HDfH*";Ha(H*"(H #xH\3H \`TH" LH*LSHV5H<#{t'H{;"H#H*rHf6H wHvH4Q,H*f6wH0z}H58H%FFBf% pF pp`&$``fe+`&0`c1`h ff`%` ff pe f%F^Fpe| p% p^_^ `wa `af靉Ta ac Ffaf pv e f pa a pfe aĎ `ً `ً ` pf}se f p pfe p``a퉄a ff^@ ]ead`&d@b pazef pAz pzffffff affp^^FP}}}ea!fT~TfTfTg}}^A6`8`4eOe-pEphGFpfPaKeep^^^p}}ep\\fZ\>>cf>&==}}lf&=}}}}F`a}=tadad f8b= pf}I pFq}Fq}! v `h Lnv @&dP&Edf8bff]F@}Fe@bf!1AQaqABACKUPDR1:[12,304]FCS .OBJ;1* vPUKCABA.A* &^29DEC8110294829DEC81102947XA*,d ΧL( D"8 *K VN ΧLs@s@*o@f@( D"8;VNhaVNh  D"*w BC "& <o*&SY*p0p21s*LE%0*w*e fs*r"f D CB.E*  ΧL( D"8 *w ΧLs@r"&@*q:@w@i@o@f@"( D"8`h  D"*w *8F )o"w*&98 eB &&   i*LU *q:*r*e *Nlv ΋**.)  & #!i*)&ePe &s$& p* wq:r"&"f*& ΧLq:@i@*o@( D"84ch `rh   D"*w  )*  o&i&U q:*e ΧLs@q:@*i@f@( D"8vcIqh   D"*0f& e %&s*&&eH U   i*LEf p  q:rwf*z ΧLq:@i@*( D"86eZhrShft:h   D"*    f u  i(q:&  * & ΧL( D"8h  D" *, ΧLe&@py@*r@r@pJ,@o@mo@*f@( D"8}h  D"*w ) 8Co pJ, r*& * A) *w(f*L*  ep pye&*rp  C *   0** = Eե^ A* e@ v߇ E* p |p*0  , J *V*` C#r*|   D  mo*,hy ΧLe&@r@*pK,@o@mo@sk@f@"( D"8 h  D"*w ) 8Co pK, r*& * ) *w(f*L* ep p  e&*rC   *  0* =* Eե^ A e@* ߇ Ep * p *0 8 V *`*V)w C# skr&|   D mo*E`W ΧLb@mlE@*eZ@s@r"&@r@q:@*i@o@d?!@rS@r,}@*f@@ft:@fy:@cIq@*s}@( D"8@hp!h  D"*w  D 8#"o sfy:*&#)%*Lĥ ĥ w*r 0 *0 @Q$    0 *40 60)) z :#s}* 3&*w #( Pft:cIq*) @#**ff eZ* f  &*wD d?!eZ*0. H358e$8w2s*V2&e %p8s*|q #) *Rr**)@#0l C*# 02 A8 (b*00ĥۇAĥ*Ċ  000 0 @"r,}*:0 &*0 @ u i&q:*`#eB * rSmlEr"&&i*eBe>  #* #D #*&0 #  * 0@e 6@#0 q:&40 6w!p2f*E`PZ ΧLb@mlE@*eZ@s@r"&@r@q:@*i@o@d?!@rS@r,}@*aVN@f@@ft:@fy:@*cIq@s}@( D"8\^Whh!h  D"*w & w  D  8#oos fy:*&"#)%*Lĥ ĥ *rw 0 *0 @Q$ *   0 40 60))  &s}*eB z :# 3& aVN$ft:**w #( P)  cIq&eZ* @#**fff &d?!*0 &*wD. H3eZ*V58e$8w22&s*|e %p8q s*#) *R*r*)@#0l C# 02*8 00b*ĥۇAĥĊ  *:000 0 @0 r,}*`&*0 @ u #eiq:*B * eBrS mlEr"&i*e>  # *#D #&*0 #   (q:*0@e 6@#040 6Dw!p2f*F`8 ΧLb@s@*r"&@r@q:@i A@o@*r,}@aVN@f@@fy:@"( D"8h&h  D"*w  D 8#"o sfy:*&#)%*Lĥ ĥ w*r 0 *0 @Q$    0 *40 60))eB &*  aVN* w6 . 2*358e$8w22s* &e %p8q s*0#) *R*r*V)@#0l C# 02*|8 00 b*ĥۇAĥĊ  *000 0 @0 r,}*&*0 @ u *iq:"r"&* eBe>  i*: # #D *`#&0 # *  0@e 6q:*@#040 6w!pf2*F`W ΧLb@mlE@*eZ@s@r"&@r@q:@*i@o@d?!@rS@r,}@*aVN@f@@ft:@fy:@*cIq@( D"8Fh'h  D"*w  D 8#"o sfy:*&#)%*Lĥ ĥ w*r  0 *0 @Q$    0 *40 60))eB z :aVN*# 3&*w #( ft:cIq*P) @#**eZ* fff  &*wd?! eZ*0D. H358e$8ws*V22&e s*|%p8q #) $r**R*)@#0l *C# 02*8 00AĥۇAb*ĥĊ  000 (r,}*:0 @0 &*0 @ u i*` #eB *q:rSmlE r"&* eBe>  i*# #D *#&0 # *  0@e 6@q:*#040 6w!p2fD*:dw ΧLs.@D@*o@( D"8zpwh wh   D"*w *  )Ĕ%.&o*&%;D  5)5@DD *Lͥ*Ce a%wUXD*r5@ 5sU U**U  5@XU*@5 U*U*  ʥ*%* C!.D` *weC5s.*0U5  5(V 5@e**afZ ΧLe&@e&@*r@c2 @w@a[M@( D"8XpZh  D"* 6 p 4 0`p f e&*& 64  e*wc2 a[M rLw e&*\g ΧLe&@py@*r@r@w@w@pJ,@*o@mo@r,}@f@( D"8}h  D"*w jde& & & o pJ,*&B  2PΕ *L  N Υ$Ε  2*r2Υ   vmo* Ε f ew* * *e*wr,}&f* *0, T py$r*   )*)e&*0   l 0*Vl   *|A  ee*@ 4 r- E *ep )w* ,   N *w  L B #r,} wr*: f  ` mo*`**w)0406 fl0 *\ghy ΧLe&@r@*w@w@pK,@o@mo@*sk@r,}@f@( D"8| h  D"*w jde& & & o pK,*&B  2PΕ *L  N Υ$Ε  2*r2Υ   vmo* Ε f ew* * *e*w0,r,}&f* P  ) re&* *)  *0 l 0l  *V  *| ee@ |2 n*+ E ep )*w ,*  w  LwB r,}w"sk*# f mo*: `**w)0f `406 l0 *7q ΧLb@wt@*rk@wL @bG@s2 @(" D"8<rhrh  D"*e6p 4 8 s2 "b&  bGrk wL wt*\q ΧL( D"8hr,}h  D"*. *&00l  0 L **s"& ΩLs@@"( D"8Nr"&h  D"*82e& 0 s"*&0 0 80 B0 0 0 0)A#0.L*tL ΧLq:@i@*( D"8$rkhwkh  D"( U4 6wi&q:*$t_ ΧLw@aK@*s2 @( D"8rh  D"*&4&6 64 wr%s2 *&64 2 6  l0s2 *L & Z46 6$aK*r4 :)0406 0 **0e6p 4 $w*w ΧLw@f@"( D"8wL h  D"" Bfep`pww f* ΧLb@wt@*bG@wk@a[M@f@(" D"8`whwh  D"* ) !f bGa[M&wk*& e) . e wtL6p 4 08*w bf*d ΧLw@( D"8wh  D" ) . .w  D"" Bfep`pww f* ΧLb@wt@*bG@wk@a[M@f@(" D"8`whwh  D"* ) !f bGa[M&wk*& e) . e wtL6p 4 08*w bf*BBACKUPDR1:[12,304]FCSMBF .OBJ;1##*vvPUKCABB.B*## &Q^29DEC8110294829DEC81102948" B*,d άL( D"8aZh  D" =p!Օ^*K VN άLs@s@*o@f@( D"8;VNhaVNh  D"*w BC "& @o*&SY*p0p21s*L0=E%0=w*fs*re "f D CB. E*  άLf@(* D"8|iWhrwh`i h  D"*46f %8 E *&D/D!D l0l8ep*Ll0pɥ .ɕr*w f*w ΪLw@s@*r"&@q:@w@i@o@*f@( D"88`h  D"*w *8W  -o"w*&  .NA )9w*L8 eB &&  i*rU **q:*e *Nlv ΋**.2  & #!) i*&ePe &s* & >e >E p*q: 0 wr"& f*& ΪLq:@i@*o@( D"8^ch `rh   D"*w  )*  o&i*&fU %  Bq:LA `6p 4p`4*e άLs@q:@*i@f@( D"8cIqh   D"*M=f& e % s*&&&eH =&e*L0  U   E i*r > >E=uf (q:p  wf*z άLq:@i@*( D"8HeZhrShBft:h   D"*   f >5 i&&>Eu   q:* & ΪL( D"8h  D" *, άLe&@py@*r@r@pJ,@o@mo@*s2 @f@( D"8d}h   D"*w ) 8Co pJ, r*& 0* ) *w(f*L*   py&e&*rep p  |އ#*= EW9ť^**0 ` Ca C  * L  0**  = Eե^ A *0e@ ߇ = E*Vp2!)8eE`l*|0  0 0/ &l0 *`p l064p 4 p s2 *  , *J *`  r*C#   mo*:D @)  6?0D`)*,hy άLe&@r@*pK,@o@mo@sk@s2 @*f@( D"8\ h  D"*w ) 8Co pK, r*& * ) *w(f*L*  ep p e&*r |#= EW9*ť^*0 ` Ca *C   X * 0* = Eե^*  A e@ *0߇ = Ep2!*V)8eE`l0  0 0*|/ &l0 `p l06*4p 4 p  s2 * 8 V **`)w Cskr*#  B   D mo&:@)  6?0D)*E`W ΪLb@mlE@*eZ@s@r"&@r@q:@*i@o@d?!@rS@r,}@*f@@ft:@fy:@cIq@*s}@( D"8hp!h  D"*w  D 8#"o sfy:*&#)%*Lĥ ĥ w*r 0 *0 @Q$    0 *40 60))  \#s}* U&* =ft:*w@ `p!2 EW!* p0p2 ׇ#( P) cIq(eZ*0@#**fff (d?!*V &*w. eZ*|l58e$8wV 2ks*  ,EB0-%. s*#p.2e s&* 483  -  *r38 (#5=*:A#@)) *R*r*`)@#0l C# 02*8 00 b*ĥۇAĥĊ  *000 0 @0 r,}*&*0 @ u #iq:*eB * eB rSmlEr"&i*De>  # *j#D #*=0/H#@&0 # *= e0  * 0@e 6=#q:*02/002# @*(#?@#040 6w$f*N/&!0/ l0/!/*t0/l0p!0 .=p0p2*E`PZ ΪLb@mlE@*eZ@s@r"&@r@q:@*i@o@d?!@rS@r,}@*aVN B@f@@ft:@fy:@*cIq@s}@( D"8^Whh!h  D"*w & w  D  8#oos fy:*&"#)%*Lĥ ĥ *rw 0 *0 @Q$ *   0 40 60))  &s}*eB  \# U& aVN$ft:** =w@ `* p!2 EW!p0p2 *0ׇ#( P) @#cIqeZ*V**fff d?!*| &*w. l5eZ*8e$8wV 2k  ,s*EB0-%. #s*p.2e  48s*3  -  r3*:8 (#5=A#*`@)) *R*)@# r*0l C# 02*8 00b*ĥۇAĥĊ  0*00 0 @0 &*0 r,}*@ u #eB iq:&rS*D * eBe>mlEr"&i*j  # #*D #=0/*H#@&0 # *= e0   0$q:*@e 6=#02/0*(02# @#?*N@#040 6w/&f*t!0/ l0/!/0/*l0p!0 .=p0p2*F`8 ΪLb@s@*r"&@r@q:@i@o@*r,}@aVN@f@@fy:@"( D"8h&h  D"*w  D 8#"o sfy:*&#)%*LBĥ ĥ w*r  0 *0 @Q$    0 *40 60))eB &*  aVN* w . *l58e$8wV 2ks*   ,EB0-%. s*0#p.2e s&*V 483  -  *|r38 (#5=*A#@)) *R*r*)@#0l C# 02*8 00 b*ĥۇAĥĊ  *:000 0 @0 r,}*`&*0 @ u *iq:"r"&* eBe>  i* # #D *#=0/H#@*&0 # = e*0   0@e q:*D6=#02/002*j# @#?@#0*40 6w/&!0/ f*l0/!/0/l0p!0 .=p0p2*F`W ΪLb@mlE@*eZ@s@r"&@r@q:@*i@o@d?!@rS@r,}@*aVN@f@@ft:@fy:@*cIq@( D"8h'h  D"*w  D 8#"o sfy:*&#)%*Lĥ ĥ w*r 0 *0 @Q$    0 *40 60))eB  \aVN*# U&* =ft:*w@ `p!2 EW!* p0p2 ׇ#( PcIq*0) @#**fffeZ*V  &*w.d?!eZ*| l58e$8wV 2s*k  ,BEB0-%s*. #p.2e s*  483  - * r38 (#5*:=A#@)) *Rr*`*)@#0l C#* 028 0&b*0ĥۇAĥĊ*  000 0 @0  r,}*&*0 @ u i$q:*#eB * erSmlEr"&$i*DBe>  #*j #D #*=0/H#@&0 *# = e0 *  0@e 6=q:*#02/002#*( @#?@#040 6w*N/&!0/ l0/!f*t/0/l0p!0 .=p0p2*:dw ΪLs.@D@*o@( D"8pwh wh   D"*w *  ע"wo*&f)Ĕ%.&%;D  5)5@*LDD ͥ*Ce e%D*rw U\5@ 5wU* U*U  *"5@\U@5 5*LU*U *  ʥ*%C!.D` *"s.*0weC5U5 *V 5 5@*|e*=U E*e& REe  ӥ" *wV ˥"   ˥" *Ք     Օ *afZ άLb@e&@*e&@c@r@i @c2 @*w@a[M@( D"8pZh   D"*=D `p46 i $e&*&f 64+=   w(cB*L@) 0  8w  b c2 &a[M&r8 e*w re&*\g άLe&@py@*r@r@w@w@pJ,@*o@mo@i@aZ@r,}@*f@( D"8B}h  D"*w jde& & & o pJ,*&B  2PΕ *L  N Υ$Ε  2*r2Υ   vmo* Ε f ew* * *e*wr,}&f*@) *0, py*    )*re&*0)'   = *V l 0l   aZ*| </ *e&=Ba@a * e0b ee@i* d ]= E*8 el0  & 0*: l0`p l064p 4 *`ep )wV*% ,  aZ&aZ*  N w  L r,}w*B # f rmo* `**w$f()0406 l0 *\ghy άLe&@r@*w@w@pK,@o@mo@*i@sk@aZ@r,}@f@"( D"8& h  D"*w jde& & & o pK,*&B  2PΕ *L  N Υ$Ε  2*r2Υ   vmo* Ε f ew* * *e*wr,}&f*@)0,   r$e&* )*)'  B *0=  l 0l *V  8aZ*|/ e&=*Ba@a e0b ei*e@ b [*= E8 el0*  & 0 l0`p l0*:64p 4 ep )*`wn% &aZ* ,    w6 aZ r,}(w* LwB # sk(mo* f  `***w)0406 l0f  *7q ΪLb@w@*w@wt@rk@wL @iW@*rw@bG@s2 @f@(" D"8rhrh  D"*e6p 4 8 s2 "b*&.8 81416 iWb*L   8 bGrkwL wt rw*r-̋  f w(iW*8  08 0 e*p=& /empp* * - C46rw* /`A p  C ? t *0 "̋3t42 &8f*V08 880!8  bGrk$wt*|%  w 8 wwwL rwf*\q άL( D"8r,}h  D"*> *&=00l*L&8el2 0 r**s"& ΪLs@@"( D"8^r"&h  D"*8 -2e s*& 0 0 0 80 B0 0 0 L0)#0.*tL ΪLxk@i@*(!B D"8Frkhwkh  D"* U8UMi$& %.. w"xk*$t_ ΪLw@aK@*s2 @( D"8rh  D"*&4&6= 64 s2 *&wz%!64=5 2  s2 *L6  l0 & Z*r46 64 :)04aK*06 0 *0e6p 4 = w*w άLw@f@"( D"8BwL h  D"* B 00fepw &=& /e`pwf* ΪLb@w@*wt@rw@bG@wk@a[M@*f@( D"8whwh   D"* ..8em,bG*&0l0!D0e6p 4L*L) Df a[M wk$rw*r ,e) .+  wt*.8 - ̋   *  p8e6p 4 0wrw&b 8*w f*d ΪLbG@w@*aZ@( D"8Pwh  D"*)"(. = .bG*& B  E ( aZ$wL.D0e6p 4L*L)CBACKUPDR1:[12,304]FCSMTA .OBJ;1!!* <.PUKCAB6C.C*!!` &aT^29DEC8110295029DEC81102949 tC*,d άL( D"8aZh  D" =p!Օ^*K VN άLs@s@*o@f@( D"8;VNhaVNh  D"*w BC "& @o*&SY*p0p21s*L0=E%0=w*fs*re "f D CB. E*  άLf@(* D"8|iWhrwh`i h  D"*46f %8 E *&D/D!D l0l8ep*Ll0pɥ .ɕr*w f*w ΨLs@r"&@*q:@w@i@o@f@"( D"8`h  D"*w *8F )o"w*&98 eB &&   i*LU *q:*r*e *Nlv ΋**.2  & #!i*)&ePe &s*& >e >E "q: p* w r"&f*& άLq:@i@*o@( D"8^ch `rh   D"*w  )*  o&i*&fU %  Bq:LA `6p 4p`4*e άLs@q:@*i@f@( D"8cIqh   D"*M=f& e % s*&&&eH =&e*L0  U   E i*r > >E=uf (q:p  wf*z άLq:@i@*( D"8HeZhrShft:h   D"*  C f >5 i&&>Eu   q:* & ΨL( D"8h  D" *, άLe&@py@*r@r@pJ,@o@mo@*s2 @f@( D"8d}h   D"*w ) 8Co pJ, r*& 0* ) *w(f*L*   py&e&*rep p  |އ#*= EW9ť^**0 ` Ca C  * L  0**  = Eե^ A *0e@ ߇ = E*Vp2!)8eE`l*|0  0 0/ &l0 *`p l064p 4 p s2 *  , *J *`  r*C#   mo*:D @)  6?0D`)*,hy άLe&@r@*pK,@o@mo@sk@s2 @*f@( D"8\ h  D"*w ) 8Co pK, r*& * ) *w(f*L*  ep p e&*r |#= EW9*ť^*0 ` Ca *C   X * 0* = Eե^*  A e@ *0߇ = Ep2!*V)8eE`l0  0 0*|/ &l0 `p l06*4p 4 p  s2 * 8 V **`)w Cskr*#   D mo&:@)  6 C?0D)*E`W ΨLb@mlE@*eZ@s@r"&@r@q:@*i@o@d?!@rS@r,}@*f@@ft:@fy:@cIq@*s}@( D"8Php!h  D"*w  D 8#"o sfy:*&#)%*Lĥ ĥ w*rf 0 *0 @Q$    0 *40 60)) D \#s}* U&* =ft:*w `p!2 EW!* p0p2 ׇ#( P) cIq(eZ*0@#**fff (d?!*V &*wb. feZ*|B58e$8w2As*&e 4p8q s* (#5=A#*@)) *R*)@r*#0l C# 02*:8 00b*`ĥۇAĥĊ  *000 0 @0 &*r,}*0 @ u #eB  iq:(rS* * eBemlE r"&i*>  # #*D #=0/*DH#@&0 # *j= e0   0&q:*@e 6=#02/*002# @#?*@#040 6w/&f*!0/ l0/!/0*(/l0p!0 .=p0p2N*E`PZ ΨLb@mlE@*eZ@s@r"&@r@q:@*i@o@d?!@rS@r,}@*aVN@f@@ft:@fy:@*cIq@s}@( D"8l^Whh!h  D"*w & w  D  8# Coos fy:*&"#)%*Lĥ ĥ *rwv 0 *0 @Q$ *   0 40 60))  &s}*eB D \# U& aVN$ft:** =w `* p!2 EW!p0p2 *0ׇ#( P) @#cIqeZ*V**fff d?!*| &*wb. fB5eZ*8e$8w2A&es$s* 4p8q  *(#5=A#@)) * *R*)@#0l r*:C# 02*`8 00ĥۇb*AĥĊ  000* 0 @0 &*0 @ ur,}&i* #eB  q:rS"mlE&r"&** eBe>  i* # #D *D#=0/H#*j@&0 # =* e0   0@eq:* 6=#02/002*# @#?@#*040 6w/&!0f*(/ l0/!/0/l0p!"N0 .=p0p2*F`8 ΨLb@s@*r"&@r@q:@i@o@*r,}@aVN@f@@fy:@"( D"8h&h  D"*w  D 8#"o sfy:*&#)%*Lĥ ĥ w*r 0 *0 @Q$    0 *40 60))eB &*  aVN* wT . P*B58e$8w2As* &e 4p8Cq s*0 (#5=A#*V@)) *R*)@r*|#0l C# 02*8 00b*ĥۇAĥĊ  *000 0 @0 &*r,}*0 @ u *  iq:r"&&i*:eBe>  #*` #D #*=0/H#@&0 *# = e0 *  0@e 6=q:*#02/002#* @#?@#040 6*Dw/&!0/ l0/f*j!/0/l0p!0 .=p0p2*F`W ΨLb@mlE@*eZ@s@r"&@r@q:@*i@o@d?!@rS@r,}@*aVN@f@@ft:@fy:@*cIq@( D"8Vh'h  D"*w  D 8#"o sfy:*&#)%*Lĥ ĥ w*rl 0 *0 @Q$    0 *40 60))eB D \aVN*# U&* =ft:*w `p!2 EW!* p0p2 ׇ#( PcIq*0) @#**fffeZ*V  &*wb.d?!eZ*| fB58e$8w2s*A&e 4p8s*q  (#5=*A#@)) *R*r*)@#0l C# 02*:8 00b*`ĥۇAĥĊ  *000 0 @0 r,}*&*0 @ u #eiCq:*B * eBrS mlEr"&i*e>  # *#D #=*D0/H#@&0 # *j= e0   * 0@e 6=#q:*02/002# @#*?@#040 6w/"f*&!0/ l0/!/*(0/l0p!0 .=p N0p2*:dw άLs.@D@*o@( D"8pwh wh   D"*w *  ע"wo*&f)Ĕ%.&%;D  5)5@*LDD ͥ*Ce e%D*rw U\5@ 5wU* U*U  *"5@\U@5 5*LU*U *  ʥ*%C!.D` *"s.*0weC5U5 *V 5 5@*|e*=U E*e& REe  ӥ" *wV ˥"   ˥" *Ք     Օ *afZ άLb@e&@*e&@c@r@i @c2 @*w@a[M@( D"8pZh   D"*=D `p46 i $e&*&f 64+=   w(c*L@) 0  8w  b c2 &a[M&r8 e*w re&*\g άLe&@py@*r@r@w@w@pJ,@*o@mo@i@aZ@r,}@*f@( D"8B}h  D"*w jde& & & o pJ,*&B  2PΕ *L  N Υ$Ε  2*r2Υ C  vmo* Ε f ew* * *e*wr,}&f*@) *0, py*    )*re&*0)'   = *V l 0l   aZ*| </ *e&=Ba@a * e0b ee@i* d ]= E*8 el0  & 0*: l0`p l064p 4 *`ep )wV*% ,  aZ&aZ*  N w  L r,}w*B # f rmo* `**w$f()0406 l0 *\ghy άLe&@r@*w@w@pK,@o@mo@*i@sk@aZ@r,}@f@"( D"8& h  D"*w jde& & & o pK,*&B  2PΕ *L  N Υ$Ε  2*r2Υ   vmo* Ε f ew* * *e*wr,}&f*@)0,   r$e&* )*)'   *0=  l 0l *V  8aZ*|/ e&=*Ba@a e0b ei*e@ b [*= E8 el0*  & 0 l0`p l0*:64p 4 ep )*`wn% &aZ* ,    w6 aZ r,}(Cw* LwB # sk(mo* f  `***w)0406 l0f  *7q ΨLb@wt@*rk@wL @iW@rw@bG@*s2 @( D"8\rhrh   D"*e6p 4 8 s2 "b*&81416  iWbGrk(wL L  wtrw*\q άL( D"8r,}h  D"*> *&=00l*L&8el2 0 r**s"& ΩLs@@"( D"8Nr"&h  D"*82e& 0 s"*&0 0 80 B0 0 0 0)#0.L*tL ΨLxk@i@*( D"8,rkhwkh  D"* U8UMi & wxk*$t_ άLw@aK@*s2 @( D"8rh  D"*&4&6= 64 s2 *&wz%!64=5 2  s2 *L6  l0 & Z*r46 64 :)04aK*06 0 *0e6p 4 = w*w άLw@f@"( D"8BwL h  D"* B 00fepw &=& /e`pwf* ΨLb@wt@*rw@bG@wk@a[M@f@*( D"8whwh  D"* ..8em,bG*&0l0!D0e6p 4.*L) &f !Ca[M wk$rw*r e) .   wte6p 4 08*wbf*d άLbG@w@*aZ@( D"8Pwh  D"*)"(. = .bG*& B  E ( aZ$wL.  D"* ..8em,bG*&0l0!D0e6p 4.*L) &f DBACKUPDR1:[12,304]LPA .OBJ;1*9md PUKCABD.D*M^29DEC8110295129DEC81102950qD*)KxVѳL88@y:@*8s:@԰)d@8X@8q@L9@*8g'@(L;hwh *  3%e ' ԰)dy: L9"8g'*&44 4 8q88 8q$8s:(88*L 4 t  888X8XrW% = *)KyϚԳL8@L9"X@*8@L9_@8I@8O@8:;@*8> @8W@L9> @L9@8 N@"8g'@()Kyh *e&f&f  $8:;*& %ĜE  8O*L+%'%% 8 8(L9*r  e, 8g' L9_ 8g'L98g'*~T Q4 ' P8W"8W(8"es(L9"X 8g'88O8 N8 N*QQQQQQQɕ 8O* ,ċeы(8O8 N8 NL9_8g'&8I*(ы ы ыыыыы!*N @!"L9> 8g' 8> 8O8> tes*+KcMϚӳLn_@n`@*nL`@9K:@:@n]@n^@*n^@԰)d@4K@$9.@1K> @*1K`@1K`@(Nzhyh  *  @E  U@UA԰)dnL`9K: &7(nL`9K:  : n^9K: 27 *1K`n`9K:  n]9K: 1K> >"n^9K: nL`9K: H7$n_9K: n_9K: 4K*Z%LA "n_9K: 4K$9.9K:* W%=  $԰)d*I e E  " nL`9K: "nL`9K: U@ U 7(nL`9K: :Dn^9K: 7 *1K`n`9K:  n]9K: 1K> 7n^9K:  n_9K: %LA*n_9K: 4K n_9K: 4K*  W%$9. 9K:D= *+K_VL8@n_@*s@n`@$9 @nL`@88@*9K:@y:@,K> @n]@8O@*n^@n^@8:;@8> @4K@*$9.@L9@85K@8W@)Ky@*8X@L9> @:K(@8q@L9@*$99@8| @8^2@:y@8g'@"L9@((+K_h &%ew  7e) y:$9 ,  n`9K: $8:;"ewn`9K: 8O :K(0 $n_9K: 85Kn_9K: >"$&7 "7 $7 *:K(":K($ :K(&:K(":K($ T& &:K(&:K( :K(8| 8W*p7eUUUUUUUU4$8W8^2 :K(8:K(*5@U5 U 5U:K(:K((:K(*5 U5U5U5:K(:K(&:K(&U@5@Հ$ :K(:K(L9L9 8g'(   "`*:K(  :K( ,K> 8> L9> 8g'*(&ej'8>  8> 8g'8> &$99, N7&n^9K: :K(:K(L9&f7ww(8g' :K(:K(:K(:K(%77%&:K( 88:K(8X:K(* e(7 (%&8q 8q:K( :K((&:K(("UU$:K( :K(:K(:K( :y($n^9K: )Ky n]9K: (nL`9K: :K( nL`9K: "%LA)4Kn_9K: 4K$9., K   DL9K: s*,Ka VֳL8H@8H*L9"XH8H 88H.8LyH 8RyH4*L9_Hy:H6,K> H8IH8OH*8:H8s:H/8:;H$8> H8wH(*1K> HL9H85KH8WH 8XH2*L9> H8qH0L9H8| H,8 NH"*8^2H8g'H L9H (9K:h*9K:h4Khv5KzxhD4Kph01K`h<"1K`h81K`h@:K(hL *  &LA*l9ϚгL8I@8:@*8:;@8| @(l9h *AcCD.@BeQ"8:;8:;8I 8I&8I*&QQQQQQɕ(8I*Lq%% 1 8| 8: 8:*rË1 1 W%=8:8:8: e*1KVӳL8Ly@y:@(w8h *A B  D2%/%R y:*& R *L          eR $8Lyr % *5KxϚѳLs@԰)d@* 5@ @4Kp@(5Kxh  * 60 0 0 H7԰)d( 54Kp *&7 eA*  4Kp  4Kp 4Kps*LpAppprW%= *6K ϚгL8@8^2@(j:V}h *W#0@-B,(ec@8^2(8*& B B C qB 888$8"LW#%=e *:KMϚѳL8@L9"X@*L9_@8O@L9@L9@8^2@"8g'@(srh *A BfCI%F c "&2@ & L98g'L98g'L9_8g'&D  D,2&L9_8g'8^28L9"X 8g'*f3      8OL9"X 8g'8e%  *rϚгL8@(Prh *@ecP   8*&ȕeW%=L *8yOгL8@8I@*8O@8 N@8^2@(~8yh  *ABC@ ec ɥ8^28*&D `e ɥD `8I*LĜE ` ĜE ` 8O8 Nre*;KϚֳLn_@s@*n`@nL`@L9"X@8@9K:@*n]@8O@n^@n^@԰)d@*4K@$9.@1K> @1K`@85K@*8g'@:y@(yhzh * G c@԰)d L9"X"8g'(8O &e2 7*:yn^9K: n_9K: 85KB%LA*85Kn_9K:  4Kn_9K: Z7 "4K $9.1K> n^9K: l7 $n]9K: 1K` n`9K: v7*nL`9K: 8 nL`9K: 9K:( W%= s*;K@VӳL+K_@԰)d@*:K(@(T;@h{@h@hk@h *   :K(:K(:K( :K($԰)d*&   W %+K_ L= *;ϚӳL,K> @8I@*8:@8:;@8| @(;h  *W%BA,K> "8:;*&/cCD@eQQQ"8I8:;8:;8I8I*LQQQQɕA(8I*rqe)W 8:8| 8:*%=D%%1 %8:$8:1 8:8:*AG@VγL(H԰)dh  *@ &  Ba&&%   K*EVγL(ht'`hh *@ WB%J& &E*&eH& 6A  L v 6N*NEϚϳL(|1h  *BEρ@  $*&@ C P U  *L @    WrBJ@ &  Ba&&%   K*EVγL(ht'`hh *@ WB%J& &E*&eH& 6A  L v 6N*NEϚϳL(|1h EBACKUPDR1:[12,304]LPS .OBJ;1*9m԰)dhPUKCABDzE.E*M^29DEC8110295229DEC81102951!fE* NaOL,0z@s@*lOp@wL @d;@m @(*ձhXh8t'hrCؐh)h  * BEρ@ 4 @  4*&w>eB C*LPCE < *r PW 'e*Ke K` d_(wL *d$ C fw ,0zlOp*f!e&4W 1  y*  ( $< H @ 8 (  *0 &fe    ,0zlOp*V  CC P d;m *|U  ՠ @  (   e s* Nw:OL,0z@lOp@*wL @ձ@ܲ)d@:Tq@:K@*E@:iw@:ow@:y@(*8phrKh; h\gh>8ph"Mh^Tq( hMh * & & & & & & & ܲ)d,0z*&&     wL lOp:iw*L f e  C ewE(ձ*r   & & & ܲ)d&,0z*& & & f&&  C wL lOp:ow*  ew w ձܲ)d:Tq$ܲ)d*A& & & & f&&& :K,0z$wL * f C wBA@  eI,lOpձ*0IŠ @A$ he 0$*V0 @e& & & & & && & & ,0z*|Ε )D@ lOp:y* C  `0" lĊe* NsOϳL:@ܲ)d@*X@:{3@Cؐ@:Q@:Q@*:Q@(Vh h{3}h,"owhshawh *&  $ܲ)d*&&  .  *LE   *r P T6Uw$:(X*) *ef $Cؐ*Le w :Q:ܲ)d"X&:Q*  &   w :Q ܲ)d$X(ܲ)d*0 &   w$:{3(X&  $ܲ)d*&&  .  *LFBACKUPDR1:[12,304]ODT .OBJ;1  *f)hPUKCABF.F* t^^29DEC8110295329DEC81102952&;|F*t^sVLs@:t @*:@(t^l \~h\h t^( t^0*0  (*V"  *|tZ|"t$Z&|( *    * gg|||||||01234567*|||||| |0SWAMLHCQFXBGIRVED D*DTfx}~\/'"% ^_@><$=CQ.;"Tfx  j-+*,BEFGKLNOPRSVWX~~$$`j*$$  `jf~0jdp*f~ 0 jdp|6l* | 6l*"\L7 v7  0 x " \L0*77P7 \ OD *T:  B? 7 *,7 7 & B  7 B*R  7   *x w  1 w 0De@ w 0$@*;% e0DlD N w ;0D(* 5W 4 T @  ZT* r 4;t  "* 83 @  D ^ #*6E = e0,  ~(*\@ nb (0&0*,r f^w ? :0 P "0* (7 ,_ &7+  7"7 hw *Xԇ  &y~w X~*7  !7(* 77w77*@%5 f      *f }`\7qmVPLL* DB Q X 8, 767 X*4w  $b  * B` %* DF _ & > *$ w 777*JUE   *pl f <ebs*7R7LGǁ 0f׭5f*.&Uvnl7* 8L#ĝw)*t!TTE w7 f  T(f*. f e0B7  : @f*T PJDMP|yODn*zc, JBEN7Msss*IOBIL:FP2 EM*TR"*w 7n wd *     t  *l  % <R  <$*8tZ|  N3 "t Z |*^X  n H  ^ 8 * @ "@  <  *<& t<f& s$<*fw ~ | w h |* 4Tx "T$x*T <xT % !TxT*B   *h%4T4xf j7`N-J Txf* @@@P@ @em*  7 w~|w *  X @f   X& *  m77  *& ` `  07E*L ` A A ы d*r f  P NB5*   N8 @ H::t * $0 * 7" ) * w2E  *0 w "T$ az  T*V +f&%0%%"$ d% 0*| T 0 (U  N,F @T 0(F* D e0 0 @;  Ne D;* 0, 7z 7 l7h* &e N @  Fe0  w* , &     ,  &  *:  @f A N  % *` e ee e ^ * @(F   ,B &    V +f&%0%%"$ d% 0*| T 0 (U  N,F @T 0(F* D e0 0 @;  Ne D;* 0, 7z 7 l7h* &e N @ GBACKUPDR1:[12,304]PURICR .OBJ;1*f6 PUKCAB[rG.G*HZg8^29DEC8110295429DEC81102953/(G*kq0LԱ8@CT@"4@(8q gh * @CA  E  4CT(Ա8& @1B #%*k)q0LԱ8@|@*@t!T@t@B$T@(dhhh *) ! 6v    |"Ա8*&    % Ա8(B$TX LaH$tX t!TX *ks0LԱ8@t!T@*4@B$T@($s@8h ( @ C3ww 4Ա8"B$T&t!T*kr0LnL`@n^@*\k@L5@t@(dh*dhehehhh  *      L5L5&L5*& B/CD&, NQ\kn^nL` *L ,  5 Q I (  n^nL` *reQQ  eew(t*DLL:y@nL`@*:K@:L@:kY@:N@:)N@*:9N@\k@:@:@L5@*t@:A@:i@(l|8Yh&;Mh  &:K :)N :9N:L:N:*a D$&:i:y: :kY :A L5*< ` APP  \kbewnL` t*fvL0LnL`@:_@*\k@:n'@L5@( ^p:h_p:h $  e":n' :_L5\k nL`*Ա0LnL`@:p@*\k@L5@(!qh "  P e L5:p\knL`*Ա80Lk*}@<\}@*<@kQ@(VԱ8hG k*}<\}, Lk*}<\}, k*}<\}, k*}<\}, k*}<\},  k*}<\},  k*}<\}, k*}<\}, k*}<\}, k*}<\} , nk*}<\} , }*% eaa B` B`ʋ%k*}<\} ,  << ` kQ*]0LnL`@n^@*\mj@L5@t@:@(8shsh *   0 p"L5: \mj$n^nL` &H ewnL`t k*}<\}, k*}<\} , nk*}<\} , }*% eaa B` B`ʋ%k*}<\}HBACKUPDR1:[12,304]PURISA .OBJ;1  *66 PUKCABH.H* Zg9;^29DEC8110295429DEC811029545lH*1 q?L\mj@L@*t@(zh@jhmhh  * & & ("L*& 56P 5 \mj*L HEEBP  e rw t*;d e,s&*5XL,0z@)@*)@)5@(l,}h,2h(*h4h.Lh L5h4 * " CDE) )5)*&Jgf& @ ))5),0z$L Ba$@"*"q%XL@ @*z@` @8@`^@'@(Աp h *e4  & 8`^z` "*& 'P N  '&8*L < @ 4"(` rt tN   `^*ԱhXL,0z@`@*)@` @)p @`^@)p @*Աp @(4q@8h|#qvh7qhr$q@8h4q@h * gf  4  )p )p ,0z`^$` *& 4   P 4 `Աp `^` `*L] 4 W#`^ `^`*r gf )p )p )",0z*      Աp `^` &`*@ Ί  W%} ` ` *CT0L(CTh   5 B  *h~XL\k@L5@( Lw@8h $  PP e H L5\k W#`^ `^`*r gf )p )p )",0z*      Աp `^` &`*@ Ί  W%} ` ` *CT0L(CTh   5 B  *h~XL\k@L5@( Lw@8h $  PP eIBACKUPDR1:[12,304]PURPCS .OBJ;1*",0z*PUKCABjI.I*Zgd^29DEC8110295529DEC81102955>kI*1 q?L\mj@L@*t@(zh@jhmhh  * & & ("L*& 56P 5 \mj*L HEEBP  e rw t*;d e,s&*5XL,0z@)@*)@)5@(l,}h,2h(*h4h.Lh L5h4 * " CDE) )5)*&Jgf& @ ))5),0z$L Ba$@"*"q%XL@ @*z@` @8@`^@'@(Աp h *e4  & 8`^z` "*& 'P NB  '&8*L < @ 4"(` rt tN   `^*ԱhXL,0z@`@*)@` @)p @`^@)p @*Աp @(4q@8h#qvh"q@h*7qh$q(xh$q@8h#qyh"q8h|  * gf ) )p ))p ",0z*& 4   4  P&`^ ` `Աp  `^$` *L 4] 4 ``^`^ `*rW# ))p ()p *gf   ,0zԱp $`^*   @ Ί` `` &`   W%} *CT0L(CTh   5 B   I *xhXLԱ:@p@*:7@t!T@L@t@B$T@"(xhhh *) + # 6v  L:7p*& #    5 Ա: :7 Ա:"L 5% $B$Tl tl jaHt!Tl *xdtXL:y@Ա:@*:7@:'@t!T@L5@t@*B$T@((dh dh eh"ehhh * ) B:7 :y:'"L5*&vCD&W, N@Q, :'":7*L a QDq  ,  5 Q :7*r I ( 6@A *9@@W, r1 Ա::7* @A @@ Ա:* @A @@  Ա: $B$T  t!T ae Ht *xqLL:+@Ա:@*CT@:@L5@(Bq ghs gh * @CA  : :+L5(CT &E  @1B % Ա:*Ա:L:+@:@*:@:r@::@:b@:7@*:<=@v@#w@\k@!Lf@"x@(Ա:h * % œe x*& eaea &f& * :. :6 (:r*L  QeK Ie\k !Lf!Lf *r3  ` W E :+*B W W W W   :7:<=:b::( lea W W W %#wv :7":<=:(W ҡe:b ::*DLLnL`@::@* I:b@:K@:<=@:kY@:N@*:)N@\k@:@L5@t@*:A@:i@(|8YhP;Mh  &:K :)N :)N:)N:N:*D%%&:i:i:i :kY :A ::*<%D%:<=:b*b%%a :::<=:b(L5*D$ ` APP \k ewnL`t*Ա0LnL`@:p@*\k@L5@(!qh "  P e L5:p\knL`*h~XL\k@L5@("Lw@8h &  PPP e L5\k*ks0LԱ:@t!T@*L5@B$T@("s@8h & A@ C3ww L5Ա: B$T$t!T*wL:H:H:pH*:+H:yH::H :bH :7H*:<=H :!H:'H:H(  L5:p\knL`*h~XL\k@L5@("Lw@8h &  PPP e L5\k*ks0LԱ:@t!T@*L5@B$T@("s@8h & A@ C3ww L5Ա: JBACKUPDR1:[12,304]PURUDC .OBJ;1**hPUKCABpJ.J*jZg^29DEC8110295629DEC81102955MJ*70L!_@U@*t!T@L@t@B$T@(:hh *  A     LU &p www!_B$Tt!Tt*0L#x@|@*Th@t!T@L@t@B$T@"(@hhh *     $ LTh|#x&#x&   wwwB$Ttt!T*K0L\k@L5@*t@(hdhdh * + BCDEQ L5\k*& 5 Q I ( e LQQ  ewt*@Q0LThy@3x@*CT@t!T@L@t@B$T@"(4eheh *  A p  $ LThyCT3x&3x&wwwB$T t!Tt*ӱ g0L#H:@Th5@"CT@((q gh * @A C p0B ATh5CT#H:&*h~0LUu~@4H:@(s@8h "@AA   Uu~4H:@B$T@"(4eheh *  A p  $ LThyCT3x&3xKBACKUPDR1:[12,304]TRACE .OBJ;1**h*hPUKCAB\K.K*^29DEC8110295629DEC81102956PK*Ls@("2VNhѱXhY8 h( * R "R(*&-7PzP*Ln7 #R`%Z#L R*rP5&::v4-0p-(*j- d-^-X-R -*L-Fw 7 (*)&f  s *  ~ v n f9&9*0 Z R J D >C *V8e . &)*|28 B  B s* B B e0 ѕ ѕ *P  q  P *{gn PCPCPC P{n*CPCPC PCPCPC PSPSPS DSDSDS R*:0R0R0 R1R1R1 R2R2R2 R3R3R3 R4R4R4 *` R5R5R5 SPSPSP TOSTOS >>> BREAK <<<  *  ~ v n f9&9*LBACKUPDR1:[12,304]VMLIB .OLB;1PUKCAB sL.Lh8_29DEC8110295729DEC81102957RL<0Q  (@-h"L3Љ6sBKnBv#xx'e.`h.`Xy: y: y:x rTe d0qX 0q8 >s 8 ` ~&Q *"LL#@?T@*{@©2@*@(*kh  *f  eE  *©2#Ԃ{?T&Q X*3ЉXL[ L@jS@*d@N`r@(F2zh * B` w` [ L &N`r * w wmjS[ LdQ *6sL@?hk@*?hT[@?T@W@A-@A-@*?hBx@{@#@jS@N`r@"k@(Ndh *w E  A W ?hBxk A-$&B` 7pA w& A- ?hT[A-?hkN`r jS F {#  ?TQ *BKL?hk@?hu~@*?h2@/d@?hT[@W@A-@*A-@R@?hBx@@kL@(PN`rh *w E   B `  W?hBxkA-&p 7&?hk /dA-?hT[A-R<A @ae?hu~?h2Q *BvL?hk@?hu~@*?h2@/d@?hT[@W@A-@*A-@R@jD@?hBx@@"k@(ZN`rh *w E   B `  W?hBxkA-&p 7&?hk /dA-?hT[A-R"<A @ae  ?hu~?h2jDjDQ X*#xxXL("h  &e?E? & f YPQ *'eL?hk@?hu~@*?hT[@A-@A-@R@(Nh &  0 B(R RA-?hT[ ?hT[?hu~*" ` "A-A-?hT[ ?hT[$?hk HR?hu~Q *.`L?hcM@j/d@*?hk@?hu~@?hT[@W@A-@*A-@@?hBx@3e@?hy@*©2@@(~*h *w f 4 & D (W ©2A-?hT[ &?hT[*&-N  ?hu~ ?hcM?hu~"3e$?hy&L ` &j/dA-?hk?hT[?hT["?hBxn  ©2fQ *.`L?hcM@j/d@*@?hk@?hu~@?hT[@Cs:@*©Bx@W@A-@A-@@*@?hBx@3e@?hy@CQ@*©2@@(*h (w f E  &W ©2CQ$Cs:*$w`K`/ & D -" ©BxA-?hT[ $?hT[*J LN  &?hu~ ?hcM?hu~ 3e"?hy(j/d(p `  &A-?hk?hT[?hT[ ?hBx$©2 Q 0*y:0Ls@@(h68h0 A? 0*0eE   s$ V bQ *y:L@W@*A-@A-@h'@R@?hBx@*jTG@lE@©2@[/d@k@(l6;h &w 7 7 7  W,&W A-A-R©2" 7 7([/d?hBx kA-?hBxk*< 0 #  A-A-jTG"h'b lEQ *y:xL@@*W@A-@A-@h'@R@*jD@?hBx@jTG@lE@©2@*[/d@k@(6;h *w w      7 7 &W jD $A-(A-&&7  W, 7(R ©2[/d?hBx k"A-*H 7 0 # ?hBxk A-A-jTGn  h' lEQ 0*Te0L?hcM@@*3e@?hy@@(2GGhjSh Mh &  & ?hcM ?hcM" 3e?hy&Q *0qXL#@?hk@*?h2@e;@?T@@ձ@*#h@jTG@{@(j/dhF/dh  * vp4e6#*.( d> >p ձ*T4e6(  " L(e;*z ( 䇇7 pwj fe?hk(?h2*)wN 7 L jTG({#h  ?TfQ *0q8 L#@?hk@*?h2@e;@?T@@ձ@*#h@jTG@{@jG@jjH@"(j/dhP/dh  * p4e6#*.( xH    ձjG"jG(*T Hp4e6(*z 2| 䇷   e;jjH"jjH*7 \wV Re) ?hk?h2jTGw: 7 8  {#h ?TQ 0*>s0L@(4h *B B  @`   &B`Q *` LVN@3eH*(jhA-hA-hRh*jTGhQ?hcMH?hkH?hu~H*?h2H?hT[H?hBxH?hyH  e    2,,VNBQ *8 LVN@3eH*(xhhA-hA-h*RhjDh jTGhjGhjjHh*Q?hcMH?hkH?hu~H?h2H"?hT[H?hBxH?hyH  &&::VNBQ *~LGG@@*jS@N`r@(\=HhNcMhhB *   v N`r GGN`r jS*& m ` N`rjS(N`rL@ N`rjGhjjHh*Q?hcMH?hkH?hu~H?h2H"?hT[H?hBxH?hyH  &MBACKUPDR1:[12,304]RSXMAC .SML;1WWA-?hPUKCABM.MskQx29DEC8110295829DEC81102958bM<0Q  !UT8.;.`K. 6{N48h/4;h/h4Kh/85[15[05[0|L 82L ;1lL K2$r /Hr /r 0/ &(K-M.")}E8O~: O f6836;26K2)42)3)4w85;4K5ύ؍N8;K% Ct2CtCt( )7B)6)6/./ 08;KΫϫ\xn8H{n7n7qg;qz8O9L;O8KO8:%>ة,(,-,f{"zwFks8t9t9t9`8h:P;h:(Kh:2/2/2 0|[ R !!!!!! |'!);'!):'!);h6!8R6!;6!K[!8N[!;([!Kq!t<q!t;q!t<ls!8h=`s!;h<8s!Kh<""w #)= #)= #)=t #8> #;> #K>l#8?#;?J#K?#HAR#H@# I@ &  &Q !&9!&Jt"& "&)"&)"&Hb"& I"&z/&&%/&)V/&9h/&Jh2&2& ^3&^+&^&b&:z&{; (^*(z\;,x<;,{<|;,<bA,x<A,{<lA,<DE,kKE,KE,8OE,s{<s<&;s8Y.;s;X;sKX|Us)Us)Us)BsxUZs{UYXsUZs[s8ZRs[8ty$vz9wx 9w{ J9w 9wKODwx<Dw{<0Dw<aw8].aw;\awK\rw`rwrw vrw8hrw;hrwKhw)^tw)]2w)]wx _rw{ ^.w ^x/ x/\x 00x8h yS.y fy_.y`y `Cy:tEyx aEy{ `Ey a>Ny8bNy;aNyKb:Ryx cFRy{ bRy bWy[FWy[Wy[yx dFy{ cy cyx eFy{ dy dy)y)y)y8f^y;eyKeyx <y{ y y)gxy)f(y)fy}6yxUhpy{UgByUh yayafy b*y8hy;h:yKhyx#y{#y#X4zjZ4zi4ziDzHkDzHj:Dz Ij[X3c')l')k|')l2I8h8I;hIKhL:L8h`L;hLKhS8mS;lSKlSzn0SzmS {nxS8oS;oRSKo"|x q|{ p| pr,r sr8bS`b (}>/t/s^ 0tau at btx#v{#vN#v\,E&\tH\ Ijla w,"HwtRh\a e^a DB^ .BLKB NFILES*S.BFHD+B .IFF .BLKB NFILES*T .ENDC .PSECT PSECTL .ENDM FSRSZ$fQ  .MACRO FDBDF$ .MCALL FDBSZ$ FDBSZ$B ...PC1=.L .BLKB S.FDB .ENDM FDBDF$EQ ' .MACRO FDAT$A RTYP,RATT,RSIZ,CNTG,ALOC .MCALL FDOFF$,CBYTE$,CWORD$ FDOFF$ DEF$L, CBYTE$ ,F.RTYPA CBYTE$ ,F.RATTC CWORD$ ,F.RSIZD CWORD$ ,F.CNTG CWORD$ ,F.ALOCS .ENDM FDAT$AQ  .MACRO FDRC$A RACC,URBA,URBS, .MCALL FDOFF$,CBYTE$,CWORD$ FDOFF$ DEF$LF CBYTE$ ,F.RACCH CWORD$ ,F.URBD+2  CWORD$ ,F.URBD .ENDM FDRC$AQ ( .MACRO FDOP$A LUN,FNPT,DFNB,FACC,FACTRL .MCALL FDOFF$,CBYTE$,CWORD$ FDOFFM$ DEF$L. CBYTE$ ,F.LUNT CWORD$ ,F.DSPTL CWORD$ ,F.DFNB CBYTE$ ,F.FACC  CWORD$ ,F.ACTLR .ENDM FDOP$ACQ ! .MACRO FDBF$A EFN,OVBS,MBCT,MBFG  .MCALL FDOFF$,CBYTE$,CWORD$ FDOFF$ DEF$L CBYTE$ ,F.EFNC CWORD$ ,F.OVBSD CBYTE$ ,F.MBCTO CBYTE$ ,F.MBFGC .ENDM FDBF$AOQ , .MACRO FDBK$A BKAD,BKSZ,BKVB,BKEF,BKST,BKDN .MCALL FDOFF$,CBYTE$,CWORD$ FDOFF$ DEF$LF CWORD$ ,F.BKDS+2$ CWORD$ ,F.BKDS  CWORD$ ,F.BKVB+2U CBYTE$ ,F.BKEFP CWORD$ ,F.BKSTN CWORD$ ,F.BKDNC .ENDM FDBK$ACQ + .MACRO FDAT$R FDB,RTYP,RATT,RSIZ,CNTG,ALOCE .MCALL LDFDB$,CMOV$W,CMOV$B LDFDB$ FDBW CMOV$B RTYP,F.RTYP CMOV$B RATT,F.RATT CMOV$W RSIZ,F.RSIZD CMOV$W CNTG,F.CNTGC CMOV$W ALOC,F.ALOCM .ENDM FDAT$RBQ ! .MACRO FDRC$R FDB,RACC,URBA,URBS, .MCALL LDFDB$,CMOV$W,CMOV$B LDFDB$ FDB$ CMOV$B RACC,F.RACCO CMOV$W URBA,F.URBD+2C CMOV$W URBS,F.URBD .ENDM FDRC$RFQ , .MACRO FDOP$R FDB,LUN,FNPT,DFNB,FACC,FACTRL .MCALL LDFDB$,CMOV$W,CMOV$B LDFDB$ FDB CMOV$B LUN,F.LUNT CMOV$W FNPT,F.DSPT, CMOV$W DFNB,F.DFNBD CMOV$B FACC,F.FACCL CMOV$W FACTRL,F.ACTLP .ENDM FDOP$R$Q % .MACRO FDBF$R FDB,EFN,OVBS,MBCT,MBFGC .MCALL LDFDB$,CMOV$W,CMOV$B LDFDB$ FDB CMOV$B EFN,F.EFNR CMOV$W OVBS,F.OVBSA CMOV$B MBCT,F.MBCT$ CMOV$B MBFG,F.MBFGB .ENDM FDBF$R Q 0 .MACRO FDBK$R FDB,BKAD,BKSZ,BKVB,BKEF,BKST,BKDN# .MCALL LDFDB$,CMOV$B,CMOV$W,CMOV$2P LDFDB$ FDBP CMOV$W BKAD,F.BKDS+2C CMOV$W BKSZ,F.BKDSV CMOV$2 BKVB,F.BKVBO CMOV$B BKEF,F.BKEF$ CMOV$W BKST,F.BKST$ CMOV$W BKDN,F.BKDN$ .ENDM FDBK$R~Q  .MACRO FDBSZ$ .IIF DF,S.FDB,.MEXIT .MCALL FDOFF$,DEF$L FDOFF$ DEF$NC DEF$L S.FDB .ENDM FDBSZ$BRQ  .MACRO FDOF$L .MCALL FDOFF$ FDOFF$ DEF$L .ENDM FDOF$LCQ + .MACRO NMBLK$ FNAME,FTYPE,VERS,DEVNAM,UNITD .MCALL RAD50$,CWORD$,MNBOFF$ NBOFF$ DEF$LL .IIF NDF,...PC1,...PC1=0$ ...PC3=...PC1 ...PC1=.K .=...PC1+N.FNAM RAD50$ ,S.FNAM/2 .=...PC1+N.FTYP RAD50$ ,S.FTYP/2 CWORD$ ,N.FVERK .IF NB,DEVNAM .=...PC1+N.DVNM .WORD "DEVNAM .ENDC CWORD$ ,N.UNITI .=...PC1+S.FNB$ ...PC1=...PC3 .ENDM NMBLK$SRQ  .MACRO NBOF$L .MCALL NBOFF$ NBOFF$ DEF$LD .ENDM NBOF$LEQ  .MACRO LDFDB$ FDB .IIF B,FDB,.MEXIT .NTYPE PAR$$$,FDB .IIF EQ,PAR$$$,.MEXIT MOV FDB,R0 .ENDM LDFDB$Q  .MACRO CMOV$W VAR,OFFSET. .IF IDN,<#0>,. CLR OFFSET(R0)A .MEXITM .ENDC .IIF NB,VAR, MOV VAR,OFFSET(R0) .ENDM CMOV$WVQ  .MACRO CMOV$B VAR,OFFSETM .IF IDN,<#0>,N CLRB OFFSET(R0) .MEXIT .ENDC! .IIF NB,VAR, MOVB VAR,OFFSET(R0)B .ENDM CMOV$BQ  .MACRO CMOV$2 VAR,OFFSETF .IIF B,VAR,.MEXIT MOV VAR,-(SP) MOV @(SP),OFFSET(R0)F ADD #2,(SP) MOV @(SP)+,OFFSET+2(R0) .ENDM CMOV$2RQ  .MACRO CBYTE$ VAR,OFFSET .IF NB,VAR ...PC2=.V .=...PC1+OFFSET .BYTE VAR .=...PC2R .ENDC .ENDM CBYTE$Q  .MACRO CWORD$ VAR,OFFSETN .IF NB,VAR ...PC2=. .=...PC1+OFFSET .WORD VAR .=...PC2< .ENDC .ENDM CWORD$TQ & .MACRO CSTRG$ VAR,OFFSET,MAXLG,FILL=04 .IF NB, ; IF THE STRING TO INSERT IS NON NULL, .NCHR ...PC3, ; PICK UP STRING LENGTH1 .IF GE MAXLG-...PC3 ; VERIFY IT IS NOT TOO LONGF ...PC2=. ; SAVE CURRENT PC+ .=...PC1+OFFSET ; ADDRESS DESIRED OFFSETF) .ASCII ^VAR^ ; INSERT VALUE AT OFFSETY- .REPT MAXLG-...PC3 ; PAD TO MAXIMUM LENGTH .BYTE FILL. .ENDR$ .=...PC2 ; RETURN TO PREVIOUS PC .IFF .ERROR ; ARGUMENT TOO LONGC .ENDCC .ENDC .ENDM CSTRG$ZQ  .MACRO CGET$B OFFSET,VARI" .IIF NB MOVB OFFSET(R0),VAR .ENDMZQ  .MACRO CGET$W OFFSET,VARP! .IIF NB MOV OFFSET(R0),VARC .ENDM~ Q  .MACRO FCSBT$ GLOBL .MCALL DEFIN$ ...GB!ML=0+" .IIF IDN,,,...GBL=1 DEFIN$ FD.FTN,1 DEFIN$ FD.CR,2F DEFIN$ FD.PRN,4 DEFIN$ FD.BLK,10M DEFIN$ FD.RWM,1 DEFIN$ FD.RAN,2 DEFIN$ FD.PLC,4 DEFIN$ FD.INS,10U DEFIN$ FD.REC,1 DEFIN$ FD.CCL,2 DEFIN$ FD.TTY,4 DEFIN$ FD.DIR,10C DEFIN$ FD.SDI,20 DEFIN$ FD.SQD,40B DEFIN$ FD.ISP,2000B DEFIN$ FD.OSP,4000) DEFIN$ FD.PSE,10000 DEFIN$ FD.COM,20000 DEFIN$ FD.F11,40000 DEFIN$ FD.MNT,100000, DEFIN$ NB.VER,1 DEFIN$ NB.TYP,2 DEFIN$ NB.NAM,4 DEFIN$ NB.SVR,10. DEFIN$ NB.STP,20G DEFIN$ NB.SNM,40L DEFIN$ NB.DIR,100 DEFIN$ NB.DEV,200 DEFIN$ NB.SD1,400 DEFIN$ NB.SD2,1000F- DEFIN$ NB.ANS,2000 ;SET IF QUOTED NAME FOUND47 DEFIN$ NB.WCH,4000 ;WILD CHARACTER PROCESSING REQUIRED>; ***** BEWARE MORE BITS IN N.STAT USED BY FCS AND PIP LOCALLY$; CHECK DEFINITION SECTION IN FCSPRE;N DEFIN$ R.FIX,1D DEFIN$ R.VAR,20 DEFIN$ R.SEQ,32& DEFIN$ R.STM,4 ;STREAM ASCII RECORDS DEFIN$ FA.RD,1N DEFIN$ FA.WRT,2 DEFIN$ FA.EXT,4 DEFIN$ FA.CRE,10  DEFIN$ FA.TMP,20  DEFIN$ FA.SHR,40 I; BIT VALUE 200 IN F.FACC IS RESERVED FOR USE BY RSTS/E, FOR THEIR FO.TSKF; TASK IMAGE FILE ACCESS.B;S DEFIN$ FA.APD,100 DEFIN$ FA.NSP,100;B DEFIN$ FO.RD,FA.RDC# DEFIN$ FO.WRT,FA.WRT!FA.EXT!FA.CREA# DEFIN$ FO.APD,FA.WRT!FA.EXT!FA.APDD DEFIN$ FO.MFY,FA.WRTE DEFIN$ FO.UPD,FA.WRT!FA.EXT DEFIN$ FA.ENB,100000FA DEFIN$ FA.SEQ,40000 ;ENABLE SEQUENTIAL PROCESSING ONLY (NON-RSX)R( DEFIN$ FA.WCK,20000 ;ENABLE WRITE CHECK: DEFIN$ FA.POS,10000 ; FILE CREATION POS. CTRL FOR MAGTAPE7 DEFIN$ FA.RWD,4000 ; ENABLE REWIND CONTROL FOR MAGTAPE 0 DEFIN$ FA.EXL,4000 ;ENABLE MANUAL BLOCK LOCKING* DEFIN$ FA.LKL,2000 ;ENABLE BLOCK BLOCKING& DEFIN$ FA.EXC,2000 ;EXCLUSIVE USE BIT6 DEFIN$ FA.DLK,1000 ; ENABLE NO LOCK ON ABNORMAL CLOSE> DEFIN$ CH.AND,1 ;ANSI FORMAT MAG TAPE: 'D' (VARIABLE LENGTH),/ ;OR 'F' (FIXED LENGTH, INCLUDING BLOCK I/O)0;; DEFIN$ FD.RAH,1 DEFIN$ FD.WBH,2 DEFIN$ FF.RWD,1 DEFIN$ FF.POE,2 DEFIN$ FF.NV,3D DEFIN$ FF.SPC,4 DEFIN$ FF.CHR,5 DEF%MIN$ FF.RWF,6I; DEFINE BITS USED IN .FCTYP TO DESCRIBE FCS CONDITIONAL ASSEMBLY OPTIONSL;0;E= DEFIN$ FT.ANI,1 ; ANSI MAG TAPE FCS (CONDITIONAL R$$ANI > 1)L0 DEFIN$ FT.BBF,2 ; BIG BUFFERED FCS (R$$BBF > 1)2 DEFIN$ FT.MBF,4 ; MULTI BUFFERED FCS (R$$MBF > 1);D .MACRO FCSBT$ ARG .ENDM FCSBT$E .ENDM FCSBT$ fQ  .MACRO DEFIN$ SYM,VAL .IIF EQ,...GBL-1,.GLOBL SYM SYM=^O .ENDM DEFIN$DQ  .MACRO FDOFF$ OFFSET  .MCALL OFFSET,DEF$I,NBOFF$D NBOFF$ OFFSET DEF$I 0 OFFSET F.RTYP,1 OFFSET F.RATT,1 OFFSET F.RSIZ,2 OFFSET F.HIBK,4 OFFSET F.EFBK,4 OFFSET F.FFBY,2 OFFSET S.FATT OFFSET F.RACC,1 OFFSET F.RCTL,1 OFFSET F.BKDS OFFSET F.URBD,4 OFFSET F.BKST OFFSET F.NRBD,2 OFFSET F.BKDN OFFSET ,2 OFFSET F.OVBS OFFSET F.NREC,2 OFFSET F.EOBB,2 OFFSET F.CNTG OFFSET F.RCNM,2 OFFSET F.STBK OFFSET ,2 OFFSET F.ALOC,2 OFFSET F.LUN,1M OFFSET F.FACC,1 OFFSET F.DSPT,2 OFFSET F.DFNB,2 OFFSET F.BKEF OFFSET F.EFN,1F OFFSET F.BKP1,1 OFFSET F.ERR,21 OFFSET F.MBCT,1 OFFSET F.MBC1,1 OFFSET F.MBFG,1 OFFSET F.BGBC,10 ;ALSO USED FOR ANSI TAPE INPUT BUFFER OFFSET OFFSET F.VBSZ,2 OFFSET F.BBFS,2 OFFSET F.BKVB OFFSET F.VBN,4T OFFSET F.BDB,22 OFFSET F.SPDV,2 OFFSET F.SPUN,1 OFFSET F.CHR,1  OFFSET F.ACTL,2 OFFSET F.SEQN,2 OFFSET F.FNB,S.FNBM! .IIF IDN,,,.MEXITF .IF IDN,,,* .GLOBL F.FNAM,F.FTYP,F.FVER,F.DVNM,F.UNIT .ENDC F.FNAM=N.FNAM+F.FNB F.FTYP=N.FTYP+F.FNB F.FVER=N.FVER+F.FNB F.DVNM=N.DVNM+F.FNB F.UNIT=N.UNIT+F.FNB OFFSET S.FDBG .MACRO FDOFF$ ARG .ENDM FDOFF$D .ENDM FDOFF$IQ  .MACRO BDOFF$ OFFSETF .MCALL OFFSET,DEF$I DEF$I 0 OFFSET ,4 OFFSET B.VBN,4, OFFSET B.BBFS,2 OFFSET B.NXBD,2 OFFSET ,1 OFFSET B.BFST,1 OFFSET ,2 OFFSET S.BFHD! .IIF IDN,,,.MEXITF .MACRO BDOFF$ ARG .ENDM BDOFF$S .ENDM BDOFF$.Q  .MACRO NBOFF$ OFFSET .MCALL OFFSET,DEF$I,DEF$L DEF$I 0 OFFSET S.FNAM)M OFFSET S.FTYP OFFSET S.FNTY OFFSET S.FNBW OFFSET S.ANM1 OFFSET S.ANM2% S.FNAM=6 ;SIZE OF FILENAME IN BYTESN& S.FTYP=2 ;SIZE OF FILE TYPE IN BYTES' S.ANM1=12. ;SIZE OF ANSI NAME FIELD 1I& S.ANM2=5. ;SIZE OF ANSI NAME FIELD 2< S.FNTY=/2 ;SIZE OF FILENAME + TYPE IN WORDS4 OFFSET N.FID,2 ;FILE ID (REALLY 6 BYTES, FOR DISK)= OFFSET N.ANM1,4 ;ANM1 OVERLAYS FID WORDS 2 AND 3, FNAM, FTYP OFFSET N.FNAM,S.FNAM ;FILENAMEE OFFSET N.FTYP,S.FTYPI OFFSET N.FVER,2 OFFSET S.NFEN DEF$L S.NFEN OFFSET N.STAT,2 OFFSET N.NEXT,2) OFFSET N.ANM2 ;ANSI NAME 2 OVERLAYS DIDE OFFSET N.DID,6Y OFFSET N.DVNM,2 OFFSET N.UNIT,2 OFFSET S.FNBM DEF$L S.FNB S.FNBW=S.FNB/2 ! .IIF IDN,,,.MEXITF .MACRO NBOFF$ ARG .ENDM NBOFF$; .ENDM NBOFF$EQ  .MACRO FSROF$ OFFSETI .MCALL OFFSET,DEF$I,DEF$L DEF$I 0 OFFSET ,4 OFFSET A.BFSR,2 OFFSET A.EFSR,2 OFFSET A.OWUI,2 OFFSET A.FIPR,2 OFFSET A.DPB,24.P OFFSET A.IOST,41 OFFSET A.DFDR,26. ;DEFAULT DIRECTORY INFORMATION. OFFSET A.DFBC,2 OFFSET A.DFUI,2;25; DEFINE POINTER TO INDIRECT JUMP TABLE FOR LIBRARIES ;V0 OFFSET A.JUMP,4 ;ADDRESS OF JUMP TABLE AND SIZE;1; DEFINE M-PLUS SUPERVISOR MODE LIBRARY FLAG WORDF;.5 OFFSET A.MODE,2 ; 0 = USER MODE, 1 = SUPERVISOR MODE OFFSET S.FSR2 DEF$L S.FSR2E DEF$I 0 OFFSET ,16. OFFSET D.DFID,6 OFFSET D.DFDV,2 OFFSET D.DFUN,2! .IIF IDN,,,.MEXITE .MACRO FSROF$ ARG .ENDM FSROF$F .ENDM FSROF$OQ  .MACRO FDSOF$ OFFSETM .MCALL OFFSET,DEF$I,DEF$L DEF$I 0 OFFSET N.DEVD,4 OFFSET N.DIRD,4 OFFSET N.FNMD,4 OFFSET S.FIDS .IF IDN,,F DEF$L S.FIDS  .MEXIT .ENDC .MACRO FDSOF$ ARG .ENDM FDSOF$G .ENDM FDSOF$FrQ  .MACRO DEF$G VAR,SIZS .MCALL DEF$LE .IIF NB,VAR,.GLOBL VAR DEF$L VAR,SIZ .ENDM DEF$GVQ  .MACRO DEF$N VAR,SIZF .MCALL DEF$L, DEF$L ,SIZE .ENDM DEF$NFQ  .MACRO DEF$I IVAL ...TPC=^O .ENDM DEF-M$IQ  .MACRO DEF$L SYM,SIZI .IF NB,SYMI SYM=^O<...TPC>D .ENDC .IF NB,SIZ ...TPC=^O<...TPC+SIZ> .ENDC .ENDM DEF$LQ  .MACRO RAD50$ STRING,MAXWRD ...PC2=.D .RAD50 /STRING/ .IF GT,<.-...PC2>-^O<2*MAXWRD>3 .ERROR ;STRING RAD50 - STRING TOO LONG, TRUNCATED  .=^O<...PC2+<2*MAXWRD>> .MEXIT .ENDC .REPT ^O/2>> .WORD 0 .ENDR .ENDM RAD50$F@Q  .MACRO CALL ADR JSR PC,ADR .ENDM CALL.<Q  .MACRO RETURN RTS PC .ENDM RETURN$>Q  .MACRO CALLR ADRT JMP ADR .ENDM CALLRQ  .MACRO ABRT$C TSK,PSCT,ERRL .MCALL ABRT$,DIR$ .IF NDF $$$GLBR .PSECT $DPB$$$$$=. .IFTF ABRT$ TSK .IFT. .PSECT PSCT DIR$ #$$$,ERR .ENDC .ENDM ABRT$CNQ  .MACRO ABRT$S NADR,ERRW .MCALL RFA$,DIR$N RFA$ NADR MOV (PC)+,-(SP) .BYTE 83.,3 DIR$ ,ERR .ENDM ABRT$SQ  .MACRO ABRT$ TSKJ .MCALL R50$,OFF$C .IF NDF $$$GLB .BYTE 83.,3 R50$ TSKS .ENDC .IF NDF A.BTTN .NLIST OFF$A OFF$ A.BTTN,4 .LIST .ENDC .ENDM ABRT$Q # .MACRO ALTP$C TTASK,NPRIO,PSCT,ERR, .MCALL ALTP$,DIR$ .IF NDF $$$GLB$ .PSECT $DPB$$$$$=.$ .IFTF ALTP$ TTASK,NPRIO .IFT$ .PSECT PSCT DIR$ #$$$,ERR .ENDC .ENDM ALTP$CAQ  .MACRO ALTP$S NAME,PRI,ERR  .MCALL MOV$,RFA$,DIR$ MOV$ PRI3 RFA$ NAME MOV (PC)+,-(SP) .BYTE 9.,4 DIR$ ,ERR .ENDM ALTP$SCQ  .MACRO ALTP$ NAME,PRI .MCALL R50$,OFF$. .IF NDF $$$GLBB .BYTE 9.,4 R50$ NAME .WORD PRI .ENDC .IF NDF A.LTTNA .NLIST OFF$ OFF$ A.LTTN,4 OFF$ A.LTPR,2 .LIST .ENDC .ENDM ALTP$Q  .MACRO ALUN$C LUN,DA,DU,CS,ERR .MCALL ALUN$,DIR$ .IF NDF $$$GLBS .PSECT $DPB$$$$$=.N .IFTF ALUN$ LUN,DA,DU .IFT .PSECT CS DIR$ #$$$,ERR .ENDC .ENDM ALUN$C,Q  .MACRO ALUN$S LUN,DA,DU,ERR .MCALL MOV$,DIR$  MOV$ DU MOV$ DA MOV$ LUN MOV (PC)+,-(SP) .BYTE 7,4 1M DIR$ ,ERR .ENDM ALUN$SNRQ  .MACRO ALUN$ LUN,DA,DUD .MCALL OFF$ .IF NDF $$$GLB .BYTE 7,4 .WORD LUN .IF B F .WORD 0 .IFFT .NCHR $$$T1,T$$$T2=. .ASCII /DA/ .=$$$T2+2C .ENDC .WORD DU .ENDC .IF NDF A.LULUN .NLISTS+ .IRP X,<,,,>D OFF$ XF .ENDM .LIST .ENDC .ENDM ALUN$Q  .MACRO ASTX$C PSCT,ERR  .MCALL ASTX$,DIR$ .IF NDF $$$GLBR .PSECT $DPB$$$$$=. .IFTF ASTX$ .IFT- .PSECT PSCT DIR$ #$$$,ERR .ENDC .ENDM ASTX$CQ  .MACRO ASTX$S ERR .MCALL DIR$ MOV (PC)+,-(SP) .BYTE 115.,1D DIR$. .IIF NB , JSR PC,ERR .ENDM ASTX$S<ZQ  .MACRO ASTX$$ .IF NDF $$$GLB. .BYTE 115.,1C .ENDC .ENDM ASTX$Q 0 .MACRO CINT$C VEC,BASE,ISR,DSI,PSW,AST,PSCT,ERR .MCALL CINT$,DIR$ .IF NDF $$$GLB .PSECT $DPB$$$$$=.S .IFTF CINT$ VEC,BASE,ISR,DSI,PSW,ASTN .IFTL .PSECT PSCT DIR$ #$$$,ERR .ENDC .ENDM CINT$C.Q + .MACRO CINT$S VEC,BASE,ISR,DSI,PSW,AST,ERR .MCALL RVP$,DIR$S RVP$ VEC,BASE,ISR,DSI,PSW,AST MOV (PC)+,-(SP) .BYTE 129.,7I DIR$ ,ERR .ENDM CINT$SNLQ & .MACRO CINT$ VEC,BASE,ISR,DSI,PSW,AST .MCALL OFF$ .IF NDF $$$GLB. .BYTE 129.,7 .WORD VEC .WORD BASET .WORD ISR .WORD DSI .WORD PSW .WORD AST .ENDC .IF NDF C.INVE OFF$C OFF$ C.INVE,2 OFF$ C.INBA,2 OFF$ C.INIS,2 OFF$ C.INDI,2 OFF$ C.INPS,2 OFF$ C.INAS,2 .ENDC .ENDM CINT$Q  .MACRO CLEF$C EFN,CS,ERR, .MCALL CLEF$,DIR$ .IF NDF $$$GLBR .PSECT $DPB$$$$$=.D .IFTF CLEF$ EFN .IFT) .PSECT CS DIR$ #$$$,ERR .ENDC .ENDM CLEF$CQ  .MACRO CLEF$S EFN,ERR .MCALL MOV$,DIR$F MOV$ EFNF MOV (PC)+,-(SP) .BYTE 31.,2 DIR$ ,ERR .ENDM CLEF$SIQ  .MACRO CLEF$ EFNT .MCALL OFF$ .IF NDF $$$GLBF .BYTE 31.,2 .WORD EFN .ENDC .IF NDF C.LEEF .NLISTN OFF$O OFF$ C.LEEF,2 .LIST .ENDC .ENDM CLEF$Q 5M .MACRO CMKT$C EFN,AST,PSCT,ERR .MCALL CMKT$,DIR$ .IF NDF $$$GLB .PSECT $DPB$$$$$=. .IFTF CMKT$ EFN,AST .IFTS .PSECT PSCT DIR$ #$$$,ERR .ENDC .ENDM CMKT$CQ  .MACRO CMKT$S EFN,AST,ERR .MCALL DIR$,RVP$F $$$T1=0 .IIF NB EFN $$$T1=1 .IIF NB AST $$$T1=1 .IF EQ $$$T1 MOV (PC)+,-(SP) .BYTE 27.,1 .IFFF RVP$ EFN,AST$ MOV (PC)+,-(SP) .BYTE 27.,3 .ENDC DIR$ ,ERR .ENDM CMKT$S>Q  .MACRO CMKT$ EFN,AST. .MCALL OFF$ .IF NDF $$$GLB. $$$T1=0 .IIF NB EFN $$$T1=1 .IIF NB AST $$$T1=1 .IF EQ $$$T1 .BYTE 27.,1 .IFF .BYTE 27.,3 .WORD EFN .WORD AST .ENDC .ENDC .IF NDF C.MKEF .NLISTK OFF$ OFF$ C.MKEF,2 OFF$ C.MKAE,2 .LIST .ENDC .ENDM CMKT$Q  .MACRO CRGF$C GROUP,CS,ERR$ .MCALL CRGF$,DIR$ .IF NDF $$$GLBS .PSECT $DPB$$$$$=.F .IFTF CRGF$ GROUP .IFT- .PSECT CS DIR$ #$$$,ERR .ENDC .ENDM CRGF$C$Q  .MACRO CRGF$S GROUP,ERR .MCALL MOV$,DIR$F MOV$ GROUP MOV (PC)+,-(SP) .BYTE 157.,2. DIR$ ,ERR .ENDM CRGF$S Q  .MACRO CRGF$ GROUP. .MCALL OFF$ .IF NDF $$$GLBN .BYTE 157.,2F .WORD GROUP .ENDC .IF NDF C.RGRP. .NLISTO OFF$K OFF$ C.RGRP,2 .LIST .ENDC .ENDM CRGF$Q  .MACRO CSRQ$C TT,RT,CS,ERRR .MCALL CSRQ$,DIR$ .IF NDF $$$GLBD .PSECT $DPB$$$$$=.C .IFTF CSRQ$ TT,RT .IFTS .PSECT CS DIR$ #$$$,ERR .ENDC .ENDM CSRQ$CQ  .MACRO CSRQ$S TN,RN,ERR .MCALL RFA$,DIR$U RFA$ TN MOV (PC)+,-(SP) .BYTE 25.,3 DIR$ ,ERR .ENDM CSRQ$SQ  .MACRO CSRQ$ TT,RTC .MCALL R50$,OFF$$ .IF NDF $$$GLB7 .BYTE 25.,3 R50$ TT .ENDC .IF NDF C.SRTNL .NLISTF OFF$F OFF$ C.SRTN,4 OFF$ C.SRRN,4 .LIST .ENDC .ENDM CSRQ$Q  .MACRO DECL$C EFN,PSCT,ERR .MCALL DECL$,DIR$ .IF NDF $$$GLB= .PSECT $DPB$$$$$=.T .IFTF DECL$ EFN .IFT .PSECT PSCT DIR$ #$$$,ERR .ENDC .ENDM DECL$C.tQ  .MACRO DECL$S EFN,E9MRR .MCALL DIR$ MOV (PC)+,-(SP) .BYTE 35.,1 DIR$ ,ERR .ENDM DECL$S\Q  .MACRO DECL$ EFN .IF NDF $$$GLB$ .BYTE 35.,1 .ENDC .ENDM DECL$Q  .MACRO DSAR$C PSCT,ERR .MCALL DSAR$,DIR$ .IF NDF $$$GLB4 .PSECT $DPB$$$$$=.M .IFTF DSAR$ .IFT .PSECT PSCT DIR$ #$$$,ERR .ENDC .ENDM DSAR$C.pQ  .MACRO DSAR$S ERR .MCALL DIR$ MOV (PC)+,-(SP) .BYTE 99.,1 DIR$ ,ERR .ENDM DSAR$SMXQ  .MACRO DSAR$R .IF NDF $$$GLB .BYTE 99.,1 .ENDC .ENDM DSAR$Q  .MACRO DSCP$C PSCT,ERR .MCALL DSCP$,DIR$ .IF NDF $$$GLBN .PSECT $DPB$$$$$=.1 .IFTF DSCP$ .IFT .PSECT PSCT DIR$ #$$$,ERR .ENDC .ENDM DSCP$CSpQ  .MACRO DSCP$S ERR .MCALL DIR$ MOV (PC)+,-(SP) .BYTE 95.,1 DIR$ ,ERR .ENDM DSCP$SCXQ  .MACRO DSCP$ .IF NDF $$$GLBE .BYTE 95.,1 .ENDC .ENDM DSCP$Q  .MACRO ELGF$C GROUP,CS,ERR .MCALL ELGF$,DIR$ .IF NDF $$$GLB$ .PSECT $DPB$$$$$=.. .IFTF ELGF$ GROUP .IFT .PSECT CS DIR$ #$$$,ERR .ENDC .ENDM ELGF$C$Q  .MACRO ELGF$S GROUP,ERR .MCALL MOV$,DIR$F MOV$ GROUPS MOV (PC)+,-(SP) .BYTE 159.,2M DIR$ ,ERR .ENDM ELGF$SQ  .MACRO ELGF$ GROUP( .MCALL OFF$ .IF NDF $$$GLB .BYTE 159.,2C .WORD GROUP .ENDC .IF NDF E.LGRP .NLIST$ OFF$ OFF$ E.LGRP,2 .LIST .ENDC .ENDM ELGF$Q  .MACRO ENAR$C PSCT,ERRL .MCALL ENAR$,DIR$ .IF NDF $$$GLBC .PSECT $DPB$$$$$=.F .IFTF ENAR$ .IFT .PSECT PSCT DIR$ #$$$,ERR .ENDC .ENDM ENAR$CrQ  .MACRO ENAR$S ERR .MCALL DIR$ MOV (PC)+,-(SP) .BYTE 101.,1+ DIR$ ,ERR .ENDM ENAR$SRZQ  .MACRO ENAR$ .IF NDF $$$GLBL .BYTE 101.,1C .ENDC .ENDM ENAR$Q  .MACRO ENCP$C PSCT,ERR .MCALL ENCP$,DIR$ .IF NDF $$$GLBO .PSECT $DPB$$$$$=.. .IFTF ENCP$ .IFT .PSECT PSCT DIR$ #$$$,ERR .ENDC .ENDM ENCP$C,pQ =M .MACRO ENCP$S ERR .MCALL DIR$ MOV (PC)+,-(SP) .BYTE 97.,1 DIR$ ,ERR .ENDM ENCP$S.XQ  .MACRO ENCP$. .IF NDF $$$GLB .BYTE 97.,1 .ENDC .ENDM ENCP$Q  .MACRO EXIF$C EFN,CS,ERR .MCALL EXIF$,DIR$ .IF NDF $$$GLB$ .PSECT $DPB$$$$$=. .IFTF EXIF$ EFN .IFT .PSECT CS DIR$ #$$$,ERR .ENDC .ENDM EXIF$C,Q  .MACRO EXIF$S EFN,ERR .MCALL MOV$,DIR$$ MOV$ EFN. MOV (PC)+,-(SP) .BYTE 53.,2 DIR$ ,ERR .ENDM EXIF$SQ  .MACRO EXIF$ EFN .MCALL OFF$ .IF NDF $$$GLB9 .BYTE 53.,2 .WORD EFN .ENDC .IF NDF E.XFEF .NLISTN OFF$. OFF$ E.XFEF,2 .LIST .ENDC .ENDM EXIF$Q  .MACRO EXIT$C PSCT,ERRC .MCALL EXIT$,DIR$ .IF NDF $$$GLB$ .PSECT $DPB$$$$$=. .IFTF EXIT$ .IFTE .PSECT PSCT DIR$ #$$$,ERR .ENDC .ENDM EXIT$CMQ  .MACRO EXIT$S ERR .MCALL DIR$ MOV (PC)+,-(SP) .BYTE 51.,1 DIR$C .IIF NB , CALL ERR .ENDM EXIT$SMXQ  .MACRO EXIT$R .IF NDF $$$GLBC .BYTE 51.,1 .ENDC .ENDM EXIT$Q  .MACRO EXST$C STS,CS,ERR. .MCALL EXST$,DIR$ .IF NDF $$$GLBT .PSECT $DPB$$$$$=. .IFTF EXST$ STS .IFTX .PSECT CS DIR$ #$$$,ERR .ENDC .ENDM EXST$C$Q  .MACRO EXST$S STS,ERR .MCALL MOV$,DIR$,OFF$ MOV$ STSR MOV (PC)+,-(SP) .BYTE 29.,2 DIR$ ,ERR .NLISTX$$$OST=05 .IRP X,<,,,>. OFF$ XR .ENDM .LIST .ENDM EXST$SQ  .MACRO EXST$ STSN .MCALL OFF$ .IF NDF $$$GLBC .BYTE 29.,2 .WORD STS .ENDC .IF NDF E.XSTSS .NLIST OFF$  OFF$ E.XSTS,2$$$OST=05 .IRP X,<,,,> OFF$ XS .ENDM .LIST .ENDC .ENDM EXST$Q  .MACRO EXTK$C INC,CS,ERR .MCALL EXTK$,DIR$ .IF NDF $$$GLBM .PSECT $DPB$$$$$=.2 .IFTF EXTK$ INC .IFT .PSECT CS DIR$ #$$$,ERR .ENDC .ENDM EXTK$C,Q  .MACRO EXTK$S INC,ERR .MCALL MOV$,DIR$ AM CLR -(SP) MOV$ INCT MOV (PC)+,-(SP) .BYTE 89.,3 DIR$ ,ERR .ENDM EXTK$SDQ  .MACRO EXTK$ INCS .MCALL OFF$ .IF NDF $$$GLBO .BYTE 89.,3 .WORD INC .WORD 0 .ENDC .IF NDF E.XTIN .NLIST OFF$ OFF$ E.XTIN,2 .LIST .ENDC .ENDM EXTK$fQ - .MACRO GIN$C SFCN,P1,P2,P3,P4,P5,P6,P7,P8,P9M .MCALL GIN$,DIR$,GFN$,OFF$F .IF NDF $$$GLB. .PSECT $DPB$$$$$=.  .IFTF GFN$C .NARG $$$N$ $$$I=$$$N .BYTE 169.,$$$N+1. .IRP $$$PRM, .IF EQ $$$I .MEXITS .IFFY $$$I=$$$I-1R .ENDC .WORD $$$PRM .ENDR .IF NDF G.INSF  .NLISTS6 .IRP X,<,,,,> OFF$ XD .ENDR* .IRP X,<,,> OFF$ X2 .ENDR* .IRP X,<,,> OFF$ X$ .ENDR .ENDC .IFT6 .PSECT CS DIR$ #$$$ .ENDC .ENDM GIN$C<Q - .MACRO GIN$S SFCN,P1,P2,P3,P4,P5,P6,P7,P8,P9$ .MCALL MOV$,DIR$,OFF$,MVB$,GFN$ GFN$$ .NARG $$$N, $$$I=$$$N,$$$K=9.P. .IRP $$$PRM, .IF GT $$$I-$$$K$ MOV$ $$$PRM .ENDC $$$K=$$$K-1L .ENDR MOV (PC)+,-(SP) .BYTE 169.,$$$N+1 DIR$P .ENDM GIN$SQ , .MACRO GIN$ SFCN,P1,P2,P3,P4,P5,P6,P7,P8,P9 .MCALL OFF$,GFN$< .IF NDF $$$GLB, GFN$P .NARG $$$N $$$I=$$$N .BYTE 169.,$$$N+1. .IRP $$$PRM, .IF EQ $$$I .MEXIT$ .IFFP $$$I=$$$I-1, .ENDC .WORD $$$PRMO .ENDR .ENDC .IF NDF G.INSF. .NLIST,6 .IRP X,<,,,,> OFF$ XS .ENDM* .IRP X,<,,> OFF$ X .ENDR* .IRP X,<,,> OFF$ XG .ENDR .ENDC .ENDM GIN$RQ  .MACRO GLUN$C LUN,BUFA,CS,ERR$ .MCALL GLUN$,DIR$ .IF NDF $$$GLBA .PSECT $DPB$$$$$=.. .IFTF GLUN$ LUN,BUFA$ .IFTF .PSECT CS DIR$ #$$$,ERR .ENDC .ENDM GLUN$CIQ  .MACRO GLUN$S LUN,BUFA,ERRO .MCALL MOV$,DIR$,OFF$ MOV$ BUFA MOV$ LUN. MOVEM (PC)+,-(SP) .BYTE 5,3 DIR$ ,ERR .IF NDF G.LUNA  .NLISTM$$$OST=06 .IRP X,<,,,> OFF$ X. .ENDM .LIST .ENDC .ENDM GLUN$SG`Q  .MACRO GLUN$ LUN,BUFA .MCALL OFF$ .IF NDF $$$GLBA .BYTE 5,3 .WORD LUN .WORD BUFAF .ENDC .IF NDF G.LULU .NLIST.+ .IRP X,<,,,>D OFF$ XE .ENDM .IF NDF G.LUNAI$$$OST=06 .IRP X,<,,,> OFF$ XM .ENDM .ENDC .LIST .ENDC .ENDM GLUN$Q  .MACRO GMCR$C CS,ERRS .MCALL GMCR$,DIR$ .IF NDF $$$GLBL .PSECT $DPB$$$$$=.C .IFTF GMCR$ .IFTM .PSECT CS DIR$ #$$$,ERR .ENDC .ENDM GMCR$CQ  .MACRO GMCR$F .MCALL OFF$ .IF NDF $$$GLB3 .BYTE 127.,41.O .BLKW 40. .ENDC .IF NDF G.MCRB. .NLIST. OFF$, OFF$ G.MCRB,80. .LIST .ENDC .ENDM GMCR$Q  .MACRO GPRT$C PRT,BUF,CS,ERRA .MCALL GPRT$,DIR$ .IF NDF $$$GLB> .PSECT $DPB$$$$$=.N .IFTF GPRT$ PRT,BUF .IFT$ .PSECT CS DIR$ #$$$,ERR .ENDC .ENDM GPRT$C Q  .MACRO GPRT$S PRT,BUF,ERR .MCALL MOV$,RFA$,DIR$,OFF$M MOV$ BUFS RFA$ PRT$ MOV (PC)+,-(SP) .BYTE 65.,4 DIR$ ,ERR .IF NDF G.PRPBF .NLIST $$$OST=0* .IRP X,<,,> OFF$ X. .ENDM .LIST .ENDC .ENDM GPRT$S BQ  .MACRO GPRT$ PRT,BUF .MCALL OFF$,R50$. .IF NDF $$$GLBB .BYTE 65.,4 R50$ PRT, .WORD BUF .ENDC .IF NDF G.PRPN$ .NLIST OFF$ OFF$ G.PRPN,4 OFF$ G.PRBA,2 .IF NDF G.PRPBR$$$OST=0* .IRP X,<,,> OFF$ XB .ENDM .ENDC .LIST .ENDC .ENDM GPRT$Q  .MACRO GSSW$C PSCT,ERR. .MCALL GSSW$,DIR$ .IF NDF $$$GLBL .PSECT $DPB$$$$$=., .IFTF GSSW$ .IFT< .PSECT PSCT DIR$ #$$$,ERR .ENDC .ENDM GSSW$CGrQ  .MACRO GSSW$S ERR .MCALL DIR$ MOV (PC)+,-(SP) .BYTE 125.,1B DIR$ ,ERR .ENDM GSSW$SZQ  .MACRO GSSW$P .IF NDF $$$GLBF .IMBYTE 125.,1N .ENDC .ENDM GSSW$Q  .MACRO GTIM$C BUFA,CS ERR .MCALL GTIM$,DIR$ .IF NDF $$$GLBN .PSECT $DPB$$$$$=.N .IFTF GTIM$ BUFA .IFT .PSECT CS DIR$ #$$$,ERR .ENDC .ENDM GTIM$CVQ  .MACRO GTIM$S BUFA,ERR. .MCALL MOV$,DIR$,OFF$ MOV$ BUFA MOV (PC)+,-(SP) .BYTE 61.,2 DIR$ ,ERR .IF NDF G.TIYRA .NLISTS$$$OST=05 .IRP X,<,,,> OFF$ XS .ENDM5 .IRP X,<,,,>E OFF$ X .ENDM .LIST .ENDC .ENDM GTIM$StQ  .MACRO GTIM$ BUFA .MCALL OFF$ .IF NDF $$$GLBS .BYTE 61.,2 .WORD BUFA .ENDC .IF NDF G.TIBAS .NLISTD OFF$$ OFF$ G.TIBA,2 .IF NDF G.TIYR$$$OST=05 .IRP X,<,,,>M OFF$ X .ENDM5 .IRP X,<,,,>. OFF$ X$ .ENDM .ENDC .LIST .ENDC .ENDM GTIM$Q  .MACRO GTSK$C BUFA,CS,ERR .MCALL GTSK$,DIR$ .IF NDF $$$GLBC .PSECT $DPB$$$$$=.M .IFTT GTSK$ BUFAN .IFT$ .PSECT CS DIR$ #$$$,ERR .ENDC .ENDM GTSK$CFQ  .MACRO GTSK$S BUFA,ERRB .MCALL MOV$,DIR$,OFF$ MOV$ BUFA MOV (PC)+,-(SP) .BYTE 63.,2 DIR$ ,ERR .IF NDF G.TSTNR .NLISTI$$$OST=0@ .IRP X,<,,,,> OFF$ XS .ENDM@ .IRP X,<,,,,> OFF$ X$ .ENDM OFF$ G.TSVL,2 OFF$ G.TSTS,2 OFF$ G.TSSY,2 OFF$ G.TSDU,2$$$OST=05 .IRP X,<,,,>$ OFF$ X  .ENDM .LIST .ENDC .ENDM GTSK$S$Q  .MACRO GTSK$ BUFA .MCALL OFF$ .IF NDF $$$GLB$ .BYTE 63.,2 .WORD BUFAS .ENDC .IF NDF G.TSBAE .NLISTN OFF$T OFF$ G.TSBA,2 .IF NDF G.TSTN<$$$OST=0@ .IRP X,<,,,,> OFF$ X. .ENDM@ .IRP X,<,,,,> OFF$ XL .ENDM OFF$ G.TSVL,2 OFF$ G.TSTS,2 OFF$ G.TSSY,2 OFF$ MMG.TSDU,2$$$OST=05 .IRP X,<,,,>. OFF$ XN .ENDM .ENDC .LIST .ENDC .ENDM GTSK$^Q  .MACRO IHAR$C PSCT,ERR .MCALL DSAR$C DSAR$C PSCT,ERR .ENDM IHAR$CBTQ  .MACRO IHAR$S ERR .MCALL DSAR$S DSAR$S ERR. .ENDM IHAR$S4HQ  .MACRO IHAR$> .MCALL DSAR$O DSAR$ .ENDM IHAR$Q " .MACRO MRKT$C EF,TM,TU,AST,CS,ERR .MCALL MRKT$,DIR$ .IF NDF $$$GLB2 .PSECT $DPB$$$$$=.  .IFTF MRKT$ EF,TM,TU,ASTO .IFT. .PSECT CS DIR$ #$$$,ERR .ENDC .ENDM MRKT$C.Q  .MACRO MRKT$S EF,TM,TU,AST,ERRG .MCALL RVP$,DIR$ RVP$ EF,TM,TU,AST MOV (PC)+,-(SP) .BYTE 23.,5 DIR$ ,ERR .ENDM MRKT$SQ  .MACRO MRKT$ EFN,TM,TU,ASTS .MCALL OFF$ .IF NDF $$$GLB$ .BYTE 23.,5 .WORD EFN .WORD TM .WORD TUR .WORD AST .ENDC .IF NDF M.KTEF .NLISTA6 .IRP X,<,,,,> OFF$ XL .ENDM .LIST .ENDC .ENDM MRKT$Q 6 .MACRO QIO$C FNC,LUN,EFN,PRI,IOST,AST,PRMLST,PSCT,ERR .MCALL QDPB$,DIR$ .IF NDF $$$GLBS .PSECT $DPB$$$$$=.C .IFTF* QDPB$ 1,FNC,LUN,EFN,PRI,IOST,AST, .IFTE .PSECT PSCT DIR$ #$$$,ERR .ENDC .ENDM QIO$CQ 1 .MACRO QIO$S FNC,LUN,EFN,PRI,IOST,AST,PRMLST,ERRE .MCALL QDPB$S/ QDPB$S 1,FNC,LUN,EFN,PRI,IOST,AST,,ERR. .ENDM QIO$SQ , .MACRO QIO$ FNC,LUN,EFN,PRI,IOST,AST,PRMLST .MCALL QDPB$.* QDPB$ 1,FNC,LUN,EFN,PRI,IOST,AST, .ENDM QIO$AQ 7 .MACRO QIOW$C FNC,LUN,EFN,PRI,IOST,AST,PRMLST,PSCT,ERRF .MCALL QDPB$,DIR$ .IF NDF $$$GLB .PSECT $DPB$$$$$=.N .IFTF* QDPB$ 3,FNC,LUN,EFN,PRI,IOST,AST, .IFT$ .PSECT PSCT DIR$ #$$$,ERR .ENDC .ENDM QIOW$C Q 2 .MACRO QIOW$S FNC,LUN,EFN,PRI,IOST,AST,PRMLST,ERR .MCALL QDPB$S/ QDPB$S 3,FNC,LUN,EFN,PRI,IOST,AST,,ERR .ENDM QIOW$SIQ - .MACRO QIOW$ FNC,LUN,EFN,PRI,IOST,AST,PRMLSTL .MCALL QDPB$,* QDPQMB$ 3,FNC,LUN,EFN,PRI,IOST,AST, .ENDM QIOW$vQ 6 .MACRO QDPB$S DIC,FNC,LUN,EFN,PRI,IOST,AST,PRMLST,ERR .MCALL RVP$,MVB$,DIR$ .NLIST$$$ARG=0 .IRP X,$$$ARG=$$$ARG+1M .ENDM .LIST .IF GT 6-$$$ARG .REPT <6-$$$ARG>. CLR -(SP) .ENDR .ENDC .IIF NB , RVP$ PRMLST RVP$ IOST,AST MVB$ EFN, RVP$ FNC,LUNP MOV (PC)+,-(SP) .BYTE DIC,12. DIR$ ,ERR .ENDM QDPB$S"Q 1 .MACRO QDPB$ DIC,FNC,LUN,EFN,PRI,IOST,AST,PRMLSTC .MCALL OFF$ .IF NDF $$$GLBN .BYTE DIC,12. .WORD FNC .WORD LUN .BYTE EFN,0 .WORD IOSTB .WORD AST .NLISTI$$$ARG=0 .LIST .IRP X, .WORD X .NLIST$$$ARG=$$$ARG+1, .LIST .ENDM .IF GT 6-$$$ARG .REPT <6-$$$ARG>- .WORD 0 .ENDR .ENDC .ENDC .IF NDF Q.IOFNN .NLIST 6 .IRP X,<,,,,> OFF$ XU .ENDM( .IRP X,<,,> OFF$ XP .ENDM .LIST .ENDC .ENDM QDPB$Q  .MACRO RDAF$C BA,CS,ERR .MCALL RDAF$,DIR$ .IF NDF $$$GLB1 .PSECT $DPB$$$$$=.L .IFTF RDAF$ BA. .IFTS .PSECT CS DIR$ #$$$,ERR .ENDC .ENDM RDAF$C,Q  .MACRO RDAF$S BA,ERRR .MCALL MOV$,DIR$M MOV$ BA MOV (PC)+,-(SP) .BYTE 39.,2 DIR$ ,ERR .ENDM RDAF$SNQ  .MACRO RDAF$ BA .MCALL OFF$ .IF NDF $$$GLBI .BYTE 39.,2 .WORD BA  .ENDC .IF NDF R.DABAO .NLISTI OFF$< OFF$ R.DABA,2.P .LIST .ENDC .ENDM RDAF$Q  .MACRO RDEF$C EFN,CS,ERR, .MCALL RDEF$,DIR$ .IF NDF $$$GLB$ .PSECT $DPB$$$$$=. .IFTF RDEF$ EFN .IFT .PSECT CS DIR$ #$$$,ERR .ENDC .ENDM RDEF$CRQ  .MACRO RDEF$S EFN,ERR .MCALL MOV$,DIR$$ MOV$ EFNV MOV (PC)+,-(SP) .BYTE 37.,2 DIR$ ,ERR .ENDM RDEF$SAQ  .MACRO RDEF$ EFN .MCALL OFF$ .IF NDF $$$GLBL .BYTE 37.,2 .WORD EFN .ENDC .IF NDF R.DEEFB .NLISTS OFF$F OFF$ R.DEEF,2.2 .LIST .ENDC .ENDM RDEF$Q  .MACRO RDXF$C BA,CS,ERR .MCALL RDXF$,DIUMR$ .IF NDF $$$GLB$ .PSECT $DPB$$$$$=.$ .IFTF RDXF$ BA$ .IFT. .PSECT CS DIR$ #$$$,ERR .ENDC .ENDM RDXF$CEQ  .MACRO RDXF$S BA,ERRN .MCALL MOV$,DIR$D CLR -(SP) MOV$ BA MOV (PC)+,-(SP) .BYTE 39.,3. DIR$ ,ERR .ENDM RDXF$SQ  .MACRO RDXF$ BA .MCALL OFF$ .IF NDF $$$GLBY .BYTE 39.,3.D .WORD BAC .WORD 0 .ENDC .IF NDF R.DABAF .NLIST. OFF$2 OFF$ R.DABA,2. .LIST .ENDC .ENDM RDXF$Q  .MACRO RCVD$C TN,BA,CS,ERR .MCALL RCVD$,DIR$ .IF NDF $$$GLB= .PSECT $DPB$$$$$=. .IFTF RCVD$ TN,BA .IFT$ .PSECT CS DIR$ #$$$,ERR .ENDC .ENDM RCVD$CAQ  .MACRO RCVD$S TN,BA,ERR .MCALL MOV$,DIR$, RFA$C MOV$ BA RFA$ TN MOV (PC)+,-(SP) .BYTE 75.,4 DIR$ ,ERR .ENDM RCVD$S Q  .MACRO RCVD$ TN,BAY .MCALL OFF$, R50$ .IF NDF $$$GLB0 .BYTE 75.,4 R50$ TN .WORD BA. .ENDC .IF NDF R.VDTN .NLIST .IRP X,<,,> OFF$ XA .ENDM .LIST .ENDC .ENDM RCVD$Q  .MACRO RCVX$C TN,BA,CS,ERR .MCALL RCVX$,DIR$ .IF NDF $$$GLBC .PSECT $DPB$$$$$=.. .IFTF RCVX$ TN,BA .IFT .PSECT CS DIR$ #$$$,ERR .ENDC .ENDM RCVX$CRQ  .MACRO RCVX$S TN,BA,ERR .MCALL MOV$,DIR$, RFA$E MOV$ BA RFA$ TN MOV (PC)+,-(SP) .BYTE 77.,4 DIR$ ,ERR .ENDM RCVX$SQ  .MACRO RCVX$ TN,BAN .MCALL OFF$, R50$ .IF NDF $$$GLB .BYTE 77.,4 R50$ TN .WORD BA. .ENDC .IF NDF R.VXTNM .NLIST .IRP X,<,,> OFF$ XA .ENDM .LIST .ENDC .ENDM RCVX$dQ  .MACRO RMAF$S ERR MOV (PC)+,-(SP) .BYTE 163.,1 DIR$ ,ERR .ENDM RMAF$S$Q # .MACRO RQST$C TN,PN,PR,GC,P,CS,ERRR .MCALL RQST$,DIR$ .IF NDF $$$GLB, .PSECT $DPB$$$$$=.  .IFTF RQST$ TN,PN,PR,GC,P .IFTD .PSECT CS DIR$ #$$$,ERR .ENDC .ENDMQ  .MACRO RQST$S TN,PN,PR,GC,P,ERR .MCALL MVB$,RFA$,DIR$ MVB$ P,GC CLR -(SP) RFA$F RFA$ TN MOV (PC)+,-YM(SP) .BYTE 11.,7 DIR$ ,ERR .ENDM RQST$S.*Q  .MACRO RQST$ TN,PN,PR,GC,P .MCALL R50$,OFF$S .IF NDF $$$GLB- .BYTE 11.,7 R50$ TN .WORD 0,0 .WORD 0 .BYTE P,GC .ENDC .IF NDF R.QSTN, .NLISTPA .IRP X,<,,,,,>= OFF$ XF .ENDM .LIST .ENDC .ENDM RQST$Q  .MACRO RSUM$C TN,CS,ERR .MCALL RSUM$,DIR$ .IF NDF $$$GLBC .PSECT $DPB$$$$$=.A .IFTF RSUM$ TN .IFTS .PSECT CS DIR$ #$$$,ERR .ENDC .ENDM RSUM$C7Q  .MACRO RSUM$S TN,ERR .MCALL RFA$,DIR$  RFA$ TN MOV (PC)+,-(SP) .BYTE 47.,3 DIR$ ,ERR .ENDM RSUM$SRQ  .MACRO RSUM$ TN .MCALL R50$,OFF$F .IF NDF $$$GLBL .BYTE 47.,3 R50$ TN .ENDC .IF NDF R.SUTN< .NLIST, OFF$, OFF$ R.SUTN,4 .LIST .ENDC .ENDM RSUM$Q / .MACRO RUN$C TN,PN,PR,UG,UP,SM,SU,RM,RU,CS,ERRI .MCALL RUN$,DIR$C .IF NDF $$$GLB .PSECT $DPB$$$$$=.T .IFTF RUN$ TN,PN,PR,UG,UP,SM,SU,RM,RU .IFT. .PSECT CS DIR$ #$$$,ERR .ENDC .ENDM RUN$CQ , .MACRO RUN$S TN,PN,PR,UG,UP,SM,SU,RM,RU,ERR .MCALL RVP$,MVB$,RFA$,DIR$R RVP$ SM,SU,RM,RU MVB$ UP,UG CLR -(SP) RFA$F RFA$ TN MOV (PC)+,-(SP) .BYTE 17.,11. DIR$ ,ERR .ENDM RUN$SQ & .MACRO RUN$ TN,PN,PR,GC,P,SM,SU,RM,RU .MCALL R50$,OFF$ .IF NDF $$$GLB$ .BYTE 17.,11. R50$ TN .WORD 0,0 .WORD 0 .BYTE P,GCF .WORD SM .WORD SUD .WORD RMT .WORD RUR .ENDC .IF NDF R.UNTNR .NLISTFA .IRP X,<,,,,,> OFF$ XR .ENDM5 .IRP X,<,,,>D OFF$ XP .ENDM .LIST .ENDC .ENDM RUN$SQ  .MACRO SDAT$C TN,BA,EFN,CS,ERR1 .MCALL SDAT$,DIR$ .IF NDF $$$GLB .PSECT $DPB$$$$$=.T .IFTF SDAT$ TN,BA,EFN .IFT .PSECT CS DIR$ #$$$,ERR .ENDC .ENDM SDAT$C Q  .MACRO SDAT$S TN,BA,EFN,ERR .MCALL MOV$,RFA$,DIR$ MOV$ EFNR MOV$ BA RFA$ TN MOV (PC)+,-]M(SP) .BYTE 71.,5 DIR$ ,ERR .ENDM SDAT$S,Q  .MACRO SDAT$ TN,BA,EFNM .MCALL R50$,OFF$2 .IF NDF $$$GLBN .BYTE 71.,5 R50$ TN .WORD BAM .WORD EFN .ENDC .IF NDF S.DATN .NLIST+ .IRP X,<,,,>D OFF$ X .ENDM .LIST .ENDC .ENDM SDAT$Q  .MACRO SETF$C EFN,CS,ERR  .MCALL SETF$,DIR$ .IF NDF $$$GLBA .PSECT $DPB$$$$$=. .IFTF SETF$ EFN .IFTR .PSECT CS DIR$ #$$$,ERR .ENDC .ENDM SETF$CAQ  .MACRO SETF$S EFN,ERR .MCALL MOV$,DIR$$ MOV$ EFN MOV (PC)+,-(SP) .BYTE 33.,2 DIR$ ,ERR .ENDM SETF$SFQ  .MACRO SETF$ EFN .MCALL OFF$ .IF NDF $$$GLB .BYTE 33.,2 .WORD EFN .ENDC .IF NDF S.ETEF. .NLISTS OFF$> OFF$ S.ETEF,2 .LIST .ENDC .ENDM SETF$Q  .MACRO SFPA$C AST,CS,ERR, .MCALL SFPA$,DIR$ .IF NDF $$$GLB$ .PSECT $DPB$$$$$=.$ .IFTF SFPA$ AST .IFT. .PSECT CS DIR$ #$$$,ERR .ENDC .ENDM SFPA$CTQ  .MACRO SFPA$S AST,ERR .MCALL MOV$,DIR$D MOV$ AST  MOV (PC)+,-(SP) .BYTE 111.,2. DIR$ ,ERR .ENDM SFPA$S$Q  .MACRO SFPA$ ASTF .MCALL OFF$ .IF NDF $$$GLBL .BYTE 111.,22 .WORD AST .ENDC .IF NDF S.FPAE. .NLISTS OFF$> OFF$ S.FPAE,2 .LIST .ENDC .ENDM SFPA$Q  .MACRO SNXC$ DEVICE,UNIT, .MCALL OFF$ .IF NDF $$$GLB$ .BYTE 127.,3. .WORD DEVICE .BYTE UNIT$ .BYTE 0 .ENDC .IF NDF S.NXDV$ .IRP X,<,,> OFF$ X .ENDM .ENDC .ENDM SNXC$Q ! .MACRO SNXC$C DEVICE,UNIT,CS,ERRE .MCALL SNXC$,DIR$ .IF NDF $$$GLB .PSECT $DPB$$$$$=.R .IFTF SNXC$ DEVICE,UNIT .IFTF .PSECT CS DIR$ #$$$,ERR .ENDC .ENDM SNXC$CNQ  .MACRO SNXC$S DEVICE,UNIT,ERR .MCALL DIR$,MOV$S MOV$ UNIT MOV$ DEVICE MOV (PC)+,-(SP) .BYTE 127.,3. DIR$ ,ERR .ENDM SNXC$SYQ  .MACRO SPEA$C AST,CS,ERRY .MCALL SPEA$,DIR$ .IF NDF $$$GLB  .PSECT $DPB$$$$$=.1 .IFTF SPEA$ AaMST .IFTC .PSECT CS DIR$ #$$$,ERR .ENDC .ENDM SPEA$CVQ  .MACRO SPEA$S AST,ERR .MCALL MOV$,DIR$C MOV$ AST$ MOV (PC)+,-(SP) .BYTE 165.,2 DIR$ ,ERR .ENDM SPEA$S$Q  .MACRO SPEA$ AST .MCALL OFF$ .IF NDF $$$GLBC .BYTE 165.,2C .WORD AST .ENDC .IF NDF S.PEAEI .NLIST( OFF$S OFF$ S.PEAE,2 .LIST .ENDC .ENDM SPEA$Q  .MACRO SPND$C PSCT,ERRR .MCALL SPND$,DIR$ .IF NDF $$$GLBL .PSECT $DPB$$$$$=.= .IFTF SPND$ .IFT .PSECT PSCT DIR$ #$$$,ERR .ENDC .ENDM SPND$CEpQ  .MACRO SPND$S ERR .MCALL DIR$ MOV (PC)+,-(SP) .BYTE 45.,1 DIR$ ,ERR .ENDM SPND$SXQ  .MACRO SPND$ .IF NDF $$$GLBA .BYTE 45.,1 .ENDC .ENDM SPND$Q  .MACRO SPRA$C AST,CS,ERRC .MCALL SPRA$,DIR$ .IF NDF $$$GLB .PSECT $DPB$$$$$=. .IFTF SPRA$ AST .IFT .PSECT CS DIR$ #$$$,ERR .ENDC .ENDM SPRA$C,Q  .MACRO SPRA$S AST,ERR .MCALL MOV$,DIR$$ MOV$ AST. MOV (PC)+,-(SP) .BYTE 109.,2C DIR$ ,ERR .ENDM SPRA$SQ  .MACRO SPRA$ ASTI .MCALL OFF$ .IF NDF $$$GLB. .BYTE 109.,2 .WORD AST .ENDC .IF NDF S.PRAEA .NLIST OFF$N OFF$ S.PRAE,2 .LIST .ENDC .ENDM SPRA$Q  .MACRO SRDA$C AST,CS,ERRC .MCALL SRDA$,DIR$ .IF NDF $$$GLB .PSECT $DPB$$$$$=. .IFTF SRDA$ AST .IFT .PSECT CS DIR$ #$$$,ERR .ENDC .ENDM SRDA$C,Q  .MACRO SRDA$S AST,ERR .MCALL MOV$,DIR$$ MOV$ AST. MOV (PC)+,-(SP) .BYTE 107.,2C DIR$ ,ERR .ENDM SRDA$SQ  .MACRO SRDA$ ASTI .MCALL OFF$ .IF NDF $$$GLB. .BYTE 107.,2 .WORD AST .ENDC .IF NDF S.RDAEA .NLIST OFF$N OFF$ S.RDAE,2 .LIST .ENDC .ENDM SRDA$Q  .MACRO SREA$C AST,CS,ERRC .MCALL SREA$,DIR$ .IF NDF $$$GLB .PSECT $DPB$$$$$=. .IFTF SREA$ AST .IFT .PSECT CS DIR$ #$$$,ERR .ENDC .ENDM SREA$C,Q  .MACRO SREA$S AST,ERR .MCALL MOV$,DIR$$ MeMOV$ AST. MOV (PC)+,-(SP) .BYTE 167.,2C DIR$ ,ERR .ENDM SREA$SQ  .MACRO SREA$ ASTI .MCALL OFF$ .IF NDF $$$GLB. .BYTE 167.,2 .WORD AST .ENDC .IF NDF S.REAEA .NLIST OFF$N OFF$ S.REAE,2 .LIST .ENDC .ENDM SREA$Q  .MACRO SREX$C AST,BUF,CS,ERR. .MCALL SREX$,DIR$ .IF NDF $$$GLB. .PSECT $DPB$$$$$=.. .IFTF SREX$ AST,BUF .IFTC .PSECT CS DIR$ #$$$,ERR .ENDC .ENDM SREX$CQ  .MACRO SREX$S AST,BUF,ERR .MCALL MOV$,DIR$. CLR -(SP) MOV$ ASTY MOV (PC)+,-(SP) .BYTE 167.,3E DIR$ ,ERR .ENDM SREX$SAQ  .MACRO SREX$ AST,BUF$ .MCALL OFF$ .IF NDF $$$GLBT .BYTE 167.,3N .WORD AST .WORD 0 .ENDC .IF NDF S.REAE. .NLISTN OFF$N OFF$ S.REAE,2 .LIST .ENDC .ENDM SREX$Q  .MACRO STAF$C AFF,CS,ERR$ .MCALL STAF$,DIR$ .IF NDF $$$GLB .PSECT $DPB$$$$$=. .IFTF STAF$ AFF .IFT .PSECT CS DIR$ #$$$,ERR .ENDC .ENDM STAF$CRQ  .MACRO STAF$S AFF,ERR .MCALL DIR$,MOV$,AFF$ AFF$- MOV$ AFFE MOV (PC)+,-(SP) .BYTE 161.,2. DIR$ ,ERR .ENDM STAF$SRQ  .MACRO STAF$ AFFN .MCALL AFF$,OFF$1 .IF NDF $$$GBLT AFF$D .BYTE 161.,2. .WORD AFF .ENDC .IF NDF S.AFAF  .NLIST OFF$ OFF$ S.AFAF,2 .LIST .ENDC .ENDM STAF$Q  .MACRO STIM$C NBUF,OBUF,CS,ERR$ .MCALL STIM$,DIR$ .IF NDF $$$GLBF .PSECT $DPB$$$$$=.. .IFTF STIM$ NBUF,OBUF .IFT .PSECT CS DIR$ #$$$,ERR .ENDC .ENDM STIM$CFfQ  .MACRO STIM$S NBUF,OBUF,ERR .MCALL MOV$,DIR$,OFF$ MOV$ OBUF MOV$ NBUF MOV (PC)+,-(SP) .BYTE 61.,3 DIR$ ,ERR .IF NDF S.TIYR  .NLIST1$$$OST=05 .IRP X,<,,,>. OFF$ XA .ENDM5 .IRP X,<,,,>S OFF$ X .ENDM .LIST .ENDC .ENDM STIM$SCQ  .MACRO STIM$ NBUF,OBUFF .MCALL OFF$ .IF NDF $$$GLBF .BYTE 61.,3 .WORD NBUF .WORD OBUFD .ENDC .IF NDF S.TIBANiM .NLISTF OFF$ OFF$ S.TIBA,2 OFF$ S.TIBO,2 .IF NDF S.TIYR $$$OST=05 .IRP X,<,,,>6 OFF$ XR .ENDM5 .IRP X,<,,,>2 OFF$ X, .ENDM .ENDC .LIST .ENDC .ENDM STIM$Q  .MACRO SVDB$C AD,LN,CS,ERRC .MCALL SVDB$,DIR$ .IF NDF $$$GLBN .PSECT $DPB$$$$$=. .IFTF SVDB$ AD,LN .IFTB .PSECT CS DIR$ #$$$,ERR .ENDC .ENDM SVDB$C.Q  .MACRO SVDB$S AD,LN,ERR .MCALL MOV$,DIR$S MOV$ LN MOV$ AD MOV (PC)+,-(SP) .BYTE 103.,3S DIR$ ,ERR .ENDM SVDB$S<Q  .MACRO SVDB$ A,LH .MCALL OFF$ .IF NDF $$$GLB .BYTE 103.,3S .WORD A .WORD L .ENDC .IF NDF S.VDTA. .NLISTN .IRP X,<,,> OFF$ X .ENDM .LIST .ENDC .ENDM SVDB$Q  .MACRO SVTK$C ADR,LEN,CS,ERRB .MCALL SVTK$,DIR$ .IF NDF $$$GLBF .PSECT $DPB$$$$$=.$ .IFTF SVTK$ ADR,LEN .IFT .PSECT CS DIR$ #$$$,ERR .ENDC .ENDM SVTK$C Q  .MACRO SVTK$S ADR,LEN,ERR .MCALL MOV$,DIR$ MOV$ LEN MOV$ ADR$ MOV (PC)+,-(SP) .BYTE 105.,3B DIR$ ,ERR .ENDM SVTK$SNQ  .MACRO SVTK$ TA,TL. .MCALL OFF$ .IF NDF $$$GLB. .BYTE 105.,3R .WORD TAT .WORD TLL .ENDC .IF NDF S.VTTA. .NLISTN .IRP X,<,,> OFF$ X  .ENDM .LIST .ENDC .ENDM SVTK$Q  .MACRO ULGF$C CS,ERR$ .MCALL ULGF$,DIR$ .IF NDF $$$GLB .PSECT $DPB$$$ $$$=.R .IFTF ULGF$ .IFT .PSECT CS DIR$ #$$$,ERR .ENDC .ENDM ULGF$CCrQ  .MACRO ULGF$S ERR .MCALL DIR$ MOV (PC)+,-(SP) .BYTE 159.,1 DIR$ ,ERR .ENDM ULGF$SZQ  .MACRO ULGF$L .IF NDF $$$GLB$ .BYTE 159.,11 .ENDC .ENDM ULGF$Q % .MACRO VRCD$C TN,BA,BL=13.,TI,CS,ERRS .MCALL VRCD$,DIR$ .IF NDF $$$GLBM .PSECT $DPB$$$$$=.M .IFTF VRCD$ TN,BA,BL,TI .IFTL .PSECT CS DIR$ #$$$,ERR .ENDC .ENDM VRCD$CQ # .MACRO VRCD$S TN,BA,BL=#13.,TmMI,ERRC .MCALL MOV$,DIR$, RFA$N MOV$ TI MOV$ BL MOV$ BA RFA$ TN MOV (PC)+,-(SP) .BYTE 75.,6.M DIR$ ,ERR .ENDM VRCD$S,"Q  .MACRO VRCD$ TN,BA,BL=13.,TI .MCALL OFF$, R50$ .IF NDF $$$GLBY .BYTE 75.,6.N R50$ TN .WORD BA .WORD BL .WORD TIR .ENDC .IF NDF R.VDTNR .NLISTL6 .IRP X,<,,,,> OFF$ XV .ENDM .LIST .ENDC .ENDM VRCD$Q % .MACRO VRCS$C TN,BA,BL=13.,TI,CS,ERR .MCALL VRCS$,DIR$ .IF NDF $$$GLB .PSECT $DPB$$$$$=.N .IFTF VRCS$ TN,BA,BL,TI .IFTA .PSECT CS DIR$ #$$$,ERR .ENDC .ENDM VRCS$CQ # .MACRO VRCS$S TN,BA,BL=#13.,TI,ERRL .MCALL MOV$,DIR$, RFA$5 MOV$ TI MOV$ BL MOV$ BA RFA$ TN MOV (PC)+,-(SP) .BYTE 139.,6. DIR$ ,ERR .ENDM VRCS$SR"Q  .MACRO VRCS$ TN,BA,BL=13.,TI, .MCALL OFF$, R50$ .IF NDF $$$GLBN .BYTE 139.,6. R50$ TN .WORD BA .WORD BL .WORD TIR .ENDC .IF NDF R.VSTNR .NLISTL6 .IRP X,<,,,,> OFF$ XV .ENDM .LIST .ENDC .ENDM VRCS$Q % .MACRO VRCX$C TN,BA,BL=13.,TI,CS,ERR .MCALL VRCX$,DIR$ .IF NDF $$$GLB .PSECT $DPB$$$$$=.5 .IFTF VRCX$ TN,BA,BL,TI .IFTA .PSECT CS DIR$ #$$$,ERR .ENDC .ENDM VRCX$CQ # .MACRO VRCX$S TN,BA,BL=#13.,TI,ERRL .MCALL MOV$,DIR$, RFA$5 MOV$ TI MOV$ BL MOV$ BA RFA$ TN MOV (PC)+,-(SP) .BYTE 77.,6.. DIR$ ,ERR .ENDM VRCX$SR"Q  .MACRO VRCX$ TN,BA,BL=13.,TI, .MCALL OFF$, R50$ .IF NDF $$$GLBN .BYTE 77.,6.N R50$ TN .WORD BA .WORD BL .WORD TIR .ENDC .IF NDF R.VXTNR .NLISTL6 .IRP X,<,,,,> OFF$ XV .ENDM .LIST .ENDC .ENDM VRCX$Q . .MACRO VSDA$C TN,BA,BL=13.,EFN,SPRI,TI,CS,ERR .MCALL VSDA$,DIR$ .IF NDF $$$GLB  .PSECT $DPB$$$$$=.  .IFTF VSDA$ TN,BA,BL,EFN,SPRI,TIV .IFT- .PSECT CS DIR$ #$$$,ERR .ENDC .ENDM VSDA$CQ , .MACRO VSDA$SqM TN,BA,BL=#13.,EFN,SPRI,TI,ERR .MCALL MOV$,RFA$,DIR$ MOV$ TI MOV$ SPRI MOV$ BL MOV$ EFNB MOV$ BA RFA$ TN MOV (PC)+,-(SP) .BYTE 71.,8.. DIR$ ,ERR .ENDM VSDA$S2xQ & .MACRO VSDA$ TN,BA,BL=13.,EFN,SPRI,TI .MCALL R50$,OFF$ .IF NDF $$$GLBA .BYTE 71.,8.A R50$ TN .WORD BAS .WORD EFN .WORD BL$ .WORD SPRI$ .WORD TIC .ENDC .IF NDF S.DATN .NLIST,+ .IRP X,<,,,>  OFF$ X .ENDM* .IRP X,<,,> OFF$ XA .ENDM .LIST .ENDC .ENDM VSDA$VQ + .MACRO VSRC$ TNAME,BUF,BUFLEN,EFN,EAST,ESBA .MCALL OFF$,R50$C .IF NDF $$$GLB7 .BYTE 141.,8. R50$ TNAMED .WORD BUF .WORD EFN .WORD BUFLENN .WORD EASTN .WORD ESB .ENDC .IF NDF V.SRTNFL .IRP X,<,,,,,,> OFF$ X. .ENDM .ENDC .ENDM VSRC$Q 3 .MACRO VSRC$C TNAME,BUF,BUFLEN,EFN,EAST,ESB,CS,ERR .MCALL VSRC$,DIR$ .IF NDF $$$GLB> .PSECT $DPB$$$$$=. .IFTF$ VSRC$ TNAME,BUF,BUFLEN,EFN,EAST,ESB .IFT .PSECT CS DIR$ #$$$,ERR .ENDC .ENDM VSRC$CCQ 0 .MACRO VSRC$S TNAME,BUF,BUFLEN,EFN,EAST,ESB,ERR .MCALL DIR$,MOV$,RFA$,MVB$F MOV$ ESBD MOV$ EAST MOV$ BUFLEN MOV$ EFNV MOV$ BUFR RFA$ TNAME, MOV (PC)+,-(SP) .BYTE 141.,72 DIR$ ,ERR .ENDM VSRC$SOQ  .MACRO WSIG$C PSCT,ERR .MCALL WSIG$,DIR$ .IF NDF $$$GLBB .PSECT $DPB$$$$$=.R .IFTF WSIG$ .IFT .PSECT PSCT DIR$ #$$$,ERR .ENDC .ENDM WSIG$CRpQ  .MACRO WSIG$S ERR .MCALL DIR$ MOV (PC)+,-(SP) .BYTE 49.,1 DIR$ ,ERR .ENDM WSIG$SXQ  .MACRO WSIG$F .IF NDF $$$GLB. .BYTE 49.,1 .ENDC .ENDM WSIG$Q  .MACRO WTLO$C SET,MASK,CS,ERR .MCALL WTLO$,DIR$ .IF NDF $$$GLB. .PSECT $DPB$$$$$=.R .IFTF WTLO$ SET, .IFT .PSECT CS DIR$ #$$$,ERR .ENDC .ENDM WTLO$CNzQ  .MACRO WTLO$S SET,MSK,ERR .MCALL MOV$,DIR$C$$$T1=1D .IF EQ SET-uM4.$$$T1=0N .IRP X, $$$T1=$$$T1+1. .ENDM .IF NE $$$T1-1 ) .ERROR SET ;UNSUPPORTED EXECUTIVE OPTION  .ENDC .ENDC .IF EQ $$$T1-1 MOV$ MSKR .IF NE SETF MOV #SET,-(SP)Y .IFF1 CLR -(SP) .ENDC MOV (PC)+,-(SP) .BYTE 43.,3 .ENDC DIR$ ,ERR .ENDM WTLO$S,.Q  .MACRO WTLO$ SET,MASK .IF NDF $$$GLBL$$$T1=1A .IF EQ SET-4.$$$T1=0 .IRP X, $$$T1=$$$T1+1W .ENDM .IF NE $$$T1-1) .ERROR SET ;UNSUPPORTED EXECUTIVE OPTIONR .ENDC .ENDC .IF EQ $$$T1-1T .BYTE 43.,3 .WORD SET .WORD MASK. .ENDC .ENDC .ENDM WTLO$Q  .MACRO WTSE$C EF,CS,ERR .MCALL WTSE$,DIR$ .IF NDF $$$GLBR .PSECT $DPB$$$$$=.E .IFTF WTSE$ EFC .IFT) .PSECT CS DIR$ #$$$,ERR .ENDC .ENDM WTSE$CDQ  .MACRO WTSE$S EF,ERR .MCALL MOV$,DIR$, MOV$ EF MOV (PC)+,-(SP) .BYTE 41.,2 DIR$ ,ERR .ENDM WTSE$SMQ  .MACRO WTSE$ EFN .MCALL OFF$ .IF NDF $$$GLBT .BYTE 41.,2 .WORD EFN .ENDC .IF NDF W.TSEF- .NLISTE OFF$ OFF$ W.TSEF,2 .LIST .ENDC .ENDM WTSE$Q  .MACRO DIR$ ADR,ERR .IF NB . MOV ADR,-(SP) .ENDC EMT ^O<377> .IIF NB , .MCALL ERR$ .IIF NB , ERR$ ERR .ENDM DIR$$*Q  .MACRO ERR$ ERR .IF NB . .NLISTE .NTYPE $$$T1,ERR  .LIST .IIF EQ ^O<$$$T1-27>, BCC .+6 .IIF EQ ^O<$$$T1-37>, BCC .+6 .IF GE ^O<$$$T1-60> BCC .+6 .IFFE .IF NE ^O<$$$T1-27> .IIF NE ^O<$$$T1-37>, BCC .+4 .ENDC .ENDC CALL ERRF .ENDC .ENDM ERR$OQ  .MACRO MVB$ LOW,HIGHN .IF B .IF B . CLR -(SP) .IFF CLRB -(SP). MOVB HIGH,1(SP) .ENDC .IFF< .IF B < CLR -(SP) MOVB LOW,(SP) .IFF  MOVB LOW,-(SP)D MOVB HIGH,1(SP) .ENDC .ENDC .ENDM MVB$NQ  .MACRO OFF$ SYMB,LEN. .IF B <'SYMB'LEN>$$$OST=2 .MEXIT. .ENDC .IF NB  .IF NDF $$$GLB$ SYMB=$$$OSTC .IFF. SYMB==$$$OST .ENDC .ENDC .IF NB -$$$OST = ^O<$$$OST+LEN>N .ENDC .ENDMyM OFF$CQ  .MACRO RFA$ ADR .IF NB H .NLISTF .NTYPE $$$T2,ADRI .LIST .IF LT $$$T2-6 MOV 2(ADR),-(SP)  MOV (ADR),-(SP) .IFF< MOV ADR,-(SP) MOV @(SP),-(SP) ADD #2,2(SP)F MOV @2(SP),2(SP)D .ENDC .IFFS CLR -(SP) CLR -(SP) .ENDC .ENDM RFA$Q * .MACRO RVP$ P0,P1,P2,P3,P4,P5,P6,P7,P8,P9 .MCALL MOV$ .NLIST .NARG $$$ARGF .LIST .IIF GT $$$ARG-9., MOV$ $ .IIF GT $$$ARG-8., MOV$ L .IIF GT $$$ARG-7, MOV$  .IIF GT $$$ARG-6, MOV$  .IIF GT $$$ARG-5, MOV$  .IIF GT $$$ARG-4, MOV$  .IIF GT $$$ARG-3, MOV$  .IIF GT $$$ARG-2, MOV$  .IIF GT $$$ARG-1, MOV$  .IIF GT $$$ARG, MOV$ .ENDM RVP$(Q  .MACRO R50$ NAMEF .NLIST- .NCHR $$$T1,NAME. .LIST .IF EQ $$$T1 .WORD 0,0 .IFFR .IF GT $$$T1-63 $$$T4=.+47 .IFTF .RAD50 /NAME/ .IFT.=$$$T4$ .ENDC .IIF LT $$$T1-4, .WORD 0O .ENDC .ENDM R50$$Q  .MACRO MOV$ ARG .IF NB . .IF DIF ,<#0>  MOV ARG,-(SP) .MEXITM .ENDC .ENDC CLR -(SP) .ENDM MOV$.Q  .MACRO AFF$CPA=1$CPB=2MCPC=4>CPD=10UBE=20UBF=40UBH=100.UBJ=200$UBK=400 UBL=1000UBM=2000UBN=4000 UBP=10000A UBR=20000M UBS=40000- UBT=100000 .ENDM AFF$Q  .MACRO GFN$GI.GAS=0GI.UIC=1GI.DEF=2GI.FMK=3GI.QMC=4GI.UAB=5GI.DEV=6 GI.SPR=7.. GI.REN=8. GI.APR=9. GI.TSK=10. .ENDMQ  .MACRO QIOSY$ $$$GBL,$$$MSG) .IIF IDN,<$$$GBL>,, .GLOBL QI.VERA .IF IDN,<$$$MSG>, $$$MAX=0R $$MSG=1 .IFFV $$MSG=0 .ENDC .MCALL IOERR$ IOERR$ $$$GBL .MCALL DRERR$ DRERR$ $$$GBL .IF DIF,<$$$MSG>,0 .MCALL FILIO$ FILIO$ $$$GBL .MCALL SPCIO$ SPCIO$ $$$GBL .MACRO QIOSY$ ARG,ARG1,ARG2 .ENDM QIOSY$ .ENDC .ENDM QIOSY$S Q  .MACRO IOERR$ $$$GBL4 .MCALL .IOER.,DEFIN$I .IF IDN,<$$$GBL>,R ...GBL=1K .IFF. ...GBL=0 .ENDC .IIF NDF,$$MSG,$$MSG=0, .IOER. IE.BAD,-01.$ .IOER. }MIE.IFC,-02.Q .IOER. IE.DNR,-03.M .IOER. IE.VER,-04.= .IOER. IE.ONP,-05. .IOER. IE.SPC,-06.C .IOER. IE.DNA,-07.$ .IOER. IE.DAA,-08. .IOER. IE.DUN,-09.D .IOER. IE.EOF,-10. .IOER. IE.EOV,-11.O .IOER. IE.WLK,-12.I .IOER. IE.DAO,-13.. .IOER. IE.SRE,-14., .IOER. IE.ABO,-15. .IOER. IE.PRI,-16.S .IOER. IE.RSU,-17.. .IOER. IE.OVR,-18. .IOER. IE.BYT,-19.I .IOER. IE.BLK,-20.D .IOER. IE.MOD,-21.. .IOER. IE.CON,-22.N .IOER. IE.BBE,-56.$ .IOER. IE.STK,-58.D .IOER. IE.FHE,-59.C .IOER. IE.EOT,-62.R .IOER. IE.OFL,-65.R .IOER. IE.BCC,-66.P+ .IOER. IE.NFW,-69. ;-+ .IOER. IE.DIS,-69. ;91 .IOER. IE.NDR,-72. ;O .IOER. IE.TMO,-95.O .IOER. IE.CNR,-96.O .IOER. IE.NOD,-23.O .IOER. IE.DFU,-24.O .IOER. IE.IFU,-25.O .IOER. IE.NSF,-26.O .IOER. IE.LCK,-27.O .IOER. IE.HFU,-28.O .IOER. IE.WAC,-29.O .IOER. IE.CKS,-30.O .IOER. IE.WAT,-31.O .IOER. IE.RER,-32.O .IOER. IE.WER,-33.O .IOER. IE.ALN,-34.O .IOER. IE.SNC,-35.O .IOER. IE.SQC,-36.O .IOER. IE.NLN,-37.O .IOER. IE.CLO,-38.h .IOER. IE.DUP,-57.. .IOER. IE.BVR,-63.a .IOER. IE.BHD,-64. .IOER. IE.EXP,-75.< .IOER. IE.BTF,-76.l .IOER. IE.ALC,-84.O .IOER. IE.ULK,-85.R .IOER. IE.WCK,-86.D .IOER. IE.DSQ,-90.U .IOER. IE.NBF,-39.U .IOER. IE.RBG,-40.F .IOER. IE.NBK,-41.K .IOER. IE.ILL,-42.U .IOER. IE.BTP,-43.C .IOER. IE.RAC,-44.S .IOER. IE.RAT,-45.T .IOER. IE.RCN,-46.R .IOER. IE.2DV,-48.R .IOER. IE.FEX,-49.N .IOER. IE.BDR,-50.C .IOER. IE.RNM,-51.C .IOER. IE.BDI,-52.N .IOER. IE.FOP,-53.O .IOER. IE.BNM,-54.P .IOER. IE.BDV,-55.R .IOER. IE.NFI,-60.D .IOER. IE.ISQ,-61.P .IOER. IE.NNC,-77.F .IOER. IE.NNN,-68.C .IOER. IE.BLB,-70.K .IOER. IE.URJ,-73.K .IOER. IE.NRJ,-74.Q .IOER. IE.NDA,-78.F .IOER. IE.IQU,-91.G .IOER. IE.RES,-92.K .IOER. IE.TML,-93.L .IOER. IE.NNT,-94.P .IOER. IE.UKN,-97.C .IOER. IE.NLK,-79.T .IOER. IE.NST,-80.N .IOER. IE.FLN,-81.V .IOER. IE.IES,-82.XM .IOER. IE.PES,-83.R .IOER. IE.ICE,-47.M .IOER. IE.ONL,-67.I .IOER. IE.SZE,-98.P .IOER. IE.NTR,-87.M .IOER. IE.REJ,-88.V .IOER. IE.FLG,-89.I DEFIN$ IS.PND,+00.Q DEFIN$ IS.SUC,+01.C DEFIN$ IS.RDD,+02.N DEFIN$ IS.TNC,+02.B DEFIN$ IS.BV,+05. DEFIN$ IS.DAO,+02.N DEFIN$ IS.CR,<15*400+1> DEFIN$ IS.ESC,<33*400+1> DEFIN$ IS.CC,<3*400+1>O DEFIN$ IS.ESQ,<233*400+1> DEFIN$ IS.PES,<200*400+1> DEFIN$ IS.EOT,<4*400+1> DEFIN$ IS.TAB,<11*400+1>O DEFIN$ IS.TMO,+2. .IF EQ,$$MSG2 .MACRO IOERR$ A .ENDM IOERR$  .ENDC .ENDM IOERR$EBQ  .MACRO DRERR$ $$$GBL  .MCALL .QIOE.,DEFIN$E .IF IDN,<$$$GBL>,- ...GBL=1N .IFFD ...GBL=0F .ENDC .IIF NDF,$$MSG,$$MSG=0+3 .QIOE. IE.UPN,-01. ;N .QIOE. IE.INS,-02.N .QIOE. IE.PTS,-03.D .QIOE. IE.UNS,-04.1 .QIOE. IE.ULN,-05.4 .QIOE. IE.HWR,-06.Q .QIOE. IE.ACT,-07.  .QIOE. IE.ITS,-08.D .QIOE. IE.FIX,-09.> .QIOE. IE.CKP,-10.4 .QIOE. IE.TCH,-11.O .QIOE. IE.RBS,-15. .QIOE. IE.PRI,-16.N .QIOE. IE.RSU,-17.. .QIOE. IE.NSW,-18. .QIOE. IE.ILV,-19.R .QIOE. IE.AST,-80.Q .QIOE. IE.MAP,-81.N .QIOE. IE.IOP,-83.. .QIOE. IE.ALG,-84.. .QIOE. IE.WOV,-85.  .QIOE. IE.NVR,-86.. .QIOE. IE.NVW,-87.n .QIOE. IE.ITP,-88.o .QIOE. IE.IBS,-89.S .QIOE. IE.LNL,-90.S .QIOE. IE.IUI,-91.S .QIOE. IE.IDU,-92.N .QIOE. IE.ITI,-93.R .QIOE. IE.PNS,-94.T .QIOE. IE.IPR,-95.S .QIOE. IE.ILU,-96.X .QIOE. IE.IEF,-97.P .QIOE. IE.ADP,-98.H .QIOE. IE.SDP,-99.S DEFIN$ IS.CLR,0 DEFIN$ IS.SET,2 DEFIN$ IS.SPD,2 .IF EQ,$$MSG8 .MACRO DRERR$ A .ENDM DRERR$  .ENDC .ENDM DRERR$EQ  .MACRO FILIO$ $$$GBL  .MCALL .WORD.,DEFIN$E .IF IDN,<$$$GBL>,- ...GBL=1E .IFFW ...GBL=0I .ENDC .WORD. IQ.X,001,000 .WORD. IQ.Q,002,000 .WORD. IQ.S,004,000 .WORD. IQ.UMD,004,000 .WORD. IQ.LCK,200,000 .WORD. IO.KIL,012,000 .WORD. IO.RDN,022,000 .WORD. IO.UNL,042,000 .WORD. IO.LTK,050,000 .WORD. IO.RTK,060,000 .WORD. IO.SET,030,0M00 .WORD. IO.WLB,000,001 .WORD. IO.RLB,000,002 .WORD. IO.LOV,010,002 .WORD. IO.LDO,110,002 .WORD. IO.ATT,000,003 .WORD. IO.DET,000,004 .WORD. IO.FNA,000,011 .WORD. IO.RNA,000,013 .WORD. IO.ENA,000,014 .WORD. IO.CLN,000,007 .WORD. IO.ULK,000,012 .WORD. IO.ACR,000,015 .WORD. IO.ACW,000,016 .WORD. IO.ACE,000,017 .WORD. IO.DAC,000,020 .WORD. IO.RVB,000,021 .WORD. IO.WVB,000,022 .WORD. IO.EXT,000,023 .WORD. IO.CRE,000,024 .WORD. IO.DEL,000,025 .WORD. IO.RAT,000,026 .WORD. IO.WAT,000,027 .WORD. IO.APV,010,030 .WORD. IO.APC,000,030 .MACRO FILIO$ A .ENDM FILIO$ .ENDM FILIO$0x Q  .MACRO SPCIO$ $$$GBLO .MCALL .WORD.,DEFIN$O .IF IDN,<$$$GBL>,A ...GBL=1. .IFFO ...GBL=07 .ENDC .WORD. IO.WLV,100,001 .WORD. IO.WLS,010,001 .WORD. IO.WNS,020,001 .WORD. IO.WAL,010,001 .WORD. IO.WMS,020,001 .WORD. IO.CCO,040,001 .WORD. IO.WBT,100,001 .WORD. IO.WLT,010,001 .WORD. IO.WLC,020,001 .WORD. IO.WPB,040,001 .WORD. IO.WDD,140,001 .WORD. IO.RSN,140,002 .WORD. IO.RLV,100,002 .WORD. IO.RST,001,002 .WORD. IO.RAL,010,002 .WORD. IO.RNE,020,002 .WORD. IO.RNC,040,002 .WORD. IO.RTM,200,002 .WORD. IO.RDB,200,002 .WORD. IO.SCF,200,002 .WORD. IO.RHD,010,002 .WORD. IO.RNS,020,002 .WORD. IO.CRC,040,002 .WORD. IO.RPB,040,002 .WORD. IO.RLC,020,002 .WORD. IO.ATA,010,003 .WORD. IO.GTS,000,005 .WORD. IO.R1C,000,005 .WORD. IO.INL,000,005 .WORD. IO.TRM,010,005 .WORD. IO.RWD,000,005 .WORD. IO.SPB,020,005 .WORD. IO.RPL,020,005 .WORD. IO.SPF,040,005 .WORD. IO.STC,100,005 .WORD. IO.SMD,110,005 .WORD. IO.SEC,120,005 .WORD. IO.RWU,140,005 .WORD. IO.SMO,160,005 .WORD. IO.HNG,000,006 .WORD. IO.RBC,000,006 .WORD. IO.MOD,000,006 .WORD. IO.HDX,010,006 .WORD. IO.FDX,020,006 .WORD. IO.SYN,040,006 .WORD. IO.EOF,000,006 .WORD. IO.ERS,020,006 .WORD. IO.DSE,040,006 .WORD. IO.RTC,000,007 .WORD. IO.SAO,000,010 .WORD. IO.SSO,000,011 .WORD. IO.RPR,000,011 .WORD. IO.MSO,000,012 .WORD. IO.RMTT,001,012 .WORD. IO.SLO,000,013 .WORD. IO.MLO,000,014 .WORD. IO.LED,000,024 .WORD. IO.SDO,000,025 .WORD. IO.SDI,000,026 .WORD. IO.SCS,000,026 .WORD. IO.REL,000,027 .WORD. IO.MCS,000,027 .WORD. IO.ADS,000,030 .WORD. IO.CCI,000,030 .WORD. IO.LOD,000,030 .WORD. IO.MDI,000,031 .WORD. IO.DCI,000,031 .WORD. IO.PAD,000,031 .WORD. HT.RPP,010,000 .WORD. IO.XMT,000,031 .WORD. IO.XNA,010,031 .WORD. IO.INI,000,031 .WORD. IO.HIS,000,032 .WORD. IO.RCI,000,032 .WORD. IO.RCV,000,032 .WORD. IO.CLK,000,032 .WORD. IO.CSR,000,032 .WORD. IO.MDO,000,033 .WORD. IO.CTI,000,033 .WORD. IO.CON,000,033 .WORD. IO.STA,000,033 .WORD. IO.DTI,000,034 .WORD. IO.DIS,000,034 .WORD. IO.MDA,000,034 .WORD. IO.DPT,010,034 .WORD. IO.RTI,000,035 .WORD. IO.CTL,000,035 .WORD. IO.STP,000,035 .WORD. IO.SWI,000,035 .WORD. IO.CNT,000,036 .WORD. IO.ITI,000,036 .WORD. IO.CPR,010,033 .WORD. IO.CAS,020,033 .WORD. IO.CRJ,040,033 .WORD. IO.CBO,110,033 .WORD. IO.CTR,210,033 .WORD. IO.GNI,010,035 .WORD. IO.GLI,020,035 .WORD. IO.GLC,030,035 .WORD. IO.GRI,040,035 .WORD. IO.GRC,050,035 .WORD. IO.GRN,060,035 .WORD. IO.CSM,070,035 .WORD. IO.CIN,100,035 .WORD. IO.SPW,110,035 .WORD. IO.CPW,120,035 .WORD. IO.NLB,130,035 .WORD. IO.DLB,140,035 .WORD. IO.CTY,000,007 .WORD. IO.DTY,000,015 .WORD. IO.LDI,000,016 .WORD. IO.UDI,010,023 .WORD. IO.LTI,000,017 .WORD. IO.UTI,020,023 .WORD. IO.LTY,000,020 .WORD. IO.UTY,030,023 .WORD. IO.LKE,000,024 .WORD. IO.UER,040,023 .WORD. IO.NLK,000,023 .WORD. IO.ONL,000,037 .WORD. IO.FLN,000,025 .WORD. IO.RAD,000,021 .WORD. IO.MAO,010,007 .WORD. IO.LEI,010,017 .WORD. IO.RDD,010,020 .WORD. IO.RMT,020,020 .WORD. IO.LSI,000,022 .WORD. IO.UEI,050,023 .WORD. IO.USI,060,023 .WORD. IO.CSI,000,026 .WORD. IO.DSI,000,027 .WORD. IO.ATX,000,001 .WORD. IO.ATF,000,002 .WORD. IO.CRX,000,031 .WORD. IO.DRX,000,032 .WORD. IO.RTF,000,033 .MACRO SPCIO$ A .ENDM SPCIO$ .ENDM SPCIO$0\Q M .MACRO UMDIO$ $$$GBLO .MCALL .WORD.,DEFIN$O .IF IDN <$$$GBL>,N...GBL=1 .IFF ...GBL=0 .ENDC .WORD. IQ.UMD,004,000 .WORD. IO.HMS,000,010 .WORD. IO.BLS,010,010 .WORD. IO.OFF,020,010 .WORD. IO.RDH,030,010 .WORD. IO.WDH,040,010 .WORD. IO.WCK,050,010 .WORD. IO.RNF,060,010 .WORD. IO.RNR,070,010 .WORD. IO.LPC,100,010 .WORD. IO.RTD,120,010 .WORD. IO.WTD,130,010 .WORD. IO.TDD,140,010 .WORD. IO.DGN,150,010 .WORD. IO.WPD,160,010 .WORD. IO.RPD,170,010 .WORD. IO.CER,200,010 .WORD. IO.CEW,210,010 .MACRO UMDIO$ A .ENDM .ENDM UMDIO$GQ  .MACRO .IOER. SYM,LO,MSGD DEFIN$ SYM,LO .IF GT,$$MSGS .MCALL .IOMG. .IOMG. SYM,LO, .ENDC .ENDM .IOER.OQ  .MACRO .QIOE. SYM,LO,MSG. DEFIN$ SYM,LO .IF GT,$$MSGO .MCALL .IOMG. .IOMG. SYM,,  .ENDC .ENDM .QIOE. Q  .MACRO .IOMG. SYM,LO,MSGD .WORD -^O .ENABL LC .ASCIZ ^MSG^. .DSABL LC .EVEN' .IIF LT,^O<$$$MAX+>,$$$MAX=-^O2 .ENDM .IOMG. VQ  .MACRO .WORD. SYM,LO,HI DEFIN$ SYM, .ENDM .WORD.IQ  .MACRO SNPDF$ GBL .IF IDN ,7 .GLOBL SB.CTL,SB.DEV,SB.UNT,SB.EFN,SB.ID,SB.LM1,SB.PMD1 .GLOBL SC.HDR,SC.LUN,SC.OVL,SC.STK,SC.WRD,SC.BYTO .ENDC$ SB.CTL = 0 SB.DEV = 2 SB.UNT = 4#SB.DSW = 5 ;DIRECTIVE STATUS WORD SB.EFN = 6SB.ID = ^O<10>ISB.LM1 = ^O<12>SB.PMD = ^O<32>. SC.HDR = 1 SC.LUN = 2 SC.OVL = 4SC.STK = ^O<10>TSC.WRD = ^O<20>$SC.BYT = ^O<40>. .MACRO SNPDF$ X .ENDM .ENDM SNPDF$WQ : .MACRO SNPBK$ DEV,UNIT,CTL,EFN,ID,L1,H1,L2,H2,L3,H3,L4,H4 .IF DF ..SPBK .IIF NE <..SPBK-.>, .MEXITL .ENDC .MCALL SNPDF$ SNPDF$B..SPBK::.WORD CTL .ASCII /DEV/S .IF NE .-<..SPBK+SB.DEV+2>.% .ERROR ;INVALID DEVICE NAME ''DEV''2 .MEXIT= .ENDC: .BYTE UNIT,0 ;DEVICE UNIT NUMBER & DIRECTIVE STATUS WORD .WORD EFN ;EVENT FLAG NUMBER .WORD IDH .WORD L1,H1 .WORD L2,H2 .WORD L3,H3 .WORD L4,H4 .RAD50 /PMD.../ .ENMDM SNPBK$AQ < .MACRO SNAP$ CTL,EFN,ID,L1,H1,L2,H2,L3,H3,L4,H4,?LBL1,?LBL2* .MCALL SNPDF$,WTSE$S,SDAT$S,RQST$S,CLEF$S SNPDF$.% .IIF NB , MOV CTL,..SPBK+SB.CTLC% .IIF NB , MOV EFN,..SPBK+SB.EFN" .IIF NB , MOV ID,..SPBK+SB.IDC MOVB @#$DSW,..SPBK+SB.DSW ;MOVE REQUESTING TASK'S DSW TO SNAP BLOC...SNP = SB.LM1E! .IRP X, .IF NB E MOV X,..SPBK+...SNP .ENDC...SNP = ...SNP+2 .ENDM CLEF$S ..SPBK+SB.EFNO BCS LBL2. SDAT$S #..SPBK+SB.PMD,#..SPBK BCS LBL2 RQST$S #..SPBK+SB.PMD BCC LBL11 CMP #IE.ACT,@#$DSWB BEQ LBL1. SEC BR LBL2LBL1: WTSE$S ..SPBK+SB.EFNLBL2: .ENDM SNAP$Q  .MACRO ISTAT$ STTBL,KEYTBL,DEBUG .MCALL MTRAN$ .IF DF $RONLY .PSECT $STATE,D,ROV .IFFW .PSECT $STATE,D .ENDCSTTBL::K .IF DF $RONLY .PSECT $KTAB,D,RO .IFFR .PSECT $KTAB,DL .ENDCKEYTBL:: .IF DF $RONLY .PSECT $KSTR,D,RO .IFFS .PSECT $KSTR,D. .ENDC .IF IDN ,<$DEBUG>L .MACRO DBGTP$ .LIST .=. .NLISTL .ENDM .IFFS .MACRO DBGTP$ .ENDM .ENDC $$$KEY = -1 $$$FLG = -1 $EXIT = 0 $LAMDA = 300. $NUMBR = 302B $STRNG = 304A $BLANK = 306 $SUBXP = 310T $EOS = 312L $DNUMB = 314 $RAD50 = 316 $ANY = 320 $ALPHA = 322. $DIGIT = 324S .PSECT. .ENDM ISTAT$Q .MACRO STATE$ LABEL. .PSECT $STATE $$$FLG = $$$FLG!200 MTRAN$D .IF NB LABELCLABEL: .ENDC $$$FLG = -1 .PSECT .ENDM STATE$Q (.MACRO TRAN$ TYPE,LABEL,ACTION,MASK,ADDR .PSECT $STATE MTRAN$. DBGTP$T .IF NB ACTION $$$FLG = $$$FLG!2 .MACRO $$$ACT .WORD ACTION .ENDM $$$ACT  .ENDC .IF NB MASK $$$FLG = $$$FLG!30U .IF B ADDR$" .ERROR "MASK ADDRESS NOT PRESENT" .ENDC .MACRO $$$BIT .WORD MASK,ADDR .ENDM $$$BIT .ENDC .IF NB LABEL $$$FLG = $$$FLG!4 $$$STA = LABEL. .ENDC .IRPC $$$$$X, .IF IDN <$$$$$X>,<">F .PSECT $KSTRE $$$TMP = .$ .ASCII TYPE<377> .PSECT $KTAB .WORD $$$TMP .MACRO $$$TYP .BYTE $M$$KEY!200S .ENDM $$$TYP  $$$KEY = $$$KEY+1 .IF GT $$$KEY-63. .ERROR "TOO MANY KEYWORDS"R .ENDC .MEXITA .ENDC .IF IDN <$$$$$X>, $$$FLG = $$$FLG!1 .MACRO $$$EXT .WORD 0'TYPE. .ENDM $$$EXTR .MACRO $$$TYP .BYTE $SUBXPR .ENDM $$$TYPD .MEXITR .ENDC .MACRO $$$TYP .BYTE TYPEE .ENDM $$$TYP$ .MEXIT$ .ENDM .PSECT. .ENDM TRAN$$xQ  .MACRO MTRAN$" .PSECT $STATE .IF EQ $$$FLG+1 $$$FLG = 03 .MEXITS .ENDC $$$TYPD .BYTE $$$FLGR .IF NE $$$FLG&1 $$$EXTS .ENDC .IF NE $$$FLG&2 $$$ACT1 .ENDC .IF NE $$$FLG&10O $$$BITN .ENDC .IF NE $$$FLG&4 .WORD $$$STA. .IFF< .IF EQ $$$FLG&200 .ERROR "BAD DEFAULT TRANSITION" .ENDC .ENDC $$$FLG = 0. .ENDM MTRAN$Q  .MACRO TTSYM$ $$$GBL .MCALL DEFIN$ ...GBL=0Y .IF IDN,<$$$GBL>,. ...GBL=1N .ENDC DEFIN$ TC.WID,1. DEFIN$ TC.LPP,2.M DEFIN$ TC.RSP,3.C DEFIN$ TC.XSP,4.$ DEFIN$ TC.STB,5.3 DEFIN$ TC.ISL,6. DEFIN$ TC.RAT,7.$ DEFIN$ TC.TTP,8.G DEFIN$ TC.SCR,9.C DEFIN$ TC.SCP,10. DEFIN$ TC.HFL,11. DEFIN$ TC.VFL,12. DEFIN$ TC.NL ,13. DEFIN$ TC.SFF,14. DEFIN$ TC.HFF,15. DEFIN$ TC.LVF,16. DEFIN$ TC.HHT,17. DEFIN$ TC.NST,18. DEFIN$ TC.BSP,19. DEFIN$ TC.ACR,20. DEFIN$ TC.SMR,21. DEFIN$ TC.SMP,22. DEFIN$ TC.SMO,23. DEFIN$ TC.CCF,24. DEFIN$ TC.ALT,25. DEFIN$ TC.IMG,26. DEFIN$ TC.NKB,27. DEFIN$ TC.NPR,28. DEFIN$ TC.ESQ,29. DEFIN$ TC.LCP,30. DEFIN$ TC.PAR,31. DEFIN$ TC.EPA,32. DEFIN$ TC.DLU,33. DEFIN$ TC.BLK,34. DEFIN$ TC.FRM,35. DEFIN$ TC.HLD,36. DEFIN$ TC.TAP,37. DEFIN$ TC.CEQ,38. DEFIN$ TC.NEC,39. DEFIN$ TC.SLV,40. DEFIN$ TC.PRI,41. DEFIN$ TC.UC0,42. DEFIN$ TC.UC1,43. DEFIN$ TC.UC2,44. DEFIN$ TC.UC3,45. DEFIN$ TC.UC4,46. DEFIN$ TC.UC5,47. DEFIN$ TC.UC6,48. DEFIN$ TC.UC7,49. DEFIN$ TC.UC8,50. DEFIN$ TC.UC9,51. DEFIN$ TC.FDX,52. DEFIN$ TC.BIN,53. DEFIN$ TC.REM,54. DEFIN$ TC.8BC,55. DEFIN$ TC.P8B,56. DEFIN$ TC.TBF,57. DEFIN$ TC.CTS,58. DEFIN$ TC.ANS,59. DEFMIN$ TC.CSQ,60. DEFIN$ TC.CTC,61. DEFIN$ TC.ASP,62. DEFIN$ TC.ABD,63. DEFIN$ TC.TBS,64. DEFIN$ TC.TBM,65. DEFIN$ TC.NBR,66. DEFIN$ TC.ACD,67. DEFIN$ TC.MAX,68. DEFIN$ SE.ICN,1.N DEFIN$ SE.FIX,2.N DEFIN$ SE.BIN,3.N DEFIN$ SE.VAL,4.N DEFIN$ SE.TER,5.N DEFIN$ SE.SPD,6.N DEFIN$ SE.SPL,7.N DEFIN$ SE.PAR,8.N DEFIN$ SE.LPR,9.N DEFIN$ SE.NSC,10. DEFIN$ SE.UPN,11. DEFIN$ SE.NIH,12. DEFIN$ SF.SSC, 2400!020 DEFIN$ SF.SMC, 2400!040 DEFIN$ SF.RDF, 2400!060 DEFIN$ SF.STT, 2400!100 DEFIN$ SF.STS, 2400!120 DEFIN$ SF.GSC, 2400!140 DEFIN$ SF.GMC, 2400!160 DEFIN$ SF.GAC, 2400!200 DEFIN$ SF.SAC, 2400!220 DEFIN$ SF.DEF, 010D DEFIN$ S.0 ,1.D DEFIN$ S.50 ,2.D DEFIN$ S.75 ,3.D DEFIN$ S.100 ,4.D DEFIN$ S.110 ,5.D DEFIN$ S.134 ,6.D DEFIN$ S.150 ,7.D DEFIN$ S.200 ,8.D DEFIN$ S.300 ,9.D DEFIN$ S.600 ,10. DEFIN$ S.1200,11. DEFIN$ S.1800,12. DEFIN$ S.2000,13. DEFIN$ S.2400,14. DEFIN$ S.3600,15. DEFIN$ S.4800,16. DEFIN$ S.7200,17. DEFIN$ S.9600,18. DEFIN$ S.EXTA,19. DEFIN$ S.EXTB,20. DEFIN$ T.UNK0,0.N DEFIN$ T.AS33,1. DEFIN$ T.KS33,2.0 DEFIN$ T.AS35,3.C DEFIN$ T.L30S,4.  DEFIN$ T.L30P,5.N DEFIN$ T.LA36,6.N DEFIN$ T.VT05,7.N DEFIN$ T.VT50,8.N DEFIN$ T.VT52,9.N DEFIN$ T.VT55,10. DEFIN$ T.VT61,11. DEFIN$ T.L180,12. DEFIN$ T.V100,13. DEFIN$ T.L120,14. DEFIN$ T.SCR0,15. DEFIN$ T.LA12,16. DEFIN$ T.L100,17. DEFIN$ T.LA34,18. DEFIN$ T.LA38,19. DEFIN$ T.V101,20. DEFIN$ T.V102,21. DEFIN$ T.V105,22. DEFIN$ T.V125,23. DEFIN$ T.V131,24. DEFIN$ T.V132,25. DEFIN$ T.USR0,27. DEFIN$ T.USR1,T.USR0+1S DEFIN$ T.USR2,T.USR1+1C DEFIN$ T.USR3,T.USR2+1F DEFIN$ T.USR4,T.USR3+1. DEFIN$ F1.ACR,0000015 DEFIN$ F1.BTW,000002N DEFIN$ F1.BUF,000004D DEFIN$ F1.UIA,000010N DEFIN$ F1.CCO,000020. DEFIN$ F1.ESQ,0000400 DEFIN$ F1.HLD,000100. DEFIN$ F1.LWC,000200D DEFIN$ F1.RNE,000400N DEFIN$ F1.RPR,001000. DEFIN$ F1.RST,0020008 DEFIN$ F1.RUB,004000. DEFIN$ F1.SYN,010000D DEFIN$ F1.TRW,02000M0N DEFIN$ F1.UTB,040000. DEFIN$ F1.VBF,1000002 DEFIN$ F2.SCH,000001. DEFIN$ F2.GCH,000002+ DEFIN$ F2.DCH,000004R DEFIN$ F2.DKL,000010U DEFIN$ F2.ALT,000020T DEFIN$ F2.SFF,000040R DEFIN$ F2.CUP,000100W DEFIN$ F2.FDX,000200F DEFIN$ TF.RST,001 DEFIN$ TF.BIN,002 DEFIN$ TF.RAL,010 DEFIN$ TF.RNE,020 DEFIN$ TF.RNC,040 DEFIN$ TF.XOF,100 DEFIN$ TF.TMO,200 DEFIN$ TF.RCU,001 DEFIN$ TF.WAL,010 DEFIN$ TF.WMS,020 DEFIN$ TF.CCO,040 DEFIN$ TF.WBT,100 DEFIN$ TF.SYN,200 DEFIN$ TF.XCC,001 DEFIN$ TF.NOT,002 DEFIN$ TF.AST,010 DEFIN$ TF.ESQ,020 DEFIN$ TF.UCH,040 .MACRO TTSYM$ NULLD .ENDM .ENDM TTSYM$DQ  .MACRO FHDOF$ GLOBALN .MCALL FHDO1$ ...GBL=02 .IF B,GLOBALD FHDO1$ DEF$L0 .IFFD .IF IDN,,F ...GBL=1D .ENDC FHDO1$ GLOBAL .ENDC .IF DIF,,D .MACRO FHDOF$ ARG1F .ENDM FHDOF$ .ENDC .ENDM FHDOF$FQ  .MACRO FHDO1$ OFFSETN .MCALL DEF$I,OFFSET,DEFIN$1 DEF$I 0 OFFSET H.IDOF,1 OFFSET H.MPOF,1 OFFSET H.FNUM,2 OFFSET H.FSEQ,2 OFFSET H.FLEV,2 OFFSET H.FOWN OFFSET H.PROG,1 OFFSET H.PROJ,1 OFFSET H.FPRO,2 DEFIN$ FP.RDV,1 DEFIN$ FP.WRV,2 DEFIN$ FP.EXT,4 DEFIN$ FP.DEL,10F OFFSET H.FCHA OFFSET H.UCHA,1 DEFIN$ UC.CON,200 DEFIN$ UC.DLK,100 DEFIN$ UC.CNB,40L DEFIN$ UC.WCK,20D DEFIN$ UC.RCK,10D DEFIN$ UC.WBC,4 DEFIN$ UC.NIB,2 OFFSET H.SCHA,1 DEFIN$ SC.MDL,200 DEFIN$ SC.BAD,100 DEFIN$ SC.DIR,40  DEFIN$ SC.SPL,201 OFFSET H.UFAT,32. OFFSET S.HDHD DEF$I 0 OFFSET I.FNAM,6 OFFSET I.FTYP,2 OFFSET I.FVER,2 OFFSET I.RVNO,2 OFFSET I.RVDT,7 OFFSET I.RVTI,6 OFFSET I.CRDT,7 OFFSET I.CRTI,6 OFFSET I.EXDT,7 OFFSET ,1 OFFSET S.IDHD DEFIN$ I.DASZ,7 DEFIN$ I.TISZ,6 DEF$I 0 OFFSET M.ESQN,1 OFFSET M.ERVN,1 OFFSET M.EFNU,2 OFFSET M.EFSQ,2 OFFSET M.CTSZ,1 OFFSET M.LBSZ,1 OFFSET M.USE,1C OFFSET M.MAX,1. OFFSET M.RTRV OFFSET S.MPHD DEFIN$ H.CKSM,510.N .IF DIF,,L .MACRO FHDO1$ ARG13 .ENDM FHDO1M$D .ENDC .ENDM FHDO1$.Q  .MACRO HMBOF$ GLOBAL2 .MCALL HMBO1$ ...GBL=0 .IF B,GLOBALE HMBO1$ DEF$LF .IFFR .IF IDN,,F ...GBL=17 .ENDC HMBO1$ GLOBAL .ENDC .IF DIF,,I .MACRO HMBOF$ ARG1E .ENDM HMBOF$F .ENDC .ENDM HMBOF$.Q  .MACRO HMBO1$ OFFSET1 .MCALL DEF$I,OFFSET,DEFIN$. DEF$I 0 OFFSET H.IBSZ,2 OFFSET H.IBLB,4 OFFSET H.FMAX,2 OFFSET H.SBCL,2 OFFSET H.DVTY,2 OFFSET H.VLEV,2 OFFSET H.VNAM,12. OFFSET ,4 OFFSET H.VOWN,2 OFFSET H.VPRO,2 OFFSET H.VCHA,2 DEFIN$ CH.SDI,400 OFFSET H.DFPR,2 OFFSET ,6 OFFSET H.WISZ,1 OFFSET H.FIEX,1 OFFSET H.LRUC,1 OFFSET H.REVD,7 OFFSET H.REVC,2 OFFSET ,2 OFFSET H.CHK1,2 OFFSET H.VDAT,14. OFFSET ,382.H OFFSET H.PKSR,4 OFFSET ,12. OFFSET H.INDN,12. OFFSET H.INDO,12. OFFSET H.INDF,12. OFFSET ,2 OFFSET H.CHK2,2 .IF DIF,, .MACRO HMBO1$ ARG1F .ENDM HMBO1$O .ENDC .ENDM HMBO1$ Q  .MACRO CSI$1 CSBLK,BUFF,LEN .GLOBL .CSI1F .MCALL CSI$,LDR0$ .IF NDF C.SIZEN CSI$I .ENDC LDR0$ CSBLK .IF NB  MOV BUFF,C.CMLD+2(R0) .ENDC .IF NB C MOV LEN,C.CMLD(R0) .ENDC JSR PC,.CSI1E .ENDMQ  .MACRO CSI$2 CSBLK,IO,SWTAB .GLOBL .CSI2K .MCALL CSI$,LDR0$ .IF NDF C.SIZE. CSI$E .ENDC LDR0$ CSBLK .IF NB  .IF IDN ,2 MOVB #CS.INP,(R0) .IFFN .IF IDN , MOVB #CS.OUT,(R0) .IFF.# .ERROR ;INCORRECT REQUEST TO .CSI2R .ENDC .ENDC .ENDC .IF NB . MOV SWTAB,C.SWAD(R0)N .ENDC JSR PC,.CSI2N .ENDMVQ , .MACRO CSI$SW SW,MK,MKW,CLR,NEGS,VALTAB,LNG .IF B,SWM .ERROR ;MISSING SWITCH NAME .IFFC .EVEN .NCHR SIZ$$,SW .IF GT,SIZ$$-2$ .IF B,LNG SIZ$$=2 .ENDC .ENDC CNT$$=0 .IRPC CHR$$$,SW CHR$$=''CHR$$$N CNT$$=CNT$$+1 .IF GE,>N .IF LE,>R CHR$$=CHR$$-^O40N .ENDC .ENDC .IF LE,CNT$$-SIZ$$. $$=0. .IF NB,LNGE .IF IDN,,M .IF GT,CNT$$&1N .IF GE,CNT$$+1-SIZ$$M $$=^O200S .ENDC .IFFC .IF LT,CNT$$-SIZ$$N $$=^O200 .ENDC .ENDC .IFFW .IF IDN,,T .IF EQ,CNT$$&1M .IF LT,CNT$$-SIZ$$I $$=^O200. .ENDC .ENDC .IFFZ- .ERROR ;ILLEGAL "LONG" OR "EXACT" SPECIFIER .ENDC .ENDC .ENDC .BYTE CHR$$!$$W .ENDC .ENDM .EVEN .ENDC .IF NB MK .WORD MK^ .IFF .WORD 0 .ENDC$$=0 .IF NB CLRR .IF IDN ,$$=1 .IFF$ .IF IDN , .IFFE .ERROR ;INVALID SET/CLEAR SPEC, .ENDC .ENDC .ENDC .WORD MKW+$$O$$=0 .IF NB NEGS .IF IDN ,$$=1 .IFF. .ERROR ;INVALID NEGATE SPEC .ENDC .ENDC .WORD VALTAB+$$ .ENDM4Q  .MACRO CSI$ND .WORD 0 .ENDM$Q # .MACRO CSI$SV TYPE,ADDR,LEN,VALTAB. .IF NB VALTABVALTAB:$ .ENDC .IF NB TYPE .IF IDN ,K .BYTE 1 .IFFF .IF IDN , .BYTE 2 .IFFF .IF IDN , .BYTE 2 .IFF< .IF IDN ,  .BYTE 3 .IFFR .ERROR ;INVALID CONVERSION TYPE .ENDC .ENDC .ENDC .ENDC .IFFI .BYTE 1 .ENDC .IF NB LEN .BYTE LEN .IFFG .ERROR ;LENGTH MISSING .BYTE 0 .ENDC .IF NB ADDR .WORD ADDR. .IFFS .ERROR ;VALUE ADDRESS MISSING .WORD 0 .ENDC .ENDM|Q  .MACRO LDR0$ ARG .IIF B,ARG,.MEXIT .NTYPE PAR$$$,ARG .IIF EQ,PAR$$$,.MEXIT MOV ARG,R0. .ENDMQ  .MACRO CSI$ GBL .IF IDN ,E.GLOBL C.TYPR,C.STAT,C.CMLD,C.DEVD,C.DIRD,C.FILD,C.SWAD,C.MKW1,C.MKW2O".GLOBL C.SIZE,C.DSDS,CS.INP,CS.OUT0.GLOBL CS.NMF,CS.DIF,CS.DVF,CS.WLD,CS.MOR,CS.EQU .ENDC C.TYPR =0E C.STAT =1G C.CMLD =2L C.DEVD =6NC.DIRD =^O<12>C.FILD =^O<16>C.SWAD =^O<22>C.MKW1 =^O<24>C.MKW2 =^O<26>C.SIZE =^O<54>C.DSDS =C.DEVD CS.INP =1 CS.OUT =2. CS.NMF =1 CS.DIF =2 CS.DVF =4TCS.WLD =^O<10>CS.MOR =^O<20>CS.EQU =^O<40> .MACRO CSI$ X .ENDM CSI$ .ENDM CSI$RLQ @ .MACRO GCMLB$ MAXD,PRMPT,UBUF,LUN,PDL,SIZE=80.,?PDL1,?DFNB,?BUF1 .MCALL FDMBDF$,FDAT$A,FDOP$A,NMBLK$,FDBF$A,CBYTE$, FDBDF$G FDAT$A 2, .IF NB S FDOP$A LUN,,DFNB .IFF FDOP$A 1,,DFNBT .ENDC FDBF$A ,,1E% CBYTE$ ,F.RCTL .MCALL GCMLD$ GCMLD$O .BYTE 0 .IF LE " .BYTE GE.COM!GE.IND!GE.CLO!GE.SIZ .IFF=) .BYTE GE.COM!GE.IND!GE.CLO!GE.CON!GE.SIZW .ENDC .BLKW 4 .BYTE -1,MAXD .IF B .WORD PDL1. .IFFI .WORD PDL .ENDC .IF NB .WORD UBUF$ .IFFR .WORD BUF .ENDC$$$=.P .ASCII <15><12> .IF NB $ .ASCII /PRMPT>/ .IFFY .ASCII / >/ .ENDC.=$$$+6NDFNB: NMBLK$ CMI,CMD .WORD SIZEG.LPDL=*<6+<5*2>> .IF B PDL1: .BLKB G.LPDL .ENDC .IF B CBUF: .BLKB SIZE+2. .ENDC .ENDM GCMLB$Z Q  .MACRO GCML$ NAME,ADPR,LNPR .MCALL GCMLD$,LDR0$ GCMLD$ DEF$LN LDR0$ NAMEN .IF NB  MOV LNPR,G.PSDS(R0) .IIF B , .ERROR& .IIF NB , MOV ADPR,G.PSDS+2(R0) .ENDC .IIF B , CLR G.PSDS(R0) .GLOBL .GCML1 JSR PC,.GCML1 .ENDM GCML$rQ  .MACRO RCML$ NAME .MCALL LDR0$$ LDR0$ NAMEM .GLOBL .GCML2 JSR PC,.GCML2 .ENDM RCML$pQ  .MACRO CCML$ BLK. .MCALL LDR0$. LDR0$ BLK .GLOBL .GCML3 JSR PC,.GCML3 .ENDM CCML$Q  .MACRO GCMLD$ GBL .IF NDF S.FDB .MCALL FDBSZ$ FDBSZ$E .ENDC .MCALL GCML$D GCML$D GBLM .MACRO GCMLD$ X .ENDM .ENDM GCMLD$RQ  .MACRO GCML$D GBL .IF IDN ," .GLOBL G.ERR,G.MODE,G.PSDS,G.CMLD0 .GLOBL GE.COM,GE.IND,GE.CLO,GE.LC,GE.CON,GE.SIZ* .GLOBL GE.IOR,GE.OPR,GE.BIF,GE.MDE,GE.EOF .ENDC G.ERR = S.FDBRG.MODE = G.ERR+1G.PSDS = G.ERR+2G.CMLD = G.ERR+6 G.ISIZ = 16.G.DPRM = G.ERR+G.ISIZG.SIZE = G.DPRM+6+S.FNBG GE.COM = 1 GE.IND = 2 GE.CLO = 4 GE.LC = 10 GE.CON = 20F GE.SIZ = 40. GE.IOR = -1 GE.OPR = -2N GE.BIF = -3C GE.MDE = -4 GE.EOF = -10.C GE.RBG = -40. .MACRO GCML$D X .ENDM .ENDM GCML$D Q . .MACRO PRINT$ FDB,ERR,?LBL,A,B,C,D,E,F,?LBL2 .MCALL CALL,CLOSEM$,LDR0$,GLUN$S% LDR0$ FDB ;LOAD FDB ADDRESS INTO R0. TST F.BDB(R0) BEQ LBL MOV R1,-(SP) MOV R2,-(SP)= MOV R3,-(SP)S/ MOV SP,R1 ;SAVE POINTER TO END OF SEND BUFFERM/ SUB #<8.*2>,SP ;ALLOCATE A GET LUN INFO BUFFERM MOV SP,R2 MOVB F.LUN(R0),R3 GLUN$S R3,R2N% MOV G.LUCW(R2),R3 ;SAVE CHAR. WORD 1O MOV R0,R2 ;COPY FDB ADDRESS=4 ADD #F.FNB+N.DID+6,R2 ;POINT TO END OF DIRECTORY ID$ MOV -(R2),-(R1) ; PUSH DIRECTORY ID MOV -(R2),-(R1) ; MOV -(R2),-(R1) ;/ ADD #N.FID+6-N.DID,R2 ;POINT TO END OF FILE IDL MOV -(R2),-(R1) ;PUSH FILE ID MOV -(R2),-(R1) ; MOV -(R2),-(R1) ;' CLRB -(R1) ;CLEAR LUN INFO FLAGS BYTEM@ ADD #N.FVER+2-N.FID,R2 ;POINT TO END OF FILENAME, TYPE, VERSION* MOV -(R2),-(SP) ;PUSH FILE VERSION NUMBER MOV -(R2),-(SP) ;PUSH FILE TYPE MOV -(R2),-(SP) ;PUSH FILENAMEW MOV -(R2),-(SP) ; MOV -(R2),-(SP) ;' MOV SP,R1 ;SET POINTER TO SEND BUFFERI CLOSE$ R0 ;CLOSE FILER BCS LBL2I: BIT #FD.REC!FD.OSP,R3 ;RECORD ORIENTED OR SPOOLED DEVICE? BNE LBL2 ;IF NE YESO MOV R0,R2 ;SAVE FDB ADDRESSR# MOV #^RPRT,R0 ;GET "PRT" IN RAD-50, CALL $DSPAT ;SEND DATA TO ...PRT OR PRT...$ MOV R0,F.ERR(R2) ;GET RETURN STATUS MOV R2,R0 ;RESTORE FDB ADDRESSLBL2: ROR R1 ;SAVE CARRY; ADD #<13.*2>,SP ;CLEAN STACK- ROL R1 ;RESTORE CARRYE MOV (SP)+,R3S MOV (SP)+,R2M MOV (SP)+,R1- .IF NB ERR- BCC LBL CALL ERR, .ENDCLBL: .ENDM PRINT$EQ  .MACRO COMDF$ DEF .NLIST# .IF IDN ,8.GLOBL B.OT,B.UN,B.RC,B.RN,B.RP,B.RU,B.NA,B.UA,B.MN,B.MX.GLOBL CT.IN,CT.CN,LB.N,LB.E.GLOBL NT.IN,NT.NS.GLOBL CR.UR,CR.NR,CR.MXD.GLOBL CR.N0,CR.N1,CR.N2,CR.N3,CR.N4,CR.N5,CR.N6,CR.N9,CR.N10,CR.N11.GLOBL CR.N7,CR.N8.GLOBL CR.DI,CR.DT,CR.DA".GLOBL IA.ISM,IA.ABO,IA.DIS,IA.NFW.GLOBL CN.IN,CN.OU,CN.UT,CN.NTB.GLOBL OB.TA,OB.FS,OB.SQ,OB.BO,OB.TC,OB.RD,OB.RA,OB.ND,OB.DD,OB.BM<.GLOBL OB.TH,OB.TB,OB.TI,OB.CR,OB.LP,OB.PR,OB.PP,OB.PL,OB.MT*.GLOBL OB.DT,OB.CS,OB.CP,OB.FH,OB.MH,OB.FL .ENDC B.OT = 0> B.UN = 1O B.RC = B.OT+2 B.RN = B.RC+2 B.RMP = B.RN+4 B.RU = B.RP+4 B.NA = B.RU+4 B.UA = B.NA+2 B.MN = B.UA B.MX = B.MN+10O NT.IN = 101 NT.NS = 1 CR.UR = 2 CR.NR = 3 CR.MX = 6 CR.N0 = 0. CR.N1 = 1O CR.N2 = 2T CR.N3 = 3L CR.N4 = 4O CR.N5 = 5W CR.N6 = 6N CR.N7 = 7C CR.N8 = 8. CR.N9 = 11 CR.N10 = 12O CR.N11 = 13D CR.DI = 4 CR.DT = 5 CR.DA = 6 LB.N=0O LB.E=2R CT.IN = 0 CT.CN = 1 IA.ABO = -5 IA.DIS = -7 IA.NFW = 177673 IA.ISM = 1 CN.IN = 1 CN.OU = 2 CN.UT = 4 CN.NT = 10 OB.TA = 0 OB.FS = 1 OB.SQ = 2 OB.BO = 3 OB.TC = 4 OB.RD = 5 OB.RA = 6 OB.ND = 7 OB.DD = 10S OB.BM = 11= OB.TH = 203 OB.TB = 21 OB.TI = 22 OB.CR = 23 OB.LP = 24 OB.PR = 25 OB.PP = 26 OB.PL = 27 OB.MT = 30 OB.DT = 31 OB.CS = 32 OB.CP = 33 OB.FH = 34O OB.MH = 351 OB.FL = 364 .MACRO COMDF$ A .ENDM .LIST .ENDM"Q  .MACRO RDBDF$ GBL .MCALL .BLKW.,.BLK. .BLK. .BLKW. 1,R.GID,GBLC .BLKW. 1,R.GSIZ,GBL .BLKW. 2,R.GNAM,GBL .BLKW. 2,R.GPAR,GBL .BLKW. 1,R.GSTS,GBL .BLKW. 1,R.GPRO,GBL .BLKW. 0,R.GLGH,GBL .IF IDN ,1 .GLOBL RS.CRR,RS.UNM,RS.MDL,RS.NDL,RS.ATT,RS.NEX=# .GLOBL RS.DEL,RS.EXT,RS.WRT,RS.RED. .ENDCRS.CRR=^O<100000>.RS.UNM=^O<40000>RS.MDL=^O<200>RS.NDL=^O<100> RS.ATT=^O<40> RS.NEX=^O<20>O RS.DEL=^O<10>. RS.EXT=^O<4> RS.WRT=^O<2> RS.RED=^O<1> .MACRO RDBDF$ X .ENDM .ENDM RDBDF$$Q " .MACRO RDBBK$ SIZ,NAM,PAR,STS,PRO .MCALL RDBDF$,R50$G RDBDF$W .WORD 0 .WORD SIZ R50$ NAMG R50$ PAR .WORD STS .WORD PRO .ENDM RDBBK$LQ  .MACRO ATRG$ RDBB .MCALL OFF$ .IF NDF $$$GLBL .BYTE 57.,2 .WORD RDB .ENDC .IF NDF A.TRBAT OFF$. OFF$ A.TRBA,2 .ENDC .ENDM ATRG$Q  .MACRO ATRG$C RDB,CS,ERRA .MCALL ATRG$,DIR$ .IF NDF $$$GLB< .PSECT $DPB$$$$$=.W .IFTF ATRG$ RDB .IFTA .PSECT CS DIR$ #$$$,ERR .ENDC .ENDM ATRG$CQ  .MACRO ATRG$S RDB,ERR .MCALL DIR$,MOV$ MOV$ RDB. MOV (PCM)+,-(SP) .BYTE 57.,2 DIR$ ,ERR .ENDM ATRG$SOQ  .MACRO CPCR$ NAME .MCALL R50$,OFF$D .IF NDF $$$GLB .BYTE 205.,3L R50$ NAME .ENDC .IF NDF S.RETN. OFF$A OFF$ C.PCNM,2 .ENDC .ENDM CPCR$Q  .MACRO CPCR$C NAME,CS,ERR .MCALL CPCR$,DIR$ .IF NDF $$$GLB. .PSECT $DPB$$$$$=.  .IFTF CPCR$ NAMEF .IFT$ .PSECT CS DIR$ #$$$,ERR .ENDC .ENDM CPCR$C.Q  .MACRO CPCR$S NAME,ERRG .MCALL DIR$,MOV$,RFA$ RFA$ NAME MOV (PC)+,-(SP) .BYTE 205.,35 DIR$ ,ERR .ENDM CPCR$SRQ  .MACRO CRRG$ RDB .MCALL OFF$ .IF NDF $$$GLBN .BYTE 55.,2 .WORD RDB .ENDC .IF NDF C.RRBAF OFF$R OFF$ C.RRBA,2 .ENDC .ENDM CRRG$Q  .MACRO CRRG$C RDB,CS,ERRC .MCALL CRRG$,DIR$ .IF NDF $$$GLBF .PSECT $DPB$$$$$=.D .IFTF CRRG$ RDB .IFT$ .PSECT CS DIR$ #$$$,ERR .ENDC .ENDM CRRG$CQ  .MACRO CRRG$S RDB,ERR .MCALL DIR$,MOV$. MOV$ RDBM MOV (PC)+,-(SP) .BYTE 55.,2 DIR$ ,ERR .ENDM CRRG$SRQ  .MACRO DTRG$ RDB .MCALL OFF$ .IF NDF $$$GLB .BYTE 59.,2 .WORD RDB .ENDC .IF NDF D.TRBA. OFF$. OFF$ D.TRBA,2 .ENDC .ENDM DTRG$Q  .MACRO DTRG$C RDB,CS,ERRA .MCALL DTRG$,DIR$ .IF NDF $$$GLB, .PSECT $DPB$$$$$=. .IFTF DTRG$ RDB .IFTF .PSECT CS DIR$ #$$$,ERR .ENDC .ENDM DTRG$CQ  .MACRO DTRG$S RDB,ERR .MCALL DIR$,MOV$E MOV$ RDB  MOV (PC)+,-(SP) .BYTE 59.,2 DIR$ ,ERR .ENDM DTRG$SRHQ  .MACRO GREG$ RID,BUF .MCALL OFF$ .IF NDF $$$GLB$ .BYTE 65.,4 .WORD 0,RID .WORD BUF .ENDC .IF NDF G.RGIDT .NLISTF OFF$F OFF$ ,2 OFF$ G.RGID,2 OFF$ G.RGBA,2 .IF NDF G.RGRB $$$OST=0* .IRP X,<,,> OFF$ XC .ENDM .ENDC .LIST .ENDC .ENDM GREG$Q  .MACRO GREG$C RID,BUF,CS,ERR .MCALL GREG$,DIR$ .IF NDF $$$GLBB .PSECT $DPB$$$$$=.E .IFTF GREG$ RID,BUF .IFT .PSECT CS DIR$ #$$$,ERR .ENDC M .ENDM GREG$CQ  .MACRO GREG$S RID,BUF,ERR .MCALL MOV$,DIR$,OFF$ MOV$ BUFO MOV$ RID. CLR -(SP) MOV (PC)+,-(SP) .BYTE 65.,4 DIR$ ,ERR .IF NDF G.RGRBG .NLISTF$$$OST=0* .IRP X,<,,> OFF$ XR .ENDM .LIST .ENDC .ENDM GREG$S.8Q  .MACRO WDBDF$ GBL .MCALL .BLKW.,.BLKB.,.BLK.C .BLK. .BLKB. 1,W.NID,GBLG .BLKB. 1,W.NAPR,GBL .BLKW. 1,W.NBAS,GBL .BLKW. 1,W.NSIZ,GBL .BLKW. 1,W.NRID,GBL .BLKW. 1,W.NOFF,GBL .BLKW. 1,W.NLEN,GBL .BLKW. 1,W.NSTS,GBL .BLKW. 1,W.NSRB,GBL .BLKW. 0,W.NLGH,GBL .IF IDN ,1 .GLOBL WS.CRW,WS.UNM,WS.ELW,WS.RRF,WS.64B,WS.SISD1 .GLOBL WS.MAP,WS.RCX,WS.DEL,WS.EXT,WS.WRT,WS.REDR* .GLOBL WS.BPS,WS.NBP,WS.UDS,WS.NAT,WS.RES .ENDCWS.CRW=^O<100000>CWS.UNM=^O<40000>WS.ELW=^O<20000>WS.RRF=^O<10000>WS.BPS=^O<4000>.WS.NBP=^O<4000>LWS.RES=^O<2000>IWS.NAT=^O<1000>,WS.64B=^O<400>WS.MAP=^O<200>WS.RCX=^O<100> WS.SIS=^O<40> WS.UDS=^O<20>. WS.DEL=^O<10>G WS.EXT=^O<4> WS.WRT=^O<2> WS.RED=^O<1>WS.EDS=WS.SIS!WS.UDS .MACRO WDBDF$ X .ENDM .ENDM WDBDF$$Q * .MACRO WDBBK$ APR,SIZ,RID,OFF,LEN,STS,SRB .MCALL WDBDF$ WDBDF$D .BYTE 0,APR .WORD 0 .WORD SIZ .WORD RID .WORD OFF .WORD LEN .WORD STS .WORD SRB .ENDM WDBBK$0Q  .MACRO CRAW$ WDB> .MCALL OFF$ .IF NDF $$$GLB0 .BYTE 117.,2< .WORD WDB .ENDC .IF NDF C.RABA0 OFF$M OFF$ C.RABA,2 .ENDC .ENDM CRAW$Q  .MACRO CRAW$C WDB,CS,ERR^ .MCALL CRAW$,DIR$ .IF NDF $$$GLBE .PSECT $DPB$$$$$=.R .IFTF CRAW$ WDB .IFTW .PSECT CS DIR$ #$$$,ERR .ENDC .ENDM CRAW$CDQ  .MACRO CRAW$S WDB,ERR .MCALL DIR$,MOV$O MOV$ WDBD MOV (PC)+,-(SP) .BYTE 117.,2O DIR$ ,ERR .ENDM CRAW$SSQ  .MACRO ELAW$ WDB .MCALL OFF$ .IF NDF $$$GLB$ .BYTE 119.,2L .WORD WDB .ENDC .IF NDF E.LABAC OFF$N OFF$ E.LABA,2 .ENDC .ENDM ELAW$Q  .MACRO ELAW$C WDB,CS,ERR  .MCALL ELAW$,DIMR$ .IF NDF $$$GLB$ .PSECT $DPB$$$$$=.S .IFTF ELAW$ WDB .IFT .PSECT CS DIR$ #$$$,ERR .ENDC .ENDM ELAW$CNQ  .MACRO ELAW$S WDB,ERR .MCALL DIR$,MOV$ MOV$ WDB$ MOV (PC)+,-(SP) .BYTE 119.,2S DIR$ ,ERR .ENDM ELAW$SEQ  .MACRO GMCX$ WVEC .MCALL OFF$ .IF NDF $$$GLB$ .BYTE 113.,2L .WORD WVEC9 .ENDC .IF NDF G.MCVA OFF$F OFF$ G.MCVA,2 .ENDC .ENDM GMCX$Q  .MACRO GMCX$C WVEC,CS,ERR .MCALL GMCX$,DIR$ .IF NDF $$$GLB .PSECT $DPB$$$$$=.C .IFTF GMCX$ WVECF .IFTA .PSECT CS DIR$ #$$$,ERR .ENDC .ENDM GMCX$CQ  .MACRO GMCX$S WVEC,ERRL .MCALL DIR$,MOV$L MOV$ WVEC MOV (PC)+,-(SP) .BYTE 113.,2. DIR$ ,ERR .ENDM GMCX$S.Q  .MACRO MAP$ WDB .MCALL OFF$ .IF NDF $$$GLB. .BYTE 121.,2 .WORD WDB .ENDC .IF NDF M.APBA OFF$F OFF$ M.APBA,2 .ENDC .ENDM MAP$NQ  .MACRO MAP$C WDB,CS,ERR .MCALL MAP$,DIR$ .IF NDF $$$GLB$ .PSECT $DPB$$$$$=.S .IFTF MAP$ WDB .IFT .PSECT CS DIR$ #$$$,ERR .ENDC .ENDM MAP$CQ  .MACRO MAP$S WDB,ERR .MCALL DIR$,MOV$, MOV$ WDBL MOV (PC)+,-(SP) .BYTE 121.,2C DIR$ ,ERR .ENDM MAP$SQ  .MACRO RREF$ WDB .MCALL OFF$ .IF NDF $$$GLBL .BYTE 81.,2 .WORD WDB .ENDC .IF NDF R.REBAB OFF$C OFF$ R.REBA,2 .ENDC .ENDM RREF$Q  .MACRO RREF$C WDB,CS,ERR .MCALL RREF$,DIR$ .IF NDF $$$GLB$ .PSECT $DPB$$$$$=.$ .IFTF RREF$ WDB .IFT. .PSECT CS DIR$ #$$$,ERR .ENDC .ENDM RREF$CRQ  .MACRO RREF$S WDB,ERR .MCALL DIR$,MOV$R MOV$ WDB  MOV (PC)+,-(SP) .BYTE 81.,2 DIR$ ,ERR .ENDM RREF$SDQ  .MACRO SREF$ TASK,WDB,EFN .MCALL R50$,OFF$C .IF NDF $$$GLBF .BYTE 69.,5 R50$ TASK .WORD EFN .WORD WDB .ENDC .IF NDF S.RETN + .IRP X,<,,,> OFF$ XR .ENDM .ENDC .ENDM SREF$Q " .MACRO SREF$C TASK,WDB,EFN,CS,ERR .MCALL SRMEF$,DIR$ .IF NDF $$$GLBS .PSECT $DPB$$$$$=.C .IFTF SREF$ TASK,WDB,EFN .IFT. .PSECT CS DIR$ #$$$,ERR .ENDC .ENDM SREF$C Q ! .MACRO SREF$S TSKADR,WDB,EFN,ERRR .MCALL DIR$,MOV$,RFA$ MOV$ WDBR MOV$ EFNB RFA$ TSKADR MOV (PC)+,-(SP) .BYTE 69.,5 DIR$ ,ERR .ENDM SREF$SOQ  .MACRO SRRA$ ASTS .MCALL OFF$ .IF NDF $$$GLB. .BYTE 21.,2 .WORD AST .ENDC .IF NDF S.RRAEN .NLIST OFF$ OFF$ S.RRAE,2 .LIST .ENDC .ENDM SRRA$Q  .MACRO SRRA$C AST,CS,ERR  .MCALL SRRA$,DIR$ .IF NDF $$$GLBD .PSECT $DPB$$$$$=.  .IFTF SRRA$ AST .IFT .PSECT CS DIR$ #$$$,ERR .ENDC .ENDM SRRA$CKQ  .MACRO SRRA$S AST,ERR .MCALL MOV$,DIR$F MOV$ ASTS MOV (PC)+,-(SP) .BYTE 21.,2 DIR$ ,ERR .ENDM SRRA$SEQ  .MACRO UMAP$ WDB .MCALL OFF$ .IF NDF $$$GLB$ .BYTE 123.,2. .WORD WDB .ENDC .IF NDF U.MABAA OFF$L OFF$ U.MABA,2 .ENDC .ENDM UMAP$Q  .MACRO UMAP$C WDB,CS,ERRR .MCALL UMAP$,DIR$ .IF NDF $$$GLBI .PSECT $DPB$$$$$=.. .IFTF UMAP$ WDB .IFTF .PSECT CS DIR$ #$$$,ERR .ENDC .ENDM UMAP$C.Q  .MACRO UMAP$S WDB,ERR .MCALL DIR$,MOV$R MOV$ WDBO MOV (PC)+,-(SP) .BYTE 123.,2- DIR$ ,ERR .ENDM UMAP$SEQ  .MACRO .BLKB. NUM,SYM,GBL .IF NB C .IF IDN ,SYM==$$$ .IFF.SYM=$$$W .ENDC .ENDC $$$=$$$+NUM .ENDM .BLKB..Q  .MACRO .BLKW. NUM,SYM,GBL .IF NB C .IF IDN ,SYM==$$$ .IFFFSYM=$$$ .ENDC .ENDC$$$=$$$+<2*NUM>U .ENDM .BLKW.F8Q  .MACRO .BLK.N$$$=0N .ENDM .BLK.Q ! .MACRO CRVT$ IAST,OAST,AAST,MLENM .MCALL OFF$ .IF NDF $$$GLBS .BYTE 149.,5, .WORD IASTR .WORD OAST$ .WORD AAST .WORD MLENR .ENDC .IF NDF C.RVIAF6 .IRP X,<,,,,> OFF$ X. .ENDM .ENDC .ENDM CRVT$Q ) .MACRO CRVT$C IAST,OAST,AAST,MLEN,CS,ERR. .MCALML CRVT$,DIR$ .IF NDF $$$GLB .PSECT $DPB$$$$$=.$ .IFTF CRVT$ IAST,OAST,AAST,MLEN .IFTM .PSECT CS DIR$ #$$$,ERR .ENDC .ENDM CRVT$CQ & .MACRO CRVT$S IAST,OAST,AAST,MLEN,ERR .MCALL DIR$,MOV$F MOV$ MLEN MOV$ AAST MOV$ OAST MOV$ IAST MOV (PC)+,-(SP) .BYTE 149.,5. DIR$ ,ERR .ENDM CRVT$SFQ  .MACRO ELVT$ UNUM .MCALL OFF$ .IF NDF $$$GLBF .BYTE 151.,2. .WORD UNUMC .ENDC .IF NDF E.LVNM. OFF$R OFF$ E.LVNM,2 .ENDC .ENDM ELVT$Q  .MACRO ELVT$C UNUM,CS,ERR .MCALL ELVT$,DIR$ .IF NDF $$$GLBA .PSECT $DPB$$$$$=.C .IFTF ELVT$ UNUM .IFT .PSECT CS DIR$ #$$$,ERR .ENDC .ENDM ELVT$CSQ  .MACRO ELVT$S UNUM,ERRM .MCALL DIR$,MOV$T MOV$ UNUM MOV (PC)+,-(SP) .BYTE 151.,2. DIR$ ,ERR .ENDM ELVT$S.Q F .MACRO SPWN$ TNAME,PN,PR,UGC,UMC,EFN,EAST,ESB,CMDLIN,CMDLEN,UNIT,DNAM .MCALL OFF$,R50$U .IF NDF $$$GLBN .IF B DNAMO .BYTE 11.,13. .IFF. .BYTE 11.,14. .ENDC R50$ TNAME .BLKW 3 .BYTE UMC,UGC .WORD EFN .WORD EASTF .WORD ESB .WORD CMDLIN$ .WORD CMDLENF .WORD UNIT .IF NB DNAM$$$T2=.D .ASCII /DNAM/ .=$$$T2+2M .ENDC .ENDC .IF NDF S.PWTNRA .IRP X,<,,,,,>) OFF$ X1 .ENDM@ .IRP X,<,,,,> OFF$ X, .ENDM .IRP X,<> OFF$ XM .ENDR $$$OST=8. OFF$ SP.WX8 .ENDC .ENDM SPWN$"Q N .MACRO SPWN$C TNAME,PN,PR,UGC,UMC,EFN,EAST,ESB,CMDLIN,CMDLEN,UNIT,DNAM,CS,ERR .MCALL SPWN$,DIR$ .IF NDF $$$GLBI .PSECT $DPB$$$$$=.O .IFTF; SPWN$ TNAME,,,UGC,UMC,EFN,EAST,ESB,CMDLIN,CMDLEN,UNIT,DNAM .IFT .PSECT CS DIR$ #$$$,ERR .ENDC .ENDM SPWN$CSQ K .MACRO SPWN$S TNAME,PN,PR,UGC,UMC,EFN,EAST,ESB,CMDLIN,CMDLEN,UNIT,DNAM,ERRS .MCALL DIR$,MOV$,MVB$,RFA$, .IF NB DNAM MOV$ DNAM .ENDC MOV$ UNIT MOV$ CMDLEN MOV$ CMDLIN MOV$ ESB. MOV$ EAST MOV$ EFN MVB$ UMC,UGCP CLR -(SMP) CLR -(SP) CLR -(SP) RFA$ TNAMEE MOV (PC)+,-(SP) .IF B DNAMN .BYTE 11.,13. .IFFI .BYTE 11.,14. .ENDC DIR$ ,ERR .ENDM SPWN$SCQ  .MACRO CNCT$ TNAME,EFN,EAST,ESB .MCALL OFF$,R50$ .IF NDF $$$GLB. .BYTE 143.,6 R50$ TNAME .WORD EFN .WORD EAST, .WORD ESB .ENDC .IF NDF C.NCTN,6 .IRP X,<,,,,> OFF$ X  .ENDM .ENDC .ENDM CNCT$Q ( .MACRO CNCT$C TNAME,EFN,EAST,ESB,CS,ERR .MCALL CNCT$,DIR$ .IF NDF $$$GLB) .PSECT $DPB$$$$$=.M .IFTF CNCT$ TNAME,EFN,EAST,ESB .IFT1 .PSECT CS DIR$ #$$$,ERR .ENDC .ENDM CNCT$CQ % .MACRO CNCT$S TNAME,EFN,EAST,ESB,ERR, .MCALL DIR$,MOV$,RFA$,MVB$ MOV$ ESB$ MOV$ EAST MOV$ EFNR RFA$ TNAME. MOV (PC)+,-(SP) .BYTE 143.,6B DIR$ ,ERR .ENDM CNCT$SQ  .MACRO EMST$ TNAME,STATUS .MCALL OFF$,R50$ .IF NDF $$$GLB. .BYTE 147.,4 R50$ TNAME .WORD STATUST .ENDC .IF NDF E.MSTN OFF$  OFF$ E.MSTN,4 OFF$ E.MSST,2 .ENDC .ENDM EMST$Q " .MACRO EMST$C TNAME,STATUS,CS,ERR .MCALL EMST$,DIR$ .IF NDF $$$GLB$ .PSECT $DPB$$$$$=.. .IFTF EMST$ TNAME,STATUSS .IFT .PSECT CS DIR$ #$$$,ERR .ENDC .ENDM EMST$CTQ  .MACRO EMST$S TNAME,STATUS,ERRE .MCALL DIR$,MOV$,RFA$ MOV$ STATUS RFA$ TNAME MOV (PC)+,-(SP) .BYTE 147.,4. DIR$ ,ERR .ENDM EMST$S$Q  .MACRO STLO$ GRP,MSKO .MCALL OFF$ .IF NDF $$$GLBM .BYTE 137.,3O .WORD GRP .WORD MSK .ENDC .IF NDF S.TLGR$ OFF$ OFF$ S.TLGR,2 OFF$ S.TLMS,2 .ENDC .ENDM STLO$Q  .MACRO STLO$C GRP,MSK,CS,ERR$ .MCALL STLO$,DIR$ .IF NDF $$$GLB. .PSECT $DPB$$$$$=.  .IFTF STLO$ GRP,MSK .IFTT .PSECT CS DIR$ #$$$,ERR .ENDC .ENDM STLO$CEQ  .MACRO STLO$S GRP,MSK,ERR .MCALL DIR$,MOV$- MOV$ MSKE .IF NB GRPR MOV #GRP,-(SP)S .IFF CLR -(SP) .ENDC MOV (PC)+,-(SP) .BYTE 137.,3 DIR$ ,ERR .ENDM STLO$S7Q M .MACRO STSE$ EFN .MCALL OFF$ .IF NDF $$$GLB .BYTE 135.,2 .WORD EFN .ENDC .IF NDF S.TSEF OFF$ OFF$ S.TSEF,2 .ENDC .ENDM STSE$Q  .MACRO STSE$C EFN,CS,ERRD .MCALL STSE$,DIR$ .IF NDF $$$GLB .PSECT $DPB$$$$$=.R .IFTF STSE$ EFN .IFTS .PSECT CS DIR$ #$$$,ERR .ENDC .ENDM STSE$CRQ  .MACRO STSE$S EFN,ERR .MCALL DIR$,MOV$P MOV$ EFN MOV (PC)+,-(SP) .BYTE 135.,2S DIR$ ,ERR .ENDM STSE$SEZQ  .MACRO STOP$ .IF NDF $$$GLB .BYTE 131.,1F .ENDC .ENDM STOP$Q  .MACRO STOP$C CS,ERRN .MCALL STOP$,DIR$ .IF NDF $$$GLB. .PSECT $DPB$$$$$=. .IFTF STOP$ .IFTT .PSECT CS DIR$ #$$$,ERR .ENDC .ENDM STOP$CLrQ  .MACRO STOP$S ERR .MCALL DIR$ MOV (PC)+,-(SP) .BYTE 131.,1. DIR$ ,ERR .ENDM STOP$SQ  .MACRO USTP$ TNAMEC .MCALL OFF$,R50$V .IF NDF $$$GLB+ .BYTE 133.,31 R50$ TNAME  .ENDC .IF NDF U.STTN OFF$ OFF$ U.STTN,2 .ENDC .ENDM USTP$Q  .MACRO USTP$C TNAME,CS,ERR .MCALL USTP$,DIR$ .IF NDF $$$GLBC .PSECT $DPB$$$$$=.F .IFTF USTP$ TNAME .IFT= .PSECT CS DIR$ #$$$,ERR .ENDC .ENDM USTP$CEQ  .MACRO USTP$S TNAME,ERR .MCALL DIR$,RFA$R RFA$ TNAME$ MOV (PC)+,-(SP) .BYTE 133.,3. DIR$ ,ERR .ENDM USTP$S4Q $ .MACRO SDRC$ TNAME,BUF,EFN,EAST,ESB .MCALL OFF$,R50$L .IF NDF $$$GLB1 .BYTE 141.,7 R50$ TNAMEN .WORD BUF .WORD EFN .WORD EAST. .WORD ESB .ENDC .IF NDF S.DRTNA .IRP X,<,,,,,> OFF$ XD .ENDM .ENDC .ENDM SDRC$Q , .MACRO SDRC$C TNAME,BUF,EFN,EAST,ESB,CS,ERR .MCALL SDRC$,DIR$ .IF NDF $$$GLBA .PSECT $DPB$$$$$=.A .IFTF SDRC$ TNAME,BUF,EFN,EAST,ESBY .IFT, .PSECT CS DIR$ #$$$,ERR .ENDC .ENDM SDRC$C.Q ) .MACRO SDRC$S TNAME,BUF,EFN,EAST,ESB,ERRN .MCALL DIR$,MOV$,RFA$,MVB$R MOV$ ESB MOV$ EAST MOV$ EFN MOV$ BUMF. RFA$ TNAME MOV (PC)+,-(SP) .BYTE 141.,7, DIR$ ,ERR .ENDM SDRC$SDQ  .MACRO RCST$ TNAME,BUF. .MCALL OFF$,R50$M .IF NDF $$$GLB .BYTE 139.,4 R50$ TNAMEB .WORD BUF .ENDC .IF NDF R.CSTN, OFF$. OFF$ R.CSTN,4 OFF$ R.CSBF,2 .ENDC .ENDM RCST$Q  .MACRO RCST$C TNAME,BUF,CS,ERR  .MCALL RCST$,DIR$ .IF NDF $$$GLB .PSECT $DPB$$$$$=.D .IFTF RCST$ TNAME,BUF .IFT .PSECT CS DIR$ #$$$,ERR .ENDC .ENDM RCST$CTQ  .MACRO RCST$S TNAME,BUF,ERR .MCALL DIR$,MOV$,RFA$ MOV$ BUFR RFA$ TNAME$ MOV (PC)+,-(SP) .BYTE 139.,4T DIR$ ,ERR .ENDM RCST$SRQ  .MACRO SCAL$S SRAD,CRAD .MCALL DIR$,MOV$F MOV$ CRAD MOV$ SRAD MOV (PC)+,-(SP) .BYTE 155.,3 DIR$ ,ERR .ENDM SCAL$SS"Q  .MACRO EGCMI$ .MACRO GCMLD$ GLOB .ASECTC .=0G.MODE: .BLKW 2L GE.COM = 1D GE.IND = 2 GE.CLO = 4$ GE.LC = 10 GE.CON = 20 GE.XXX = 40 GE.MUL = 100. GE.LIB = 200 GE.MCR = 400 GE.IEF = 1000 GE.RWD = 2000 GE.FOP = 4000 GE.RPR = 10000 GE.SDE = 20000V GE.SER = 40000Y GE.SLB = 100000 ; G2.XXX = 1G.IMPS: .BLKB 1G.OVBC: .BLKB 1CG.FILE: .BLKW 1.G.ERR: .BLKB 1 GE.IOR = -1 GE.OPR = -2 GE.BIF = -3 GE.MDE = -4 GE.CMD = -5 GE.VRS = -6 GE.EOF = -10. GE.RBG = -40.G.CDEP: .BLKB 1LG.FUNC: .BLKB 1CG.MAXD: .BLKB 1BG.TERM: .BLKB 1 G.TIOS: .BLKB 1G.TIOP: .BLKW 1.G.PRMP: .BLKW 2 G.CMLD: .BLKW 20G.FRAG: .BLKW 2G.BUFF: .BLKW 2GG.DFPR: .BLKB 6.G.CSIB: .BLKW 1WG.PPTR: .BLKW 1 G.SWIT: .BLKW 1 G.LBMN: .BLKB 6 G.FQFN: .BLKW 1 G.DDIR: .BLKW 2 G.ISIZ:  .ASECT1 .=0G.SUSR: .BLKW 1VG.SDID: .BLKW 5IG.SFID: .BLKW 3RG.SRAT: .BLKB 16. G.SPOS: .BLKW 32G.SBST: .BLKW 1GG.SRWP: .BLKW 3MG.PLFS:G .PSECT6 .MACRO GCMLD$ X .ENDM .ENDMN .MACRO ECMLB$ FILE,LUN=1,MAXD=3,PRMP=< >,BFAD,BFSZ=80.,PDL,SWIT,?GF,?GB,?GS# .MCALL GCMLD$,CWORD$,CBYTE$,CSTRG$B .MCALL CSI$SW,CSI$SV,CSI$ND .IIF NDF FCS$$ FCS$$=1K GCMLD$F ...PCM1=.. .BLKB G.ISIZ  CBYTE$ ,G.IMPSW, CWORD$ ,G.MODE CBYTE$ ,G.MAXD. CBYTE$ <15>,G.DFPR0 CBYTE$ <12>,G.DFPR+1D CSTRG$ ,G.DFPR+2,3  CBYTE$ <-1>,G.CDEP  CBYTE$ ,G.TIOST CWORD$ <0>,G.TIOP CWORD$ <0>,G.FQFN CBYTE$ <0>,G.OVBC .IF B  ...TMP = <*G.PLFS>,...PDL: .BLKB ...TMP CWORD$ <...PDL+...TMP>,G.PPTR .IFF. .ENDC .IF B TGB: .BLKB BFSZ+2 CWORD$ ,G.BUFF+2 .IFFD CWORD$ ,G.BUFF+2F .ENDC CWORD$ ,G.BUFF+0Y .IF B I...SWI: GCMSW$ ...PC1,GS CWORD$ <...SWI>,G.SWIT .IFF  CWORD$ ,G.SWIT  .ENDC .IF NB  CWORD$ ,G.FILEP .IFFD CWORD$ ,G.FILE> .IF DF FCS$$E* .MCALL FDBDF$,FDAT$A,FDOP$A,NMBLK$,FDBF$A GF: FDBDF$ FDAT$A 2  FDOP$A LUN,,...FNAD FDBF$A ,,1 % CBYTE$ ,F.RCTLP...FNA: NMBLK$ CMI,CMD .IFFR .IF DF RMS$$C .MCALL FAB$B,RAB$B,NAM$B GF: .WORD 1,...RAB .WORD 1,...FABD ...RAB: RAB$B> R$FAB ...FABN R$RAC RB$SEQS RAB$E ...FAB: FAB$BW F$DNA ...DNA+3S F$DNS 7 F$FNA ...FNA. F$FAC FB$GET. F$LCH LUN F$NAM ...NAM F$ORG FB$SEQN F$RAT 0 F$RFM FB$VARG FAB$E ...NAM: NAM$B N$ESS 34. NAM$E...DNA: .ASCII /SY:CMI.CMD/$...FNA: .ASCII /CMI/ .BLKB 29. .IFF$ .ERRORO .ENDC .ENDC .ENDC .ENDM6 .MACRO GCMLB$ MAXD=1,PRMP=< >,UBUF,LUN,PDL,SIZE=80. .MCALL ECMLB$$ ECMLB$ ,LUN,MAXD,PRMP,UBUF,SIZE,PDL .ENDM .MACRO GCMSW$ GCMB,?VAL .MCALL CSI$SW,CSI$SV,CSI$ND CSI$SW LB,GE.SLB,,SET,,VALR CSI$SW ER,GE.SER,,SET,NEG CSI$SW DE,GE.SDE,,CLEAR,NEG CSI$NDFVAL: CSI$SV ASCII,GCMB+G.LBMN,6. CSI$NDF .ENDM .MACRO GCML$ GCMB,PRAD,PRLN .MCALL GCMLD$,LDR0$ GCMLD$ DEF$LN LDR0$ GCMB  CLRB G.FUNC(R0) .IF NB  MOV PRLN,G.PRMP(R0) .IF B O .ERROR .IFF MOV PRAD,G.PRMP+2(R0) .ENDC .IFFR CLR G.PRMP(R0), .ENDC .GLOBL $GCMLC JSR PC,$GCMLL .ENDM .MACRO RCML$ GCMB .MCALL GCMLD$,LDR0$ GCMLD$ DEF$LC LDR0$ GCMBI MOVB #1,G.FUNC(R0)BM .GLOBL $GCMLA JSR PC,$GCMLG .ENDM .MACRO CCML$ GCMB .MCALL GCMLD$,LDR0$ GCMLD$ DEF$LS LDR0$ GCMBG MOVB #2,G.FUNC(R0). .GLOBL $GCMLC JSR PC,$GCMLP .ENDM .MACRO MCML$ GCMB .MCALL GCMLD$,LDR0$ GCMLD$ DEF$L. LDR0$ GCMBF MOVB #3,G.FUNC(R0), .GLOBL $GCMLF JSR PC,$GCMLR .ENDM .MACRO FCML$ GCMB .MCALL GCMLD$,LDR0$ GCMLD$ DEF$L( LDR0$ GCMB MOVB #4,G.FUNC(R0)P .GLOBL $GCMLM JSR PC,$GCML  .ENDM .MACRO LCML$ GCMB .MCALL GCMLD$,LDR0$ GCMLD$ DEF$L1 LDR0$ GCMB MOVB #5,G.FUNC(R0)P .GLOBL $GCMLM JSR PC,$GCML  .ENDM .MACRO ECML$ GCMB .MCALL GCMLD$,LDR0$ GCMLD$ DEF$L2 LDR0$ GCMB MOVB #6,G.FUNC(R0)P .GLOBL $GCMLM JSR PC,$GCML  .ENDM .MACRO DCML$ GCMB .MCALL GCMLD$,LDR0$ GCMLD$ DEF$L3 LDR0$ GCMB MOVB #7,G.FUNC(R0)P .GLOBL $GCMLM JSR PC,$GCML  .ENDM .MACRO GCMM$ GCMB .MCALL GCMLD$,LDR0$ GCMLD$ DEF$L4 LDR0$ GCMB MOV G.FILE(R0),R0 .GLOBL .MARKN JSR PC,.MARKL .ENDM .MACRO GCMP$ GCMB .MCALL GCMLD$,LDR0$ GCMLD$ DEF$L LDR0$ GCMBP MOV G.FILE(R0),R0 .GLOBL .POINT JSR PC,.POINT .ENDM, .MACRO CMSET$ GCMB,TSUB,TVFC,FQFN,TTMO,OVBC" .MCALL LDR0$,CMOV$B,CMOV$W,GCMLD$ GCMLD$ DEF$LP LDR0$ GCMBN CMOV$B TSUB,G.TIOSB CMOV$B TVFC,G.TIOP+1 CMOV$B TTMO,G.TIOP+0G CMOV$W FQFN,G.FQFN( CMOV$B OVBC,G.OVBC .ENDM+ .MACRO CMGET$ GCMB,TERM,FILE,FQFN,OVBC,ERRC" .MCALL LDR0$,CGET$B,CGET$W,GCMLD$ GCMLD$ DEF$LL LDR0$ GCMBL CGET$B G.TERM,TERMM CGET$W G.FILE,FILE  CGET$B G.ERR,ERR  CGET$W G.FQFN,FQFN  CGET$B G.OVBC,OVBC .ENDM .MACRO EGCMI$ .ENDM .ENDMVQ  .MACRO .PICOD NAME=PIC$IT .PSECT NAME RO,I,LCL,REL,CON0 .ENDMVQ  .MACRO .PCODE NAME=PUR$I .PSECT NAME RO,I,LCL,REL,CONV .ENDMVQ  .MACRO .IDATA NAME=IMP$DF .PSECT NAME RW,D,LCL,REL,CONN .ENDMVQ  .MACRO .PDATA NAME=PUR$DC .PSECT NAME RO,D,LCL,REL,CON .ENDMVQ  .MACRO .ODATA NAME=IMP$DO .PSECT NAME RW,D,LCL,REL,OVRR .ENDM0Q M< .MACRO HLPDF$ FILLUN,TILUN,EFN,NAME,FDBIN,DSP,MODULE,FDBOUT$HFDB:: .WORD FDBIN .IF NB FDBOUT .WORD FDBOUTS .IFFE .WORD 0 .ENDC$HLUN1 == FILLUN$HLUN2 == TILUN $HEFN == EFN$HDSP:: .WORD DSPR$HMOD:: .RAD50 /MODULE/$HNAME::.ASCII /NAME/R .EVEN .ENDM HLPDF$.<Q  .MACRO SMSG$ TGT,BUF,LEN,PRMLST .MCALL OFF$ .NLIST= .IF NDF S.MTGTA OFF$,3 .IRP X,<,,,>A OFF$ X$ .ENDM .IF DF $$$GLB .GLOBL SM.SER .ENDCSM.SER=1 .ENDC .IF NDF $$$GLB,$$$ARG=0 .IRP X,$$$ARG=$$$ARG+1: .ENDM .IF NB TGTN .IF IDN TGT SM.SERU .IF LT,$$$ARG-4 $$$ARG=4 .ENDC .ENDC .ENDC .LIST .BYTE 171.,4+$$$ARG .BYTE TGT .BYTE 0 .WORD BUF .WORD LEN .IRP X,$$$ARG=$$$ARG-1H .WORD X .ENDM .REPT $$$ARG  .WORD .ENDR .ENDC .ENDMQ ( .MACRO SMSG$C TGT,BUF,LEN,PRMLST,CS,ERR .MCALL SMSG$,DIR$ .IF NDF $$$GLB .PSECT $DPB$$$$$=.D .IFTF SMSG$ TGT,BUF,LEN,S .IFT. .PSECT CS DIR$ #$$$,ERR .ENDC .ENDMQ % .MACRO SMSG$S TGT,BUF,LEN,PRMLST,ERRT .MCALL MVB$,MOV$,RVP$,DIR$$$$ARG=0$$$=0C .IRP X,$$$ARG=$$$ARG+11 .ENDM .IF NB TGTT .IF IDN TGT #SM.SER .IF LT,$$$ARG-4 $$$=4-$$$ARG .REPT $$$ CLR -(SP) .ENDR .ENDC .ENDC .ENDC RVP$ PRMLST MOV$ LENM MOV$ BUF MVB$ TGTA MOV (PC)+,-(SP) .BYTE 171.,4+$$$ARG+$$$ DIR$ ,ERR .ENDMQ * .MACRO GCCI$ CBUF,CBFL,IBUF,IBFL,ADDR,NCP .MCALL OFF$ .IF NDF $$$GLB .BYTE 127.,7. .BYTE NCP .BYTE 0 .WORD ADDR. .WORD CBUFT .WORD CBFLM .WORD IBUFC .WORD IBFL, .ENDC .IF NDF G.CCNC=A .IRP X,<,,,,,>I OFF$ XM .ENDM OFF$ G.CCIL,2$$$OST=0K .IRP X,<,,,,,>V OFF$ XM .ENDM$$$OST=0@ .IRP X,<,,,,> OFF$ X .ENDM .IRP X,<,> OFF$ XN .ENDM .IF DMF $$$GLB# .GLOBL GC.CND,GC.CST,GC.CEX,GC.CCSP .ENDC GC.CND=200 GC.CST=002 GC.CEX=001 GC.CCS=000 .ENDC .ENDM GCCI$Q 2 .MACRO GCCI$C CBUF,CBFL,IBUF,IBFL,ADDR,NCP,CS,ERR .MCALL GCCI$,DIR$ .IF NDF $$$GLB .PSECT $DPB$$$$$=. .IFTF# GCCI$ CBUF,CBFL,IBUF,IBFL,ADDR,NCPC .IFTG .PSECT CS DIR$ #$$$,ERR .ENDC .ENDMQ / .MACRO GCCI$S CBUF,CBFL,IBUF,IBFL,ADDR,NCP,ERR, .MCALL MOV$,MVB$,DIR$ MOV$ IBFL MOV$ IBUF MOV$ CBFL MOV$ CBUF MOV$ ADDR MVB$ NCP,0B MOV (PC)+,-(SP) .BYTE 127.,7. DIR$ ,ERR .ENDMQ N .MACRO RPOI$ TNAME,PN,PR,UGC,UMC,PARENT,BUFADR,BUFLEN,SC,DNAM,UNIT,TASK,OCBAD .MCALL R50$,OFF$A .IF NDF $$$GLB. .BYTE 11.,16. R50$ TNAME$ .BLKW 3 .BYTE UMC,UGC R50$ PARENT .WORD OCBAD .WORD BUFADR, .WORD BUFLEN. .BYTE UNITR .BYTE SC .IF NB DNAM$$$T2=. .ASCII /DNAM/ .=$$$T2+2U .IFFI .WORD .ENDC R50$ TASK .ENDC .IF NDF R.POTK B .IRP X,<,,,,,> OFF$ X+ .ENDM@ .IRP X,<,,,,> OFF$ XN .ENDM OFF$ R.POTN,2 .IF DF $$$GLB .GLOBL RP.OEX,RP.OAL,RP.ONX .ENDC RP.OEX=200 RP.OAL=001 RP.ONX=002 .ENDC .ENDM RPOI$6Q V .MACRO RPOI$C TNAME,PN,PR,UGC,UMC,PARENT,BUFADR,BUFLEN,SC,DNAM,UNIT,TASK,OCBAD,CS,ERR .MCALL RPOI$,DIR$ .IF NDF $$$GLB= .PSECT $DPB$$$$$=.D .IFTFG RPOI$ TNAME,PN,PR,UGC,UMC,PARENT,BUFADR,BUFLEN,SC,DNAM,UNIT,TASK,OCBAD< .IFT1 .PSECT CS DIR$ #$$$,ERR .ENDC .ENDM RPOI$C,fQ S .MACRO RPOI$S TNAME,PN,PR,UGC,UMC,PARENT,BUFADR,BUFLEN,SC,DNAM,UNIT,TASK,OCBAD,ERRG .MCALL MVB$,MOV$,RFA$,DIR$O RFA$ TASK MOV$ DNAM MVB$ UNIT,SCO MOV$ BUFLEN MOV$ BUFADR MOV$ OCBAD RFA$ PARENT MVB$ UMC,UGC, CLR -(SP) CLR -(SP) CLR -(SP) RFA$ TNAME, MOV (PC)+,-(SP) .BYTE 11.,16. DIR$ ,ERR .ENDM RPOI$SDQ # .MACRO GCII$ BUF,BUFL,CLI,DEV,UNIT, .MCALL OFF$,R50$A .IF NDF $$$GLB< .BYTE 173.,7. .WOMRD BUF .WORD BUFLN R50$ CLIR$$$T2=. .ASCII /DEV/ .=$$$T2+2I .BYTE UNIT,0U .ENDC .IF NDF G.BUF? .IRP X,<,,,,,>R OFF$ X .ENDM$$$OST=0@ .IRP X,<,,,,> OFF$ X, .ENDM! .IRP X,<,>R OFF$ X, .ENDM .ENDC .ENDM GCII$Q + .MACRO GCII$C BUF,BUFL,CLI,DEV,UNIT,CS,ERRI .MCALL GCII$,DIR$ .IF NDF $$$GLB$ .PSECT $DPB$$ .IFTF$$$=.E GCII$ BUF,BUFL,CLI,DEV,UNIT .IFTR .PSECT CS DIR$ #$$$,ERR .ENDC .ENDMQ ( .MACRO GCII$S BUF,BUFL,CLI,DEV,UNIT,ERR .MCALL MOV$,MVB$,DIR$,RFA$. MVB$ UNIT,0 MOV$ DEV RFA$ CLI MOV$ BUFL MOV$ BUFI MOV (PC)+,-(SP) .BYTE 173.,7. DIR$ ,ERR .ENDM GCII$SQ  .MACRO SCLI$ CLI,DEV,UNIT .MCALL R50$,OFF$N .IF NDF $$$GLB .BYTE 173.,5.$$$T2=. .ASCII /DEV/, .=$$$T2+2T .BYTE UNIT,0L R50$ CLI$ .ENDC .IF NDF S.CIDVC+ .IRP X,<,,,>, OFF$ X .ENDM .ENDC .ENDM SCLI$Q " .MACRO SCLI$C CLI,DEV,UNIT,CS,ERR .MCALL SCLI$,DIR$ .IF NDF $$$GLBO .PSECT $DPB$$$$$=.B .IFTF SCLI$ CLI,DEV,UNITL .IFTV .PSECT CS DIR$ #$$$,ERR .ENDC .ENDM SCLI$C.Q  .MACRO SCLI$S CLI,DEV,UNIT,ERRA .MCALL MOV$,RFA$,DIR$ RFA$ CLI$ MVB$ UNIT,0 MOV$ DEV MOV (PC)+,-(SP) .BYTE 173.,5. DIR$ ,ERR .ENDMQ  .MACRO SCAA$ AST. .MCALL OFF$ .IF NDF $$$GLBD .BYTE 173.,2. .WORD AST .ENDC .IF NDF S.CAAEC OFF$M OFF$ S.CAAE,2 .ENDC .ENDMQ  .MACRO SCAA$C AST,CS,ERRI .MCALL SCAA$,DIR$ .IF NDF $$$GLB .PSECT $DPB$$$$$=.C .IFTF SCAA$ AST .IFTC .PSECT CS DIR$ #$$$,ERR .ENDC .ENDM SCAA$CQ  .MACRO SCAA$S AST,ERR .MCALL MOV$,DIR$A MOV$ ASTA MOV (PC)+,-(SP) .BYTE 173.,2. DIR$ ,ERR .ENDM SCAA$S3Q 6 .MACRO SDRP$ TASK,BUFADR,BUFLEN,EFN,FLAG,PARENT,OCBAD .MCALL R50$,OFF$D .IF NDF $$$GLBM .BYTE 141.,9. R50$ TASK .WORD BUFADRM .BYTE EFN,FLAG .IF NB BUFLEN .WORD BUFLEN .IFFR .WORD 13. .ENDC R50$ PARENT .WORD OCBAD .ENDC .IF NDF S.DRTK$A .IRP X,<,,,,,>. OFF$ XN .ENDM .IRP X,<,>A OFF$ XR .ENDM .IF DF $$$GLB .GLOBL SD.REX,SD.RAL,SD.RNX .ENDC SD.REX=200 SD.RAL=001 SD.RNX=002 .ENDC .ENDM SDRP$Q > .MACRO SDRP$C TASK,BUFADR,BUFLEN,EFN,FLAG,PARENT,OCBAD,CS,ERR .MCALL SDRP$,DIR$ .IF NDF $$$GLBO .PSECT $DPB$$$$$=.F .IFTF/ SDRP$ TASK,BUFADR,BUFLEN,EFN,FLAG,PARENT,OCBAD .IFT .PSECT CS DIR$ #$$$,ERR .ENDC .ENDM SDRP$C$Q ; .MACRO SDRP$S TASK,BUFADR,BUFLEN,EFN,FLAG,PARENT,OCBAD,ERR .MCALL MVB$,MOV$,RFA$,DIR$S MOV$ OCBADO RFA$ PARENT MOV$ BUFLEN MVB$ EFN,FLAG MOV$ BUFADR RFA$ TASK MOV (PC)+,-(SP) .BYTE 11.,16. DIR$ ,ERR .ENDM SDRP$SQ  .MACRO MVTS$ ACTION,ADDR,VALF .MCALL OFF$ .IF NDF $$$GLBC .BYTE 203.,4. .WORD ACTIONO .WORD ADDRB .WORD VAL .ENDC .IF NDF M.VTACR6 .IRP X,<,,,,> OFF$ XR .ENDM $$$=05 .IRP X,<,,,>B OFF$ X, .ENDM5 .IRP X,<,,,>A OFF$ X  .ENDM .ENDC .ENDM MVTS$Q % .MACRO MVTS$C ACTION,ADDR,VAL,CS,ERRE .MCALL MVTS$,DIR$ .IF NDF $$$GLB .PSECT $DPBD$ D$$$=.  .IFTF MVTS$ ACTION,ADDR,VAL .IFT. .PSECT CS DIR$ #$$$,ERR .ENDC .ENDMQ " .MACRO MVTS$S ACTION,ADDR,VAL,ERR .MCALL MOV$,DIR$, MOV$ VAL2 MOV$ ADDR MOV$ ACTION MOV (PC)+,-(SP) .BYTE 203.,4. DIR$ ,ERR .ENDMQ  .MACRO MSDS$ MASK .MCALL OFF$ .IF NDF $$$GLB. .BYTE 201.,2. .WORD MASKA .ENDC .IF NDF M.SDMAC .IRP X,<,> OFF$ X .ENDM .ENDC .ENDM MSDS$Q  .MACRO MSDS$C MASK,CS,ERR .MCALL MSDS$,DIR$ .IF NDF $$$GLBM .PSECT $DPBD$ D$$$=.F .IFTF MSDS$M MASK  .IFTR .PSECT CS DIR$ #$$$,ERR .ENDC .ENDMQ  .MACRO MSDS$S MASK,ERRR .MCALL MOV$,DIR$V MOV$ MASK MOV (PC)+,-(SP) .BYTE 201.,2. DIR$ ,ERR .ENDM`Q ! .MACRO OVAST$ SENSE,?LABL,?LABL2L MOV @#.NOVPT,-(SP) BEQ LABL, ADD #N.FAST,(SP)C .IF IDN , BICB #^O200,@(SP)+F .IFF. .IF IDN , BISB #^O200,@(SP)+A .IFFS0 .ERROR ; PARAMETER MUST BE "ALLOW" OR "INHIBIT" .ENDC .ENDC BR LABL2FLABL:F INC (SP)+LABL2: .ENDM OVAST$Q  .MACRO CSM$ SUPVR .IF IDN <(SP)+>, .WORD 007026C .IFF$ MOV SUPVR,-(SP) .WORD 007026S .ENDC .ENDM CSM$D! .MACRO OVAST$ SENSE,?LABL,?LABL2L MOV @#.NOVPT,-(SP) BEQ LABL, ADD #N.FAST,(SP)C .IF IDN , BICB #^O200,@(SP)+F .IFF. .IF IDN , BISB #^O200,@(SP)+A .IFFS0 .ERROR ; PARAMETER MUST BE "ALLOW" OR "INHIBIT" .ENDC .ENDC BR LABL2FLABL:F INC (NBACKUPDR1:[12,304]RSXMACID .MAC;1&&V150$ PAREPUKCABCN.NV&&skQ8kQ29DEC8110300029DEC81102959%P 3N% .MACRO MVTS$C ACTION,ADDR,VAL,CS,ERR .MCALL MVTS$,DIR$ .IF NDF $$$GLB  .PSECT $DPB$.,D$$$=.W .IFTF MVTS$ ACTION,ADDR,VAL .IFT. .PSECT CS DIR$ #$$$,ERR .ENDC .ENDM .MACRO MSDS$C MASK,CS,ERR .MCALL MSDS$,DIR$ .IF NDF $$$GLBI .PSECT $DPB$.,D$$$=.T .IFTF MSDS$ MASK  .IFTI .PSECT CS DIR$ #$$$,ERR .ENDC .ENDM .MACRO ATRG$C RDB,CS,ERR .MCALL ATRG$,DIR$ .IF NDF $$$GLB. .PSECT $DPB$.,D$$$=. .IFTF ATRG$ RDB .IFT. .PSECT CS DIR$ #$$$,ERR .ENDC .ENDM ATRG$CO D V .MACRO CPCR$C NAME,CS,ERR .MCALL CPCR$,DIR$ .IF NDF $$$GLBD .PSECT $DPB$.,D$$$=.A .IFTF CPCR$ NAME. .IFTC .PSECT CS DIR$ #$$$,ERR .ENDC .ENDM CPCR$CS C S .MACRO CRRG$C RDB,CS,ERR$ .MCALL CRRG$,DIR$ .IF NDF $$$GLB .PSECT $DPB$.,D$$$=.S .IFTF CRRG$ RDB .IFTR .PSECT CS DIR$ #$$$,ERR .ENDC .ENDM CRRG$CC R  .MACRO DTRG$C RDB,CS,ERRF .MCALL DTRG$,DIR$ .IF NDF $$$GLB. .PSECT $DPB$.,D$$$=. .IFTF DTRG$ RDB .IFT .PSECT CS DIR$ #$$$,ERR .ENDC .ENDM DTRG$C, E  .MACRO GREG$C RID,BUF,CS,ERR$ .MCALL GREG$,DIR$ .IF NDF $$$GLBF .PSECT $DPB$.,D$$$=.. .IFTF GREG$ RID,BUF .IFTC .PSECT CS DIR$ #$$$,ERR .ENDC .ENDM GREG$C$ . L .MACRO CRAW$C WDB,CS,ERRL .MCALL CRAW$,DIR$ .IF NDF $$$GLB .PSECT $DPB$.,D$$$=.C .IFTF CRAW$ WDB .IFTC .PSECT CS DIR$ #$$$,ERR .ENDC .ENDM CRAW$CF . L .MACRO ELAW$C WDB,CS,ERRL .MCALL ELAW$,DIR$ .IF NDF $$$GLB .PSECT $DPB$.,D$$$=.C .IFTF ELAW$ WDB .IFTC .PSECT CS DIR$ #$$$,ERR .ENDC .ENDM ELAW$C, $ . .MACRO GMCX$C WVEC,CS,ERR .MCALL GMCX$,DIR$ .IF NDF $$$GLBF .PSECT $DPB$.,D$$$=.C .IFTF GMCX$ WVEC$ .IFT .PSECT CS DIR$ #$$$,ERR .ENDC .ENDM GMCX$CC R  .MACRO MAP$C WDB,CS,ERR .MCALL MAP$,DIR$  .IF NDF $$$GLB .PSECT $DPB$.,D$$$=.C .IFTF MAP$ WDB  .IFTR .PSECT CS DIR$ #$$$,ERR .ENDC .ENDM MAP$C C R .MACRO RREF$C WDB,CS,ERRF .MCALL RREF$,DIR$ .IF NDFN $$$GLBC .PSECT $DPB$.,D$$$=.F .IFTF RREF$ WDB .IFTE .PSECT CS DIR$ #$$$,ERR .ENDC .ENDM RREF$CW , E" .MACRO SREF$C TASK,WDB,EFN,CS,ERR .MCALL SREF$,DIR$ .IF NDF $$$GLBF .PSECT $DPB$.,D$$$=.. .IFTF SREF$ TASK,WDB,EFNN .IFTN .PSECT CS DIR$ #$$$,ERR .ENDC .ENDM SREF$CL A D .MACRO SRRA$C AST,CS,ERRS .MCALL SRRA$,DIR$ .IF NDF $$$GLBD .PSECT $DPB$.,D$$$=.D .IFTF SRRA$ AST .IFTM .PSECT CS DIR$ #$$$,ERR .ENDC .ENDM SRRA$C  F I .MACRO UMAP$C WDB,CS,ERRC .MCALL UMAP$,DIR$ .IF NDF $$$GLBB .PSECT $DPB$.,D$$$=.R .IFTF UMAP$ WDB .IFTR .PSECT CS DIR$ #$$$,ERR .ENDC .ENDM UMAP$C C ) .MACRO CRVT$C IAST,OAST,AAST,MLEN,CS,ERR. .MCALL CRVT$,DIR$ .IF NDF $$$GLBF .PSECT $DPB$.,D$$$=.D .IFTF CRVT$ IAST,OAST,AAST,MLEN .IFTD .PSECT CS DIR$ #$$$,ERR .ENDC .ENDM CRVT$C. .MACRO ELVT$C UNUM,CS,ERR .MCALL ELVT$,DIR$ .IF NDF $$$GLB .PSECT $DPB$.,D$$$=.R .IFTF ELVT$ UNUM$ .IFT .PSECT CS DIR$ #$$$,ERR .ENDC .ENDM ELVT$CN .MACRO SPWN$C TNAME,PN,PR,UGC,UMC,EFN,EAST,ESB,CMDLIN,CMDLEN,UNIT,DNAM,CS,ERR .MCALL SPWN$,DIR$ .IF NDF $$$GLB .PSECT $DPB$.,D$$$=.I .IFTF; SPWN$ TNAME,,,UGC,UMC,EFN,EAST,ESB,CMDLIN,CMDLEN,UNIT,DNAMS .IFTB .PSECT CS DIR$ #$$$,ERR .ENDC .ENDM SPWN$C.( .MACRO CNCT$C TNAME,EFN,EAST,ESB,CS,ERR .MCALL CNCT$,DIR$ .IF NDF $$$GLBS .PSECT $DPB$.,D$$$=. .IFTF CNCT$ TNAME,EFN,EAST,ESB .IFT .PSECT CS DIR$ #$$$,ERR .ENDC .ENDM CNCT$C$" .MACRO EMST$C TNAME,STATUS,CS,ERR .MCALL EMST$,DIR$ .IF NDF $$$GLB, .PSECT $DPB$.,D$$$=.A .IFTF EMST$ TNAME,STATUS .IFTF .PSECT CS DIR$ #$$$,ERR .ENDC .ENDM EMST$CT .MACRO STLO$C GRP,MSK,CS,ERRC .MCALL STLO$,DIR$ .IF NDF $$$GLB .PSECT $DPB$.,D$$$=.. .IFTF STLO$ GRP,MSK .IFTC .PSECT CS DIR$ #$$$,ERR .ENDC .ENDM STLO$CF .MACRO STSE$C EFN,CS,ERR .MCALL STSE$,DIR$ .IF NDF $$$GLB, .PSECT $DPB$.,D$$$=. .IFTF STSE$ EFN .IFTN N .PSECT CS DIR$ #$$$,ERR .ENDC .ENDM STSE$C .MACRO STOP$C CS,ERRF .MCALL STOP$,DIR$ .IF NDF $$$GLB. .PSECT $DPB$.,D$$$=. .IFTF STOP$ .IFTD .PSECT CS DIR$ #$$$,ERR .ENDC .ENDM STOP$CT .MACRO USTP$C TNAME,CS,ERRO .MCALL USTP$,DIR$ .IF NDF $$$GLBB .PSECT $DPB$.,D$$$=.L .IFTF USTP$ TNAME .IFTS .PSECT CS DIR$ #$$$,ERR .ENDC .ENDM USTP$CR, .MACRO SDRC$C TNAME,BUF,EFN,EAST,ESB,CS,ERR .MCALL SDRC$,DIR$ .IF NDF $$$GLB. .PSECT $DPB$.,D$$$=. .IFTF SDRC$ TNAME,BUF,EFN,EAST,ESBN .IFT$ .PSECT CS DIR$ #$$$,ERR .ENDC .ENDM SDRC$C .MACRO RCST$C TNAME,BUF,CS,ERR$ .MCALL RCST$,DIR$ .IF NDF $$$GLB  .PSECT $DPB$.,D$$$=.C .IFTF RCST$ TNAME,BUF .IFTP .PSECT CS DIR$ #$$$,ERR .ENDC .ENDM RCST$CL( .MACRO SMSG$C TGT,BUF,LEN,PRMLST,CS,ERR .MCALL SMSG$,DIR$ .IF NDF $$$GLBE .PSECT $DPB$.,D$$$=.R .IFTF SMSG$ TGT,BUF,LEN,S .IFTS .PSECT CS DIR$ #$$$,ERR .ENDC .ENDM2 .MACRO GCCI$C CBUF,CBFL,IBUF,IBFL,ADDR,NCP,CS,ERR .MCALL GCCI$,DIR$ .IF NDF $$$GLB$ .PSECT $DPB$.,D$$$=.R .IFTF# GCCI$ CBUF,CBFL,IBUF,IBFL,ADDR,NCP. .IFTC .PSECT CS DIR$ #$$$,ERR .ENDC .ENDMV .MACRO RPOI$C TNAME,PN,PR,UGC,UMC,PARENT,BUFADR,BUFLEN,SC,DNAM,UNIT,TASK,OCBAD,CS,ERR .MCALL RPOI$,DIR$ .IF NDF $$$GLBM .PSECT $DPB$.,D$$$=., .IFTFG RPOI$ TNAME,PN,PR,UGC,UMC,PARENT,BUFADR,BUFLEN,SC,DNAM,UNIT,TASK,OCBADL .IFT. .PSECT CS DIR$ #$$$,ERR .ENDC .ENDM RPOI$C+ .MACRO GCII$C BUF,BUFL,CLI,DEV,UNIT,CS,ERRE .MCALL GCII$,DIR$ .IF NDF $$$GLBL .PSECT $DPB$.,D .IFTF$$$=.F GCII$ BUF,BUFL,CLI,DEV,UNIT .IFTC .PSECT CS DIR$ #$$$,ERR .ENDC .ENDM" .MACRO SCLI$C CLI,DEV,UNIT,CS,ERR .MCALL SCLI$,DIR$ .IF NDF $$$GLBA .PSECT $DPB$.,D$$$=. .IFTF SCLI$ CLI,DEV,UNIT$ .IFT .PSECT CS DIR$ #$$$,ERR .ENDC .ENDM SCLI$CR .MACRO SCAA$C AST,CS,ERRC .MCALL SCAA$,DIR$ .IF NDF $$$GLBC .PSECT $DPB$.,D$$$=.N .IFTF SCAA$ AST .IFTA .PSEC NT CS DIR$ #$$$,ERR .ENDC .ENDM SCAA$CC> .MACRO SDRP$C TASK,BUFADR,BUFLEN,EFN,FLAG,PARENT,OCBAD,CS,ERR .MCALL SDRP$,DIR$ .IF NDF $$$GLBC .PSECT $DPB$.,D$$$=.N .IFTF/ SDRP$ TASK,BUFADR,BUFLEN,EFN,FLAG,PARENT,OCBADL .IFT, .PSECT CS DIR$ #$$$,ERR .ENDC .ENDM SDRP$C. .MACRO ABRT$C TSK,PSCT,ERR .MCALL ABRT$,DIR$ .IF NDF $$$GLB .PSECT $DPB$.,D$$$=.R .IFTF ABRT$ TSK .IFTL .PSECT PSCT DIR$ #$$$,ERR .ENDC .ENDM ABRT$C=# .MACRO ALTP$C TTASK,NPRIO,PSCT,ERR  .MCALL ALTP$,DIR$ .IF NDF $$$GLBA .PSECT $DPB$.,D$$$=.T .IFTF ALTP$ TTASK,NPRIO .IFTC .PSECT PSCT DIR$ #$$$,ERR .ENDC .ENDM ALTP$CS .MACRO ALUN$C LUN,DA,DU,CS,ERR$ .MCALL ALUN$,DIR$ .IF NDF $$$GLBC .PSECT $DPB$.,D$$$=. .IFTF ALUN$ LUN,DA,DU .IFTR .PSECT CS DIR$ #$$$,ERR .ENDC .ENDM ALUN$CT .MACRO ASTX$C PSCT,ERR. .MCALL ASTX$,DIR$ .IF NDF $$$GLB$ .PSECT $DPB$.,D$$$=.T .IFTF ASTX$ .IFTC .PSECT PSCT DIR$ #$$$,ERR .ENDC .ENDM ASTX$CR0 .MACRO CINT$C VEC,BASE,ISR,DSI,PSW,AST,PSCT,ERR .MCALL CINT$,DIR$ .IF NDF $$$GLBR .PSECT $DPB$.,D$$$=. .IFTF CINT$ VEC,BASE,ISR,DSI,PSW,AST .IFT .PSECT PSCT DIR$ #$$$,ERR .ENDC .ENDM CINT$CF .MACRO CLEF$C EFN,CS,ERR$ .MCALL CLEF$,DIR$ .IF NDF $$$GLBR .PSECT $DPB$.,D$$$=.E .IFTF CLEF$ EFN .IFT .PSECT CS DIR$ #$$$,ERR .ENDC .ENDM CLEF$CF .MACRO CMKT$C EFN,AST,PSCT,ERRT .MCALL CMKT$,DIR$ .IF NDF $$$GLBT .PSECT $DPB$.,D$$$=. .IFTF CMKT$ EFN,AST .IFTT .PSECT PSCT DIR$ #$$$,ERR .ENDC .ENDM CMKT$CI .MACRO CRGF$C GROUP,CS,ERRB .MCALL CRGF$,DIR$ .IF NDF $$$GLB, .PSECT $DPB$.,D$$$=. .IFTF CRGF$ GROUP .IFT .PSECT CS DIR$ #$$$,ERR .ENDC .ENDM CRGF$C$ .MACRO CSRQ$C TT,RT,CS,ERR$ .MCALL CSRQ$,DIR$ .IF NDF $$$GLBF .PSECT $DPB$.,D$$$=.S .IFTF CSRQ$ TT,RT .IFTC .PSECT CS DIR$ #$$$,ERR .ENDC .ENDM CSRQ$CR .MACRO DECL$C EFN,PSCT,ERR$ .MCALL DECL$,DIR$ .IF NDF $$$GLBF .PSECNT $DPB$.,D$$$=.T .IFTF DECL$ EFN .IFTE .PSECT PSCT DIR$ #$$$,ERR .ENDC .ENDM DECL$CC .MACRO DSAR$C PSCT,ERR. .MCALL DSAR$,DIR$ .IF NDF $$$GLB= .PSECT $DPB$.,D$$$=. .IFTF DSAR$ .IFTR .PSECT PSCT DIR$ #$$$,ERR .ENDC .ENDM DSAR$CC .MACRO DSCP$C PSCT,ERR, .MCALL DSCP$,DIR$ .IF NDF $$$GLB. .PSECT $DPB$.,D$$$=.$ .IFTF DSCP$ .IFT .PSECT PSCT DIR$ #$$$,ERR .ENDC .ENDM DSCP$CR .MACRO ELGF$C GROUP,CS,ERRE .MCALL ELGF$,DIR$ .IF NDF $$$GLBD .PSECT $DPB$.,D$$$=.D .IFTF ELGF$ GROUP .IFTT .PSECT CS DIR$ #$$$,ERR .ENDC .ENDM ELGF$CR .MACRO ENAR$C PSCT,ERRS .MCALL ENAR$,DIR$ .IF NDF $$$GLBD .PSECT $DPB$.,D$$$=.D .IFTF ENAR$ .IFTS .PSECT PSCT DIR$ #$$$,ERR .ENDC .ENDM ENAR$CR .MACRO ENCP$C PSCT,ERRS .MCALL ENCP$,DIR$ .IF NDF $$$GLBD .PSECT $DPB$.,D$$$=.D .IFTF ENCP$ .IFTS .PSECT PSCT DIR$ #$$$,ERR .ENDC .ENDM ENCP$CR .MACRO EXIF$C EFN,CS,ERR  .MCALL EXIF$,DIR$ .IF NDF $$$GLB  .PSECT $DPB$.,D$$$=. .IFTF EXIF$ EFN .IFTC .PSECT CS DIR$ #$$$,ERR .ENDC .ENDM EXIF$C. .MACRO EXIT$C PSCT,ERRL .MCALL EXIT$,DIR$ .IF NDF $$$GLBC .PSECT $DPB$.,D$$$=.F .IFTF EXIT$ .IFTC .PSECT PSCT DIR$ #$$$,ERR .ENDC .ENDM EXIT$C. .MACRO EXST$C STS,CS,ERR  .MCALL EXST$,DIR$ .IF NDF $$$GLB  .PSECT $DPB$.,D$$$=. .IFTF EXST$ STS .IFTT .PSECT CS DIR$ #$$$,ERR .ENDC .ENDM EXST$CR .MACRO EXTK$C INC,CS,ERRX .MCALL EXTK$,DIR$ .IF NDF $$$GLBD .PSECT $DPB$.,D$$$=.E .IFTF EXTK$ INC .IFTS .PSECT CS DIR$ #$$$,ERR .ENDC .ENDM EXTK$CR- .MACRO GIN$C SFCN,P1,P2,P3,P4,P5,P6,P7,P8,P9$ .MCALL GIN$,DIR$,GFN$,OFF$F .IF NDF $$$GLB .PSECT $DPB$.,D$$$=.R .IFTF GFN$N? .NARG $$$N ,H$$$I=$$$N ? .BYTE 169.,$$$N+1 R> .IRP $$$PRM, @ .IF EQ $$$I A .MEXIT ,A .IFF H$$$I=$$$I-1 A .ENDC ? .WORD $$$PRM A .ENDR ,A .IF NDF G.INSF A .NLIST > .IRP X,<,,,,> > OFF$ X A .ENDR = .IRP X,<,,> > OFF$ X A .ENDR S= .IRP X,<,,> > OFF$ X A .ENDR A .ENDC A .IFT P@ .PSECT CS > DIR$ #$$$ A .ENDC 7 .ENDM GIN$C .MACRO GLUN$C LUN,BUFA,CS,ERR  .MCALL GLUN$,DIR$ .IF NDF $$$GLB  .PSECT $DPB$.,D$$$=.R .IFTF GLUN$ LUN,BUFA  .IFT .PSECT CS DIR$ #$$$,ERR .ENDC .ENDM GLUN$C   .MACRO GMCR$C CS,ERR  .MCALL GMCR$,DIR$ .IF NDF $$$GLB  .PSECT $DPB$.,D$$$=.  .IFTF GMCR$ .IFTS .PSECT CS DIR$ #$$$,ERR .ENDC .ENDM GMCR$C  .MACRO GPRT$C PRT,BUF,CS,ERR  .MCALL GPRT$,DIR$ .IF NDF $$$GLB .PSECT $DPB$.,D$$$=.  .IFTFN GPRT$ PRT,BUF .IFT .PSECT CS DIR$ #$$$,ERR .ENDC .ENDM GPRT$CU .MACRO GSSW$C PSCT,ERR$ .MCALL GSSW$,DIR$ .IF NDF $$$GLB .PSECT $DPB$.,D$$$=.N .IFTF GSSW$ .IFT .PSECT PSCT DIR$ #$$$,ERR .ENDC .ENDM GSSW$CR .MACRO GTIM$C BUFA,CS ERR .MCALL GTIM$,DIR$ .IF NDF $$$GLB. .PSECT $DPB$.,D$$$=.$ .IFTF GTIM$ BUFA .IFT$ .PSECT CS DIR$ #$$$,ERR .ENDC .ENDM GTIM$CP .MACRO GTSK$C BUFA,CS,ERR .MCALL GTSK$,DIR$ .IF NDF $$$GLBD .PSECT $DPB$.,D$$$=.P .IFT GTSK$ BUFAC .IFTD .PSECT CS DIR$ #$$$,ERR .ENDC .ENDM GTSK$CS .MACRO IHAR$C PSCT,ERRI .MCALL DSAR$C DSAR$C PSCT,ERR .ENDM IHAR$C." .MACRO MRKT$C EF,TM,TU,AST,CS,ERR .MCALL MRKT$,DIR$ .IF NDF $$$GLB .PSECT $DPB$.,D$$$=.E .IFTF MRKT$ EF,TM,TU,ASTN .IFTL .PSECT CS DIR$ #$$$,ERR .ENDC .ENDM MRKT$C6 .MACRO QIO$C FNC,LUN,EFN,PRI,IOST,AST,PRMLST,PSCT,ERR .MCALL QDPB$,DIR$ .IF NDF $$$GLBL .PSECT $DPB$.,D$$$=.$ .IFTF* QDPB$ 1,FNC,LUN,EFN,PRI,IOST,AST, .IFTD .PSECT PSCT DIR$ #$$$,ERR .ENDC .ENDM QIO$C7 .MACRO QIOW$C FNC,LUN,EFN,PRI,IOST,AST,PRMLST,PSCT,ERRT .MCALL QDPB$,DIR$ .IF NDF $$$GLBT .PSECT $DPB$.,D$$$=.. .IFTF* QDPB$ 3,FNC,LUN,EFN,PRI,IOST,AST, .IFTE .PSECT PSCT DIR$ #$$$,ERR .ENDC .ENDM QIOW$CD .MACRO RDAF$C BA,CS,ERR .MCALL RDAF$,DIR$ .IF NDF $$$GLBF .PSECT $DPB$.,D$$$=.T .IFTF RDAF$ BA, .IFT. .PSECT CS DIR$ #$$$,ERR .ENDC .ENDM RDAF$CQ .MACRO RDEF$C EFN,CS,ERR, .MCALL RDEF$,DIR$ .IF NDF $$$GLB  .PSECT $DPB$.$$$=.M .IFTF RDEF$ EFN .IFTF .PSECT CS DIR$ #$$$,ERR .ENDC .ENDM RDEF$CD .MACRO RDXF$C BA,CS,ERR .MCALL RDXF$,DIR$ .IF NDF $$$GLB$ .PSECT $DPB$.,D$$$=.S .IFTF RDXF$ BA .IFT .PSECT CS DIR$ #$$$,ERR .ENDC .ENDM RDXF$CA .MACRO RCVD$C TN,BA,CS,ERRF .MCALL RCVD$,DIR$ .IF NDF $$$GLBB .PSECT $DPB$.,D$$$=.A .IFTF RCVD$ TN,BA .IFTD .PSECT CS DIR$ #$$$,ERR .ENDC .ENDMN RCVD$CD .MACRO RCVX$C TN,BA,CS,ERRI .MCALL RCVX$,DIR$ .IF NDF $$$GLB .PSECT $DPB$.,D$$$=.N .IFTF RCVX$ TN,BA .IFT$ .PSECT CS DIR$ #$$$,ERR .ENDC .ENDM RCVX$CB# .MACRO RQST$C TN,PN,PR,GC,P,CS,ERR$ .MCALL RQST$,DIR$ .IF NDF $$$GLBF .PSECT $DPB$.,D$$$=.S .IFTF RQST$ TN,PN,PR,GC,P .IFTM .PSECT CS DIR$ #$$$,ERR .ENDC .ENDM .MACRO RSUM$C TN,CS,ERR .MCALL RSUM$,DIR$ .IF NDF $$$GLBF .PSECT $DPB$.,D$$$=. .IFTF RSUM$ TN$ .IFT .PSECT CS DIR$ #$$$,ERR .ENDC .ENDM RSUM$C,/ .MACRO RUN$C TN,PN,PR,UG,UP,SM,SU,RM,RU,CS,ERRD .MCALL RUN$,DIR$F .IF NDF $$$GLB .PSECT $DPB$.,D$$$=.  .IFTF RUN$ TN,PN,PR,UG,UP,SM,SU,RM,RU .IFTT .PSECT CS DIR$ #$$$,ERR .ENDC .ENDM RUN$C .MACRO SDAT$C TN,BA,EFN,CS,ERRS .MCALL SDAT$,DIR$ .IF NDF $$$GLBM .PSECT $DPB$.,D$$$=.E .IFTF SDAT$ TN,BA,EFN .IFTS .PSECT CS DIR$ #$$$,ERR .ENDC .ENDM SDAT$CF .MACRO SETF$C EFN,CS,ERRF .MCALL SETF$,DIR$ .IF NDF $$$GLBD .PSECT $DPB$.,D$$$=.N .IFTF SETF$ EFN .IFT$ .PSECT CS DIR$ #$$$,ERR .ENDC .ENDM SETF$CD .MACRO SFPA$C AST,CS,ERR  .MCALL SFPA$,DIR$ .IF NDF $$$GLB, .PSECT $DPB$.,D$$$=.F .IFTF SFPA$ AST .IFTE .PSECT CS DIR$ #$$$,ERR .ENDC .ENDM SFPA$CE! .MACRO SNXC$C DEVICE,UNIT,CS,ERRF .MCALL SNXC$,DIR$ .IF NDF $$$GLB. .PSECT $DPB$.,D$$$=.. .IFTF SNXC$ DEVICE,UNIT .IFT. .PSECT CS DIR$ #$$$,ERR .ENDC .ENDM SNXC$CF .MACRO SPEA$C AST,CS,ERR$ .MCALL SPEA$,DIR$ .IF NDF $$$GLBF .PSECT $DPB$.,D$$$=.. .IFTF SPEA$ AST .IFT. .PSECT CS DIR$ #$$$,ERR .ENDC .ENDM SPEA$C  .MACRO SPND$C PSCT,ERRF .MCALL SPND$,DIR$ .IF NDF $$$GLB. .PSECT $DPB$.,D$$$=. .IFTF SPND$ .IFTE .PSECT PSCT DIR$ #$$$,ERR .ENDC .ENDM SPND$C, .MACRO SPRA$C AST,CS,ERR$ .MCALL SPRA$,DIR$ .IF NDF $$$GLB .PSECT $DPB$.,D$$$=.V .IFTF SPRA$ AST .IFTS .PSECT CS DIR$ #$$$,ERR .ENDC .ENDM SPRA$CR .MACRO SRDA$C AST!N,CS,ERRP .MCALL SRDA$,DIR$ .IF NDF $$$GLBD .PSECT $DPB$.,D$$$=.S .IFTF SRDA$ AST .IFTS .PSECT CS DIR$ #$$$,ERR .ENDC .ENDM SRDA$CR .MACRO SREA$C AST,CS,ERRD .MCALL SREA$,DIR$ .IF NDF $$$GLBB .PSECT $DPB$.,D$$$=.N .IFTF SREA$ AST .IFTD .PSECT CS DIR$ #$$$,ERR .ENDC .ENDM SREA$CP .MACRO SREX$C AST,BUF,CS,ERR$ .MCALL SREX$,DIR$ .IF NDF $$$GLB .PSECT $DPB$.$$$=.A .IFTF SREX$ AST,BUF .IFT$ .PSECT CS DIR$ #$$$,ERR .ENDC .ENDM SREX$CA .MACRO STAF$C AFF,CS,ERR .MCALL STAF$,DIR$ .IF NDF $$$GLB$ .PSECT $DPB$.,D$$$=. .IFTF STAF$ AFF .IFT$ .PSECT CS DIR$ #$$$,ERR .ENDC .ENDM STAF$CA .MACRO STIM$C NBUF,OBUF,CS,ERRN .MCALL STIM$,DIR$ .IF NDF $$$GLB .PSECT $DPB$.,D$$$=.D .IFTF STIM$ NBUF,OBUF .IFTN .PSECT CS DIR$ #$$$,ERR .ENDC .ENDM STIM$CR .MACRO SVDB$C AD,LN,CS,ERR$ .MCALL SVDB$,DIR$ .IF NDF $$$GLBF .PSECT $DPB$.,D$$$=. .IFTF SVDB$ AD,LN .IFT. .PSECT CS DIR$ #$$$,ERR .ENDC .ENDM SVDB$C .MACRO SVTK$C ADR,LEN,CS,ERRL .MCALL SVTK$,DIR$ .IF NDF $$$GLB .PSECT $DPB$.,D$$$=.C .IFTF SVTK$ ADR,LEN .IFT. .PSECT CS DIR$ #$$$,ERR .ENDC .ENDM SVTK$C .MACRO ULGF$C CS,ERRF .MCALL ULGF$,DIR$ .IF NDF $$$GLB. .PSECT $DPB$.,D$$$=.. .IFTF ULGF$ .IFT .PSECT CS DIR$ #$$$,ERR .ENDC .ENDM ULGF$CC% .MACRO VRCD$C TN,BA,BL=13.,TI,CS,ERRF .MCALL VRCD$,DIR$ .IF NDF $$$GLB. .PSECT $DPB$.,D$$$=.. .IFTF VRCD$ TN,BA,BL,TI .IFTC .PSECT CS DIR$ #$$$,ERR .ENDC .ENDM VRCD$CL% .MACRO VRCS$C TN,BA,BL=13.,TI,CS,ERRS .MCALL VRCS$,DIR$ .IF NDF $$$GLBA .PSECT $DPB$.,D$$$=.S .IFTF VRCS$ TN,BA,BL,TI .IFTT .PSECT CS DIR$ #$$$,ERR .ENDC .ENDM VRCS$C$% .MACRO VRCX$C TN,BA,BL=13.,TI,CS,ERR. .MCALL VRCX$,DIR$ .IF NDF $$$GLB .PSECT $DPB$.,D$$$=.. .IFTF VRCX$ TN,BA,BL,TI .IFT, .PSECT CS DIR$ #$$$,ERR .ENDC .ENDM VRCX$C$. .MACRO VSDA$C TN,BA,BL=13.,EFN,SPRI,TI,CS,ERR%N .MCALL VSDA$,DIR$ .IF NDF $$$GLB$ .PSECT $DPB$.,D$$$=.C .IFTF VSDA$ TN,BA,BL,EFN,SPRI,TI, .IFTR .PSECT CS DIR$ #$$$,ERR .ENDC .ENDM VSDA$CD3 .MACRO VSRC$C TNAME,BUF,BUFLEN,EFN,EAST,ESB,CS,ERRC .MCALL VSRC$,DIR$ .IF NDF $$$GLBV .PSECT $DPB$.,D$$$=.C .IFTF$ VSRC$ TNAME,BUF,BUFLEN,EFN,EAST,ESB .IFTF .PSECT CS DIR$ #$$$,ERR .ENDC .ENDM VSRC$CT .MACRO WSIG$C PSCT,ERRS .MCALL WSIG$,DIR$ .IF NDF $$$GLB$ .PSECT $DPB$.,D$$$=., .IFTF WSIG$ .IFTS .PSECT PSCT DIR$ #$$$,ERR .ENDC .ENDM WSIG$CD .MACRO WTLO$C SET,MASK,CS,ERR .MCALL WTLO$,DIR$ .IF NDF $$$GLBS .PSECT $DPB$.,D$$$=. .IFTF WTLO$ SET,  .IFTT .PSECT CS DIR$ #$$$,ERR .ENDC .ENDM WTLO$C, .MACRO WTSE$C EF,CS,ERR .MCALL WTSE$,DIR$ .IF NDF $$$GLBA .PSECT $DPB$.,D$$$=.B .IFTF WTSE$ EFS .IFT .PSECT CS DIR$ #$$$,ERR .ENDC .ENDM WTSE$CCSCT,ERRS .MCALL WSIG$,DIR$ .IF NDF $$$GLB$ .PSECT $DPB$.,D$$$=., .IFTF WSIG$ .IFTS .PSOBACKUPDR1:[12,304]SYSLIB .OLB;1c,ERR .PUKCAB]cO.OzjL_29DEC8110300129DEC81103000vO<0Q   ~&>s^63^4f_F VN_r +`( (I . %I 2&I (I PdI (I :I `I XI  . 5 q e^I I p I(ITII,a `TatI0 b}sCps`(%tT+`(}t)W)W))X)X)Z)Z, -D-E....22.2p22銹22ً3^s3s:Kb{a<yf*2+`(d6&Id&Id(Itp!!`('!%v6!}v[!}wq!bxq!ya #n~b#}b#OqcD#c#""#w# z###.##y#y#N&#y#v~%I%I%I%r!I%#I% #I%#I%LI%ZI%kfI% qI%tI%wI%xI%I%CI%I<&kI<&DI<&%I<&I<&zI<&(I<&w*I<&:I<&H;I<&SI<&`I<&eI<&fI<&fI<&pI<&pI<&KqI<&%tI<&iwI<&lyI<&9I<&Ip&&I&ZI&]fI&tI&tI&CyI'I'IRI' qI'ąI'I(yI( I(QI)I)l^)[MI) I)PI),I)nEI)sEI)EI)_GI)GI)2HI)4I)ZI)p l^)'I)TyI)I)%I)'I)^I)PsI)I)%I)WI)WI)I)ZI)8I)xl^)` l^)pI) I) I)w I)pI)KqI)I)%l^)5l^)I)t I)I)I)BxI)I)!I)dIO)VgI)[}I)p l^)l^)l^)XI)pI)I)It*N(t*N(t*N(t*GN(t*I"N(t*3N(t*NN(t*rN(t*sN(t*sN(t*sN(t*zN(t*N(t*N(t*bN(t*։N(*4N(*N(*N(*N(*8&N(*@,N(*@wN(*wN(T,KT,T,T,,d,1r,VNed,Qe,:de,Oqd,u~{,f-d>.Qr#0#0#0#0#09#0D#0L#0M#0v#0#0)#04#0#0#0T#0U#0#0#0x#08#08#08#08#08#08#08#08#0:#0k;#0;#0;,0,0,0σ,02,05,0q,0-0-0100p00q00s00s00s20,20,20,-20.20.40840840840840940Q:40W:40;;40:<40w40uw40w40w40x40x40Cy40Ny40Ry40y40y40y40y401z40wN(:KwN(:iwN(:owN(:wN(:wN(:xN(:xN(:xN(:ByN(:FyN(:WyN(:yN(:yN(:yN(:yN(:azN(:zN(:}N(:N(:N(:N(:N(:+N(:|N(:AN(:iN(:yN(:N(:N(:$N(:CN(:dN(:hN(:N(:N(:N(:N(:N(:ۑN(:N(:BN(:DN(:N(:2N(:N(:1N(:;KN(;@jN(;vN(;LN(;N(@;(`$T;N(T;8N(T;N(T;N(T;7N(T;!N(T;;"N(T;I"N(T;dN(T;4fN(T;$qN(T;wN(T;DyN(T; zN(T;*}N(T;N(T;3N(KlOpl^xQ`(zQDf|S]g|T|(T(T(T(TTTLTQUQdU-}U}UUVU U+}U,}UV}UqWIWIWzIWWIWwIWwIWxIWyIWBzIWIWZIW@IY`$[K.[YI[YI[o.["I[8I[;I[}.[I[L .[8I[WI O[YI[I[ZI[`.[Kr.[#I[y.[V[.[ l^[<}I[\}.[.[XIeffffffffgikckZN(n]n^n^n_nL`nR`n` q}y&Iqj IqmxKq jKq^jYqk[qMksrjr%ys@8ys]s^s`Us%k,st sss#sQs,Xs`XsLqs}ssn[t{8[tƹ[tƹ[tƹtwtytt t{N(?{0N(?{pN(?{N(?{N(?{pN(?{NN(@{0N(@{NN(@{NN(A{0N(A{N(B{NN(C{N(D{0N(E{N(E{N(G{N(O}N(}N(}N(}4N(}N(}H N(} N(}kN(}N(}>N(}N(}N(}N(}N(}N(}!N(}I"N(}8&N(}](N(}2N(}2N(}T3N(}3N(}O:N(}D;N(}KN(}MN(}vNN(}QN(}WN(}KXN(}:YN(}`YN(}ZN(}ZN(}:dN(}fN(}iN(}pN(}UqN(}sN(}HwN(}JwN(}wN(}xN(}xN(}xN(}xN(}yN(}8}N(}V}N(}]}N(}c}N(}0N(}փN(}׃N(}؃N(}كN(}ڃN(}ۃN(}܃N(}݃N(}ރN(}߃N(}|N(},N(}N(}N( ~L N( ~ N( ~GN( ~I"N( ~YN( ~pN( ~ qN( ~rN( ~rN( ~sN( ~zN( ~N( ~N( ~N( ~$N( ~ۑN( ~{N( ~^N(a |N(a |N(k |N(l8 N(l N(l N(l N(lN(lN(lN(lN(lN(sN(uVYN(uyN(uyN(uyN(uyN(uyN(vӁN(vN(vN(vN(vN(vN(vN(vN(vN(vN(vN(vN('%}`(Ldf.SSvS|@i` 8Tōwʍ8T}i~b`oÐHXp,ԒԒԒԒ7!Ԓ#ԒxQԒWԒWԒqԒLqԒ[qԒVsԒ;xԒԒ}ԒԒR:c.. .8.K. L.^.q.Bx.y.y4w Z""~@,}C,}!ZXY0YZ[\]^_`9}09xn9z:<::::":_:`:(}::Z<w:}} Ա2&EpԱ&EpԱ(EpձCձSF6ձWDֱfaEpoF0 0# 02XFD`;G2&Ep&Ep(EpfaEpe;H*pѲ:Iܲ""p&ܲ#pܲ#pܲ`qtܲ)dqܲGdqܲ@wqaK3a[M3aVNb2bG3c2 7cIqcd?!4@d)&=d85d85d85d;6dȝDe&7e&7eM7eM7eM7eM7eZe$3e?3f4ft:fy::Lgg<gggggg,gCgRggggg}:,iHm&5mlE;mK5mo<<p# ?8ph<pl=pJ,?HpK,?pZpiw=pvw>pw:pT.@M"2dlYMWNRK;SKq<<T<ZK^DE`WE`PZ,F`8F`WN`@Lz3ax}Z3a~]3a\44a` 7aBa8".:dh<:dl=:diw=:dvw>:dw?8:dw:ep?Hev?eDfT@afZkf`;@kfKqA0f; B^fvBPf]xN\g\ghykzN( q}y&2qWB7q7qqC7qsIqCVqMD\q2srjr%ys@8y4sUs%k,s"&tLtyEp$t_v PvqvXuFvPV9wKzrw{RrwdzylAy|Sy}Ty`~6y%mVy%y]ydy@ FKqF6!! &!p:Ldf V`}`(}NS|@h~GNHGYH2w:}Hd ((_HaIpZqZ9}0Q  έ*,h έLaVN@( D"8fg}h  D"** )ffaVN*&f f f1    L1  Q  έ*,l έLpl@g}@*o@( D"8,lh  D"w ewo pl g}Q  έ*,z έLg}@o@*d;@( D"8,zh  D"w ewew(o d; g}d; g}Q  έ*RK έLq:@i@"( D"8mlEh  D" Mwiq:Q  έ*SKq έL( D"8&moh  D"*  DP5R RRR Q  έ*T έLmlE@o@*aVN@( D"8*lEh  D"*w *eB 8  oaVN&mlELQ  έ*:dh έLs@; @"( D"8phh=O  D"**Ie(  s*&1 :&e  "; *L1-1- 111*r rrrrr Q  έ*:dl έLph@d8@"( D"8 plh  D"ewd8  phvQ  έ*:diw έLph@o@*d;@( D"8d)&hbpiwh iwh  D"*w *# o*&  U@e   ed;(d;H *Lw1  %ph*r,,  <Q  έ*:dvw έLo@aVN@*\D@( D"8pvwh vwh   D"*w *D !o*&UqqC ӥ: *L Ce   \D(aVNr*Q  έ*:dw έLpiw@pvw@*pw@o@aVN@( D"8<"}sh p# h*s}h  D"*eB  8 $&w aVN&o&*    pvwpiwpwQ  έ*ep έL( D"8:pJ,h  D"* 8   *&**Q  έ*ev έL( D"82pK,hskh(  D"* 8  **&*Q  έ*DfT έLpZ@o@*r,}@( D"8> 8rh(:h   D"*w *)  o pZ&r,}&46l0Q  έ*kf`; έLd;@m @*( D"8p( sQ  ΀*vXu ΀L( D"8oh  D" &ff Q  έ* έL`@f@"( D"8"2Xh  D"& 8 !Հ)w*w`$fQ  έ*Kq έLeZ@o@*rS@aVN@ft:@( D"8,"ձSh Xh֯}h  D"$w ww ww &o aVNeZoaVN rS woaVNft:8Q  έ*h~ έLs@xk@*s@4}@f@( D"8Z"wh2wh"q:h   D"*0+1e  %p*sxk"s*&w f( f)ffL 4}Q  έ*H έLw@w@*o@( D"8`;h  D"w wwowwQ  έ*Y έL( D"8wth  D",*1,Q  έ*} έLrC@w@*r@aK@o@s2 @( D"8Te;h  D"*w $0,0w 4o rCr s2 *&6  )0406 0 aKw L*Q  έ*(_ έIOLs@s@*( D"8Vxkhxkhih>   D"*8Ae f"( *&UCɗ+e$&ssL% Q  έ*a έLq:@i@*o@( D"8Ѳ:h  D""w *D  woi q:Q  ΀* &, ΀L)HN<&`H*)H>[XH)^H<&%H WWH*&CyH<&H(yH)nEH)sEH*<&KqHTH )EH([;H&{PH`*[8HHWH&{Hd6&H*%kfH%ZH@d&H'ąH)H#*)H4)H%H PdH :H *)_GH))HWH)TyH$'IRH*&{ZHWzH@'H)H0)GH*%wH@%xH [#H%CH )2HH4*) H,)BxH) H-<&%tH<&9H* `H$)[MH &H %HB)pH*<&pH<&pHWwH (H 2&H(*d(HWwHt!H)w H.)H*)PH8)KqH'HF[YHt{H$9KH}xH$9;H*t*sH:GH t*sH}QHDC{H*$9WH$9WH:i;HA{HT;H*$9!XH$92XH:.H:H ~ qH*:HH:H:/SH :2H:AH*$9XH}yH$9pH$9 HwxH *t*H}H7t*H:H:SH*:H}iH8t*sHT;3Hw8H*t*3H@ ~YH?{0H$9yXH ~ H*$9) HvH vH:6H@:GTH *$9pH}H?$9 H$9pH$9dH*$9pHT;H$9 HvH$9qH*wDyHwLyH$9)HvH$92 H*:_H}O:H$9RqH$9[qH$9ZqH*@{NH $9nYH$96 H:H}HC*$9}H@{0Hw΅H :HwyH*t*H$9YH}HvH ~rH *B{NHwyHPwyH@$9kYHvH*:H:pH:pHvH:pH*$97H$9H}D;H:qH*:H:qH:"qH:$qHQO:&H*:(qH:.qH$9YH}H&$9 H*$9YH:WHP:a H$9YH:TqH*:RH$9H:H :H:t H*:qH:H8:H$9CfH ~H *:H:H$9ZZH$9bH$9`&H*$9kH$9{H ~H$9~ZH:q!H *$9ZH$9ZH:-HA{0H $9ZH*:x H;LH}4H ~sH:H*:H wvH:!H:-H:}H`*$9[H$9'H$93H$9[H$9H*$9H:H$91H$93gH:H*:-H ~$H@:HlH:#"H*uVYH}H;E{H?{pH$9rH*$9&H:brH:crH$9fHt*bH@*$9H:vrH@t*Hw+H:rH*}pHk |H:rH :rH :rH*:rH0:2H:rH8:rH$9BH*lH}8}H%$9g'H$9n'Ht*zH*$9sH$9H$9H?{pHkZH*?{Ht*GH$9'H$9H$9H*$9H$9 H}V}H9}H H>:sH *:sHx}]}HA}UqH6: sH:#H*:sH }c}H@*@wHw:dH:KH*:KH$9H}H::{3H}H<*:sH`:sH*wH }H=:sH*:sH:sH:sH0:sH T;8H*:sH:KHlH $9CH:KHH*}!H :H$9VH$9XH ~ۑH*:sHP$9|H:4H:tHT;wH*$9.H:-tH`:,dH:1H}|H *:74HwH$9HE{H:H*$9+H:sH*@,H}I"Hw}H*a |H$9xQH$9H$95H$9H*w-Hp ~zH}2H}2H :LH*a |HG{H$9.H}KH}T3H*:+H$9HT;H}sH$9΅H*:[uH:bYHX:kYH ~GH :\MH*}WHBT;DyH:H:H}0H*T;H $9Hw.H`:nMH:H*:MH@w'Ht*։H}3H$$9H*}KXH':9NHT; zH}:dH*H@*:NHt*I"H :)NHT;!H:+NH(*:8&H;H$9^H$9H:&Hh*:{HT;;"H}HT;I"H:H`*:sH$9pwH$9SHl8 H}MH*l H:KwH ~L H:iwHl H*$9_HlUO H$9`H$9#H$9'H*$9.H}:YH:>wH}`YH :vH*$9H$9H:n'H$98H$9H*:owHvӁH:H:wHP:H*:wHt*H }ZH} H5:'H *;KHwXH :H}8&H4:H(**4H:H wMH }kH":$H@*:)H}vNH:CH(:9H $9H*<5sH$98HsH ~I"HvH *:dH`:hH :H$98H$9xH*$9H ~{HvH$99Hw&qH0*}ZH$99H$9&H?{H :H*$939H:H:H wH$9kyH*$9yH$9!H$9L H$9!H$9!H*:xHHw H}fH)}H!:xH *$9BaH$9CyH$9E9H:xHp$9,:H*}JwH w{ZH :+H }H:ByH*:FyH }HwH :WyHHT;dH*H*}wH$9yH ~HT;*}H :yH*:HT;7H$95:H$96:H:yH *:QH}ۃH/}݃H1:ۑH:QH*:yH@$9ZHT;$qH}كH-@{NH*}ރH2}߃H3$9:H?{NH $9:H*:H:wQH:|H":H@}׃H+*}փH*}ڃH.}܃H0}؃H,:QH*:H:H;@jHuyHuyH*$9:H$9#H$9:H:QH:yH*uyHuyH:azH:H}](H#**8&H:4FH :AH0:BH :DHp*uyHt*NH$9zH:iH}xH(* ~^H@vH vH (Q *YMLs@[@*[Kr@[}@[@[\}@[@*o@$9Ba@(]8hK8 ]*ɪKrh <dwh<K8 Kr*5  5&U   *E*5@*& E& & f&*&ËDef Ë[`L )̋U Q **`Lܲ`@(ke(8sh ke( Sw ܲ`Q *3LܲGd@(ke(83h ke(* C &qܲGd*&Fre @AE*L2cD! D2rr8 HQ *4fLܲ#@ܲGd@"(ke(8"4fh ke(& & CC w ܲGd$ܲ#Q *;VNLܲ#@ܲGd@"(ke(8F VNh ke( RRRwܲGdܲ#Q *r +Lܲ#@(*ke(8D+h!!hh2+h "xQh}h$r +h ke(*97; uwy"&{D& fW#v&w ܲ#Q *bs;L(V9phB*Yh@;(hv8h:h * L@W @@@ 8@ A B*&e   @  @ A@@KL@PaO @Q *yXLܲ`@(ke(8,h ke( w ܲ`Q H*THLܲ#@ܲGd@"(ke(8 `Th ke($ & w ܲGd"ܲ#Q *Lܲ#@ܲGd@"(ke(8{h ke( _w ܲGdܲ#Q  *֯L Lܲ#@ܲGd@"(ke(8q!yh ke( ew ܲGdܲ#Q *֯Lܲ#@ܲGd@"(ke(8q!h ke( aw ܲGdܲ#.Q *ޯg'Lܲ#@ܲGd@*(ke(8N #n~h(0 hyeh4*~h"w0 h#}h.:Kh  ke(*!# #w)ܲGd$ܲ#*&5 C&wܲGdLܲ#Q *#OqLܲ#@ܲGd@"(ke(8"#Oqh ke(& C Yw ܲGd$ܲ#Q *#Lܲ#@ܲGd@"(ke(8#h ke( f Yw ܲGdܲ#Q  *q: Lܲ#@ܲGd@*(ke(8Z:hkh ke(*  & & & & `  f ܲGd*&RCҐCҐRC  L&wܲ#Q *,OqLܲ#@ܲGd@"(ke(8,Oqh ke(  & BAwܲGdܲ#Q *-Lܲ#@ܲGd@"(ke(8-h ke( qw ܲGdܲ#Q *,eOL(ke(8,h ke( CË @ÊAW H Q *,VNLܲ#@ܲGd@"(ke(8,VNh ke( RwܲGdܲ#Q *,QLs@ܲGd@"(ke(86,Qh ke(* P)&  ܲGd&s&( Q *,:dLܲ#@ܲGd@"(ke(8(,:dh ke(*A & & &&&wܲGd&ܲ#Q *,Lܲ#@ܲGd@"(ke(8,h ke( ?w ܲGdܲ#Q  *vL Lܲ#@ܲGd@*(ke(8yhq:yh ke( cw ܲGdܲ#Q *u~Lܲ#@ܲGd@"(ke(8 zQDh ke($&  RRRI! wܲGd"ܲ#JQ *\ML,0z@ܲGd@*)` @@(|S]h * Ε ܲGd*&4e   e ,0z )` *L f &f&  ,0z$)` r%sQ * PwLs@((* Pwh xh h zh \qh  *& & & & Aff& s&Q *L Pw@4u~@(,ysh * fB A  & & f4u~ &w PwQ *,H:LݪK@d;@(:4u~h *W &=e e$ݪK&@ B  iOd;Q *L z@*@* \q@4u~@(<}h *& %NBwA & f z4u~&ww \q*Q *sL,0z@ܲ#@*ܲGd@)%@(Zgh *&  & e mܲGd,0z)%*&w&f&fe  ܲ#,0z )%LsQ *ձLܲGd@(ke(8pIqh ke(*   _(  ?f ܲGd*&'& f' ?E@@ (La B 0e Q *ձLs@ܲGd@*(ke(84Kq hKq^h ke(*KM & & &&&ܲGd& sQ *srLܲGd@(ke(8.srh ke(* e@AB ܲGd &Q *#LܲGd@ܲ@w@"(ke(8Yqh ke(  wܲGdܲ@wQ *Us%Lܲ#@ܲGd@"(ke(8 Us%h ke($ QwܲGd"ܲ#Q *ձzLܲ`@(ke(8[qMh ke( /w ܲ`Q *xLlOpH)H*)H)H)xH)p H)%H*[ H)` H)p H)5H( Q * XLܲ#@ܲGd@"(ke(8&wh ke(* GwܲGd(ܲ#Q *yLܲ#@ܲGd@*C,mO@(ke(8$yh ke((  wܲGdC,&ܲ#Q  *y Ls@ܲ#@*(ke(8@Iqh0y}h ke(* B (W/ D  7(s& f& }wܲ#Q *y%Lܲ#@ܲGd@"(ke(82y%h ke(* @  ܲGd&Ewܲ#Q X* #XLܲ#@ܲGd@*(Zg(8y@h.yhX:`  Zg(* e2 ܲGd X:`*&w 7 Nw" ܲ#ܲGdX:`X:`"N*L&f&fCDEe ܲ# X:`*r    c s X:` Q * zLܲGd@ܲ@w@(2sh * X eETܲGd&ETwܲ@wQ * 4fLܲ#@ܲGd@(z4fh  -w ܲGdܲ#Q *jMLܲ""@ܲ#@"(r`hy`h *& @,A E& B _ *&E@  D Q  *L6 w+w  ܲ#ܲ#&ܲ""Q *xLܲ#@( ÐHXh & 1w ܲ#zQ **L(*h  )Q *ܲ""L`;@@"(ke(8(ܲ""h ke(* aa  `;&Q *ܲ#qOLs@("ke(8ܲ#hܲ#h ke(sQ *ܲ`Lܲ#@ܲGd@"(ke(8ܲ`h ke( &w ܲGdܲ#Q *ܲ)dLܲ""@("ke(8Lܲ)dhܲGdh ke(*C & ` `Ba*&#   L &ܲ""Q *ܲ@wLܲ#@(ke(8(ܲ@wh ke(*CC    &w&ܲ#zQ X*XLܲ#@ܲGd@*(.Qh,1hHwh *` e BBCC ܲGd*&w qqqܲ#*L0 fqC Q ܲGd*r Iw C Qܲ#ܲGd Iwܲ#|Q *}Ls@ܲ#@*ܲGd@L @$9΅@w@C,@(}h *^    e^ܲGdC,*& ' w L *Lw  /ܲ#sr<   e$9΅Q X*XLs@ܲGd@"(ke(8,Cph ke(* & & &&&ܲGd &sQ *%Lܲ#@ܲGd@"C,@(%h "  w ܲGdC, ܲ#Q *}Ls@N@*N]@ܲ#@ܲGd@ X@NBx@*N{8@N{@$9΅@C,@(}h *   *e  ܲGdC,NuO X$NBx*& N{*Lf w $N]N{8fܲ# s&sr  e  $9΅Q X*1yXLN@ݩ%@*(XN]hN{8hN{h *&&&f&f *&  ` Nݩ%L% s4Q *` Ls@# z@"$9@(s @*$9s@GVN@:$@:4F@(Rh *&)_& & &  & && &s*&& Ε 61& G>  GVN:$$9s*L1)G> "G> *rȋ& & & & & & & & & Ε G>  GVN$:4F*1 &  yOaG> @ Q * q}Lܲ#@ܲGd@"C,@(2 q}h *  2  ܲGdC,&wܲ#Q *r%Lܲ#@ܲGd@"C,@(r%h   w ܲGdC,ܲ#*Q t*s@8tLܲ#@ܲGd@(s@8h *  eCBܲGd*&BaIBBJ*LbCBB "rɒɐB & &  w ܲ#Q *9wKLܲ#@E4d@*ܲGd@C,@((9wKh *  wܲGdC, E4d&ܲ#Q t*rwdtLܲ#@ܲGd@(drwdh * e ICBܲGd*&BaI  L  B wܲ#Q X* u~XLܲ#@ܲGd@"(&,u~hwu~h * =w =w ܲGdܲ# ܲGd(ܲ#Q *rwLs@ܲ#@*ܲGd@L @$9΅@w@C,@(rwh *d`    edܲGdC,*& *  w L *Lw  ܲ#s$r/<   e$9΅Q *AyLs@ܲ#@*ܲGd@L @$9΅@w@C,@(Ayh *   ܲGdC,*&  *L  e 9}O"w(L *r2    *  * w   /<  ܲ# se$9΅nQ *SyL5!@5 @* @@@( Xh*ݩ%hwh<@,hC,h * ,#b3!  b3!*&a 5   *L& > >2 reQ X*Ty`XLNHQH*HNBxH BxHQHN:dH*BxHH N H( *\}h>Nt!h>t!hN\}h\}ht!h  * >>> >*&*L*r**** *0*V*|*****:*`******D*j***Q O*y%Lܲ#@ܲGd@"C,@(y%h    w ܲGdC,ܲ#Q *y]Lܲ""@ܲ#@(Xy]h *@$A E& & B ?E@*&  D Q w(ܲ#L%  ܲ""Q *ydLܲ#@ܲGd@(ydh  w ܲGdܲ#Q *y@Lܲ#@ܲGd@"C,@(y@h "  w ܲGdC, ܲ#Q X*T,XLܲ#@ܲGd@('%h  w ܲGdܲ#~Q X*LdXLܲ`@(Ldh  w ܲ` Q *SLܲ#@ܲGd@*C,@(TShSvhSh  *KM&   ܲGd&C,*&  2  L&w ܲ#Q X*|@XLܲ#@ܲGd@"C,@(R|@h *  ܲGdC,*& 2  LGwܲ#Q X*XLs@ܲ#@*ܲGd@L @$9΅@w@C,@(h *l    elܲGdC,*& .  w L *Lw "ܲ#&s*r /<  e"$9΅Q * @~L( D"86ݪKhih  D"*&  m  fO A N & %rQ |O*=|OL(Cx8=h Cx*f&f ` * *& נ נ  נננ*L"D נaנz E ѐE*rp(p נ$נ0נ9*נAנZנ_נ: * zנ[ȕ]נ<ȕ>ȋ8 נ*%נ*נ-נ.נ0נ9נA* נZȠ sנ0נ7נ**0נ,A dȠb `  iנ*V"A   A [נ%נ**|נ0נ9נAנZנ.  *נ.נ; fנ0נ9 *_נ- Z נ* SA  נ,* Fנ=  @5 B@U (wj*נ/* 0 .נ$נ-נ.*:נ0נ9נAנZ נ_ נ:*`  Dנ"    0Q |P*@=|PLd@(Cx8@=h Cx*f&f E^`*&  UQ  UQ *L ËUI U `*re  !ddC    D*%*.C U 0 0 *W ,Uw6W /@ : *^BDaW-Ί WNWOD!BΊ* z CECCD! *0D! ΋5  e *Vΐ TpRpR΋pBC5*|N KR΋KBAE:D*0CĊ f eB * Dҁ CSĊ  Wd*B E Br Ε *f)& 6 l(*:*  E 'W " =*`N  W :+W = 1 #W ,W */ %W %W *Հ W <*W [W >W ] v($* 6 eQ N@*:h;N@L( D"8@d;hm h  D"*&   `@ ` B O  && A @    VQ ΚX*9}ΚXLe0(w5 &g* CD>%  6  g*0o + j5d c gg*V] ZU5@ D($9!*| F uɥ;gR gg*5;5-Ԩ  5@* u5 Dɥ@5ug*b * 5  E gg<*5 @  @NK($9!*:8jMABAe @&*`PPP@C&5A&:s*  88U Ѳ:T; z$9!$:*e  8  Ѳ::brѲ:*"@0 T; z  **_%`AB $9!( w@ 8$9!gQ *[ @SL$9W@@@*`@}s@Ѳ:@s@@*9x@h'@ (@X@o@*Ա2&@ 8r@'@=@@=@*$9!@g@:@g,@w@*(Zg(8ghg<hxgh*gChgRhghghgh  Zg(*u j  ~5 , ɥg,*&/b J  (g*L 1ECe, e *r * F' @%7*U @ E N , *D(@e  D5@*@e,C& : K"9x*  s@w@&p O 9x@(=*0! ȕp* e@=*VBEETH EBe (g*|M5    B "e('g"*5 @ 2=2 D(`*0(@$8 &SY *e2edE$.$.*$.w V &1 52D( o*:e0(E E U@5 e`####*`#### e" 88*5( * t $9!"*0 H0 J0 L  w  wo"s& (* D 5 4 u4X}s$Ա2&*6 > A(! ! (** @&s eB*DB7 pB!# *j *pB   dh' $9W" 8r*w ɥ ɥ  : ɥ ɥ ɥ@ɥ/ 4Q *[ ASLs@$9p@*}s@Ѳ:@s@d@ 8r@*'@:@w@(Zg(8*ghghZghghB Zg(*5 A&)f  u Bs*&A U` *LB`CAB5 b| R*ruABAB6C4 $9p* Е/ЕLЕBЕ:Ae,P d*  S  ɥ *ɥ  ɥ ɥ ɥ@ɥ/   Q ;V׳* S;V׳Ls@:G@*<&Kq@`@$9p@)@}s@*Ѳ:@)Ty@s@<&9@:t @*)p@)P@)@h'@ @* (@)W@X@o@:@* 8r@=@)'@@=@)Ps@*' q@$9!@)p@:@<&D@*(Zg(8@ShASh"?Sh  Zg(*w 5 funhj tuhdBo*& 8jwaw<  vO)Ty")P&Lw &  &$9!)P<&9):t "Ѳ:*nAdBbAep& f)Ps(:G* P aAAf@pnѲ:()p$p C֋ 8&)p  )Ps)P: Ѳ:*Ë7AB`f Va`)P)Ps)p)p*& WaWz  ɥ"N  *&ajfu-nhwFɥ;]a*L)wנ"å.@j   $9p$9!*ra Bw@ ŀajTI`(<&9<&Kq<&D *& af v`V @))Ps )Ps*e,w $o*jjlj ɥ@@* aujk,bp 5f"=*0 fˇ ȕ ‡@=*V eSY e,5 funh*|we,aja`W-* f`nw^uhnw@ Dl"`*lja!Ce###33 )W(@ & &' q )h': )P&$9!*w  jDl@)Ps o)P*8 TeT5l@ 8r)W)P&^ @  e &`s (X)W")'* An5j)f }s ' q )h'* 2/     s RՀa@Q N*ݪMNL@(Zg(8TݪMh Zg(* @    e  T T *&T T H1CdT T L $)dL t dL d L  FQ X*ZKXL(,Q *\DLo@(* D"8DhDh\Dh  D"* w &Ba +- o*&ʥ# . U *L0O   b   ` r    `Q QX*^QXLo@(* D"8\h hdh  D"*w  w & W+W- oo*&Ba. W#  B*L0  c  c S W %e*rc e`s  # 3  & ˥ Z ^C "Q X*7aXL@S@?S@*o@(N.D,hD,h ۩"S  *w w &e`` "o ?So@S ۩"S`*&a  `e`P D  ۩"S ۩"S`LQ X*R:XL<&`@<&Kq@*`@[8@)P@[Z@)W@*)p@sZg(8?Th Zg`ABDEFIMNOPQRSTUXYZ<>*z   *    *  " $ &&& *( &* ,*V, `. 0 2&2 p4 6 88 : << Zg(*w && D¥%  W*&B&ХVA C > :2 'LBCH    .MAIN. e Zg( 7( Zg`Zg` Zg`Zg`  $& Lwf&@y `^ Zg`$ `^Zg`&(0@> 07 ԋ_ (:t Zg`@ Zg`>Zg`Zg`*T 7 j h7 EZg`Zg`Zg`*z L4  w Zg`Zg`"Zg`*7 " 2*Zg` Zg`Zg` Zg` Zg`* $  h wZg` Zg`Zg`*\CH ( w> " Zg` Zg`H Zg` Zg`( &Zg` P Zg`)p)p** J!   })p Zg` )p*P  p  Zц& PP)p)p} vw $ P Zg`)p)p}*   Zg`)p)p Zg`*T߇ B܇7ق&7 %Zg`Zg`Zg`*i wVȥ ȥ ȥ* Zg`i P)p)p*  ȥ$ȥ/ ̥/  Zg`**   7   Zg`*P   ¥ ¥ vp&P  )p)Ty)'' q()' q )<&e) Zg`* R $ &)p )php! Zg` $Zg`$&  U$@ Zg` Zg`P 8r* N 1ȥ Zg`P:* 9C ʥ ʥ ҥ@  Zg`*0w Vp O \ Zg`V= $Zg`*Vfdwȕ  Zg`f Zg`d Zg`@=*|e 7 5j&P)W Zg`Zg`$Zg`j1-*Zg` Zg` Zg` Zg`Zg`&C 7 $7 &5j!( Zg`Zg`$Zg`&Zg`j"P" $:&  &$9)Ps Zg`$Zg`& Zg`(w$  w& \&9xZg`$9xZg`& $Zg`\* T% Е.& Zg`)Ps Zg`: (Zg`*@ nw &$&P 8rZg`$Zg`&(Zg`$fw()W )W)W)WZg`~W! pppp(Zg` Zg`)W)W)W*w$w&   CBw ()WZg`$ Zg`& Zg`$:*C %ʥ ʥ ҥ=( Zg` &Zg`(*#    R Zg`Zg`(Zg`& w7A77* Zg`Zg`Zg`Zg`"Zg`*,(7 >" Zg` Zg`(Zg`R@> &Zg` :Zg`@ Zg`>*j   (( &P Zg`` Zg` &Zg`(*4A Е.) ы )Ps Zg`A: Zg`)$ѝѝɝwы@&M MM:2 Zg`@>4 t&  Zg`>LQ *4sLW@(" D"8hhD  D"*w eE D` W*&bl lrw   $W*LB eE"s    s-*r  CslQ 0*v 0L("h  &&f& v Q *vqOL( D"8Wh  D"&f xQ *vPL(h  f&  Q *zzL)WHtaH *UQdHn_HT,H#N&HtaH*tH)WH #wH.BxH H*#H))XHԒHxwHn`H*tRyH tNyHԒ#H0{HnL`H *0{H nR`H0{H tHt.H*.H.H .H.Hs#H*0{DHtCyH T,H0{H0{mH*-DH)XH#{8HT,KHtyH*.8H .H0{DH#0H#0H*4{*LH#0Hs,XH@#09H [t{8H*3^sHtBxH.yH-EH#{8H*3sH0{9H#0H.{H)ZH *.yH #0LH-0H0{H0{H*t H#0DH0{Ht8Hs`XH*n]H #0vH# zH0{nH#0MH *#""H#0HԒLqH4{MHԒ[qH*-01H40wHn^H#0)H #04H *#{mHT,HԒqH@Ԓ7!H s]H*#08H#08H2{H#yHԒH*n^HtpHsLqH.H40uwH*tyH .H)ZH2{mH[tH*[tHԒRH40wH[tH6{,H*40wHtwH#08H#08H6{!H*#08H-{\H-{QHtnH2H*#0H#08H#0H2{ H#08H*twHsH6{!H6{,H#08H *#H408H#{;Hs^H.KH *#0UH#0TH|wpH${H. LH*.{VH408H-{,~H408H ${H*40xH408HԒVsH40xH. H*#0H#0H40NyH40RyH ԒWH*4{wH-{fHԒWH409H40yH*|w`qH#0xH40CyH401zHU,}H*4wH20,HU+}Hs`H40yH* pH40yH40yHt:dH#0:H *THTH 40Lߋ J sRQ  έ*7qs έLs@xk@*s@i@( D"8rChwh*  D"* 8   **&*  4 6i*L B w w~RQ  Χ*,d ΧL( D"8 nQ  Χ*K VN ΧLs@s@*o@f@( D"8;VNhaVNh  D"*w BC "& <o*&SY*p0p21s*LE%0*w*e fs*r"f D CB.ERQ  Χ*  ΧL( D"8 Q  Χ*w ΧLs@r"&@*q:@w@i@o@f@"( D"8`h  D"*w *8F )o"w*&98 eB &&   i*LU *q:*r*e *Nlv ΋**.)  & #!i*)&ePe &s$& p* wq:r"&"fQ  Χ*& ΧLq:@i@*o@( D"84ch `rh   D"*w  )*  o&i&U q:@Q  Χ*e ΧLs@q:@*i@f@( D"8vcIqh   D"*0f& e %&s*&&eH U   i*LEf p  q:rwfQ  Χ*z ΧLq:@i@*O( D"86eZhrShft:h   D"*    f u  i(q:&  pQ  Χ* & ΧL( D"8h  D" Q  Χ*, ΧLe&@py@*r@r@pJ,@o@mo@*f@( D"8}h  D"*w ) 8Co pJ, r*& * ) *w(f*L*  ep pye&*rp  C *   0** = Eե^ A* e@ v߇ E* p |p*0  , J *V*` C#r*|   D  moQ  Χ*,hy ΧLe&@r@*pK,@o@mo@sk@f@"( D"8 h  D"*w ) 8Co pK, r*& * ) *w(f*L* ep p  e&*rC   *  0* =* Eե^ A e@* ߇ Ep * p *0 8 V *`*V)w C# skr&|   D moQ  Χ*E`W ΧLb@mlE@*eZ@s@r"&@r@q:@*i@o@d?!@rS@r,}@*f@@ft:@fy:@cIq@*s}@( D"8@hp!h  D"*w  D 8#"o sfy:*&#)%O*Lĥ ĥ w*r 0 *0 @Q$    0 *40 60)) z :#s}* 3&*w #( Pft:cIq*) @#**ff eZ* f  &*wD d?!eZ*0. H358e$8w2s*V2&e %p8s*|q #) *Rr**)@#0l C*# 028 (b*00ĥۇAĥ*Ċ  000 0 @"r,}*:0 &*0 @ u i&q:*`#eB * rSmlEr"&&i*eBe>  #* #D #*&0 #  * 0@e 6@#0 q:&40 6w!p2fQ  Χ*E`PZ ΧLb@mlE@*eZ@s@r"&@r@q:@*i@o@d?!@rS@r,}@*aVN@f@@ft:@fy:@*cIq@s}@( D"8\^Whh!h  D"*w & w  D  8#oos fy:*&"#)%*Lĥ ĥ *rw 0 *0 @Q$ *   0 40 60))  &s}*eB z :# 3& aVN$ft:**w #( P)  cIq&eZ* @#**fff &d?!*0 &*wD. H3eZ*V58e$8w22&s*|e %p8q s*#) *R*r*)@#0l C# 02*O8 00b*ĥۇAĥĊ  *:000 0 @0 r,}*`&*0 @ u #eiq:*B * eBrS mlEr"&i*e>  # *#D #&*0 #   (q:*0@e 6@#040 6Dw!p2fQ  Χ*F`8 ΧLb@s@*r"&@r@q:@i@o@*r,}@aVN@f@@fy:@"( D"8h&h  D"*w  D 8#"o sfy:*&#)%*Lĥ ĥ w*r 0 *0 @Q$    0 *40 60))eB &*  aVN* w6 . 2*358e$8w22s* &e %p8q s*0#) *R*r*V)@#0l C# 02*|8 00 b*ĥۇAĥĊ  *000 0 @0 r,}*&*0 @ u *iq:"r"&* eBe>  i*: # #D *`#&0 # *  0@e 6q:*@#040 6w!pf2Q  Χ*F`W ΧLb@mlE@*eZ@s@r"&@r@q:@*i@o@d?!@rS@r,}@*aVN@f@@ft:@fy:@*cIq@( D"8Fh'h  D"*w  D 8#"o sfy:*&#)%O*Lĥ ĥ w*r  0 *0 @Q$    0 *40 60))eB z :aVN*# 3&*w #( ft:cIq*P) @#**eZ* fff  &*wd?! eZ*0D. H358e$8ws*V22&e s*|%p8q #) $r**R*)@#0l *C# 02*8 00ĥۇAb*ĥĊ  000 (r,}*:0 @0 &*0 @ u i*` #eB *q:rSmlE r"&* eBe>  i*# #D *#&0 # *  0@e 6@q:*#040 6w!p2fD^Q  Χ*:dw ΧLs.@D@*o@( D"8zpwh wh   D"*w *  )Ĕ%.&o*&%;D  5)5@DD *Lͥ*Ce a%wUXD*r5@ 5sU U**U  5@XU*@5 U*U*  ʥ*%* C!.D` *weC5s.*0U5  5(V 5@e*4Q  Χ*afZ ΧLe&@e&@*r@c2 @w@a[M@( D"8XpZh  D"* 6 p 4 0`p f e&*& 64  e*wc2 a[M rLw e&BQ  Χ*\g ΧLe&@Opy@*r@r@w@w@pJ,@*o@mo@r,}@f@( D"8}h  D"*w jde& & & o pJ,*&B  2PΕ *L  N Υ$Ε  2*r2Υ   vmo* Ε f ew* * *e*wr,}&f* *0, T py$r*   )*)e&*0   l 0*Vl   *|  ee*@ 4 r- E *ep )w* ,   N *w  L B #r,} wr*: f  ` mo*`**w)0406 fl0 Q  Χ*\ghy ΧLe&@r@*w@w@pK,@o@mo@*sk@r,}@f@( D"8| h  D"*w jde& & & o pK,*&B  2PΕ *L  N Υ$Ε  2*r2Υ   vmo* Ε f ew* * *e*w0,r,}&f* P  ) re&* *)  *0 l 0l  *V  *| ee@ |2 n*+ E ep )*w ,*  w  LwB r,}w"sk*# f mo*: `**w)0f `4O06 l0 Q  Χ*7q ΧLb@wt@*rk@wL @bG@s2 @(" D"8<rhrh  D"*e6p 4 8 s2 "b&  bGrk wL wtQ  Χ*\q ΧL( D"8hr,}h  D"*. *&00l  0 L *Q  Ω*s"& ΩLs@@"( D"8Nr"&h  D"*82e& 0 s"*&0 0 80 B0 0 0 0)#0.LQ  Χ*tL ΧLq:@i@*( D"8$rkhwkh  D"( U4 6wi&q:Q  Χ*$t_ ΧLw@aK@*s2 @( D"8rh  D"*&4&6 64 wr%s2 *&64 2 6  l0s2 *L & Z46 6$aK*r4 :)0406 0 **0e6p 4 $wQ  Χ*w ΧLw@f@"( D"8wL h  D"" Bfep`pww fDQ  Χ* ΧLb@wt@*bG@wk@a[M@f@(" D"8`whwh  D"* ) !f bGa[M&wk*& e) . e wtL6p 4 08*w bfQ  Χ*d ΧLw@( D"8wh  D" ) . .w`pww f Χ*PBACKUPDR1:[12,304]STARTUP .CMD;1OG PUKCAB P.POysd29DEC8110300329DEC81103002VP.ENABLE SUBSTITUTION.SETS RK05 "DK".SETS RL01 "DL"6.ASKS TIM PLEASE ENTER TIME AND DATE (HR:MN DD-MMM-YY) TIM 'TIM'2.ASKN [::132.] N ENTER LINE WIDTH OF THIS TERMINALSET /BUF=TI:'N'.".IF RK05 EQ "''" .GOTO END".IF RL01 NE "''" .GOTO BIG .IFINS ...ACS ACS SY:/BLKS=512. .GOTO END.BIG:!.IFINS ...ACS ACS SY:/BLKS=1024..END:.IFT .GOTO 50,.IFNINS QUE .IFNINS ELI .IFNINS DCL .GOTO 50;L; This system startup command file (LB:[1,2]STARTUP.CMD) contains a templateN; of commands to initialize the queue print spooler and queue LP0:, initializeI; the error logger, and initialize the DCL CLI. As is these commands are K; commented out and are not executed. To include these commands as part ofLO; the startup procedure, edit the file to remove the period and semi-colon (.;)K; comment delimiter from the beginning of each line. These commands may be I; useful for initializing the various facilities for your installation oreL; else they may provide a model with which to tailor initialization commands#; for your particular installation.t;i.50:.; ;'.; ; INITIALIZE THE QUEUE PRINT SPOOLERA.; ;.; ; START THE QUEUE MANAGER.; QUE /START:QMGx.; ; QUEUE LP0:d.; QUE LP0:/CR/NM .; QUE LP0:/SPOOL/FLAG:1.; QUE LP0:/ASSIGN:PRINT.; ;.; ; INITIALIZE THE ERRORLOGER.; ; .; ELI /LOGe.; ;.; ; INITIALIZE DCLh.; ;.; CLI /INIT=DCL/TASK=...DCLeful for initializing the various facilities for your installation oreL; else they may provide a model wiQBACKUPDR1:[12,304]HELP .ULB;1G8'2.ASKPUKCAB6Q.Q2d"29DEC8110300829DEC81103003YYYYYYY Y Y Q<0Q 693s,8^4t!; 9$F K f9K @jl  H - 3_e5K(aZ`&}:&<(@X,de _Q+x"_%( Q8E*yeyi}e"k>r@juEMn%xz{g:jWn}z}3""`$#? &'a'x'''},`r22dd4e4 8y:y:y:y:p:!:}:r :bKjLvLDYM%_Mp:"_Ma%kQr(oQQQ(QQ R}RMS(SZ:S:>%TWkt^E`8~T`l~W@?4v EQ 1 .GOTO 150 LBR HELPF.HLP=HELP.ULB/EX:HELPF .GOTO 150.130:d .IFF $SDCL .GOTO 140v LBR DCL.HLP=HELP.ULB/EX:DCL1l .GOTO 150.140:a LBR DCL.HLP=HELP.ULB/EX:DCL2a.150:.E .IFT $BMCR .OR .IFT $SMCR .OR .IFT $BDCL .OR .IFT $SDCL .SETT $UTILYC .IFF $UTILY .GOTO 160 LBR UTIL.CMD=HELP.ULB/EX:UTIL @UTIL.160:L .IFF $FILES .GOTO 170 LBR INTRO.ULB=HELP.ULB/EX:INTRO.170:1:G .IFF $BDCL .GOTO 130U# LBR DCLFULL.CMD=HELP.ULB/EX:DCLFUL @DCLFULL  .TESTFILE HELPF.HLP .IF EQ 1 .GOTO 150 LBR HELPF.HLP=HELP.ULB/EX:HELPF .GOTO 150.130:d .IFF $SDCL .GOTO 140v LBR DCL.HLP=HELP.ULB/EX:DCL1l .GOTO 150.140:a LBR DCL.HLP=HELP.ULB/EX:DCL2a.150:.E .IFT $BMCR .OR .IFT $SMCR .OR .IFT $BDCL .OR .IFT $SDCL .SETT $UTILYC .IFF $UTILY .GOTO 160 LBR UTIL.CMD=HELP.ULB/EX:UTIL @UTIL.160:L .IFF $FILES .GOTO 170 LBR@ Q $H QLBR DCL.HLP=HELP.ULB/EX:DCL"LBR DCLABORT.HLP=HELP.ULB/EX:ABORT"LBR DCLALLOC.HLP=HELP.ULB/EX:ALLOC$LBR DCLAPPEND.HLP=HELP.ULB/EX:APPEND$LBR DCLASSIGN.HLP=HELP.ULB/EX:ASSIGN LBR DCLASSQ.HLP=HELP.ULB/EX:ASSQ$LBR DCLBACKUP.HLP=HELP.ULB/EX:BACKUP#LBR DCLBASIC.HLP=HELP.ULB/EX:DBASIC!LBR DCLBRO.HLP=HELP.ULB/EX:DCLBRO$LBR DCLCANCEL.HLP=HELP.ULB/EX:CANCEL#LBR DCLCOBOL.HLP=HELP.ULB/EX:DCOBOL LBR DCLCONT.HLP=HELP.ULB/EX:CONT LBR DCLCONV.HLP=HELP.ULB/EX:CONV LBR DCLCOPY.HLP=HELP.ULB/EX:COPY$LBR DCLCREATE.HLP=HELP.ULB/EX:CREATE"LBR DCLDEASS.HLP=HELP.ULB/EX:DEASS$LBR DCLDEASSQ.HLP=HELP.ULB/EX:DEASSQ$LBR DCLDELETE.HLP=HELP.ULB/EX:DELETE LBR DCLDELJ.HLP=HELP.ULB/EX:DELJ LBR DCLDELQ.HLP=HELP.ULB/EX:DELQ LBR DCLDIFF.HLP=HELP.ULB/EX:DIFFLBR DCLDIR.HLP=HELP.ULB/EX:DIRLBR DCLDIS.HLP=HELP.ULB/EX:DIS LBR DCLEDIT.HLP=HELP.ULB/EX:EDITLBR DCLEDT.HLP=HELP.ULB/EX:DEDTBLBR DCLFIX.HLP=HELP.ULB/EX:FIX LBR DCLFORT.HLP=HELP.ULB/EX:FORT!LBR DCLHELP.HLP=HELP.ULB/EX:DHELPC LBR DCLHOLD.HLP=HELP.ULB/EX:HOLD"LBR DCLINITP.HLP=HELP.ULB/EX:INITP"LBR DCLINITQ.HLP=HELP.ULB/EX:INITQ"LBR DCLINITV.HLP=HELP.ULB/EX:INITV LBR DCLINST.HLP=HELP.ULB/EX:INSTLBR DCLLIB.HLP=HELP.ULB/EX:LIB LBR DCLLINK.HLP=HELP.ULB/EX:LINK"LBR DCLLOGIN.HLP=HELP.ULB/EX:LOGIN$LBR DCLLOGOUT.HLP=HELP.ULB/EX:LOGOUT"LBR DCLMACRO.HLP=HELP.ULB/EX:MACRO!LBR DCLMCR.HLP=HELP.ULB/EX:DCLMCRT"LBR DCLMOUNT.HLP=HELP.ULB/EX:MOUNT#LBR DCLPRINT.HLP=HELP.ULB/EX:DPRINTE"LBR DCLPURGE.HLP=HELP.ULB/EX:PURGELBR DCLREL.HLP=HELP.ULB/EX:REL$LBR DCLREMOVE.HLP=HELP.ULB/EX:REMOVE$LBR DCLRENAME.HLP=HELP.ULB/EX:RENAMELBR DCLREQ.HLP=HELP.ULB/EX:REQLBR DCLRUN.HLP=HELP.ULB/EX:DRUN=LBR DCLSET.HLP=HELP.ULB/EX:DSETH LBR DCLSETQ.HLP=HELP.ULB/EX:SETQ$LBR DCLSHORTS.HLP=HELP.ULB/EX:SHORTS LBR DCLSHOW.HLP=HELP.ULB/EX:SHOW"LBR DCLSHOWP.HLP=HELP.ULB/EX:SHOWP"LBR DCLSHOWQ.HLP=HELP.ULB/EX:SHOWQ LBR DCLSORT.HLP=HELP.ULB/EX:SORT"LBR DCLSTART.HLP=HELP.ULB/EX:START$LBR DCLSTARTQ.HLP=HELP.ULB/EX:STARTQ LBR DCLSTOP.HLP=HELP.ULB/EX:STOP"LBR DCLSTOPQ.HLP=HELP.ULB/EX:STOQPQ LBR DCLTYPE.HLP=HELP.ULB/EX:TYPE"LBR DCLUNFIX.HLP=HELP.ULB/EX:UNFIXLP=HELP.ULB/EX:REQLBR DCLRUN.HLP=HELP.ULB/EX:DRUN=LBR DCLSET.HLP=HELP.ULB/EX:DSETH LBR DCLSETQ.HLP=HELP.ULB/EX:SETQ$LBR DCLSHORTS.HLP=HELP.ULB/EX:SHORTS LBR DCLSHOW.HLP=HELP.ULB/EX:SHOW"LBR DCLSHOWP.HLP=HELP.ULB/EX:SHOWP"LBR DCLSHOWQ.HLP=HELP.ULB/EX:SHOWQ LBR DCLSORT.HLP=HELP.ULB/EX:SORT"LBR DCLSTART.HLP=HELP.ULB/EX:START$LBR DCLSTARTQ.HLP=HELP.ULB/EX:STARTQ LBR DCLSTOP.HLP=HELP.ULB/EX:STOP"LBR DCLSTOPQ.HLP=HELP.ULB/EX:STO@Q #RLBR HELPF.HLP=HELP.ULB/EX:HELPFLBR MCR.HLP=HELP.ULB/EX:MCRLBR MCRACT.HLP=HELP.ULB/EX:ACTLBR MCRALT.HLP=HELP.ULB/EX:ALTLBR MCRASN.HLP=HELP.ULB/EX:ASNLBR MCRATL.HLP=HELP.ULB/EX:ATLLBR MCRBRO.HLP=HELP.ULB/EX:BROLBR MCRCLI.HLP=HELP.ULB/EX:CLILBR MCREDT.HLP=HELP.ULB/EX:MEDTLBR MCRFLA.HLP=HELP.ULB/EX:FLA"LBR MCRGENRL.HLP=HELP.ULB/EX:GENRLLBR MCRHEL.HLP=HELP.ULB/EX:HEL!LBR MCRHELP.HLP=HELP.ULB/EX:MHELPLBR MCRHOM.HLP=HELP.ULB/EX:HOMLBR MCRINI.HLP=HELP.ULB/EX:INILBR MCRINS.HLP=HELP.ULB/EX:INSLBR MCRLOA.HLP=HELP.ULB/EX:LOALBR MCRMOU.HLP=HELP.ULB/EX:MOULBR MCROPE.HLP=HELP.ULB/EX:OPE#LBR MCRPRINT.HLP=HELP.ULB/EX:MPRINTPLBR MCRQUE.HLP=HELP.ULB/EX:QUELBR MCRRUN.HLP=HELP.ULB/EX:MRUNHLBR MCRSAV.HLP=HELP.ULB/EX:SAVLBR MCRSET.HLP=HELP.ULB/EX:SETLBR MCRTAS.HLP=HELP.ULB/EX:TASLBR MCRUFD.HLP=HELP.ULB/EX:UFDLP=HELP.ULB/EX:GENRLLBR MCRHEL.HLP=HELP.ULB/EX:HEL!LBR MCRHELP.HLP=HELP.ULB/EX:MHELPLBR MCRHOM.HLP=HELP.ULB/EX:HOMLBR MCRINI.HLP=HELP.ULB/EX:INILBR MCRINS.HLP=HELP.Q@Q "LBR ASCII.HLP=HELP.ULB/EX:ASCIILBR BAD.HLP=HELP.ULB/EX:BADLBR BAS.HLP=HELP.ULB/EX:BASLBR BRU.HLP=HELP.ULB/EX:BRULBR CDA.HLP=HELP.ULB/EX:CDALBR CMP.HLP=HELP.ULB/EX:CMPLBR COT.HLP=HELP.ULB/EX:COTLBR DMP.HLP=HELP.ULB/EX:DMPLBR DSC.HLP=HELP.ULB/EX:DSCLBR EDI.HLP=HELP.ULB/EX:EDI"LBR EDTHELP.HLP=HELP.ULB/EX:EDTHLPLBR ERROR.HLP=HELP.ULB/EX:ERROR"LBR EXECUTIVE.HLP=HELP.ULB/EX:EXECLBR FCS.HLP=HELP.ULB/EX:FCSLBR FLX.HLP=HELP.ULB/EX:FLXLBR FMT.HLP=HELP.ULB/EX:FMTLBR ICP.HLP=HELP.ULB/EX:ICPELBR IOX.HLP=HELP.ULB/EX:IOX=LBR LBR.HLP=HELP.ULB/EX:LBR=LBR MAG.HLP=HELP.ULB/EX:MAG=LBR ODT.HLP=HELP.ULB/EX:ODT=LBR PAT.HLP=HELP.ULB/EX:PAT=LBR PIP.HLP=HELP.ULB/EX:PIP=LBR PMD.HLP=HELP.ULB/EX:PMD=LBR SLP.HLP=HELP.ULB/EX:SLP=!LBR SYSGEN.HLP=HELP.ULB/EX:SYSGENU!LBR SYSLIB.HLP=HELP.ULB/EX:SYSLIBBLBR TKB.HLP=HELP.ULB/EX:TKBP!LBR TKBOPT.HLP=HELP.ULB/EX:TKBOPTELBR TKTN.HLP=HELP.ULB/EX:TKTNPLBR VFY.HLP=HELP.ULB/EX:VFYPLBR VMR.HLP=HELP.ULB/EX:VMRPLBR ZAP.HLP=HELP.ULB/EX:ZAPPLBR RMS.HLP=HELP.ULB/EX:RMSP!LBR RMSBCK.HLP=HELP.ULB/EX:RMSBCKE!LBR RMSCNV.HLP=HELP.ULB/EX:RMSCNV=!LBR RMSDEF.HLP=HELP.ULB/EX:RMSDEF !LBR RMSDSP.HLP=HELP.ULB/EX:RMSDSPL!LBR RMSIFL.HLP=HELP.ULB/EX:RMSIFLP!LBR RMSRST.HLP=HELP.ULB/EX:RMSRSTESLP=!LBR SYSGEN.HLP=HELP.ULB/EX:SYSGENU!LBR SYSLIB.HLP=HELP.ULB/EX:SYSLIBBLBR TKB.HLP=HELP.ULB/EX:TKBP!LBR TKBOPT.HLP=HELP.ULB/EX:TKBOPTELBR TKTN.HLP=HELP.ULB/EX:TKTNPLBR VFY.HLP=HELP.ULB/EX:VFYPLBR VMR.HLP=HELP.ULB/EX:VMRPLBR ZAP.HLP=HELP.ULB/EQ@Q 3M G A HELP file is a text file with up to nine levels of nesting. TheG format is much the same as a conventional outline, i.e topic, subtopic, subsubtopic, etc.G You can put all HELP text in a single file, but for faster processingG on larger HELP files, you will probably want to use indirectG referencing. This is explained further below. The first (or only)/ HELP file accessed is called the root file. K Since the HELP processor keys off the characters in the first column, this M file has a comment character ( ! ) in the first column of many lines. This L is so this example can be included in the HELP files without confusing the : HELP processor. Omit comment lines from your HELP files.# Here is an example of a HELP file:lB BLANK OR NOT LINE ONE OF ROOT FILE IS IGNORED. USE FOR LABELLING.D Here is the text displayed by typing HELP without parameters. The A first line is never displayed and can be left blank or used for s? labeling. Introductory information on the further use of the n= HELP file usually appears here. For better appearance, the iC first character in each line is usually a tab or blank, but there 9 is no technical requirement that you do this. The HELP i= processor ignores any first character except the numerals 1 I< through 9 and the symbols @ and #. It is good practice to > limit text to about 20 lines so that the display text can be ? displayed on a video terminal without scrolling and with room l< left to enter a cQommand without losing HELP text. Text at ; each level should refer to all HELP available at the next e level.t a! Further HELP is available. Typeb & HELP FIRST-LEVEL1 HELP SECOND-LEVEL1 e HELP INDIRECT HELP SYNONYMS HELP PURPLEr!1 FIRST-LEVEL1t> This is the first level-1 HELP text. The first line of this 7 text must begin with the numeral 1. This is the text o displayed if you type n  >HELP FIRST-LEVEL1 e@ The parameter must be all uppercase characters (CAPITALS). It < is not necessary to type the full text of the parameter to 5 display the text, but you must type enough of it to r< distinguish the parameter from all other parameters at the % same level. In this example, typing  O >HELP FIRSTP RB would be enough. The parameter must be separated from the level = number by one or more blanks or tabs. The parameter itself s< cannot include any blanks or tabs, but phrases can be tied < together with hyphens or underscore characters. If you do 6 this, make it clear in your references to that level. e" Further HELP is available. Type  y HELP FIRST-LEVEL1 FIRST-LEVEL2 i!2 FIRST-LEVEL2t@ This is the text displayed if you type HELP FIRST FIRST. This is the first level-2 HELP text. w!1 SECOND-LEVEL1> This is the text displayed if you type HELP SECOND. This is  the second level-1 HELP text. e! Further HELP is available. Typen o" HELP SECOND-LEVEL1 SECOND-LEVEL2 t!2 SECOND-LEVEL2= This is the text displayed if you type HELP SECOND SECOND. o& This is the second level-2 HELP text. H !1 INDIRECTb? HELP files can also include indirect references to other HELP V@ text. These indirect references greatly decrease search time, > because once the HELP processor sees the indirect reference, @ the root file (this file) is left behind. The filespec can be = any legal filespec. The default file type is .HLP. If you p@ use a file type other than .HLP, that type becomes the default & file type for that session of HELP. !Q P; The file referenced in this manner has the same format as H= other HELP files, except that if the indirect file contains s? level numbers, these must be greater than the level number in a= the root file. For instance, if the root file contains the i lines n ! 1 INSTANCE ! @INSTANCE i> then INSTANCE.HLP can contain only level numbers 2 through 9. a Further HELP is available. See e HELP INDIRECT EXAMPLEH !2 EXAMPLE !@EXAMPLE.TXTl !1 SYNONYMSr@ HELP also permits cross-references between two or more similar < or synonymous parameters. The format for synonyms appears > below. You can greatly assist the user by trying to imagine 9 what might be typed in seeking particular HELP text and ,7 including the most likely possibilities as synonyms. C < The synonyms must all precede the main entry to which they > refer, The main entry and all synonym entries must have the  same level number.H !1 MAUVE!#PURPLE . . . !1 MAGENTA!#PURPLE . . . !1 PURPLEe@ Color of a hue between blue and red. Shades of purple include 9 mauve, violet, plum, lilac, puce, amethyst, and magenta.r * This is the end of the example HELP file.ing particular HELP text and ,7 including the most likely possibilities as synonyms. C < The synonyms must all precede the main entry to which they > refer, The main entry and all synonym entries must have the  same level number.H !1 MAUVE!#PURPLE . . . !1 MAGENTA!#PURPLE . @Q 3M%QM Here are the octal values for the ASCII character set. Most RSX-11M/M-PLUS G functions requiring numerical values for characters use octal ASCII.  I 000 NUL 020 DLE 040 SPA 060 0 100 @ 120 P 140 ` 160 p I 001 SOH 021 DC1 041 ! 061 1 101 A 121 Q 141 a 161 q I 002 STX 022 DC2 042 " 062 2 102 B 122 R 142 b 162 r I 003 ETX 023 DC3 043 # 063 3 103 C 123 S 143 c 163 s I 004 EOT 024 DC4 044 $ 064 4 104 D 124 T 144 d 164 t uI 005 ENQ 025 NAK 045 % 065 5 105 E 125 U 145 e 165 u gI 006 ACK 026 SYN 046 & 066 6 106 F 126 V 146 f 166 v I 007 BEL 027 ETB 047 ' 067 7 107 G 127 W 147 g 167 w I 010 BS 030 ETB 050 ( 070 8 110 H 130 X 150 h 170 x I 011 HT 031 EM 051 ) 071 9 111 I 131 Y 151 i 171 y I 012 LF 032 SUB 052 * 072 : 112 J 132 Z 152 j 172 z I 013 VT 033 ESC 053 + 073 ; 113 K 133 [ 153 k 173 { I 014 FF 034 FS 054 , 074 < 114 L 134 \ 154 l 174 | I 015 CR 035 GS 055 - 075 = 115 M 135 ] 155 m 175 } I 016 SO 036 RS 056 . 076 > 116 N 136 ^ 156 n 176 ~ G 017 SI 037 US 057 / 077 ? 117 O 137 _ 157 o 177 DELM 0F See also HELP ASCII DECIMAL for decimal values as required by EDT and HELP ASCII HEXADECIMAL. 2 DECIMAL1? Here are the decimal values for the ASCII character set. EDT functions use decimal ASCII. I 000 NUL 016 DLE 032 SPA 048 0 064 @ 080 P 096 ` 112 p 5I 001 SOH 017 DC1 033 ! 049 1 065 A 081 Q 097 a 113 q 6I 002 STX 018 DC2 034 " 050 2 066 B 082 R 098 b 114 r 7I 003 ETX 019 DC3 035 # 051 3 067 C 083 S 099 c 115 s SI 004 EOT 020 DC4 036 $ 052 4 068 D 084 T 100 d 116 t I 005 ENQ 021 NAK 037 % 053 5 069 E 085 U 101 e 117 u II 0)Q06 ACK 022 SYN 038 & 054 6 070 F 086 V 102 f 118 v I 007 BEL 023 ETB 039 ' 055 7 071 G 087 W 103 g 119 w I 008 BS 024 ETB 040 ( 056 8 072 H 088 X 104 h 120 x I 009 HT 025 EM 041 ) 057 9 073 I 089 Y 105 i 121 y I 010 LF 026 SUB 042 * 058 : 074 J 090 Z 106 j 122 z I 011 VT 027 ESC 043 + 059 ; 075 K 091 [ 107 k 123 { I 012 FF 028 FS 044 , 060 < 076 L 092 \ 108 l 124 | I 013 CR 029 GS 045 - 061 = 077 M 093 ] 109 m 125 } I 014 SO 030 RS 046 . 062 > 078 N 094 ^ 110 n 126 ~ G 015 SI 031 US 047 / 063 ? 079 O 095 _ 111 o 127 DELM 0 2 HEXADECIMAL  3B Here are the hexadecimal values for the ASCII character set. VMS# functions use hexadecimal ASCII. A 00 NUL 10 DLE 20 SPA 30 0 40 @ 50 P 60 ` 70 p A 01 SOH 11 DC1 21 ! 31 1 41 A 51 Q 61 a 71 q 1A 02 STX 12 DC2 22 " 32 2 42 B 52 R 62 b 72 r 9A 03 ETX 13 DC3 23 # 33 3 43 C 53 S 63 c 73 s 8A 04 EOT 14 DC4 24 $ 34 4 44 D 54 T 64 d 74 t A 05 ENQ 15 NAK 25 % 35 5 45 E 55 U 65 e 75 u HA 06 ACK 16 SYN 26 & 36 6 46 F 56 V 66 f 76 v fA 07 BEL 17 ETB 27 ' 37 7 47 G 57 W 67 g 77 w A 08 BS 18 ETB 28 ( 38 8 48 H 58 X 68 h 78 x A 09 HT 19 EM 29 ) 39 9 49 I 59 Y 69 i 79 y A 0A LF 1A SUB 2A * 3A : 4A J 5A Z 6A j 7A z A 0B VT 1B ESC 2B + 3B ; 4B K 5B [ 6B k 7B { A 0C FF 1C FS 2C , 3C < 4C L 5C \ 6C l 7C | A 0D CR 1D GS 2D - 3D = 4D M 5D ] 6D m 7D } A 0E SO 1E RS 2E . 3E > 4E N 5E ^ 6E n 7E ~ ? 0F SI 1F US 2F / 3F ? 4F O 5F _ 6F o 7F DEL   H 58 X 68 h 78 x A 09 HT 19 EM 29 ) 39 9 49 -Q@ Q 3F 9 BAD or the badblock locator utility is used to determine A if bad blocks exist on a disk volume and to record the locationsV? for use by backup and restore utilites and the INITALIZE task. ) The general form of the command line is:  n BAD > device:[/switches]   where ? device specifies a physical device. The specification consists@ of two alphanumeric characters followed by a 1 to 3 digit octal unit number and colon. SD switch specifies an optional switch that qualifies the BAD command C line. Multiple BAD switches for a device must be specified on one sB line. If you do not specify a switch, BAD begins pattern checking of individual blocks. n Legal switches are: TE /ALLOCATE:volume label Prompts you for blocks to be allocated F /ALO:volume label to BADBLK.SYS and to be entered in the 9 bad block descriptor file.  3B /LIST List bad block numbers as they are ' /LI located.n D /MANUAL Prompts you for additional bad blocks3 /MAN which are entered in the bad blocktC descriptor file, after searching the 3 disk for bad blocks.o < /OVERRIDE Ignores the last track information onF /OVR a last-track device, and creates a bad E block descriptor file on the last goodt; block bef1Qore the last track.M  sF /PATTERN=m:n Specifies the double word data pattern 9 /PAT=m:n used to locate bad blocks.e f7 /RETRY Force I/O driver to retry bad blockso aD /UPDATE Prompts you for additional bad blocksB or /UPD which are entered in the bad block / descriptor file.d r ( Switches for Stand-Alone Version Only E /CSR=nnnnnn Specifies the CSR address of a device sB that is not in a standard location. B /VEC=nnn Specifies the interrupt vector addressD of a device that is not in a standard( location. a' /WCHK Causes a write check.  w, /NOCHK Negates /WCHK descriptor file.d r ( Switches for Stand-Alone Version Only E /CSR=nnnnnn @Q 3FD RSX-11M/M-PLUS systems support two versions of the BASIC language, D BASIC-11 and BASIC-PLUS-2. See your system manager for information2 on the availability of these unbundled languages.C Invoke BASIC-11 with the command BAS. You can exit from BASIC-11  with a BYE command.E Invoke BASIC-PLUS-2 with the command BP2. BASIC-PLUS-2 has its own F help facility. To access it, invoke BASIC-PLUS-2 and type INQUIRE. 0 You can exit BASIC-PLUS-2 with an EXIT command.5Q@JQ 3L$$ BRU /qualifier(s) source target B The BRU command invokes the BRU system utility program to provideE functions that allow you to back up and restore Files-11 volumes. ItA transfers files from a volume to a backup volume (or volumes) toC ensure that copies of the files are available in case the originalD files are destroyed. If the original files are destroyed, or if forF any other reason the copies need to be retrieved, you can restore the# backed up files with this command. F Both source and target fields can specify disk or tape units, but at L least one of these must be a disk. The source field may optionally include H from 1 to 16 file specifications, which are used to select which files  are to be transferred.u )5 DCL users access BRU through the DCL BACKUP command. @ See HELP BRU QUALIFIERS for a list of the available qualifiers. t1 See HELP BRU EXAMPLES for some command examples. 2 APPEND e BRU>/APPEND source target G The /APPEND qualifier appends a backup set from the input disk volume i+ to the last backup set on the output tape.  sC If the output tape was positioned at the beginning, /APPEND causesoF a skip to the logical end-of-tape before writing the new backup set. @ The output volume is searched for the last logical end-of-file. mI If the output tape is already positioned at logical end-of-tape, /APPENDD causes BRU to start writing where the tape is currently positioned. UD If the output tape is not positioned at the beginning or at log9QicalH end-of-tape, /APPEND/REWIND will rewind the tape and then space forward until the logical end-of-tape.o iE If the tape is a continuation tape (that is, not the first tape of aaG tape set) or if the last backup set does not end on the tape, an errorr message is displayed. 2 BACKUP_SET h# BRU>/BACKUP_SET:name source targett gG The /BACKUP_SET qualifier allows you to specify the name of the backupsD set to be placed on the tape. The default is the volume name of theE disk being backed up. This name may be up to 12(10) characters long.e pG When applied to an output tape volume, the backup set name assigns theaH name of the backup set being placed on the volume. Multiple backup sets" may be placed on a single volume. nE When applied to an input tape volume, the first tape is searched forAF the specified backup set name. If you specify no backup set name with@ the input volume, the first backup set on the tape is restored. eB Several sequential backup sets from the same tape can be restoredF without having to rewind the tape between operations. The first tape= in the backup set is not rewound unless you specify /REWIND.u2 BADe . BRU>/INITIALIZE/BAD:[AUTOMATIC] source target MANUAL OVERRIDE WB The /BAD qualifier is used with the /INITIALIZE qualifier during @ tape-to-disk or disk-to-disk operations. /BAD creates the file BADBLK.SYS on the output disk.r bF For last-track devices, AUTOMATIC causes the manufacturer's bad blockD information and the software detected bad sector file to be used toE create BADBLK.SYS. For nonlast-track devices, the software bad block A descriptor block is used to create BADBLK.SYS. AUTOMATIC is theO default option. D OVERRIDE applies only to last-track devices, causing the last-trackG device to appear to be a nonlast-track device. When OVERRIDE is speci-oA fied, BRU uses the software bad block descriptor block to createF= BADBLK.SYS and ignores the manufacturer-written information.b kF MANUAL accepts the =Qaddresses of bad blocks entered interactively from; the terminal. MANUAL also requests BRU to use either the aE manufacturer-written bad block information and the software-detected E bad sector file (for last-track devices) or the bad block descriptors8 block (for nonlast-track devices) to create BADBLK.SYS. 2 BUFFERSi - BRU>/INITIALIZE/BUFFERS:number source targeto aF The /BUFFERS qualifier specifies the default number of directory FileE Control Blocks (FCBs) on each volume. The FCBs are stored in memorybG by the ACP when the volume is mounted. The more FCBs there are storedsG in memory, the faster that files contained in heavily used directories G are found. The default number of buffers is the same as for the inputb disk. sE The /BUFFERS qualifier is used with the /INITIALIZE qualifier duringU) tape-to-disk or disk-to-disk operations. 2 COMPAREe  BRU>/COMPARE source targetp fG The /COMPARE qualifier compares the data on the output device with thev@ data on the input device and reports any differences. No data 1 transfer takes place during a compare operation.  oD The command line specifying the compare operation must be identicalE to that entered when the data on the output volume was created, withdI the exception of the /INITIALIZE, /NOINITIALIZE, and /APPEND qualifiers.r 2 CREATED- d7 BRU>/CREATED:BEFORE:(dd-mmm-yy hh:mm:ss) source targetO BEFORE:dd-mmm-yy BEFORE:hh:mm:ss! AFTER:(dd-mmm-yy hh:mm:ss)i AFTER:dd-mmm-yy AFTER:hh:mm:sso B The /CREATED qualifier allows you to select for backup or restore> files created before or after the specified date and/or time. mB If you use the BEFORE option, BRU copies any files created before the specified date and/or time. oF If you use the AFTER option, BRU copies any files created on or after: the specified date and/or at or after the specified time. H If you specify both a date and time, the date and time must be enclosedF in parentheses. If you specify only a datAQe or only a time, the paren-H theses are not necessary. If you specify only a time, the current date B is used. If you specify only a date, the time defaults to 00:00. O 2 DENSITYB c" BRU>/DENSITY:number source target eF The /DENSITY qualifier specifies the density at which a magnetic tape3 is to be written. The following values are legal:/ a) Drive Default Density Optional Density  c TU10/TE10 800 NONEe TU16/TE16 800 1600t TU45 800 1600a TU77 800 1600p TS11 1600 NONE TU78 6250 1600 -F If you specify /DENSITY with /APPEND, you must specify the density atI which the existing tape data was written. If you specify a density otherC than the original density, a warning message will be displayed and 1 processing will continue at the correct density.  eF If you specify an incorrect density for a restore operation, an error6 message is displayed and the operation is terminated. 2 DIRECTORY6 0 BRU>/DIRECTORY source& BRU>/BACKUP_SET:name/DIRECTORY source ED The /DIRECTORY qualifier lists the backup set names or files on theD specified tape volume. In a multivolume tape set, the directory is on the first tape of the set. tH When specified with no backup set name, /DIRECTORY lists all the backup sets on the volume. eE When used with the /BACKUP_SET qualifier, /DIRECTORY lists the filesoD in the specified backup set. If the backup set is not on the tape,? an error message is displayed and the operation is terminated.S 2 DISPLAYE R BRU>/DISPLAY source target  lH The /DISPLAY qualifier prints the file name and UFD of each file as the+ header for that file is being transferred.2 ERRORS  BRU>/ERRORS:number eH The /ERRORS qualifier requests termination of a restore operation afterA the specified number of nonfatal tape read errors have occurred.I T@ The range for number is 0 to 65535. The default is /ERRORS:25. 2 EXAMPLES t4 Example of a complete disk copy to a 1600 bpi tape: n BRU>/DENSITY:1600 DB2: MM0: E ExaEQmple of a copy from tape to disk, initializing the disk and usingl prompting:D  BRU>/DENSITY:1600 FROM: MM1:f TO: DK2:a# INITIALIZE THE OUTPUT DISK? YESS mE Example of a disk-to-disk transfer from a mounted disk, initializinga the output disk:e i BRU>/INITIALIZE/MOUNTED FROM: DB0:v TO: DB3:I 2 EXCLUDEr e% BRU>/EXCLUDE ddnn:filespec(s) target  /G The /EXCLUDE qualifier specifies that files matching the file specifi-iC cations in the command line be excluded from the backup or restore operation. 2 EXTEND t, BRU>/INITIALIZE/EXTEND:number source target TD The /EXTEND qualifier specifies the default number of blocks a fileC will be extended when that file has exhausted its allocated space.i9 This value is used by an ACP when the volume is mounted.T D The /EXTEND qualifier is used with the /INITIALIZE qualifier during) tape-to-disk or disk-to-disk operations.p 2 HEADERSt l- BRU>/INITIALIZE/HEADERS:number source target  mH The /HEADERS qualifier specifies the number of file headers to allocateG initially to the index file. The primary reason for preallocating fileiF headers is to locate them near the storage bitmap file. Proper place-H ment of file headers can help reduce head motion during I/O operations. E The /HEADERS qualifier is used with the /INITIALIZE qualifier duringh* tape-to-disk and disk-to-disk operations. 2 INITIALIZE #NOINITIALIZEp 2 INVOLUME l! BRU>/INVOLUME:name source targeto eF The /INVOLUME qualifier specifies the volume label of the input disk./ This name can be up to 12(10) characters long.  mF For disk-to-tape or disk-to-disk operations, the volume label of the G input volume is checked to verify that the disk has the correct label. = This check ensures that you do not back up the wrong volume.  uH For restore operations, BRU checks the volume label of the disk that is" stored in the backup set on tape.2 LENGTH O! BRU>/LENGTH:number source targete rG The /LENGTH qualifier specifies the length ofIQ the output tape in deci-tF mal feet. If the length specified exceeds the length of the tape, theG entire length of the output tape will be used. In cases where you knowmG the end of the tape must not be used, you can specify a shorter length : to ensure that you do not write on that part of the tape. 2 MAXIMUMe i- BRU>/INITIALIZE/MAXIMUM:number source targeta sF The /MAXIMUM qualifier specifies the maximum number of files that canF be placed on a volume, as determined by the number of file headers inF the volume's index file. The default maximum is the maximum number of files on the input disk.r 2 MOUNTED   BRU>/MOUNTED source targetc sD The /MOUNTED qualifier allows you to back up files from a disk that! is mounted as a Files-11 volume.a oF Note that disk activity while the files are being backed up may cause undesirable results.e 2 NEW_VERSIONT / BRU>/NEW_VERSION source targeta uF The /NEW_VERSION qualifier resolves file specification conflicts thatC occur during restore operations when a file already exists on the i: output disk volume by creating a new version of the file.2 NOINITIALIZE / BRU>/INITIALIZE source target BRU>/NOINITIALIZE source target kD The /INITIALIZE qualifier specifies that you want to initialize theE output disk during a tape-to-disk or disk-to-disk operation. Initia-uE lization places a Files-11 structure on the disk, including the boote6 block, the home block, and the required system files. tD Along with the /INITIALIZE qualifier, you can specify the followingE qualifier when you are initializing a disk: /BAD, /BUFFERS, /EXTEND,eE /HEADERS, /MAXIMUM, /NOPRESERVE, /OUTVOLUME, /POSITION, /PROTECTION,TA and /WINDOWS. If you do not specify any of these qualifiers, the . characteristics of the input volume are used. aF /NOINITIALIZE specifies that you do not want to initialize the outputE disk because it is already in Files-11 format. The output disk must > be mounted as a Files-11 volume. You cannot enter any of theD initiMQalization qualifiers when you specify /NOINITIALIZE. Doing so results in an error message., 2 NOPRESERVE D) BRU>/INITIALIZE/NOPRESERVE source targetS OE The /NOPRESERVE qualifier specifies that you do not want to preservel? file-IDs. BRU suppresses the message about file-IDs not beingG preserved. Note that when restoring to a mounted disk, not preservingd# files-IDs is BRU's default action.  m@ When file-IDs are not preserved, new file-IDs are assigned and  incremented sequentially. 2 NOSUPERSEDEu #SUPERSEDE 2 OUTVOLUME  I" BRU>/OUTVOLUME:name source target rH The /OUTVOLUME qualifier specifies the volume label of the output disk.5 This label can be up to 12(10) characters in length.n wF For disk-to-tape backup operations, the name of the input disk volumeG stored on the output tape volume is changed to the name specified withp the /OUTVOLUME qualifier. G For tape-to-disk restore operations or for disk-to-disk transfers, theaE name of the output disk volume is changed to the name specified with  the /OUTVOLUME qualifier. 2 POSITION 1 BRU>/INITIALIZE/POSITION:BEGINNING source target MIDDLEo END BLOCK:numbere aD The /POSITION qualifier specifies the location of the index file onE the output disk volume being initialized, usually to minimize accessaE time. The BEGINNING, MIDDLE, and END options specify the beginning,fB middle, and end of a volume. The BLOCK:number option specifies aB block number where the index file is to be placed. The BEGINNING@ option is generally used only when a disk mostly contains large contiguous files. :J The default location is at the same location as that on the input disk. 2 PROTECTION i6 BRU>/INITIALIZE/PROTECTION:SYSTEM:value source target OWNER:value GROUP:value WORLD:value aG The /PROTECTION qualifier specifies the default protection for all new@ files created on the disk after the BRU transfer has completed.A Each access code consists of a positional keyword speciQQfying theGH protection group (SYSTEM:, OWNER:, GROUP:, WORLD:) followed by a 4-code- group specifying the protection, as follows:h a R - allow read access to file W - allow write access to file/ E - allow file to be extended D - allow file to be deletedv eE If this qualifier is not specified, the defaults from the input diskr are used. 2 QUALIFIERS t The available qualifiers are: 0 /APPEND /ERRORS:number /POSITION:BEGINNING+ /BACKUP_SET:name /EXCLUDE MIDDLEo+ /BAD:[AUTOMATIC] /EXTEND:number END:2 MANUAL /HEADERS:number BLOCK:number< OVERRIDE /[NO]INITIALIZE /PROTECTION:group:value= /BUFFERS:number /INVOLUME:name /REVISED:BEFORE:date/timef/ /COMPARE /LENGTH:number AFTER:date/timev3 /CREATED:BEFORE:date/time /MAXIMUM:number /REWINDt+ AFTER:date/time /MOUNTED /SUPERSEDEE2 /DENSITY:number /NEW_VERSION /TAPE_LABEL:name" /DIRECTORY /NOPRESERVE /UFD# /DISPLAY /NOSUPERSEDE /VERIFY ' /OUTVOLUME:name /WINDOWS:numberN uI Type HELP BRU "qualifier" for the description of a particular qualifier.E 2 REVISED/ ]7 BRU>/REVISED:BEFORE:(dd-mmm-yy hh:mm:ss) source target/ BEFORE:dd-mmm-yyF BEFORE:hh:mm:ss! AFTER:(dd-mmm-yy hh:mm:ss)t AFTER:dd-mmm-yy AFTER:hh:mm:sse RF The /REVISED qualifier allows you to back up or restore files revised- before or after the specified date and time.  /H If you use the BEFORE option, BRU copies any files revised on or before the specified date and/or time. PF If you use the AFTER option, BRU copies any files revised on or after: the specified date and/or at or after the specified time. eI If you specify both a date and time, the date and time must be enclosed yE in parentheses. If you specify only a date or time, the parentheses/E are not necessary. If you specify only a time, BRU uses the currentrE date as a default. If you specify only a date, the time defaults tot 00:00.c2 REWIND e BRU>/REWIND source UQtarget eF The /REWIND qualifier causes the first magnetic tape of a tape set to> be rewound before BRU executes a backup or restore operation. rE When specified with an input tape, the first tape of the tape set ise0 rewound before it is searched for a backup set. u@ When specified with /APPEND, the input tape is rewound and thenD searched for the logical end-of-tape before BRU executes the backup operation.p 2 SUPERSEDEd , BRU>/SUPERSEDE source targetc H The /SUPERSEDE qualifier specifies that when file specifications on theD output volume are identical to the file specifications on the inputG volume, the file on the output volume is deleted and replaced with thee file from the input volume. iF The /NOSUPERSEDE qualifier specifies that when file specifications onD the output volume are identical to file specifications on the inputE volume, the files on the input volume are not transferred (the filesE* on the output volume are not superseded).  /NOSUPERSEDE is the default.f 2 TAPE_LABEL e$ BRU>/TAPE_LABEL:label source target eF The /TAPE_LABEL qualifier specifies the 6-character volume identifierG on the ANSI VOL1 label to be placed on the tape during a backup opera-tI tion or to be compared with the label on the tape for append and restoreaE operations. This allows you to verify that you are using the correcte tape.2 UFD, e BRU>/NOINITIALIZE/UFD aD The /UFD qualifier creates UFDs (if they do not already exist) on aE mounted output volume, then copy into it the files from the same UFDLB on the input volume. If /UFD is not specified, the files are not/ copied. /UFD is used only with /NOINITIALIZE.L2 VERIFY  BRU>/VERIFY source target kD The /VERIFY qualifier copies data from the input volume, performs aC a compare operation between the input volume and the output volume 1 after the transfer, and reports any differences.T 2 WINDOWS . BRU>/INITIALIZE/WINDOWS:numbers source target rH The /WINDOWS qualifier specifies the default numberYQ of mapping pointersF to be allocated for file windows when initializing an output disk. AF file window consists of a number of pointers and is stored in memory  when the file is opened. t kJ The default number of mapping pointers is the same as for the input disk.pare operation between the input volume and the output volume 1 after the transfer, and reports any differences.T 2 WINDOWS . BRU>/INITIALIZE/WINDOWS:numbers source target rH The /WINDOWS qualifier specifies the default number@ Q 3N<K K CDA helps you determine the cause of system crashes by analyzing a memory G dump created by the Executive Crash Dump Module. It then formats the L information and can create a listing, according to the switches you specify on the command line. ) The general form of the command line is: @ [listfile/sw],[binaryfile/sw]=[symbolfile/STB],crash-input[/sw] / listfile the human-readable CDA output listing B binaryfile a copy of the binary data the crash dump module writes on the crash dump device dJ symbolfile the symbol definition file (RSX11M.STB) for the crashed system tI crash-input the source of the binary input to CDA; the crash dump devicen8 or a binary file created by CDA in a previous analysis . See HELP CDA LIST for the list file switches. m2 See HELP CDA BINARY for the binary file switches. b9 See HELP CDA ANALYSIS for the crash-input file switches.b CN Further information may be found in the Crash Dump Analyzer Reference Manual. 2 ANALYSIS+ T]Qhe switches for the crash-input file are:y l- /ACT(/ATL) Dumps active task control blocksy( /ADV Lists information on all devices /ALL Does entire analysis0 /CLI(/CPB) Lists contents of CLI parser blocks) /CLQ Lists contents of the clock queueT9 /DEV(/DCB,/SCB,/UCB) Lists information on active devicest /DMP:start:stop:vird F (/DUMP:start:stop:vird)Dumps physical range with 'vird' address label /HDR Dumps task headers( /KMR Forces assignment of kernel APRs( /PCB(/PAR) Dumps partition information /POOL Dumps primary pooll. /STD(/TCB,/TAL) Dumps all task control blocks/ /-SYS Does not dump system information pages . /TSK=name:start:stop Dumps task virtual space (/TASK,/TAS)e l2 BINARY# The switch for the binary file is:T /, /MEMSIZ:n Specifies memory size in K words e e2 LIST$ The switches for the list file are: r5 /EXIT:n Terminates analysis after n analysis errors  u+ /LIMIT:n Limits output listing to n pagesf r( /LINES:n Limits page length to n lines a$ /-SP Does not spool the list file ( BTAL) Dumps all task control blocks/ /-SYS Does not dump system information pages . /TSK=name:start:stop Dumps task virtual space (/TASK,/TAS)e l2 BINARY# The switch for the binary file is:T /, /MEMSIZ:n Specifies memory size in K words e e2 LIST$ The switches for the list file are: r5 /EXIT:n Terminates analysis after n analysis errors  u+ /LIMIT:n Limits output listing to n pagesf r( /LINES:n Limits page length to@Q 3Gb(iKaQ@ CMP, the file compare program, is used to determine differencesD between ASCII coded files. The general form of the command line is: ; outfile/switch(es)=infile1/switch(es),infile2/switch(es) G The DCL DIFFERENCE command also invokes CMP. See HELP/DCL DIFFERENCE. Legal switches are: ' /BL Include blank lines in comparison: /CB List infile2 with change bars indicating differences3 /CO Comments (;) are to be included in comparison% /DI Print differences between files8 /FF Include records of a single form-feed character in comparison> /LI:n Count of lines to be identical in comparison before a match5 /LN Assign line numbers when displaying differencess+ /MB Include blanks and tabs in comparisonk; /SL:au Create a SLP-compatible output file of differences! with "au" as the audit traila+ /TB Include trailing blanks in comparisonn5 /VB:nnn Specify octal character code for change baru  cB If no outfile is specified, it defaults to TI:. The defaults forE the second input file are taken from the specification for the firstn input file.be identical in comparison before a match5 /LN Assign line numbers when displaying differencess+ /MB Include blanks and tabs in comparisonk; /SL:au Create a SLP-compatible output file of differences! with "au" as the audit traila+ /TB Include trailing blanks in comparisonn5 /VB:nnn Specify octal character code for change baru  cB If no outfile is specified, it defaults to TI:. The @Q 3KPdQ(iKeQ K The console output task (COT) is controlled by privileged commands in the  form:  SET /COLOG/option - To show status: SET /COLOG (Nonprivileged)+ To turn on console logging: SET /COLOG=ON- To turn off console logging: SET /COLOG=OFF7 To change a console terminal: SET /COLOG/COTERM=TTnn:2 To enable the console terminal: SET /COLOG/COTERM5 To disable the console terminal: SET /COLOG/NOCOTERM: To change a console logfile: SET /COLOG/LOGFILE=filename To open a new version of then, current logfile: SET /COLOG/LOGFILE= To open a new version ofr. LB:[1,4]CONSOLE.LOG: SET /COLOG/LOGFILE5 To disable the console logfile: SET /COLOG/NOLOGFILEs @ The /COTERM, /NOCOTERM, /LOGFILE, and /NOLOGFILE options can beC specified with each other, with SET /COLOG, or with SET /COLOG=ON.  ble the console terminal: SET /COLOG/COTERM5 To disable the console terminal: SET /COLOG/NOCOTERM: To change a console logfile: SET /COLOG/LOGFILE=filename To open a new v@Q 3Ex( 2dQ(iK? DMP or DUMP is used to dump files in various readable formats.? It has two basic modes of operation:FILE MODE and DEVICE MODE.? In FILE MODE, the device must be mounted for access by FCS. ToB dump logical blocks or records of a file use FILE MODE. In DEVICEC MODE, the device must be mounted FOREIGN on 11M+. To dump physical' blocks from a device, use DEVICE MODE.) The general form of the command line is:$ outspec/switches = inspec/switches where:= outspec is the output file specifiQication for the dump.TI: isu acceptable.= inspec is the name of the file to be dumped (FILE MODE only)L2 or the input device specification in DEVICE MODE. Legal switches are: /AS Dump in ASCII model* /BA:n:m Specifies two word base address. /BL:n:m Specify logical block range to dump( in FILE MODE,default is entire file. or,) Required switch in DEVICE MODE, spec-t( ifies range of physical blocks to be dumped.t /BY Dump in byte octal format /DC Dump in decimal formath* /DENS:n Density for input magnetic tape2 /FI:filenum:seqnum Identify input file by File IDD The following three switches may be combined with the /BL switch toA specify a range of blocks to be dumped.For instance,/HD or /HD:UaE followed by /BL:0 will dump only the header of the file. If followed E by /BL:n:m, logical blocks n thru m of the file will be dumped alongO with the header of the file.pE /HF/BL:n:m will dump the logical blocks of the file from n thru m in/@ header format, if they conform to ODS-1, otherwise they will be dumped in octal.m) /HD Dump file header in formatted formf% /HD:U Dump file header unformatted " /HF Dump in ODS-1 header format! /HX Dump in hexadecimal formate- /ID Display current version of DMP programl# /LB Display starting LBN of file ) /LC Dump lower case characters as suchh# /LIM:n:m dump only n thru m bytesh- /LW Dump in hexadecimal double word formath' /MD:n Specify line number sequencingm /OCT Dump in octal format.o/ /RC Dump in record (instead of block) formatn( /RW Rewind the magtape before dumping /R5 Dump in RAD50 format / /SB:n Space n blocks in indicated direction.a Tape only in device mode.h. /SF:n Space n EOF's in indicated direction. Tape onle in device mode.l( /SP Spool output file to line printer& /WD Dump in hexadecimal word format; NOTE: A command line line may specify one or more of DMP'sfD format switches in the same command line.However, some of them mQare < mutually exclusive (see the documentation for more detail).3 If no switches are specified, /OCT is the default. in RAD50 format / /SB:n Space n blocks in indicated direction.a Tape only in device mode.h. /SF:n Space n EOF's in indicated direction. Tape onle in device mode.l( /SP Spool output file to line printer& /WD Dump in hexadecimal word format; NOTE: A command line line may specify one or more of DMP'sfD format switches in the same command line.However, some of them @Q 3F &( g2dQ(iKA The Disk Save and Compress (DSC) utility program copies Files-11A disk volumes to tape or disk for backup and storage. When it isA used for volume restoration, it reallocates and consolidates the resulting disk. - The general form of the DSC command line is: = outdev:[outlabel][/outswitches]=indev:[inlabel][/inswitches]  where: 0 outdev: lists output device(s) to which data is3 transferred. The format of outdev: is ddn, where1 dd is the two letter ASCII device name and n isT1 the octal unit number. When more than one tapei1 drive is listed, the device symbols must appeark0 in succession, separated by commas, before any1 other command parameters are specified. E. G.,s i DSC>MM0:,MM1:SYSFILE=DB1: f3 Only a single disk may be specified.If more tapesu6 are required than are specified,the devices will be $ referenced in round robin fashion.9 outlabel If the output device is a disk, outlabel is the 4 new disk label. If outlabel is omitted, the labelqQ6 of the disk will be the same as that of the original4 input disk. If the output device(s) is a magtape,4 outlabel is the file name of the disk image on the tape.n a< outswitches One or more of the following optional switches: :( /AP, /BAD, /BL, /CMP, /DENS, /RW, /VE. For more information, type HELP DSC (switch) e.g. HELP DSC BADb 8 indev lists the inputs device(s) in the same format as outdev i7 inlabel The identifier of the DSC-created magtape filel/ that is to be transferred to disk. If a file / label was not provided when a disk is createdh2 from a tape, the first file found on the tape is transferred. s; inswitches One or more of the following optional switches:  l n& /BL Specifies output blocking factor * /RW Rewinds magtapes before execution of the command s@ See the IAS/RSX-11 Disk Save and Compress User's Guide for more information.f2 AP ? The /AP switch causes DSC to append a copy of the input devicefA to the specified output magtape. /AP is valid only if that tape ; is the first tape of the tape set. The copy may extend tot succeeding magtapes.  2 BADf e8 There are five forms of the DSC switch /BAD. They are: t0 /BAD=MAN Causes DSC to prompt for bad blocks to& be added to the output volume's bad block file, [0,0]BADBLK.SYS S8 /BAD=MAN:NOAUTO Combination of /BAD=MAN and /BAD=NOAUTO ( Either order is acceptable)T // /BAD=NOAUTO Causes DSC to ignore the bad blockt( descriptor area on the disk. The bad& block file will be empty unless bad blocks are entered manually.T c2 /BAD=OVR Causes DSC to treat the output disk as a+ non-last track device when searching forc- bad block data.Use this switch only if the ( BAD utility was used specifying /OVR.< /BAD=MAN:OVR This is a combination of /BAD=MAN and /BAD=OVR2 BL O, The blocking factor switch has the form of: h /BL=n < where n is the number of disk blocks that should be written> at one time. The default is n=4, auQnd 4 is the smallest value that should be specified. k< Specifying a large value for n decreases the amount of time: necessary for the copy by reducing the number of required I/O commands. d< Once a blocking factor is specified, it becomes the default< blocking factor until a new value is specified or until DSC9 exits. If magtape is specified as the input device, the ; blocking factor is automatically set to the value at whichb that tape was created.t = If DSC will expand its partition to honor large values of n.- It will not attempt to shrink its partition.a 2 CMPo ; The /CMP switch causes DSC to compare the input and outputc8 volumes without first performing a copy operation. The= input and output volumes cannot both be magtapes. Multireela; magtapes can be compared with a disk. When the compare of > the current tape is completed, the operation will continue on4 the next volume until all reels have been compared. w= If tape is involved, it is suggested that it be specified asr input. 2 DENS i> The DSC density switch for magtapes has the following format: . /DENS=1600 Specifies that the output magtape& be written at 1600 bpi. It is not# necessary to use this switch onu input magtapes.  m/ /DENS=800:1600 The switch is not valid on anyi* magtape controller which automatically- senses density (e.g. TM03). It specifiesu* that the first two blocks on the first& output tape be written at 800 bpi.) The remainder of the magtape set will be written at 1600 bpi.D d; The default density for MM: tapes is 800 bpi,for MS:,1600E bpi,and for MF:6250 bpi.2 RW gD The /RW switch specifies to DSC that the magtapes be rewound beforeD they are used. The switch applies to all tapes on the same side of  the command line. a2 VE tF The /VE switch specifies to DSC that it should do a compare operationF between the input and output volumes after the input volume is copiedC to the output volume. The input and outpyQut volumes cannot both bei magtapes. bpi.D d; The default density for MM: tapes is 800 bpi,for MS:,1600E bpi,and for MF:6250 bpi.2 RW gD The /RW switch specifies to DSC that the magtapes be rewound beforeD they are used. The switch applies to all tapes on the same side of  the command line. a2 VE tF The /VE switch specifies to DSC that it should do a compare operationF between the input and output volumes after the input volume is copiedC to the output volume. The input and outp@,Q 3H( gn2dQ(iK 9 EDI or EDIT is a line oriented editor supplied with IAS,e RSX-11M, and RSX-11M-PLUS.  oEDI Command Conventions: < 1. The asterisk (*) can be used in place of any number2 in an EDI command. It is read as 32,767. e? 2. An elipsis (...) can be used in many search strings to < identify characters beween the first and last char- acter of the string.i s: 3. EDI allows the use of abbreviations for commands. hHA summary of legal EDI commands may be obtained by entering the command: d HELP EDI SUMMARYI e 2 SUMMARY  D Listed below is a summary of EDI commands. Only the first word of 3 two-word commands is included for ease of search.  E ADD INSERT RETYPEs BEGIN KILL SAVEA BLOCK LINE SEARCHe BOTTOM LIST SELECTt CHANGE LOCATE SIZEr CLOSE MACRO TAB  CONCATENATION NEXT TOPr CTRL/Z OPEN TYPE  DELETE OUTPUT UNSAVEf END OVERLAY UPPERd ERASE PAGE VERIFYl ESCAPE PASTE }Q WRITEi EXIT PRINT FILE READd FIND RENEW FORM RETURNR C A summary description of each command may be obtained by enteringo the commandc a HELP EDI command 2 ADD  ADD A[DD] string E< The command ADD string Adds the character string' indicated to the current line.A ! ADD AND PRINT AP stringO T< Adds the character string indicated to the current' line and prints the entire line.R2 BEGINE BEGIN B[EGIN]E A< Sets the current line to the line preceding the top< line in the file or block buffer. This command cre-< ates a copy of the file when it is invoked in line mode.2 BLOCK  BLOCK ON/OFF BL[OCK] [ON] orm BL[OCK] [OFF] h< Changes to and from the EDI block mode of accessing text.2 BOTTOM BOTTOM BO[TTOM] < Moves the line pointer to the bottom of the current< block (in block mode) or to the bottom of the file (in line mode).2 CHANGE, CHANGE [n]C[HANGE] /string1/string2[/]... n: Replaces string1 with string2 in the current line n times.h2 CLOSEe CLOSE CL[OSE] [filespec] < Transfers the remaining lines in the block buffer and: input file to the output file and closes all files. ! CLOSE AND DELETE CDL [filespec] O< Transfers the remaining lines in the block buffer and= the input file into the output file, closes the outputo' file and deletes the input file. H CLOSE SECONDARY CLOSES s' Closes the secondary input file. 2 CONCATENATIONn% CONCATENATION CHARACTER CC [letter]h < Changes the concatenation character to the character& specified. (The default is &).2 CTRL/Z  e7 Closes files and terminates the editing session.E2 DELETE DELETE D[ELETE] [n] ors D[ELETE] [-n] < Deletes the current line and n-1 lines if n is a po-< sitive number. Deletes n lines preceding tQhe current< line if n is a negative number. Negative numbers can" only be used in block mode. O$ DELETE AND PRINT DP [n] or DP [-n] < Deletes the current line and prints the new current line.2 END END E[ND] T< Sets the current line to the last line in a file or block buffer.2 ERASEE ERASE ERASE [n]s , Erases the current line in line mode.2 ESCAPE  or ALTMODE  < Prints the previous line and makes it the new current line. 2 EXIT EXIT EXIT [filespec] e< Transfers the remaining lines in the block buffer and; input file to the output file, closes files, renamesr; the output file, and terminates the editing session.h u EXIT AND DELETE ED [filespec]  e< Transfers the remaining lines in the block buffer and: input file to the output file closes files, renames2 the output file and deletes the input file.2 FILE FILE FIL[E] filespec < Transfers lines from input file to both the output< file and the specified file until a formfeed or end of file is encountered.2 FIND FIND [n]F[IND] stringa r< Searches the current block or input file, beginning< at the line following the current line, for the nth< occurrence of the string. (If n is not specified,< EDI searches for the next occurrence of the string.)2 Sets the line pointer to the line it finds.2 FORM FORM FEED FFT s1 Inserts a form feed into the block buffer. 2 INSERT INSERT IN[SERT] [string]l f< Enters the specified string, immediately following< the current line. If no string is specified, EDI enters input mode. 2 KILL KILL KILLo g< Closes input and output files and deletes the output file.2 LINE( LINE CHANGE [n]LC /string1/string2[/] c< Changes all occurrences of string1 in current line" (and Qn-1 lines) to string2.2 LIST LIST ON TERMINAL LI[ST]d t< Prints all the lines remaining in the block buffer or" input file on the terminal.2 LOCATE LOCATE [n]L[OCATE] string u< Locates the nth occurrence of the specified string.< In block mode, the search stops at the end of the current block.l2 MACRO  MACRO MACRO [x] definition E A; Defines macro number x to be the EDI commands in thee definition. r MACRO CALL MC[CALL] < Retrieves macro definition stored in a file, MCALL;n.  MACRO EXECUTE [n]Mx [a] < Executes macro x [n] times, while passing numeric ar-1 gument [a]. The value x may be 1,2, or 3.c s" MACRO IMMEDIATE [n]  s< Defines and executes a macro n times. Stores it as macro number 1.2 NEXT NEXT N[EXT] [n] or N[EXT] [-n] < Establishes a new current line n lines away from the current line. r NEXT AND PRINT NP[n] or NP[-n]i m/ Establishes and prints new current line. 2 OPEN! OPEN SECONDARY OP[ENS] filespece a* Opens the specified secondary file.2 OUTPUT OUTPUT ON/OFF OU[TPUT] ON or  OU[TPUT] OFF  E6 Enables or disables a file transfer to an out- put file in line mode.s 2 OVERLAYc OVERLAY O[VERLAY] [n] < Deletes n lines, enters Input mode, and inserts new8 line(s), as typed, in place of the deleted lines.2 PAGE PAGE PAG[E] n or -n < Enters block mode. Reads page n into current block< buffer. If n is less than current page, goes to top= of file first. Pages are set by form feed characters.[ T PAGE FIND [n]PF[IND] string < Searches successive blocks for the nth occurrence of the string. " PAGE LOCATE [n]PL[OCATE] string < Searches successive blocks for the nth occurrence of the string.2 PASTEn% PASTE PA[STE] /string1/string2[/]  E< SeaQrches all remaining lines in file or block buffer2 for string1 and replaces them with string2.2 PRINTr PRINT P[RINT] [n] < Prints the current line and the next n-1 lines. The1 last line printed is the new current line.e2 READ READ REA[D] n  < Reads the next n blocks of text into the block< buffer. If the buffer contains text, the new text is appended to it.2 RENEWn RENEW REN[EW][n] A< Writes the current block to an output file and reads8 a new block from an input file (block mode only).2 RETURN  N< Prints the next line and makes it the new current> line. This command also exits from input mode if typed( as the first character of a line.2 RETYPE RETYPE R[ETYPE] stringl s< Replaces the current line with the specified string< or deletes the current line if no string is speci- fied.2 SAVE SAVE SA[VE] [n] [filespec] c< Saves the current line and the next n-1 lines in the specified file.2 SEARCH) SEARCH AND CHANGE SC/string1/string2[/]  t4 Locates string1 and replaces it with string2.2 SELECT SELECT PRIMARY SPp m7 Reestablishes the primary file as an input file.  Y SELECT SECONDARY SSs n8 Selects the open secondary file as an input file.2 SIZE SIZE SIZE nl s< Specifies the maximum number of lines which can be read into a block buffer.2 TAB  TAB TA[B] ON ort TA[B] OFF n) Turns automatic tabbing on or off. 2 TOP TOP T[OP]A < Moves the line pointer to the line preceding the top< line of the current block in block mode or the top of< the file in line mode. This command creates a copy9 of the file each time it is executed in line mode.e  TOP OF FILE TOF < Returns to the top of the input file and saves all of< the previously edited pages. This command creates a8 Q new version of the file each time it is executed.2 TYPE TYPE TY[PE] [n] O< Prints the next n lines. Identical to the print com-< mand in line mode. However, in block mode, the line< pointer remains at the current line unless EDI re- ached an end of block.o2 UNSAVE UNSAVE UNS[AVE] [filespec]n o< Inserts all lines from the specified file following< the current line. If no file is named, EDI uses SAVE.TMP.2 UPPERt UPPER CASE UC ON or UC OFFe < Enables or disables conversion of lower case char-< acters to upper case letters, when they are entered at a terminal.o2 VERIFY VERIFY V[ERIFY] ON or V[ERIFY] OFFa h< Selects whether the operation of Locate and Change; commands will be verified (printed after the line isr located or changed).e2 WRITEf WRITE W[RITE]e u< Writes the contents of the block buffer to an output( file and erases the block buffer.  e < Enables or disables conversion of lower case char-< acters to upper case letters, when they are entered at a terminal.o2 VERIFY VERIFY V[ERIFY] ON or V[ERIFY] OFFa h< Selects whether the operation of Locate and Change; commands will be verified (printed after the line isr located or changed).e2 WRITEf WRITE W[RITE]e u< Writes the contents of the block buffer to an output( file and eras@(Q 3v ( gnz2dQ(iKQ1 HELP%You can get help on a topic by typingT# HELP topic subtopic subsubtopic...4,A topic can have one of the following forms:> 1. An alphanumeric string (e.g. a command name, option, etc.)) 2. The match-all or wild card symbol (*) Examples: HELP SUBSTITUTE NEXTD HELP CHANGE SUBCOMMANDf HELP CHBIf a topic is abbreviated, the text for all topics which match theabbreviation is displayed. 1 KEYPAD;Enter the keypad editor through the CHANGE command with theGKEYPAD option set (see SET command). See HELP CHANGE KEYPAD for more L information.2 VT100t cZ)0lqqqqqqqqwqqqqqqqqwqqqqqqqqwqqqqqqqqk lqqqqqqqqwqqqqqqqqwqqqqqqqqwqqqqqqqqk]x ^ x Down x x x x x x Fndnxt x Del L xI[x x x x x x x  Gold x Help x x x mx x x x x Left x Right x x x x Find x Und L xcTx Up x v x x x tqqqqqqqqnqqqqqqqqnqqqqqqqqnqqqqqqqquXmqqqqqqqqvqqqqqqqqvqqqqqqqqvqqqqqqqqj x Page x Sect x Append x Del W xP x x x x xt x Commandx Fill x Replacex Und W xRDelete Rubout character tqqqqqqqqnqqqqqqqqnqqqqqqqqnqqqqqqqquZLinefeed Rubout word x Advancex Backup x Cut x Del C xRBack space Backup to beginning of line x x x x xvCTRL/A Compute tab level x Bottom x Top x Paste x Und C xRCTRL/D Decrease tab level tqqqqqqqqnqqqqqqqqnqqqqqqqqnqqqqqqqquXCTRL/E Increase tab level x Word x  Eol x Char x xTCTRL/K Define key x x x x Enter xmCTRL/T Adjust tabs Q xChngcasex Del Eolx Specinsx x RCTRL/W Refresh screen tqqqqqqqqvqqqqqqqqnqqqqqqqqu xVCTRL/Z Return to line mode x Line  x Select x xY x x x Subs x kType a key for help on that key. x Open line x Reset x x YTo exit, type a space. mqqqqqqqqqqqqqqqqqvqqqqqqqqvqqqqqqqqjx o3 00EThe LINE key advances or backs up the cursor to the nearest beginning $of a line (see ADVANCE and BACKUP).  @The OPEN LINE key inserts a carriage return after the cursor andAleaves the cursor position unchanged. Pressing the OPEN LINE key Cwhen the cursor is at the beginning of the line creates a new blankpline.t3 01@The WORD key moves the cursor forward or backward by a word (seeADVANCE and BACKUP). e sBThe CHGC key changes the case of a range of characters as follows: 8 1. If there is a select range active, the case of each9 alphabetic character in the select range is changed.C )< 2. If 1 does not apply and the cursor is positioned on the8 current search string, the case of each alphabetic / character in the search string is changed.e n< 3. If 1 and 2 do not apply, then the case of one character: is changed, and the cursor moves one character in the current direction.h3 02FThe EOL key moves the cursor forward or backward to the nearest end ofline. a lDThe DELETE EOL key deletes all characters to the right of the cursorCin the current line, including the character on which the cursor is positioned. n3 03CThe CHAR key advances or backs up the cursor by one character (seetADVANCE and BACKUP).  cAThe SPECINS key inserts any ASCII character. Press the GOLD key,aAenter the decimal representation of the character, press the GOLDkey again, and press SPECINS. 3 04CThe ADVANCE key sets theQ current direction to advance for the CHAR,eAWORD, LINE, EOL, PAGE, SECTION, SUBSTITUTE, SUBSTITUTE NEXT, FIND Aand FIND NEXT keys. Advance means the movement will occur in thehHdirection toward the end of the file, that is, to the right and down.  sEThe BOTTOM key positions the cursor at the bottom of the text buffer. 3 05FThe BACKUP key sets the cursor direction to backup for the CHAR, WORD,DLINE, EOL, PAGE, SECTION, SUBSTITUTE, SUBSTITUTE NEXT, FIND and FINDENEXT keys. Backup means the movement will occur in the direction of 8the beginning of the file, that is, to the left and up.  E?The TOP key positions the cursor at the top of the text buffer.l3 06EThe CUT key deletes the select range, storing it in the paste buffer.nCThe select range is all the text between the selected position (seetDSELECT) and the current cursor position. If you have not selected aFrange and the cursor is positioned on the current search string, thatCstring is cut. The previous contents of the paste buffer is lost. c iBThe PASTE key inserts the contents of the paste buffer directly infront of the cursor. 3 07FThe PAGE key moves the cursor to the top of a page. A page is definedFby a delimiter string, which can be set by the SET ENTITY command. The;default page delimiter is the form feed character (CTRL/L).T nAThe COMMAND key allows the you to input a line mode command to benAexecuted. The command is terminated by pressing the ENTER key oni the keypad.h3 08>The SECTION key moves the cursor 16 lines forward or backward,Adepending on the current direction mode (see ADVANCE and BACKUP).c oCThe FILL key performs a word fill on the select range. A word fillgDreformats a block of text so that as many full words as possible areBplaced on each line without exceeding the right margin. The rightDmargin may be set by the SET WRAP command or, if it was not set, the=default is the terminal width - 1. For purposes of the FILLe2command, only spaces are used as word delimiters. 3 09CThe QAPPEND key deletes the selected range and adds it to the end ofr@the paste buffer. The selected range is all the text between theFselected position (see SELECT) and the current cursor position. If no@select has been done and the cursor is positioned on the current*search string, that string is appended.  AThe REPLACE key deletes the select range and replaces it with thee contents of the PASTE buffer. 3 106Use the HELP key to obtain help on the editing keypad.3 11@The FIND NEXT key searches for the next occurrence of the searchCstring entered by the FIND key. The direction of the search is the ,current direction mode (ADVANCE or BACKUP).  CDThe FIND key searches for an occurrence of a string. Press the FINDEkey and then enter the string from the main keyboard. End the stringaDby pressing either the ADVANCE or BACKUP key to set the direction of the search. 3 12=The ^ (up arrow) key moves the cursor to the character above.l3 13?The v (down arrow) key moves the cursor to the character below. 3 15CThe < (left arrow) key moves the cursor to the preceding character. 3 14?The > (right arrow) key moves the cursor to the next character.h3 16DThe SELECT key marks one end of a select range. A select range is aAblock of text on which various operations (such as CUT, APPEND orp@FILL) can be performed. You create a select range by moving theAcursor to either the beginning or the end of the text you wish toaBselect, pressing the SELECT key, and then moving the cursor to theEopposite end of the text. You can then perform the desired operatione on the range.a r;The RESET key cancels the effect of the GOLD key if it was t=pressed by mistake, cancels a select range, or terminates anyn'other partially entered command string.n3 17DThe DEL L key deletes text from the cursor position up to the end ofCthe current line, including the line terminator. If the cursor is iBpositioned at the beginning of a line, the entire line is deleted.5The deleted text is saved in the deletQe line buffer.  EThe UND L key inserts the contents of the delete line buffer ahead of the cursor. a3 18BThe DEL W key deletes text from the cursor to the beginning of the9next word, storing the text in the delete word buffer.  mEThe UND W key inserts the contents of the delete word buffer ahead of the cursor. 3 19FThe DEL C key deletes the character on which the cursor is positioned .and saves it in the delete character buffer.  AThe UND C key inserts the contents of the delete character buffer ahead of the cursor. 3 20EThe GOLD key lets you use the alternate function of the editing keys.E:Press the GOLD key first and then the key you wish to use. eAYou can also use the GOLD key to enter repeat counts. Press GOLDNBand then the main keyboard numeric keys, followed by the key to beCrepeated. The DELETE key and CTRL/U may be used to edit the repeatc2count, and thus cannot be repeated in this manner.3 21/The ENTER key terminates the input of commands.s FThe SUBS key deletes the search string, replaces it with the contents Fof the paste buffer, and finds the next occurrence of the string. For?multiple substitutions, use the following sequence of commands:u t 1. Press SELECT. 2. Type the new text.L 3. Press CUT.m 4. Press FIND.( 5. Enter the text you wish to replace. HEach time you press SUBSTITUTE, EDT makes one substitution and finds theEnext occurrence of the search string. You can use a repeat count foremultiple substitutions.3 45GThe tab compute key is used when structured tabs are enabled to computepGthe indentation level from the cursor position. If the cursor positions7is not a multiple of the the tab size, an error occurs.t3 48IThe tab decrease key is used when structured tabs are enabled to decrease.the indentation level counter.3 49IThe tab increase key is used when structured tabs are enabled to increasenthe indentation level counter.3 52JThe beginning of line key moves the cursor to the beginning of the curQrentGline. If the cursor is already on the beginning of a line, it moves tohthe previous line.3 54HThe delete to beginning of word key is used to delete all character fromGthe cursor position to the beginning of the word containing the cursor.uFIf the cursor is on the first character of a word the previous word isdeleted.3 55GThe DEFINE KEY key is used to define a new function for an editing key.tBThe user is prompted first to press the key to be defined, then toFenter the definition. The key can be defined either in terms of otherIediting keys or by use of change mode subcommands. If you use an editingt8key, its definition appears at the bottom of the screen.3 64EThe tab adjust key is used when structured tabs are enabled to adjust?the tab level of the select range. The key is used as follows:r: 1. Create a select range of the text you wish to adjust. f> 2. Enter a repeat count by using the GOLD key. A minus sign= should preceed the count if you wish to decrease the taby@ level. If you do not use a repeat count, it defaults to 1. h 3. Use the tab adjust key. eFThe effect of the key is to increase or decrease the indentation levelHof the select range by the number of tabs indicated by the repeat count.3 65DThe delete to beginning of line key is used to delete all charactersCin the current line to the left of the cursor. If the cursor is onrCthe first character of a line, the entire previous line is deleted.c3 70.The exit key returns you to line mode editing.2 VT52MDEL Delete character +--------+--------+--------+--------+eM | | | DEL L | UP |MLF Delete to beginning of word | GOLD | HELP | | |M | | | UND L |REPLACE |rMBACK SP Move to beginning of line +--------+--------+--------+--------+ M | PAGE | FNDNXT | DEL W | DOWN |uMCTRL/A CoQmpute tab level | | | | |-M |COMMAND | FIND | UND W | SECT | MCTRL/D Decrease tab level +--------+--------+--------+--------+LM |ADVANCE | BACKUP | DEL C | RIGHT | MCTRL/E Increase tab level | | | | |-M | BOTTOM | TOP | UND C |SPECINS |GMCTRL/F Fill text +--------+--------+--------+--------+ M | WORD | EOL | CUT | LEFT |AMCTRL/K Define key | | | | |-M |CHNGCASE|DEL EOL | PASTE | APPEND |NMCTRL/T Adjust tabs +--------+--------+--------+--------+ M | LINE | SELECT | ENTER |TMCTRL/Z Return to line mode | | | |-M | OPEN LINE | RESET | SUBS |RM*** For help on a key, press the key +-----------------+--------+--------+ *** To exit, type a space.3 00EThe LINE key advances or backs up the cursor to the nearest beginningP$of a line (see ADVANCE and BACKUP).  @The OPEN LINE key inserts a carriage return after the cursor and@leaves the position unchanged. Pressing the OPEN LINE key when >the cursor is at the beginning of the line creates a new blankline.-3 01@The WORD key moves the cursor forward or backward by a word (seeADVANCE and BACKUP). o BThe CHGC key changes the case of a range of characters as follows: i8 1. If there is a select range active, the case of each9 alphabetic character in the select range is changed.E d8 2. If 1 does not apply and the cursor is positioned onC the current search string, the case of each alphabetic O/ character in the search string is changed.g < 3. If 1 and 2 do not apply, Qthen the case of one character: is changed, and the cursor moves one character in the current direction.k3 02FThe EOL key moves the cursor forward or backward to the nearest end ofline.  gDThe DELETE EOL key deletes all characters to the right of the cursorCin the current line, including the character on which the cursor ist positioned. 3 03EThe CUT key deletes the select range, storing it in the paste buffer.rCThe select range is all the text between the selected position (see DSELECT) and the current cursor position. If you have not selected aFrange and the cursor is positioned on the current search string, thatCstring is cut. The previous contents of the paste buffer is lost. h EBThe PASTE key inserts the contents of the paste buffer directly infront of the cursor location.c3 04CThe ADVANCE key sets the current direction to advance for the CHAR, AWORD, LINE, EOL, PAGE, SECTION, SUBSTITUTE, SUBSTITUTE NEXT, FINDeAand FIND NEXT keys. Advance means the movement will occur in thehHdirection toward the end of the file, that is, to the right and down.  iEThe BOTTOM key positions the cursor at the bottom of the text buffer.r3 05FThe BACKUP key sets the cursor direction to backup for the CHAR, WORD,DLINE, EOL, PAGE, SECTION, SUBSTITUTE, SUBSTITUTE NEXT, FIND and FINDDNEXT keys. Backup means the movement will occur in the direction of8the beginning of the file, that is, to the left and up.  U?The TOP key positions the cursor at the top of the text buffer.i3 06FThe DEL C key deletes the character on which the cursor is positioned .and saves it in the delete character buffer.  oAThe UND C key inserts the contents of the delete character buffer ahead of the cursor. 3 07FThe PAGE key moves the cursor to the top of a page. A page is definedFby a delimiter string, which can be set by the SET ENTITY command. The;default page delimiter is the form feed character (CTRL/L).  =The COMMAND key allows you to input a line mode command to bexAexecutedQ. The command is terminated by pressing the ENTER key onc the keypad.t3 08GThe FIND NEXT key searches for the next occurrence of the search stringtDentered by the FIND key. The direction of the search is the current#direction mode (ADVANCE or BACKUP).  tDThe FIND key searches for an occurrence of a string. Press the FINDEkey and then enter the string from the main keyboard. End the stringoHby pressing either the ADVANCE or BACKUP key to set the direction of thesearch.o3 09BThe DEL W key deletes text from the cursor to the beginning of the9next word, storing the text in the delete word buffer. t nEThe UND W key inserts the contents of the delete word buffer ahead ofe the cursor. a3 10 t6Use the HELP key to obtain help on the editing keypad.3 11HThe DEL L key deletes text from the cursor position up to the end of the?current line, including the line terminator. If the cursor iseCpositioned at the beginning of a line, the entire line is deleted. e5The deleted text is saved in the delete line buffer. r EThe UND L key inserts the contents of the delete line buffer ahead offthe cursor. 3 12=The ^ (up arrow) key moves the cursor to the character above. AThe REPLACE key deletes the select range and replaces it with thek contents of the paste buffer. 3 13?The v (down arrow) key moves the cursor to the character below.c i>The SECTION key moves the cursor 16 lines forward or backward,@depending on the current direction mode (see ADVANCE and BACKUP)3 14?The > (right arrow) key moves the cursor to the next character.o nAThe SPECINS key inserts any ASCII character. Press the GOLD key, Aenter the decimal representation of the character, press the GOLDEkey again, and press SPECINS. e3 15CThe < (left arrow) key moves the cursor to the preceding character.d CThe APPEND key deletes the selected range and adds it to the end of @the paste buffer. The selected range is all the text between theFselected position (see SELECT) and the current cursor posiQtion. If noCselection has been made and the cursor is positioned on the currente*search string, that string is appended. 3 16DThe SELECT key marks one end of a select range. A select range is aAblock of text on which various operations (such as CUT, APPEND orvGFILL) can be performed. You create a select range by moving the cursoreBto either the beginning or the end of the text you wish to select,Cpressing the SELECT key, and then moving the cursor to the oppositeCCend of the text. You can then perform the desired operation on thenrange.  i;The RESET key cancels the effect of the GOLD key if it was aGpressed by mistake, cancels a select range, or terminates any partiallycentered command string.x3 20BThe GOLD key lets you use the lower function of the editing keys. 5Press the GOLD key and then the key you wish to use.  eAYou can also use the GOLD key to enter repeat counts. Press GOLDsBand then the main keyboard numeric keys, followed by the key to beCrepeated. The DELETE key and CTRL/U may be used to edit the repeata2count, and thus cannot be repeated in this manner.3 21/The ENTER key terminates the input of commands.e rFThe SUBS key deletes the search string, replaces it with the contents Fof the paste buffer, and finds the next occurrence of the string. For@multiple substitutions, use the following sequence of commands:  t 1. Press SELECT. 2. Type the new text.L 3. Press CUT.m 4. Press FIND.( 5. Enter the text you wish to replace. DEach time you press SUBSTITUTE, EDT makes one substitution and findsEthe next occurrence of the search string. You can use a repeat countsfor multiple substitutions. 3 45GThe tab compute key is used when structured tabs are enabled to computepGthe indentation level from the cursor position. If the cursor positions7is not a multiple of the the tab size, an error occurs.t3 48IThe tab decrease key is used when structured tabs are enabled to decrease.the indentation level counter.3 49IThe tab increase keyQ is used when structured tabs are enabled to increasenthe indentation level counter.3 50CThe FILL key performs a word fill on the select range. A word fill Dreformats a block of text so that as many full words as possible areBplaced on each line without exceeding the right margin. The rightDmargin may be set by the SET WRAP command or, if it was not set, the=default is the terminal width - 1. For purposes of the FILLn2command, only spaces are used as word delimiters. 3 52JThe beginning of line key moves the cursor to the beginning of the currentGline. If the cursor is already on the beginning of a line, it moves tonthe previous line.3 54HThe delete to beginning of word key is used to delete all character fromGthe cursor position to the beginning of the word containing the cursor.aFIf the cursor is on the first character of a word the previous word isdeleted.3 55GThe DEFINE KEY key is used to define a new function for an editing key. BThe user is prompted first to press the key to be defined, then toFenter the definition. The key can be defined either in terms of otherCediting keys or by use of change mode subcommands. When you use ane@editing key, its definition appears at the bottom of the screen.3 64EThe tab adjust key is used when structured tabs are enabled to adjustf?the tab level of the select range. The key is used as follows: : 1. Create a select range of the text you wish to adjust. n> 2. Enter a repeat count by using the GOLD key. A minus sign= should preceed the count if you wish to decrease the tabc@ level. If you do not use a repeat count, it defaults to 1. n 3. Use the tab adjust key. eFThe effect of the key is to increase or decrease the indentation levelHof the select range by the number of tabs indicated by the repeat count.3 65DThe delete to beginning of line key is used to delete all charactersCin the current line to the left of the cursor. If the cursor is onrCthe first character of a line, the entire previous line isQ deleted.c3 70.The exit key returns you to line mode editing.1 CLEAR DThe CLEAR (abbreviation: CL) command provides an efficient means of "deleting all the text in a buffer.Format: CLEAR buffer-nameHAll the text in the specified buffer is deleted. (Note that the argumentHis a buffer-name, not a range specification. CLEAR PASTE is valid, while.CLEAR =PASTE and CLEAR BUFFER PASTE are not.) 1 CHANGE>The CHANGE command puts EDT in change mode. Use change mode to9edit at the character level rather than the line level. yFormat: CHANGE [range]d9The optional range specifies the cursor position when youe;enter change mode. If you omit range, the current positionis used.?There are three submodes of change mode. Which submode you useeDdepends on the type of terminal you are using and whether or not youGwish to use the auxiliary (numeric) keypad for editing commands. Theseo modes are:  1. Hardcopy mode  2. Keypad modee 3. Nokeypad modec 2 ENTITIESDEntities are used in change mode subcommands to specify the text on Fwhich a subcommand will operate. Each entity represents a portion of Ftext, which may be anything from a single character to an entire text Fbuffer. Most entities can be preceded by a count, which indicates the#number of entities to be affected.t 3 CHARACTER AThe character entity is specified by the letter C. It selects a osingle character of text.a3 WORD@A word consists of a string of characters terminated by a set ofCdelimiter characters. The default delimiter characters are spaces,tBtabs, carriage returns, line feeds, form feeds, and vertical tabs.ASpaces are handled in a special way: all spaces following a word Bup to the first non-space character are considered part of a word.FOther delimiters are not considered a part of the word they terminate.ARather, they are considered to be words by themselves. There areithree word entities: a> W Specifies the entire word in which the cursor is  poQsitioned.  r; BW Specifies all characters to the left of the cursor up # to the beginning of the word.e > EW Specifies all characters from the cursor through the end of the word.?You can change the word delimiters with the SET ENTITY command.r3 LINEThe line entities are:7 L Specifies the entire line in which the cursor is e positioned.o ? BL Specifies all characters to the left of the cursor up to 4 the beginning of a line. (When the cursor is J positioned at the beginning of a line, the BL entity selects ' the entire previous line.)d > EL Specifies all characters from the cursor to the end of a: line, including the character on which the cursor is. positioned. (If the cursor is on a line 4 terminator, the entire next line is selected.) h@ NL Specifies all characters from the cursor to the beginning = of the next line, including the character on which the f cursor is positioned. 3 RANGE BThe range entities specify all text in the buffer either before or.after the cursor. The two range entities are:9 BR Specifies the text from the cursor position to the  beginning of the buffer. = ER Specifies the text from the cursor position to the end a of the buffer. 3 SENTENCEDA sentence consists of a string of characters terminated by one of aDset of single character delimiters. The default sentence delimitersCare '.', '?', and '!'. A sentence delimiter is considered to be agFdelimiter only if it is at the end of a line or if it is followed by a?space. The line terminator or trailing spaces are considered ao;part of the sentence. There are three sentence entities: .= SEN Specifies the entire sentence in which the cursor is d? positioned, including the delimiter and trailing spacesr or line terminator.b n@ BSEN Specifies all characters in the current sentence to the  left of the cursor.  '> ESEN Specifies all characteQrs in the current sentence from 8 the cursor to (but not including) the delimiter  character.AThe sentence delimiters can be changed by the SET ENTITY command.r3 PAGEFA page consists of all the text between two page delimiters, includingEthe trailing page delimiter. The default page delimiter is the formr1feed character. There are three page entities: B+ PAGE Specifies all of the current page.e n> BPAGE Specifies all characters in the current page from the7 character to the left of the cursor to the beginning  of the page. i? EPAGE Specifies all characters in the current page from the m: cursor to (but not including) the page delimiter.>You can change the page delimiter with the SET ENTITY command. 3 PARAGRAPHlFA paragraph consists of all the text between two paragraph delimiters,Bincluding the trailing paragraph delimiter. The default paragraph.delimiter is two consecutive line terminators.%There are three paragraph entities: / PAR Specifies all of the current paragraph.i ? BPAR Specifies all characters in the current paragraph from r? the character preceding the cursor to the beginning of p the paragraph. h? EPAR Specifies all characters in the current paragraph from l7 the cursor to (but not including) the paragrapha delimiter.CYou can change the paragraph delimiter with the SET ENTITY command.e3 SELECTFThe select entity consists of all characters between the cursor and Ethe select mark. The select mark must have been specified previouslyeCby a SEL subcommand. If no select mark is active and the cursor ise>positioned on the current search string, the search string is 7selected. The select range entity is specified by SR. 3 VERTICALDThe vertical line entity is the same as the line entity, except thatEwith the V entity, the cursor stays in the same column. The verticalIentity is specified by V. 3 STRINGDThe string entity consists of all the characters between the cQursor Band the next occurrence of a specified search string. Specify the>string entity by enclosing the desired search string in singleEor double quotes. If the string is null (specified by '' or ""), the %previous search string is used again.yBFor key definitions, the null character (ASCII character 0) may beAused in place of the quote characters to avoid conflicts with the search string the user enters. 2 HARDCOPYAOn a hardcopy terminal, change mode operates as follows. When youbEenter change mode, the EDT displays the current line on the terminal.gFThe cursor position is marked by bracketing the character on which theAcursor is positioned. EDT will then prompt with the characters: rC*DIn response, you type a series of change mode subcommands terminatedBby a carrige return. EDT will execute the commands and retype theline. 2 KEYPADCYou enter the keypad submode of change mode when your terminal is aBVT52 or VT100 and the KEYPAD option is on. (This option is on by Cdefault.) In this submode, the terminal screen is used as a windowg@into the text buffer. Characters typed on the main keyboard areCinserted into the buffer at the cursor position. You enter editingrFcommands by using keys on the auxiliary keypad, or control keys on themain keyboard. c i8For more help on keypad mode, type CHANGE to enter that /mode. Use the keypad HELP facility as follows: 6 1. If your terminal is a VT100, press the keypad key marked "PF2".9 2. If your terminal is a VT52, press the red keypads key.s2 SCREENCYou enter the screen submode of change mode if your terminal is notnHa VT52 or VT100 or your terminal is a VT52 or VT100 and the SET NOKEYPADCcommand has been used to turn off the keypad option. The screen isnJused as a window into the text buffer. Change mode commands are typed fromFthe keyboard and echoed on the bottom line of the screen. The commandsFare executed and the text on the screen is updated whenever a carriagereturn is typed.Q 2 SUBCOMMANDSsJWhen EDT is in change mode, a distinct set of commands is accepted. TheseJare called the change mode subcommands. Do not abbreviate the subcommandsIor include spaces within a single command. A string of subcommands may bee7concatenated with zero or more spaces separating them. e b>Subcommands take one of the following forms, depending on the particular command:e A. command o B. [+|-] [count] command xA C. [+|-] [count] [command] [+|-] [count] [+|-] entity [=buffer] U@Whenever a sign can appear in more than one place, the last sign.specified is used to determine the direction. EA sequence of subcommands can also be enclosed in parentheses to formnJa single unit. A numeric literal preceding the left parenthesis indicates2the number of times to repeat the entire sequence. 3 ADVANCEhGThe ADVANCE command sets the current cursor direction to advance. The aBcurrent direction is used by many subcommands to determine whetherFentities to the left or to the right of the cursor are to be affected.EWhen the direction is advance, the cursor character and characters toe'the right are affected by subcommands.  Format: ADV3 APPENDAThe APPEND command works in the same way as the CUT command (see)e=except that the new text is added to the end of the alternatei+buffer instead of replacing its contents.  sBFormat: [+|-] [count] APPEND [+|-] [count] [+|-] entity [=buffer]3 ASCIIy8The ASCII subcommand inserts a specified ASCII character<into the buffer at the cursor position. Use the count field=to indicate the decimal value of the ASCII character you want to insert. fFormat: [count] ASCII >The ASCII command is the only way to insert a carriage return Echaracter in the middle of a line of text; otherwise, insert commandseEalways treat the carriage return as a line terminator. The following2command would insert a carriage return character:  y1 13ASC (13 is the ASCII code for carriage return)a3 BACKUPEThe BACKUP command sets the Qcurrent cursor direction to backup. The tBcurrent direction is used by many subcommands to determine whetherFentities to the left or to the right of the cursor are to be affected.BWhen the direction is backup, characters to the left of the cursorare affected. h i Format: BACKa3 CHGC?The CHGC command changes the case of every alphabetic characternBin the specified number of entities - lower case characters become'upper case and upper case become lower.a6Format: [+|-] [count] CHGC [+|-] [count] [+|-] entity3 CUTt:The CUT command deletes a specified number of entities andDsaves all the deleted text in an alternate text buffer. The commandDworks exactly like the DELETE command except that the text is saved. h?Format: [+|-] [count] CUT [+|-] [count] [+|-] entity [=buffer]C h?If you do not specify a buffer, the buffer named PASTE is used.n e Ex: CUTSR Cut the selected range % CUTPAGE Cut the current page of textu3 DEFKCThe DEFK command is used to assign new definitions to editing keys.nBThe user is prompted first to press the key to be defined, then toFenter the definition. The key can be defined either in terms of otherIediting keys or by use of change mode subcommands. If you use an editinghFkey, its definition appears at the bottom of the screen. This command4should only be executed while in keypad change mode. Format: DEFKx3 DELETE4The DELETE subcommand deletes a specified number of entities. E:Format: [+|-] [repeat-count] D [+|-] [count] [+|-] entity n@If the entity is C, W, BW, EW, L, BL, EL, or NL, the last entityDdeleted by the command is saved in the delete buffer associated with@the entity and can be restored by use of the UNDELETE C, W, or L subcommand. d n8Ex: D15C Deletes 15 characters in the current direction.  DSR Deletes the select range. e, DBR Deletes to the beginning of the buffer. ? D'ABC' Deletes all characters from the cursor up to the first n6 occurrence of the string 'ABC' but not including the string.nQ3 EXITDThe EXIT command exits change mode (not the editor). When the exit/command is executed, you return to line mode. r s Format: EX3 EXTEND9The EXTEND command executes a line mode command while youcJare in change mode. EDT interprets the remainder of the command line as aAline mode command, executes the command, and reenters change mode automatically.  DFormat: EXT line mode command3 FILL:The FILL command reformats a block of text so that as manyDcomplete words as possible are placed on each line without exceedingHthe right margin. The right margin is set to the terminal width minus 1Acharacter by default or may be changed by the SET WRAP command. u 6Format: [+|-] [count] FILL [+|-] [count] [+|-] entity3 HELPEThe HELP command causes a diagram of keypad functions and CONTROL key Cdescriptions to appear on the screen. If executed in keypad change Bmode, additional information can be obtained by pressing keypad orCcontrol keys; in nokeypad mode, pressing any subsequent key returns to editing mode.3 INSERT;The INSERT command inserts new text into the buffer at the mcurrent cursor position. o!Format: I text to be inserted ^Zm d6This command behaves differently in each of the modes:9 o In keypad mode, insert text by typing on the main ; keyboard; you do not need to begin the insert with e I or end it with ^Z.9 o In nokeypad mode, type I to begin inserting text.g= You can insert text from the keyboard until you enteru4 ^Z; you can enter one or more lines of text.9 o In hardcopy mode, type I to begin inserting text. 7 You can insert text from the keyboard until you/ enter either a ^Z or a carriage return.h3 KSBThe KS command modifies the cursor position after a PASTE command. Format: KS IAfter a PASTE command, the cursor is on the character to the right of the Gpasted text. If KS follows a PASTE, however, the cursor is on the last Epasted character if the current direction isQ advance and on the firste-pasted character if the direction is backup. cJSuch cursor positioning affects a subsequent string search. KS is used inFthe definition of the keypad SUBS function so that the character whichHfollows the pasted text in the current direction is included in the nextstring search. 3 MOVE7The MOVE command moves the cursor a specified number ofg entities. t#Format: [+|-] [count] [+|-] entityv EIf an explicit sign is used, the direction of the move is determined sEby that sign ( + for forward, - for backward); otherwise, the current.Fdirection mode (set by the ADV and BACK commands) is used to determinethe direction. i i'Ex: +3W Move the cursor 3 words forwarde a7 L Move the cursor 1 line in the current directionc n. -PAGE Move the cursor backward to a page mark3 PASTEOAThe PASTE command copies the contents of an alternate buffer into*the current buffer at the cursor position. Format: [count] PASTE [=buffer] o6If you omit the buffer name, the PASTE buffer is used.3 QUIT>The QUIT subcommand leaves the editor without saving any text Cbuffers. This will cause you to lose any editing you have done in Fthis session unless you used the WRITE command to save the text before quitting.r Format: QUIT 3 REFRESH )The REFRESH command refreshes the screen.O h Format: REF 3 REPLACEe@The REPLACE command has the same form as the DELETE command. InHnokeypad mode, replace will enter insert mode after the text is deleted. u:Format: [+|-] [repeat-count] R [+|-] [count] [+|-] entity3 SELECTCThe SELECT command is used to mark a portion of text which will be Eone end of a select range. A select range is created by marking one eFend of the desired text (either end will do), moving to the other end,<and performing an operation on the SR (select range) entity. t Format: SEL3 SHIFT DUse the SHIFT LEFT and SHIFT RIGHT commands to alter the left marginBwhen in change mode. The left margin is the position of the first=charQacter in each line which will be displayed on the screen. ?Normally, the left margin is 0, which means all characters are hHdisplayed. If you use a SHR command, the left margin can be changed by Fan integral number of tab stops (8 characters). If SHL is used once, Gthe first 8 columns will not be displayed on the screen. This has the t2effect of shifting the screen window horizontally. 2Format: count SHL (Shift left by count tab stops) m, count SHR (Shift right by count tab stops) 3 SUBSTITUTE=The SUBSTITUTE command replaces occurrences of one string of ycharacters with another. +Format: [+|-] [count] S/string-1/string-2/u eEThe slashes represent any non-alphanumeric character used to delimit o@the two strings. The effect of the command is to search in the Gspecified direction from the cursor and find an occurrence of string-1.f:It is then deleted and string-2 in inserted in its place. 3 SUBSTITUTE NEXTnCThe SUBSTITUTE NEXT command performs a SUBSTITUTE command using theSGsame search and replacement strings as the previous SUBSTITUTE command.h cFormat: [+|-] [count] SNm3 TAB|BUse the TAB subcommand when the structured tab feature is enabled.@Insert the correct number of tabs and blanks to position to the Fcurrent tab level. When structured tabs have not been enabled or the Ecursor is not at the beginning of a line, this command inserts a tab n character. Format: TAB3 TADJFThe TADJ command adjusts the tab level for the selected range of text.HThe tab size and repeat-count set the tab level (see TC). The tab levelJis adjusted by the value of repeat-count; it is incremented for a positiveGrepeat-count and decremented for a negative repeat-count. The TADJ tabtAsetting is the product of the tab size and the indentation level.uDFormat: [+|-] [repeat-count] TADJ [+|-] [entity-count] [+|-] entity3 TCDThe TC subcommand is used to compute the tab level from the current Fcursor position. This command has meaning only if the structured tab 3feature haQs been enabled. See the SET TAB command.e ) Format: TCv3 TDEThe TD subcommand decreases the tab level counter. This command has eDmeaning only when the structured tab feature has been enabled. See the SET TAB command. u Format: TD 3 TIFThe TI subcommand increases the tab level counter. This commmand has Dmeaning only when the structured tab feature has been enabled. See the SET TAB command. u Format: TIr3 TOPoAThe TOP command is used to force the line on which the cursor is a&positioned to the top of the screen.  Format: TOP 3 UNDELETEAThe UNDELETE commands are used to restore the last entity deletedeby a delete command. t$Format: UNDC (undelete character) UNDW (undelete word) UNDL (undelete line)3 ^FThis command provides for the insertion of control characters in text.DEDT accepts a circumflex (^) followed by an alphabetic character andCinserts the corresponding control character in the text as a singlee character.Format: [count]^[A..Z] 1 COPYDThe COPY (abbreviation: CO) command copies text from one location toAanother within a buffer or between buffers. When text is copied,ythe source text remains intact.U <Format: COPY [range-1] TO [range-2] [/QUERY] [/DUPLICATE:n] lDThe lines specified by range-1 are copied in front of the first lineGspecified by range-2. Either range defaults to the current line. a rAIf the destination is not the current buffer, put the name of thes:receiving buffer immediately after TO (=buffer). Give theBfull name of the buffer. To copy text from an external file, see INCLUDE. n 2 /DUPLICATEFormat: /DUPLICATE:ne iEWhen you use the /DUPLICATE (abbreviation: /DUP) qualifier, the lines1-specified by range-1 are duplicated n times. 2 /QUERYFormat: /QUERYa cEWhen you use the /QUERY (abbreviation: /Q) qualifier, EDT prompts youd,with a '?' to verify each line to be copied. sResponses are:  Y Yes, copy this line N No, do not copy this line3 Q Quit, do not copy anyQ of the rest of the lines ( A All, copy all the rest of the lines1 DEFINE<The DEFINE command (abbreviation DEF) defines either editing-keys for keypad mode or macros for line mode.i2 KEYhFThe DEFINE KEY (abbreviation DEF K) command defines customized editing?keypads or extends the keypad now available by using additionalicontrol keys.  d,Format: DEFINE KEY key-selector AS 'string' s+where key-selector is one of the following:e [GOLD] number [GOLD] CONTROL letter GOLD characteroKNumber refers to keypad keys and CONTROL letter names specific control keyshK(upper and lower case letters are considered equivalent). Character referso1to any keyboard key except 0-9, !, %, ', and ". YNThe string is a string of change mode subcommands which define the function ofLthe key. If you want the command to be executed when the key is struck, theLdefinition must end with a period; otherwise, EDT will buffer it until a keywith a period is used. O DYou can use a '?' character in key definitions to request input fromCthe user. The '?' character is then replaced by the characters readeBfrom the terminal before the command is executed. A prompt string-enclosed in single quotes may follow the '?'.i 3 EXAMPLESDTo define the key CTRL/A to move 3 lines, use the following command: y! DEFINE KEY CONTROL A AS '3L.'w ATo define the keypad GOLD function of the uparrow key to mean "goe,to top of file," use the following command:  s DEFINE KEY GOLD 12 AS 'BR.'h cDTo define the key CTRL/D to write your COBOL identification division-header for you, enter the following command: r L DEFINE KEY CONTROL D AS 'iIDENTIFICATION DIVISION.^Z^MiPROGRAM-ID. ?^Z.' qA(After pressing the key, you will have to give the program name.)  e;To define the CTRL/R key to prompt for the name of a BLISSR<routine which it will then find, use the following commmand: rA DEFINE KEY CONTROL R AS "BR ADV 'ROUTINE ?'Routine name: ''."3 VT52$ +-------+-------+-------+-------+QThis diagram defines | | | | |5the numbers of the key- | GOLD | 10 | 11 | 12 | pad keys on VT52 | | | | |6terminals for use in +-------+-------+-------+-------+the DEFINE KEY | | | | |$command. | 7 | 8 | 9 | 13 | | | | | |$ +-------+-------+-------+-------+ | | | | | | 4 | 5 | 6 | 14 |o | | | | |$ +-------+-------+-------+-------+ | | | | | | 1 | 2 | 3 | 15 |D | | | | |e$ +---------------+-------+-------+ | | | |+ | 0 | 16 | 21 | | | | |$ +---------------+-------+-------+3 VT100C+-------+-------+-------+-------+ +-------+-------+-------+-------+-| | | | | | | | | |I;| 12 | 13 | 15 | 14 | | GOLD | 10 | 11 | 17 ||| | | | | | | | | |+C+-------+-------+-------+-------+ +-------+-------+-------+-------+o | | | | |;This diagram defines the numbers | 7 | 8 | 9 | 18 ||&of the keypad keys on VT100 | | | | |Eterminals for use in the DEFINE KEY +-------+-------+-------+-------+1command. | | | | || | 4 | 5 | 6 | 19 |+ | | | | |& +-------+-------+-------+-------+ | | | | | | 1 | 2 | 3 | | | | | | | % +---------------+-------+ 21 |1 | | | |  | 0 | 16 | |- | | | |& +---------------+-------+-------+2 MACRO|DThe DEFINE MACRO (abbreviation DEF M) command is used to define linemode macro commands. Format: DEFINE MACRO name nEThe name is the name of the text buffer in which the macro is stored. -The macro itself is a series of EDT commands.| |@Invoke the macro by giving its name in response to the line modeprompt.|1 DELETECThe DELETE (abbreviation: D) command deletes the lines specified by the range.  Format: DELETE [range] [/QUERY] AIf you do not specify the range, the default is the current line.(2 /QUERYFormat: /QUERY  uAWhen the /QUERY (abbreviation: /Q) qualifier is used, the user is 6prompted with a '?' to verify each line toQ be deleted. tResponses are:  Y Yes, delete this line N No, do not delete this line5 Q Quit, do not delete any of the rest of the linese* A All, delete all the rest of the lines1 EXIT@The EXIT (abbreviation: EX) command terminates all action in theCeditor and saves a copy of the MAIN text buffer in the output file.f t9Format: EXIT [file-spec] [/SEQUENCE:[init:incr]] [/SAVE]n eAIf you omit the file specification, the output file name from thed(command line which invoked EDT is used. 2 /SAVE?When you use the SAVE qualifier, the journal file is saved. TheeBjournal file is called name.JOU where name is the output file nameCfrom the command line. For information about the journal facility,rsee HELP JOURNAL. 2 /SEQUENCEaFormat: /SEQUENCE[:init:incr];When you use the SEQUENCE option, the output file is in VFCm:(variable with fixed control) format, and line numbers arewritten in the control field.iBIf you set init and incr, the file is renumbered starting with the?number you choose for init and the lines are incremented by thelAnumber you choose for incr. Otherwise, the original line numbers -are written and new lines will be numbered 0.n1 FILLBThe FILL (abbreviation: FIL) command reformats a block of text so@that there are as many full words on a line as possible withoutexceeding the right margin.  aFormat: FILL [range]  mBThe lines in the range must be contiguous. If you omit the range,the select range is assumed. uCThe right margin is set by the SET WRAP command. If the margin hase9not been set, the default is the terminal width minus 1. e1 FINDFThe FIND (abbreviation: F) command places the cursor at the first linespecified by range. a nFormat: FIND [range]s bDThe located line is not typed. To find and type a line, use the TYPE command. t 1 INCLUDE BThe INCLUDE (abbreviation: INC) command copies external files intotext buffers. n u"Format: INCLUDE file-spec [range] tEThe specified file is copied to the locatiQon before the first line of.Ethe range. Note that range specifies the position to which the file iCwill be copied; it does not restrict the portion of the file which rwill be included.1 INSERT<The INSERT (abbreviation: I) command inserts new text into atext buffer.  .Format: INSERT [range] [;line to be inserted] FThe new text is inserted before the first line specified by range. IfEyou omit range, inserted text is placed just before the line at whichcthe cursor is located.  BIf you do not use the optional semicolon, the editor enters insertGmode. In insert mode, you can enter as many lines of text as you wish, tDterminating each line with a carriage return. You terminate insert mode by typing CTRL/Z. m d;If you choose the optional semicolon, the text on the line Bfollowing the semicolon is inserted and the editor does not enter insert mode. eCThe line following the last line inserted becomes the current line.f 1 JOURNALe7EDT saves all input from the terminal during an editings0session in a file called the journal file. TheEjournal file is deleted when you exit the editor with an EXIT command,Eor a QUIT command (without the /SAVE option). When the editor is left +involuntarily, the journal file is saved.  FThe journal file can be used to redo all the operations of an editing Esession. The edited file is thereby recreated. Type the same commandoAline used previously with the addition of the /RECOVER qualifier. DUnless explicitly overridden by the JOURNAL qualifier on the commandBline, the journal file will have the same name as the output file,&except that the file type will be JOU.1 MOVEBThe MOVE (abbreviation: M) command moves text from one location to0another, deleting it from the original location. a-Format: MOVE [range-1] TO [range-2] [/QUERY]f CThe lines specified by range-1 are moved to a location immediately mCbefore the first line specified by range-2. The lines are deleted aLfrom the original location. If you omit either Qof the range specifications,<the current line is used. The first line of range-2 becomesBthe new current line. To move lines of text without deleting them3from the original location, see the COPY command. o2 /QUERYFormat: /QUERYf DWhen you use the QUERY (abbreviation: /Q) qualifier, EDT prompts you/is with a '?' to verify each line to be moved. d Responses are: e Y Yes, move this line.  N No, do not move this line.a4 Q Quit, do not move any of the rest of the lines.) A All, move all the rest of the lines.u1 PRINTeCThe PRINT (abbreviation: P) command creates a listing file with theTspecified file name. t t Format: PRINT file-spec [range] cEThe lines selected by range are written to a listing format file withuFpage headers. If the NUMBERS option is set (see SET NUMBERS), the EDT@line numbers will appear on the listing. If you omit range, theEentire current buffer is printed. The current line is not altered byd:this command. Use PRINT only to create a listing; if you.wish to create a file, use the WRITE command. 1 QUITDThe QUIT command exits the editor without saving the contents of the MAIN buffer.  IFormat: QUIT [/SAVE]c h9Use the QUIT command only if you have made no changes to iCthe file you are editing or if you have decided you do not wish to SDmake the changes you have made. All edits to the file will be lost when you QUIT from the editor.2 /SAVE CThe SAVE qualifier specifies that the journal file should be saved.o4Normally, the journal file is deleted when you QUIT. 1 REPLACEcDThe REPLACE (abbreviation: R) command deletes the specified range of.lines and then places EDT in the INSERT mode.  +The REPLACE command has the following form:u v" REPLACE [range] [;text to insert] eHWhen you do not specify a range, the current line is deleted and the new$text is inserted at that location.  eHIf you do not use the optional semicolon, the editor enters insert mode.@In insert mode you can enter as many lines of text as yoQu wish, Dterminating each line with a carriage return. You terminate insert mode by typing CTRL/Z.  cLIf you use the optional semicolon, EDT inserts the text in the command line Bfollowing the semicolon and the editor does not enter insert mode. rCThe line following the last line inserted becomes the current line.a 1 RESEQUENCECThe RESEQUENCE (abbreviation: RES) command assigns new line numberslto a range of lines.  r1Format: RESEQUENCE [range] [/SEQUENCE:init:incr]y nHThe specified range of lines must be contiguous. When you do not specifyBa range, all lines in the current buffer are resequenced. If the@new numbers assigned would cause duplicate or nonsequential line@numbers, EDT will either disallow the command or renumber linesbeyond the specified range. 2 /SEQUENCE :The SEQUENCE (abbreviation: /SEQ) qualifier specifies the Bsequence of numbers to be assigned. The init parameter specifies Dthe initial number, and incr specifies the number by which the linesAare incremented. If you do not use the SEQUENCE qualifier, init iand incr both default to 1. 1 RANGEbERange specifications are used on most line editing commands to selecta;the exact lines of text on which the command will operate. h o:There are several general classes of range specifications: E6 1. Single line ranges specify a single line of text. < 2. Multiple line ranges specify blocks of text, such as an= entire buffer or all lines from the current line to the y end of the buffer.r n? 3. Compound ranges combine single line ranges with operators b' to specify multiple lines of text.f= 4. Noncontiguous ranges specify multiple lines that are notx) necessarily adjacent to one another. 2 ALL.<The ALL range further refines a general range specification.Format: [range] ALL 'string' EWhile range can be a single, multiple, or compound range, the commandcEbeing performed will only apply to those lines of text containing thetFgiven string. This string can be enclosQed in single or double quotes.;Ex: TYPE ALL 'EDT' When ALL is used, the default for rangee- is WHOLE. This command will type all thep/ lines in the current buffer containing EDT.iC SUBS/A/B/50:100 ALL '1' Substitute B for A in lines from 50 to 100e which include the string 1.m2 ANDa.The AND range selects a group of single lines. m1Format: range-1 AND range-2 AND range3 ... orf range-1 , range-2 , range3 nDEach of the ranges must be a single line range. Each of the single lines is operated on.o .>Ex: TYPE 4 AND 7 Lines 4 and 7 are displayed on the terminal ; TYPE BEGIN,END-1 The first and last lines are displayed one the terminal2 BEGINE?The BEGIN range (abbreviation: B) is a single line range which 'specifies the first line in the buffer.12 BEFOREDThe BEFORE range (abbreviation: BEF) is a multiple line range which Aspecifies all the lines in the buffer preceding the current line.n2 BUFFERGThe BUFFER (abbreviation: BU) specification may precede any other rangeeFspecification and indicates that the range is to be applied to a named buffer.  P E#Format: BUFFER name [range] ore =name [range]  hGThe two forms are equivalent. Name is the name of the buffer in which rCthe text resides. If you leave out the range, the entire buffer is selected.e2 DOTvGThe dot (.) is a single line range which refers to the current line of tGtext. For many commands, dot is the default range. See the help text n/for a command if you are unsure of the default. c#Ex: TYPE . Type the current line.e2 ENDbFThe END (abbreviation: E) range specifies an imaginary line following Dthe last line in the buffer. END does NOT specify the last line in Gthe buffer. The last line can be referred to by E-1 (that is, the line ;preceding END). When the END line is typed, it looks like:  a[EOB] 2 FORn7The FOR range is a multiple line range which selects a ;specified number of lines starting at a specified location.  oFormat: [range] FORQ n ore [range] # n BThe two forms are equivalent. Range is a single line range which Gspecifies the starting position, and n is an integer number. If range .6is omitted, the current line is the starting position. l9Ex: TYPE . FOR 5 Type 5 lines, starting with the currentc line W, TYPE #5 Equivalent to the previous example E8 TYPE BEGIN FOR 10 Type the first 10 lines in the buffer2 LASTHThe LAST (abbreviation: L) range is a single line range which refers to Athe line in a previous buffer which was the current line when youqswitched to the current buffer. 2 MINUSc9The minus sign in ranges selects a single line which is am4specified number of lines before a specified line.  rFormat: [range] - [n] EERange is a single line range, and n is an integer. The line selected Eis the line which is n lines before the line specified by range. If Cyou omit range, the current line is used; if you omit n, 1 is used.e @Ex: TYPE 15 - 3 Type the third line before the line numbered 15. h. TYPE END -1 Type the last line in the buffer. ! TYPE - Type the previous line.u2 NUMBEREA line number is a single line range which refers to the line having fCthe specified number. The line number may contain a decimal point.n !Ex: TYPE 10 Type line number 10.h i% INSERT 65.3 Insert before line 65.3.n 2 ORIGINALFormat: ORIGINAL na .BThe ORIGINAL (abbreviation: O) range is a single line range which Brefers to the line which had the original number n. The original number is one of the following:  ? 1. If the line came from the primary input file and that file; had sequence numbers, then the original number is the o( sequence number read from the file. e= 2. If the line came from an unsequenced input file, then itp= is the number originally assigned by EDT, which does not& change when a resequence is done. R@ 3. If the line did not come from the primary input file, then ! its original number is zero.a2 PLUSBThe plus sign Qis used in ranges to select a single line which is a3specified number of lines after a specified line.  Format: [range] + [n] eERange is a single line range, and n is an integer. The line selected.His the line which is n lines after the line specified by range. If you @omit range, the current line is used. If you omit n, 1 is used. g<Ex: T 15 + 3 Type the third line after the line numbered 15. r/ T BEGIN +1 Type the second line in the buffer.a u/ T + Type the line following the current line.r e; T 'string'+2 Type the second line following the next line n containing 'string'..2 RESTGThe REST (abbreviation: R) range is a multiple line range which refers e:to the current line and all lines following in the buffer.2 SELECTCThe SELECT range is a multiple line range which contains all lines IFbetween the current line and the SELECT mark. The SELECT mark is set "by the change mode SEL subcommand.2 STRINGEA quoted string specifies a single line which contains the specifiednEstring. The string can be enclosed in either single or double quoteseE(' or "). When you use a string as a range, EDT will search forward,iJstarting with the current line, until it locates a line with the specifiedAstring. If a minus sign (-) precedes the string, the search willn be backward. t:Ex: T 'abc' Locate and type the first line forward which  contains the string 'abc' t3 T -"abc" Same, except the search will be backward.r2 THRUDThe THRU range is a compound range which specifies all lines betweentwo single line ranges.e i!Format: range-1 THRU range-2 orW range-1 : range-2a FBoth forms are equivalent. Starting with range-1, EDT selects all the8lines up to and including the line specified by range-2. n3Ex: TYP 15:30 Type all lines with numbers between r 15 and 30. 5 TYP 'glorp':END Type all lines from the first line a* forward containing 'glorp' to the end.2 WHOLEsCThe WHOLE (abbreviation: W) range refers to the entire text buffer.w1 SETe QBThe SET (abbreviation: SE) command sets options that control otherGeditor operations. Once set, these options are in effect throughout then?rest of the edit session or until changed by the SET command. n2 CASE-Format: SET CASE { UPPER | LOWER | NONE }3 TEUse the SET CASE (abbreviation: SE CA) command on terminals which areEEcapable of displaying upper case characters only. SET CASE instructs'IEDT to flag with a preceding apostrophe either the upper case characters,iCthe lower case characters, or neither. The default for SET CASE isi,NONE, which means no characters are flagged. e+The keywords can be abbreviated as follows:n e CASE CAd UPPER U LOWER L NONE Ny2 CURSOR Format: SET CURSOR top:bottom  AGThe SET CURSOR (abbreviation: SE CU) command, used with screen editing,cBsets the limits within which the cursor is allowed to move withoutscrolling the screen.  tETop and bottom are the line numbers at the top of the screen and thehHbottom of the screen. The line numbers must be in the range of 0 to 21,?with 0 specifying the top of the screen and 21 the bottom. Thew@default setting is 7:14, allowing the cursor to move within themiddle third of the screen. 2 ENTITY4Format: SET ENTITY entity-type 'delimiter string' C$Entity-type is one of the following: e WORD (abbreviation: W) SENTENCE (abbreviation: S)e PAGE (abbreviation: PAG) PARAGRAPH (abbreviation: PAR) n6The SET ENTITY (abbreviation: SE EN) command sets the ?delimiters for the user-defined change mode entities. For the iDWORD and SENTENCE entities, the delimiter string is a set of single Acharacter delimiters. For PAGE and PARAGRAPH, the delimiter is at<character string which delimits the entity. See HELP CHANGE*ENTITIES for explanations of the entities.2 KEYPADFormat: SET [NO]KEYPAD( rGThe SET KEYPAD (abbreviation: SE K) option controls whether or not the PLediting keypad is to be used when you are in CHANGE mode. KEYPAD is set by Fdefault for VT52 and VT100 ter Qminals, which means the alternate keypadEis used to enter change mode commands. If you prefer the change model<compatible with EDT version 1, use the SET NOKEYPAD command.2 LINESBThe SET LINES (abbreviation: SE L) command controls the number of Dscreen lines used in either of the screen versions of change mode. :Use this option to reduce the time it takes to refresh the,screen image when editing at low baud rates. dFormat: SET LINES n oCwhere n is the number of lines to use. n must be between 1 and 22.e!By default, n is set to 22 lines.o2 MODE;The SET MODE (abbreviation: SE M) command determines which bBmode of editing should be entered after all initial processing is Ccomplete. This command is useful only in the startup command file.n n#Format: SET MODE { LINE | CHANGE }o o@By default, EDT enters line mode when the startup processing is Ccomplete. Use SET MODE CHANGE in your startup file to cause EDT to enter change mode immediately. 2 NUMBERSlFormat: SET [NO]NUMBERS eDThe SET NUMBERS (abbreviation: SE NU) command controls the typing of<line numbers on the terminal. Numbers is set on by default.GIf you want to suppress numbers, use SET NONUMBERS (abbreviation: NON).o2 QUIETuGThe SET QUIET (abbreviation: SE Q) command controls whether or not the C5bell will sound when an error is made in change mode.  rFormat: SET [NO]QUIET eAThe quiet option is off (meaning the bell will sound) by default. 2 SEARCH6The SET SEARCH (abbreviation: SE SE) command controls ,several options related to string searching. o'Format: SET SEARCH { GENERAL | EXACT }  { [UN]BOUNDED }  { BEGIN | END }f u@The GENERAL (abbreviation: G) / EXACT (abbreviation: EX) option Econtrols whether or not the case of alphabetic characters must be the Esame as those in the search string to match. The default is GENERAL,r9which means that case is ignored in string searches. i tGThe BOUNDED (abbreviation: BO) option defines whether or not the search Fis bounded by a paQge delimiter. By default, the search is unbounded, Fwhich means that the entire buffer will be searched. This option has effect only in change mode.E FThe BEGIN (abbreviation: B) / END (abbreviation: E) option determines Awhether the cursor is left at the beginning or end of the search @string when it is found. By default, the cursor is left at the 8beginning. This option has effect only in change mode. 2 SCREEN:The SET SCREEN (abbreviation: SE SC) command controls the )number of characters displayed on a line.l tFormat: SET SCREEN w  hFwhere w is the width of the screen line. By default, the screen widthis set to 80 characters.2 TABh6The SET TAB (abbreviation: SE TA) command enables the 5structured tab feature and sets the logical tab size.n rFormat: SET [NO]TAB n g7where n is the number of columns in a logical tab stop.  e8With the structured tab feature, EDT keeps a counter of Dthe tab level, which is set to 1 when the SET TAB command is issued.DWhen you use the tab key in change mode at the beginning of a line, HEDT will insert enough tabs and spaces to move the cursor to the column Adefined by the level n times the tab size. There are change modeABsubcommands to alter the tab level. The structured tab feature isdisabled by default.  TCThe tab size set by the tab command is also used by the TABS ADJUSTpcommand. 2 TERMINAL-Format: SET TERMINAL { HCPY | VT52 | VT100 }  AThe SET TERMINAL (abbreviation: SE TE) command identifies to EDT y@the type of terminal you are using. Normally, EDT will set the Dterminal type by asking the operating system what type it is. If itDdoes not appear to have set the type correctly, you can use the SHOWDTERMINAL command to see what EDT thinks your terminal is and the SETETERMINAL command to correct it if necessary. If your terminal is nots7a VT52 or a VT100, it should be set to HCPY (hardcopy).T 2 TRUNCATE;The SET TRUNCATE (abbreviatin: SE TR) command controls the E&handling of long lines in change mode.Q oFormat: SET [NO]TRUNCATEN aABy default, truncate mode is set, which means long lines will be mGtruncated on the display (the actual text is not altered). If you turn :off truncate mode by using SET NOTRUNCATE, long lines willBbe wrapped to as many screen lines as are necessary to display the entire line. u2 VERIFY8The SET VERIFY (abbreviation: SE V) command controls theFlisting of commands which are executed from the startup file or from amacro. Format: SET [NO]VERIFY  nFVerify is off by default, which means the lines are not typed. If you9turn it on, each command line is typed as it is executed.d2 WRAPFormat: SET [NO]WRAP ntCThe SET WRAP (abbreviation: SE W) command enables word wrapping andiAspecifies the right margin. Word wrapping is a mode in which EDTsAwill automatically insert carriage returns when you are typing inEBnew text and the line exceeds a right margin. Word wrapping is inAeffect in change mode only and only if you have used the SET WRAP command.  fBThe SET WRAP command is also used to set the right margin for the change mode FILL subcommmand.aESET NOWRAP (abbreviation: SE NOW) disables the word wrapping feature.r1 SHOWFormat: SHOW parametero wGThe SHOW (abbreviation: SH BU) command displays selected information oncDthe current state of the editor. Parameter is one of the additionaltopics listed below.2 BUFFERFormat: SHOW BUFFER JThe SHOW BUFFER (abbreviation: SH BU) command lists the buffers being usedFduring the edit session, including the number of lines of text in eachBbuffer. The current buffer is marked by an equal sign (=) beforeCthe name. If an asterisk follows the number of lines, it indicatesmAthat an input file is connected to the buffer and that there aresAmore lines to be read from the file. Thus, the line count is nota accurate. e2 CASEFormat: SHOW CASEBThe SHOW CASE (abbreviation: SH CA) command shows the current case setting (upper, lower, or none).2 CURSORFormat: SHOW CURSOR iQ7The SHOW CURSOR (abbreviation: SH CU) command shows the=current setting of the cursor region. EDT will respond with:o t:ba Bwhere t and b are integer numbers indicating the top and bottom ofBthe cursor region. See HELP SET CURSOR for an explanation of the cursor region.2 ENTITY Format: SHOW ENTITY entity-type u+where entity type is one of the following: H C WORD (abbreviation: W) SENTENCE (abbreviation: S)e PAGE (abbreviation: PAG) PARAGRAPH (abbreviation: PAR) SBThe SHOW ENTITY (abbreviation: SH EN) command displays the current*delimiter string for the specified entity.2 KEYnFormat: SHOW KEY key-selector +where key-selector is one of the following:b o [GOLD] number [GOLD] CONTROL letter GOLD charactera n7The SHOW KEY (abbreviation: SH K) command displays the eDcurrent definition of a keypad or control key. See HELP DEFINE KEY.2 SCREENFormat: SHOW SCREENGThe SHOW SCREEN (abbreviation: SH SC) command shows the current settingA.for the maximum length of a line EDT displays.2 SEARCHFormat: SHOW SEARCHFThe SHOW SEARCH (abbreviation: SH SE) command shows the current searchEparameters. See HELP SET SEARCH for a description of search options.b 2 TERMINALFormat: SHOW TERMINALCThe SHOW TERMINAL (abbreviation: SH TE) command shows your terminale type (VT52, VT100, or Hardcopy). 2 VERSIONeFormat: SHOW VERSION. <The SHOW VERSION (abbreviation: SH VE) command displays the version number of the editor. 1 SUBSTITUTEEThe SUBSTITUTE (abbreviation: S) command replaces occurrences of one E)string of characters with another string.E o;Format: SUBSTITUTE/string-1/string-2/ [range] [/BRIEF[:n]]R [/QUERY] [/NOTYPE] e?Any nonalphanumeric character can be used as string delimiters.R ADAll occurrences of string-1 within the specified range are replaced Gwith string-2. If you do not specify range, a single occurrence in theN@current line is substituted. The line in which the substitution*occurred is typed after each sQubstitution. 2 /BRIEF[:n]DWhen you select the BRIEF (abbreviation: /BR) option, only the firstCn characters of the line are displayed. If you omit n, the defaultIis 10. 2 /NOTYPE]@When you specify /NOTYPE (abbreviation: /NOT) the lines in which'substitutions occurred are not typed. r2 NEXT?The SUBSTITUTE NEXT (abbreviation: N) command replaces the next &occurrence of string-1 with string-2.  h3The SUBSTITUTE NEXT command has the following form:h u( [SUBSTITUTE] NEXT [/string-1/string-2/] tBThe search for string-1 is made forward from the current location.DWhen a substitution is made, the line where the substitution occurs becomes the current line.s .?When the optional strings are omitted, the strings used in the i5last SUBSTITUTE or SUBSTITUTE NEXT command are used. 2 /QUERYFormat: /QUERY  bDWhen you use the QUERY (abbreviation: /Q) qualifier, EDT prompts you'with a '?' to verify each substitution.n aResponses are: m Y Yes, do the substitution.$ N No, do not do the substitution.! Q Quit, terminate the command.r9 A All, do the rest of the substitutions without query. 1 TABS:The TAB ADJUST (abbreviation: TA A) command shifts each of9a range of lines a specified number of logical tab stops.t B!Format: TAB ADJUST [-] n [range]a uFwhere n is the number of tab stops to shift. You must use the SET TABAcommand to set the logical tab size in order for this command tosHwork. If you omit range, the select range is assumed. If a minus sign Aprecedes the count n, the text shifts to the left. Otherwise, itshifts to the right. f1 TYPEBThe TYPE (abbreviation: T) command displays the specified range oflines on the terminal.  a*Format: TYPE [range] [/BRIEF[:n]] [/STAY] s?The first line in the specified range becomes the current line.e mFIf the range specification starts with a non-alphabetic character, the(keyword TYPE may be omitted completely. 2 /BRIEFFormat: /BRIEF[:n]e h>When you select the BRIEF (abbreviation: /BR) opti!Qon, only theBfirst n characters of the line are displayed. If you omit n, thedefault is 10.2 /STAYbFormat: /STAY a?When you select the STAY (abbreviation: /ST) option, the cursoraAposition is not changed by the TYPE command. This enables you to Clook at text elsewhere in the buffer (or in another buffer) withoutilosing your position.n1 WRITEeDThe WRITE (abbreviation: WR) command creates a file from a specifiedrange of lines.[ e8Format: WRITE file-spec [range] [/SEQUENCE[:init:incr]] nFWhen you specify a range, the text contained in that range becomes theHfile. When you do not specify a range, the contents of the current textDbuffer becomes the new file. The cursor position is not affected byDthe WRITE command. If the file-spec and range are omitted, then the-entire buffer is written to the output file. y 2 /SEQUENCE Format: /SEQUENCE[:init:incr] :;When you use the SEQUENCE option, the output file is in VFC[B(variable with fixed control) format, and line numbers are writtenin the control field.  hBIf you set init and incr, the file is renumbered starting with theBnumber you choose for initial and the lines are incremented by theAnumber you choose for incr. Otherwise, the original line numbersn.are written and new lines will be numbered 0. the-entire buffer is written to the output file. y 2 /SEQUENCE Format: /SEQUENCE[:init:incr] :;When you use the SEQUENCE option, the output file is in VFC[B(variable with fixed control) format, and line numbers are@6Q 3NF( gnz32dQ(iK%Q ; The RSX error logging system consists of four tasks - ELI,A ERRLOG, RPT, and CFL. Since these tasks require MCR syntax, use; the DCL MCR command to execute them from DCL. All command6 descriptions in these help files refer to MCR syntax. A The Error Log Interface task (ELI) controls the operation of theB error logging task (ERRLOG). ELI turns error logging on and off,B changes error limits, and names error log files and backup files.9 ERRLOG also provides a warning whenever one of the errorT limits is reached.s e3 The Report Generator task (RPT) produces error logF6 reports based on information in control file modules. R@ The Control File Language compiler (CFL) compiles the Error Log" control file modules used by RPT. A Type HELP ERROR_LOG ELI for more information about ELI commands.hF Type HELP ERROR_LOG WARNINGS for more information about error limits.@ Type HELP ERROR_LOG CFL for information about the CFL commands.D Type HELP ERROR_LOG RPT for more information about the RPT commands$ that generate error log reports. a2 CFL) o1 The CFL compiler compiles Error Log control filec? modules. CFL is used primarily to patch control file modules.LA Since CFL does not produce object code, CFL binary output cannotT5 be patched with ZAP or PAT. Patches must be made byoH applying SLP corrections to the source file and recompiling the module.6 CFL can be used from MCR or with the DCL MCR command. C$ The command line syntax for CFL is: r3 [binary_file][,list_file]=[symbol_file,]input_filen t The file type defaults are: Binary ICF List LST Symbol SYM Input CNFc m2 ELI  L6 The Error Log Interface task (ELI) controls the Error9 Logging task (ERRLOG). ELI can be used from MCR or witho the DCL MCR command.P & ELI switches and their functions are: Switch Meaning e /AP Appends a log file /BA Names a backup file  /HL Sets hard error limits /LIM Turns on limiting /-LIM Turns off limiting /LOG Turns on logging)Q /-LOG Turns off logging! /RE Resets QIO and error countsr /SH Shows informations /SL Sets soft error limits" /SW Switches logging to new file tG Type HELP ERROR_LOG ELI switch for information on a particular switch.  d 3 /APPENDr t? The ELI /AP switch appends a previous log file to the current > log file. Logging must be active for the /AP switch to work.  Syntax: filespec/AP[/DE] r Default: . /-DE Does not delete the appended log file. g 3 /BACKUPu 5 The ELI /BA switch declares a backup file to be usedO1 if the primary error log file becomes unuseable.  s Syntax: [backup_file]/BA s Defaults:8 LB:[1,6]BACKUP.ERR Creates a new version of the file 3 /HLr#/SL3 /LIMIT d4 The ELI /LIM switch turns error limiting on or off. l Syntax: /LIM /-LIM g Defaults: Noneb c3 /LOG e3 The ELI /LOG switch turns error logging on or off.] r Syntax: [logfile]/LOG[/LIM][/NV] Defaults: logfile LB:[1,6]LOG.ERR /LIM Enables limitingr* /-NV Append log file to current log file r Syntax: /LOG /-LOG e Default:n /-LIM Disables limiting D3 /RESET BB The ELI /RE switch resets the error and QIO counts on devices. Up to 14 devices may be specified. h Syntax: ddnn:[,ddnn:,...]/RE Default:  None M3 /SHOWf tH The ELI /SH switch displays error and QIO counts for up to 14 specified> devices on the system. If no devices are specified, all errorE logging devices are shown. The /SH switch also displays information @ about the current operating status of the error logging system. u Syntax: [ddnn:,...]/SH g Default: 7 ddnn: If no devices are specified, information aboutt+ all error logging devices is displayed.f3 /SLh SN The ELI /HL and /SL switches set the Hard and Soft error limits. If limitingE is turned on and either of these limits is reached, logging for thatvH device stops. Either switch may be used individually or in combination.7 Up to 14 devices ma-Qy be specified in one command line. o Syntax:0 ddnn:[,ddnn:,...]/HL:nn. Sets only hard limit/ ddnn:[,ddnn:,...]/SL:nn. Sets only soft limit2 ddnn:[,ddnn:,...]/HL:nn./SL:nn. Sets both limits t Defaults (set by sysgen): " Device type Hard limit Soft limit L Disks 5. 8. Tapes 5. 8. S 3 /SWITCH sI The /SW switch copies the current log file to another file and transfersg logging to the new file.E e Syntax: logfile/SW[/DE][/NV] i Defaults: . logfile No default" /-DE Preserves previous log file5 /-NV Appends current log file to specified log filea2 RPTt d( The general command line syntax is: 3 [report_file[/switches]]=[input_file[/switches]]A RPT can be used either from MCR or with the DCL MCR command.t L Defaults: report_file input_file W Device: LB0: LB0:c UIC: current UIC [1,6] file_name: ERRREPORT LOGr file_type: .LST .ERR version: new version ;0 W; The equals sign (=) is not optional. Therefore, to get ae6 default report, including switches, use the following command line: f RPT>=< Switches are options that can be used on either side of the command line. iD Type ERRLOG RPT DEFAULT for information on the switches used in the RPT default command line. f The Error Log RPT switches are: W Switch Meaning c$ /DA Selects packets based on date% /DE Selects packets based on device + /F Determines format for error log report , /P Selects packets based on packet number6 /R Creates reports using a predefined switch string/ /S Selects packets based on serial number ofe drive and/or pack* /T Selects packets based on packet type+ /V Selects packets based on volume labeli1 /W Determines width of error log output reportd nB Type HELP ERROR_LOG RPT switch for information on individual RPT switches.3 /DATEs s# /DA:argument[:argument][:argument]e nK The RPT /DA switch allows you to select packets based on the time of their occurrence. u1Q Syntax:C /DA:RANGE:start_date:end_date select packets in this date rangek+ /DA:TODAY select packets occuring TODAYo3 /DA:YESTERDAY select packets occuring YESTERDAY 1 /DA:PREVIOUS:n select packets occuring on thee PREVIOUS n daysu t> Start_date and end_date are both date strings. A date string has the form:  i String Type Meaning/ a1 dd-mmm-yy Start Starting at dd-mmm-yy 00:00:00i- dd-mmm-yy End Ending at dd-mmm-yy 23:59:59i o> (dd-mmm-yy hh:mm:[:ss]) Start Starting at the specified time: (dd-mmm-yy hh:mm:[:ss]) End Ending at the specified time t, * Start Any date up through the end_date' * End Any date since the start_dateR O Default:cA The default is /DA:RANGE:*:* to select packets from all dates.t 3 DEFAULTS a DEFAULTS  e- RPT switches use the following defaults: t /DA:RANGE:*:* /DE:ALL /F:BRIEF  /P:*:*a /T:ALLd /W:WIDE 0A The rest of the RPT switches have no defaults. RPT does not use-4 them unless they are specified in the command line. d 3 /DEVICE: [ /DE:argumentg G The RPT /DE switch allows you to select packets for peripheral errors, ( based on the device or controller name. f Syntax:/ /DE:ALL select errors from all peripheralsr2 /DE:d_s select errors from a single peripheral3 /DE:(d_s,...) select errors from the peripheralsR specifiedA ! The device specifier d_s can be:: E Syntax Meaning R# DD devices with the mnemonic DDe ddnn: device ddnn: e Default:f /DE:ALL m 3 /FORMAT  /F:report_formatE gC The RPT /F switch allows you to specify the desired format for thep packet-by-packet report.h e Syntax:, /F:BRIEF Displays packets in BRIEF format* /F:FULL Displays packets in FULL format6 /F:REGISTERS Displays only device registers in FULL* format on PERIPHERAL errors. Does not* display software information. Packets& for other errors are displayed in  FULL format.. /F:NONE Does not display a packet5Q by packet report.A 6 Multiple arguments for the /F switch are not allowed. t Default:o /F:BRIEFy e 3 /PACKETr C /P:packet_number[:packet_number] or /P:(selection1,selection2,...)a pD The RPT /P switch allows you to select a packet or range of packetsF by specifying the packet identification number. BBB.RR is the formatF for packet_number, where BBB is the block number and RR is the record number. r Syntax:' /P:packet_number Selects this packet : /P:start_number:end_number Selects this range of packets> /P:(packet_specifier,...) Selects multiple packet_specifiers  String Type Meaningr 1 xxx.yy Start Starting with packet number xxx.yyn- zzz.aa End Ending with packet number zzz.aaw o' * Start Any packet number through the end_number.e# * End Any packet number since theR start-number.r c Default:  /P:*:* Selects all packets R 3 /REPORTo 5 /R:string_name or /R:(string_name1,string_name2,...)s c6 The RPT /R switch accesses predefined switch strings. c Syntax:6 /R:argument Replaces /R:argument with a predefined  switch stringy > In this command, 'argument' is interpreted as either the nameB of a DIGITAL predefined switch string or as a user defined switch* string, located in LB:[1,6]ERRDEFINE.CFS. *A DIGITAL supplies 4 predefined switch strings to use with the /REt? switch. Their arguments are SYSTEM, WEEK, MONTH, and DAY. Theg7 strings, using defaults for unspecified switches, are:T * SYSTEM /F:BR/T:A/DA:RA:*:*/P:*:*/W:WI( WEEK /F:BR/T:A/DA:PREVIOUS:7/W:WI) MONTH /F:BR/T:A/DA:PREVIOUS:31/W:WIn% DAY /F:FULL/T:A/DA:TODAY/W:WI  e Default:e Noneh a 3 /SERIALI A /S:argument:argumenti o7 The RPT /S switch selects packets based on their driveR and/or pack serial number.p e Syntax:= /S:DRIVE:serial_number Selects errors from peripherals thatn# have the specified drive serial number s s< /S:PACK:serial_number Selects errors from peripherals that"9Q have the specified pack serial number := /S:(DRIVE:s_n,PACK:s_n)Selects errors from peripherals thatn have the specified pack andY drive serial numberN h= /S:(DRIVE:s_n,PACK:s_n)Selects errors from peripherals thatw% have the specified pack and drivev serial number. - The serial_number is a string of hex digits.r l Default:  None e3 /TYPEn , /T:argument or /T:(argument1,argument2,...) 7 The RPT /T switch selects packets by specifying a typel or types of packets.e i Syntax:) /T:PERIPHERAL Selects peripheral errorss" /T:PROCESSOR Selects cpu errors" /T:MEMORY Selects memory errors/ /T:CONTROL Selects Error Log control packets,4 /T:SYSTEM_INFO Selects system information packets- /T:ERRORS Selects peripheral, CPU, memory,m+ and system_information packetse /T:ALL Selects all packetso2 /T:(xxx,...) Selects the packet types specified( xxx can be any one of the arguments- listed above. Note that you can specifyf, ALL and ERRORS in this syntax, but each) must be the only argument. That is,e* /T:(ALL) is legal but /T:(MEMORY,ALL) is not. R Default:  /T:ALL 3 /VOLUMEk , /V:argument OA The RPT /V switch allows you to select packets based on a devicea volume label.  Syntax:0 /V:volume_label Selects packets that have the specified volume label.) Default:h Nonet3 /WIDTH d /W:argument < The RPT /W switch controls the width of the output listing. p Syntax:+ /W:NARROW Generates an 80 column listing ) /W:WIDE Generates a 132 column listing  / Default:l /W:WIDE M 2 WARNINGS = The ERRLOG task issues a warning message when error limitingt= is turned on and the device reaches one of the error limits.a The message is: e= ** WARNING: Device ddnn: reached {Hard|Soft} limit (nn.) **t 9 ERRLOG then stops logging errors on that device. LoggingH! can be resumed on the device by:  tF (1) raising the limit that was met (see HELP=Q ERROR_LOG ELI HL or SL)G (2) resetting the device error counts (see HELP ERROR_LOG ELI RESET).n F On nonmultiuser systems, the warning is only displayed on the console terminal. H On multiuser systems, the warning is displayed on any terminal that hasE allocated the device. If that fails, it is sent to the terminal thataD invoked the task that attached the device. If the device is neither< allocated nor attached, the warning is sent to the console. H See HELP ERROR_LOG ELI SHOW for information on how to display the error counts for each device. t s HELP ERROR_LOG ELI RESET).n F On nonmultiuser systems, the warning is only displayed on the console terminal. H On multiuser systems, the warning is displayed on any terminal that hasE allocated the device. If that fails, it is sent to the terminal thataD invoked the task that attached the device. If the device is neither< allocated nor attached, the warning is sent to the console. H See HELP ERROR_LOG ELI SHOW for infor@"Q 3M( gnz3""`$2dQ(iK2 HELP is available for all Executive directives. > Type HELP EXECUTIVE directive where directive is the MACRO-11> mnemonic for the directive. You can also type HELP EXECUTIVEA directivename, where directivename is the name of the directive.NA Remember that many directives have similar names. Type the fullOG name of the directive as a single word with underscores between words,R such as) HELP EXECUTIVE SEND_REQUEST_AND_CONNECT I6 See also HELP EXECUTIVE DIC and HELP EXECUTIVE ERRORS 2 AQABORT_TASK#ABRTb2 ABRTG Abort Task ABRT$i FORTRAN Call: CALL ABORT (tsk[,ids]) . tsk = Task name to be aborted (RAD50) ids = Directive statust Macro Call: ABRT$ tsk. tsk = Task name to be aborted (RAD50)2 ALTER_PRIORITY#ALTP 2 ALTPG Alter Priority ALTP$Q FORTRAN Call:% CALL ALTPRI ([tsk],[ipri][,ids])  tsk = Active task nameRF ipri = A 1-word integer value equal to the new priority, from! 1 to 250 (decimal)  ids = Directive statust Macro Call: ALTP$ [tsk][,pri] tsk = Active task nameM4 pri = New priority, from 1 to 250 (decimal) 2 ASSIGN_LUN#ALUN2 ALUNG Assign LUN ALUN$  FORTRAN Call:$ CALL ASNLUN (lun,dev,unt[,ids])" lun = Logical unit number) dev = Device name (format: 1A2)A! unt = Device unit numberw ids = Directive statust Macro Call: ALUN$ lun,dev,unt" lun = Logical unit number+ dev = Device name (two characters)m! unt = Device unit numbero2 AST_SERVICE_EXIT#ASTXI2 ASTXG AST Service Exit ($S form recommended) ASTX$S  FORTRAN Call:F Neither the FORTRAN language nor the ISA standard permits directF linking to system-trapping mechanisms; therefore, this directive' is not available to FORTRAN tasks.i Macro Call: ASTX$S [err]$ err = Error routine address2 ATTACH_REGIONi#ATRGr2 ATRGF Attach Region ATRG$ FORTRAN Call: CALL ATRG (irdb[,ids])TF irdb = An 8-word integer array containing a Region Definition Block i ids = Directive statusS Macro Call: ATRG$ rdb. rdb = EQ Region Definition Block addressG See HELP EXECUTIVE RDB for information on the Region Definition Block. 2 CONNECT_TO_INTERRUPT_VECTOR #CINTr2 CINTF Connect To Interrupt Vector CINT$ FORTRAN Call: Not supported Macro Call:& CINT$ vec,base,isr,edir,pri,astF vec = Interrupt vector address -- Must be in the range 60(8)F to highest vector specified during SYSGEN, inclusive,* and must be a multiple of 4F base = Virtual base address for kernel APR 5 mapping of the9 ISR, and enable/disable interrupt routinesOF isr = Virtual address of the ISR, or 0 to disconnect from the interrupt vector:F edir = Virtual address of the enable/disable interrupt routine> pri = Initial priority at which the ISR is to executeF ast = Virtual address of an AST routine to be entered after3 the fork-level routine queues an ASTf2 CLEAR_EVENT_FLAG#CLEFb2 CLEFG Clear Event Flag CLEF$s FORTRAN Call: CALL CLREF (efn[,ids])l efn = Event flag number ids = Directive statusu Macro Call: CLEF$ efnl efn = Event flag number2 CANCEL_MARK_TIME_REQUESTSI#CMKTp2 CMKTH Cancel Mark Time Requests CMKT$ FORTRAN Call: CALL CANMT ([efn][,ids])f efn = Event flag number ids = Directive status Macro Call: CMKT$ [efn][,ast][,err] efn = Event flag number$ ast = Mark time AST address$ err = Error routine address 2 CONNECTr#CNCTs2 CNCTG Connect CNCT$ FORTRAN Call:: CALL CNCT (rtname,[iefn],[iast],[iesb],[iparm][,ids])L rtname = A single-precision, floating-point variable containing the6 name (RAD50) of the offspring taIQsk to be connectedF iefn = Event flag to be set when the offspring task exits! or emits statusbF iast = Name of an AST routine to be called when the6 offspring task exits or emits statusK iesb = Name of an 8-word exit status block to be written when : the offspring task exits or emits statusF iparm = Name of a word to receive the status block address$ when an AST occurs> ids = Integer to receive the Directive Status Word Macro Call:& CNCT$ tname, [efn],[east],[esb]D tname = Name (RAD50) of the offspring task to be connectedF efn = The event flag to be cleared on issuance and set? when the offspring task exits or emits statuseF east = Address of an AST routine to be called when the6 offspring task exits or emits statusF esb = Address of an 8-word status block to be written when: the offspring task exits or emits statusA See HELP EXECUTIVE ESB for information on the Exit Status Block.)2 CHECKPOINT_COMMON_REGION#CPCRd2 CPCRG Checkpoint Common Region CPCR$  RSX-11M-PLUS only FORTRAN Call: CALL CPCR (name[,ids]) F name = Name (in RAD50) of the common region to be checkpointed ids = Directive status Macro Call: CPCR$ name < name = Name of the common region to be checkpointed2 CREATE_ADDRESS_WINDOWT2 CRAWG Create Address Window CRAW$ FORTRAN Call: CALL CRAW (iwdb[,ids]) F iwdb = An 8-word integer array containing a Window Definition Block  ids = Directive statusa Macro Call: CRAW$ wdb. wdb = Window Definition Block addressG See HELP EXECUTIVE WDB for information on the WMQindow Definition Block. !2 CREATE_GROUP_GLOBAL_EVENT_FLAGS #CRGFh2 CRGFG Create Group Global Event Flags CRGF$  FORTRAN Call: CALL CRGF ([group][,ids])F group = Group number for the flags to be created - If notF specified, the task's protection UIC (H.CUIC+1) in* the task's header is used= ids = Integer to receive the Directive Status Words Macro Call: CRGF$ [group]F group = Group number for the flags to be created - If notF specified, the task's protection UIC (H.CUIC+1) in* the task's header is used2 CREATE_REGION[#CRRG2 CRRGG Create Region CRRG$  FORTRAN Call: CALL CRRG (irdb[,ids])(F irdb = An 8-word integer array containing a Region Definition Block h ids = Directive statusC Macro Call: CRRG$ rdb. rdb = Region Definition Block addressG See HELP EXECUTIVE RDB for information on the Region Definition Block.(2 CREATE_VIRTUAL_TERMINAL #CRVTs2 CRVT RSX-11M-PLUS only.RG Create Virtual Terminal CRVT$  FORTRAN Call:< CALL CRVT ([iiast],[ioast],[iaast],[imlen],iparm[,ids])F iiast = AST address at which input requests from offspring$ tasks are servicedF ioast = AST address at which output requests from offspring$ tasks are servicedF iaast = AST address at which the parent task may be notifiedF of the completion of successful offspring attach and> detach requests to the virtual terminal unitF imlen = Maximum buffer length allowed for offspring I/O requestsF iparm = Address of 3-word buffer to receive information from. the stack when an AST occurs> ids QQ = Integer to receive the Directive Status Word Macro Call:( CRVT$ [iast],[oast],[aast],[mlen]F iast = AST address at which input requests from offspring$ tasks are servicedF oast = AST address at which output requests from offspring$ tasks are servicedF aast = AST address at which the parent task may be notifiedF of the completion of successful offspring attach andF detach requests to the virtual terminal unit (IfF this parameter is not specified, no notification ofF attaches and detaches are returned to the parent task.)F mlen = Maximum buffer length allowed for offspring I/O requests'2 CANCEL_TIME_BASED_INITIATION_REQUESTS #CSRQr2 CSRQG Cancel Time Based Initiation Requests CSRQ$  FORTRAN Call: CALL CANALL (tsk[,ids]) tsk = Task name ids = Directive status Macro Call: CSRQ$ tsks tsk = Task name2 DECLARE_SIGNIFICANT_EVENTd#DECLe2 DECLG Declare Significant Event ($S form recommended) DECL$Sa FORTRAN Call: CALL DECLAR ([,ids])I ids = Directive status Macro Call: DECL$S [,err]$ err = Error routine address2 DISABLE_AST_RECOGNITION #DSAR 2 DSARG Disable AST Recognition ($S form recommended) DSAR$Ss FORTRAN Call: CALL DSASTR [(ids)] ids = Directive status Macro Call: DSAR$S [err]$ err = Error routine address2 DISABLE_CHECKPOINTINGf#DSCPo2 DSCPG Disable Checkpointing ($S form recommended) DSCP$S FORTRAN Call: CALL DISCKP [(ids)] ids = Directive status Macro Call: DSCP$S [err]$ err = Error routine address2 DETACH_REGIONT#DTRGi2 DTRGG Detach Region UQ DTRG$L FORTRAN Call: CALL DTRG (irdb[,ids])uF irdb = An 8-word integer array containing a Region Definition Block C ids = Directive statuse Macro Call: DTRG$ rdb. rdb = Region Definition Block addressG See HELP EXECUTIVE RDB for information on the Region Definition Block. 2 ELIMINATE_ADDRESS_WINDOW#ELAWr2 ELAW eG Eliminate Address Window ELAW$  FORTRAN Call: CALL ELAW (iwdb[,ids])FF iwdbi = An 8-word integer array containing a Window# Definition Block i" ids = Directive status Macro Call: ELAW$ wdb1 wdb = Window Definition Block address G See HELP EXECUTIVE WDB for information on the Window Definition Block.R$2 ELIMINATE_GROUP_GLOBAL_EVENT_FLAGS#EFLG_2 ELFGG Eliminate Group Global Event Flags ELGF$  FORTRAN Call: CALL ELGF ([group][,ids])K group = Group number of flags to be eliminated. If not specified, > the protection UIC (H.CUIC+1) in the task's header is used.= ids = Integer to receive the Directive Status Word Macro Call:d ELGF$ [group]sK group = Group number of flags to be eliminated. If not specified,> the protection UIC (H.CUIC+1) in the task's header is used.2 ELIMINATE_VIRTUAL_TERMINAL#ELVT 2 ELVT RSX-11M-PLUS only.FG Eliminate Virtual Terminal ELVT$m FORTRAN Call: CALL ELVT (iunum[,ids]). iunum = Virtual terminal unit number> ids = Integer to receive the Directive Status Word Macro Call: ELVT$ unum F unum = Unit number of the virtual terminal to be eliminated 2 EMIT_STATUSi#EMST2 EMSTG Emit Status EMST$T FORTRAN Call:% CALL EMST ([rtname],istat[,ids])iF YQ rtname = Name of task connected to issuing task to which the) status is to be emittedF istat = A 16-bit quantity to be returned to the connected task> ids = Integer to receive the Directive Status Word Macro Call: EMST$ [tname],statusoF tname = Name of a task connected to the issuing task to3 which the status is to be emittedFF status = A 16-bit quantity to be returned to the connected task2 ENABLE_AST_RECOGNITION#ENAR 2 ENARG Enable AST Recognition ($S form recommended) ENAR$Sb FORTRAN Call: CALL ENASTR [(ids)] ids = Directive statuse Macro Call: ENAR$S [err]$ err = Error routine address2 ENABLE_CHECKPOINTING#ENCPe2 ENCPG Enable Checkpointing ($S form recommended) ENCP$St FORTRAN Call: CALL ENACKP [(ids)] ids = Directive status Macro Call: ENCP$S [err]$ err = Error routine address 2 EXIT_IFa#EXIF 2 EXIFG Exit If EXIF$ FORTRAN Call: CALL EXITIF (efn[,ids]) efn = Event flag number ids = Directive statusr Macro Call: EXIF$ efnO efn = Event flag number 2 TASK_EXITo#EXITm2 EXITG Task Exit ($S form recommended) EXIT$S] FORTRAN Call:F Fortran tasks that terminate with the STOP statement result in aF message that includes task name, a statement causing the task toF stop, and an optional character string specified in the STOPF statement. CALL EXIT terminates with the message STOP THIS FORTRAN TASK. Macro Call: EXIT$S [err]$ err = Error routine address2 EXIT_WITH_STATUS#EXSTX2 EXSTG Exit With Status EXST$F FORTRAN Call: CAL]QL EXST (istat)A istat = A 16-bit quantity to be returned to parent taske Macro Call: EXST$ statussA status = A 16-bit quantity to be returned to parent taske2 EXIT_STATUS_BLOCK #ESB2 ESB D The Exit Status Block (ESB) can be specified by a parent task when K spawning or connecting to an offspring task. The ESB receives exit-statusWJ information when the offspring task exits or emits status. The format of the ESB is as follows:$ Word 0 offspring task exit status5 Word 1 TKTN abort code (a secondary status return)t Words 2-7 ReservedoI The ESB defaults to a length of one word. To receive more than one wordeI of information, logically OR the event flag argument with SP.WX8 in the tL directive that establishes the connection to the offspring task. Note thatM if this is done, all eight words of the ESB are expected to be available for  returning information. 2 EXTEND_TASKe#EXTK 2 EXTKG Extend Task EXTK$  FORTRAN Call: CALL EXTTSK ([inc][,ids])F inc = A positive or negative number equal to the number ofF 32-word blocks by which the task size is to be extendedF or reduced (If omitted, task size defaults to installed task size.) ids = Directive statusd Macro Call: EXTK$ [inc]F inc = A positive or negative number equal to the number ofF 32-word blocks by which the task is to be extended orF reduced (If omitted, task size defaults to installed task size.)%2 GET_COMMAND_FOR_COMMAND_INTERPRETERo#GCCIk2 GCCIG Get Command for Command Interpreter GCCI$, Fortran Call:B CALL GTCMCI (icbf,icbfl,[iibuf],[iibfl],[iaddr],[incp][,ids]): icbf = Name of a byte array to receive the commandE icbfl = Integer containing the size of the icbf array in bytes J iibuf = Name aQ of an integer to receive the optional information  bufferG iibfl = Name of an integer containing the length of the optionalM information bufferE iaddr = Name of an integer that contains the address in DSR of F the command desired (This address was obtained by a> previous call to GTCMCI with GC.CND specified.)F incp = Name of an integer containing a value indicating the; action to take if there is no command queuedi; ids = Integer to receive the directive status word Macro Call:/ GCCI$ cbuf,cbfl,[ibuf],[ibfl],[addr],[ncp]o: cbuf = Address of buffer to receive command stringF cbfl = Length of buffer. Maximum buffer size is 91. for2 RSX-11M and 266. for RSX-11M-PLUS.F ibuf = Address of buffer to receive information on the issuing terminali6 ibfl = Length of buffer to receive information! addr = Address of command= ncp = Action to take if no command buffer is presentMC GC.CCS (000) -- Return with carry set (default) F GC.CEX (001) -- Force CLI to exit instead of- returning F GC.CST (002) -- Force CLI to stop instead of- returningeF GC.CND (200) -- Copy command into buffer but do@ not dequeue it from the list%2 GET_COMMAND_INTERPRETER_INFORMATIONu#GCII 2 GCIIG Get Command Interpreter Information GCII$ FORTRAN Call:7 CALL GETCII (ibuf,ibfl,[icli],[idev],[iunit][,ids] F ibuf = Name of an integer array to receive the CLI informationF ibfl = Length in bytes of the integer array to receive the CLI informationF icli = Name of a two-word array element containing the RAD50 name of the CeQLIF idev = Name of an integer containing the ASCII name of' terminal (default = TI:)nF iunit = Name of an integer containing the octal unit number of terminal, ids = Directive statusm Macro Call:$ GCII$ buf,bufl,[cli],[dev,unit]7 buf = Address of buffer to receive informationi+ bufl = Length of information buffer F cli = Name in RAD50 of the CLI that information is requested onC> dev = ASCII name of terminal whose CLI should be used, unit = Octal unit number of terminal2 GET_LUN_INFORMATIONm#GLUN 2 GLUNG Get LUN Information GLUN$i FORTRAN Call: CALL GETLUN (lun,dat[,ids])" lun = Logical unit number@ dat = A 6-word integer array to receive LUN information ids = Directive status Macro Call: GLUN$ lun,buft" lun = Logical unit numberF buf = Address of 6-word buffer that will receive the LUN information2 GET_MCR_COMMAND_LINE#GMCR_2 GMCRG Get MCR Command Line GMCR$  FORTRAN Call: CALL GETMCR (buf[,ids])7 buf = An 80-byte array to receive command lineb ids = Directive statuse Macro Call: GMCR$2 GET_MAPPING_CONTEXTr#GMCXs2 GMCXG Get Mapping Context GMCX$b FORTRAN Call: CALL GMCX (imcx[,ids])aF imcx = An integer array to receive the mapping context. TheF size of the array is 8*n+1, where n is the number ofF window blocks in the task's header (The maximum size isF 8*8+1=65 on RSX-11M systems. The maximum size is3 8*24+1=193 on RSX-11M-PLUS systems.)C ids = Directive statuss Macro Call: GMCX$ wvec F wvec = The address of a vector of n WindowiQ Definition Blocks;E n is the number of window blocks in the task's header.mG See HELP EXECUTIVE WDB for information on the Window Definition Block. 2 GET_PARTITION_PARAMETERS#GPRTn2 GPRTG Get Partition Parameters GPRT$  FORTRAN Call:" CALL GETPAR ([prt],buf[,ids]) prt = Partition nametE buf = A 3-word integer array to receive partition parameters  ids = Directive statuss Macro Call: GPRT$ [prt],bufk prt = Partition namer' buf = Address of 3-word buffer Buffer format:  Word 0 Partition base addresse Word 1 Partition size_ Word 2 Partition flags word " 0 = system-controlled partition 1 = user-controlled partition2 GET_REGION_PARAMETERS#GREGC2 GREGG Get Region Parameters GREG$A FORTRAN Call:" CALL GETREG ([rid],buf[,ids]) rid = Region idB buf = A 3-word integer array to receive region parameters ids = Directive statuse Macro Call: GREG$ [rid],buf rid = Region ID' buf = Address of 3-word bufferP Buffer format:  Word 0 Region base address Word 1 Region size Word 2 Region flags word" 0 = system-controlled partition 1 = user-controlled partition2 GET_SENSE_SWITCHES#GSSW 2 GSSWG Get Sense Switches ($S form recommended) GSSW$SR FORTRAN Call: CALL READSW (isw)= isw = Integer to receive the console switch settingsaG The following FORTRAN call allows a program to read the state of a single switch:A CALL SWITCH (ibt,ist)0 ibt = The switch to be tested (0 to 15)" ist = Test results where: 1 = switch on 2 = switch offr Macro Call: GSSW$S [err]$ err = Error routine address2 GET_TIME_PARAMETERS #GTIMG2 GTIMG Get Time Parameters mQ GTIM$e FORTRAN Call: CALL GETTIM (ibfl[,ids])g& ibfl = An 8-word integer array ids = Directive status Macro Call: GTIM$ buf' buf = Address of 8-word buffer) Buffer format:T Word 0 Year (since 1900) Word 1 Month (1-12) Word 2 Day (1-31)  Word 3 Hour (0-23) Word 4 Minute (0-59) Word 5 Second (0-59) Word 6 Tick of second  Word 7 Ticks per secondG2 GET_TASK_PARAMETERSe#GTSK 2 GTSKG Get Task Parameters GTSK$E FORTRAN Call: CALL GETTSK (buf[,ids])E buf = A 16-word integer array to receive the task parametersG ids = Directive statuss Macro Call: GTSK$ buf( buf = Address of 16-word buffer2 INHIBIT_AST_RECOGNITION-#IHARW2 IHARG Inhibit AST Recognition ($S form recommended) IHAR$S  FORTRAN Call: CALL INASTR [(ids)]_ ids = Directive statusG Macro Call: IHAR$S [err]$ err = Error routine address2 MAP_ADDRESS_WINDOW#MAP2 MAPsG Map Address Window MAP$r FORTRAN Call: CALL MAP (iwdb[,ids])F iwdb = An 8-word integer array containing a Window Definition Block O ids = Directive statusc Macro Call: MAP$ wdb . wdb = Window Definition Block addressG See HELP EXECUTIVE WDB for information on the Window Definition Block. 2 MARK_TIME]#MRKT 2 MRKTG Mark Time MRKT$e FORTRAN Call:" CALL MARK (efn,tmg,tnt[,ids]) efn = Event flag number& tmg = Time interval magnitude! tnt = Time interval unitw ids = Directive statusOG The ISA standard call for delaying a task for a specified time interval is also included:i CALL WAIT (tmg,tnt,ids)& tmg = Time interval magqQnitude! tnt = Time interval unitM ids = Directive status Macro Call: MRKT$ [efn],tmg,tnt[,ast] efn = Event flag number& tmg = Time interval magnitude! tnt = Time interval unitn& ast = AST entry point address For CALL WAIT:  tmg = 0 for ticks 1 for millisecondso For CALL MARK and Macro call: tmg = 1 for ticks For all forms:  tmg = 1 for seconds 3 for minutesn 4 for hours2 MAP_SUPERVISOR#MSDSl2 MSDS RSX-11M-PLUS only.iG Map Supervisor D-Space to Supervisor I-Space MSDS$n FORTRAN Call: Not supported. Macro Call: MSDS$ maskF mask = A 7-bit mask with one bit corresponding to each APR.F If the bit is set, the APR is mapped to supervisor-modeF I-space. If the bit is clear the APR is mapped toF user-mode D-space. The 7 bits are specified in bits 8+ through 14 of the mask word.S2 MOVE_USER_SUPERVISOR_ID_SPACEp#MVTS 2 MVTS RSX-11M-PLUS only. G Move to/from User/Supervisor I/D-Space MVTS$l FORTRAN Call: Not supported.= Macro Call: MVTS$ action,addr,valh buff' action = One of the following:o5 MV.TUI -- Move to user I-spaceA5 MV.TUD -- Move to user D-space ; MV.TSI -- Move to supervisor I-space ; MV.TSD -- Move to supervisor D-space 7 MV.FUI -- Move from user I-spacep7 MV.FUD -- Move from user D-spaceR= MV.FSI -- Move from supervisor I-space$= MV.FSD -- Move from supervisor D-spacea5 addr = Address of the location in the taskMF buf = Buffer to receive the value fetched, for the move! from operations F uQ val = Value to be stored in the location, for the move to operations2 QUEUE_IO_REQUEST#QIO2 QIO G Queue I/O Request QIO$c FORTRAN Call:5 CALL QIO (fnc,lun,[efn],[pri],[isb],[prl][,ids]) fuc = I/O function code" lun = Logical unit number efn = Event flag number6 pri = Priority; ignored, but must be presentA isb = A 2-word integer array to receive final I/O status F prl = A 6-word integer array containing device-dependentF parameters to be placed in parameter words 1 through 6F of the Directive Parameter Block (DPB). Fill in this9 array by using the GETADR routine  ids = Directive status Macro Call:2 QIO$ fnc,lun,[efn],[pri],[isb],[ast],[prl] fnc = I/O function code" lun = Logical unit number efn = Event flag number6 pri = Priority; ignored, but must be present* isb = Address of I/O status block9 ast = Address of AST service routine entry point4 prl = Parameter list of the form 2 QUEUE_IO_REQUEST_AND_WAITa#QIOWb2 QIOWG Queue I/O Request And Wait QIOW$C FORTRAN Call:7 CALL WTQIO (fnc,lun,[efn],[pri],[isb],[prl][,ids])I fnc = I/O function code" lun = Logical unit number efn = Event flag number6 pri = Priority; ignored, but must be presentA isb = A 2-word integer array to receive final I/O statusoF prl = A 6-word integer array containing device dependentF parameters to be placed in parameter words 1 through 6 of the DPB  ids = Directive statusC Macro Call:2 QIOW$ fnc,lun,[efn],[pri],[isb],[ast][,prl] fnc = I/O function code" lun = Logical unit number efn = EyQvent flag number6 pri = Priority; ignored, but must be present* isb = Address of I/O status block9 ast = Address of AST service routine entry pointc4 prl = Parameter list of the form 2 RECEIVE_DATA_OR_STOP#RCST12 RCSTG Receive Data Or Stop RCST$M FORTRAN Call:$ CALL RCST ([rtname],ibuf[,ids])F rtname = Sender task name (If not specified, data may be* received from any task.)F ibuf = Address of 15-word buffer to receive the sender task name and data > ids = Integer to receive the Directive Status Word Macro Call: RCST$ [tname],bufF tname = Sender Task name (If not specified, data may be* received from any task.)F buf = Address of a 15-word buffer to receive the sender$ task name and data2 RECEIVE_DATA#RCVD 2 RCVDG Receive Data RCVD$f FORTRAN Call:# CALL RECEIV ([tsk],buf[,,ids])d> tsk = Sender task name (If not specified, data may be' received from any task.)n8 buf = A 15-word integer array for received data ids = Directive status Macro Call: RCVD$ [tsk],bufbF tsk = Sender task name (If not specified, data may be' received from any task.)A( buf = Address of 15-word buffer2 RECEIVE_DATA_OR_EXIT#RCVX 2 RCVX Receive Data Or Exit RCVX$ FORTRAN Call:# CALL RECOEX ([tsk],buf[,,ids])aF tsk = Sender task name (If not specified, data may be' received from any task.)r8 buf = A 15-word integer array for received data ids = Directive statusk Macro Call: RCVX$ [tsk],bufF tsk = Sender task name (If not specified, data may be' received from any tas}Qk.)w( buf = Address of 15-word buffer2 READ_ALL_EVENT_FLAGS#RDAF 2 RDAFG Read All Event Flags RDAF$k FORTRAN Call:D A FORTRAN task can only read a single event flag. The call is: CALL READEF (efn[,ids])( efn = Event flag number (1-64.) ids = Directive status Macro Call: RDAF$ buff' buf = Address of 4-word buffer  Buffer format:t Word 0 Task local flags 1-16 Word 1 Task Local flags 17-32 Word 2 Task common flags 33-48 Word 3 Task common flags 49-642 READ_EVENT_FLAGl#RDEF 2 RDEF RSX-11M-PLUS only. G Read Event Flag RDEF$g FORTRAN Call: CALL READEF (iefn[,ids])7 iefn = Integer containing an event flag number D ids = Integer variable to receive the Directive Status Word Macro Call: RDEF$ efn efn = Event flag number2 READ_EXTENDED_EVENT_FLAGSo#RDXFg2 RDXFG Read Extended Event Flags RDXF$E FORTRAN Call:D A FORTRAN task can read only a single event flag. The call is: CALL READEF (efn[,ids])( efn = Event flag number (1-96.) ids = Directive status= Macro Call: RDXF$ bufn' buf = Address of 6-word buffero Buffer format:i Word 0 Task local flags 1-16 Word 1 Task Local flags 17-32 Word 2 Task common flags 33-48 Word 3 Task common flags 49-64& Word 4 Task group global flags 65-80& Word 5 Task group global flags 81-962 REGION_DEFINITION_BLOCKR#RDB2 RDBe Region Definition Block RDB Format: Word 0 R.GID -- Region ID) Word 1 R.GIZ -- Region sizeu) Word 2-3 R.NAM -- Region name (Radix-50)a; Word 4-5 R.GPAR -- Region's main partition name (Radix-50)d% Word 6 R.GSTS -- Region status wordt, Word 7 R.GPRO -- Protection code of region R.GSTS bit definitions: 4 RS.CRR=^O<100000> ;REGION WAS SUCCQESSFULLY CREATEDA RS.UNM=^O<40000> ;ONE OR MORE WINDOWS WERE UNMAPPED ON A DETACHl l8 RS.MDL=^O<200> ;MARK REGION FOR DELETE ON LAST DETACH@ RS.NDL=^O<100> ;CREATED REGION IS NOT TO BE MARKED FOR DETACH* RS.ATT=^O<40> ;ATTACH TO CREATED REGION2 RS.NEX=^O<20> ;CREATED REGION IS NOT EXTENDABLE1 RS.DEL=^O<10> ;DELETE ACCESS DESIRED ON ATTACHr0 RS.EXT=^O<4> ;EXTEND ACCESS DESIRED ON ATTACH/ RS.WRT=^O<2> ;WRITE ACCESS DESIRED ON ATTACHi. RS.RED=^O<1> ;READ ACCESS DESIRED ON ATTACH2 REMOVE_AFFINITYD#RMAFN2 RMAF RSX-11M-PLUS only.WG Remove Affinity ($S form recommended) RMAF$S  FORTRAN Call: CALL RMAF [(ids)]G: ids = Integer to receive the Directive Status Word Macro Call: RMAF$S>2 RPOIG Request and Pass Offspring Information RPOI$T FORTRAN Call:I CALL RPOI (tname,[iugc],[iumc],[iparen],[ibuf],[ibfl],[isc],[idnam],N. [iunit],[itask],[ocbad][,ids])F tname = An array containing the actual name of the task to be4 requested and optionally chained toF iugc = Integer containing the group code number for the UIC3 of the requested target chain taskF iumc = Integer containing the member code number for the UIC3 of the requested target chain tasklF iparen = Array (or I*4 integer) containing the RAD50 name ofF the parent task (This is returned in the information2 buffer of the GTCMCI subroutine.)F ibuf = Array that contains the command line text for the chained task.I ibfl = Integer that contains the number of bytes in the commands in the ibuf arrayF isc = Flag byte controlling the actions of this directive+ request when executed. iF idnam = Integer containing the ASCII device name of the$ requested tasks TI:F iunitQ = Integer containing the unit number of the requested" tasks TI: deviceF itask = Array which contains the RAD50 name the requested> task is to run under. (Valid only for CLIs.)E ocbad = Integer containing the internal DSR address of thegF parent OCB (Only a CLI can specify this argumentF because the value can only be obtained in the> information buffer of the GTCMCI subroutine.)= ids = Integer to receive the directive status word Macro Call:G RPOI$ tname,,,[ugc],[umc],[parent],[bufadr],[buflen],[sc],[dnam],r! [unit],[task],[ocbad]t. tname = Name of task to be chained to9 ugc = Group code for UIC of the requested task: umc = Member code for UIC of the requested taskF parent = Name of issuing task's parent task whose OCB is to beA passed. If not specified, all OCB's are passed.eD bufadr = Address of buffer to be given to the requested task? buflen = Length of buffer to be given to requested taskb sc = Flags byte:@ RP.OEX -- (200) Force issuing task to exit4 RP.OAL -- (1) Pass all OCB's? RP.ONX -- (2) Pass the first connection in the queue,u if there is one * dnam = ASCII device name for TI:( unit = Unit number of task TI:1 task = RAD50 name of task to be started=3 ocbad = Address of OCB to pass (CLIs only)2 REQUEST_TASK#RQSTf2 RQSTG Request Task RQST$  FORTRAN Call:" CALL REQUES (tsk,[opt][,ids]) tsk = Task name% opt = A 4-word integer arrayXF opt(1) = Partition name first half; ignored, but) must be presentfF opt(2) = Partition name second half; ignored, but) Q must be presentbA opt(3) = Priority; ignored, but must be present2 opt(4) = User Identification Code ids = Directive statusR Macro Call:% RQST$ tsk,[prt],[pri][,ugc,umc]t tsk = Task name< prt = Partition name; ignored, but must be present6 pri = Priority; ignored, but must be present ugc = UIC group code  umc = UIC member code2 RECEIVE_BY_REFERENCE#RREF2 RREFG Receive By Reference RREF$  FORTRAN Call:" CALL RREF (iwdb,[isrb][,ids])F iwdb = An 8-word integer array containing a Window Definition Block sF isrb = A 10-word integer array to be used as the receive bufferb ids = Directive status Macro Call: RREF$ wdb& wdb = Window Definition BlockG See HELP EXECUTIVE WDB for information on the Window Definition Block.R 2 RESUME_TASKc#RSUM 2 RSUMG Resume Task RSUM$( FORTRAN Call: CALL RESUME (tsk[,ids]) tsk = Task name ids = Directive statusk Macro Call: RSUM$ tskg tsk = Task name2 RUNiG Run Task RUN$C FORTRAN Call:5 CALL RUN (tsk,[opt],[smg],snt,[rmg],[rnt][,ids])H tsk = Task name% opt = A 4-word integer arrayF opt(1) = Partition name first half; ignored, but) must be presentCF opt(2) = Partition name second half; ignored, but) must be presentA opt(3) = Priority; ignored, but must be present 2 opt(4) = User Identification Code' smg = Schedule delta magnitudet" snt = Schedule delta unit, rmg = Reschedule interval magnitude' rntQ = Reschedule interval unitt ids = Directive status;> The ISA standard call for initiating a task is also included:# CALL START (tsk,smg,snt[,ids])s tsk = Task name' smg = Schedule delta magnitude" snt = Schedule delta unit ids = Directive status Macro Call:; RUN$ tsk,[prt],[pri],[ugc],[umc],[smg],snt[,rmg,rnt]e tsk = Task name< prt = Partition name; ignored, but must be present6 pri = Priority; ignored, but must be present ugc = UIC group code umc = UIC member code' smg = Schedule delta magnitudeT" snt = Schedule delta unit, rmg = Reschedule interval magnitude' rnt = Reschedule interval unit 2 SUPERVISOR_CALL #SCALi2 SCAL RSX-11M-PLUS only. G Supervisor Call ($$ form recommended) SCAL$S  FORTRAN Call: Not supported Macro Call: SCAL$S saddr,caddrp? saddr = Address of the called supervisor-mode routineCF caddr = Address of the completion routine for return to the caller **NOTE WELL**7 We strongly suggest using the Task Builder to resolve 3 references to supervisor mode routines rather thanS8 explicitly using the SCAL$S directive. Doing so allows8 you to take advantage of any new techniques implemented" in future releases automatically.2 SET_COMMAND_LINE_INTERPRETER#SCLI$2 SCLIF Set Command Line Interpreter SCLI$ FORTRAN Call:( CALL SETCLI (icli,idev,iunit[,ids])F icli = A two word array element containing the name of the CLI1 to which the terminal is to be setrF idev = Integer containing the ASCII name of the terminal to be" set (default = TI:)= iunit = Integer containing the unit number of terminalu ids = Directive status_ Macro Call: SCLI$ cli,[dev],[unit]CB Q cli = Name of the CLI to which the terminal is to be setD dev = ASCII name of the terminal to be set (default = TI:)' unit = Unit number of terminaln 2 SEND_DATA#SDAT 2 SDATG Send Data SDAT$h FORTRAN Call:$ CALL SEND (tsk,buf,[efn][,ids]) tsk = Task name9 buf = A 13-word integer array of data to be senti efn = Event flag number ids = Directive statusC Macro Call: SDAT$ tsk,buf[,efn]e tsk = Task name- buf = Address of 13-word data buffert efn = Event flag number42 SEND_DATA_REQUEST_AND_PASS_OFFSPRING_CONTROL_BLOCK#SDRP 2 SDRPG Send Data Request and Pass Offspring Control Block SDRP$l FORTRAN Call:9 CALL SDRP (task,ibuf,[ibfl],[iefn],[iflag],[iparen],  [iocbad][,ids])oF task = Name of an array (REAL, INTEGER, I*4) that contains- the RAD50 name of target task$8 ibuf = Integer array containing data to be sentF ibfl = Integer containing number of words (integers) in theF array to be sent (On RSX-11M systems, this argumentF must be 13., and on RSX-11M-PLUS systems, thisF argument may be in the range of 1 to 255.) (Default = 13.)F iefn = Integer containing the number of the event flag to be@ set when this directive is executed successfullyF iflag = Integer containing flags bits controlling the execution. F iparen = Name of array containing the RAD50 name of the parentB task whose OCB should be passed to the target taskF iocbad = Name of an integer containing internal pool address of the OCB to pass F ids = Integer to receive the contents of the Directive Status Word Macro Call:3 SDRP$ tQask,bufadr,buflen,efn,flag,parent,ocbad - task = Name of task to be chained togC bufadr = Address of buffer to be given to the requested tasko> buflen = Length of buffer to be given to requested task efn = Event flag flag = Flags byte aF parent = Name of issuing task's parent task whose OCB is to be passed3 ocbad = Address of OCB to pass (CLI's only)r2 SEND_REQUEST_AND_CONNECT2 SDRCG Send, Request And Connect SDRC$ FORTRAN Call:? CALL SDRC (rtname,ibuf,[iefn],[iast],[iesb],[iparm][,ids])oF rtname = Target task name of the offspring task to be connected - ibuf = Name of 13-word send buffer F iefn = Event flag to be set when the offspring task exits! or emits status F iast = Name of an AST routine to be called when the6 offspring task exits or emits statusF iesb = Name of an 8-word status block to be written when: the offspring task exits or emits statusF iparm = Name of a word to receive the status block address$ when an AST occurs> ids = Integer to receive the Directive Status Word Macro Call:) SDRC$ tname,buf,[efn],[east],[esb]sF tname = Target task name of the offspring task to be connected1 buf = Address of a 13-word send buffer F efn = The event flag to be cleared on issuance and when the4 offspring task exits or emit statusF east = Address of an AST routine to be called when the5 offspring task exits or emits status F esb = Address of a 8-word status block to be written when9 the offspring task exits or emits statusn2 SET_EVENT_FLAG#SETFs2 SETFG Set Event Flag Q SETF$e FORTRAN Call: CALL SETEF (efn[,ids])b efn = Event flag number ids = Directive statust Macro Call: SETF$ efn efn = Event flag number&2 SPECIFY_FLOATING_POINT_EXCEPTION_AST#SEPAs2 SEPAG Specify Floating Point Exception AST SEPA$b FORTRAN Call: Not supported Macro Call: SFPA$ [ast]6 ast = AST service routine entry point address2 SEND_MESSAGE#SMSG 2 SMSGG Send Message SMSG$  FORTRAN Call:/ CALL SMSG (itgt,ibuf,ibufl,iprm,iprml,ids)M3 itgt = Integer containing the target objectfF ibuf = Integer array containing the data to be inserted into( the formatted data packet: ibufl = Integer containing length of the ibuf arrayA iprm = Integer array containing any additional parametersiF iprml = Integer containing the number of parameters in the iprm array? ids = Optional integer to receive the directive status Macro Call:$ SMSG$ tgt,buf,len,( tgt = Target identifier6 buf = Address of optional data buffer> len = Length in bytes of optional data buffer6 pri,...,prn = Target-specific parameter list:% Parameter list for Error Loggingn0 SMSG$ SM.SER,buf,len,typ,sub,lun,mask>( typ = Error Log packet code0 sub = Error Log packet subtype code0 lun = Logical unit number of device$ msk = Control mask word2 SEND_NEXT_COMMAND #SNXCT2 SNXC RSX-11M-PLUS only. G Send Next Command SNXC$  FORTRAN Call:% CALL SNXC ([dnam][,iunit][,ids])T< dnam = Device name (ASCII). If not specified, TI: is usedE iunit = Unit number of the terminal from which the command is to be  sent E5 idsQ = Integer to receive the directive status worde Macro call: SNXC$ [dnam][,unum]< dnam = Device name (ASCII). If not specified, TI: is usedA unum = Unit number of the terminal from which the command is ton be senta2 SPECIFY_PARITY_ERROR#SPEA 2 SPEA RSX-11M-PLUS only.RG Specify Parity Error AST SPEA$( FORTRAN Call: Not supported Macro Call: SPEA$ [ast]7 ast = AST services routine entry point addressI 2 SUSPENDe#SPND 2 SPNDG Suspend ($S form recommended) SPND$Sv FORTRAN Call: CALL SUSPND [(ids)] ids = Directive status Macro Call: SPND$S [err]$ err = Error routine address2 SPECIFY_POWER_RECOVERY_AST#SPRAS2 SPRAG Specify Power Recovery AST SPRA$N FORTRAN Call: EXTERNAL subC CALL PWRUP (sub)F sub = Name of a subroutine to be executed upon powerF recovery. The PWRUP subroutine will effect the following:N& CALL sub (no arguments)F The subroutine is called as a result of a powerF recovery AST, and therefore the subroutine can beF controlled at critical points by using the DSASTR (or2 INASTR) and ENASTR subroutine calls To Remove an AST: CALL PWRUP Macro Call: SPRA$ [ast]x6 ast = AST service routine entry point address2 SPAWNt#SPWNl2 SPWNG Spawn SPWN$t FORTRAN Call:C CALL SPAWN (rtname,[iugc],[iumc],[iefn],[iast],[iesb],[iparm], 7 [icmlin],[icmlen],[iunit],[dnam][,ids])eB rtname = Name (RAD50) of the offspring task to be spawnedE iugc = Group code number for the UIC of the offspring taskSF iumc = Member code number for the UIC of thQe offspring taskF iefn = Event flag to be set when the offspring task exits! or emits status F iast = Name of an AST routine to be called when the6 offspring task exits or emits statusF iesb = Name of an 8-word status block to be written when: the offspring task exits or emits statusF iparm = Name of a word to receive the status block address% when the AST occursUF icmlin = Name of a command line to be queued for the offspring taskF icmlen = Length of the command line (79. characters maximum)F iunit = Unit number of terminal to be used as the TI: forF the offspring task (If the optional dnam parameterF is not specified, this parameter must be the unitF number of a virtual terminal created by the issuingF task; if a value of 0 is specified, the TI: of the. issuing task is propagated.)F dnam = Device name mnemonic (If not specified, the virtual+ terminal is used as TI:.) = ids = Integer to receive the Directive Status Word Macro Call:E SPWN$ tname,,,[ugc],[umc],[efn],[east],[esb],[cmdlin],[cmdlen]s ,[unum],[dnam]B tname = Name (RAD50) of the offspring task to be spawnedE ugc = Group code number for the UIC of the offspring taskTF umc = Member code number for the UIC of the offspring taskF efn = The event flag to be cleared on issuance and set? when the offspring task exits or emits statuseF east = Address of an AST routine to be called when the6 offspring task exits or emits statusF esb = Address of an 8-word status block to be written when: the offspring task exits or emits statusF cmdlin =Q Address of a command line to be queued for the offspring taskD cmdlen = Length of the command line (maximum length is 79.)F unum = Unit number of terminal to be used as the TI: forF the offspring task (If the optional dnam parameterF is not specified, this parameter must be the unitF number of a virtual terminal created by the issuingF task; if a value of 0 is specified, the TI: of the. issuing task is propagated.)F dnam = Device name mnemonic (If not specified, the virtual+ terminal is used as TI:.) + NOTET< 1. If neither unum nor dnam is specified,< the TI: of the issuing task is! propagated. < 2. If only unum is specified, TI: is a' virtual terminal.i2 SPECIFY_RECEIVE_DATA_AST#SRDA 2 SRDAG Specify Receive Data AST SRDA$( FORTRAN Call: Not supported Macro Call: SRDA$ [ast]6 ast = AST service routine entry point address2 SREX#SREAn2 SREAFSpecify Requested Exit AST SREA$F SREX$ FORTRAN Call: CALL SREA(ast[,ids]) 4 ast = Name of the externally declared AST routine> ids = Name of an optional integer to receive the Directive Status Word . CALL SREX(ast,ipblk,ipblkl,[dummy][,ids])4 ast = Name of the externally declared AST routine@ ipblk = Name of an integer array to receive the trap-dependent parametersA ipblkl= Number of parameters to be returned into the ipblk array ' dummy = Reserved for future programmer E ids = Name of an optional integer to receive the Directive Status  Word Macro Call: SREA$ [ast] Q SREX$ [ast][,dummy]6 ast = AST service routine entry point address, dummy = Reserved for future expansion2 SEND_BY_REFERENCEN#SREFt2 SREFG Send By Reference SREF$e FORTRAN Call:, CALL SREF (tsk,[efn],iwdb,[isrb][,ids])! tsk = Receiver task name efn = Event flag numberF iwdb = An 8-word integer array containing a Window Definition Block CF isrb = An 8-word integer array containing additional information ids = Directive status Macro Call: SREF$ task,wdb[,efn]S! task = Receiver task name . wdb = Window Definition Block address efn = Event flag number"2 SPECIFY_RECEIVE_BY_REFERENCE_AST#SRRA 2 SRRAG Specify Receive-By-Reference AST SRRA$- FORTRAN Call: Not supported Macro Call: SRRA$ [ast]6 ast = AST service routine entry point address2 SET_AFFINITY#STAF 2 STAF RSX-11M-PLUS only. G Set Affinity STAF$  FORTRAN Call: CALL STAF (iaff[,ids])n! iaff = Affinity mask word 7 ids = Integer to receive Directive Status WordE Macro Call: STAF$ [cp!ub!ub...]( cp = CPU selected (A through D)2 ub = UNIBUS run(s) selected (E through T) 2 SET_TIME#STIM$2 STIMG Set System Time Directive STIM$I FORTRAN Call:& CALL SETTIM (ibufn[,ibufp][,ids])E ibufn = An 8-word integer array, new time specification bufferl< ibufp = An 8-word integer array, previous time buffer ids = Directive statust Macro Call: STIM$ bufn,[bufp]C> bufn = Address of 8-word new time specification bufferF bufp = Address of 8-word buffer to receive the previous system time parameters' See HELP EXQECUTIVE GET_TIME_PARAMETERS 2 STOPG Stop ($S form recommended) STOP$S  FORTRAN Call: CALL STOP ([ids]); ids = Integer to receive the Directive Status Wordr Macro Call: STOP$S $2 STOP_FOR_LOGICAL_OR_OF_EVENT_FLAGS#STLO 2 STLOG Stop For Logical OR Of Event Flags STLO$  FORTRAN Call:- CALL STLOR (ief1,ief2,ief3, ... ief(n))e6 ief1 ... ief(n) = List of event flag numbers Macro Call: STLO$ grp, msk+ grp = Desired group of event flags ! msk = A 16-bit mask wordC2 STOP_FOR_SINGLE_EVENT_FLAG#STSE 2 STSEG Stop For Single Event Flag STSE$S FORTRAN Call: CALL STOPFR (iefn[,ids])L iefn = Event flag number7 ids = Integer to receive Directive Status WordN Macro Call: STSE$ efn efn = Event flag number,2 SPECIFY_SST_VECTOR_TABLE_FOR_DEBUGGING_AID#SVDBl2 SVDBG Specify SST Vector Table For Debugging Aid SVDB$  FORTRAN Call: Not supported Macro Call: SVDB$ [adr][,len]S* adr = Address of SST vector tableF len = Length of (that is, number of entries in) table in words#2 SPECIFY_SST_VECTOR_TABLE_FOR_TASKg#SVTKe2 SVTKG Specify SST Vector Table For Task SVTK$  FORTRAN Call: Not supported Macro Call: SVTK$ [adr][,len]* adr = Address of SST vector tableF len = Length of (that is, number of entries in) table in words!2 UNLOCK_GROUP_GLOBAL_EVENT_FLAGSe#ULGFS2 ULGFF Unlock Group Global Event Flags ($$ form recommended) ULGF$ FORTRAN Call: CALL ULGF ([ids]) ids = Directive statuse Macro Call: ULGF$S [err]o" err = Error routine address2 UNMAP_ADDRESS_WINDOW#UNMAP2 UNMAPtG Unmap Address Window Q UNMAP$o FORTRAN Call: CALL UNMAP (iwdb[,ids])F iwdb = An 8-word integer array containing a Window Definition Block L ids = Directive status Macro Call: UMAP$ wdb. wdb = Window Definition Block addressG See HELP EXECUTIVE WDB for information on the Window Definition Block.G 2 UNSTOP_TASK #USTP=2 USTPG Unstop TASK USTP$s FORTRAN Call: CALL USTP (rtname[,ids])U. rtname = Name of task to be unstoppedA ids = Integer to receive directive status information Macro Call: USTP$ tname. tname = Name of task to be unstopped2 VARIABLE_RECEIVE_DATA #VRDC 2 VRDC RSX-11M-PLUS only.sG Variable Receive Data VRCD$G FORTRAN Call:- CALL VRCD ([task],bufadr,[buflen][,ids]) " task = Sender task nameF bufadr = Address of buffer to receive the sender task name and data" buflen = Length of buffer> ids = Integer to receive the Directive Status Word Macro Call:" VRCD$ [task],bufadr[,buflen]" task = Sender task name bufadr = Buffer address& buflen = Buffer size in words5 See also HELP EXECUTIVE VRCS and HELP EXECUTIVE VRCXL 2 VARIABLE_RECEIVE_DATA_AND_STOP#VRCS2 VRCS RSX-11M-PLUS only.aG Variable Receive Data Or Stop VRCS$e FORTRAN Call:- CALL VRCS ([task],bufadr,[buflen][,ids])r" task = Sender task nameF buf = Address of buffer to receive the sender task name and data" buflen = Length of buffer> ids = Integer to receive the Directive Status Word Macro Call:& VRCS$ [task],bufadr[,buflen]" task = Sender task name bufadr = Buffer address&Q buflen = Buffer size in words2 VARIABLE_RECEIVE_DATA_OR_EXITR#VRCX:2 VRCXG Variable Receive Data Or Exit VRCX$s FORTRAN Call:- CALL VRCX ([task],bufadr,[buflen][,ids])r" task = Sender task nameF bufadr = Address of buffer to receive the sender task name and data" buflen = Length of buffer> ids = Integer to receive the Directive Status Word Macro Call:& VRCX$ [task],bufadr[,buflen]" task = Sender task name bufadr = Buffer address& buflen = Buffer size in words2 VARIABLE_SEND_DATA#VSDAR2 VSDA RSX-11M-PLUS only.tG Variable Send Data VSDA$  FORTRAN Call:3 CALL VSDA ([task],bufadr,[buflen],[efn][,ids]) $ task = Receiver task nameF bufadr = Address of buffer to receive the sender task name and data" buflen = Length of buffer# efn = Event flag numbere> ids = Integer to receive the Directive Status Word Macro Call:, VSDA$ [task],bufadr,[buflen][,efn]$ task = Receiver task name bufadr = Buffer address& buflen = Buffer size in words# efn = Event flag numberd#2 VARIABLE_SEND_REQUEST_AND_CONNECT #VSRC2 VSRC RSX-11M-PLUS only.fG Variable Send, Request and Connect VSRC$  FORTRAN Call:G CALL VSRC (rtname,ibuf,[ibufl],[iefn],[iast],[iesb],[iparm][,ids])eF rtname = Target task name of the offspring task to be connected]- ibuf = Name of 13-word send buffer " ibufl = Length of bufferF iefn = Event flag to be set when the offspring task exits! or emits status F iast = Name of an AST routine to be called when the6 offspring task exits or emitQs statusF iesb = Name of an 8-word status block to be written when: the offspring task exits or emits statusF iparm = Name of a word to receive the status block address$ when an AST occurs> ids = Integer to receive the Directive Status Word Macro Call:- VSRC$ tname,buf[,buflen],efn,east,esbaF tname = Target task name of the offspring task to be connectedr* buf = Address of a send buffer" buflen = Length of bufferI efn = The event flag to be set when the offspring task exits t or emits status=F east = Address of an AST routine to be called when the6 offspring task exits or emits statusF esb = Address of a 8-word status block to be written when: the offspring task exits or emits status2 WAIT_FOR_SIGNIFICANT_EVENT#WSIG 2 WSIGG Wait For Significant Event ($S form recommended) WSIG$Sb FORTRAN Call: CALL WFSNEe Macro Call: WSIG$S [err]$ err = Error routine address$2 WAIT_FOR_LOGICAL_OR_OF_EVENT_FLAGS#WTLOS2 WTLOG Wait For Logical OR Of Event Flags WTLO$m FORTRAN Call:# CALL WFLOR (efn1,efn2,...efnn)sF efn = List of event flag numbers taken as the set of flags to, be specified in the directive Macro Call: WTLO$ grp,msk+ grp = Desired group of event flagsb' msk = A 16-bit octal mask wordM2 WAIT_FOR_SINGLE_EVENT_FLAG#WTSF 2 WTSFG Wait For Single Event Flag WTSF$ FORTRAN Call: CALL WAITFR (efn[,ids]) efn = Event flag number ids = Directive statusn Macro Call: WTSE$ efnL efn = Event flag number2 WINDOW_DEFINITION_BLOCK #WDB2 WDBf Window Definition Block Word 0 = W.NID -- Window ID Word 1 Q= W.NAPR -- Base APR1 Word 2 = W.NBAS -- Virtual base address (bytes)a1 Word 3 = W.NSIZ -- Window size (32-word blocks)  Word 4 = W.NRID -- Region IDa9 Word 5 = W.NOFF -- Offset in partition (32-word blocks)C2 Word 6 = W.NLEN -- Length to map (32-word blocks)' Word 7 = W.NSTS -- Window status wordr? Word 8 = W.NSRB -- Send/Receive buffer virtual address (bytes)  W.NSTS Bit DefinitionsI< WS.CRW=^O<100000> ;ADDRESS WINDOW WAS SUCCESSFULLY CREATED8 WS.UNM=^O<40000> ;ONE OR MORE WINDOWS WERE UNMAPPED IN" ;CREATE ADDRESS WINDOW OR MAP.: WS.ELW=^O<20000> ;ONE OR MORE WINDOWS WERE ELIMINATED IN ;CREATE ADDRESS WINDOW7 WS.RRF=^O<10000> ;REFERENCE WAS SUCCESSFULLY RECEIVEDi (- WS.BPS=^O<4000> ;DO NOT BYPASS CACHE ON MAP . WS.NBP=^O<4000> ;DO NOT BYPASS CACHE ON CRAW' WS.RES=^O<2000> ;MAP ONLY IF RESIDENTR5 WS.NAT=^O<1000> ;CREATE ATT DESCR ONLY IF NECESSARYe, WS.64B=^O<400> ;64 BYTE ALIGNMENT ALLOWED< WS.MAP=^O<200> ;MAP AFTER CREATE WINDOW OR RECEIVE BY REF3 WS.RCX=^O<100> ;EXIT IF NO REFERENCES TO RECEIVEO5 WS.SIS=^O<40> ;CREATE WINDOW IN SUPERVISOR I SPACEI/ WS.UDS=^O<20> ;CREATE WINDOW IN USER D SPACEO) WS.DEL=^O<10> ;SEND WITH DELETE ACCESSE( WS.EXT=^O<4> ;SEND WITH EXTEND ACCESS4 WS.WRT=^O<2> ;SEND WITH WRITE ACCESS OR MAP WITH  ;WRITE ACCESS2& WS.RED=^O<1> ;SEND WITH READ ACCESS. WS.EDS= WS.SIS! WS.UDS ;EFFECTIVE DATA SPACE2 ERRORSFThe symbols listed below are associated with the directive statusFcodes returned by the RSX-11M/M-PLUS Executive. They are determinedF(by default) at task-build time. To include these in a MACRO-11=program, the programmer uses the following two lines of code:T .MCALL DRERR$X DRERR$N;HE; STANDARD ERROR CODES RETURNED BY DIRECTIVES IN THE DIRECTIVE STATUS ; WORD;C, IS.CLR +00 EVENT FLAG WAS CLEAR3 IS.SUC +01 OPERATION COMPLETE, SUCCESSR* IS.SET +02 EVENT FLAG WAS SET; ;h;h4 IE.UPN -01. INSUFFICIENT DYNAMIC STOQRAGE4 IE.INS -02. SPECIFIED TASK NOT INSTALLED= IE.UNS -04. INSUFFICIENT DYNAMIC STORAGE FOR SENDa& IE.ULN -05. UNASSIGNED LUN2 IE.HWR -06. DEVICE DRIVER NOT RESIDENT' IE.ACT -07. TASK NOT ACTIVE > IE.ITS -08. DIRECTIVE INCONSISTENT WITH TASK STATE2 IE.FIX -09. TASK ALREADY FIXED/UNFIXED7 IE.CKP -10. ISSUING TASK NOT CHECKPOINTABLE . IE.TCH -11. TASK IS CHECKPOINTABLE0 IE.RBS -15. RECEIVE BUFFER TOO SMALL+ IE.PRI -16. PRIVILEGE VIOLATION 7 IE.RSU -17. SPECIFIED VECTOR ALREADY IN USEN/ IE.NSW -18. NO SWAP SPACE AVAILABLE 0 IE.ILV -19. SPECIFIED VECTOR ILLEGAL; ;A; < IE.AST -80. DIRECTIVE ISSUED/NOT ISSUED FROM AST? IE.MAP -81. ISR OR ENABLE/DISABLE INTERRUPT ROUTINEF9 NOT WITHIN 4K WORDS FROM VALUE OFK- BASE ADDRESS & 177700C2 IE.IOP -83. WINDOW HAS I/O IN PROGRESS' IE.ALG -84. ALIGNMENT ERRORG: IE.WOV -85. ADDRESS WINDOW ALLOCATION OVERFLOW) IE.NVR -86. INVALID REGION ID 1 IE.NVW -87. INVALID ADDRESS WINDOW ID , IE.ITP -88. INVALID TI PARAMETER8 IE.IBS -89. INVALID SEND BUFFER SIZE (>255.)) IE.LNL -90. LUN LOCKED IN USEO# IE.IUI -91. INVALID UICI. IE.IDU -92. INVALID DEVICE OR UNIT/ IE.ITI -93. INVALID TIME PARAMETERS.6 IE.PNS -94. PARTITION/REGION NOT IN SYSTEM0 IE.IPR -95. INVALID PRIORITY (>250.)# IE.ILU -96. INVALID LUNE1 IE.IEF -97. INVALID EVENT FLAG NUMBER87 IE.ADP -98. PART OF DPB OUT OF USER'S SPACE / IE.SDP -99. DIC OR DPB SIZE INVALIDA2 DICDFDirective Identification Codes (DICs) are used to identify eachFdirective. The DIC appears in the low byte of the first (or only)Fword in the Directive Parameter Block (DPB). The DPB length (inFwordQs) appears in the high byte of the first DPB word. Thus, both*bytes make up the word format shown below:FThis list can be used as a software debugging aid to quickly identifyDdirectives based on the octal value of the first word in a DPB. :Octal Value For Directive Decimal Values For:DPB First Word (Macro Call) DIC DPB Length7 433 CMKT$ 27. 1.o7 443 DECL$ 35. 1.l7 455 SPND$S 45. 1.r7 462 WSIG$S 49. 1.h7 463 EXIT$S 51. 1.n7 537 DCSP$ 95. 1.l7 541 ENCP$S 97. 1. 7 543 DSAR$S or IHAR$S 99. 1. 7 545 ENAR$S 101. 1.37 563 ASTX$S 115. 1.37 575 GSSW$S 125. 1.57 603 STOP$S 131. 1. 7 643 RMAF$ 163. 1. 7 1015 STAF$ 13. 2. 7 1025 SRRA$ 21. 2. 7 1035 EXST$ 29. 2. 7 1037 CLEF$ 31. 2. 7 1041 SETF$ 33. 2. 7 1047 RDAF$ 39. 2. 7 1051 WTSE$ 41. 2.37 1065 EXIF$ 53. 2.37 1067 CRRG$ 55. 2.07 1071 ATRG$ 57. 2.07 1073 DTRG$ 59. 2.07 1075 GTIM$ 61. 2.07 1077 GTSK$ 63. 2.07 1121 RREF$ 81. 2.77 1153 SRDA$ 107. 2.17 1155 SPRA$ Q 109. 2.57 1157 SFPA$ 111. 2.77 1161 GMCX$ 113. 2.17 1165 CRAW$ 117. 2.37 1171 MAP$ 121. 2.57 1173 UMAP$ 123. 2.77 1207 STSE$ 135. 2.17 1227 ELVT$ 151. 2.37 1235 CRGF$ 157. 2.57 1237 ELGF$ 159. 2.77 1241 STAF$ 161. 2.17 1245 SPEA$ 165. 2.57 1247 SREA$ 167. 2.17 1405 GLUN$ 5. 3. 7 1431 CSRQ$ 25. 3.77 1433 CMKT$ 27. 3.77 1447 RDXF$ 39. 3.57 1453 WTLO$ 43. 3.77 1457 RSUM$ 47. 3.17 1475 STIM$ 61. 3.57 1523 ABRT$ 83. 3. 7 1531 EXTK$ 89. 3.57 1547 SVDB$ 103. 3.17 1551 SVTK$ 105. 3.37 1605 USTP$ 133. 3. 7 1611 STLO$ 137. 3. 7 1617 CNCT$ 143. 3. 7 1633 SCAL$S 155. 3. 7 1647 SREX$ 167. 3.37 2007 ALUN$ 7. 4. 7 2011 ALTP$ 9. 4. 7 2101 GPRT$ or GREG$ 65. 4. 7 2113 RCVD$ 75. 4. 7 2115 RCVX$ 77. 4. 7 2213 RCST$ 139. 4. 7 2223 EMST$ Q 147. 4. 7 2427 MRKT$ 23. 5. 7 2505 SREF$ 69. 5. 7 2507 SDAT$ 71. 5. 7 2625 CRVT$ 149. 5. 7 3113 VRCD$ 75. 6. 7 3115 VRCX$ 77. 6. 7 3213 VRCS$ 139. 6. 7 3413 RQST$ 11. 7. 7 3601 CINT$ 129. 7. 7 3615 SDRC$ 141. 7. 7 4107 VSDA$ 71. 8. 7 5421 RUN$ 17. 11. 7 6001 QIO$ 1. 12. 7 6003 QIOW$ 3. 12. 7 6413 SPWN$ 11. 13. 7 7013 SPWN$ 11. 14. 7 12377 GMCR$ 127. 41. CINT$ 129. 7. 7 3615 SDRC$ 141. 7. 7 4107 VSDA$ 71. 8. 7 5421 RUN$ 17. 11. 7 6001 QIO$ 1. 12. 7 6003 QIOW$ 3. 12. 7 6413 SPWN$ 11. 13. 7 7013 SPWN$ 11. 14. 7 12377 GMCR$ 127. @ZQ 3P,,( gnz3""`$#?2dQ(iKQC FCS-11 is a collection of record-management macros and subroutinesC used to maintain and manipulate data files. FCS-11, in contrast to? RMS-11, supports only sequential and fixed record length file ? organizations. This HELP file contains brief summaries of the= MACRO-11 assembly language interface to FCS-11. See also:+ HELP FCS ERRORS Information on FCS errors9 HELP FCS ERRORS ALL Displays all FCS-11 I/O error codes; HELP FCS ERRORS err Displays individual error code by name= HELP FCS ERRORS nnn Displays individual error code by numberu= HELP FCS MACROS Displays all MACRO-11 interface macro callso; HELP FCS BIGBUFFERS Displays information on how to use thel big buffering features8 HELP FCS FLUSH Displays information on how to use the " new flush block buffer feature2 MACROS FCSMC$' OPEN$R FDB,LUN,DSPT,RACC,URBA,URBS,ERRr' OPEN$W FDB,LUN,DSPT,RACC,URBA,URBS,ERRF' OPEN$M FDB,LUN,DSPT,RACC,URBA,URBS,ERRS' OPEN$U FDB,LUN,DSPT,RACC,URBA,URBS,ERRm' OPEN$A FDB,LUN,DSPT,RACC,URBA,URBS,ERRi' OPNS$R FDB,LUN,DSPT,RACC,URBA,URBS,ERRA' OPNS$W FDB,LUN,DSPT,RACC,URBA,URBS,ERRr' OPNS$M FDB,LUN,DSPT,RACC,URBA,URBS,ERR ' OPNS$U FDB,LUN,DSPT,RACC,URBA,URBS,ERRu' OPNS$A FDB,LUN,DSPT,RACC,URBA,URBS,ERRl' OPNT$D FDB,LUN,DSPT,RACC,URBA,URBS,ERRe' OPNT$W FDB,LUN,DSPT,RACC,URBA,URBS,ERR0 OPEN$ FDB,FACC,LUN,DSPT,DFNB,RACC,URBA,URBS,ERR' OFID$R FDB,LUN,DSPT,RACC,URBA,URBS,ERRF' OFID$W FDB,LUN,DSPT,RACC,URBA,URBS,ERRS' OFID$M FDB,LUN,DSPT,RACC,URBA,URBS,ERRm' OFID$U FDB,LUN,DSPT,RACC,URBA,URBS,ERRi' OFID$A FDB,LUN,DSPT,RACC,URBA,URBS,ERRA0 OFID$ FDB,FACC,LUN,DSPT,DFNB,RACC,URBA,URBS,ERR' OFNB$R FDB,LUN,DSPT,RACC,URBA,URBS,ERR$' OFNB$W FDB,LUN,DSPT,RACC,URBA,URBS,ERR$' OFNB$M FDB,LUN,DSPT,RACC,URBA,URBS,ERR$' OFNB$U FDB,LUN,DSPT,RACC,URBA,URBS,ERR$' OFNB$A FDB,LUN,DSPT,RACC,URBA,URBS,ERR$0 OFNB$ FDB,FACC,LUN,DSPT,DFNB,RACC,URBA,URBS,ERR CLOSE$ FDB,ERRC, READ$ FDB,BKAD,BKSZ,BKVB,BKEF,BKST,BKDN,ERR- WRITE$ FDB,BKAD,BKSZ,BKVB,BKEF,BKST,BKDN,ERRB WAIT$ FQDB,EFN,BKST,ERRS GET$ FDB,INADR,MAXCNT,ERR' GET$R FDB,INADR,MAXCNT,LRCNM,HRCNM,ERRI GET$S FDB,INADR,MAXCNT,ERRC PUT$ FDB,OUTADR,OUTCNT,ERRU( PUT$R FDB,OUTADR,OUTCNT,LRCNM,HRCNM,ERR PUT$S FDB,OUTADR,OUTCNT,ERR DELET$ FDB,ERRT TRUNC$ FDB,ERRR FINIT$$ FSRSZ$ NFILES,BFSPAC,PSECT, FDBDF$N FDAT$A RTYP,RATT,RSIZ,CNTG,ALOC FDRC$A RACC,URBA,URBS! FDOP$A LUN,DSPT,DFNB,FACC,FACTRLE FDBF$A EFN,OVBS,MBCT,MBFG% FDBK$A BKAD,BKSZ,BKVB,BKEF,BKST,BKDND$ FDAT$R FDB,RTYP,RATT,RSIZ,CNTG,ALOC FDRC$R FDB,RACC,URBA,URBS% FDOP$R FDB,LUN,DSPT,DFNB,FACC,FACTRLA FDBF$R FDB,EFN,OVBS,MBCT,MBFG) FDBK$R FDB,BKAD,BKSZ,BKVB,BKEF,BKST,BKDNO% FDBSZ$ ;DEFINE S.FDB AS SIZE OF FDBC FDOF$LE$ NMBLK$ FNAME,FTYPE,VERS,DEVNAM,UNIT NBOF$LR LDFDB$ FDBD CMOV$W VAR,OFFSET CMOV$B VAR,OFFSET CMOV$2 VAR,OFFSET CBYTE$ VAR,OFFSET CWORD$ VAR,OFFSET FCSBT$ GLOBL FCSBT$ ARGS DEFIN$ SYM,VALR FDOFF$ OFFSET FDOFF$ ARGG BDOFF$ OFFSET BDOFF$ ARG, NBOFF$ OFFSET NBOFF$ ARGR FSROF$ OFFSET FSROF$ ARGD FDSOF$ OFFSET FDSOF$ ARG,$ DEF$G VAR,SIZ ;DEFINE GLOBAL OFFSET3 DEF$N VAR,SIZ ;DEFINE NO OFFSET-CALCULATE THE SIZE," DEF$I IVAL ;INITIALIZE DEFINITION DEF$L SYM,SIZ RAD50$ STRING,MAXWRD, 2 BIGBUFFERSA Big buffering reduces the number of disk accesses for record I/OF? by allowing multiblock input and output. Normally, get or put? operations are performed by accessing the disk one sector at aF? time. Big buffering allows a specified number of sectors to be ; read or written in a single disk access, which reduces theR number of head seeks.; To use big buffers, you need only pick a reasonable bufferE= size, alter the parameters for each occurrence of the FSRSZ$DC and FDBF$A macros in your program, and link to the proper library:f< 1. The buffer size you choose should be a multiple of? 512. bytes, the size of one disk block. 5 blocks is ac@ good choice, because it is the default amount allocated9 by a file extension. Disks tend to contain manyg5Q 5-block chunks. Larger amounts may increasek: performance, but you may be trading large amounts of memory for speed.t: 2. In your program, you must reserve adequate buffer9 space and make the buffer size known to the FDB.T@ The FSRSZ$ macro allows you to specify the total bufferC space needed by entering a number as its second parameter.e> This should be 512. bytes for each normal disk file, 9 plus the chosen buffer size for each big buffered file.c? For example, assume a program with 3 files: one normaloC (512. byte buffer), one with 3 blocks as a big buffer, and @ one with 5 blocks as a big buffer. The following would $ reserve the space properly: ! FSRSZ$ 3,<<1+3+5>*512.>y D In the FDB of each file with a big buffer, you must specifyA an override buffer size with the FDBF$A or FDBF$A macro.m@ For a file with 5 blocks as a big buffer, the following) would be the assembly-time macro call:o  FDBF$A <5*512.> E 3. RSX-11M users (Version 3.2 and later) should link to ANSLIB,cB which contains the proper FCS modules to use big buffers.2 ERRORSC When FCS-11 returns an error code to you in byte location F.ERR inIA the FDB, it may be either an I/O error code or a directive error C code. You can determine which type of code it is by examining byteF location F.ERR+1:A F.ERR+1 = -1 means that it is a directive error. For a list ofrA directive error codes type HELP ERRORS DIRECTIVE  RB F.ERR+1 = 0 means that it is an I/O error. A list of I/O error codes follows., For HELP on an individual error code, type: HELP FCS ERRORS xxxrB where xxx is the 3-letter error name or the 3-digit octal numeric value. For example: HELP FCS ERRORS ONP andd HELP FCS ERRORS 373 i t! will access the same error text.FF For a list of all FCS error names and cQode, type HELP FCS ERRORS ALL.3 ALL . Here is a list of all errors returned by FCS.! IE.BAD,-01.,377, ( IE.IFC,-02.,376,# IE.DNR,-03.,375,w) IE.VER,-04.,374,,. IE.ONP,-05.,373,& IE.SPC,-06.,372,& IE.DNA,-07.,371,* IE.DAA,-08.,370, 3( IE.DUN,-09.,367,' IE.EOF,-10.,366,a) IE.EOV,-11.,365,1 IE.WLK,-12.,364,I IE.DAO,-13.,363,' IE.SRE,-14.,362,% IE.ABO,-15.,361,I& IE.PRI,-16.,360, I, IE.RSU,-17.,357,* IE.OVR,-18.,356,6 IE.BYT,-19.,355,1 IE.BLK,-20.,354,E, IE.MOD,-21.,353,$ IE.CON,-22.,352,+ IE.NOD,-23.,351,T IE.DFU,-24.,350, 1" IE.IFU,-25.,347, IE.NSF,-26.,346,.0 IE.LCK,-27.,345,# IE.HFU,-28.,344,,% IE.WAC,-29.,343,I/ IE.CKS,-30.,342,,6 IE.WAT,-31.,341,3 IE.RER,-32.,340,2 34 IE.WER,-33.,337,/ IE.ALN,-34.,336,E- IE.SNC,-35.,335,1 IE.SQC,-36.,334,6* IE.NLN,-37.,333,/ IE.CLO,-38.,332,A< IE.NBF,-39.,331,& IE.RBG,-40.,330, .: IE.NBK,-41.,327,= IE.ILL,-42.,326,3" IE.BTP,-43.,325,1 IE.RAC,-44.,324,E5 IE.RAT,-45.,323,Q4 IE.RCN,-46.,322,- IE.ICE,-47.,321,./ IE.2DV,-48.,320,. 18 IE.FEX,-49.,317,% IE.BDR,-50.,316,,/ IE.RNM,-51.,315,>' IE.BDI,-52.,314,F$ IE.FOP,-53.,313, IE.BNM,-54.,312," IE.BDV,-55.,311,& IE.BBE,-56.,310, U7 IE.DUP,-57.,307, 6 IE.STK,-58.,306,1 IE.FHE,-59.,305,., IE.NFI,-60.,304,/ IE.ISQ,-61.,303, ' IE.EOT,-62.,302,D% IE.BVR,-63.,301,I" IE.BHD,-64.,300, E! IO.BCC,-65.,277,A5 IE.BCC,-66.,276,B IE.ONL,-67.,275, IE.NNN,-68.,274,L> IE.NFW,-69.,273, ;THIS CODE MUST BE ODD% IE.BLB,-70.,272,A0 IE.TMM,-71.,271,- IE.NDR,-72.,270,L A& IE.CNR,-73.,267,% IE.TMO,-74.,266,.3 IE.EXP,-75.,265,E" IE.BTF,-76.,264,1 IE.NNC,-77.,263,R$ IE.NNL,-78.,262,B IE.NLK,-79.,261,/ IE.NST,-80.,260,L. IE.AST,-80.,260, A* IE.IES,-82.,256,* IE.PES,-83.,255,% IE.ALC,-84.,254,O IE.ULK,-85.,253,.& IE.WCK,-86.,252, O IS.PND,+00. ;OPERATION PENDINGI) IS.SUC,+01. ;OPERATION COMPLETE, SUCCESS,6 IS.RDD,+02. ;(RX11) FLOPPY DISK SUCCESSFUL COMPLETION# ;OF A READ PHYSICAL, AND DELETEDN' ;DATA MARK WAS SEEN IN SECTOR HEADERS ; LAST SECTOR.>. IS.BV,+05. ;(A/D READ) AT LEAST ONE BAD VALUE% ;WAS READ (REMAINDER MAY BE GOOD).2! ;BAD CHANNEL IS INDICATED BY AE! ;NEGATIVE VALUE IN THE BUFFER.>2 IS.CR,<15*400+1> ;CARRIAGE RETURN WAS TERMINATOR3 IS.ESC,<33*400+1> ;ESCAPE (ALTMODE) WAS TERMINATOR * IS.CC,<3*400+1> ;CONTROL-C WAS TERMINATOR4 IS.ESQ,<233*400+1> ;ESCAPE SEQUENCE WAS TERMINATOR8 IS.PES,<200*400+1> ;PARTIAL ESCAPE SEQUENCE TERMINATOR9 IS.EOT,<4*400+1> ;EOT WAS TERMINATOR (BLOCK MODE INPUT)T9 IS.TAB,<11*400+1> ;TAB WAS TERMINATOR (FORMS MODE INPUT)L IS.TMO,+2. ;REQUEST TIMED OUT3 377E#BAD3 BAD)! IE.BAD,-01.,377, 3 376;#IFC3 IFCE( IE.IFC,-02.,376,3 375T#DNR3 DNRN# IE.DNR,-03.,375,M3 374S#VER3 VER) IE.VER,-04.,374,3 373,#ONP3 ONP;. IE.ONP,-05.,373,3 372A#SPC3 SPCS& IE.SPC,-06.,372,3 371 #DNA3 DNAL& IE.DNA,-07.,371,3 370E#DAA3 DAAM* IE.DAA,-08.,370,3 367 #DUN3 DUN ( IE.DUN,-09.,367,3 366#EOF3 EOF' IE.EOF,-10.,366,3 365#EOV3 EOV) IE.EOV,-11.,365,S3 364#WLK3 WLKE1 IE.WLK,-12.,364,3 363#DAO3 DAO3 IE.DAO,-13.,363,3 362#SRE3 SRE' IE.SRE,-14.,362, 3 361D#ABO3 ABOI% IE.ABO,-15.,361, 3 360D#PRI3 PRII& IE.PRI,-16.,360,3 357 #RSU3 RSU , IE.RSU,-17.,357,3 356E#OVR3 OVRI* IE.OVR,-18.,356,3 355V#BYT3 BYT.6 IE.BYT,-19.,355,3 354I#BLK3 BLK41 IE.BLK,-20.,354, 3 353I#MOD3 MOD3, IE.MOD,-21.,353,3 3523#CON3 CONI$ IE.CON,-22.,352,3 3511#NOD3 NODS+ IE.NOD,-23.,351,,3 3500#DFU3 DFUI IE.DFU,-24.,350,3 347,#IFU3 IFUR" IE.IFU,-25.,347,3 346I#NSF3 NSF. IE.NSF,-26.,346, 3 345B#LCK3 LCKI0 IE.LCK,-27.,345,3 3445#HFU3 HFUL# IE.HFU,-28.,344,U3 343O#WAC3 WAC5% IE.WAC,-29.,343,A3 342 #CKS3 CKS>/ IE.CKS,-30.,342,N3 341O#WAT3 WATN6 IE.WAT,-31.,341,3 3400#RER3 RERI3 IE.RER,-32.,340,R3 337F#WER3 WERN4 IE.WER,-33.,337,3 336C#ALN3 ALN4/ IE.ALN,-34.,336,E3 335E#SNC3 SNC4- IE.SNC,-35.,335, 3 334#SQC3 SQC1 IE.SQC,-36.,334,43 333S#NLN3 NLN.* IE.NLN,-37.,333,3 332O#CLO3 CLON/ IE.CLO,-38.,332, 3 331#NBF3 NBF< IE.NBF,-39.,331,3 330#RBG3 RBG& IE.RBG,-40.,330,3 327R#NBK3 NBK: IE.NBK,-41.,327,3 3263#ILL3 ILLN= IE.ILL,-42.,326,C3 325#BTP3 BTP." IE.BTP,-43.,325,3 3243#RAC3 RACL1 IE.RAC,-44.,324,33 323O#RAT3 RAT.5 IE.RAT,-45.,323,N3 322B#RCN3 RCN34 IE.RCN,-46.,322,3 321R#ICE3 ICEI- IE.ICE,-47.,321,N3 320B#2DV3 2DV4/ IE.2DV,-48.,320,3 31Q7#FEX3 FEX8 IE.FEX,-49.,317,3 316 #BDR3 BDR % IE.BDR,-50.,316,>3 3153#RNM3 RNML/ IE.RNM,-51.,315,T3 3142#BDI3 BDIA' IE.BDI,-52.,314,I3 313I#FOP3 FOP2$ IE.FOP,-53.,313,3 312E#BNM3 BNM IE.BNM,-54.,312,3 311,#BDV3 BDVE" IE.BDV,-55.,311,3 310D#BBE3 BBE4& IE.BBE,-56.,310,3 307#DUP3 DUP7 IE.DUP,-57.,307,3 306#STK3 STK6 IE.STK,-58.,306,3 305I#FHE3 FHE51 IE.FHE,-59.,305,D3 304.#NFI3 NFI<, IE.NFI,-60.,304,3 303,#ISQ3 ISQE/ IE.ISQ,-61.,303,.3 302A#EOT3 EOT' IE.EOT,-62.,302,A3 301E#BVR3 BVRD% IE.BVR,-63.,301,L3 300D#BHD3 BHD" IE.BHD,-64.,300,3 277U#BCC3 BCC ! IO.BCC,-65.,277,3 276T#BCC3 BCCO5 IE.BCC,-66.,276,53 275H#ONL3 ONLA IE.ONL,-67.,275,3 274N#NNN3 NNNI IE.NNN,-68.,274,P3 273>#NFW3 NFWQ> IE.NFW,-69.,273, ;THIS CODE MUST BE ODD3 272T#BLB3 BLB.% IE.BLB,-70.,272, 3 271B#TMM3 TMMI0 IE.TMM,-71.,271,3 270#NDR3 NDR.- IE.NDR,-72.,270,I3 2676#CNR3 CNRE& IE.CNR,-73.,267,3 2662#TMO3 TMOC% IE.TMO,-74.,266,L3 265A#EXP3 EXP.3 IE.EXP,-75.,265,63 264<#BTF3 BTFP" IE.BTF,-76.,264,3 263A#NNC3 NNCR1 IE.NNC,-77.,263,3 262,#NNL3 NNL $ IE.NNL,-78.,262,3 261M#NLK3 NLKOB IE.NLK,-79.,261,3 260N#NST3 NSTA/ IE.NST,-80.,260,<3 260I#AST3 AST. IE.AST,-80.,260,3 257E#FLN3 FLNA IE.FLN,-81.,257,3 256#IES3 IES* IE.IES,-82.,256,3 255 #PES3 PES,* IE.PES,-83.,255,3 254#ALC3 ALC% IE.ALC,-84.,254, 3 253N#ULK3 ULKI IE.ULK,-85.,253,O3 252I#WCK3 WCKT& IE.WCK,-86.,252,2 .FLUSH#FLUSH2 FLUSHTK The FCS .FLUSH entry point is designed to flush the block buffer of a fileNL being written in record mode. This text is written to provide suggestions for its use. - Why would you ever need to use such a thing?S EM Consider the way FCS operates when it is doing PUT$s to a disk file. On each L PUT$, FCS packs a record in to the block buffer. When the block is full orN the file is closed, FCS writes the block to the file. Thus, you can usually< not predict when a PUT$ will actually cause I/O to occur. G There can be circumstances it is necessary for your application that atL record be actually written to a file. For example, suppose a task gathersJ information from a lab device, writing small records to a file every fewL minutes. In the event of a system crash, data may be present in the tasksL block buffer, not yet written to the file. This data may be lost unless aK .FLUSH is called after every PUT$. You might also want to call .FLUSH tocJ flush the buffer if a second task needs to read this data from the file,+ without the first task closing the file. ( When will you never need to use .FLUSH? rI .FLUSH is never necessary for block mode (WRITE$) I/O operations or for sL record-mode (PUT$) operations to a record-oriented device. The block bufferL is always written in these cases. Files being read, of course, never need" to have a block buffer flushed. N CalliQng .FLUSH when a file is open under these circumstances causes no actionO to occur, except the return of a cleared carry bit and status +1 (success) in e FDB byte F.ERR. tM Why not simply close the file to write out the current buffer and reopen thec file? bO Indeed. Closing the file guarentees that the block buffer is flushed and thateO the file attributes (see below) are written back to the file header. However,sP closing and reopening a disk file frequently causes a FCS and F11ACP to executeK quite a bit of code and access the disk several times; you may not want tocL incur this much overhead. Calling .FLUSH may or may not be the best choice& under your individual circumstances.  h Performance considerations: uI Note that calling .FLUSH after every PUT$ can potentially cause a great tM increase in I/O activity, compared to just invoking PUT$s. One alternative iH might be to call .FLUSH only after a certain amount of time has passed L without another PUT$ being invoked. In this way, crash danger to the file  may be minimized. t s( Writing file attributes to a disk file: hJ When writing a file, some file attributes, notably F.EFBK and F.HIBK, theK end-of-file and high-allocation block numbers, are not written to the file.I header by FCS until the file is closed. Thus, even if frequent calls oftL .FLUSH are used to ensure that a file contains recent information, the fileH header will not reflect this fact while the file is open. Another taskH trying to read the file (open for shared read) will find an end-of-fileM error returned on the first GET$. If a system crash occurs, the data in the N file is recoverable, but only by manipulating the end-of-file block number in$ the file header, as with PIP /EOF.  tM Whenever new records are being written past the end-of-file which existed atsF OPEN$ time, this problem can occur. In this sense, a new file has anM immediate "OPEN$ time end-of-file", and a file open for append or update has M its old end-of-file as the Q"OPEN$ time end-of-file". A file open for modifyI does not have this problem because it cannot be extended; the F.EFBK andhM F.HIBK fields are always correct, even if several tasks are operating on the  file. fJ Attributes may be written back to the file header while a file is open byG using a write-attributes QIO, function code IO.WAT, using attribute 4..M (Incidentally, reading file attributes given a file ID number can be done inf& in a similar way using attribute -4.) dM Writing file attributes is illustrated below, in code purloined from COT.TSKo module COTWAT:e e s/ .TITLE COTWAT - WRITE FILE ATTRIBUTES FROM FDB  .IDENT /01.00/  r; 6; THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY6; BE USED OR COPIED ONLY IN ACCORDANCE WITH THE TERMS; OF SUCH LICENSE.; i6; COPYRIGHT (c) 1981 BY DIGITAL EQUIPMENT CORPORATION.; ALL RIGHTS RESERVED.; ; STEVE RUZICH 28-MAY-81 ;i?; THIS ROUTINE REQUESTS THE F11ACP TO WRITE THE FILE ATTRIBUTES4%; FROM THE FCS FILE DESCRIPTOR BLOCK.u;a  o, HA.UAT=4 ;WRITE USER FILE ATTRIBUTES CODE T PRMLST: ;QIO PARAMETER LISTL .WORD 0 ;FILE ID POINTER * .WORD ATTLST ;POINTER TO ATTRIBUTE LIST ATTLST: ;QIO ATTRIBUTE LIST 1 .BYTE HA.UAT,S.FATT ;WRITE USER FILE ATTRIBUTESS:ATTADR: .WORD 0 ;THEY RESIDE AT THE BEGINNING OF THE FDB" .WORD 0 ;ATTRIBUTE LIST STOPPER S;+); ***- .WRATT - WRITE ATTRIBUTES FROM FDB;H.; INPUT: R0 = FILE DESCRIPTOR BLOCK ADDRESS;T#; OUTPUT: R0, R4, R5 - PRESERVEDT; R1, R2, R3 - ALTEREDH; CC - NO ERROR#; CS - FCS ERROR CODE IN F.ERR(R0)L;-7.WRATT::MOV #IO.WAT,R1 ;WRITE ATTRIBUTES FUNCTION CODE.- MOV #2,R2 ;THERE ARE TWO DPB PARAMETERS...T$ MOV #PRMLST,R3 ;...AT THIS ADDRESS MOV R0,(R3) ;: ADD #F.FNB+N.FID,(R3) ;FID ADDRESS IS THE FIRST PARAMETER2 MOV R0,ATTADR ;FDB ADDRESS IS ADDR OF ATTRIBUTES' JMP .XQIO ;HAVE FCS EXECUTE THE QIO$R T .END B;H.; INPUT: R0 = FILE DESCRIPTOR BLOCK ADDRESS;T#; OUTPUT: R0, R4, R5 - PRESERQ@Q 3K ( gnz3""`$#? &2dQ(iKE FLX, or FILEX, is used as a media format interchange program to move< files among Files-11, DOS-11, and RT-11 structured volumes. 9 FLX performs file transfers and format conversions from: ! o DOS-11 to Files-11 volumes ! o Files-11 to DOS-11 volumes  o DOS-11 to DOS-11 volumes # o Files-11 to Files-11 volumes o Files-11 to RT-11 volumes  o RT-11 to RT-11 volumes o RT-11 to Files-11 volumes  - The general form of the FLX command line is:L 7 devicespec/switch=infile/switch,...,infilen/switchf s where sB devicespec is the device specification for the FLX output device. It takes the form : dev:[ufd] m+ infilen are the input file specifications. F switch is one of three types of FLX switches. Volume format, transfer3 mode, and control are the three types of switches.F sK For more information on FLX switches type HELP FLX VOLUMESWITCH, HELP FLX ' TRANFERSWITCH, HELP FLX CONTROLSWITCH.r f2 VOLUMESWITCH nD FLX has three volume format switches that specify the format of the8 volume on which the file is stored. These switches are: h@ /DO Identifies the volume as a DOS-11 formatted volume eB /RS Identifies the volume as a Files-11 formatted volume F@ /RT Identifies the volume as an RT-11 formatted volume B Input volumes default to DOS-11 format and output volumes defaultE to Files-11 format. You can change the default by entering /RS or/DOr on a commanQd line by itself.h tE /RS sets the default for input volumes to Files-11 format and outputw to DOS-11 format. .C /DO sets the default for input volumes to DOS-11 format and outputS volumes to Files-11 format. RE For example, to specify the default transfer direction from Files-11R to DOS-11, type: v a FLX>/RS uD To specify the default transfer direction from DOS-11 to Files-11,  type:   FLX>/DO cB If /RT is specified on one side of the command line, the default ! entry for the other side is /RS.  2 TRANSFERSWITCH s@ FLX has three transfer mode switches, one for each type of file@ format. Format conversions can be in either direction, and are ? between DOS-11 files and Files-11 files or between RT-11 files A and Files-11 files. Specifying a transfer mode switch determinesF@ which format the output file will be in after the conversion of the file. These switches are: B /FA:n[.] The DOS-11 or RT-11 output file is to be formatted ASCII. tB /FB:n[.] The DOS-11 or RT-11 output file is to be formatted binary.f eF /IM:n[.] The transfer is to be in image mode. Image mode forces% fixed length records.i -E If you specify n with any of the above switches, fixed length outputnC records are generated. If n is specified when the output is not a n Files-11 file, n is ignored.f .2 CONTROLSWITCHr C FLX control switches provide control functions useful during file dD transfers. You can specify for example, the number of blocks to be A allocated to an output file or the UFD for an output file. These: switches are: iC /BL:n[.] Specifies the number of contiguous blocks in octalh? or decimal to be allocated to the output file.  eD /BS:n[.] Specifies the block size in bytes for cassette tape output. iD /CO Specifies that the output file is to be contiguous. d< /DE Deletes files from a DOS-Q11 DECtape or disk c@ /DI Causes a directory listing of cassettes or DOS B volumes to be listed in a specified output file.? If no output file is specified, the listing isa( output on the user's terminal. e? /DNS:n Specifies the density of a magnetic tape wheres0 n can be 800, 1600 or 6250 bpi. uD /FC Indicates that FORTRAN carriage control conventions9 are to be used when using FORTRAN files.C e7 /ID Identifies the current version of FLX.  c$ /LI Same function as DI sB /NU:n[.] Used with the /ZE and /RT switches to specify theB number of directory blocks in octal or decimal toE allocate when initializing an RT-11 disk or DECtape.cA The maximum number of blocks is 37(8) or 31(10).  FD /RW Rewinds the magnetic tape before beginning the file transfer. iF /SP Specifies that the converted file is to be spooled by4 the print spooler or queue manager. D /UI Specifies that the output file is to have the same ' UFD as the input file.n tD /VE Specifies that each record written to a cassette is# read and verified.T mF /ZE Initializes cassettes or DOS-11 volumes. Initializing> erases any files already on the device.  ansfer. iF /SP @Q 3I t( gnz3""`$#? &x'2dQ(iK QG FMT, the disk volume formatter utility, allows DB:-, DK:-, DL:-, DM:-,C DP:-, DR:-, and DY:-type devices to be formatted and/or verified F on an RSX-11M/M-PLUS system that supports diagnostic functions. The I disk volumes may be completely formatted, or formatted on an individual H sector or (for DM: disks) individual track basis by means of the manualD mode option. Last-track bad block information on DL:, DM:, and DR:E disks is also taken into account. On RX02 floppy disks, the densityB can be set to either single or double without diagnostic support. ) The general form of the command line is:t e MCR>FMT ddn:[/switch(es)] DCL>MCR FMT ddn:[/switch(es)] uE where ddn: is the device and unit number of the disk to be formattedm1 and /switch(es) is one or more of the following:( : /BAD - After the volume is formatted, runs the Bad Block+ Locator Utility (BAD) if it is installed. ' /DENS - Sets RX02 floppy disk density.n9 /ERL - Sets maximum number of errors allowed on volume.  /MAN - Enters manual mode.2 /NOVE - Inhibits the default volume verification.2 /OVR - Overrides manufacturer's bad sector file.< /VE - Verifies that the volume was successfully formatted (the default switch).f5 /WLT - Rewrites the manufacturer's bad sector file.m2 /@Y - Uses input from an indirect command file. D If an error is encountered, FMT normally retries the operation once! before issuing an error message.i dE You can use FMT with other utilities and CLI commands to introduce a/D disk (in this case, DK1:) to a system as shown below. The example : uses MCR commands, but DCL equivalents will work as well. ALL DK1: h FMT DK1:[/sw] s BAD DK1:[/sw] e INI DK1:[label][/sw] R MOU DK1:[label][/sw] d cC Type HELP FMT "switch" for the description of a particular switch.I2 /VEr#VE 2 /VERIFY,#VEn2 VERIFY#VE 2 VE VERIFY D The /VE switch verifies that the format operation was successful by@ reading back the headers  Qand determining that they were written' correctly. This switch is the default.l ( FMT>DR1:/VE !Formats and verifies DR1:2 /MAN#MAN 2 /MANUALD#MAN2 MANUAL#MAN2 MANR MANUAL DA The /MAN switch enters manual mode. This mode permits individualwC sectors or (for DM: disks) individual tracks to be formatted. TheuH parameters entered are decimal unless prefixed with a pound sign ("#"). 5 FMT>DR1:/MAN/VE !Manually formats and verifies DR1:w s+ ** WARNING - Data will be lost on DR1: **e m Continue [Y OR N]? Y Entering manual modes Cylinder = 12 Track = 2T Sector = 1a a Operation completeM 6 Note that /MAN cannot be used with DY:-type devices. 2 /OVR#OVR2 OVRhE The /OVR switch overrides the Manufacturer's Bad Sector File on DM:-:F and DR:-type disk volumes. Usually, when writing the headers on suchE disks, any header marked bad in the MDBSF will have bad sector flagsEC set. Then when the verification process discovers a bad sector, aeH message is printed. The /OVR switch inhibits this reporting operation. n. FMT>DR1:/VE/OVR !Overrides the MDBSF on DR1:2 /@Yn#@Yl2 @YI The /@Y switch uses input from an indirect command file. No operational G messages or warnings are printed, and no user intervention is possible: until FMT completes.v m. FMT must be installed before you can use /@Y. sC You are cautioned against using this switch because volumes can bes( destroyed by an incorrect command line. v= FMT>DR1:/@Y !Uses command lines from indirect command filei0 FMT>@FMTIND !Invokes the indirect command file 2 /BAD#BAD2 BADo; The /BAD switch spawns the Bad Block Locator Utility (BAD)nD after the format operation is complete. If BAD is not installed, aH warning message is printed. Note that /BAD can only be used on systems that support spawned tasks. - FMT>DR1:/BAD !Spawns the BAD utilityi2 /WLT#WLT2 WLTeF The /WLT switch rewrites the manufacturer's bad sector file after the@ format operation haQs completed. The MDBSF will contain entriesE for each new sector that is found to be bad. The header of each bad/4 sector is also rewritten to flag the sector as bad. a? The /WLT switch must be specified when using FMT on DL: disks.a w@ The switch takes as an argument a decimal value that is used as the pack serial number. a/ FMT>DR1:/WLT=12345 !Rewrites the MDBSF on DR1:t2 /ERL#ERL2 ERLC The /ERL switch sets the maximum error limit for the volume. WhenaA this error limit is reached, a message is printed and the formateD operation is terminated. The default limit is 256(10) errors. Any< value greater than 0 or less than or equal to 256 is valid. a9 FMT>DR1:/ERL=150. !Sets the maximum error count for DR1:d !to 150(10)s2 /DENSe#DENS 2 /DENSITY#DENSv 2 DENSITYs#DENSs2 DENS DENSITYnA The /DENS switch sets the RX02 floppy disk density to either lowLD (single) or high (double). The default density is low. The switchH can also use SINGLE and DOUBLE as options. The following command lines are acceptable: i0 FMT>DYn:/DENS=LOW !Sets to low (single) density3 FMT>DYn:/DENS=SINGLE !Sets to single (low) densityo2 FMT>DYn:/DENS=HIGH !Sets to high (double) density4 FMT>DYn:/DENS=DOUBLE !Sets to double (high) density 2 /NOVERIFYD #NOVERIFYN 2 /-VERIFY #NOVERIFY 2 -VERIFYE #NOVERIFYe2 /NOVEi #NOVERIFYe2 NOVE #NOVERIFYe2 /-VE #NOVERIFYL2 -VEg #NOVERIFY 2 NOVERIFY -VERIFYd NOVE -VE @ The /NOVE switch inhibits the operation perfomed by the default /VERIFY switch. a4 FMT>DR1:/NOVE !Inhibits verification of DR1: after !it has been formattedNS=SINGLE !Sets to single (low) densityo2 FMT>DYn:/DENS=HIGH !Sets to high (double) density4 FMT>DYn:/DENS=DOUBLE !Sets to double (high) density 2 /NOVERIFYD #NOVERIFYN 2 /-VERIFY #NOVERIFY 2 -VERIFYE #NOVERIFYe2 /NOVEi #NOVERIFYe2 NOVE #NOVERIFYe2 /-VE #NOVERIFYL2 -VEg #NOVERIFY 2 NOVERIFY -VERIFYd NOVE -VE @ The /NOVE switch inhibits the operation perfomed byQ@Q 3P~~( gnz3""`$#? &x''2dQ(iK? The Indirect Command Processor allows CLI command lines to be J placed in a file. The file is then executed as though the command lines = were entered from a terminal. Indirect also supports other + numeric and string manipulation commands. E A summary of commands and special symbols can be obtained by typing   HELP INDIRECT SUMMARY ; Individual command descriptions can be obtained by typing   HELP INDIRECT commandname 7 Operators (relational and arithmetic) are described at e HELP INDIRECT OPERATORS l6 Special symbol descriptions can be obtained by typing e HELP INDIRECT symbolname < NOTE: symbolname does not include the angle brackets. uK A list of Indirect error messages, including their severity class numbers,  can be obtained by typing n HELP INDIRECT ERROR 2 OPERATORSN EB A numeric symbol or constant can be combined with another numericI symbol or constant by a logical or arithmetic operator to form a numerici3 expression. Arithmetic and logical operators are:O + Add - Subtract  * Multiplyd / Divide ! Logical inclusive OR & Logical AND # Logical NOT >< No embedded blanks or tabs are permitted between operators. n The string operator m + (Concatenation) I can be used to form longer strings from a collection of shorter strings.c t The substring operatora h [start:end]m I describes a substring range of a given string, for example, STRING[x:y],sJ where x iQs the first position of the substring and y is the last. If the2 total length of the string is unknown, the syntax c STRING[5:*]  LC can be used to express "from position 5 to the end of the string."e t% Relational operators are as follows:  r EQ or = Equal to NE or <> Not equal tos# GE or >= Greater than or equal toe LE or <= Less than or equal to GT or > Greater thanh LT or < Less than s 2 SUMMARYb i@ Information about the following Indirect commands is available: h# .ASK .ASKN .ASKS .BEGIN .CHAIN & .CLOSE .DATA .DEC .DELAY .DISABLE$ .ENABLE .END .ERASE .EXIT .FORM .GOSUB .GOTO .IF .INC .OPEN' .OPENA .OPENR .ONERR .PARSE .PAUSEf$ .READ .RETURN .IFDF .IFNDF .IFT. .IFF .IFACT .IFNACT .IFENABLED .IFDISABLED( .IFINS .IFNINS .IFNLOA .IFLOA .SETD" .SETF .SETL .SETN .SETO .SETS+ .SETT .STOP .TEST .TESTDEVICE .TESTFILE% .TESTPARTITION .WAIT .XQT .label i I> Information about the following special symbols is available: $ ACCOUN ALPHAN ALTMOD BASLIN CLI" CONFIG DATE DEFAUL EOF ERRCTL& ERRNUM ERROR ERRSEV ERSEEN ESCAPE& EXSTAT EXSTRI FALSE FILERR FILER2# FILATR FILSPC FORATT FMASK IAS& LIBUIC LOCAL LOGDEV LOGUIC MAPPED' MEMSIZ NETUIC NETNOD NXTSYM NOSTATL% NUMBER OCTAL PRIVIL RAD50 RSX11D.& SEVERE SPACE STRLEN SUCCES SYDISK& SYMTYP SYSDEV SYSID SYSTEM SYSUIC% SYUNIT TICLPP TICWID TISPED TIMEa" TIMOUT TITYPE TRUE UIC WARNIN o* Reserved symbols created by Indirect are: 0 P0, P1, P2, P3, P4, P5, P6, P7, P8, P9, COMMAN E; Other Indirect operations for which help is available are:E R4 SWITCHES SUBSTITUTION of symbols PARAMETER passing. LIBRARY procedures FORMATTING for readability ADVANCED techniques O2 .ASK#ASK2 ASKML Defines or redefines a logical symbol and assigns it a true or false value. Y Format: S .ASK [def:tmt] sym txtI T where:C D def - Optional default value to be assigned to the symbol if a line> terminaQtor is typed in response to the question or if a? timeout occurs. The default can be or or another logical variable. SC tmt - Optional decimal timeout count describing the length of timeGE before the default value is used. The format of the parametern9 is the same as that used for the .DELAY directive.a A sym - Logical symbol name consisting of 1 through 6 alphanumeric  characters. l7 txt - Text to be displayed on the output display line.r a Example:d # .ASK [:10S] L1 Logical value  t produces. h" >* Logical value [Y/N D:Y T:10S]: 4 See also HELP INDIRECT ASKN and HELP INDIRECT ASKS.2 .ASKNi#ASKNo2 ASKNP Defines or redefines a numeric symbol and assigns it an octal or decimal value. h Format: ! .ASKN [low:high:def:tmt] sym txt   where:r iD low:high - Numeric values that define the range for the response.: The input or default value must be within the range to be valid. i rC def - Optional default value to assigned to the symbol if ao> line terminator is typed in response to the question or9 if a timeout occurs. The default can be a numeric, expression or another numeric symbol. dB tmt - Optional decimal timeout count describing the length< of time before the default value is used. The format@ of the parameter is the same as that used for the .DELAY directive.  tH sym - Logical symbol name consisting of 1 through 6 alphanumeric characters. t> txt - Text to be displayed on the output display line. t Example:  # .ASKN [1:3:2:10S] N1 Numeric valueu c producesi & >* Numeric value [O R:1-3 D:2 T:10S]:3 See also HELP INDIRECT ASK and HELP INDIRECT ASKS.d r2 .ASKS #ASKS2 ASKSO Defines or redefines a string symbol and assigns it an ASCII text string up tot 80(10) bytes in length.  Format: ! .ASKS [low:high:def:tmt] sym txti  where:m oD low:high -!Q Numeric values that define the range for the response.> The length of the input or default value must be within the range to be valid.] iD def - Optional default value to be assigned to the symbol if= a line terminator is typed in response to the question ; or if a timeout occurs. The default can be a string + expression or another string symbol.8 0E tmt - Optional decimal timeout count describing the length ofi< time before the default value is used. The format of< the parameter is the same as that used for the .DELAY directive.b iH sym - Logical symbol name consisting of 1 through 6 alphanumeric characters. e> txt - Text to be displayed on the output display line. o Example:o  .SETS DEF "abc"$ .ASKS [1:3:DEF:10S] S1 String value producese o) >* String value [S R:1-3 D:"abc" T:10S]: 3 See also HELP INDIRECT ASKN and HELP INDIRECT ASK.h2 .BEGIN#BEGIN2 BEGINe f) Delimits the start of a BEGIN-END block.t p Format: h .BEGIN  tI Note that the .BEGIN command must appear on a line by itself. It cannotnN be part of an .IFx command line. A BEGIN-END block defines a set of IndirectK commands that must be entered and exited as a unit. Local symbols definedSL outside of the block are accessible, but those created within the block are; deleted when Indirect exits from the block (reaches .END).C S2 .CHAIN#CHAIN2 CHAIN BG The .CHAIN command continues execution from a new command file. UnlikepI the "@filename" construction, the current file context is not preserved.aG All local symbols are erased (unless the /LO switch is specified) and EI execution continues at the first line of the file specified with .CHAIN.e s Examples:  .CHAIN SYSGEN2.CMDt .CHAIN PROCLIB/LB:PART22 .CLOSE#CLOSE2 CLOSEi nC Closes a secondary data file. No error is returned if the file is . already closed.  Format: I .CLOSE #n H8 where n is the ch%Qannel number of the file to be closed. k2 .DATA"#DATAm2 DATA tA Specifies a single line of data to be output to a secondary files) previously opened by an .OPEN directive.f ) Example:e i- .DATA #n This line will go into data file ni dA One or more blanks or tabs can follow the .DATA command. If theRM first character is a blank, it is removed and not placed in the output file.NG If the first character is a tab, it is transferred to the output file. L2 .END#END2 ENDi hL Delimits the end of a BEGIN-END block. All local symbols defined since the0 last .BEGIN command are erased by this command. c Format:  .ENDu E Note that an .END command must appear on a line by itself. It cannote! be part of an .IFx command line.e 2 .EXITk#EXITb2 EXIT wB Leaves a BEGIN-END block or a command file, optionally specifyingD exit status. The exit status value can be any 16-bit encoded value.C This value will be available in the next outer command file as theiC value of or to the task that spawned Indirect as the exitn" status value (RSX-11M-PLUS only). e Format: .EXIT [n] r7 where n is the numeric expression for the exit status.e o2 .FORMb#FORMf2 FORMK The .FORM command is an optional feature of Indirect and supported only onLA nonprivileged versions running under RSX-11M-PLUS. You must haveeK a license and have installed the FMS-11/RSX V1.0 kit. Familiarize yourselfuC with the documentation before attempting to use the .FORM command.  SJ The FMS-11 support included when the nonprivileged Indirect task is built8 incorporates support for the VT100 and VT52 terminals.  iJ The syntax of the .FORM command parallels the format of the MACRO-11 callE interface to FMS-11. You are encouraged to read the FMS-11/RSX V1.0 nG Programmers Guide, particularly the chapters on form driver operation e and the MACRO-11 interface. h 3 COMMANDSI In the following summaries, square brackets enclose optional arguments.  Formal parameters a)Qre:  SG LINENUM The screen line number where form display is to begin.iL RETTRM The name of a numeric variable to contain the code for the terminator typed by the user.H FILENAME The name of a string variable or string constant naming5 the file in which the form definitions are stored.l= RETNAM The name of the field completed by the user. : RETINX The index of the field completed by the user.= TERMINATOR The code for the terminator to be processed.aG VALUE A string variable or constant to be placed in the indicatedo field. J FLDNAME The name of a field defined in the currently displayed form.C INDEX In an indexed field, the index referencing the specificn field being addressed.nH RETVAL The name of a string variable into which the returned value will be placed. e e> String values supplied TO the .FORM command can be expressed I as a constant enclosed in quotation marks or as the name of a previouslyp' defined string variable. For example:  c .FORM OPN,"FMSDEM.FLB"h anda .SETS LIBR "FMSDEM.FLB" .FORM OPN,LIBR  i are equivalent. rE String and numeric values returned FROM the .FORM command are passedrH as though a .SETS or .SETN command were being executed. This means thatH the name of the variable to receive the value must be supplied and thatG it must either be not previously defined or defined as the appropriate & string or numeric type. For example: t .FORM GET,"CHOICE",,,,FLDVALn sI FLDVAL is defined or redefined as required and contains the string typedSF by the user to fill the field named CHOICE on the currently displayed form. + The general syntax of the .FORM command iss r .FORM FNC,p1,p2,....pnS F where FNC is a three-letter code indicating which FMS operation is toM be performed. These codes are a subset of the codes used in the MACRO-11/FMSl$ interface and are summarized below. L A demonstration procedure is included in LB:[1,2]INDSYS.CLB. This procedu-QreD library is packaged on the distribution kit with the privileged MCR task sources. Please refer to e HELP INDIRECT INDSYSc e; for installation information. To execute the demonstrationc, procedure, type the following command line: e$ | @LB:[1,2]INDSYS.CLB/LB:FMSDEM wG After verifying the terminal type, a copy of the forms library will becF placed in your directory. The procedure is identical to that providedI in MACRO-11 form on the FMS/RSX V1.0 kit. Refer to the FMS documentationu/ for a fuller description of the demonstration.w Commands: M" CSH -- Clear screen and show form  .FORM CSH,FLDNAME[,LINENUM] i SHO -- Show formt . .FORM SHO,FLDNAME[,LINENUM] p% GET -- Get value for specified fieldn > .FORM GET,FLDNAME[,INDEX[,RETNAM[,RETINX[,RETVAL[,RETTRM]]]]] t ANY -- Return any field value i/ .FORM ANY[,RETNAM[,RETINX[,RETVAL[,RETTRM]]]]]o u ALL -- Return all fieldsv d .FORM ALL[,RETVAL[,RETTRM]] X DAT -- Get data from form u% .FORM DAT,[FLDNAME],[INDEX],[RETVAL]f e) GSC -- Get current line of scrolled area- l" .FORM GSC,FLDNAME,RETVAL[,RETTRM] H CLO -- Close forms library- h .FORM CLO . OPN -- Open forms library  .FORM OPN,FILENAME  c, PSC -- Put to current line of scrolled area A .FORM PSC,FLDNAME,VALUE ] TRM -- Process field terminator ; .FORM TRM,[FLDNAME],[VALUE],TERMINATOR [,RETNAM [,RETINX]]L  PUT -- Put to specified field , .FORM PUT,FLDNAME,[INDEX],VALUE a PAL -- Put all fields [ .FORM PAL [,VALUE]V f% LST -- Output to last line of screenl a .FORM LST [,VALUE]F A RAL -- Return all fieldsO  .FORM RAL,VALUE ( RTN -- Return value for specified field y! .FORM RTN,FLDNAME,[INDEX],RETVALC # SPF/SPN -- Supervisor mode control .FORM SPF .FORM SPN ] T 3 Summarys .FORM CSH,FLDNAME[,LINENUM] .FORM SHO,FLDNAME[,LINENUM]> .FORM GET,FLDNAME[,INDEX[,RETNAM[,RETINX[,RETVAL[,RETTRM]]]]]/ .FORM ANY[,RETNAM[,RETINX[,RETVAL[,RETTRM]]]]]u .FORM ALL1Q[,RETVAL[,RETTRM]]% .FORM DAT,[FLDNAME],[INDEX],[RETVAL]n" .FORM GSC,FLDNAME,RETVAL[,RETTRM] .FORM CLO .FORM OPN,FILENAMEO .FORM PSC,FLDNAME,VALUE; .FORM TRM,[FLDNAME],[VALUE],TERMINATOR [,RETNAM [,RETINX]]D .FORM PUT,FLDNAME,[INDEX],VALUE .FORM PAL [,VALUE]o .FORM LST [,VALUE]F .FORM RAL,VALUE! .FORM RTN,FLDNAME,[INDEX],RETVAL, .FORM SPF .FORM SPN E 2 .DISABLE#ENABLET 2 DISABLEN#ENABLEA 2 .ENABLER#ENABLET2 ENABLEI With the .ENABLE and .DISABLE commands, several Indirect operating modesM% can be controlled. These modes are:L / Mode Default Scope Default Effect.; ---- ------- ----- ------- ------N setting] -------T ]G ATTACH Enabled G Indirect attaches to TI: for comment lines.VI CONTROL-Z Disabled G CTRL/Z in response to .ASKx exits Indirect..A DECIMAL Disabled G Numeric symbols are created as OCTAL.RK DELETE Disabled L The current command file is not deleted at end.cI DETACH Enabled G Indirect detaches from TI: for command lines.DE DISPLAY Enabled G Indirect displays the current fields for  .ASKx and "@ ". A ESCAPE Disabled G ESCAPE or ALTMODE is legal for .ASKx  response.G ESCAPE-SEQ Disabled G When Indirect attaches, escape-sequence n" recognition is not enabled.D FMS Read-only G If enabled, the .FORM command is supported  (RSX-11M-PLUS only).nE FULL-DUPLEX Read-only G If enabled, the full-duplex terminal i driver is available.mE GLOBAL Enabled L Symbols of the form $xxxx are placed in a  global symbol table.dF LOWERCASE Enabled L Indirect is not sensitive to the case of commands or strings.E@ MCR Enabled L Commands not processed by Indirect are 2 passed to the default CLI for the terminal.F QUIET Disabled L Comments and CLI commands are displayed on  the terminal.L SUBSTITUTION Disabled L 5Q String substitution is not performed before command line evaluation.lF TIMEOUT Enabled G The timeout parameter of .ASKx commands is processed.WB TRACE Disabled G Commands processed by Indirect are not ! displayed on the terminal. D TRUNCATE Disabled G Truncate errors on a .READ command are  not ignored.IG DATA Disabled L Input lines are written to an open data file.a= OVERFLOW Disabled L Allows signed numeric operations * that would normally cause under- or overflow errors.l 2 .DEC#DEC2 DECT a0 Decrement the value of a numeric symbol by one. d Format example: d .DEC IE i2 .DELAY#DELAY2 DELAYr s@ Delay the execution of an indirect command file for a specifiedH period of time. The argument is a decimal number of time units followedF by the character H, M, S, or T (for hours, minutes, seconds, or ticks respectively).O F Format example:  .DELAY 10S ! Delay 10 seconds  2 .ERASE#ERASE2 ERASEu u .ERASE GLOBAL o f2 Deletes all global symbols from the symbol table. t .ERASE LOCAL  i7 Deletes all local symbols defined in the current block from the symbol table.r s .ERASE SYMBOL global-name d> Erases the single symbol 'global-name' from the global symbol table.c l2 .GOTOf#GOTOn2 GOTO d Branches to a label.M , Format example: u .GOTO ERRORr .EXIT 1s& .ERROR: ; Warning, error encountered. E2 .GOSUB#GOSUB2 GOSUB H Saves the location of the next Indirect command and branches to a labelA identifying a subroutine. Upon execution of a .RETURN command, tG control returns to the next command line following the .GOSUB command.eG Any parameters to the right of the label and to the left of a comment -J are transferred to the local symbol COMMAN. The value of COMMAN can then , be parsed to obtain formal call parameters.  Format examples:I s .GOSUB DCBW4 .GOSUB BLDTBL DB,2,176450,210 !Build device table J For t9Qhe second example, the following command line will separate the call parameters: b- .PARSE COMMAN "," DEVICE COUNT CSRADR VECADRt c2 .IFr#IFs2 IF eJ .IF - Determines whether or not a symbol satisfies A one of several possible conditions.h oH .IFACT/.IFNACT - Determines whether or not a task is active. K .IFDF/.IFNDF - Determines whether or not a symbol is defined., 7J .IFINS/.IFNINS - Determines whether or not a task is installed+ in the system.r J .IFLOA/.IFNLOA - Determines whether or not a device driver is  loaded.  I .IFT/.IFF - Determines whether a logical symbol is true  or false.e aJ .IFENABLED/.IFDISABLED - Determines whether an Indirect operating mode; is enabled or disabled, or whether an environmentalDB condition is met. Legal options are: * MCR, TRACE, DELETE, CONTROL-Z, GLOBAL,+ SUBSTITUTION, LOWERCASE, ESCAPE, QUIET,h. TIMEOUT, FMS, FULL-DUPLEX, DECIMAL, LOCAL,2 ESCAPE-SEQ, TRUNCATE, POTASK, DISPLAY, ATTACH, DETACH, OVERFLOW Examples: ' .IF ADDRES = "14 GARBLE ROAD" .GOTO 10r .IFNACT PIP pip /li .IFDF DLG ; Long dialog+ .IFNINS PIP ins $pip/inc=20000/task=...pipr .IFNLOA MM: loa mm: .IFT START .GOTO STARTw .IFDISABLED QUIET PRI *.LST2 .INC#INC2 INC  c0 Increment the value of a numeric symbol by one. A Format example: , .INC I 2 .LABEL:N O#LABEL:E2 LABEL: h@ Assigns a name to a line in the command file so that the line ! can be referenced. For example: ) .GOTO CLNUP ! Jump to clean-up routineA .  . ( .CLNUP: ! Beginning of clean-up code H Labels that are placed alone on command lines are called Direct Access.L Indirect remembers the exact location of these labels, and they can be used9 to decrease search time for .GOTO and .GOSUB directives.y l 2 .ONERR#O=QNERR2 ONERR @ Defines a label to branch to upon detecting an error condition.G The scope of the label is limited to the current BEGIN-END block or to ; the currently open command file, whichever is appropriate.A  Format example: 5 .ONERR ERRSRV ! Define the label for a .GOTO ERRSRVe# ! ...operation in case of errori tK Once an error condition has occurred, another .ONERR label must be definedn to re-enable error processing.e r2 .OPENd#OPEN 2 .OPENA#OPEN2 .OPENR#OPENE2 OPENAR#OPEN2 OPENRa#OPENt2 OPEN ! .OPEN [#channel_number] filename e6 Creates an output file on the indicated channel. c" .OPENA [#channel_number] filename iE If the indicated file exists, opens it for an append operation.VJ If the file does not exist, a new file is created in the same manner as for .OPEN.r n" .OPENR [#channel_number] filename eI Opens the indicated file for a read operation by means of the .READ command.  Format examples:P R .OPEN DATA.DAT .OPENR #3 DB4:DATALOG.LST cM .OPEN, .OPENA, and .OPENR return the FCS-11 status code for the operation inn the special symbol .b 2 .PARSE#PARSE2 PARSEi? Strings can be parsed into substrings with the .PARSE command.f! The command line is in the form:e : .PARSE ...  #= The string is decomposed into substrings as specified by therG control string. The substrings are stored in the specified variables.m= The first character of the control string delimits the first.C substring, the second character of the control string delimits theiG second substring, and so on. The last character of the control stringS? is repeated if the number of destination variables exceeds theT length of the control string. P If there are more variables specified than substrings, the additional variablesH are set to be null strings. If there are fewer variables than parsableJ substrings, the last variable contains thAQe unparsed fragment of .G The symbol contains the actual number of substrings processedh& (including explicit null substrings). s1 For an example, type HELP INDIRECT PARSE EXAMPLEl 3 EXAMPLEi e+ An example of using the .PARSE command is:  e' .PARSE COMMAN " ," FILE A1 A2 A3 A4 A5 F Given that COMMAN contains "TESTFILE IND,MCR,,LOA", the results would be:  FILE= TESTFILEl A1= IND A2= MCR A3= Nullv A4= LOA A5= Nulle s would contain a 5. a> Note that the explicit null substring is counted in . n h2 .PAUSE#PAUSE2 PAUSEg rG Stop Indirect from processing to allow user action. Indirect displaysp> the command line you must enter to resume Indirect operation. g Format: o .PAUSE 2 .READA#READM2 READ E> Files can be opened and read by using the following commands: ,5 .OPENR [#file] Open a file for reading.A IB .READ [#file] Read next record into specified string variable.a N- After a .READ, true if end-of-file  encountered, false if not. U2 Contains the FCS-11 error code if an) error ocurred on the .READ operation.e m d6 For more information, type HELP INDIRECT READ DETAILS0 For an example, type HELP INDIRECT READ EXAMPLE 3 DETAILSb pDTo read from a data file, the file must first be opened successfullyCusing the .OPENR command. Records can then be read using the .READ Fcommand until either is set to true or returns an errorCcode. When processing is complete, the file should be closed usingUa .CLOSE command.t sHThe .OPENR command has the same format as the .OPEN and .OPENA commands,Eand also sets the special variables , , and .  m<The .READ command is similar in format to the .DATA command,Eexcept that, instead of having as its argument the text to be written Dout to a file, the argument is a string variable. The entire record>is written into the string variable. If an error oEQccurs while Breading a file, the variable is unchanged from its previous state. ;The variable is set by the .READ command. This meanst:specifically that its state is unknown following an .OPENRAcommand. If an end-of-file has occurred, both and n$are set to indicate the end-of-file. n 3 EXAMPLEt ,;The following indirect command file routine lists a file onu the terminal:e g .OPENR FILEn .IF NE 1 .GOTO ERRORs i .LOOP: .READ Ai .IFT .GOTO DONEo .IF NE 1 .GOTO ERROR  ; 'A' .GOTO LOOP m .DONE: .CLOSE . 2 .RETURNE#RETURNb2 RETURN t= Effects an exit from a subroutine and returns to the commanduE line immediately following the corresponding .GOSUB subroutine call.o < Format: E .RETURN 2 .STOPt#STOPn2 STOP ? Immediately stop command file execution, optionally specifyingi' the exit status for the Indirect task.E FJ The .STOP command is synonymous with the logical end-of-file command (/). O Format example: > .STOP 1 R2 .SET#SET2 SET " .SETN variable numeric-expression .SETD variableE .SETO variables @ Define or redefine a numeric symbol and assign it a specific< numeric value. The .SETO and .SETD directives change theF default radix of the variable to be octal or decimal respectively. ! .SETS variable string-expressions iA Defines or redefines a string symbol and assigns the symbol am* specific ASCII-character string value.  .SETT variable .SETF variable" .SETL variable logical-expression ? Define or redefine a logical symbol and assign the symbol ar true or false value. e Examples: s .SETN NUM COUNT*2  .SETS ADDRES "14 GARBLE ROAD" .SETT MALEE .SETL FLAG FLAG!NEWERR2 .TESTl#TEST 2 TESTD The .TEST command is used to determine the symbol type and return aE type code in . If the symbol is a string, the command testss1 the length of the string or locates a substring.  u Format examples:a .IQTEST ADDRESl6 .IF GT 20. ; Length of response too long eE .TEST ADDRES "STREET" ! Look for the string "STREET" in the stringu ! ...contained in ADDRESS.C .IF = 0 .GOTO NOTFND ! = the character positionA# ! where "STREET" begins.E E If the variable being tested is a string, then the following symbolst5 are set to reflect characteristics about the string:o n% , , , l tM If the variable being tested is numeric and octal, then the following symbol2$ is set to reflect the symbol radix:   " See also HELP INDIRECT TESTDEVICE TESTPARTITION TESTFILEc 2 .TESTDEVICER #TESTDEVICET 2 TESTDEVICE- Allows a command file to acquire informationD about any device in the system. The returned data, including error ; indication, is found as a string in . For example:c h .TESTDEVICE MP: h@ This command obtains information about the indicated device andH returns a string in the string symbol . The various fields canG be isolated with the .PARSE or .TEST substring directives. The stringD is in the following format: N- DB3:,140210,4405,31276,1000,atr,atr,...,atr,  T where:A- DB3: is the translated device name for "MP:"a t= The next four parameters are the four device-characteristics words in octal notations n= "atr" are various device attributes from the following list:o n3 NSD "No such device" is configured in this system! LOD The device driver is loadedb% UNL The device driver is not loadedb ONL The device is on-line  OFL The device is off-line5 MTD The device is a mountable volume and is mounted23 NMT The device is not mountable or is not mountedD1 FOR The device is mountable and mounted foreignT8 NFO The device is not mountable or not mounted foreign# PUB The device is a public device"' NPU The device is not a public deviceh, ATT The device is attached to another task5 ATU The device is attached to this copy of Indirect NAT The MQdevice is not attached1 ALO The device is allocated to another terminalF. ALU The device is allocated to this terminal! NAL The device is not allocated   See also HELP INDIRECT TEST TESTPARTITION TESTFILEi2 .TESTPARTITION#TESTPARTITION2 TESTPARTITIONi7 Allows a command procedure to obtain information aboutiD the current or any other partition in the system. It can be used toH verify that a partition is of sufficient size before an INSTALL commandH is issued or that it is present before special systems are loaded. The  syntax of the directive is: F .TESTPARTITION partition-name tJ where "partition-name" is any one- to six-character legal partition name.F If the character "*" is found, then it is assumed the reference is toG the same partition in which this version of Indirect is executing. Theu returned data is in the form: tA partition-name,base in 32-word units,size in 32-word units,type,f f) If the partition is not found, the error  u ,,,NSP, / (No such partition) is returned. For example:  s .TESTPARTITION GENe ;'' A might show: - ;GEN,1500,2303,SYS, oJ The partition type is SYS for system-controlled, USR for user-controlled,! or NSP for an unknown partition.t r r See also HELP INDIRECT TEST TESTDEVICE TESTFILEd 2 .TESTFILEu #TESTFILE 2 TESTFILED Determines if a specific file exists or the translation of assigned- devices. The format of the command line is:n f .TESTFILE filespec ,D The output of the command is contained in the and J special symbols. returns the fully qualified file specificationF and returns the FCS status code from the look-up. (For more@ information on these special symbols, type HELP INDIRECT FILE.) R C If no file name is included in the file specification, only deviceI; translation is performed. If a file name is included, theoJ specified file is searched for and the fully qualified file specification returned in . f;QQ For several examples, type HELP INDIRECT TESTFILE EXAMPLESi s See also HELP INDIRECT TEST TESTPARTITION TESTDEVICEn 3 EXAMPLES <An example of using the .TESTFILE command for logical device translation:  .TESTFILE TI: p Returns: = 1. = TT10:.DAT;0n d?An example of using the .TESTFILE command for file information:r . .TESTFILE MP:IND.MAPl d!If the file exists: = 1. $ = DR1:[101,300]IND.MAP;6 aIf not: = 230..$ = DR1:[101,300]IND.MAP;0 D2 FILE IEAfter a .TESTFILE, .OPEN, .OPENA, .OPENR, or .DATA operation, the twoS3special symbols and are returned.S L= is a string symbol that contains the fully qualifiedfile specification.R 6 is a decimal numeric symbol that contains the<status code resulting from the previous operation. The codewill be one of the following:s  1. Operation was successful.: 1Inegative word Operation failed; code is an operating-system error code.I MEpostitive word Operation failed; code is a file-system error code.A but negative lower byec ;For example, the error code -1. means "Insufficient dynamic ;storage", while 230. (-26. as a byte) means "No such file."i aAFor a complete listing of all error codes, see the IAS/RSX-11 I/OOperations Manual. r t p2 .WAITp#WAIT.2 WAITH Wait for a specified task to finish executing or get exit status from aD previously completed task that was started with the .XQT directive. o Format examples:  d .WAIT PAYROLa. .WAIT PIP ! Wait for the copy of PIP running% ! ...on this terminal to completee2 .XQT#XQT2 XQT G Initiate a task, pass a command line to it, and then continue indirectu command file processing.e l Format example: o .XQT MAC TEST,TEST=TEST I In this case, use the .WAIT MAC command line to verify that the MAC taskf has completed and exited.2 ACCOUNI is a string symbol that contains certain accounting informUQation K from the user's RSX-11M-PLUS accounting block. On RSX-11M or if accountingrL is not running on M-PLUS, this symbol returns a series of commas with null : entries. The string returned is in the following format: G User_name,Session_id,Account_number,CPU,DIR,QIO,TAS,Active_tasks, QK User_name The first 14. characters of the user name as it appears r= in the system account file followed by the first initial "," NAME SID ACNT CPU DIR QIO TAS ACT JUNKA uJ Note that since double precision arithmetic is not available in Indirect,G these count values cannot be converted to numeric form and manipulatedd in arithemetic expressions. 2 ALPHAN sI is a logical symbol TRUE if last response to a .ASKS query was nD an alphanumeric string; else FALSE. is also set by a .TEST command.t 2 ALTMOD D is a logical symbol set TRUE if last question was answered' with an ALTmode or ESCape; else FALSE.U R2 BASLIN JF is a logical symbol set TRUE if the current operating systemC is a baseline configuration. This option is used by DIGITAL system D generation procedures to determine what resources are available for the SYSGEN process.2 CLIE E is a string symbol set to "MCR", "DCL", or another 1- through SH 6-character CLI name, depending on the current command line interpreter for the terminal. e2 CONFIG tH is a string symbol that contains tYQhe build-time parameters and4 values for the current running version of Indirect. u2 DATE tH is a string symbol set to the current date. The date is in the  format dd-mmm-yy. c2 DEFAUL eM is a logical symbol set TRUE if the answer to the last question was> defaulted; else FALSE.o C2 EOFL oK is a logical symbol set to if the last .READ command resultednJ in reading past the end of the file. If you type a CTRL/Z in response toG a .ASKx command and Control-Z mode is .ENABLEd, then is also setu to .  s Format example:  .READ #3 nxtlin .IFT .GOTO ENDt 2 ERRCTL aD is a numeric symbol that controls Indirect processing uponC encountering an error. It is treated as an 8-bit mask with bits 0aE through 7 set to indicate that the user's .ONERR target routine willlH process that class of error. If the bit is clear, Indirect exits after printing the error information. F The eighth bit (the sign bit or 200 octal) is used to control whetherD Indirect will print any indication of an error. If the bit is set,# no error information is printed. R LE The initial default value for is 1, which implies that onlypM class 1 errors can be handled with an .ONERR address and that error messagesu will be printed.e aJ You are cautioned about indiscriminate use of this mask because debuggingF a command file becomes very difficult. Refer to HELP INDIRECT ERRORS> for a list of error messages and their assigned class values. lE If you attempt to trap errors other than default class 1, note that iH processing cannot continue in most cases. The error service routine isL limited to a fatal error message and .EXIT. The internal state of Indirect+ is unknown in all but class 1 error cases.e  l2 ERRNUM eH After processing an error, Indirect places in the error numberJ associated with the error. This value can be used for error-type-specificE processing in an .ONERR routine. See HELP I]QNDIRECT ERRORS for a list. of error messages and their assigned numbers. l2 SEVERE#ERROR 2 SUCCES#ERROR2 WARNIN#ERROR2 ERRORhGThe five symbols below are defined as a convenience for determining the +exit status of a command. Their values are:n l = 0r = 1 = 2e = 4s = 17 eK Note that a user or program can encode more than just the low-order 3 bitseH of the exit status. If this is the case, a comparison in the following form will not always succeed: % .IF = .GOTO CONTINu rJ In this case, the appropriate bits must be masked in order to isolate theI reserved success/fail status field of the exit status. A general form ist a' .IF = &7 .GOTO CONTIN A2 ERRSEV the error severityH mask associated with the error. This bit mask corresponds with the bits@ of the mask used to control Indirect error processing. f2 ERSEEN aG is a logical symbol that takes the value if any of thec following conditions are true:  k8 1. < 0 if a negative error code was returned l< 2. (&7) .GT. 1. if an exit status value worse than was returned R 3. is TRUEo s 4. is non-zero 2 5. If you have specifically used the command line h .SETT a c eG If you use the command line .SETF , the following side effectsr are noted:  1. is set to 0 2. is set to 0 3. is set to  4. is set to 0 r2 ESCAPE D is a logical symbol set TRUE if last question was answered' with an ESCape or ALTmode; else FALSE.  s2 EXSTAT is a numeric symbol that contains the exit status value as set2 by the last exiting task or by the .EXIT command. i warning = 0 =  success = 1 =  error = 2 = N severe error = 4 =  no status = aQ17 = i e See also . 2 EXSTRIA is a string symbol used to return string results from aE= more deeply nested command file to the calling command file.a= To allow controlled return of values from a nested file, theTE symbol can be set with a string value. In a fashion similaruF to , the string value is propagated back to the CALLING file. Examples: $ ! @deeperfile param1 param2 param3 ! .sets result   S OR> n ! .gosub maktab= ! .sets switch E R* For an extended example, please refer to: u HELP INDIRECT ADVANCEDl fI Note that is set to null when Indirect waits for the completion of a task.l r2 FALSEv eK is a logical literal symbol used in comparisons with other logicalI1 symbols to determine if they have a false value.e 2 FILERR cE After a .TESTFILE, .OPENx, or .READ statement, contains themE FCS-11 or I/O driver status code resulting from the operation. TheseaA codes are documented in the RSX-11M/M-PLUS I/O Drivers Referencee Manual. uC For an extended example of code translation to messge strings, seee HELP INDIRECT ADVANCED. l2 FILER2 E contains the FMS error code that was returned from the lastc .FORM directive issued.  2 FILATRB The special symbol returns the 7 words of file-attributeD information contained in the FCS-11 File Descriptor Block. The dataC is from the FDB used in the last preceding .OPENx operation. ReferdM to the IAS/RSX-11 I/O Operations Manual for a description of file attributesF and the values of each field. s2 FILSPCF The string symbol contains the fully qualified specificationE for the file referred to with the last .OPENx or .TESTFILE directiveMC operation, or in the last specification for a nested command file.r t Examples: i= .SETS CMDSPC ! Save the name of "this" command filet B .TESTFILE TI:8 .SETS TERMIN ! Get the name of "this" terminaleQ 2 FORATT hH is a numeric symbol that contains the octal value of the file K attributes used in opening all data files. This symbol can be reset with tD the .SETN directive to allow foreign-attribute files to be written. e2 FMASKE oF is a string symbol that contains the octal value of the threeH system feature mask words, separated by commas to allow easy parsing by the .PARSE directive. l2 IAS#RSX11DE2 LIBUIC TD is a string symbol set to the UIC containing nonprivileged utility tasks; format is [g,m].2 LOCALhC is a logical symbol set to TRUE if the terminal from whichs@ Indirect is executing ("TI:") is flagged by the terminal driver as a local terminal.  b2 LOGDEVH is a string symbol equal to the device name and unit number ofM the user's login account. This value is available only on systems supporting D the multiuser SYSGEN option; otherwise, is set with "SY0". <2 LOGUICL is assigned the login UIC for the current user. In systems withoutD multiuser protection, is assigned the current default UIC. e2 MAPPED hH is a logical symbol set to TRUE if the current system supports memory management; else FALSE.V <2 MEMSIZ sD is a numeric symbol assigned the size of memory in K words (1K = 1024.). 2 NETUICI is a string symbol that contains the value of the UIC/DIRECTORYsJ string used on the system volume to hold the DECnet tasks. This symbol isH used with the and symbols to separate and manage the  components of your system. 2 NETNODE is a string symbol that contains the name of this system inc a DECnet network. s2 NOSTAT aD is a numeric literal symbol that is used in comparisons toD determine if a value returned from a task was an actual valid exit  status. a2 NUMBER lI is a logical symbol used to verify that the last string enteredvH in response to an .ASKS directive or tested in iQthe last .TEST directiveH contains only numeric characters. An empty string also sets to . 2 NXTSYM aI is a unique string/operation symbol used in the utility library.I procedure INDDMP to display the current contents of the local and globalp symbol tables.r e2 OCTALuE is a logical symbol set to TRUE if the numeric answer to theRA last .ASKN command or the value of the symbol tested in the lastrB .TEST command is octal. If the .TEST command referenced a stringF and only the numeric characters 0 through 7 were found in the string, is set to TRUE.2 PRIVIL@ is a logical symbol set to TRUE if the current user is privileged. i2 RAD50pB is a logical symbol set to TRUE if the last string testedE or typed in response to a .ASK question contained only characters int( the Radix-50 character set; else FALSE.2 RSX11D nI and are logical symbols set to TRUE if the current system 2 is RSX-11D or IAS; otherwise, it is set to FALSE. 2 SPACEh cH is a numeric symbol set to the number of free bytes left in theI symbol table. This value does not include symbol table space that couldi? be gained by a later automatic extension of the Indirect task.  2 STRLEN eG is a numeric symbol set by the .TEST command to the length iniG bytes of the tested string. Upon initial entry into Indirect, D contains the count of valid parameters passed in the command line.  2 SYDISK wG is a string symbol set to the system disk mnemonic. There iss* no associated unit number (see ). m2 SYMTYPA As a result of a .TEST command, contains a numeric codea? indicating the type of symbol tested. The values returned are:  L Logical = 0 Numeric = 2 String = 4 t2 SYSDEV aM is a string symbol that contains the physical device specification r of the system boot device.  n2 SYSIDd rE is a string symbol that contains the 1- through 6mQ-character s# operating system baselevel number.n n2 SYSTEM sC is a numeric symbol set with the value 1 if the system isu RSX-11M or 6 for RSX-11M-PLUS.o i2 SYSUIC cE is a string symbol set to the current system UIC; format is [g,m].c =2 SYUNIT =J is a numeric symbol set to the unit number of the system device. See . i2 TIME aG iwhereu= dd: is a two-character ASCII device name followed by a coloni o? pname is the name of the partition into which the driver is tol9 be loaded. It overrides the partition specified at taskn build time. o> psize is the minimum size (octal words) of the partition into7 which the driver is to be loaded. If the partition is 9 system controlled, the created subpartition will be this*7 size. Psize is rounded up to the next largest unit ofs) 100 (octal) and must be less than 77741.I : /HIGH if specified, the driver is loaded into the highest4 sufficiently large, available area of the partition8 specified for the driver. If not specified, the driver7 is loaded into the lowest such area. If the partitioni6 is not system controlled, this keyword has no effect.to7 which the driver is to be loaded. If the partition is 9 system controlled, the created subpartition will be this*7@ Q 3HzjLvLDYM%_Mp:"_Ma%kQr(oQQQ( R}RMSZ:t^~T`l~W@?v...& Files-11 (ANSI) Magnetic Tape Format:A MOUnt dd<(>n1<,n2...)>:<(>lab1<,lab2...)>...c Network Format:" MOUnt dev:...= For information on the options of the various formats, type:2 HELP MOUNT FILES11 ! For help on Files-11 Format1 HELP MOUNT MAGTAPE ! For help on Magtape Format 1 HELP MOUNT NETWORK ! For help on Network Format 4 HELP MOUNT KEYWORDS ! For list of keywords for all ! formats.M 2 FILES11oA The general format of the command to mount a Files-11 device is:e0 MOUnt dev:...C where dev: is the device-unit on which the volume is to be mounted< (must be specified)f8 volume-label is the label on the volume (written by the9 INITVOLUME command), 12 characters or less. Default isN 12 nulls (no label).Keywords available:  /ACP=taskname /EXT=block-countF! /FPRO=[system,owner,group,world]  /LRU=FCB-countf /OVR /UIC=[uic]s /UNLI /VI /WIN=retrieval-pointer-countmD Type HELP MOUNT KEYWORDS for help on the above keywords. Type HELP& MOUNT EXAMPLES for examples of usage. 2 MAGTAPEoD The general form of the command to mount a Files-11 (ANSI) Magnetic Tape is:tA MOUnt dd<(>n1<,n2...)>:<(>lab1<,lab2...)>...r1 where dd is a 2-character device name (MT or MM)? n is a unit number; n1 is the first unit, n2 the second, etc.P= lab is a tape label; lab1 is the label of the first volume,=) lab2 is the second volume's label, etc.e Keywords available: /ACP=taskname /BYPASS /DENS=tape-densityp! /FPRO=[system,owner,group,wor-Qld]s /NOLAB. /OVRT /OVRFSIDg /OVREXP /UIC=[uic]a /VID Type HELP MOUNT KEYWORDS for help on the above keywords. Type HELP& MOUNT EXAMPLES for examples of usage. 2 NETWORKe@ The general format of the command to mount a network device is:" MOUnt dev:...F Where dev is the device-unit to be made available for the user in the network. Keywords available: /ACP=tasknameD Type HELP MOUNT KEYWORDS for help on the above keywords. Type HELP& MOUNT EXAMPLES for examples of usage. 2 KEYWORDSH In the following list of keywords, each keyword is preceded by a three-D character code indicating the forms of the Mount command that it isE legal on. "F" indicates Files-11, "T" indicates magtape, and "N" isi used for network keywords.d2 (FT) /ACP=taskname Specifies the ACP to be used.- (T) /BYPASS Bypasses tape label processor.= (T) /DENS=tape-density Specifies tape density: 800 or 1600.Y9 (F) /EXT=block-count Specifies file extension increment.A= (FT) /FPRO=[system,owner,group,world] Specifies default filet protection for volume.= (F) /LRU=FCB-count Specifies no. of FCBs to keep for speed. / (T) /NOLAB The tape volume set has no label.i' (FT) /OVR Override label processing.d6 (T) /OVRFSID Override existing file set identifiers.( (T) /OVREXP Override expiration date.6 (FT) /UIC=[uic] Specify UIC volume is mounted under.% (F) /UNL Unlock volume index file.02 (FT) /VI Display volume information on the TTY.@ (F) /WIN=retrieval-pointer-count Specify number of mapping ptrs% to be allocated for file windows.l3 For more detailed help on a specific keyword, typep! HELP MOUNT KEYWORDS keyword-namev3 ACPe" The format of the ACP keyword is: (FT) /ACP=tasknameE Where taskname is the name of the Ancillary Control Processor to usee8 with the volume. The default depends upon device type: Files-11 except DECtape: F11ACP DECtape: DTAACP Magtape: MTAACP3 BYPASS% The format of the BYPASS keyword is:e (T) /BY1QPASS; Tape label processing on the volumes mounted is bypassed.i3 DENS# The format of the DENS keyword is:s (T) /DENS=densityH Where density is either 800 or 1600. The tape density is set to eitherC 800 BPI NRZI, or 1600 BPI Phase Encoded. Default is 800 BPI NRZI.A3 EXTy" The format of the EXT keyword is: (F) /EXT=block-countpH When a file exhausts its currently allocated space on the volume, it isG extended by the specified number of blocks. Default is taken from the volume's home block.e3 FPRO# The format of the FPRO keyword is:y& (FT) /FPRO=[system,owner,group,world]H Default protection for files is set as specified. The default value ofG the FPRO keyword is taken from the volume's home block. Each subfielddF in the keyword may be one to four letters, taken from {R,W,E,D}. TheG presence of a code character allows that access for the group of usersaB specified by the position of the characters in the keyword value.3 LRU." The format of the LRU keyword is: (F) /LRU=FCB-countOF The number of directory File Control Blocks kept in memory by the ACPH is set to the proper value. More = faster but more memory. Default is /LRU=3.3 NOLAB $ The format of the NOLAB keyword is: (T) /NOLABsG If this keyword is present, the tape volume set does not have a label. 3 OVRp/ The format of the (privileged) OVR keyword is:r (FT) /OVRE If this keyword is present, label processing is suppressed so that a.B volume can be mounted without specifying a label. The label of a@ volume can be printed by mounting it with the keywords /OVR/VI. 3 OVRFSIDi& The format of the OVRFSID keyword is: (T) /OVRFSID.> If this keyword is present, existing file set identifiers are overridden.3 OVREXP% The format of the OVREXP keyword is:o (T) /OVREXPA If this keyword is present, the expiration date of the volume is overridden.3 UIC" The format of the UIC keyword is: (FT) /UIC=[group,member]a3 UNLl" The format of the UNL keyword is: 5Q (F) /UNLhF If this keyword is specified, the volume's index file is unlocked and9 may be written. Otherwise, the index file is read-only.3 VI! The format of the VI keyword is:s (FT) /VI G If this keyword is specified, the volume information for the volume is ' displayed when the mount is completed.k3 WINi" The format of the WIN keyword is:! (F) /WIN=retrieval-pointer-countTF The specified number of mapping pointers is allocated for file accessD windows. Default: if I/O optimizations are in system, as large as@ necessary if space is available. If I/O optimizations were notC selected during SYSGEN, default is taken from volume's home block.t 2 EXAMPLESE To mount a pack that has a null label on an RK05 drive, selecting nom special options:e MOU DK1:yH To mount a magtape volume set at 1600 BPI, overriding expiration dates:A MOU MM(0,1,3):(PAYROLLVOL1,PAYROLLVOL2,PAYROLLVOL3,PAYROLLVOL4,-p* PAYROLLVOL5,PAYROLLVOL6)/DENS=1600/OVREXPE To mount an RP06 for use as the main system device (because of heavyc. use we will keep high window and LRU counts): MOU DB0:/OVR/VI/LRU=10/WIN=20N, default is taken from volume's home block.t 2 EXAMPLESE To mount a pack that has a null label on an RK05 drive, selecting nom special options:e MOU DK1:yH To mount a magtape volume set at 1600 BPI, overriding expiration dates:A MOU MM(0,1,3):(PAYROLLVOL1,PAYROLLVOL2,PAYROLLVOL3,PAYROLLVOL4,-p* PAYROLLVOL5,PAYROLLVOL6)/DENS=1600/OVREXPE To mount an RP06 for use as the@ Q 3HjLvLDYM%_Mp:"_Ma%kQr(oQQQ( R}RMS(SZ:t^~T`l~W@?v *CR or @CR - Asterisk or at-sign followed by carriage return:: open the location pointed to by the contents of the8 current location. If an optional value is given,7 store it and then open the location addressed bye the optional value.onvert@Q 3P VjLvLDYM%_Mp:"_Ma%kQr(oQQQ( R}RMS(SZ:t^E`8~T`l~W@?v PRI /AF:0:0:TOMORROW=NEW.DAY ! print the file after midnight PRI /AF:::TOMORROW=NEW.DAY/2 COPIES e PRI /CO:n=files PRI files/CO:no oD The /CO switch specifies the number of copies of a job or file thatD are to be printed. The switch may be used as either a job switch or a file switch.  lG As a job switch, /CO specifies how many copies of the complete job arePE to be printed. In the first example below, two copies of the job are1D printed. Each one consists of one copy of FILE1.TXT followed by one copy of FILE2.TXT.p tE As a file switch, /CO specifies how many copies of the file on whichPC the switch was used, and of all succeeding files, will be printed.uC Only one copy of the job is printed, but it contains two copies ofm/ FILE1.TXT followed by two copies of FILE2.TXT.t Examples:  PRI CO:2=FILE1.TXT,FILE2.TXTc e PRI FILE1.TXT/CO:2,FILE2.TXT 2 DELETE n PRI files/[NO]DEb wK The /DE switch specifies that the specified file, and all succeding files,18 are to be deleted after printing. The default is /NODE. i Examples: i8 PRI FILE1.TXT/DE,FILE2.TXT,FILE3.TXT !Delete all filesA PRI FILE1.TXT,FILE2.TXT/DE,FILE3.TXT/NODE !Delete FILE2.TXT onlyyJ PRI FILE1.TXT,FILE2.TXT/NODE,FILE3.TXT/DE !Delete FILE1.TXT and FILE3.TXT2 FLAG e PRI /[NO]FL=files EK The /FL switch specifies whether or not files in a job should be preceededXD by file flag pages. The file flag pages separate fiEQles and show the? file name and extenion in block letters. The default is /NOFL.t2 FORM i PRI /FO:n=files K The /FO switch specifies that your job is to be printed on a special paperlK form. Your installation may have different forms for different tasks, suchPL as normal computer paper, narrow white paper for letters, check forms, etc. " The default form number is /FO:0. iK See your system manager to find out what other forms are available at youra installationl2 HOLD s PRI /[NO]HO=files J The /HO switch specifies that your job is to be held (made ineligible forD printing). You must then release the job to allow it to be printed. t See HELP QUE /REL.c 2 JOBPAGES r PRI /[NO]JO=files yL The /JO switch specifies whether or not your job should be preceeded by job flag pages. The default is /JO. fL If you specify /NOJO, your job will still start on a new page, but job flagO pages will not be printed. You might do this if you were printing on a specials form, particularly a short one.2 LENGTH f PRI /LE:n=files tE /LE specifies how many lines should be printed on a physical printeroL page. If, within 'n' lines, a formfeed has not been printed, the despooler J will insert one. In this way, you can limit the amount of text on a page. N This is particularly useful if you are going to place the output in a listingM binder. By using the /LE switch, you can prevent the despooler from printing O over a perforation, which will be difficult to read when bound. For instance, - /LE:60 works well on a 66-line line printer.s iM The default, /LE:0, specifies that no implied form feeds should be inserted. 2 LOWERCASEf f PRINT /[NO]LO=files N The /LO switch specifies whether or not your job must be printed on a printer with lower case characters. aM If you specify /LO, your job will only be printed on a printer that has been - initialized as having lower case characters.r pO If you specify /NOLO, the default, your job may be printed on any priIQnter thatn matches other job criteria. K Notice that /LO does not affect a lower to upper translation. It is just ar- selection criteria used to select a printer. 2 PAGECOUNTO l PRI /PA:n=files cN The /PA switch allows you to specify a limit on the number of pages of outputN your job will produce. If the specified number of pages is exceeded, an error* message is output and the job is deleted. r5 The default is /PA:0, which specifies no page limit.u 2 PRIORITY y PRI /PRIO:n=files tK The /PRIO switch allows you to specify a priority for your print job. ThisaM priority has no effect on how quickly the job is printed once it is started,a7 but is simply used to determine position in the queue./ sL Privileged users may specify any priority between 1 and 250. Non-privileged4 users may only spcify priorities between 1 and 150. d: The default is /PRIO:50. /PRIO:0 is the same as /PRIO:50. 2 RESTARTu i PRI /[NO]RES=filesi nN The /RES switch specifies whether or not your job is to be restarted from the beginning if it is interrupted. rO If you specify /RES, if your job is stopped for some reason, and then started, - it will start over again from the beginning.p tP If you specify /NORES, the default, if your job is stopped for some reason, and7 then started, it will continue from where it left off.wn 1 and 150. d: The default is /PRIO:50. /PRIO:0 is the same as /PRIO:50. 2 RESTARTu i PRI /[NO]RES=filesi nN The /RES switch specifies whether or not your job@>Q 3OjLvLDYM%_Mp:"_Ma%kQr(oQQQ( R}RMS(SZ:S:>t^E`8~T`l~W@?vQUE [queue:][job]/cmd >QUE /EN:n/cmd K The QUE command allows you to control the system's queues, jobs in queues,M and the files that make up jobs in queues. The available commands are listed2 below. For additional help, see HELP QUE command.  AS DEA FU LI STA BA DEL HO MOD STO BR EN IN REL UNBA CR FI KIL SP UNSP2 ASSIGN >QUE processor:/AS:queue I The QUE /AS privileged command assigns a processor to a queue. In other ? words, it creates a path for jobs from a queue to a processor.> J More than one processor can be assigned to a queue and a processor can be! assigned to more than one queue.a2 BATCH  QUE processor:/BA iK The QUE /BA privileged command initializes a batch processor. This command.K does not assign the batch processor to any batch queues. This must be doneC with the QUE /AS command before any batch jobs can be run. Batch e. processing is supported on RSX-11M-PLUS only.2 BRIEFe#LISTh2 CREATE >QUE queue:/CR[:P]  >QUE queue:/CR:Bu oH The QUE /CR privileged command creates either a print or a batch queue.L Queues can have any name up to 6 Radix-50 characters, but a batch queue andF a print queue can not share the same name. The queues PRINT and BATCHC always exist. Batch processing is supported on RSX-11M-PLUS only. 2 DEASSIGN >QUE processor:/DEA:queue AG The QUE /DEA privileged command deassigns a processor from a queue. InoJ other words, it breaks the path from a queue to a processor. No more jobs0 can be given to that processor from that queue.2 DELETE >QUE [queue:]job/DEL[/FI:n] >QUE /EN:n/DEL[/FI:n] aH The QUE /DEL command deletes a job from a queue. If a queue name is not> specified, it defaults to PRINT. A job can also be deleted by& job entry number. See HELP QUE ENTRY. RI A nonprivileged user can only delete his own jobs. A privileged user canE delete any job. d@ If you do not want to delete the entire job, specify the /FI:n < switch. Only the specified file in the job will be QQdeleted. See HELP QUE FI.  m a >QUE queue:/DEL:QUE ? The QUE /DEL:QUE privileged command deletes the queue. A queue M must be empty before it can be deleted. If there are any jobs in the queue, uO the queue is marked for deletion and is deleted when it becomes empty. At this.. point no more jobs can be added to the queue.2 ENTRY  >QUE /EN:n/cmd  E; The /EN:n switch allows you to specify a particular job byiE its unique entry number rather than by its queue and job name. This A entry number is assigned automatically by the Queue Manager and  ranges from 1 to 999. lK By using the entry number, you can unambiguously refer to a particular jobeK in a queue. While two or more jobs in a queue can share the same job name, , no two jobs will share the same job number.2 FILE >QUE /cmd/FI:n  aC The /FI:n switch allows you to specify a command for a single file / in a job, rather than for the entire job. Thisu3 option only applies to the /DEL and /MOD commands.a J The number 'n' refers to the position of the file in the job. To find theI position of a file in a job, use the QUE /LI command, which will displayl+ numbers preceding each file specification.i t7 The /FI switch does not apply to jobs that are active.2 FULL#LISTl2 HOLD >QUE [queue:]job/HO >QUE /EN:n/HO FK The QUE /HO command causes a job to be held. A held job is one that is not G eligible for processing. You must later release the job before it can t be processed. See HELP QUE REL. TL A nonprivileged user can only hold his own jobs. A privileged user can hold any job.f2 INPUTj. >QUE processor:/IN[/QU:print:batch][/TE:ddn:] nG The QUE /IN privileged command spools a card reader. Decks of properlyaG formatted cards can then be placed into the card reader and spooled to/! either a print or a batch queue.O mI The /QU switch allows you to specify the default print and batch queues : for jobs read in from the reader. The defaults are PRINT J for $PRINT cards and BATCH for $SUBMIT cardUQs. No matter what the defaultsB are set to, they can be overridden on the $PRINT or $SUBMIT card. cL The /TE switch allows you to specify the console terminal that will receiveK any error messages about the card reader. Normally this will be CO:, whichoM is the default. However, if the card reader is at a remote site, this option/ can be used.s4 Batch processing is supported on RSX-11M-PLUS only.2 KILL >QUE processor:/KIL TM The QUE /KIL command allows you to kill (delete) the current job active on arK processor. This command is functionally equivalent to the QUE /DEL commandMM (see HELP QUE DEL) except that you do not have to know the name of the queuei and job.  yC A nonprivileged user can only kill the current job if it is his. Ac" privileged user can kill any job.2 LIST> >QUE [queue:][job]/BR[:op] >QUE /EN:n/BR[:op]> >QUE [queue:][job]/LI[:op] >QUE /EN:n/LI[:op]> >QUE [queue:][job]/FU[:op] >QUE /EN:n/FU[:op] M The QUE /LI (/BR, /FU) command displays information about about one or more nL queues and the jobs they contain. The /BR format shows the least amount of O information including only the queue name, its processor assignments, and the O names and entry numbers of the jobs in the queue. The /LI format adds to this UI display the names of the files that make up each of these jobs. The /FU j9 format adds to this display, the attributes of the job. e jO By default, all queues and all jobs are displayed. The display can be limited nF to a particular queue, to jobs with a particular UIC, to jobs with a K particular name, or a combinationof these, by specifying this information gM on the command line. The display can also be limited to one specific job by m specifying /EN. hM Optionally, you can limit the display to a type of queue by specifying :op. k6 The following values can be used. See HELP QUE LI op. s$ B DEV P3 DEVe >QUE [processor:]/LI:DEV[:op] dL The QUE /LI:DEV comYQmand displays information about one or more processors.  There is only one format. L By default, all processors are displayed. To limit the display to a single O processor, you should specify its name. To limit the display to processors of I a given type, you should specify :op. /LI:DEV:B displays only the batch uN processors. /LI:DEV:I displays only the input processors. /LI:DEV:P displays  only the print processors. 4 Batch processing is supported on RSX-11M-PLUS only.3 BATCHE >QUE [queue:][job]/BR:B >QUE [queue:][job]/LI:B >QUE [queue:][job]/FU:B nJ The :B option on /LI causes the queue display to be limited to the batch  queues.4 Batch processing is supported on RSX-11M-PLUS only.3 PRINT  >QUE [queue:][job]/BR:P >QUE [queue:][job]/LI:P >QUE [queue:][job]/FU:P lJ The :P option on /LI causes the queue display to be limited to the print  queues.2 MODIFY >QUE [queue:]job[/FI:n]/MOD/sw  >QUE /EN:n[/FI:n]/MOD/swp tO The QUE /MOD command allows you to modify the attributes of a job in a queue. /M If /FI is specified, the attributes of the nth file in the job are modified.l tJ A nonprivileged user can only modify his own jobs. A privileged user can  modify any job. RG More than one attribute can be modified in a single command line. The j= following attributes can be modified. See HELP QUE MOD attr.  l AF FO PA CO JO PRIN. DEL LE PRIO FL LO RE[ :3 AFTER ( >QUE [queue:]job/MOD/AF:hh:mm:dd-mmm-yy" >QUE /EN:n/MOD/AF:hh:mm:dd-mmm-yy aJ The /AF switch allows you to change the date and time after which a time  blocked job can be processed. lI If you have a time blocked job and you want to allow it to be processed D immediately, simply set the date to a time that has already passed.  See HELP PRINT AFTER.3 COPIES >QUE [queue:]job/MOD/CO:n >QUE /EN:n/MOD/CO:n r >QUE [queue:]job/FI:n/MOD/CO:nI >QUE /EN:n/FI:n/MOD/CO:n  [B The /CO switch allows you to change the number of copies you want printed of the print ]Qjob .  eM If you specify /FI, you will instead change the number of copies of the nth d file that are to print. I See HELP PRINT COPIES. 3 DELETE >QUE [queue:]job/FI:n/[NO]DEL >QUE /EN:n/FI:n/[NO]DEL tM The /DEL switch allows you to change the deletion flag of the nth file in a I job.U q See HELP PRINT DELETE. 3 FLAG >QUE [queue:]job/MOD/[NO]FL >QUE /EN:n/MOD/[NO]FL /L The /FL switch allows you to change whether or not files in your print job ) are to be separated by file flag pages.   See HELP PRINT FLAG.l3 FORM >QUE [queue:]job/MOD/FO:n >QUE /EN:n/MOD/FO:n tC The /FO switch allows you to change the form number on which your ] print job will print. : See HELP PRINT FORM.e3 JOBw >QUE [queue:]job/MOD/[NO]JO >QUE /EN:n/MOD/[NO]JO lK The /JO switch allows you to change whether or not your print job will be / preceded by job flag pages. / See HELP PRINT JOB.3 LENGTH >QUE [queue:]job/MOD/LE:n >QUE /EN:n/MOD/LE:n tM The /LE switch allows you to change the length of the logical page for your print job.  O See HELP PRINT LENGTH.3 LOWER/ >QUE [queue:]job/MOD/[NO]LO >QUE /EN:n/MOD/[NO]LO oO The /LO switch lets you change whether or not your print job requires a lower o$ case printer. See HELP PRINT LOWER. L It also lets you change whether or not your batch job will generate a log. J See HELP SUBMIT LOG. Batch processing is supported on RSX-11M-PLUS only.3 PAGE >QUE [queue:]job/MOD/PA:n >QUE /EN:n/MOD/PA:n lF The /PA switch allows you to change the page limit of your print job.  See HELP PRINT PAGE.G3 PRINTO$ >QUE queue:job/MOD/[NO]PRIN[:queue] >QUE /EN:n/MOD/[NO]PRIN[:queue] iO The /PRIN switch allows you to change whether or not your batch log file will eO print. Optionally you can specify a queue name in which the batch log will be j placed. aJ NOTE: Since this switch applies only to batch jobs, a queue name must be @ specified. Batch processing is supported on RSX-11M-PLUS only.  SeeaQ HELP SUBMIT PRINT.s 3 PRIORITY >QUE [queue:]job/MOD/PRIO:n >QUE /EN:n/MOD/PRIO:n O The /PRIO switch allows you to change the priority of your job. This priority :. only affects the job's position in the queue. w See HELP PRINT PRIORITY.g 3 RESTARTe >QUE [queue:]job/MOD/[NO]RESe >QUE /EN:n/MOD/[NO]RESh eF The /RES switch allows you to change the restart setting of your job. o0 See HELP PRINT RESTART and HELP SUBMIT RESTART. 2 RELEASEs >QUE [queue:]job/REL- >QUE /EN:n/REL SO The QUE /REL command releases a previously held job and makes it eligible for / processing. /K A nonprivileged user can only release his own jobs. A privileged user can o release any job.' o See HELP QUE HOLD.2 SPOOLH& >QUE proc:/SP[/FL:n][/FO:n][/EX][/SH] eI The QUE /SP privileged command spools an output device. Before an output H device can be spooled, a print queue with the same name must exist (seeL HELP QUE CR). When spooled, the processor is automatically assigned to this queue.T QM The /FL switch allows you to specify the number of copies of flag pages thato8 will be printed when specified ('n' may be 0, 1, or 2). jJ The /FO switch allows you to specify the number of the form loaded in the printer. See HELP PRINT FORM. :I The /EX switch specifies that the output device is not a physical deviceBM SYSGENed into your system. If you use this option, the device specific queue G does not need to exist and no automatic queue assignment will be done.s nN The /SH switch specifies that more than one task (possibly another despooler)M will attach the output device. Normally, the despooler task always keeps the2J output device attached. When /SH is specified, the despooler attaches theC device when it starts a print job and detaches it when it is done. 2 STARTo >QUE processor:/STA[:op][/AL] >QUE queue:/STA:QUE >QUE /STA:QMG u< The QUE /STA privileged command starts a stopped processor. xK The following options are available when starting a stopped processor. eQSeecO HELP START option. The default is for the procesor to start where it left off.u e BA FO NE PA RE TO pL The /AL switch states that you have physically aligned the paper to the top? of the form and clears the line number count in the processor.d t eO The QUE /STA:QUE privileged command starts up a stopped queue. When a queue isAN stopped, it will no longer give jobs to processors. Jobs, however, may still  be entered into the queue.t s eI The QUE /STA:QMG privileged command starts up the Queue Manager. This is % normally done during system startup.e 3 BACKSPACEf >QUE processor:/STA:BA:n J The BA:n option specifies that the processor should backup 'n' pages (ie.- reprint the last 'n' pages) before starting. 3 FORWARDe >QUE processor:/STA:FO:nT UI The FO:n option specifies that the processor should skip ahead 'n' pages  before starting.i 3 NEXTJOBp >QUE processor:/STA:NE  K The NE option specifies that the processor should skip the current job andmC start with the next one. The job that is currently active is held.t3 PAGE >QUE processor:/STA:PA:nr sM The PA:n option specifies on which page the processor should start printing. 3 RESTARTi >QUE processor:/STA:RE  eM The RE option specifies that the processor should start the current job overi again.i3 TOP  >QUE processor:/STA:TO  aN The TO option specifies that the processor should start the current file over, again. This is the same as specifying PA:0.2 STOP >QUE processor:/STO[:op]w >QUE queue:/STO:QUE >QUE /STO:QMG[:AB]  i4 The QUE /STO privileged command stops a processor.  eC The following options are available when stopping a processor. Seei6 HELP STOP option. The default is to stop immediately. i AB EOF EOJa h rL The QUE /STO:QUE privileged command stops a queue. When a queue is stopped,N it will no longer give jobs to processors, however, jobs may still be entered into the queue.  sE The QUE /STA:QMG privileged command stops the Queue Manager. This iiQs>G usually done during system shutdown. Normally, after this command, QMGmJ will wait until all the processors have finished their active jobs beforeJ stopping. By specifying AB, QMG will stop immediately and hold all active jobs.3 ABORT  >QUE processor:/STO:ABT UK The AB option specifies that the processor is to stop immediately and holdg. the active job. See QUE HOLD and QUE RELEASE.3 EOFe >QUE processor:/STO:EOF L The EOF option specifies that the processor is to stop after finishing with the current file.3 EOJh >QUE processor:/STO:EOJ cL The EOJ option specifies that the processor is to stop after finishing with the current job.n 2 UNBATCHf#UNSPOOL 2 UNSPOOLp >QUE proc:/UNBA >QUE proc:/UNSP .< The QUE /UNBA privileged command deletes a batch processor. s4 Batch processing is supported on RSX-11M-PLUS only.N The QUE /UNSP privileged command unspools a device and deletes the processor. 6 The processor exits when it finishes its current job. finishin@Q 3F jLvLDYM%_Mp:"_Ma%kQr(oQQQ( R}RMS(SZ:S:>t^E`8~T`l~W@?v The Run Task command has five general forms, depending on the> scheduling parameters and whether the task is installed. The  five forms are:# 1. RUN immediately (HELP RUN NOW)6 2. RUN at a time increment from now (HELP RUN LATER)< 3. RUN at a time increment from clock unit synchronization (HELP RUN CLOCK)7 4. RUN at an absolute time of day (HELP RUN ABSOLUTE)@ 5. Install, immediately run, and remove on exit (HELP mQINSTALL)2 NOWo RUN immediately$ RUN taskname[/RSI=magu][/UIC=[g,m]]; Where taskname is the name of an installed task to be run.sE The reschedule interval (RSI) specifies how oftern the task is to bem rerun. 1 R. For more information, type HELP RUN keyword. 2 LATERt! RUN at a time increment from nowN+ RUN taskname dtime [/RSI=magu][/UIC=[g,m]]aD Where dtime is the time at which the task will be initiated in timeB units from command issuance. The form of dtime is same as for the RSI keyword. - For more information, type HELP RUN keyword./2 CLOCK8 RUN at a time increment from clock unit synchronization1 RUN taskname sync [dtime][/RSI=magu][/UIC=[g,m]]t8 Where taskname is name of the installed task to be run.C The system determines the task start-time by waiting for the first D specified time unit to increment and then waiting for the specified; time to elapse. The synchronization parameter sync can be:s H - synchronize on next hour M - synchronize on next minute S - synchronize on next second T - synchronize on next tick- For more information, type HELP RUN keyword.n 2 ABSOLUTE RUN at an absolute time of day.* RUN taskname atime[/RSI=magu][/UIC=[g,m]]< Where taskname is the name of the installed task to be run.= atime is the absolute time-of-day when this task is to be 9 started. The parameter atime is in the format hh:mm:ss.s- For more information, type HELP RUN keyword. 2 INSTALLnE The specified task image file is installed, run and removed on exit.n9 The general format of the install-run-remove command is:o# RUN [dev:][$]filespec[/keyword(s)]B; where filespec is a form of ddn:[g,m]filename.type;version[6 where ddn: - optional device mnemonic and unit number (defaulted to SY0:)/ g,m - optional User File Directory (defaultedi to the current UIC)6 filename- the name of the task image to be installed, type - type of the file (defaulted to TSK)5 version - the version number of the file (defaulteqQde( to the most recent version, i.e. 0) or ddn:$filename.typ;versionv: where ddn: - optional device mnemonic (defaulted to LB0:) $ - indicates the system UIC- filename, type, and version - same as aboveiE Type HELP RUN INSTALL KEYWORDS for more information on the keywords.p 3 KEYWORDS# INSTALL, RUN and REMOVE Keywords: * /CKP=YES or NO - make task checkpointable> /CMD="command" - pass the specified command line to the task for processing ; /EST=YES or NO - specifies whether or not a task will waitn0 for spawned task to complete and for RUN to emit status7 /INC=n - number of words by which to extend task sizea7 /IOP=YES or NO - privileged task overmaps the I/O pagea: /PAR=partition - partition name into which the task is to be installedsF /PMD=YES or NO - post-mortem dump the task if it aborts; see HELP PMD9 /PRI=n - priority of task (range = 1-250., default=50.)p /SLV=YES or NO - slave the taskB /TASK=taskname - To specify the taskname to be used for the task.3 Default is TTnn, where nn is the number of the  requesting terminal.s9 /UIC=[g,m] - To specify the UIC the task will run under.2 RSI  /RSI=magu where s: mag = the magnitude of the number of units to be clocked.< the magnitude cannot exceed 24 hours in the specified@ units. A magnitude of 0 is converted to a magnitude of 1. u = the units:n H = Hoursu M = Minutes= S = Secondsv T = Ticks/ K2 UICm /UIC=[g,m]F If you specify a UIC on the RUN command, the UIC becomes the defaultE and protection UIC for the task. The UIC determines which files they task may access.un under.2 RSI  /RSI=magu where s: mag = the magnitude of the number of units to be clocked.< the magnitude cannot exceed 24 hours in the specified@ units. A magnitude of 0 is converted to a magnitude of 1. u = the units:n H = Hoursu M = Minutes= S = Secondsv T = Ticks/ K2 UICm /UIC=[g,m]F If you specify a UICuQ@Q 3DjLvLDYM%_Mp:"_Ma%kQr(oQQQ( R}RMS(SZ:S:>%TWkt^E`8~T`l~W@?v  where s< /WB if specified, the bootstrap block (LBN 0) of the booted7 device is rewritten to point to the saved system imagei ; "mount switches" provides a string that is appended to the , automatically generated mount command for- the booted (system) disk. This allows the . overriding of the default mount parameters., No syntax checking is done on the string./ The pair of double quotes is a required parta of the syntax.S C "file spec" allows the specification of a startup indirect commandB4 file that overrides the use of SY:[1,2]STARTUP.CMD7 (still the default). Note that no syntax checking isg5 done on the file specification. The pair of doublee* quotes is a required part of the syntax.D The current system image is rewritten to the file from which it wasB booted. After the save is complete, the saved image is rebooted.e on the string./ @`Q 3H//jLvLDYM%_Mp:"_Ma%kQr(oQQQ( R}RMS(SZ:S:>%TWkt^E`8~T`l~W@?v /[NO]SLAVE[=TTnn:] /SPEED=TTnn:[recv:xmit] /TERM=TTnn:[value]? /[NO]TYPEAHEAD[=TTnn:] /UIC[=[uic][:TTnn:]] /[NO]VFILL[=TTnn:]T$ /[NO]WCHK[=ddnn:] /[NO]WRAP[=TTnn:] System Parameters:[) /[NO]LOGON /MAXPKT[=n] /SYSUIC[=[uic]]n Memory Allocation: " /MAXEXT[=size] /POOL=[top] /TOP* /PLCTL[=[high][:[low][:[frz][:[basep]]]] , /MAIN=pname[:base:size:type] /NOMAIN=pname1 /SUB=mname:sname[:base:size] /NOSUB=mname:snameO Console Logging (COT) commands: SET /COLOG/option [- For more information, type HELP SET keyword.:2 ABAUDt SET /ABAUD[=TTnn:]D (Full duplex terminal driver only.) Enables autobaud detection for6 the remote dial-up lines for the specified terminal.G When the keyword omits =TTnn:, the system displays all the terminals T with autobaud detection. 2 NOABAUDh SET /NOABAUD[=TTnn:]E (Full duplex terminal driver only.) Disables autobaud detection fors6 the remote dial-up lines for the specified terminal.G When the keyword omits =TTnn:, the system displays all the terminals o without autobaud detection.T2 BRO  SET /BRO[=TTnn:]G Enables the broadcast option for the specified terminal. The terminalfC can receive messages sent from other terminals with the BROADCASTs command.F When the keyword omits =TTnn:, the system displays all the terminals that can receive messages.2 NOBROr SET /NOBRO[=TTnn:]H Disables the broadcast option for the specified terminal. The terminalF }Qcannot receive messages sent from other terminals with the BROADCAST command.F When the keyword omits =TTnn:, the system displays all the terminals that cannot receive messages.d2 BUF. SET /BUF=ddnn:[size]C Sets or displays the default buffer size of the specified device..B The specified size must be greater than 0 and less than or equalC to 255 decimal. If ddnn: is a terminal, the size must be greater ]0 than 2 and less than or equal to 255 decimal. B When the keyword omits size, the system displays the buffer size of the specified device.2 CLIn SET /CLI=TTnn:[cli]dC Defines the default command line interpreter (CLI) for the speci-e? fied terminal. The CLI can be MCR, DCL or a user-written CLI.pA When the keyword omits cli, the system displays the current CLIe% default for the specified terminal.t 2 CONSOLE LOGGINGd#COLOG2 CONSOLE OUTPUT TASK #COLOG2 COLOGg@COT2 CRTh SET /CRT[=TTnn:]@ Defines the specified terminal as a Cathod Ray Tube (CRT) and ) enables the backspace deletion option. i< When the keyword omits =TTnn:, the system displays all the% terminals that are defined as CRTs.r2 NOCRTe SET /NOCRT[=TTnn:]A Deletes the specified terminal as a Cathod Ray Tube (CRT) and i* disables the backspace deletion option. < When the keyword omits =TTnn:, the system displays all the) terminals that are not defined as CRTs. 2 DCLC SET /DCL[=TTnn:]? Enables the recognition of DIGITAL Command Language (DCL) ? commands. Commands entered in response to the default prompt t are submitted to DCL.t? When the keyword omits =TTnn:, the system displays all the < terminals that have the DCL command recognition enabled. 2 EBCs SET /EBC[=TTnn:]B (Full duplex terminal driver only.) Enables the 8-bit character A option. The terminal driver passes all eight bits of the inputa& character to the specified terminal.A When the keyword omits =TTnn:, the system displays all theu- termQinals that have the EBC option enabled.e2 NOEBCh SET /NOEBC[=TTnn:]C (Full duplex terminal driver only.) Disables the 8-bit character B option. Before passing the input characters to the device, the* terminal driver removes the parity bits.B When the keyword omits =TTnn:, the system displays all the. terminals that have the EBC option disabled.2 ECHO SET /ECHO[=TTnn:]t? Instructs the terminal driver to display each character typedy on the specified terminal.< When the keyword omits =TTnn:, the system displays all the. terminals that have the echo option enabled.2 NOECHO SET /NOECHO[=TTnn:] = Instructs the terminal driver to inhibit the display each t, character typed on the specified terminal.< When the keyword omits =TTnn:, the system displays all the/ terminals that have the echo option disabled.s2 ESCSEQ SET /ESCSEQ[=TTnn:]nD Enables the recognition of escape sequences from the specified C terminal. The terminal driver treats the ESC character as theeC beginning of an escape sequence rather than as a line terminator.eC When the keyword omits =TTnn:, the system displays all the termi-v1 nal that can send and receive escape sequences.  2 NOESCSEQ SET /NOESCSEQ[=TTnn:]kD Disables the recognition of escape sequences from the specified  terminal. C When the keyword omits =TTnn:, the system displays all the termi-i3 nals with escape sequence recognition disabled. m2 FDXh SET /FDX[=TTnn:]D (Full duplex terminal driver only.) Instructs the terminal driver C to accept input from the terminal while simultaneously outputtinge to it.D When the keyword omits =TTnn:, the system displays all the full-  duplex terminals. 2 NOFDXE SET /NOFDX[=TTnn:]C (Full duplex terminal driver only.) Disables the full-duplexlD option; the terminal driver does not simultaneously process input ( and ouput from the specified terminal.C When the keyword omits =TTnn:, the sQystem displays all the termi-i( nals with full-duplex option disabled. 2 FORMFEED SET /FORMFEED[=TTnn:]i@ Indicates that the specifed terminal has a hardware formfeed. C When the keyword onits =TTnn:, the system displays all the termi- % nals that have a hardware formfeed. 2 NOFORMFEED SET /FORMFEED[=TTnn:]aD Indicates that the specifed terminal does not have a hardware formfeed. C When the keyword onits =TTnn:, the system displays all the termi-d. nals that does not have a hardware formfeed.2 HFILLw SET /HFILL=TTnn:[value]bC (Full duplex terminal driver only.) Specifies the number of filleC characters (value) that the terminal driver places after a car-=D riage return when outputting to a terminal. The range for value  is 0-7 inclusive.OC When the keyword omits value, the system displays the fill cha-m* racter value for the specified terminal. 2 HHTn SET /HHT[=TTnn:]C (Full duplex terminal driver only.) Indicates to the terminal C driver that the specified terminal has a hardware horizontal tab. C When the keyword omits =TTnn:, the system displays all the termi-e" nals that have a horizontal tab.2 NOHHTt SET /NOHHT[=TTnn:]C (Full duplex terminal driver only.) Indicates to the terminalcC driver that the specified terminal does not have a hardware hori- zontal tab.aC When the keyword omits =TTnn:, the system displays all the termi-+ nals that does not have a horizontal tab.i2 HOLD SET /HOLD[=TTnn:]vB Enables the hold-screen mode at the specified CRT display termi-B nal. When the hold-screen mode is enabled, the terminal displaysC output one screenful at a time. The screenful of output remains . on the screen until you type a SHIFT/SCROLL.C When the keyword omits =TTnn:, the system displays all the termi-e% nals currently in hold-screen mode. 2 NOHOLD SET /NOHOLD[=TTnn:]sC Disables the hold-screen mode at the specified CRT display termi-t nal.C WhenQ the keyword omits =TTnn:, the system displays all the termi-p+ nals that have hold-screen mode disabled.o2 LINESo SET /LINES=TTnn:[value] C (Full duplex terminal driver only.) Establishes the number of mB lines per page (value) for the specified terminal. The range for value is 1-255(10) inclusive. C When the keyword omits value, the system displays the number of O, lines per page for the specified terminal.2 LOWERn SET /LOWER[=ddnn:]C Specifies that lower-case characters on a terminal or a line sB printer are not to be converted to uppercase when they are rece- ived from the device's driver. :B When the keyword omits =ddnn:, the system displays all the devi-7 ces for which lowercase characters are not converted.t 2 NOLOWERn SET /NOLOWER[=ddnn:]B Resets the characteristics for the terminal or the line printerB so that the lowercase characters input from the device are auto-B matically converted to uppercase and characters output to the, device are echoed or printed as uppercase. B When the keyword omits =ddnn:, the system displays all the devi-5 ces for which conversion to uppercase is specified.,2 MCRe SET /MCR[=TTnn:]A Enables the MCR command recognition at the specified terminal. C When the keyword omits =TTnn:, the system displays all the termi-h# nals that recognize MCR commands.t2 PRIV SET /PRIV[=TTnn:]p> Establishes the specified terminal as a privileged terminal.C When the keyword omits =TTnn:, the system displays all the privi-c leged terminals.2 NOPRIV SET /NOPRIV[=TTnn:]i9 Establishes the specified terminal to be nonprivileged. D When the keyword omits =TTnn:, the system displays all the nonpri- vileged terminals.2 PUBt SET /PUB[=ddnn:]E (Multiuser protection systems only.) Establishes the specified aD device as a public device. A public device is one that can be ac- cessed by all system users. D When the keyword omits =ddnn:, the system disQplays all the public devices.2 NOPUB SET /NOPUB[=ddnn:]E (Multiuser protection systems only.) Establishes the specified t! device as a nonpublic device. kD When the keyword omits =ddnn:, the system displays all the non- public devices. 2 REMOTE SET /REMOTE[=TTnn:[speed]]D Declares that the specified terminal is connected to a modem andD can be connected by means of a dial-up network. The terminal has a, line to a DH11, DL11, or DZ11 multiplexer.C Specifying speed establishes the initial baud rate (answer speed)B8 of the remote dial-up line for the specified terminal.C When the keyword omits =TTnn:, the system displays all the remotet+ lines and their associated answer speeds.s 2 NOREMOTE SET /NOREMOTE[=TTnn:[speed]]C Declares that the terminal line is a local line not connected ton a modem.C When the keyword omits =TTnn:, the system displays all the localh lines.2 RPA  SET /RPA[=TTnn:]D (Full duplex terminal driver only.) Enables the read-pass-all D option of the terminal driver. The terminal driver passes all . input characters to the driver input buffer.C When the keyword omits =TTnn:, the system displays all the termi- * nals that have the RPA option enabled. 2 NORPA SET /NORPA[=TTnn:]D (Full duplex terminal driver only.) Disables the read-pass-all C option of the terminal driver. The terminal driver does not pass.D special function characters (i.e. CTRL/C) from the terminal to  the driver input buffer.C When the keyword omits =TTnn:, the system displays all the termi-l) nals that have the RPA option disabled.b2 SLAVE  SET /SLAVE[=TTnn:]D Establishes the specified terminal as one that can enter data D only if it is solicited from a task by a READ QIO$. Thus, the C specified terminal always rejects unsolicited input (other than  CTRL/O, CTRL/Q, and CTRL/S).C When the keyword omits =TTnn:, the system displays all the termi-o& nals curreQntly classified as slaved. 2 NOSLAVEh SET /NOSLAVE[=TTnn:]1 Removed slave status from a specified terminal. C When the keyword omits =TTnn:, the system displays all the non-s slaved terminals.i2 SPEEDl SET /SPEED=TTnn:[recv:xmit]C Establishes the receive and transmit baud rate for terminals at- ; tached to the system through a DH11 or DZ11 multiplexer. tD If the receive speec (recv) and the transmit speed (xmit) are not 5 specified, the system displays the current setting.c% The following are valid baud rates: D DH11: 0, 110, 150, 200, 300, 600, 1200, 1800, 2400, 4800, 9600D DZ11: 110, 150, 300, 600, 1200, 1800, 2000, 2400, 3600, 4800, 7200 and 96002 TERM SET /TERM=TTnn:[value]? (Full duplex terminal driver only.) Establishes the terminal * type (value) for the specified terminal.( Supported standard terminal types are: ASR33 LA30P LA120 VT55 VT105r ASR35 LA30S LA180S VT61 VT125 KSR33 LA34 VT05B VT100 VT131t LA12 LA36 VT50 VT101 VT132  LA100 LA38 VT52 VT102 r sA When the keyword omits the value parameter, the system displays0/ the terminal type for the specified terminal. 2 TYPEAHEAD0 SET /TYPEAHEAD[=TTnn:]C (Full duplex terminal driver only.) Instructs the terminal vC driver to buffer input characters before passing the characters dC to a requesting task. Thus, characters input between requests L are not lost.B When the keyword omits =TTnn:, the system displays all the term-# nals that have typeahead enabled.T 2 NOTYPEAHEAD  SET /NOTYPEAHEAD[=TTnn:]B (Full duplex terminal only.) Disables the typeahead option; theC terminal driver does not buffer input characters to prevent their loss. B When the keyword omits =TTnn:, the system displays all the term-$ nals that have typeahead disabled.2 UIC  SET /UIC[=[uic][:TTnn:]]D Establishes the specified UIC as the default UIC for the terminal.C Unless TTnn: is specified, the default UIC is set for TIQ:. If theaD system supports multiuser protection and you are a privileged < user, the command also sets the terminal's protection UIC.C When the keyword omits =[uic], the system displays the currenteC default UIC for TI:. When the keyword omits =[uic] but specifiesi@ =TTnn:, the system displays the current default UIC for TTnn:.2 VFILLU SET /VFILL[=TTnn:]E (Full duplex terminal driver only.) Enables the vertical fill nD characters option for the specified terminal. The option instructsE the terminal driver to add four fill characters following each r linefeed. C When the keyword omits =TTnn:, the system displays all the termi-[ nals that have VFILL enabled.u 2 NOVFILLa SET /NOVFILL[=TTnn:]D (Full duplex terminal driver only.) Disables the vertical fill 0 characters option for the specified terminal. C When the keyword omits =TTnn:, the system displays all the termi-e nals that have VFILL disabled.2 WCHK SET /WCHK[=ddnn:]lD Specifies for all Files-11 disk devices except DX: and DY: that C all writes are to be followed by a write check. This feature pro-nB vides high reliability for data transfers to the specified disk.D When the keyword omits =ddnn:, the system displays all the 6 Files-11 disk devices that have write check enabled.2 NOWCHK SET /NOWCHK[=ddnn:] C Specifies that write checking is to be disabled for the specifiede device.aD When the keyword omits =ddnn:, the system displays all the 7 Files-11 disk devices that have write check disabled. 2 WRAP SET /WRAP[=TTnn:]yC Enables the wrap around option. The wrap around option instructsrC the terminal driver to generate a carriage return/linefeed se- C quence when the number of input characters exceeds the terminal'sr buffer size.C When the keyword omits =TTnn:, the system displays all the termi-n, nals that have wrap around option enabled.2 NOWRAP SET /NOWRAP[=TTnn:]=D Disbales the wrap aroQund option; the terminal driver does not B accept input characters beyond the buffer size for the terminal. C When the keyword omits =TTnn:, the system displays all the termi-m- nals that have wrap around option disabled.e2 LOGON SET /LOGONC (Privileged keyword.) Enables logging in on terminals in a multi- user protection system.= 2 NOLOGONs SET /NOLOGOND (Privileged keyword.) Disables logging in on terminals in a multi- user protection system. 2 MAXPKT SET /MAXPKT[=n]nE Specifies the maximum number of I/O pakcets to be retained in a se-bE perate queue for use by the QIO directive. The number of retainedsE packets (n) is used to optimize the servicing of QIO requests. Thea! range is 0 to 15(10) inclusive.D When the keyword omits =n, the system displays the maximum number @ and the current number of available I/O packets in the format: MAXPKT=m.:c.i E Where m. is the maximum number of, and c. is the current number of,  available I/O packets. 2 SYSUIC SET /SYSUIC[=[uic]]  E Establishes the UIC for the system and all system tasks. On mostrE unmapped systems, the system UIC is [1,50]; on most mapped systems,  the system UIC is [1,54].hE When the keyword omits =[uic], the system displays the current sys-e tem UIC.2 MAXEXT SET /MAXEXT[=size]F (Privileged keyword.) Establishes the maximun size to which a task E can extend itself beyond its mapped array area by means of the EX-  TEND TASK directive. 4 The maximum size can be expressed in four formats: nh nK n. n.KtF When the keyword omits =size, the system displays the current  maximum size in the format: MAXEXT=mE where m is the maximum size allowed for a task expressed in 64-bytet blocks.s2 POOL SET /POOL[=top] E Increases the size of the dynamic storage region (pool). The para-zF meter top specifies the first location in memory to be used for F user partitions. You specify theQ location in units of 64-byte blocks.  The format for top is: POOL=top:max:total tE where top is given in units in 64-byte blocks, and max and totalu are in decimal words.E When the keyword omits =top, the system displays the size of thei' dynamic storage region in the format:  POOL=floc:lfb:tpsaE where floc is the first location for user partitions; lfb is thetE longest free block in decimal words; tps is the total pool space ina decimal words.2 PLCTLo/ SET /PLCTL[=high][:[low][:[frsiz][:[basep]]]]hF (Privileged keyword.) Sets the pool limit parameters used by the 1 Pool Monitor Task (PMT...). The parameters are:r% high= The high pool limit in bytes. d" low= The low pool limit in bytes.= frsiz= The minimum byte size of the largest free pool blockL8 required for avoiding low-pool action by the Pool  Monitor Task (PMT...). h> basep= The base task priority, which is the lowest priority 8 a task can have and still can be initiated. This 7 priority remains in effect until pool condition is improved.oE When the keyword omits the parameters, the system displays the cur-e! rent parameters for the system.m2 TOPe SET /TOP=pname:valueE Directs MCR to move the top boundary of the specified system-pE controlled partition up or down the amount indicated by the value 7 parameter, or sets the partition size to that amount.yE The parameter pname is the name of the system-controlled partition.i? The value parameter can be supplied in the following formats:i= +value Moves the top boundary up by the specified amount.r8 Moving the top boundary up makes the partition larger. = -value Moves the top boundary down by the specified amount. 8 Moving the top boundary down makes the partition smaller.= value Establishes the total partition size equal to the e- specified value by moving the top boundary.e6 +* or * Moves the top boundary up as far as pQossible. 3 -* Moves the top boundary down as far as possible.f2 MAIN" SET /MAIN=pname[:base:size:type]E Establishes the specified partition as a main partition. The para-t meters are defined as: pname= partition name= :base= physical base address of the partition specified inu7 number of 64-byte blocks. For more information on theE9 format of the base parameter, type: HELP SET MAIN BASE.p= :size= size of the partition specified in number of 64-bytet8 blocks. For more information on the format of the size% parameter, type HELP SET MAIN SIZE.A: :type= the partition type: either TASK, SYS, COM, or DEV.0 For more information, type HELP SET MAIN TYPE.E When the keyword omits base, size , and type parameters, the system B displays values of these parameters for the specified partition.3 BASEE Partition base can be entered in any of the following formats (nnnnTE is a number in bytes to which a multiplication factor is applied to4 determine the value used): Format Calculated Value  e nnnn Octal (nnnn*100)S nnnn. Decimal (nnnn.*64.)  nnnK Octal K (nnnn*4000) nnn.K Decimal K (nnn.*2048.)3 Valid ranges of calculated values (in words) are:o o Octal 0 <= base <= 177777m Decimal 0. <= base <= 65535 Octal K 0K <= base <= 3777K Decimal K 0.K <= base <= 2047.K3 SIZEE Partition size can be entered in any of the following formats (nnnnmE is a number in bytes to which a multiplication factor is applied ton determine the value used): Format Calculated Value  t nnnn Octal (nnnn*100)e nnnn. Decimal (nnnn.*64.)t nnnK Octal K (nnnn*4000) nnn.K Decimal K (nnn.*2048.)3 Valid ranges of calculated values (in words) are:l  Octal 0 <= size <= 2000l Decimal 0. <= size <= 1024. Octal K 0K <= size <= 40K Decimal K 0.K <= size <= 32.K3 TYPE Partiton types: 6 TASK= user-controlled task partition for user tasks.2 SYS= system-controlled partition for user tasks.A COM= common partitioQn for resident libraries and common blocks.tF DEV= common partition mapping into the device registers. Used by ? nonprivileged tasks to access device registers in the externala page. 2 NOMAIN SET /NOMAIN=pname F (Privileged keyword.) Eliminates the specified partition or library from the system. 2 SUBi" SET /SUB=mname:sname[:base:size]F Establishes a subpartition. Subpartitions can only be established in> a user-controlled partition. The parameters are defined as: mname= main partition name  sname= subpartition namem> :base= physical base address of the subpartition specified in8 number of 64-byte blocks. For more information on the9 format of the base parameter, type: HELP SET MAIN BASE.e> :size= size of the partition specified in number of 64-byte8 blocks. For more information on the format of the size% parameter, type HELP SET MAIN SIZE.uF When the keyword omits the base and size parameters, the system dis-7 plays the current values for the named subpartition. m2 NOSUBe SET /NOSUB=mname:snameF (Privileged keyword.) Eliminates the named subpartition (sname) from' the specified main partition (mname).t format of the base parameter, type: HELP SET MAIN BASE.e> :size= size of the partition specified in number of 64-byte8 blocks. For more information on the format of the size% parameter, type HELP SET MAIN SIZE.uF When the keyword omits the base and size parameters, the system dis-7 plays the current values for@Q 3DjLvLDYM%_Mp:"_Ma%kQr(oQQQ( R}RMS(SZ:S:>%TWkt^E`8~T`l~W@?v%TWkt^E`8~T`l~W@?v[group,member]R- where keyword may be null, ALLOC and/or PRO.hD This command creates a User File Directory on a Files-11 volume andB enters its name into the Master File Directory. In multiuser pro-C tection systems, a nonprivileged user can create a UFD only on the[? user's private device (i.e., a device the user has allocated).i& ALLOC and PRO are qualifiers for UFD.2 ALLOCp /ALLOC=n*QI n is the number of directory entries for which space is to be allocated.uB The number provided is rounded up to the next multiple of 32(10).2 PRO /PRO=[system,group,owner,world]6 PRO establishes access rights for the directory file. enters its name into the Master File Directory. In multiuser pro-C tection systems, a nonprivileged user can create a UFD only on the[? user's private device (i.e., a device the user has allocated).i& ALLOC and PRO are qualifiers for UFD.2 ALLOCp /ALLOC=n*@HQ 3L##njLvLDYM%_Mp:"_Ma%kQr(oQQQ( R}RMS(SZ:S:>%TWkt^E`8~T`l~W@?4v Changes the static or running priority of an installed task1 ASSIGN#ASN1 ASNC% ASSIGN ASN ppn:=llnn: [/keyword]/ Keywords: GBL LOGIN TERM=TTnn:iG Defines, displays, or deletes logical device assignments as follows:e Local assign operations ASN ppn:=llnn:s! ASN ppn:=llnn:/TERM=TTnn: (P)e Login assign operations ASN ppn:=llnn:/LOGIN (P)) ASN ppn:=llnn:/LOGIN/TERM = TTnn: (P)s Global assign operations  ASN ppn:=llnn:/GBL (P) Local display operationsi ASN Login display operations  ASN /TERM=TTnn: (P)SQ Global display operations ASN /GBL (P) Local delete operations ASN =T ASN = llnn:f Login delete operations ASN = /LOGIN (P)t" ASN = /LOGIN/TERM=TTnn: (P) ASN = /TERM=TTnn: (P) ASN = /llnn:/TERM=TTnn: (P) ASN = /llnn:/LOGIN (P)& ASN = /llnn:/LOGIN/TERM=TTnn: (P) Global delete operationsP ASN = /GBL (P)o ASN = llnn:/GBL (P)1 BLOCK)#BLK1 BLKs BLOCK BLK tasknameK Declares that the specified task is temporarily ineligible to executepK or to compete for memory resources. Nonprivileged users can only block K tasks running from their own terminals. Privileged users can block anyTK task. However, ACP tasks, CLI tasks, tasks being aborted, and halted) tasks cannot be blocked.1 BOOT BOOT BOO [filespec] (P)K Bootstraps a system that exists as a task image file on a Files-11 volume. 1 BREAKPOINT#BRK1 BRKt BREAKPOINT TO XTD (P) BRKp8 Passes control to the Executive Debugging Tool (XDT). 1 BROADCASTr BROADCAST BRO TTnn: message BRO @filespec# BRO ALL:message (P) # BRO LOG:message (P)tK Displays the specified message at one terminal for a nonprivilegedtA command, or at a number of terminals for a privileged command.1 BYEr BYE BYE [/keyword]s Keyword: [NO]HOLDK Logs the user out of a multiuser protection system, optionallyPK specifying that the full-duplex terminal driver not hang up a remoteA0 line or that DECnet not break the connection.1 CANCEL CANCEL CAN tasknameK Cancels time-based initiation of a task. Privileged users can cancelsK any task but nonprivileged users can only cancel tasks that they initiated.m1 CLI 2 COMMAND LINE INTERPRETER CLI /keyword=cliname Keywords: DISABLE=cliname! ELIM=cliname or ELIM=*m ENABLE=clinamem' INIT=cliname[/subkeyword(s)]u) Q Subkeywords: CPR="string"r$ DISABLE) DPR="string" LGO$ MESSAGE! NULLu! PRIVc# PROMPTd" QUIET% RESTRICTd! SNGLE* TASK=taskname) MESSAGE=cliname:"message-text"( SHOW  UNOVERRK Sets up for use a command line interpreter other than MCR, such as DCL  or a user-written CLI. 1 CLQ  CLOCK QUEUE CLQ[UEUE]K Displays on the entering terminal information about tasks currently in  the clock queue. 1 DEALLOCATE DEALLOCATE DEA [ddnn:] K Releases a private (allocated) device where ddnn: is the device name K and unit number. Privileged users can deallocate any device butSK nonprivileged users can only deallocate devices that they havepK allocated. If no device is specified, the command deallocates all ofs the user's allocated devices. 1 DEVICESQ DEVICES DEV [/keyword]n DEV dd: DEV ddnn: Keyword:LOGK Displays symbolic names of all devices or of all devices of apK particular type or the name of a specific device. The /LOG keywordu+ displays all of the logged-in terminals.y1 DCL / DIGITAL COMMAND LANGUAGE DCL command-linecK Allows the user to issue DCL commands from a terminal that is set tot MCR.n 1 DISMOUNT#DMO1 DMOt1 DISMOUNT DMO ddnn:[["]label["]][/keyword(s)]S Keywords: DEV (P)  USER  TERM=TTnn: (P) LOCK=optionK Tells the file system to mark the volume for dismount and to release K the control blocks. Privileged users can dismount any volume, butlH nonprivileged users can only dismount devices that they have mounted.1 FIXd$ FQIX-IN-MEMORY (P) FIX taskname- Loads and locks a task into its partition.1 FLAGS4 GROUP GLOBAL EVENT FLAGS FLA[GS][ggg[/keyword]] Keywords: CRE ELIMK For privileged users, creates or eliminates global event flags for anypK group. For nonprivileged users, creates or eliminates group globaleK flags only for their own login group. Any user can display all of the  group global event flags.1 LOGINm#HELLO1 LOGIN ! HELLO/LOGIN HEL uic/passwordI& HEL username/password! LOG uic/passwordn& LOG username/password= Logs a user in on a terminal to access a multiuser system.I1 HELPB HELP HELP [/keyword] [qualifier][qualifier 2][...qualifier 9]9 HELP % [qualifier][qualifier 2][...qualifier 9]n Keywords: CLI:cliname DCL FIL:[filespec]  GRO LOC MCR OUT:filespecO@ Displays the contents of a help file on the issuing terminal.1 HOME* HOME HOM ddnn:volume-label/keyword(s) Keywords: DENS=densitym EXT=block-count* FPRO=[system,owner,group,world] LRU=directory-count MXF=file-counte NAME=new-volume-label OVR (P)i OWNER=[g,m]) PRO=[system,owner,group,world]D UIC=[g,m]& WIN=retrieval-pointer-count VIRG Modifies certain fields in the home block of a Files-11 disk volume.e 1 INITIALIZE@ INITIALIZE VOLUME INI ddnn:["]volume-label["] [/keyword(s)] Keywords: ACCESS="character"T BAD=[option]F DENS=densityo EXT=block-count* FPRO=[system,owner,group,world]# INDX=index-file-position & INF=initial-index-file-size LRU=directory-count MXF=file-count]' OWNER=[g,m] or OWNER="owner") PRO=[system,owner,group,world]i UIC=[group,member]d& Q WIN=retrieval-pointer-count VIIK Produces a Files-11 volume on disk, magnetic tape, or DECtape. OnK multiuser protection systems, users can only initialize volumes ont devices that they allocated.r 1 INSTALL . INSTALL INS [$]filespec[/keyword(s)] (P) Keywords: CKP=option  CLI=optionc INC=sizef IOP=optionO PAR=pname PMD=option[ PRI=numberd SLV=optionu TASK=taskname. Makes a specified task known to the system.1 LOAD s# LOAD LOA dd:[/keyword(s)] (P), Keywords: PAR=parname SIZE=parsizeu HIGHnK Reads a nonresident device driver into memory and constructs theA3 linkages required to allow access to the device.:1 LUNo) LOGICAL UNIT NUMBERS LUN[S] tasknameI< Displays the static LUN assignments for a specified task.1 MOUNTt MOUNT? Allows the file system software access to a physical device.k! Files-11 disk or DECtape format:  MOU ddnn:[volume][/keyword(s)]A Keywords: ACP=optionP DENS=densityp EXT=block-count FOR* FPRO=[system,owner,group,world] LOCK=option LRU=directory-count OVR (P)s! PARM="user parameters"L PRO=option] PUB [NO]SHARE UIC=[uic] UNL" VI (volume information) [NO]WAITs WIN =option [NO]WRITE? See HELP MOUNT MAGTAPE for information on mounting magtapes. 2 MAGTAPE& Files-11 (ANSI) magnetic tape format:+ MOU device-list:[file-set-ID][/keyword(s)]= Keywords: ACP=option  BS=ni CC=option DENS=densityO FOR* FPRO=[system,owner,group,world] [NO]HDR3P [NO]LABEL LOCK= option OVR (P)  OVREXP (P) OVRFSID (P)s" PARM=Q "user parameters" PRO= option PUB RS= n [NO]SHARE TR= option  UIC=[uic] VIv VOL= (list) [NO]WAITo [NO]WRITE1 OPEN7 OPEN REGISTER (P) OPE[N] mem-addr[+/-n][/keyword] @ mem-addr /contents [ctrl-char][value]term$ Keywords: TASK=taskname PAR=partitionname KNL DRV=dd:D Allows examination and optional modification of a word of memory. 1 PARTITIONS' PARTITION DEFINITIONS PAR[TITIONS] A Displays a description of each memory partition in the system. 1 REASSIGN) REASSIGN REA taskname lun ddnn: (P)K Reassigns a task's static logical unit numbers from one physical device[ to another. 1 REDIRECT$ REDIRECT RED nddnn:=oddnn: (P)K Redirects all I/O requests from one physical device unit to another (from o to n). 1 REMOVE% REMOVE REM [ddnn:] taskname (P)mK Deletes an entry (task name) from the System Task Directory (STD) andPK thereby removes the task from the system. The optional devicemH specification indicates the device from which the task was installed.1 RESUME RESUME RES tasknameK Allows nonprivileged users to continue execution of a suspended taskdK that was initiated from the entering terminal. Privileged users canu resume any suspended task. 1 RUN " RUN RUN taskname [/UIC=[uic]]8 RUN taskname dtime [/RSI=magu][/UIC=[uic]] (P)> RUN taskname sync [dtime][/RSI=magu][/UIC=[uic]] (P)8 RUN taskname atime [/RSI=magu][/UIC=[uic]] (P). RUN [ddnn:][$] filespec [/keyword(s)] Keywords: CKP=optionS CMD="command-line"  EST=option  INC=sizeo IOP=option  PAR=pname PMD=optioni PRI=number (P) SLV=optione TASK=taskname UIC=[g,m]K Initiates executionQ of a task, either immediately or at one of severalN time-dependent intervals.1 SAVE SAVE SAV [/keyword(s)] (P) Keywords: WBC MOU="string"N SFILE="filespec"dK Copies the current system image into the system image file from which ! the current system was booted.1 SET  SET SET /keyword=values) Keywords: ABAUD[=TTnn:]I MCR[=TTnn:]* BRO[=TTnn:] NETUIC[=[uic]] BUF=ddnn:[size]/ PLCTL[=high][:[low][:[frsiz][:basep]]]] (P)l& CLI=TTnn:[cli] POOL[=top]( CRT[=TTnn:] PRIV[=TTnn:]' DCL[=TTnn:] PUB[=ddnn:] 1 EBC[=TTnn:] REMOTE[=TTnn:[speed]]d' ECHO[=TTnn:] RPA[=TTnn:]t) ESCSEQ[=TTnn:] SLAVE[=TTnn:]e2 FDX[=TTnn:] SPEED=TTnn:[recv:xmit]+ FORMFEED[=TTnn:] SUB=mname:sname  HFILL=TTnn:[value] SYSUIC[=uic)T- HHT[=TTnn:] TERM=TTnn:[value]s+ HOLD[=TTnn:] TOP=pname:value] LINES=TTnn:[value]c TYPEAHEAD[=TTnn:]/ LOGON (P) UIC[=[uic][:TTnn:]]D' LOWER=[ddnn:] UIC[=TTnn:]E) MAIN=pname VFILL[=TTnn:]  MAXEXT[=size] (P)n WCHK[=ddnn:]E( MAXPKT[=n] WRAP[=TTnn:]2 Affects characteristics of the system, tasks,2 and devices. Privileged users can alter the2 characteristics of anything, but nonprivileged2 users can only alter characteristics for2 devices and tasks allocated to them. All users can display information. 1 SSMG, SYSTEM SERVICE MESSAGE (P) SSM message( Inserts text into the error log file.1 TALm TASK LIST TAL [taskname] 2 Displays the names and status of all tasks1 installed in the system or of a specific task.r1 TASf( TASKLIST TAS [taskname][/DEV=ddnn:]2 Describes each task installed in the system, a2 specific task, or one or more tasks installed from a specific device.Q1 TIME- TIME TIM [hrs:mins[:secs]] [m1/day/year] , [hrs:mins[:secs]] [day-m2-year]2 For privileged users, sets and displays the2 date and time for the system. For+ nonprivileged users, only displays them. 1 UFDfB USER FILE DIRECTORY UFD ddnn:[volume-label][g,m][/keyword(s)] Keywords: ALLOC=numbern) PRO=[system,owner,group,world]s2 Creates a User File Directory (UFD) on a2 Files-11 volume and enters its name into the2 Master File Directory (MFD). Privileged users2 can create UFDs on any mounted volume, but2 nonprivileged users can create UFDs only on a2 volume mounted on a device that they have allocated.g 1 UNBLOCKy UNBLOCK UNB [taskname]U2 Continues the execution of a previously2 blocked task. Nonprivileged users can only2 unblock tasks running from their own2 terminals. Privileged users can unblock any task.1 UNFIX  UNFIX UNF taskname (P)" Frees a fixed task from memory.1 UNLOAD UNLOAD UNL dd: (P)0 Removes a loadable device driver from memory.1 UNSTOP UNS[TOP] taskname2 Continues execution of a task previously2 stopped internally by the Executive.2 Nonprivileged users can only unstop tasks2 running from their own terminals. Privileged users can unstop any task. 1 ASCIIo@ASCII1 BADs@BAD1 BAS @BAS1 BRUn@BRU1 CDA @CDA1 CMPN@CMP1 COT @COT1 DSCm@DSC1 DUMP#DMP1 DMPs@DMP1 EDI.@EDI 1 ERROR_LOGA@ERROR 1 EXECUTIVE @EXECUTIVE1 FILEXe1 FCSi@FCS#FLX1 FLEX#FLX1 FLXS@FLX1 FMTe@FMT 1 INDIRECT#ICP1 ICP @ICP1 IOXv@IOX1 LBRo@LBR1 MAGn@MAG1 ODTt@ODT1 PATCH.#PAT1 PATl@PAT1 PIPc@PIP1 PMDs@PMD1 RMS @RMS1 BCKm#RMSBCKw1 RMSBCK@RMSBCKl1 CNV #RMSCNVn1 RMSCNV@RMSCNV1 DEFo#RMSDEF1 RMSDEF@RMSDEF 1 DSP#RMSDSPB1 RMSDSP@RMSDSP 1 IFLC#RMSIFL 1 RMQSIFL@RMSIFLC1 RSTP#RMSRST 1 RMSRST@RMSRST 1 SLIPPERO#SLP1 SLIPR#SLP1 SLP@SLP1 SYSTEM_GENERATIONi#SYSGENF1 SYSGEN@SYSGEN 1 SYSLIB@SYSLIB1 TASK_TERMINATION_NOTIFICATIONI#TKTNO1 TKTN@TKTNo1 TKB@TKB1 VERIFY#VFY1 VFY @VFY!1 VIRTUAL_MONITOR_CONSOLE_ROUTINE#VMR 1 VIRTUAL_MCR#VMR1 VMR@VMR1 ZAPM@ZAP@RMSBCKl1 CNV #RMSCNVn1 RMSCNV@RMSCNV1 DEFo#RMSDEF1 RMSDEF@RMSDEF 1 DSP#RMSDSPB1 RMSDSP@RMSDSP 1 IFLC#RMSIFL 1 RM@Q 35<jLvLDYM%_Mp:"_Ma%kQr(oQQQ(Q R}RMS(SZ:S:>%TWkt^E`8~T`l~W@?4v%TWkt^E`8~T`l~W@?4v Following are the user macros defined in the RMSMAC.MLB Macro library. CCML$ BLK FABDF$e FABOF$ OFFSET FABOF$ OFFSET FAB$B FAB$BT DEFh FAB$BT DEFe FAB$E F$ALQ SIZEc F$BKS SIZEn F$BLS SIZE F$BPA LABEL F$BPS SIZE F$BSZ SIZEu F$CTX VALUE F$DEQ SIZE F$DNA LABEL F$DNS SIZEe F$FAC OPTIONS F$FNA LABEL F$FNS SIZEM F$FOP OPTIONS F$FSZ SIZER F$JFN NUMBER. F$JNL LABEL F$LCH VALUE F$MRN NUMBERl F$MRS SIZEv F$NAM LABEL F$ORG VALUE F$RAT OPTIONS F$RFM VALUE F$RTV NUMBER  F$SHR OPTIONS F$XAB LABEL/ GCMLB$ MAXD,PRMPT,UBUF,LUN,PDL,SIZE,?PDL1,?BUFB GCMLD$ GBLF GCMLD$ XT GCML$ NAME,ADPR,LNPR,UBUF,SIZEE GCML$D GBLF GCML$D X NAMDF$Z NAMOF$ OFFSET NAMOF$ OFFSET NAM$B NAM$E N$ESA LABEL N$ESS VALUE N$RLF LABEL N$RSA LABEL N$RSS VALUE ORG$ ORGTYP,OPTYPSL POOL$BF POOL$E P$BDB VALUE P$BUF VALUE P$FAB VALUE P$IDX VAL1B P$RAB VALUE P$RABX VAL1,VAL2,VAL3 RABDF$ P1 RABOF$ OFFSET RABOF$ OFFSET RAB$B P1F RABQ$BT DEFF RAB$BT DEF RAB$E RCML$ NAMEB R$BKT NUMBER R$CTX VALUE R$FAB LABEL R$KBF LABEL R$KRF VALUE R$KSZ SIZEG R$LSN NUMBERL R$MBC NUMBER R$MBF NUMBERG R$RAC VALUE R$RBF LABEL R$RHB LABEL R$ROP OPTIONS R$RSZ NUMBERA R$UBF LABEL R$USZ NUMBERL XABDF$R XABOF$ OFFSET XABOF$ OFFSET XAB$B TYPE XAB$BT DEFO XAB$BT DEFV XAB$E XBAOF$ OFFSET XBDOF$ OFFSET XBKOF$ OFFSET XBPOF$ OFFSET XBSOF$ OFFSET X$AID VALUE X$ALN VALUE X$ALQ SIZE X$AOP VALUE X$BKZ VALUE X$DAN VALUE X$DEQ SIZEN X$DFL VALUE X$DTP VALUE X$FLG P1F X$HAL OFFSETF X$IAN VALUE X$IFL VALUE X$KNM LABEL X$LAN VALUE X$LOC VAL1R X$NUL VALUE X$NXT LABEL X$POS OFFSETR X$PRG VALUE X$PRJ VALUE X$PRO VALUE X$REF NUMBER X$SIZ SIZEL X$VOL VALUE $BUFFER VALUE $CLOSE FAB,ERRB $COMPARE INPUT,FIELD,PTRB $CONNECT RAB,ERROR,SUC  $CREATE FAB,ERROR $DELETE RAB,ERROR,SUC $DISCONNECT RAB,ERROR,SUC $DISPLAY FAB,ERRN $ERASE FAB,ERROR $EXTEND FAB,ERROR $FBCAL $FETCH DEST,FIELD,PTR $FIND RAB,ERROR,SUC $FLUSH RAB,ERROR,SUCX $FREE RAB,ERROR,SUC $GET RAB,ERROR,SUCX $GNCALL $INIT $INITIF $LOAD DEST,FIELD,PTRE $LOCALS $NXTVOL RAB,ERR,SUC $OFF VALUE,FIELD,PTRL $OPEN FAB,ERROR $PUT RAB,ERROR,SUCZ $RBCALX $READ RAB,ERR,SUC $RELEASE RAB,ERROR,SUC $RETURN $REWIND RAB,ERROR,SUC $RMSDTR $RMSTAT VALUE $SET VALUE,FIELD,PTRR $SPACE RAB,ERR,SUCN $STORE SOURCE,FIELD,PTR $TESTBITS VALUE,FIELD,PTR $TRUNCATE RAB,ERROR,SUC $UPDATE RAB,ERROR,SUC $WAIT RAB $WRITE RAB,ERR,SUC$2 ERRORS# For a list of RMS error codes typeE HELP RMS ERRORS ALL/ For an individual error code, use the command:A HELP RMS ERRORS xxxB where xxx is the three-letter error name or the string equivalent2 to the negative decimal error value. For example: HELP ERRORS RMS ACC  and HELP ERRORS RMS -32.  access the same error textP3 ALL,7 ER$ABO,177760,-16.,DD ER$ACC,177740,-32.,9 ER$ACT,177720,-48.,<"FILE" ACTIVITY PRECLUDES OPERATION>s+ ER$AID,177700,-64.,i7 ER$ALN,177660,-80.,x3 ER$ALQ,177640,-96.,e* ER$ANI,177620,-112.,9 ER$AOP,177600,-128.,A ER$AST,177560,-144.,$= ER$ATR,177540,-160.,7> ER$ATW,177520,-176.,1 ER$BKS,177500,-192.,N6 ER$BKZ,177460,-208.,2 ER$BLN,177440,-224.,<"BLN" LENGTH ERROR(RAB/FAB)>9 ER$BOF,177430,-232.,N? ER$BPA,177420,-240.,A< ER$BPS,177400,-256.,< ER$BUG,177360,-272.,( ER$CCR,177340,-288.,P ER$CHG,177320,-304.,<$UPDATE-KEY CHANGE WITHOUT HAVING ATTRIBUTE OF XB$CHG SET>7 ER$CHK,177300,-320.,KE ER$CLS,177260,-336.,RC ER$COD,177240,-352.,> ER$CRE,177220,-368.,L ER$CUR,177200,-384.,N ER$DAC,177160,-400.,; ER$DAN,177140,-416.,V6 ER$DEL,177120,-432.,? ER$DEV,177100,-448.,E. ER$DIR,177060,-464.,/ ER$DME,177040,-480.,V* ER$DNF,177020,-496.,' ER$DNR,177000,-512.,2A ER$DPE,176770,-520.,E4 ER$DTP,176760,-528.,<"DTP" FIELD INVALID(STV=@XAB)>G ER$DUP,176740,-544.,SI ER$ENT,176720,-560.,,= ER$ENV,176700,-576.,I" ER$EOF,176660,-592.,5 ER$ESS,176640,-608.,; ER$EXP,176630,-616.,1< ER$EXT,176620,-624.,8 ER$FAB,176600,-640.,O ER$FAC,176560,-656.,T, ER$FEX,176540,-672.,& ER$FID,177530,-680.,> ER$FLG,176520,-688.,3 ER$FLK,176500,-704.,7J ER$FND,176460,-720.,% ER$FNF,176440,-736.,,) ER$FNM,176420,-752.,R+ ER$FOP,176400,-768.,A' ER$FUL,176360,-784.,.< ER$IAN,176340,-800.,A ER$IDX,176320,-816.,<9 ER$IFI,176300,-832.,OE ER$IMX,176260,-848.,R/ ER$INI,176240,-864.,<$INIT MACRO NEVER ISSUED>IA ER$IOP,176220,-880.,,B ER$IRC,176200,-896.,< ER$ISI,176160,-912.,4 ER$KBF,176140,-928.,3 ER$KEY,176120,-944.,E; ER$KRF,176100,-960.,A> ER$KSZ,176060,-976.,I ER$LAN,176040,-992.,U- ER$LBL,176020,-1008.,R, ER$LBY,176000,-1024.,8 ER$LCH,175760,-1040.,O ER$LEX,175750,-1048., 5 ER$LOC,Q175740,-1056.,<"LOC" FIELD INVALID(STV=@XAB)>E, ER$MAP,175720,-1072.,Q ER$MKD,175700,-1088.,(1 ER$MRN,175660,-1104.,MRN>LK ER$MRS,175640,-1120.,EM ER$NAM,175620,-1136.,<"NAM" BLOCK ADDRESS INVALID(NAM=0, OR NOT ACCESSIBLE)>,> ER$NEF,175600,-1152.,@ ER$NID,175560,-1168.,; ER$NPK,175540,-1184.,0E ER$OPN,175520,-1200.,K< ER$ORD,175500,-1216.,7 ER$ORG,175460,-1232.,VB ER$PLG,175440,-1248.,= ER$POS,175420,-1264.,<"POS" FIELD INVALID(POS>MRS,STV=@XAB)>E? ER$PRM,175400,-1280.,$< ER$PRV,175360,-1296.,9 ER$RAB,175340,-1312.,0) ER$RAC,175320,-1328.,O1 ER$RAT,175300,-1344.,,N ER$RBF,175260,-1360.,9 ER$RER,175240,-1376.,O- ER$REX,175220,-1392.,,, ER$RFA,175200,-1408.,- ER$RFM,175160,-1424.,D> ER$RLK,175140,-1440.,K ER$RMV,175120,-1456.,A6 ER$RNF,175100,-1472.,) ER$RNL,175060,-1488.,7. ER$ROP,175040,-1504.,F ER$RPL,175020,-1520.,6 ER$RRV,175000,-1536.,3 ER$RSA,174760,-1552.,FP ER$RSZ,174740,-1568.,MRS, OR NOT=MRS IF FIXED LENGTH RECS>M ER$RTB,174720,-1584.,DH ER$SEQ,174700,-1600.,K ER$SHR,174660,-1616.,<"SHR" FIELD INVALID FOR FILE(CAN'T SHARE SEQ FILES)>D5 ER$SIZ,174640,-1632.,<"SIZ" FIELD INVALID(STV=@XAB)>A3 ER$STK,174620,-1648.,6@ ER$SYS,174600,-1664.,( ER$TRE,174560,-1680.,@ ER$TYP,174540,-1696.,N ER$UBF,174520,-1712.,7 ER$USZ,174500,-1728.,E/ ER$VER,174460,-1744.,I7 ER$VOL,174440,-1760.,-: ER$WER,174420,-1776.,. ER$WLK,174410,-1784.,F ER$WPL,174400,-1792.,: ER$XAB,174360,-1808.,3 -16.#ABO3 ABO 7 ER$ABO,177760,-16.,R3 -32.#ACC3 ACCND ER$ACC,177740,-32.,3 -48.#ACT3 ACTR9 ER$ACT,177720,-48.,<"FILE" ACTIVITY PRECLUDES OPERATION> 3 -64.#AID3 AIDE+ ER$AID,177700,-64., 3 -80.#ALN3 ALN77 ER$ALN,177660,-80.,23 -96.#ALQ3 ALQG3 ER$ALQ,177640,-96.,N3 -112.D#ANI3 ANI,* ER$ANI,177620,-112.,3 -128.,#AOP3 AOPO9 ER$AOP,177600,-128.,03 -144.1#AST3 AST A ER$AST,177560,-144.,03 -160.I#ATR3 ATRP= ER$ATR,177540,-160.,,3 -176. #ATW3 ATW > ER$ATW,177520,-176.,3 -192.@#BKS3 BKS.1 ER$BKS,177500,-192.,N3 -208.L#BKZ3 BKZ26 ER$BKZ,177460,-208.,3 -224.1#BLNQ3 BLN 2 ER$BLN,177440,-224.,<"BLN" LENGTH ERROR(RAB/FAB)>3 -232.)#BOF3 BOF9 ER$BOF,177430,-232.,R3 -240.A#BPA3 BPA ? ER$BPA,177420,-240.,S3 -256.R#BPS3 BPS1< ER$BPS,177400,-256.,3 -272. #BUG3 BUG < ER$BUG,177360,-272.,3 -288.N#CCR3 CCRB( ER$CCR,177340,-288.,3 -304.A#CHG3 CHG>P ER$CHG,177320,-304.,<$UPDATE-KEY CHANGE WITHOUT HAVING ATTRIBUTE OF XB$CHG SET>3 -320.F#CHK3 CHK$7 ER$CHK,177300,-320., 3 -336.B#CLS3 CLSEE ER$CLS,177260,-336.,R3 -352. #COD3 COD,C ER$COD,177240,-352.,3 -368.E#CRE3 CRE-> ER$CRE,177220,-368.,3 -384.$#CUR3 CUR8L ER$CUR,177200,-384.,3 -400.E#DAC3 DACNN ER$DAC,177160,-400.,3 -416.H#DAN3 DANU; ER$DAN,177140,-416.,O3 -432.O#DEL3 DELS6 ER$DEL,177120,-432.,3 -448.A#DEV3 DEVO? ER$DEV,177100,-448.,23 -464.<#DIR3 DIRA. ER$DIR,177060,-464.,3 -480.U#DME3 DME./ ER$DME,177040,-480.,/3 -496. #DNF3 DNF* ER$DNF,177020,-496.,3 -512.D#DNR3 DNR(' ER$DNR,177000,-512.,U3 -520.,#DPE3 DPE$3 -528.0#DTP3 DTPC4 ER$DTP,176760,-528.,<"DTP" FIELD INVALID(STV=@XAB)>3 -544.1#DUP3 DUP G ER$DUP,176740,-544.,73 -560..#ENT3 ENTRI ER$ENT,176720,-560.,EQ3 -576./#ENV3 ENVD= ER$ENV,176700,-576.,D3 -592. #EOF3 EOF," ER$EOF,176660,-592.,3 -608.D#ESS3 ESSE5 ER$ESS,176640,-608.,R3 -616.#EXP3 EXPP; ER$EXP,176630,-616.,>3 -624.1#EXT3 EXT < ER$EXT,176620,-624.,3 -640.T#FAB3 FAB8 ER$FAB,176600,-640.,3 -656.D#FAC3 FACCO ER$FAC,176560,-656.,O3 -672.O#FEX3 FEX, ER$FEX,176540,-672.,3 -680.8#FID3 FIDS& ER$FID,177530,-680.,3 -688.O#FLG3 FLG6> ER$FLG,176520,-688.,3 -704.A#FLK3 FLK43 ER$FLK,176500,-704.,A3 -720.=#FND3 FND>J ER$FND,176460,-720.,3 -736. #FNF3 FNF% ER$FNF,176440,-736.,A3 -752.-#FNM3 FNMU) ER$FNM,176420,-752., 3 -768.$#FOP3 FOP7+ ER$FOP,176400,-768., 3 -784.$#FUL3 FUL8' ER$FUL,176360,-784.,L3 -800.L#IAN3 IAN.< ER$IAN,176340,-800.,3 -816.$#IDX3 IDX0A ER$IDX,176320,-816.,,3 -832.2#IFI3 IFIP9 ER$IFI,176300,-832.,3 -848.E#IMX3 IMX-E ER$IMX,176260,-848.,R3 -864.L#INI3 INI7/ ER$INI,176240,-864.,<$INIT MACRO NEVER ISSUED> 3 -880.O#IOP3 IOP$A ER$IOP,176220,-880.,3 -896.A#IRC3 IRC7B ER$IRC,176200,-896.,3 -912.E#ISI3 ISI-< ER$ISI,176160,-912.,3 -928.F#KBF3 KBF74 ER$KBF,176140,-928.,3 -944.X#KQEY3 KEY$3 ER$KEY,176120,-944.,D3 -960.)#KRF3 KRF; ER$KRF,176100,-960., 3 -976.O#KSZ3 KSZ$> ER$KSZ,176060,-976.,3 -992.8#LAN3 LAN I ER$LAN,176040,-992., 3 -1008.#LBL3 LBLE- ER$LBL,176020,-1008.,N3 -1024.#LBY3 LBYK, ER$LBY,176000,-1024.,3 -1040.#LCH3 LCH98 ER$LCH,175760,-1040.,3 -1048.#LEX3 LEX)O ER$LEX,175750,-1048.,93 -1056.#LOC3 LOC$5 ER$LOC,175740,-1056.,<"LOC" FIELD INVALID(STV=@XAB)>L3 -1072.#MAP3 MAPA, ER$MAP,175720,-1072.,3 -1088.#MKD3 MKDVQ ER$MKD,175700,-1088., 3 -1104.#MRN3 MRNE1 ER$MRN,175660,-1104.,MRN>.3 -1120.#MRS3 MRS,K ER$MRS,175640,-1120.,$3 -1136.#NAM3 NAMCM ER$NAM,175620,-1136.,<"NAM" BLOCK ADDRESS INVALID(NAM=0, OR NOT ACCESSIBLE)>E3 -1152.#NEF3 NEFO> ER$NEF,175600,-1152.,3 -1168.#NID3 NIDP@ ER$NID,175560,-1168.,3 -1184.#NPK3 NPK ; ER$NPK,175540,-1184.,,3 -1200.#OPN3 OPNEE ER$OPN,175520,-1200.,V3 -1216.#ORD3 ORD < ER$ORD,175500,-1216.,3 -1232.#ORG3 ORGA7 ER$ORG,175460,-1232.,F3 -1248.#PLG3 PLG0B ER$PLG,175440,-1248.,3 -1264.#POS3 POS1= ER$POS,175420,-1264.,<"POS" FIELD INVALID(POS>MRS,STV=@XAB)>3 -1280.#PRM3 PRM-? ER$PRM,175400,-1280.,P3 -1296.#PRV3 PRV0< ER$PRV,175360,-Q1296.,3 -1312.#RAB3 RAB79 ER$RAB,175340,-1312.,.3 -1328.#RAC3 RAC,) ER$RAC,175320,-1328.,L3 -1344.#RAT3 RAT 1 ER$RAT,175300,-1344.,U3 -1360.#RBF3 RBF N ER$RBF,175260,-1360.,3 -1376.#RER3 RER 9 ER$RER,175240,-1376.,S3 -1392.#REX3 REXP- ER$REX,175220,-1392.,O3 -1408.#RFA3 RFA>, ER$RFA,175200,-1408.,3 -1424.#RFM3 RFM"- ER$RFM,175160,-1424.,,3 -1440.#RLK3 RLKR> ER$RLK,175140,-1440.,3 -1456.#RMV3 RMVK ER$RMV,175120,-1456., 3 -1472.#RNF3 RNF>6 ER$RNF,175100,-1472.,3 -1488.#RNL3 RNLD) ER$RNL,175060,-1488.,03 -1504.#ROP3 ROP . ER$ROP,175040,-1504.,3 -1520.#RPL3 RPLRF ER$RPL,175020,-1520.,3 -1536.#RRV3 RRV6 ER$RRV,175000,-1536.,3 -1552.#RSA3 RSA.3 ER$RSA,174760,-1552.,O3 -1568.#RSZ3 RSZSP ER$RSZ,174740,-1568.,MRS, OR NOT=MRS IF FIXED LENGTH RECS>3 -1584.#RTB3 RTBM ER$RTB,174720,-1584., 3 -1600.#SEQ3 SEQ,H ER$SEQ,174700,-1600.,3 -1616.#SHR3 SHROK ER$SHR,174660,-1616.,<"SHR" FIELD INVALID FOR FILE(CAN'T SHARE SEQ FILES)>D3 -1632.#SIZ3 SIZ>5 ER$SIZ,174640,-1632.,<"SIZ" FIELD INVALID(STV=@XAB)>R3 -1648.#STK3 STK3 ER$STK,174620,-1648.,C3 -1664.#SYS3 SYST@ ER$SYS,174600,-1664.,3 -1680.#TRE3 TRE ( ER$TRE,174560,-1680.,3 -1696.#TYP3 TYP@ ER$TYP,174540,-1696.,3 -1712.#UBF3 UBFN ER$UBF,174520,-1712.,3 -1728.#USZ3 USZ 7 ER$USZ,174500,-1728.,)3 -1744.#VER3 VERT/ ER$VER,174460,-1744., 3 -1760.#VOL3 VOL7 ER$VOL,174440,-1760.,=3 -1776.#WER3 WER.: ER$WER,174420,-1776.,3 -1784.#WLK3 WLKE. ER$WLK,174410,-1784.,3 -1792.#WPL3 WPL.F ER$WPL,174400,-1792.,3 -1808.#XAB3 XAB: ER$XAB,174360,-1808.,BUFFER SIZE(USZ=0)>)3 -1744.#VER3 VERT/ ER$VER,174460,-1744., 3 -1760.#VOL3 VOL7 ER$VOL,174440,-1760.,=3 -1776.#WER3 WER.: ER$WER,174420,-1776.,%TWkt^E`8~T`l~W@?4v backup files can only be accessed properly by tQhe RST utility< (type HELP RST for more information). User programs cannot change backup data. tB BCK uses only magnetic tapes with ANSI-standard labels. However,> the backup data written by the utility between the labels may not comply with ANSI standards. To invoke installed BCK:, BCK[command string] To invoke uninstalled BCK:r RUN $RMSBCK n? Type HELP BCK COMMAND for an explanation of BCK's command linew and switches. 2 See the RMS-11 User's Guide for more information. 2 COMMANDy (+ The general form of BCK's command line is:o m? outfile[/switch...]=infile[/switch...][,infile[/switch...]...]  h> outfile - the filespec of a backup file. If the backup mediumA is disk, file name and extension must be *[.*]. If the6 backup medium is magtape, all backup files will be< in a container file, which must be specified explicitly.A infile - the filespec of a disk file from which the backup copy- is to be created. Wild cards are allowed.m Switches: y' Type Format Description Defaultl * String ? Print HELP message No help HELP l/ Global /ID Identify current version No idf b2 /[NO]QU Enable/disable query mode /QU iD /SL[:filespec] Provide summary listing No summary! (in file, if specified)  a/ Outfile /RA Read after writing No readingl + /RC Check after writing No checking  c- /RW Rewind magtape before No rewindingc writing 2 /SU Supersede old files No supersession a6 Infile /CD:date[:v] backup files based on No date! creation date checking  n2 /RD:date[:v] backup files based on No date  revision date checking  where:[ date - dd-mon-yyd= v - not specified - created/revised on the specified date4 A - created/revised after the specified date5 B - created/revised before the specified date RW Rewind magtape before No rewindingc writing 2 Q@Q 3F8 A CNV reads records from an RMS-11 file of any type and loads them? into another RMS-11 file of any type. CNV uses standard RMS-119 file access methods. IFL is the most efficient method of0 populating empty indexed files (type HELP IFL). To invoke installed CNV:  MCR>CNV[command string] DCL>MCR CNV[command string] To invoke uninstalled CNV: RUN $RMSCNV F Type HELP CNV COMMAND for an explanation of CNV's command line. Type8 HELP CNV SWITCHES for an explanation of CNV's switches. s2 See the RMS-11 User's Guide for more information. 2 COMMANDn e+ The general form of CNV's command line is:R 1& outfile[/switch(...)]=infile[/switch] fB outfile - the filespec of the file that is to receive the records> of the input file. Wild cards are not allowed. The default7 version for sequential (specified with /AP or /SU),V; indexed, and relative files is the highest version; forn= sequential files without /AP or /SU, the highest versionx= + 1. Relative and indexed output files must exist.fD infile - the filespec of the file from which records will be read.> Wild cards are not allowed. Do not use a BCK back-up file. 2 SWITCHES l- Type Format Description Defaults - String ? Print HELP message No help. HELPu 2 Global /ID Identify current version No id V7 /SL[:filespec] Provide summary listing No summary  (in file, if specified) - Outfile /AP Append records to No append1 Q sequential file u2 /BL[:nnnn] Set magtape block size 512. bytes f, /FO:val File organization Sequential r/ /LO Honor fill numbers when Fill buckets. writing indexed filea / /MA Use mass insert and No mass insert; + sequential put operations random put) to optimize performance operationsi N+ /PD[:[#]x] Pad input records to Aborty output-record length n l+ /SU Supersede existing No supersede  sequential file & /TR Truncate input records Abort to output-record length s f+ /WF Write or read fixed Ignore fixedl" control area control area n6 Infile /KR:n Key of reference number Primary key (n=0)n t where:m, nnnn - a decimal number between 18 and 8192 and an even multiple of 4e val - SEQ, sequential file REL, relative file IDX, indexed file x - null9 ASCII A-Z, 0-9, or special character except #, ?, and @s: octal number 000-377 (43 for #, 77 for ?, and 100 for @) n - 0 to 9 o output-record length s f+ /WF Write or read fixed Ignore fixedl" control area control area n6 Infile /KR:n Key of reference number Primary key (n=0)n t where:m, nnnn - a decimal number between 18 and 8192 and an even multiple of 4e val - SEQ, sequential file REL, relative file IDX, indexed file x - null9 ASCII A-Z, 0-9, or special character except #, ?, and @s: octal number 000-377 (@Q 3C Q C DEF is an interactive utility that creates RMS-11 files. To invoke installed DEF: MCR>DEF[command string] DCL>MCR DEF[command string]  To invoke uninstalled DEF: RUN $RMSDEF  command string can be:+ @filespec Reads an indirect command file , HELP or ? Prints introductory HELP message! /ID Prints DEF's version number @ If you do not include a command string, DEF will prompt you for4 file definition information. You respond by typing: Y (yes) N (no) Terminates DEF, ? Provides help text for specific question being asked> or by providing specific information, such as file name, file organization, record format.* For details, see the RMS-11 User's Guide. @filespec Reads an indirect command file , HELP or ? Prints introductory HELP message! /ID Prints DEF's version number @ If you do not include a command string, DEF will prompt you for4 file definition information. You respond by typing: Y (yes) N@Q 3F C DSP displays a concise description of any RMS-11 file's attributesA or lists the contents of back-up container files on ANSI-labeled magtape. To invoke installed DSP: MCR>DSP[command string] DCL>MCR DSP[command string] To invoke uninstalled DSP: RUN $RMSDSP F Type HELP DSP COMMAND for an explanation of DSP's command line. Type8 HELP DSP SWITCHES for an explanation of DSP's switches.2 See the RMS-11 User's Guide for more information. 2 COMMAND + The genQeral form of DSP's command line is:i o5 [outfile=]infile[/switch...][,infile[/switch...]...]n o> outfile - the filespec of a file to contain the attributes or: list the contents of the input file(s). If outfile is3 not supplied, the information is printed on the) terminal. No wild cards are allowed.D r# infile - the filespec for either:. y+ Any RMS-11 file whose attributes you wantD displayed. 3 A back-up container file on ANSI-labeled magtape 2 whose contents you want listed. You must include the /BP switch.u 2 SWITCHES$ Type Format Description Default o' String ? Print HELP message No helpn HELP t, Global /ID Identify current version No id l9 Infile /BP List contents of back-up Display attributesp+ container files(s) of magtape containera files 1 /FU Display all indexed Basic display only- file attributeses you wantD displayed. 3 A back-up container file on ANSI-labeled magtape 2 whose contents you wan@ Q 3F C IFL reads records from any type of RMS-11 file and loads them intoE an existing, empty, indexed file. CNV alsp populates indexed files, 0 but in a nonoptimized fashion (type HELP CNV). To invoke installed IFL:  MCR>IFL[command string] DCL>MCR IFL[command string] To invoke uninstalled IFL: RUN $RMSIFLF Type HELP IFL COMMAND for an explanation of IFL's command line. Type5 HELP IFL SWITCHES for information on IFL's switches.9 See the RMS-11 User's Guide for more infoQrmation on IFL.s c 2 COMMANDn+ The general form of IFL's command line is:a x' outfile[/switch...]=infile[/switch...]u e@ outfile - the filespec of an existing, empty, indexed file that< is to receive the records of the input file. Wild cards7 are not allowed. The default version is the highestd9 version. Bucket size must be 5 blocks or less, and nol% more than 10 keys can be defined.H D infile - the filespec of the file from which records will be read.? Wild cards are not allowed. Any RMS-11 file organization isn= permitted but no more than 10 keys can be defined. Do noti= use a BCK output file. IFL ignores the fixed-control area  of VFC records. t 2 SWITCHES) Type Format Description Defaultr ) String ? Print HELP message No help  HELP d1 Global /ID Identify current version No id, d@ Outfile /ER[:filespec] Write exception records Write exception, on terminal or to records on terminal specified file 7 /NOER[:S] Stop processing if input Write exception m/ record is incompatible records on terminal  i0 /LO Honor fill numbers Fill buckets n l8 /PD[:[#]x] Pad input records to Handle input as5 output record length exception record ifn different lengths E3 /TR Truncate input records Handle input aso0 to output record length exception record if different lengths  Infile /DE:dvn[:dvn[:dvn[:]]]e- Reassign devices for sort Create and uset! work files sort work filesi on SY:r s6 /KR:n Key of reference number Primary key (n=0) o5 /NOSO Do not sort before loading Sort input file  before loadingH l where:s  x - null, pad with nulls9 ASCII A-Z, 0-9, or special character except #, ?, and @R9 octal number 000-377 (40 for SPACE, 43 for #, 77 for ?,p and 100 for @)n c3 dvn - physical device name and logical unit numbern v n - decimal numberign devices for sort CreQ@Q 3F@ = RST restores files from magtape or disk container files that> were backed up using BCK (type HELP BCK for more information)= and produces standard RMS-11 files as output. The structure,; content, and attributes of the restored files are those of, the original file when they were backed up. To invoke installed RST: MCR>RST[command string] DCL>MCR RST[command string] To invoke uninstalled RST: RUN $RMSRSTF Type HELP RST COMMAND for an explanation of RST's command line. Type6 HELP RST SWITCHES for an explanation of the switches.2 See the RMS-11 User's Guide for more information. r 2 COMMAND + The general form of RST's command line is:t .? outfile[/switch...]=infile[/switch...][,infile[/switch...]...]a t@ outfile - the filespec of a file to be restored. The file name8 and extension must be *[.*]. You cannot rename files8 as they are restored. The version can be omitted or8 can be a wild card. In both instances, the version & used is that of the original file. H> infile - the filespec of a magtape or disk container file in5 backup format. Wild cards can be used to specifyr? multiple files. If version is omitted and the inputl5 file is on magtape, the following defaults apply:t f- If wild cards appear in either or both filee/ name and extension, all versions of all filesa) satisfying the wild cards are selected.r n0 If both file name and extension are explicitly+ specified, the first physically occurringo2Q instance of the file with version 0 is selected. m 2 SWITCHES- Type Format Description Defaultc s/ String ? Print HELP message No helpe HELP t0 Global /ID Identify the current No id versiona y3 /[NO]QU Enable/disable query mode /QUe 9 /SL[:filespec] Provide summary (in file, No summaryg if specified)e d. /FR Change protection code Original protectione t5 /RA Read after writing No readingw 6 /RC Check after writing No checking 8 /SU Supersede existing files No supersession PC Infile /BD:date Restore disk files based No date checkingi on date of back up e4 /OA:[g,m] Select files based on OA:[*,*] original account e7 /SE:filespec Restore specified file(s) SE:*.*;*s/ /SE:(filespec1, from backup container filec# filespec2[,...filespec10]) where:   date - dd-mon-yyt 1 [g,m] - account number in [group,member] formatr writing No checking 8 /SU Supersede existing files No supersession PC Infile /BD:date Restore disk files based No date checkingi on date of back up e4 /OA:[g,m] Select files based on OA:[*,*] original account e7 /SE:filespec Restore specified file(s) SE:*.*;*s/ /SE:(filespec1, from backup container filec# filespec2[,...filespec10]) where:   date - dd@LQ "!Q<0Q  ! @+y@p,x/e"""`y'y'ț2XM3@__Mp:w"xHxyxsh zK"}} hLk LX@Q @  %Q@Q d DELETE DOCTOR.FEL;* DELETE NEW.FIL;* DELETE *.OBJ;* DELETE *.TSK;* DELETE NEWHI.MAC;*@Q M .ENABLE SUBSTITUTION .IFNDF .GOTO MCRSYS .SETS STCLI .IF EQ "DCL" SET TERM MCR.MCRSYS: .TESTFILE CLOCK.MAC .IF EQ 1 .GOTO OKAY ;F ; You must have the file "CLOCK.MAC" in your directory before you canG ; use this procedure. There should be a copy of the file available in? ; the directory containing this file. See your system manager ; /.OKAY: .OPEN CLKPRE.MAC .DATA .ENABL LC ;D ; This procedure allows you to assemble and build a version o)Qf the G ; VT-52/VT100 clock display program "CLOCK" that suits your taste and < ; your system.  ; MG ; Before you continue with this procedure, be sure that your VT100 (if;H ; you have one) is set to VT52 compatability mode. If you have a VT52, ; you''re all set.h ;A ; "CLOCK" displays the time in large block numbers 10 charactersnH ; high. The character normally used to make up the numerals is a solidK ; block (the graphic-mode equivalent of "a"). On some terminals, however,iF ; this character may not display as a solid block; or, you may prefer ; something else. ; .SETS TEMP "FORCHR = ''"B .SETS REGCHR "a"w; .ASK A Do you want to change the default display character  .IFF A .GOTO DEFCHR ;A ; Here is your selection. You can choose any character, but theLB ; lowercase characters translate to their graphic equivalents, as? ; shown below (the default is "a"; enter to preserve it).d ;# ;; abcdefghijklmnopqrstuvwxyz{|}`~f' ;F; abcdefghijklmnopqrstuvwxyz{|}`~Gt ;;GrB .ASKS[0:1] CHAR What symbol do you want as the display character? .IF EQ 0 .GOTO DEFCHRH .DATA 'TEMP''CHAR'H .GOTO POSTON .DEFCHR: .DATA 'TEMP''REGCHR' .POSTON: .DATA .DSABL LCG ;M ; The display is normally centered horizontally on the screen, near (but not. ; at) the top. You can change this position. ;E .ASK A Do you want to change the position of the clock on the screenr .IFF A .GOTO DEFPOS ;D .ASKS VPOS How many lines down from the top (Range 1-8, Default 3)?# .IF EQ 0 .DATA INITY = 3. ( .IF GT 0 .DATA INITY = 'VPOS'. ;E .ASKS HPOS How many lines in from the left (Range 1-35, Default 11)?$ .IF EQ 0 .DATA INITX = 11.( .IF GT 0 .DATA INITX = 'HPOS'. .GOTO SYSTEMo.DEFPOS: .DATA INITX = 11. .DATA INITY = 3.t.SYSTEM: ;M ; The following section includes or excludes some system-dependent functions  ; of the clock. ;@ .ASK OLDM Is your system an RSX-11M V3.2 (or older), or VAX/VMS .IFF OLDM .GOTO NEWSYS3.NOS-QPN:< .DATA POT = 0 .DATA RMDSPT = 0F .DATA DCLSPT = 0A .GOTO FINISH..NEWSYS: ;L ; Since you answered no to last question, I assume you have an RSX-11M V4.0 ; system or RSX-11M-PLUS. ;G .ASK SPAWN Does your system support parent/offspring tasking (most do)= .IFF SPAWN .GOTO NOSPN .DATA POT = 1 ;M ; Many RSX-11M/M-PLUS systems have DIGITAL Command Language (DCL), but no M $ ; 3.2 or earlier M systems have it. ;# .ASK DCL Does your system have DCLS .IFF DCL .DATA DCLSPT = 0 .IFT DCL .DATA DCLSPT = 1 ;H ; Your system may have a user version of the RMDEMO system display taskE ; available. If so, the MCR RMD command or the DCL SHOW MEMORY and s2 ; SHOW TASKS/DYNAMIC commands produce the display ;) .ASK RMD Is this the case on your system= .IFF RMD .DATA RMDSPT = 0 .IFT RMD .DATA RMDSPT = 1.FINISH: .CLOSE CLKPRE.MAC ; ; Now we'll build your clocko ; MAC CLOCK=CLKPRE,CLOCKt TKB CLOCK=CLOCK PIP CLKPRE.MAC;0,CLOCK.OBJ;*/DE ;@ .ASK A Do you want to purge previous versions of the clock task .IFT A PIP CLOCK.TSK/PU .IFNDF .GOTO DONE .IF STCLI EQ "DCL" SET /DCL=TI:.DONE: ; RUN CLOCK ;A ; To use this clock in the future, issue the command "RUN CLOCK"e display ;) .ASK RMD Is this the case on your system= .IFF RMD .DATA RMDSPT = 0 .IFT RMD .DATA RMDSPT = 1.FINISH: .CLOSE CLKPRE.MAC ; ; Now we'll build your clocko ; MAC CLOCK=CLKPRE,CLOCKt TKB CLOCK=CLOCK PIP CLKPRE.MAC;0,CLOCK.OBJ;*/DE ;@ .ASK A Do you want to purge@Q 1Q .ENABLE SUBSTITUTION.BEGIN: .ASKS FIL Which file? TYPE 'FIL' .ASK DEL Delete it .IFT DEL DELETE 'FIL';* .GOTO BEGIN@Q  D .ENABLE QUIET .IF EQ "MCR" SET /DCL=TI: TYPE HELLO.TXT@Q  *5Q SHOW DEVICES SHOW USERS SHOW TIME@Q bTI:DON'T LOSE YOUR HEADTI:TO GAIN A MINUTETI:YOU NEED YOUR HEADTI:YOUR BRAINS ARE IN IT@.Q (N9QCNC THIS TASK (TMCLI) ILLUSTRATES THE USE OF THE CLI CONTROL DIRECTIVES PRESENT )C IN RSX-11M V4.0 AND RSX-11M-PLUS V2.0. CFC WHEN SET UP AS A TERMINAL'S CLI, IT PROVIDES THE FOLLOWING COMMANDS:CC T -> TYPE FILEC M -> SET TERMINAL TO MCRC>C IF THE FIRST TWO LETTERS OF THE COMMAND ARE NOT "T" FOLLOWED3C BY A SPACE, OR "M" FOLLOWED BY A CARRIAGE RETURN,8C THE COMMAND IS PASSED TO MCR FOR EXECUTION. THEREFORE,HC USERS AT TERMINALS SET TO THIS CLI WILL SEE THE ENTIRE MCR COMMAND SETFC AS BEING PRESENT, PLUS THE "T" AND "M" COMMANDS. IF THE "DPR" SWITCHFC IS INCLUDED ON THE CLI /INIT COMMAND, USERS WILL KNOW IMMEDIATELY IFGC THEIR TERMINAL IS SET TO THIS CLI BY THE PRESENCE OF THE DOUBLE RIGHT C ANGLE BRACKET AS THE PROMPT.COFC IF IT IS INITIALIZED WITH THE SYSTEM MESSAGE OPTION ENABLED, IT WILLDC GREET USERS WHEN THEIR TERMINAL IS SET TO THE CLI, AND SAY GOODBYE C TO THEM WHEN THEY SWITCH AWAY.CFBC IN ORDER TO BRING THIS CLI UP ON THE SYSTEM, ISSUE THE FOLLOWINGC COMMAND SEQUENCE:GCEC >FOR TMCLI,TMCLI/-SP=TMCLI.C >TKB TMCLI/FP,TMCLI/-SP=TMCLI,[1,1]FOROTS/LB C >INS TMCLI/CLI=YES/TASK=...TMC9C >CLI /INIT=TMCLI/MESSAGE/DPR="<15><12>/>>/"/TASK=...TMCECE?C IF USING FORTRAN IV-PLUS INSTEAD OF FORTRAN IV, THE FIRST TWO C COMMANDS ABOVE WOULD BE:CY C >F4P TMCLI,TMCLI/-SP=TMCLI.FTN.C >TKB TMCLI/FP,TMCLI/-SP=TMCLI,[1,1]F4POTS/LBC ;C TO SET TERMINALS TO THIS CLI, ISSUE THE FOLLOWING COMMAND 6C WHERE TTN: IS REPLACED BY THE TERMINAL NUMBER OR TI:COC >SET /CLI=TTN:TMCLIECHC NOTE THAT THE PROMPT ISSUED IN RESPONSE TO A CONTROL/C DEFAULTS TO THE%C NAME OF THE CLI WHICH IS "TMCLI>". CC JC IT CAN BE ELIMINATED FROM THE SYSTEM BY THE FOLLOWING COMMANDS, ASSUMINGC NO TERMINALS ARE SET TO IT: C C >CLI /ELIM=TMCLI C >REM ...TMCUCBHC EXPERIMENT WITH THE OTHER OPTIONS ON THE CLI /INIT COMMAND, THE ENABLELC AND DISABLE CLI COMMANDS, AND LEAVING OFF THE /MESSAGE SWITCH ON THE /INITGC COMMAND TO OBSERVE THE EFFECT THEY HAVE. ALSO TRY CHANGING THE /TASK=LEC SW=QITCH ON THE INS AND CLI /INIT COMMAND TO "/TASK=TMCLI" AND NOTICELJC THAT ONLY ONE COPY OF THE TASK WILL EXIST FOR ALL TERMINALS, RATHER THANEC ONE PER COMMAND. IF THIS IS DONE, YOU SHOULD ALSO CHANGE THE OPTIONRLC ON THE GTCMCI DIRECTIVE FROM GC.CEX TO GC.CST SO THE TASK WILL STAY ACTIVE6C BUT STOPPED WHEN NO COMMANDS ARE OUTSTANDING FOR IT.CBCC BUFFER AREASCOKC COMMAND BUFFER - THIS BUFFER IS USED IN THE GTCMCI DIRECTIVE. IT CON-ECC TAINS INFORMATION ON THE COMMAND RECEIVED (8 BYTES) %C AND THE COMMAND TEXT.L BYTE CMDBUF(264)H7 INTEGER*2 CBLEN ! NOTE THAT ON M+ THE MAXIMUM COMMAND," DATA CBLEN/263/ ! LENGTH IS 255.< INTEGER*2 GCCDV, GCCCL ! ASCII DEV NAM, # CHARS IN CMD LINEA BYTE GCCCT, GCCUN, GCCBF(255) ! # OF CHARS, TERMINAL UNIT #, CMD B EQUIVALENCE (GCCDV,CMDBUF), (GCCCL,CMDBUF(5)), (GCCCT,CMDBUF(4)),+ 1 (GCCBF,CMDBUF(9)), (GCCUN,CMDBUF(3))ECS@C INFORMATION BUFFER - ALSO RETURNED IN THE GTCMCI DIRECTIVE.CM BYTE IBUF(14) INTEGER*2 GCCPU; DATA IBLEN/14/,GCCPU/9/ ! LENGTH OF IBUF, LOGIN UIC OFFSET2? INTEGER*4 GCCOA ! ADDR OF OFFSPRING CONTROL BLOCK FROM PARENTD EQUIVALENCE (GCCOA,IBUF(7))C)C BUFFER IN WHICH TO GENERATE COMMANDSCCS5 BYTE BUF(72) ! BUFFER IN WHICH TO GENERATE COMMANDSR; REAL*8 TCMD(2) ! FOR CONVENIENCE IN ASSIGNMENT STATEMENTS, EQUIVALENCE (BUF,TCMD)(C,C MCR TASK NAME IN RAD50GCN) INTEGER*4 IMCR ! MCR TASK NAME IN RAD50  DATA IMCR/6RMCR.../CC&C DIRECTIVE SYMBOLIC VALUE DEFINITIONSC2% INTEGER*2 GCCCS, GCCEX, GCCST, GCCNDTH DATA GCCCS, GCCEX, GCCST, GCCND /0, 1, 2, 128/ ! INCP VALUES IN GTCMCI% DATA ISCLR /0/ ! IS.CLR RETURN CODEOG INTEGER*2 CMELM, CMEXT, CMLKT, CMRMT ! TERMINAL CODES FOR SYSTEM MSGS(- DATA CMELM, CMEXT, CMLKT, CMRMT /5, 6, 7, 8/RC* C CLI CODECRLC TO FORCE THE CLI TO EXIT INSTEAD OF RETURNING, THE GC.CEX OPTION IS SPECI-KC FIED IN THE GTCMCI DIRECTIVE BELOW. IF THE CLI IS INSTALLED SO THAT ONLYMHC ONE COPY OF THE TASK WILL EXIST FOR ALL TERMINALS, CHANGAQE THE VARIABLEJC GCCEX BELOW TO GCCST. THIS SPECIFIES THE GC.CST OPTION SO THAT THE TASKGC WILL STAY ACTIVE BUT STOPPED WHEN NO COMMANDS ARE OUTSTANDING FOR IT.RCCG 1 CALL GTCMCI(CMDBUF,CBLEN,IBUF,IBLEN,0,GCCEX,IDS) ! GET CMD FOR CLI, IF (IDS .LT. 0) GO TO 100C8FC IF THE GTCMCI DIRECTIVE HAD THE GC.CST OPTION SPECIFIED, WE MAY HAVE5C JUST BEEN UNSTOPPED, SO WE HAVE TO GET THE COMMAND.CCE6 IF (IDS .EQ. ISCLR) GO TO 1 ! WERE WE JUST UNSTOPPED? O8 IF (GCCDV .EQ. 0) GO TO 200 ! IS THIS A SYSTEM MESSAGE? 4 IGCCUN = GCCUN ! CONVERT BYTE TO INTEGER (UNIT #); CALL ASNLUN(5,GCCDV,IGCCUN,IDS) ! ASSIGN TERMINAL TO LUN 5C) IGCCCT=GCCCT ! CONVERT BYTE TO INTEGERC IF (IGCCCT .GE. 0) GO TO 5I6 IGCCCT = 256 + IGCCCT ! CONVERT NEGATIVE TO UNSIGNEDH 5 IF (IGCCCT .LT. GCCCL) GOTO 150 ! DID ENTIRE COMMAND FIT IN BUFFER?CAEC AT THIS POINT, THE CLI HAS A COMMAND TO BE PROCESSED. THE CODE FROM =C THE LABEL 1 TO HERE SHOULD BE FAIRLY COMMON AMONG ALL CLIS.CJC FROM THIS POINT ON, THE CODE WILL BE SPECIFIC TO THE PARTICULAR LANGUAGEDC THIS CLI IS IMPLEMENTING. COMMANDS CAN BE ADDED OR DELETED AT WILLDC BY MODIFYING CODE IN THIS SECTION. AS STATED ABOVE, THIS EXTREMELYEC SIMPLE CLI PROVIDES TWO COMMANDS, AND GIVES EVERYTHING ELSE TO MCR.TIC THIS CREATES AN OPEN ENDED ENVIRONMENT. REJECTING UNRECOGNIZED COMMANDSNGC INSTEAD OF PASSING THEM TO MCR WOULD LIMIT THE TERMINAL USER'S USE OF AC THE SYSTEM TO ONLY THOSE OPERATIONS ALLOWED BY THE CLI. THIS IS HC A SECURE WAY OF CONTROLLING SYSTEM USE, IN CASES WHEN IT IS NECESSARY.AC IN THIS EXAMPLE, CHANGING THE "GO TO 50" BELOW, TO A "GO TO 60"TCC WOULD CREATE AN ENVIRONMENT WHERE THE ONLY OPERATION A USER COULDSHC PERFORM WOULD BE TO TYPE FILES ON THE TERMINAL, OR SWITCH BACK TO MCR.JC ALL OF THE REST OF RSX IS TOTALLY INACCESSABLE. IF NO MEANS OF SWITCHINGDC BACK TO MCR IS PROVIDED, IT WOULD BE IMPOSSIBLE FOR THE USER TO DO2C ANYTHING THE CLI DOES NOT EXPLICITLY LET HIM DO.COC IS IT A "T" COMMAND?C < IF ((GCCBF(1) .EQ. 'T') .AND. (GCCBEQF(2) .EQ. ' ')) GO TO 10CSIC CHANGE THE NEXT IF STATEMENT TO "GO TO 60" TO ELIMINATE PASSING UNKNOWN C COMMANDS TO MCR.CM C IS IT ALSO NOT AN "M" COMMAND?COB IF ((GCCBF(1) .NE. 'M') .OR. (GCCBF(2) .NE. 13)) GO TO 50 ! MCTBC THE USER HAS ENTERED AN "M" COMMAND, SO SET THE TERMINAL TO MCR.CF TCMD(1) = 'SET /MCR'C$ TCMD(2) = '=TI: ' ! SET /MCR=TI:7 IGRP = IBUF(GCCPU+1) ! (CONVERT BYTE TO INTEGER) GROUPY( IMEM = IBUF(GCCPU) ! MEMBER PART OF UICC*C ISSUE RPOI$ DIRECTIVE TO EXECUTE COMMANDC < CALL RPOI(IMCR,IGRP,IMEM,,TCMD,12,,GCCDV,IGCCUN,,GCCOA,IDS)# IF (IDS .LE. 0) GO TO 110 ! ERROR?M GO TO 1 ! BACK TO STARTCNCC THE USER HAS ENTERED A "T" COMMAND SO CONSTRUCT THE NECESSARY PIP1C COMMAND AND SEND IT TO MCRCS> 10 TCMD(1) = 'PIP TI:=' ! PUT BEGINNING OF PIP CMD IN BUFFER& I2 = 8 ! POINTER INTO TARGET BUFFER= DO 20, I1 = 10, CBLEN ! BEGIN AT SPACE AFTER THE T IN CMDBUFI< IF (CMDBUF(I1) .EQ. 13) GO TO 30 ! END OF COMMAND? ()6 IF (CMDBUF(I1) .EQ. ' ') GO TO 20 ! SKIP ANY SPACES! I2 = I2 + 1 ! COUNT CHARACTERG1 BUF(I2) = CMDBUF(I1) ! COPY INTO OUTPUT BUFFERR 20 CONTINUE!; 30 IGRP = IBUF(GCCPU+1) ! (CONVERT BYTE TO INTEGER) GROUPO( IMEM = IBUF(GCCPU) ! MEMBER PART OF UICCD*C ISSUE RPOI$ DIRECTIVE TO EXECUTE COMMANDC < CALL RPOI(IMCR,IGRP,IMEM,,TCMD,I2,,GCCDV,IGCCUN,,GCCOA,IDS)# IF (IDS .LE. 0) GO TO 110 ! ERROR?G GO TO 1 ! BACK TO STARTCUCC IN THE ABOVE SECTION OF CODE, THE RPOI DIRECTIVE WAS USED TO PASSI9C THE PIP COMMAND TO THE MAIN COMMAND DISPATCHER (MCR...) BC WHICH WILL START A COPY OF PIP AND GIVE IT THE COMMAND. THE RPOIDC DIRECTIVE COULD BE USED TO GIVE THE COMMAND DIRECTLY TO ...PIP AND<C GIVE THE RESULTING TASK A DIFFERENT NAME. IN THIS EXAMPLE,>C WE COULD CALL THE RESULTING PIP TASK "TYPTNN" WHERE THE LASTDC THREE CHARACTERS (TNN) ARE REPLACED BY A DEVICE NAME CHARACTER ANDAC UNIT NUMBER. FOR EXAMPLE, IF THE "T" COMMAND WAS TYPED ON TT10:CDC THE RESULTING TASK NAME COULD BE MADE TO BE "TYPT10". THIS HAS THEGC ADVAIQNTAGE OF ALLOWING THE TASK TO BE ABORTED BY AN "ABO TYP" COMMAND,PEC INSTEAD OF "ABO PIP", THUS THE USER WOULD NOT HAVE TO KNOW THAT THEHEC "T" COMMAND HE ISSUED IS ACTUALLY BE SERVICED BY THE PIP TASK. THIS @C IS EXACTLY WHAT THE DCL CLI DOES. IT IS NOT DONE HERE IN ORDER@C TO SIMPLIFY THE EXAMPLE. PICKING UP THE TERMINAL NAME AND UNITHC NUMBER, CONVERTING IT TO RAD50, AND SUPPLYING IT IN THE RPOI DIRECTIVEHC ALONG WITH A DIRECT REQUEST OF PIP IS LEFT AS AN EXERCISE TO THE USER.>C (BE CAREFUL ON M-PLUS SYSTEMS WITH MORE THAN 64. TERMINALS).IC NOTE THAT REQUESTING PIP DIRECTLY AVOIDS A SUBSTANTIAL AMOUNT OF SYSTEMA C OVERHEAD.ACHCCT5C COMMAND IS NOT "T" OR "M", SO GIVE IT TO MCR AS IS.TC.; 50 IGRP = IBUF(GCCPU+1) ! (CONVERT BYTE TO INTEGER) GROUPR( IMEM = IBUF(GCCPU) ! MEMBER PART OF UIC( IGCCCT = GCCCT ! # OF CHARS IN COMMANDC *C ISSUE RPOI$ DIRECTIVE TO EXECUTE COMMANDC A CALL RPOI(IMCR,IGRP,IMEM,,GCCBF,IGCCCT,,GCCDV,IGCCUN,,GCCOA,IDS)E# IF (IDS .LE. 0) GO TO 110 ! ERROR?N GO TO 1 ! BACK TO STARTC6CC CONTROL IS TRANSFERED HERE IF UNKNOWN COMMANDS ARE TO BE REJECTEDI!C INSTEAD OF BEING PASSED TO MCR.C 60 WRITE (5,62)S 62 FORMAT('0ILLEGAL COMMAND')R GO TO 1 ! BACK TO STARTCGC ERROR HANDLING CODE CI( 100 WRITE (5,102) IDS ! ERROR IN GTCMCI9 102 FORMAT('0FATAL ERROR IN GTCMCI DIRECTIVE. DSW=',I6)  GO TO 250 ! EXITCV& 110 WRITE (5,112) IDS ! ERROR IN RPOI7 112 FORMAT('0FATAL ERROR IN RPOI DIRECTIVE. DSW=',I6)  GO TO 250 ! EXITC!: 150 WRITE (5,152) ! ENTIRE COMMAND DID NOT FIT IN BUFFER4 152 FORMAT('0SORRY, PART OF YOUR COMMAND WAS LOST') GO TO 1 ! BACK TO STARTC4C A SYSTEM MESSAGE WAS RECEIVED INSTEAD OF A COMMANDCR 200 CONTINUEBE IF (GCCUN .EQ. CMLKT) GO TO 210 ! IS IT A NEW TERMINAL LINKED TO US?EB IF (GCCUN .EQ. CMRMT) GO TO 220 ! IS IT A TERMINAL BEING REMOVED?A IF (GCCUN .EQ. CMEXT) GO TO 250 ! IS IT AN ELIMINATE ALL PACKET?PC IF (GCCUN .EQ. CMELM) GO TO 250 ! IS IT A CLI ELIMINATION MESSAGE?2& GO TO 1 ! IGNORE ALL MQOTHER MESSAGESCEC ISSUE WELCOME MESSAGEUCRB 210 IGCCUN = CMDBUF(11) ! CONVERT BYTE TERMINAL UNIT # TO INTEGERC CALL ASNLUN(5,GCCBF,IGCCUN,IDS) ! ASSIGN LUN 5 TO SPECIFIED DEVICEA WRITE (5,212)* 212 FORMAT('0WELCOME TO THE EXAMPLE CLI') GO TO 1 ! BACK TO STARTCSC ISSUE GOOD BYE MESSAGEC B 220 IGCCUN = CMDBUF(11) ! CONVERT BYTE TERMINAL UNIT # TO INTEGERC CALL ASNLUN(5,GCCBF,IGCCUN,IDS) ! ASSIGN LUN 5 TO SPECIFIED DEVICEO WRITE (5,222)- 222 FORMAT('0GOOD BYE FROM THE EXAMPLE CLI')L GO TO 1 ! BACK TO STARTCE=C WHEN AN ELIMINATE ALL MESSAGE IS RECEIVED, EXIT IMMEDIATELYMCL 250 CONTINUEG CALL EXIT END F,IGCCUN,IDS) ! ASSIGN LUN 5 TO SPECIFIED DEVICEA WRITE (5,212)* 212 FORMAT('0WELCOME TO THE EXAMPLE CLI') GO TO 1 ! BACK TO STARTCSC ISSUE GOOD BYE MESSAGEC B 220 IGCCUN = CMDBUF(11) ! CONVERT BYTE TERMINAL UNIT # TO INTEGERC CALL ASNLUN(5,GCCBF,IGCCUN,IDS) ! ASSIGN LUN 5 TO SPECIFIED DEVICEO WRITE (5,222)- 222 FORMAT('0GOOD BYE FROM THE EXAMPLE CLI')L@`Q kQJ// .TITLE CLOCK .NLIST BEX; CONDITIONAL ASSEMBLY CONTROLS8 .IF NDF POT ; ONLY ACCEPT THE FOLLOWING DEFINITIONS IF- ; THE SYMBOL POT IS UNDEFINED. IF POT IS- ; ALREADY DEFINED, THE FILE CLOCK.MAC HAS) ; BEEN ASSEMBLED WITH THE PREFIX FILE+ ; CLKPRE.MAC, THE OUTPUT OF THE CLKGEN  ; PROCEDURE.G; THE FOLLOWING SYMBOLS ALLOW YOU TO TAILOR THE PROGRAM TO YOUR SYSTEM.6POT = 1 ; PARENT-OFFSPRING TASKING (SPWN$ DIRECTIVE)( ; 1 IF SUPPORTED, 0 IF NOT SUPPORTED. QQ ; PARENT-OFFSRPING TASKING IS SUPPORTED IN+ ; MOST M-PLUS AND M 3.2 SYSTEMS, BUT ISN) ; NOT AVAILABLE IN EARLIER M SYSTEMS. 5 .IF GT POT ; IF SPWN$ NOT SUPPORTED, YOU CAN'T HAVE  ; RMD OR DCL7RMDSPT = 1 ; RMD (SYSTEM DISPLAY) - 1 IF SUPPORTED, 03 ; IF NOT SUPPORTED. FOR THIS FUNCTION TO WORK,R* ; THE TASK MUST BE INSTALLED AS ...RMD6DCLSPT = 1 ; DCL SUPPORT - 1 IF SUPPORTED, 0 IF NOT.. ; DCL IS SUPPORTED IN MOST M-PLUS SYSTEMS,! ; NOT AVAILABLE ON M SYSTEMS./ .IFF ; IF NO PARENT-OFFSPRING TASKING, FORCE  ; RMDSPT AND DCLSPT TO 0 RMDSPT = 0 DCLSPT = 0 .ENDC*INITX = 11. ;INITIAL HORIZONTAL POSITION'INITY = 3. ;INITIAL VERTICAL POSITIONM .ENABL LC FORCHR = 'aR .DSABL LC2 .ENDC ; END OF COND. BLOCK THAT DEFINES DEFAULT% ; VALUES IF PREFIX FILE NOT USED. - .MCALL EXIT$S,DIR$,QIOW$,GTIM$S,QIOW$C,QIO$C;6 .MCALL WTSE$S,MRKT$S,ASTX$S,QIO$,SETF$S,CMKT$S,CLEF$S .MCALL QIOW$S,DRERR$ .IF GT POT  .MCALL SPWN$S .ENDC ; DEFINITIONS 9 .MACRO PRINT A,B ;MACRO TO PRINT LENGTH B FROM ADDRESS AL MOV A,OUTDPB+Q.IOPL ;ADDRESS0 MOV B,OUTDPB+Q.IOPL+2 ;LENGTH DIR$ #OUTDPB ;EXECUTE THE QIO  .ENDM@ .MACRO PRINCR A,B ;MACRO TO PRINT AS ABOVE, EXCEPT NO CAR. RET.= MOV #053,OUTDPB+Q.IOPL+4 ;VERTICAL FORMAT CODE FOR OVERPRINTS PRINT A,B8 MOV #040,OUTDPB+Q.IOPL+4 ;RESTORE NORMAL FORMAT CONTROL .ENDM; .MACRO IOFNCT FUNC ;MACRO TO DO A PARTICULAR I/O FUNCTION ? MOV OUTDPB+Q.IOFN,-(SP) ;PUSH CURRENT I/O FUNCTION CODE TO STKI> MOV #FUNC,OUTDPB+Q.IOFN ;PLACE FUNCTION CODE IN FUNCTION WORD DIR$ #OUTDPB ;DO THE FUNCTION/ MOV (SP)+,OUTDPB+Q.IOFN ;RESTORE PREVIOUS CODE; .ENDM+NUMCOM = 7. ;NUMBER OF AVAILABLE COMMANDSO/ .IF GT POT ;TEST FOR PARENT-OFFSPRING TASKINGU3NUMCOM = NUMCOM+1 ;IF AVAILABLE, YOU GET M COMMANDP% .IF GT RMDSPT ;TEST FOR RMD SUPPORTS3NUMCOM = NUMCOM+1 ;IF AVAILABLE, YOU GET S COMMANDF .ENDC% .IF GT DCLSPT ;TEST FOR DCL SUPPORTM3NUMCOM = NUMCOM+1 ;IF AVAILABLE, YOU GET D COMMANDEUQ .ENDC .ENDC.HOURS = TIMEIN+G.TIHR ;POINTER TO HOURS FIELD/MINS = TIMEIN+G.TIMI ;POINTER TO MINUTES FIELDP/SECS = TIMEIN+G.TISC ;POINTER TO SECONDS FIELD7XPOS = OUTDPB+Q.IOPL+4 ;POINTER TO VERT. CURSOR CONTROL 8YPOS = OUTDPB+Q.IOPL+5 ;POINTER TO HORIZ. CURSOR CONTROL .PAGE1; CONTROL AREA. EVERYTHING ELSE COMES FROM HERE.M6CLOCK: QIOW$C SF.GMC,5,2,,,, ;GET TERM. TYPE$ CMPB TYPBUF+1,#T.VT52 ;IS IT A VT52+ BEQ 10$ ;YES, GIVE IT AN ESCAPE SEQUENCEB% CMPB TYPBUF+1,#T.V100 ;IS IT A VT100+ BEQ 10$ ;YES, GIVE IT AN ESCAPE SEQUENCEE$ BR UNDTRM ;NO, NEITHER ONE - EXIT010$: DIR$ #SMCDPB ;DECLARE TERMINAL CAPABLE OF! ;GENERATING ESCAPE SEQUENCESO+ IOFNCT IO.ATT!TF.ESQ ;ATTACH THE TERMINAL=0 PRINT #WHORU,#2 ;ASK TERMINAL TO IDENTIFY TYPE; QIOW$C IO.RLB,5,2,,,, ;READ THE ESCAPE SEQUENCEM% IOFNCT IO.DET ;DETACH THE TERMINALU4 CLRB TCBUF+1 ;PREPARE TO DISABLE ESCAPE SEQUENCES6 DIR$ #SMCDPB ;DISABLE RECOGNITION OF ESC. SEQUENCES/ MOVB #TC.TTP,TCBUF ;PREPARE TO SET TERM. TYPEE6 CMPB IOBUF+1,#'[ ;CHECK SECOND CHARACTER OF SEQUENCE( BEQ VT100 ;IF A BRACKET, IT'S A VT100 CMPB IOBUF+1,#'/ ;CHECK AGAINA BEQ VT52 ;IF A SLASH, A VT5XO@UNDTRM: PRINT #TERROR,#TERRL ;OTHERWISE, NOT A DEFINED TERMINAL( EXIT$S ;PRINT ERROR MESSAGE AND EXIT6VT100: INCB TTTYP ;POSITIVE VALUE IN TTTYP FOR VT100: MOVB #T.V100,TCBUF+1 ;PREPARE TO SET TERM TO VT100 IN SW" BR DSPINI ;PROCEED WITH DISPLAY:VT52: CMPB IOBUF+2,#'K ;CHECK THIRD CHARACTER OF SEQUENCE3 BLT UNDTRM ;IF K OR HIGHER, A VT52; OTHERWISE NO : MOVB #T.VT52,TCBUF+1 ;PREPARE TO SET TERM. TO VT52 IN SW6DSPINI: DIR$ #SMCDPB ;SET TERM. PROPERLY IN SOFTWARE4 CALL CHRALT ; MOVE DISPLAY CHARACTER INTO STORAGE8 CALL REFRSH ;JUMP DIRECTLY TO REFRESH ROUTINE (DEFAULT ;INITIAL ACTION)JINCMND: QIOW$C IO.RVB,5,2,,IOSB,, ;WAIT FOR A COMMAND CHARACTER $TSTFLG: CLEF$S #2 ;CLEAR FLAG NO. 2 TST $DSW ;WAS FLAG SET?S7 BEQ INCMND ;IF NOT, GO BACK AND WAIT FOR IT TO BE SETEYQ/ ; (THREE LINES ABOVE FIX BUG THAT OCCURS IFH0 ; MARK TIME ELAPSES AND SETS FLAG WHILE PRO-0 ; CESSING IS GOING ON, AND THE QIO TURNS OFF ; THE FLAG AGAIN.). MOV COMBUF,R1 ;GET COMMAND CHARACTER INTO R1 * BNE 1$ ;IF CHARACTER PRESENT, PROCESS IT= CMPB IOSB,#IE.EOF ;IF NO CHARACTER PRESENT, CHECK FOR CTRL/ZI2 BNE INCMND ;IF NOT CTRL/Z, WAIT FOR NEXT COMMAND JMP EXIT ;IF CTRL/Z, EXITL:1$: CLR COMBUF ;ERASE CHARACTER FROM BUFFER FOR NEXT TIME- CMP R1,#140 ;CHECK FOR LOWER-CASE CHARACTER ! BLE 2$ ;NOT LOWER-CASE; PROCEEDU6 SUB #40,R1 ;POTENTIALLY LOWER-CASE; CONVERT TO UPPERC2$: MOV #NUMCOM-1,R0 ;SCAN COMMANDS. NUMBER OF AVAIL. COMS. INTO R0A(5$: CMPB R1,COMNAM(R0) ;BE THIS THE ONE? BEQ 7$ ;YES, GO MAKE YOUR JUMP DEC R0 ;NO, TRY THE NEXT ONE! BGE 5$ ; IF THERE IS A NEXT ONEC CALL ILLCOM ;IF NOT, TELL USER& BR TSTFLG ; AND WAIT FOR NEXT ACTION!7$: ASL R0 ;MAKE R0 A WORD INDEXO: JSR PC,@COMADR(R0) ;GO OFF AND DO WHAT YOU'RE SUPPOSED TO% BR TSTFLG ;NOW WAIT FOR NEXT ACTIONB .PAGE); COMMAND PROCESSOR SUBROUTINES, ACCESSEDE;; WITH AN INDEXED JUMP TO SUBROUTINE FROM THE CONTROL AREA.C@; TIME DISPLAY ROUTINE. ENTER WITH DIFPOS=-1 FOR NORMAL UPDATE,/; DIFPOS=0 TO FORCE COMPLETE REFRESH OF DISPLAYUA; THE FOLLOWING CODE GETS THE CURRENT TIME IN BUFFER TIMEIN, THENC=; CALCULATES THE TIME TO THE NEXT REGUALR UPDATE AND ISSUES AN0; MARK TIME REQUEST, SPECIFYING A MART-TIME AST.9UPDATE: IOFNCT IO.KIL ;KILL ANY OUTSTANDING I/O REQUESTS 3 GTIM$S #TIMEIN ;GET CURRENT TIME IN BUFFER TIMEIN * NEG SECS ;NEGATE SECONDS FIELD OF TIMEIN= ADD #60.,SECS ; AND ADD 60 TO YIELD TIME TO NEXT MIN. CHANGES4 CMKT$S ;CANCEL ANY OUTSTANDING MARK-TIME REQUESTS5 MRKT$S ,SECS,#2,#TIMAST ;DO AN AST WHEN TIME CHANGES ?; FOLLOWING CODE CONVERTS BINARY TIME IN TIMEIN TO DECIMAL TIME A; IN TIME. IT ALSO CHECKS EACH DIGIT AND SETS DIFPOS TO THE FIRSTKF; DIGIT THAT IS DIFFERENT. NOTE THAT DIFPOS MUST BE NEGATIVE ENTERINGD; THIS ROUTINE FOR SCAN TO WORK. IF DIFPOS IS 0, AL]QL DIGITS OF TIME2; ARE UNCONDITIONALLY UPDATED (HANDY FOR REFRESH).0 MOV #HOURS,R2 ;ADDRESS OF HOURS FIELD OF TIMEIN! TST MODE ;12- OR 24-HOUR CLOCK?N3 BGT 10$ ;IF POS., 24-HOUR CLOCK; SKIP SUBTRACTION,! CMP (R2),#12. ;CHECK IF AM OR PMN BLE 10$ ;IF AM, PRINT AS IST/ SUB #12.,(R2) ;IF PM, CONVERT TO 12-HOUR CLOCKM010$: CLR R1 ;R1 KEEPS TRACK OF POSITION IN TIME+20$: CLR R0 ;R0 IS COUNTER FOR DECIMALIZERA 30$: INC R0 1 SUB #10.,(R2) ;TAKE AWAY TEN FROM TIME PARAMETERR) BGE 30$ ;IF NOT NEGATIVE, TAKE TEN MORER4 DEC R0 ;TOOK TEN TOO MANY, DEC R0 FOR CORRECT TENS7 CALL DIFF ;SEE IF THIS DIGIT DIFFERENT FROM LAST TIME;. MOV (R2),R0 ;GET REMAINDER AFTER SUBTRACTION* ADD #10.,R0 ;ADD TEN TO GET CORRECT ONES# INC R1 ;BUMP THE POSITION COUNTERM7 CALL DIFF ;SEE IF THIS DIGIT DIFFERENT FROM LAST TIME & CMP R1,#4 ;DONE WITH CONVERSION YET?- BGE 40$ ;YES, GO DO SETUP FOR PRINT ROUTINEO) INC R1 ;NO. BUMP R1 PAST COLON TO HOURS) INC R1A/ TST (R2)+ ;BUMP R2 TO MINUTES FIELD OF TIMEINA BR 20$ ;NOW GO DO MINUTES 040$: TST DIFPOS ;WERE THERE ANY NEW CHARACTERS?! BLT DONE ;NO; SUPPRESS PRINTINGF) IOFNCT IO.ATT ;YES. ATTACH THE TERMINALR# CALL GRAFIC ;INVOKE GRAPHICS MODEDD; THE FOLLOWING CODE SCANS THE BUFFER TIME FROM DIFPOS, THE POSITIONB; OF THE FIRST DIGIT THAT IS DIFFERENT FROM BEFORE. IT CONSTRUCTSD; AN OUTPUT BUFFER WITH THE ELEMENTS OF EACH CHARACTER THAT IS TO BEC; OUTPUT TO THE TERMINAL, THEN PRINTS THE BUFFER. IF DOES THIS TENM+; TIMES, ONCE FOR EACH LINE OF THE DISPLAY.O?; THIS ROUTINE USES REGISTERS R0-R4 THROUGHOUT, AND R5 BRIEFLY.?$SCAN: MOV #9.,R4 ;SET UP LINE COUNT? MOVB #INITY,YPOS ;INITIALIZE CURSOR POSITIONER VERT. COMPONENTR810$: MOV DIFPOS,R3 ;GET POSITION OF FIRST DIGIT TO PRINTD MOVB CHRPOS(R3),XPOS ;GET HORIZONTAL CURSOR POSITION OF FIRST DIGIT% MOV #IOBUF,R2 ;ADDRESS OF I/O BUFFERUC20$: MOVB LINOFF(R4),R1 ;GET OFFSET INTO DATA BASE CORRESPONDING TOH ; THE CURRENT LINE NUMBERF1 MOV #10.,R0 ;SET UP COUNT OF CHARACTERS TO MOVE aQ) CMP R3,#2 ;ARE WE ABOUT TO DO THE COLONI BNE 30$ ;NO, ITS A NUMERAL. ASR R1 ;YES, COLON. CUT OFFSET VALUE IN HALF1 ADD #COLON,R1 ;ADD IN ADDRESS OF COLON DATA BASE % ASR R0 ;CUT CHARACTER COUNT IN HALFE! BR 40$ ;GO MOVE COLON TO BUFFER130$: MOVB TIME(R3),R5 ;GET VALUE OF CURRENT DIGITO: BNE 35$ ;IF DIGIT NONZERO, DO NOT CHECK FOR LEADING ZERO- TST R3 ;IF DIGIT ZERO, IS IT IN POSITION 0?E BNE 35$ ;NO, PRINT IT = MOV #COLON,R1 ;YES, SUPPRESS IT. HANDY STRING OF 10 SPACES.T BR 40$ ;GO MOVE IN THE SPACES (35$: ASL R5 ;MAKE DIGIT INTO WORD INDEXB ADD NUMADD(R5),R1 ;ADD ADDRESS OF DIGIT'S DATA BASE TO LINE OFST.D40$: MOVB (R1)+,(R2)+ ;MOVE CHARACTER FROM DATA BASE TO PRINT BUFFER DEC R0 ;DONE YET? # BGT 40$ ;NO, DO ANOTHER CHARACTER % INC R3 ;BUMP DIGIT POSITION COUNTERO! CMP R3,#5 ;DONE WITH THIS LINE?O# BLT 20$ ;NO, DO ANOTHER CHARACTERF= SUB #IOBUF,R2 ;YES. CALCULATE THE LENGTH OF THE PRINT BUFFERM% PRINT #IOBUF,R2 ; AND PRINT THE LINES& INCB YPOS ;MOVE CURSOR DOWN ONE LINE" DEC R4 ;DECREMENT THE LINE COUNT& BGE 10$ ;IF MORE LINES, PROCESS THEM1 MOVB #1,XPOS ;DONE. RESET CURSOR TO LEFT MARGIN0& PRINT #NULL,#1 ;REPOSITION THE CURSOR" CALL ALPHA ;RETURN TO ALPHA MODE5DONE: MOV #-1,DIFPOS ;INITIALIZE DIFPOS FOR NEXT TIMEC$ IOFNCT IO.DET ;DETACH THE TERMINAL3 RETURN ;GO BACK AND WAIT FOR SOMETHING TO HAPPENN"; EXIT ROUTINE (THIS IS A TOUGHIE)"EXIT: CALL WIPE ;CLEAR THE SCREEN EXIT$SI"; ILLEGAL COMMAND NOTIFIER ROUTINE+ILLCOM: IOFNCT IO.ATT ;ATTACH THE TERMINAL;3 MOVB #INITY+10.,YPOS ;SET UP VERT. CURSOR POSITIONR- MOVB #1,XPOS ;SET UP HORIZ. CURSOR POSITIONT TSTB TTTYP ;CHECK FOR VT100 + BEQ 10$ ;NOT A VT100 - JUST PRINT MESSAGET0 PRINT #BB100,#BB100L ;TURN ON BOLD AND BLINKING)10$: PRINT #ILLMES,#ILLMEL ;PRINT MESSAGE # MOVB #INITY+10.,YPOS ;RESET CURSORW TSTB TTTYP ;A VT100P# BEQ 20$ ;NO, JUST POSITION CURSORG. PRINT #BBOFF,#BBOFFL ;TURN OFF BOLD AND BLINK* BR 30$ ;NOT NECESSARY TO POSITION CURSOR/20$: PRINT #NULL,#1 ;REPeQOSITION CURSOR TO STARTM.30$: IOFNCT IO.DET ;DONE. DETACH THE TERMINAL% RETURN ;RETURN FOR ANOTHER COMMANDR; REFRESH ROUTINEY5REFRSH: CLR DIFPOS ;FORCE COMPLETE UPDATE OF DISPLAY  CALL WIPE ;CLEAR SCREEN1& CALL UPDATE ;AND GO FILL IN THE TIME RETURNS ; CLEAR BOTTOM OF SCREEN ROUTINE0CLEAR: ;SUBROUTINE TO CLEAR BOTTOM OF SCREEN4 MOVB #INITY+10.,YPOS ;SET UP VERT. CURSOR POSITION. MOVB #1,XPOS ;SET UP HORIZ. CURSOR POSITION! PRINT #NULL,#1 ;POSITION CURSORI% CALL ERASE ;ERASE TO END-OF-SCREENM RETURN ; SET 24-HOUR CLOCK MODE ROUTINE1MODE24: INC MODE ;MAKE CLOCK MODE WORD POSITIVES' CALL CLEAR ;DELETE THE COMMAND CHAR.C* CALL UPDATE ;REFRESH CLOCK IF NECESSARY RETURN1 ; SET 12-HOUR CLOCK MODE ROUTINE)MODE12: CLR MODE ;CLEAR CLOCK MODE WORDU' CALL CLEAR ;DELETE THE COMMAND CHAR.O* CALL UPDATE ;REFRESH CLOCK IF NECESSARY RETURNC@; SPAWN A TASK, WAIT FOR COMPLETION OF TASK, AND RETURN TO CLOCK8 .IF GT POT ;CANT HAVE ANY OF THIS IF PARENT-OFFSPRING ;TASKING ISNT AVAILABLE& .IF GT RMDSPT ;TEST FOR RMD SUPPORT6SPNRMD: MOV #MCRNAM,R0 ;PUT ADDRESS OF MCR NAME IN R02 MOV #RMDNAM,R1 ;PUT ADDRESS OF RMD COMMAND IN R1- MOV #3,R2 ;PUT LENGTH OF RMD COMMAND IN R2  BR SPAWN ;GO SPAWN RMDEMO .ENDC6SPNMCR: MOV #MCRNAM,R0 ;PUT ADDRESS OF MCR NAME IN R01 MOV #MCRPRM,R3 ;PUT ADDRESS OF MCR PROMPT IN R3T' BR PRMPTR ;SKIP TO PROMPTING SECTIONO& .IF GT DCLSPT ;TEST FOR DCL SUPPORT6SPNDCL: MOV #DCLNAM,R0 ;PUT ADDRESS OF DCL NAME IN R01 MOV #DCLPRM,R3 ;PUT ADDRESS OF DCL PROMPT IN R3R .ENDC;PRMPTR: MOV #IOBUF,R1 ;PUT ADDRESS OF CLI INPUT BUF. IN R1M CALL WIPE ;CLEAN THE SCREEN:GETCOM: QIOW$S #IO.RPR,#5,#1,,#IOSB,,) ;OUTPUT A PROMPT AND WAIT FOR A LINEC1 MOV IOSB+2,R2 ;GET NUMBER OF CHARACTERS READ INE0 BEQ SPNDON ;IF NO CHARACTERS, RETURN TO CLOCK?SPAWN: SPWN$S R0,,,,,#4,,,R1,R2, ;SPAWN TASK; SET EFN 4 ON EXITS* BCC 10$ ;IF DIRECTIVE OK, WAIT FOR EXIT* CMP $DSW,#IE.iQINS ;IS TASK NOT INSTALLED?, BNE SPNDON ;NO, FUNKIER THAN THAT - QUIT.; PRINT #NOTASK,#NOTASL ;PRINT "TASK NOT INSTALLED" MESSAGET, BR NOFRSH ;LEAVE SPAWN WITHOUT REFRESHING'10$: WTSE$S #4 ;WAIT FOR TASK TO EXIT#0 CMP R1,#IOBUF ;IF R1=#IOBUF, CALL WAS TO A CLI' BEQ GETCOM ;GO OUTPUT ANOTHER PROMPTF0SPNDON: CALL REFRSH ;REFRESH THE CLOCK DISPLAYNOFRSH: RETURN) .ENDC ;END OF COND. BLOCK GOVERNED BY + ;PARENT-OFFSPRING TASKING AVAILABILITYC*ALTER: ;ALTERS DISPLAY CHARACTERISTICS CALL WIPE ;CLEAR SCREEN3 MOV #40,XPOS ;SET UP NORMAL CURSOR CURSOR CONTROLK9 PRINT #ALTMES,#ALTMSL ;TELL ABOUT ALTERATIONS AVAILABLE < PRINT #ATOZ,#ATOZL ;PRINT ALPHABET AND INVOKE GRAPHIC MODE% CALL GRAFIC ;SHIFT TO GRAPHIC MODEO, PRINT #ATOZ,#ATOZL ;PRINT GRAPHIC ALPHABET# CALL ALPHA ;RETURN TO ALPHA MODESD10$: QIOW$S #IO.RPR,#5,#1,,#IOSB,,<#IOBUF,#79.,,#YRCHS,#YRCHSL,#044>* ;ASK FOR CHARACTER AND WAIT FOR REPLY, DEC IOSB+2 ;HOW MANY CHARACTERS SUPPLIED?& BLT 20$ ;IF NONE, NO CHANGE; RETURN- BEQ 15$ ;IF ONE, USE IT TO CHANGE DATABASES8 PRINT #TUMANY,#TUMANL ;IF MORE THAN ONE, ERROR MESSAGE BR 10$ ;TRY AGAIN615$: MOVB IOBUF,DSPCHR ;MOVE NEW CHARACTER TO STORAGE& CALL CHRALT ;AND THENCE TO DATABASE-20$: CALL REFRSH ;REFRESH THE CLOCK DISPLAYB RETURN  .PAGE; SUBROUTINE SECTION7DIFF: ;SUBROUTINE TO CHECK IF NEW DIGIT IS DIFFERENTH1 ;FROM PREVIOUS DIGIT AND DO GOOD THINGS IF SOY7 TST DIFPOS ;HAS THE FIRST DIFFERENT DIGIT BEEN FOUND? 5 BGE 10$ ;YES. MOVE IN THE NEW DIGIT UNCONDITIONALLYT4 CMPB R0,TIME(R1) ;NO. COMPARE NEW DIGIT TO PREVIOUS$ BEQ 20$ ;THEY'RE THE SAME. RETURN.9 MOV R1,DIFPOS ;THEY'RE DIFFERENT. SAVE POSITION OF DIGITO010$: MOVB R0,TIME(R1) ;MOVE NEW DIGIT INTO TIME. 20$: RETURN #TIMAST: ;UPDATE-TIME AST ROUTINE7 MOV #'U,COMBUF ;PLACE UPDATE COMMAND IN COMMAND BUFFER 0 TST (SP)+ ;BUMP SP TO PROPER LOCATION FOR EXIT5 SETF$S #2 ;SET EVENT FLAG 2 TO CLEAR THE WAIT STATEH ASTX$S ;RETURN TO PROGRAM@CHRALTmQ: MOV #LSTCHR,R0 ;SUBROUTINE TO ALTER CHAR. GEN. DATA BASE MOVB DSPCHR,R1. MOV #CHAR0,R3#5$: CMPB -(R0),#40 ;CHECK FOR SPACEE BEQ 20$ MOVB R1,(R0)I20$: CMP R0,R3 BNE 5$S RETURNI4WIPE: ;SUBROUTINE TO CLEAR SCREEN AND HOME CURSOR7 MOV #100401,XPOS ;BIT PATTERN FOR POS. 1,1 AND ERASUREN9 PRINT #NULL,#1 ;POSITION CURSOR AT HOME AND ERASE SCREEN  RETURNPF; THE FOLLOWING SUBROUTINE (3 ENTRY POINTS) PERFORMS TERMINAL-SPECIFICD; OUTPUT IN ORDER TO ERASE TO THE END OF THE DISPLAY, ENTER GRAPHICS; MODE, AND ENTER ALHPA MODE(ERASE: MOV R0,-(SP) ;SAVE CONTENTS OF R0! TSTB TTTYP ;CHECK TERMINAL TYPEC BEQ 10$ ;IF ZERO, A VT52/ MOV #ERS100,R0 ;GET ERASURE SEQUENCE FOR VT100 BR TTFUN ;PRINT SEQUENCE110$: MOV #ERS52,R0 ;GET ERASURE SEQUENCE FOR VT52T BR TTFUN ;PRINT SEQUENCE)GRAFIC: MOV R0,-(SP) ;SAVE CONTENTS OF R0A! TSTB TTTYP ;CHECK TERMINAL TYPE  BEQ 10$ ;IF ZERO, A VT524 MOV #GRA100,R0 ;GET GRAPHIC MODE SEQUENCE FOR VT100 BR TTFUN ;AND PRINT IT610$: MOV #GRA52,R0 ;GET GRAPHIC MODE SEQUENCE FOR VT52 BR TTFUN ;AND PRINT IT(ALPHA: MOV R0,-(SP) ;SAVE CONTENTS OF R0! TSTB TTTYP ;CHECK TERMINAL TYPET BEQ 10$ ;IF ZERO, A VT522 MOV #ALP100,R0 ;GET ALPHA MODE SEQUENCE FOR VT100 BR TTFUN ;AND PRINT IT410$: MOV #ALP52,R0 ;GET ALPHA MODE SEQUENCE FOR VT521TTFUN: MOV XPOS,-(SP) ;SAVE CONTENTS OF VFC FIELD . CLR XPOS ;SET VFC FIELD TO ZERO (NO CONTROL)! PRINT R0,#3 ;PRINT THE SEQUENCEH" MOV (SP)+,XPOS ;RESTORE VFC FIELD MOV (SP)+,R0 ;RESTORE R0# RETURN; .PAGE; OFFSET AND ADDRESS TABLES 6CHRPOS: ;PRINT POSITION FOR EACH CHARACTER IN PRINT0 ; LINE - USE THESE VALUES AS ARG. TO CURSOR ; POSITIONER. .BYTE INITX ;TENS OF HOURS .BYTE INITX+10. ;ONES OF HOURS  .BYTE INITX+20. ;COLON#! .BYTE INITX+25. ;TENS OF MINUTESO! .BYTE INITX+35. ;ONES OF MINUTESV7LINOFF: ;OFFSET TO THE NTH LINE OF A GIVEN CHARACTER , .BYTE 90.,80.,70.,60.,50.,40.,30.,20.,10.,02COMNAM: ;LETTERS IDENTIFYING AVAILABLE COMMANDS= .ASCII /REC21/ qQ ;REFRESH, EXIT, CLEAR BOTTOM, 24-HR., 12-HR. .ASCII /UA/ ;UPDATE, ALTER/ .IF GT POT ;TEST FOR PARENT-OFFSPRING TASKINGS% .IF GT RMDSPT ;TEST FOR RMD SUPPORTT .ASCII /S/ ;SPAWN RMDEMO F .ENDC; .ASCII /M/ ;SPAWN MCR (FREE WITH PARENT-OFFSPRING TSKNG.).% .IF GT DCLSPT ;TEST FOR DCL SUPPORTE .ASCII /D/ ;SPAWN DCLE .ENDC .ENDC .EVEN5NUMADD: ;ADDRESS OF THE DATA BASE FOR EACH NUMERAL.$ .WORD CHAR0,CHAR1,CHAR2,CHAR3,CHAR4$ .WORD CHAR5,CHAR6,CHAR7,CHAR8,CHAR9)COMADR: ;ADDRESSES OF COMMAND ROUTINESB4 .WORD REFRSH ;JUMP ADDRESS FOR REFRESH ROUTINE (R)/ .WORD EXIT ;JUMP ADDRESS FOR EXIT ROUTINE (E): .WORD CLEAR ;JUMP ADDRESS FOR CLEAR BOTTOM OF SCREEN (C)9 .WORD MODE24 ;JUMP ADDRESS FOR 24-HOUR MODE ROUTINE (2)-9 .WORD MODE12 ;JUMP ADDRESS FOR 12-HOUR MODE ROUTINE (1)/ .WORD UPDATE ;JUMP ADDRESS FOR UPDATE ROUTINE5 .WORD ALTER ;JUMP ADDRESS FOR DISPLAY ALTER ROUTINE./ .IF GT POT ;TEST FOR PARENT-OFFSPRING TASKINGA% .IF GT RMDSPT ;TEST FOR RMD SUPPORT 3 .WORD SPNRMD ;ADDRESS FOR ROUTINE TO SPAWN RMDEMOP .ENDC0 .WORD SPNMCR ;ADDRESS FOR ROUTINE TO SPAWN MCR% .IF GT DCLSPT ;TEST FOR DCL SUPPORT 0 .WORD SPNDCL ;ADDRESS FOR ROUTINE TO SPAWN DCL .ENDC .ENDC .IF GT POT- .IF GT RMDSPT.RMDNAM: .ASCII /RMD/ ;COMMAND NAME FOR RMDEMO .EVEN .ENDC)MCRNAM: .RAD50 /MCR.../ ;TASK NAME OF MCR  .IF GT DCLSPT)DCLNAM: .RAD50 /DCL.../ ;TASK NAME OF DCLT .ENDC .ENDC; USEFUL PRINT STRINGS6ERS100: .BYTE 33,133,112 ;VT100 ERASE-TO-END-OF-SCREEN2ERS52: .BYTE 33,112,0 ;VT52 ERASE-TO-END-OF-SCREEN+GRA100: .BYTE 33,50,60 ;VT100 GRAPHICS MODES)GRA52: .BYTE 33,106,0 ;VT52 GRAPHICS MODEP)ALP100: .BYTE 33,50,102 ;VT100 ALPHA MODEOAALP52: .BYTE 33,107 ;VT52 ALPHA MODE (DON'T SEPARATE FROM NULL:) 5NULL: .BYTE 0 ;NULL CHARACTER FOR CURSOR POSITIONINGC5WHORU: .BYTE 33,132 ;ESC Z QUERIES TERMINAL IDENTITY .ENABL LCABB100: .ASCII <33>/[1;5m/ ;ESC. SEQ. FOR VT100 BOLD/BLINKING TEXTSBB100L =.-BB100 ?BBOFF: .ASCII <33>/[m/ ;ESC. SEQ. TO TURuQN OFF VT00 DISP. CHARS.VBBOFFL =.-BBOFFO.; FOLLOWING IS TEXT OF ILLEGAL COMMAND MESSAGE&ILLMES: .ASCII /Legal commands are --/- .ASCII <15><12><12>/R - Refresh the display/D .IF GT RMDSPT% .ASCII <11><11>/S - System display /T .ASCII /(RMDEMO)/ .ENDCE .ASCII <15><12>/C - Clear bottom of screen/<11>/E - Exit to monitor/S0 .ASCII <15><12>/1 - Set as a 12-hour clock/<11>$ .ASCII /2 - Set as a 24-hour clock/ .IF GT POTL .ASCII <15><12>&M&= .IF GT DCLSPT .ASCII &/D& .ENDC .ASCII & - Call MCR&D .IF GT DCLSPT .ASCII &/DCL& .ENDC* .ASCII & (Press to return to clock)& .ENDC- .ASCII <15><12>/A - Alter display character/>ILLMEL = .-ILLMESe .DSABL LC; PSEUDO-CLI PROMPTS .IF GT POTsMCRPRM: .ASCII /MCR>/  .IF GT DCLSPTDCLPRM: .ASCII /DCL>/- .ENDC .ENDC; "TASK NOT INSTALLED" MESSAGE7NOTASK: .ASCII /NO CAN DO - THAT TASK IS NOT INSTALLED/ NOTASL = .-NOTASKuEALTMES: .ASCII /SELECT A NEW DISPLAY CHARACTER ( FOR NO CHANGE)./&" .ASCII /YOUR SELECTION IS --/<12>ALTMSL = .-ALTMESIATOZ: .ENABL LC.) .ASCII /abcdefghijklmnopqrstuvwxyz{|}`~/. .DSABL LCATOZL = .-ATOZ YRCHS: .ASCII <12>/YOUR CHOICE?/YRCHSL =.-YRCHS 4TUMANY: .ASCII /YOU CAN ONLY SPECIFY ONE CHARACTER./TUMANL =.-TUMANYHTERROR: .ASCII /YOU CAN ONLY RUN THE CLOCK ON A VT100 OR VT52. SORRY.../TERRL =.-TERROR #; DATA BASE FOR CHARACTER GENERATORS .ENABL LCCHAR0: .ASCII / aaaaaa / .ASCII / aaaaaaaa / .ASCII / aa aa / .ASCII / aa aa / .ASCII / aa aa / .ASCII / aa aa / .ASCII / aa aa / .ASCII / aa aa / .ASCII / aaaaaaaa / .ASCII / aaaaaa /CHAR1: .ASCII / aa / .ASCII / aaa / .ASCII / aa / .ASCII / aa / .ASCII / aa / .ASCII / aa / .ASCII / aa / .ASCII / aa / .ASCII / aaaa / .ASCII / aaaa /CHAR2: .ASCII / aaaaaa / .ASCII / aaaaaaaa / .ASCII / aa aa / .ASCII / aa / .ASCII / aa / .ASCII / aa / .ASCII / aa / .ASyQCII / aa / .ASCII / aaaaaaa / .ASCII / aaaaaaaa /CHAR3: .ASCII / aaaaaa / .ASCII / aaaaaaaa / .ASCII / aa aa / .ASCII / aa / .ASCII / aa / .ASCII / aa / .ASCII / aa / .ASCII / aa aa / .ASCII / aaaaaaaa / .ASCII / aaaaaa /CHAR4: .ASCII / aa / .ASCII / aa aa / .ASCII / aa aa / .ASCII / aa aa / .ASCII / aaaaaaaa / .ASCII / aaaaaaaa / .ASCII / aa / .ASCII / aa / .ASCII / aa / .ASCII / aa /CHAR5: .ASCII / aaaaaaa / .ASCII / aaaaaaa / .ASCII / aa / .ASCII / aa / .ASCII / aaaaaaa / .ASCII / aa aaa / .ASCII / aa / .ASCII / aa / .ASCII / aa aa / .ASCII / aaaaa /CHAR6: .ASCII / aa / .ASCII / aa / .ASCII / aa / .ASCII / aa / .ASCII / aaaaaaa / .ASCII / aaaaaaaa / .ASCII / aa aa / .ASCII / aa aa / .ASCII / aaaaaaaa / .ASCII / aaaaaa /CHAR7: .ASCII / aaaaaaaa / .ASCII / aaaaaaaa / .ASCII / aa aa / .ASCII / aa / .ASCII / aa / .ASCII / aa / .ASCII / aa / .ASCII / aa / .ASCII / aa / .ASCII / aaa /CHAR8: .ASCII / aaaaaa / .ASCII / aaaaaaaa / .ASCII / aa aa / .ASCII / aa aa / .ASCII / aaaaaa / .ASCII / aaaaaa / .ASCII / aa aa / .ASCII / aa aa / .ASCII / aaaaaaaa / .ASCII / aaaaaa /CHAR9: .ASCII / aaaaaa / .ASCII / aaaaaaaa / .ASCII / aa aa / .ASCII / aa aa / .ASCII / aaaaaaaa / .ASCII / aaaaaaa / .ASCII / aa / .ASCII / aa / .ASCII / aa / .ASCII / aa /COLON: .ASCII / /I .ASCII / /. .ASCII / // .ASCII / /  .ASCII / /I .ASCII / aaa /. .ASCII / aaa // .ASCII / /  .ASCII / aaa /a .ASCII / aaa / LSTCHR: .DSABL LC .EVEN .PAGE'; IMPURE AREA (NOT TOO IMPURE, I HOPE!)I>OUTDPB: QIOW$ IO.WLB,5,1,,,,<0,0,40> ;DPB FOR OUTPUT OPERATION<SMCDPB: QIOW$ SF.SMC,5,2,,IOSB,, ;DPB FOR SET MULT. }Q ;CHARACTERISTICS OPERATION 9TIMEIN: .BLKW 8. ;BUFFER FOR TIME PARAMETERS FROM GTIM$SS7DIFPOS: .WORD 0 ;WORD TO CONTAIN FIRST DIFFERENT DIGIT.&COMBUF: .WORD 0 ;COMMAND INPUT BUFFER1MODE: .WORD 0 ;CLOCK MODE (0=12-HOUR, +=24-HOUR)!IOSB: .BLKW 2 ;I/O STATUS BUFFER;TCBUF: .BYTE TC.ESQ,1 ;BUFFER TO SET/CLEAR ESCAPE SEQ. REC.;TYPBUF: .BYTE TC.TTP,0 ;BUFFER TO GET TERM. CHARACTERISTICSW.TIME: .BLKB 5 ;5-BYTE BUFFER FOR DECIMAL TIME/TTTYP: .BYTE 0 ;TERMINAL TYPE: 0=VT52, 1=VT100R?DSPCHR: .BYTE FORCHR ;DISPLAY CHARACTER; INITIALIZE TO DEFAULTB0IOBUF: .BLKB 79. ;PRINT BUFFER (AND CLI COMMAND ; LINE INPUT BUFFER) .END CLOCKIGIT.&COMBUF: .WORD 0 ;COMMAND INPUT BUFFER1MODE: .WORD 0 ;CLOCK MODE (0=12-HOUR, +=24-HOUR)!IOSB: .BLKW 2 ;I/O STATUS BUFFER;TCBUF: .BYTE TC.ESQ,1 ;BUFFER TO SET/CLEAR ESCAPE SEQ. REC.;TYPBUF: .BYTE TC.TTP,0 ;BUFFER TO GET TERM. CHARACTERISTICSW.TIME: .BLKB 5 ;5-BYTE BUFFER FOR DECIMAL TIME/TTTYP: .BYTE 0 ;TERMINAL TYPE: 0=VT52, 1=VT100R?DSPCHR: .BYT@Q kQ@:L .TITLE HIYA .LIST TTM .NLIST BEX .ENABL LC; MACRO LIBRARY CALLS .MCALL EXIT$S,QIOW$,DIR$,GTSK$INDPB: QIOW$ IO.RLB,5,1,,IOST &OUTDPB: QIOW$ IO.WLB,5,1,,IOST,,<,,40>SYSDPB: GTSK$ SYSBUF; LOCAL EQUATES/BSIZE=80. ; ACCEPTS NAMES UP TO 80 CHARACTERS; LOCAL DATA BUFFERS-MSG1: .ASCII /Could I have your name please?/"MSG1L=.-MSG1 ; THE LENGTH OF MSG1&MSGMP: .ASCII /RSX-11M-PLUS calling / %MSGMPL=.-MSGMP ; THE LENGTH OF MSGMPMSGM: .ASCII /RSX-11M calling Q/"MSGML=.-MSGM ; THE LENGTH OF MSGM1BUFF: .BLKB BSIZE ; SET UP BUFFER LENGTH = BSIZE ,OBUFF: .ASCII /IO ERROR WITH STATUS/<12><15>I1: .ASCII /DSW = /I2: .ASCII /IOST = / OSIZ=.-OBUFF .EVEN IOST: .BLKW 2SSYSBUF: .BLKW 16.; MAIN PROGRAM*HIYA: DIR$ #SYSDPB ; GET TASK ENVIRONMENT MOV #MSG1,R0 ; SET UP CALLs& MOV #MSG1L,R1 ; TO WRITE SUBROUTINE" MOV #40,R2 ; SINGLE SPACE OUTPUT CALL WRITE ; OUTPUT MSG1 MOV #BUFF,R0 ; SET UP CALL $ MOV #BSIZE,R1 ; TO READ SUBROUTINE# CALL READ ; READ NAME INTO BUFFER , MOV R2,-(SP) ; SAVE LENGTH OF READ TO STACK% CMP #1,SYSBUF+G.TSSY; IS IT RSX-11M?> BNE 10$' MOV #MSGM,R0 ; SET UP CALL FOR RSX-11M % MOV #MSGML,R1 ; TO WRITE SUBROUTINEB MOV R1,R4 ; SAVE LENGTH. BR 20$A110$: MOV #MSGMP,R0 ; SET UP CALL FOR RSX-11M-PLUSE& MOV #MSGMPL,R1 ; TO WRITE SUBROUTINE MOV R1,R4 ; SAVE LENGTH %20$: MOV #'$,R2 ; NO CARRIAGE RETURN CALL WRITE ; OUTPUT MESSAGE  MOV #BUFF,R0' MOV (SP)+,R1 ; RECOVER LENGTH OF NAMEU- MOVB #15,BUFF(R1) ; APPEND A CARRIAGE RETURNV INC R1 CLR R2 ;  CALL WRITE ; OUTPUT NAMEB ADD R4,R1 DEC R1 EXIT$S ; LEAVEV;+7; WRITE - SUBROUTINE TO WRITE A MESSAGE TO THE TERMINALI;S ; INPUTS:0; R0 - ADDRESS OF STRING TO BE PRINTED ON SCREEN ; R1 - LENGTH OF STRING TO PRINT.; R2 - LOW-ORDER CHARACTER IS CARRIAGE CONTROL;V ; OUTPUTS:; NONE;; NOTE:V@; WRITE OUTPUTS A PREFORMATTED ASCII STRING. ALL DATA CONVERSION?; (OCTAL NUMBERS TO ASCII, FOR EXAMPLE) MUST BE DONE BEFOREHAND,;-.WRITE:: MOV R0,OUTDPB+Q.IOPL ; FILL IN QIO DPB MOV R1,OUTDPB+Q.IOPL+2U MOV R2,OUTDPB+Q.IOPL+4D DIR$ #OUTDPB  BCS ERR1 ; DIRECTIVE ERROR TSTB IOST ; IO ERROR?  BLT ERR1 ; YES RETURNU;+2; READ - SUBROUTINE TO READ A LINE FROM A TERMINAL;- ; INPUTS:S; R0 - ADDRESS OF INPUT BUFFER+; R1 - MAXIMUM NUMBER OF CHARACTERS TO READ:; ; OUTPUTS:6; R2 - ACTUAL NUMBER OF CHARACTERS READ (NOT INCLUDING; TERMINATING CARRIAGE RETURN;T; NOTE:F=; THIS ROUQTINE ONLY READS IN ASCII STRINGS. NO INTERPRETATIONP=; OR DATA CONVERSION IS DONE. NUMBERS READ IN WILL HAVE TO BEU=; CONVERTED TO THEIR BINARY EQUIVALENTS USING THE SYSTEM DATAT; CONVERSION SUBROUTINES.T;-,READ:: MOV R0,INDPB+Q.IOPL ; FILL IN QIO DPB MOV R1,INDPB+Q.IOPL+2 DIR$ #INDPB BCS ERR1 ; DIRECTIVE ERROR TSTB IOST ; IO ERROR?N BLT ERR1 ; YES+ MOV IOST+2,R2 ; RETURN COUNT OF CHARACTERSB RETURNR;+;; ERR1 - ERROR HANDLING ROUTINE FOR DIRECTIVE AND IO ERRORSO;F9; NOTE THAT ONLY ONE OF THE TWO NUMBERS DISPLAYED WILL BET ; SIGNIFICANT ;-0ERR1: MOV #I1+6,R0 ; ADDRESS TO CONVERT DSW INTO$ MOV $DSW,R1 ; DSW VALUE TO CONVERT# CLR R2 ; LEADING ZERO SUPPRESSIONB- CALL $CBDSG ; CONVERT BINARY TO SIGNED DEC.F2 MOV #I2+7,R0 ; ADDRESS TO CONVERT IO STATUS INTO2 MOVB IOST,R1 ; IO STATUS RETURN VALUE TO CONVERT# CLR R2 ; LEADING ZERO SUPPRESSION2( CALL $CBDSG ; CONVERT IO STATUS RETURN+ MOV #OBUFF,OUTDPB+Q.IOPL ; FILL IN QIO DPBE MOV #OSIZ,OUTDPB+Q.IOPL+2' DIR$ #OUTDPB ; EXECUTE OUTPUT REQUESTP EXIT$SL .END HIYAFICANT ;-0ERR1: MOV #I1+6,R0 ; ADDRESS TO CONVERT DSW INTO$ MOV $DSW,R1 ; DSW VALUE TO CONVERT# CLR R2 ; LEADING ZERO SUPPRESSIONB- CALL $CBDSG ; CONVERT BINARY TO SIGNED DEC.F2 MOV #I2+7,R0 ; ADDRESS TO CONVERT IO STATUS INTO2 MOVB IOST,R1 ; IO STATUS RETURN VALUE TO CONVERT# CLR R2 ; LEADING ZERO SUPPRESSION2( CALL $CBDSG ; CONVERT IO STATUS RETURN+ MOV #OBUFF,OUTDPB+Q.IOPL ; FILL IN QIO DPBE MOV #OSIZ,OUTDPB+Q.IOPL+2' DIR$ @Q kQO LQ .TITLE STARS .NLIST BEX .LIST TTME; DEMONSTRATION SUBROUTINE FOR USE WITH "INTRODUCTION TO RSX-11M AND O; RSX-11M-PLUS" "HIYA" PROGRAM. PRINTS A LINE OF STARS UNDER GREETING MESSAGE.C; INPUTS: R0 CONTAINS ADDRESS OF MESSAGE BUFFER, R1 CONTAINS NUMBER9; OF STARS TO BE PRINTED. R0 AND R1 COME BACK UNCHANGED.5STARS:: MOV R1,R2 ; SET UP TALLY FOR NUMBER OF STARS410$: MOVB #'*,(R0)+ ; FILL MESSAGE BUFFER WITH STARS" DEC R2 ; TO THE CORRECT NUMBER.1 BGT 10$ ; IF NOT FINISHED, STASH ANOTHER STAR0 SUB R1,R0 ; RESTORE ADDRESS OF MESSAGE BUFFER MOV #40,R2 ; CARRIAGE CONTROLO CALL WRITE ; OUTPUT THE STARSH$ RTS PC ; RETURN TO CALLING PROGRAM .ENDREETING MESSAGE.C; INPUTS: R0 CONTAINS ADDRESS OF MESSAGE BUFFER, R1 CONTAINS NUMBER9; OF STARS TO BE PRINTED. R0 AND R1 COME BACK UNCHANGED.5STARS:: MOV R1,R2 ; SET UP TALLY FOR NUMBER OF STARS410$: MOVB #'*,(R0)+ ; FILL MESSAGE BUFFER WITH STARS" DEC R2 ; TO THE CORRECT NUMBER.1 BGT 10$ ; IF NOT FINISHED, S@.Q kQNyxsh L? .TITLE TMCLI - EXAMPLE CLI THAT IMPLEMENTS "T" AND "M" COMMAND .IDENT /1.00/;N; THIS TASK (TMCLI) ILLUSTRATES THE USE OF THE CLI CONTROL DIRECTIVES PRESENT ); IN RSX-11M V4.0 AND RSX-11M-PLUS V2.0. ;F; WHEN SET UP AS A TERMINAL'S CLI, IT PROVIDES THE FOLLOWING COMMANDS:;; T -> TYPE FILE; M -> SET TERMINAL TO MCR;>; IF THE FIRST TWO LETTERS OF THE COMMAND ARE NOT "T" FOLLOWED3; BY A SPACE, OR "M" FOLLOWED BY A CARRIAGE RETURN,8; THE COMMAND IS PASSED TO MCR FOR EXECUTION. THEREFQORE,H; USERS AT TERMINALS SET TO THIS CLI WILL SEE THE ENTIRE MCR COMMAND SETF; AS BEING PRESENT, PLUS THE "T" AND "M" COMMANDS. IF THE "DPR" SWITCHF; IS INCLUDED ON THE CLI /INIT COMMAND, USERS WILL KNOW IMMEDIATELY IFG; THEIR TERMINAL IS SET TO THIS CLI BY THE PRESENCE OF THE DOUBLE RIGHT ; ANGLE BRACKET AS THE PROMPT.;OF; IF IT IS INITIALIZED WITH THE SYSTEM MESSAGE OPTION ENABLED, IT WILLD; GREET USERS WHEN THEIR TERMINAL IS SET TO THE CLI, AND SAY GOODBYE ; TO THEM WHEN THEY SWITCH AWAY.;FB; IN ORDER TO BRING THIS CLI UP ON THE SYSTEM, ISSUE THE FOLLOWING; COMMAND SEQUENCE:G;E; >MAC TMCLI,TMCLI/-SP=TMCLI+; >TKB TMCLI,TMCLI/-SP=TMCLI,[1,1]EXELIB/LBT ; >INS TMCLI/CLI=YES/TASK=...TMC9; >CLI /INIT=TMCLI/MESSAGE/DPR="<15><12>/>>/"/TASK=...TMCT;P;; TO SET TERMINALS TO THIS CLI, ISSUE THE FOLLOWING COMMAND6; WHERE TTN: IS REPLACED BY THE TERMINAL NUMBER OR TI:;N; >SET /CLI=TTN:TMCLI ;RH; NOTE THAT THE PROMPT ISSUED IN RESPONSE TO A CONTROL/C DEFAULTS TO THE%; NAME OF THE CLI WHICH IS "TMCLI>". N;HJ; IT CAN BE ELIMINATED FROM THE SYSTEM BY THE FOLLOWING COMMANDS, ASSUMING; NO TERMINALS ARE SET TO IT:B;C; >CLI /ELIM=TMCLI ; >REM ...TMC;IH; EXPERIMENT WITH THE OTHER OPTIONS ON THE CLI /INIT COMMAND, THE ENABLEL; AND DISABLE CLI COMMANDS, AND LEAVING OFF THE /MESSAGE SWITCH ON THE /INITG; COMMAND TO OBSERVE THE EFFECT THEY HAVE. ALSO TRY CHANGING THE /TASK=LE; SWITCH ON THE INS AND CLI /INIT COMMAND TO "/TASK=TMCLI" AND NOTICELJ; THAT ONLY ONE COPY OF THE TASK WILL EXIST FOR ALL TERMINALS, RATHER THANE; ONE PER COMMAND. IF THIS IS DONE, YOU SHOULD ALSO CHANGE THE OPTIONRK; ON THE GCCI$ DIRECTIVE FROM GC.CEX TO GC.CST SO THE TASK WILL STAY ACTIVEE6; BUT STOPPED WHEN NO COMMANDS ARE OUTSTANDING FOR IT.;B + .MCALL GCCI$,RPOI$,EXIT$S,QIOW$,ALUN$,DIR$H;M; DIRECTIVE DPBS;/,GCCI: GCCI$ CMDBUF,CBLEN,IBUF,IBLEN,0,GC.CEXRPOI: RPOI$ MCR... QIOW: QIOW$ IO.WVB,5,1,,,,<,,40> ALUN: ALUN$ 5O N;O; BUFFER AREAS;N?CMDBUF: .BLKB 80.+G.CCBF ;LENGTH = HEADER QPLUS COMMAND IN BYTESN, ;NOTE THAT ON M-PLUS THE MAXIMUM COMMAND/ ;LENGTH IS 255. BYTES, SO THE LENGTH SHOULDT0 ;BE <255.+G.CCBF> OR CHARACTERS MAY BE LOST. W"CBLEN=.-CMDBUF ;CALCULATE LENGTH .EVEN S<IBUF: .BLKB G.CCCA+2 ;LONG ENOUGH TO CONTAIN ALL INFORMATION IBLEN=.-IBUF ;CALCULATE LENGTH .EVEN CCTCMD: .ASCII /PIP TI:=/ ;BASIC PIP COMMAND TO IMPLEMENT "T" COMMAND !TCLEN=.-TCMD ;LENGTH OF COMMANDL4BUF: .BLKB 80.-TCLEN ;BUFFER TO GENERATE COMMANDS IN .EVEN GAMCR: .ASCII /M/<15> ;STRING TO RECOGNIZE AS A SET TO MCR REQUESTX8MCMD: .ASCII %SET /MCR=TI:% ;SET TERMINAL TO MCR COMMAND!MCLEN=.-MCMD ;LENGTH OF COMMANDA .EVEN E;S=; TEXT TO BE DISPLAYED UPON RECEIPT OF NEW TERMINAL LINKED ORB(; TERMINAL REMOVED MESSAGES FROM SYSTEM.;R8LKT: .ASCII <15><12>/WELCOME TO THE EXAMPLE CLI/<15><12> LKTLEN=.-LKT .EVEN C;RMT: .ASCII <15><12>/GOOD BYE FROM THE EXAMPLE CLI/<15><12>H RMTLEN=.-RMT .EVEN 8;T6; CHARACTERS LOST DUE TO BUFFER BEING TO SMALL MESSAGE;IECHLOST: .ASCII <15><12>/SORRY, PART OF YOUR COMMAND WAS LOST/<15><12>%CLLEN=.-CHLOST T;I; ILLEGAL COMMAND MESSAGE-;D-ILL: .ASCII <15><12>/ILLEGAL COMMAND/<15><12>T ILLLEN=.-ILL .EVEN P;F ; CLI CODE;I D .ENABL LSBN-START: DIR$ #GCCI ;GET A COMMAND FROM SYSTEMI" BCS 100$ ;IF CS, DIRECTIVE ERROR;1E; IF THE GCCI$ DIRECTIVE HAD THE GC.CST OPTION SPECIFIED, WE MAY HAVEE5; JUST BEEN UNSTOPPED, SO WE HAVE TO GET THE COMMAND. ;R* CMP #IS.CLR,$DSW ;WERE WE JUST UNSTOPPED? BEQ START ;IF EQ YES( MOV #CMDBUF,R0 ;POINT TO COMMAND BUFFER% TST (R0) ;IS THIS A SYSTEM MESSAGE? BEQ MSG ;IF EQ YES BPT= CMPB G.CCCT(R0),G.CCCL(R0) ;DID ENTIRE COMMAND FIT IN BUFFERL BLO 150$ ;IF LO NO. MOV #RPOI,R5 ;POINT TO DPB OF RPOI$ DIRECTIVE;EE; AT THIS POINT, THE CLI HAS A COMMAND TO BE PROCESSED. THE CODE FROMTD; THE "START:" LABEL TO HERE SHOULD BE FAIRLY COMMON AMONG ALL CLIS.J; FROM THIS POINT ON, THE CODE WILL BE SPECIFIC TO THE PARTICULAR LANGUAGED; THIS CLI IS IMPLEMENTING. QCOMMANDS CAN BE ADDED OR DELETED AT WILLD; BY MODIFYING CODE IN THIS SECTION. AS STATED ABOVE, THIS EXTREMELYE; SIMPLE CLI PROVIDES TWO COMMANDS, AND GIVES EVERYTHING ELSE TO MCR.NI; THIS CREATES AN OPEN ENDED ENVIRONMENT. REJECTING UNRECOGNIZED COMMANDSIG; INSTEAD OF PASSING THEM TO MCR WOULD LIMIT THE TERMINAL USER'S USE OFFA; THE SYSTEM TO ONLY THOSE OPERATIONS ALLOWED BY THE CLI. THIS ISLH; A SECURE WAY OF CONTROLLING SYSTEM USE, IN CASES WHEN IT IS NECESSARY.?; IN THIS EXAMPLE, CHANGING THE "BNE 50$" BELOW, TO A "BNE 60$"LC; WOULD CREATE AN ENVIRONMENT WHERE THE ONLY OPERATION A USER COULDHH; PERFORM WOULD BE TO TYPE FILES ON THE TERMINAL, OR SWITCH BACK TO MCR.J; ALL OF THE REST OF RSX IS TOTALLY INACCESSABLE. IF NO MEANS OF SWITCHINGD; BACK TO MCR IS PROVIDED, IT WOULD BE IMPOSSIBLE FOR THE USER TO DO2; ANYTHING THE CLI DOES NOT EXPLICITLY LET HIM DO.;L E* CMP #"T ,G.CCBF(R0) ;IS IT A "T" COMMAND? BEQ 10$ ;IF EQ YES) CMP MCR,G.CCBF(R0) ;IS IT A "M" COMMAND?X L;CG; CHANGE THE NEXT INSTRUCTION TO "BNE 60$" TO ELIMINATE PASSING UNKNOWNN; COMMANDS TO MCR.;I BNE 50$ ;IF NE NOE;RB; THE USER HAS ENTERED AN "M" COMMAND, SO SET THE TERMINAL TO MCR.; : MOV #MCMD,R.POBF(R5) ;PUT ADDRESS OF CMD TO ISSUE IN DPB0 MOV #MCLEN,R.POBL(R5) ;PUT LENGTH OF CMD IN DPB BR ISSCMD ;ISSUE COMMAND ;TC; THE USER HAS ENTERED A "T" COMMAND SO CONSTRUCT THE NECESSARY PIPF; COMMAND AND SEND IT TO MCR;1 410$: MOV R0,R1 ;COPY ADDRESS OF BUFFER WITH COMMAND- ADD #G.CCBF+1,R1 ;POINT TO SPACE AFTER THE T 4 MOV #BUF,R2 ;POINT TO BUFFER THAT WILL CONTAIN CMD5 MOV #TCLEN,R4 ;GET LENGTH OF INITIAL PART OF COMMANDA&20$: MOVB (R1)+,R3 ;GET NEXT CHARACTER+ CMPB #15,R3 ;IS IT THE END OF THE COMMANDF BEQ 30$ ;IF EQ YES CMPB #40,R3 ;IS IT A SPACE BEQ 20$ ;IF EQ YES, SKIP IT . MOVB R3,(R2)+ ;PUT CHARACTER IN OUTPUT BUFFER INC R4 ;COUNT CHARACTERH BR 20$ ;GET NEXT CHARACTER<30$: MOV #TCMD,R.POBF(R5);PUT ADDRESS OF CMD TO ISSUE IN DPB, MOV R4,R.POBL(R5) ;INSERT LENGTH OF CQOMMAND;CE; THIS COMMAND WILL BE PASSED TO THE MAIN COMMAND DISPATCHER (MCR...)MB; WHICH WILL START A COPY OF PIP AND GIVE IT THE COMMAND. THE RPOID; DIRECTIVE COULD BE USED TO GIVE THE COMMAND DIRECTLY TO ...PIP AND<; GIVE THE RESULTING TASK A DIFFERENT NAME. IN THIS EXAMPLE,>; WE COULD CALL THE RESULTING PIP TASK "TYPTNN" WHERE THE LASTD; THREE CHARACTERS (TNN) ARE REPLACED BY A DEVICE NAME CHARACTER ANDA; UNIT NUMBER. FOR EXAMPLE, IF THE "T" COMMAND WAS TYPED ON TT10:.D; THE RESULTING TASK NAME COULD BE MADE TO BE "TYPT10". THIS HAS THEG; ADVANTAGE OF ALLOWING THE TASK TO BE ABORTED BY AN "ABO TYP" COMMAND,PE; INSTEAD OF "ABO PIP", THUS THE USER WOULD NOT HAVE TO KNOW THAT THEHE; "T" COMMAND HE ISSUED IS ACTUALLY BE SERVICED BY THE PIP TASK. THIS @; IS EXACTLY WHAT THE DCL CLI DOES. IT IS NOT DONE HERE IN ORDER@; TO SIMPLIFY THE EXAMPLE. PICKING UP THE TERMINAL NAME AND UNITH; NUMBER, CONVERTING IT TO RAD50, AND SUPPLYING IT IN THE RPOI DIRECTIVEH; ALONG WITH A DIRECT REQUEST OF PIP IS LEFT AS AN EXERCISE TO THE USER.>; (BE CAREFUL ON M-PLUS SYSTEMS WITH MORE THAN 64. TERMINALS).I; NOTE THAT REQUESTING PIP DIRECTLY AVOIDS A SUBSTANTIAL AMOUNT OF SYSTEMA ; OVERHEAD.A;H BR ISSCMD ;EXECUTE COMMAND T;L5; COMMAND IS NOT "T" OR "M", SO GIVE IT TO MCR AS IS. ; @50$: MOV #CMDBUF+G.CCBF,R.POBF(R5) ;PUT ADDRESS OF STRING IN DPB3 MOVB G.CCCT(R0),R.POBL(R5) ;PUT LENGTH IN RPOI DPB  V;I*; ISSUE RPOI$ DIRECTIVE TO EXECUTE COMMAND;R?ISSCMD: MOV (R0),R.PODV(R5) ;PUT NAME OF ISSUING DEVICE IN RPOIS- MOVB G.CCUN(R0),R.POUN(R5) ;COPY UNIT NUMBER 7 MOVB IBUF+G.CCPU,R.POUM(R5) ;PROPOGATE UIC OF TERMINALP MOVB IBUF+G.CCPU+1,R.POUG(R5)C MOV IBUF+G.CCOA,R.POOA(R5) ;COPY ID PARENT IN CASE WE WERE SPAWNED+ DIR$ #RPOI ;PASS COMMAND TO EXECUTOR TASKO BCC START ;IF CC, SUCCESSM BR 110$ ;ERROR );UC; CONTROL IS TRANSFERED HERE IF UNKNOWN COMMANDS ARE TO BE REJECTEDN!; INSTEAD OF BEING PASSED TO MCR.I;T160$: MOV #ILL,R1 ;POINT TO MESSAGE TO BE PRINTED(& MOV #ILLLEN,R2 ;GET LENQGTH OF MESSAGE CALL ISSMSG ;ISSUE MESSAGE BR START ;TRY FOR NEXT COMMAND ,;O; ERROR HANDLING CODEF;R A#100$: CLR R0 ;FATAL ERROR ON GCCI$M BR 150$&110$: MOV #1,R0 ;FATAL ERROR ON RPOI$120$: IOT ;FATAL 4150$: MOV #CHLOST,R1 ;POINT TO MESSAGE TO BE PRINTED% MOV #CLLEN,R2 ;GET LENGTH OF MESSAGEU CALL ISSMSG ;ISSUE MESSAGE BR START .DSABL LSBT E;J4; A SYSTEM MESSAGE WAS RECEIVED INSTEAD OF A COMMAND;# ,@MSG: CMPB #CM.LKT,G.CCUN(R0) ;IS IT A NEW TERMINAL LINKED TO US? BEQ 10$ ;IF EQ YES8 CMPB #CM.RMT,G.CCUN(R0) ;IS IT A TERMINAL BEING REMOVED BEQ 20$ ;IF EQ YES6 CMPB #CM.EXT,G.CCUN(R0) ;IS IT A ELIMINATE ALL PACKET BEQ 50$ ;IF EQ YES9 CMPB #CM.ELM,G.CCUN(R0) ;IS IT A CLI ELIMINATION MESSAGEC BEQ 50$ ;IF EQ YES% BR START ;IGNORE ALL OTHER MESSAGES ;G; ISSUE WELCOME MESSAGEM; (10$: MOV #LKT,R1 ;POINT TO MESSAGE TEXT MOV #LKTLEN,R2 ;GET LENGTHS/ ADD #G.CCBF,R0 ;POINT TO TERMINAL THAT WAS SET BR 30$ ; R;;; ISSUE GOOD BYE MESSAGE;O(20$: MOV #RMT,R1 ;POINT TO MESSAGE TEXT MOV #RMTLEN,R2 ;GET LENGTHB' ADD #G.CCBF,R0 ;POINT TO TERMINAL NAME 30$: CALL ISSMSG ;ISSUE MESSAGE JMP START ;GET NEXT COMMANDQ;S=; WHEN AN ELIMINATE ALL MESSAGE IS RECEIVED, EXIT IMMEDIATELYB;5 50$: EXIT$SS B;T; ROUTINE TO PRINT TO TERMINAL;G; ; INPUTS:M;E,; R0=ADDRESS OF NAME OF TERMINAL TO PRINT TO ; R1=ADDRESS OF MESSAGE TO PRINT; R2=LENGTH OF MESSAGE;T ; OUTPUTS:; ; NONE;BF; THIS ROUTINE PRINTS THE SPECIFIED MESSAGE ON THE SPECIFIED TERMINAL.C; ALL ERRORS THAT MIGHT RESULT ARE IGNORED. IN GENERAL, CLIS SHOULDTB; DO ASYNCHRONOUS I/O WITH COMPLETION AST'S, AND PROVIDE A TIMEOUT>; FACILITY TO KILL THE I/O IF IT HASN'T COMPLETED IN A CERTAINA; AMOUNT OF TIME IN ORDER TO PREVENT TERMINAL I/O FROM HOLDING UPT;; COMMAND PROCESSING. THIS IS NOT DONE HERE FOR SIMPLICITY.E;N T1ISSMSG: MOV (R0),ALUN+A.LUNA ;SET UP DEVICE NAMEL( MOVB 2(R0),ALUN+A.LUNU ;AND UNIT NUMBER$ CLRB ALUN+A.LUNU+1 ;CLEAR HIGH BYTE2 DIR$ #ALUN Q ;ASSIGN LUN 5 TO THE SPECIFIED DEVICE BCS 10$ ;IF CS, SKIP I/O+ MOV R1,QIOW+Q.IOPL ;SET ADDRESS OF MESSAGEN/ MOV R2,QIOW+Q.IOPL+2 ;INSERT LENGTH OF MESSAGEO$ DIR$ #QIOW ;DO I/O AND WAIT FOR IT 10$: RETURNE N .END START  T OF TIME IN ORDER TO PREVENT TERMINAL I/O FROM HOLDING UPT;; COMMAND PROCESSING. THIS IS NOT DONE HERE FOR SIMPLICITY.E;N T1ISSMSG: MOV (R0),ALUN+A.LUNA ;SET UP DEVICE NAMEL( MOVB 2(R0),ALUN+A.LUNU ;AND UNIT NUMBER$ CLRB ALUN+A.LUNU+1 ;CLEAR HIGH BYTE2 DIR$ #ALUN @ Q yxsh hLk L,  @N zSYSYSYSYTICLQz  zzVx22  [DC@ Q Hxyxsh hLk L,  @N zQSYSYSYSYTICLz  zzVx####::8>  G >5@ Q "xHxyxsh hLk LQ,  @N zSYSYSYSYTICLz  zzVx####::8>  T >5Q@ Q "xHxyxsh zK" hLk L,  @N zSYSYSYSYTICLz  zzVx####::8>  U >5Q@Q Ԁ:"xHxyxsh zK" hLk LX: <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< | | | Hello. | | |- | This is the USER account for RSX-11M and | | and RSX-11M-PLUS. | | |- | Most of the files in this directory are |- | used in the terminal warm-up session in |& | the Introduction to RSX-11M and | | RSX-11M-PLUS. | | |. | Some files include examples of operating |- | system features and conveniences. See |/ | WHATSHERE.TXT for more information. Other |<. | files may be deleted from this directory | | at any time. || | | | Take it easy. | | |: >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> | |- | Most of the files in this directory are |- | used in the terminal warm-up session in |& | the Introduction to RSX-11M and | | RSX-11M-PLUS. | | |. | Some files include examples of operating |- | system features and conveniences. See |/ | WHATSHERE.TXT for more information. OtQ@Q Ԁ#p:w"xHxyxsh zK" hLk LXOnly I did what you told me.I only did what you told me.I did only what you told me.I did what only you told me.I did what you only told me.I did what you told only me.I did what you told me only.#I did what you told me. Only . . .H\#6 PRIVILEGED 0-6#6 PRIVILEGED1603-635-2411-635-2281@Q ԀR@__Mp:w"xHxyxsh zK" hLk LXTime flies like an arrow. Space flies like a bow.Fruit flies like a banana.&&&TTT  t P` $y2  vr8wh% hCAB @ ^4\wdA& @ @ ` e ʵ        ʵ    5@.E&h7 vhp  ,U5 5 wFH  eQ@Q ԀXM3@__Mp:w"xHxyxsh zK" hLk LXA HOLLOW VOICE SAYS "PLUGH".y'Ԁ01DEC8115291401DEC81152913>7@Q ԀOXXM3@__Mp:w"xHxyxsh zK"}} hLk LXLFiles in [200,1] are for the convenience of all users. In particular, many Oof these files are used in the terminal warm-up session in the Introduction to MRSX-11M and RSX-11M-PLUS. Here is a brief indication of the contents of all 4the files in this directory as supplied on the kits.6A.A;1 Type this file on a VT100 to clear your screen.= The file contains escape sequences. Do not type on a VT52.LSUCCESS.TSK;1 Demonstration of exit-with-status. This task does nothing butA exit with a Qstatus of SUCCESS. Use with the three other tasks s. to test tasks that respond to exit status. LWARNING.TSK;1 Demonstration of exit-with-status. This task does nothing but" exit with a status of WARNING. JERROR.TSK;1 Demonstration of exit-with-status. This task does nothing but exit with a status of ERROR. KSEVERE.TSK;1 Demonstration of exit-with-status. This task does nothing but ' exit with a status of SEVERE ERROR. fDLOGIN.CMD;1 This indirect command file sets the terminal to DCL and  types HELLO.TXT.EDELETE.CMD;1 This indirect command file prints the latest version of > selected files on your terminal and deletes all versions if you wish.HCLOCK.MAC;1 This source file was prepared as a programming exercise by a? member of the RSX-11M/M-PLUS documentation group. It runs onO@ a video terminal printing the time in large characters on the screen.nJCLKGEN.CMD;1 This indirect command file allows you to customize CLOCK.MAC.ESHOW.CMD;1 This indirect command file is used in the terminal warm-upC8 session. It issues three SHOW commands in succession.CHIYA.MAC;1 A source file written in MACRO-11 Assembly Language for * use with the terminal warm-up session. CSTARS.MAC;1 A source file written in MACRO-11 Assembly Language forL* use with the terminal warm-up session. CFLY.TXT;* Two text files for use with the terminal warm-up session.ATEXT.TXT;1 A text file for use with the terminal warm-up session.CFCLEAN.CMD;1 An indirect command file for eliminating files created in > the terminal warm-up session. Do not invoke this file while5 a new user is in the course of the warm-up session.lWHATSHERE.TXT;1 This file.JSHAVE.CMD;1 An indirect command file to be passed to the BROADCAST command0 as described in the terminal warm-up session.GTMCLI.MAC;1 Simple sample CLI as described in the RSX-11M/M-PLUS Systemr& Management Guide. MACRO-11 version.GTMCLI.FTN;1 Simple sample CLI as described in the RSX-11M/M-PLUS Systemm< MQanagement Guide. FORTRAN version. Compatible with all  DIGITAL FORTRAN compilers.s file while5 a new user is in the course of the warm-up session.lWHATSHERE.TXT;1 This file.JSHAVE.CMD;1 An indirect command file to be passed to the BROADCAST command0 as described in the terminal warm-up session.GTMCLI.MAC;1 Simple sample CLI as described in the RSX-11M/M-PLUS Systemr& Management Guide. MACRO-11 version.GTMCLI.FTN;1 Simple sample CLI as described in the RSX-11M/M-PLUS Systemm< MRBACKUPDR1:[12,304]QIOSYM .MSG;1@'etration PUKCABR.R@kz?T29DEC8110301029DEC81103009 :RBad parametersInvalid function codeDevice not readyParity error on deviceHardware option not presentIllegal user bufferDevice not attachedDevice already attachedDevice not attachableEnd of file detectedEnd of volume detectedWrite attempted to locked unitData overrunSend/receive failureRequest terminatedPrivilege violationSharable resource in useIllegal overlay requestOdd byte count (or virtual address)Logical block number too largeInvalid UDC module #UDC connect errorCaller's nodes exhaustedDevice fullIndex file fullNo such fileLocked from read/write accessFile header fullAccessed for writeFile header checksum failureAttribute control list format errorFile processor device read errorRFile processor device write errorFile already accessed on LUNFile ID, file number checkFile ID, sequence number checkNo file accessed on LUNFile was not properly closedOPEN - no buffer space available for fileIllegal record sizeFile exceeds space allocated, no blocksIllegal operation on file descriptor blockBad record typeIllegal record access bits setIllegal record attributes bits setIllegal record number - too largeInternal consistancy errorRename - 2 different devicesRename - new file name already in useBad directory fileCan't rename old file systemBad directory syntaxFile already openBad file nameBad device nameBad block on deviceENTER - duplicate entry in directoryNot enough stack space (FCS or FCP)Fatal hardware error on deviceFile ID was not specifiedIllegal sequential operationEnd of tape detectedBad version numberBad file header RDevice off lineBlock check, CRC, or framing errorDevice onlineNo such nodePath lost to partnerBad logical bufferNo dynamic space availableConnection rejected by userConnection rejected by networkFile expiration date not reachedBad tape formatNot ANSI 'D' format byte countNo data availableTask not linked to specified ICS/ICR interruptsSpecified task not installedDevice offline when offline request was issuedInvalid escape sequencePartial escape sequenceAllocation failureUnlock errorWrite check failureTask not triggeredTransfer rejected by receiving CPUEvent flag already specifiedDisk quota exceededInconsistent qualifier usageCircuit reset during operationToo many links to taskNot a network taskTimeout on requestConnection rejected RUnknown nameUnable to size deviceRInsufficient dynamic storageSpecified task not installedPartition too small for taskInsufficient dynamic storage for sendUn-assigned LUNDevice handler not residentTask not activeDirective inconsistent with task stateTask already fixed/unfixedIssuing task not checkpointableTask is checkpointableReceive buffer is too smallPrivilege violationResource in useNo swap space availableIllegal vector specifiedRRDirective issued/not issued from ASTIllegal mapping specifiedWindow has I/O in progressAlignment errorAddress window allocation overflowInvalid region IDInvalid address window IDInvalid TI parameterInvalid send buffer size ( .GT. 255.)LUN locked in useInvalid UICInvalid device or unitInvalid time parametersPartition/region not in systemInvalid priority ( .GT. 250.)Invalid LUNRInvalid event flag ( .GT. 64.)Part of DPB out of user's spaceDIC or DPB size invalidSBACKUPDR1:[12,304]ERRLOG .ULB;1XPUKCABXS.S""_M"29DEC8110301229DEC81103011; ; ;S<0Q +-8x {7$G7$R7$[&'M'Y'瑇''Y'瑏'Y'瑗y:';TMOAO 6&B  N#`L# ## Drive_type(` BB\##` R&BE2 NODRIVTYP_L#(&>#> #d#>  C # USE_UNKNOWNyUSE_THIS_RECORD" #dDU:f #  DEVUDA UDADEV_NAMEC8 EUNKWNY MSCP deviceC MSCP deviceC >#l#l USE_THIS_RECORDt#Bd#>lR#:  &BUSE_THIS_RECORD: NODRIVSIZR#: ("#> USE_UNKNOWNC> t# UNKNWNDEVWS#> USE_UNKNOWNC  #(qT>  # USEEUNKWNW`# USE_UNKNOWNCUSE_THIS_RECORD8E#X SX(C #h SE(#T SV( USE_UNKNOWN0 EUNKWN *UnknownS *Unknown@Q 8 S6(qDEVUDA01.00RV0-1USX>DISPCINTERMOD_DEVERRVAR UDADEV_NAME #P MSCP devicedRX  0bCT ##6!(cBT MSCPTO. A#6N(b )T MSCPTO #TbA#6 Format TypeN(` #bT MSCPEN r#b4pT MSCPAT BF#bSeT MSCPSDSSSSLT MSCPBD> DUILLFORMt#bD(% DEVSM1 USE_UNKNOWNT@Q 8 (pDISPATM01.00V0-1`DEVICESH DEVICE_ID h DEVICE_OP  DISPERRORzHEADERS RINTERMOD_DEVERR  NOTE_NUMBSERST PACKET_RANGEGvREPORT 0TASKTITLE ENTRYf f‡>$( " b Ne~B" n""F("J@." N84" R:  :>  nBDC >D& rEFVGb ZHzI ^J`KvL6MfN"1jU"82 " " ` *  נ נ  נננ"D נaנz E ѐEp(p נ$נ0נ9נAנZנ_נ:  zנ[F<8  "Ƞ "*,   [נ%נ*נ0נ"נ נ "(" +"j*0"ננ3"ננ9" נW" a" &d"b sNp"hv"(} :<}yh`hh@Qh;Ph@;VNh8`hp=h@=hDh(h(zKh'h֯}h4hh XhPh 8rP \hh x*yh0; 8 <ձW@ah`X  ahHe;   ERRORM ERROR_1 PARSEM SETUP_ #f INITM1 INIT_1   & # #(S@ ILLPACRAN.X#  (D*L#  (#(D*L#:(*j (p , #j DISPATCH >#j  FINLM1 FINAL_1COMMAND(QDISPATCH,  $(  #   ~vzr, b ^f F6: 2  R VZ  J  N B >  n : j   SELTM1 SELECTION_1 #s  #nX # T 0  0  >  NS #~ D>$$ # >t0p T  | Xd , 0x `  \  l" # h#tX#p0T(& :  SELTM1 SELECTION_2  #$   N #Xs#  0: $  0  0, X  >$ 0  0sN       #v NODACSPRT_#j   #Bs#B* ILLPACCOD_$#j #Bs(#  DSPL#B0C ("$ M1 #(q# START_MOD_ MODNOTFNDM#@Q 8 (pDSP1M1M01.00V0-1 CHDATAC DISPHHEADERRINTERMOD_DEVERR 2REPORTG SUBCODE START_MODs#  $d 0Status ChangeSwitch FilesAppend to FileSet Backup FileChange Limits s#  # &8 ILLPACSBCe$N#P#(" # ("  S #* TT#~< R Z >D_B ::(P6 fj# BRIEFC#A#>((#lLog = #Z*?? StopStartl No ChangeeT( , Limit =  #R*??iStopStartl No Changee( #FULL REGISTERSp#OUTPUT_PACKETS#OUTPUT_PACKETS#OUTPUT_PACKETS#OUTPUT_PACKETSD#Z*??P Stop Logging Start LoggingeNo change in Logging(H#R*??P Stop LimitingStart LimitingNo change in Limitings(0#BCreate new filetAppending to fileg (> #:(file specification defaulted)#6#: ((#Status:!1FL-------!2FL!5FCLogging Status!28FCLimiting Status!50FCFile Status!69FCLog File Name!2FL!5FC!21DP!28FC!20DP!50FC!17DP!69FC!35DPiStatus:!1FL-------!2FL!5FCLogging Status!28FCLimiting Status!2FL!5FC!21DP!28FC!20DP!2FL!5FCFile Status!24FCLog File Name!2FL!5FC!17DP!24FC!35DPe( NONE*0TT#~8  >0BF :P6 ># BRIEFs##((#`#BCreate new file, -Appending to file, s(#FDelete old file, Save old fileoj(  #FULL REGISTERSd~D#OUTPUT_PACKETS#OUTPUT_PACKETS #OUTPUT_PACKETS#OUTPUT_PACKETS,M#FDelete old file, Save old fileoX(0 #BCreate new file,Appending to filel(> #:(file specification defaulted)#6 #: $(lhStatus:!1FL-------!2FL!5FCDisposition!22FCFile Status!41FCLog File name!2FL!5FC!15DP!22FC!17DP!41FC!35DP NONE*TT #~8 . > BF :,P6 :# BRIEFs##$(( #\#BCreate new file-Appending to fileo(#FDelete old file- Save old filef( #FULL REGISTERSd~#OUTPUT_PACKETS>#OUTPUT_PACKETS #OUTPUT_PACKETS#OUTPUT_PACKETS,#FDelete old file- SaSve old filef$(0 #BCreate new file-Appending to fileo(>#:(file specification defaulted) #6#: (lhStatus:!1FL-------!2FL!5FCDisposition!22FCFile Status!41FCLog File Name!2FL!5FC!15DP!22FC!17DP!41FC!35DP NONE*  TT#~( sN > :P6 ,# BRIEFsnb# #(( #>#:(file specification defaulted)[#6#: (#FULL REGISTERSc#OUTPUT_PACKETS #OUTPUT_PACKETS#OUTPUT_PACKETS#OUTPUT_PACKETS@>#:$(file specification defaulted)#6#: (<7Status:!1FL-------!2FL!5FCBackup File Name!2FL!5FC!35DP1 NONE,*  s-#~V Nw b J nf j*l^0V   L## BRIEFs * &*et#&#&((##^ #V0s(& : 6Hard = !w#J(# , Soft = F #j(# f# *FULL REGISTERSF B#OUTPUT_PACKETS)#OUTPUT_PACKETSw#OUTPUT_PACKETSV#OUTPUT_PACKETS\XStatus:!1FL-------!2FL!5FCDevice!13FCHard Limit!25FCStatus!33FCSoft Limit!45FCStatus!2FL * &*eh #^#V0s(&p : #JB(#w#bNewSame(#j(##fNewSame(0,!5FC!6DP!13FC!4DP!25FC!4DP!33FC!4DP!45FC!4DP * NONE@ Q 8!SDz(pDSP2M1M01.00V0-1FL-DISPCHEADER-FINTERMOD_DEVERR  NOTE_NUMBERSS:REPORTU SUBCODEx START_MODIEFs$< ApeDevice Hard ErrorDevice Soft ErrorDevice Timeout  # LS#H &8 ILLPACSBCe$K##L("U#HT("  DEVSM1 DEVICE_NAMET_#v DEVICE_ENTRY DEVICE_ERROR DEVICE_ERRORfilF(E rt#e#zi# p( ig f ## BRIEFEb ci#dJl>6# #T((S#:#6-# Function = Ri#rn F#SuFULL REGISTERS= P2#1 4C#FULLb#OUTPUT_PACKETS#OUTPUT_PACKETS#OUTPUT_PACKETS6#OUTPUT_PACKETSs#r#|I/O Operation Information:!1FL--- --------- ------------!2FL!5FCDevice Function!38FCType of Error!2FL!5FC!30DP!38FC!30DP!3FL L#??? Sd ###T#A#nDevice Error Position Information:!1FL------ ----- -------- ------------!2FL!5FCCylinder!15FCGroup!22FCHead!28FCSector!36FCBlock!2FL!5FC!8DP!15FC!5DP!22FC!4DP!28FC!6DP!36FC!10DP!2FLFe#hd!1FP!5FCEntry !DP!22FC(continued)!3FLDevice Supplied Information:!FL------ -------- ------------!2FLriPe#5#P!(#1#61# D# (# )(  (#T((#!1FP!5FCEntry !7DP!20FCSequence !9DP!40FC!6DP!48FC!18DP!DP!2FS!20DP!3FLDevice Supplied Information:!FL------ -------- ------------!2FL!1FP!5FCEntry !7DP!20FCSequence !9DP!40FC!6DP!FL!5FC!18DP!DP!2FS!20DP!3FLDevice Supplied Information:!FL------ -------- ------------!2FL(1 P1 NONE Op ci&R vNOd#v(: #v7(q1#v NOTES5 NONOTESC!#~%S@ Q 8^R(;qDSP3M1M01.00V0-1ratDISPCHEADER FINTERMOD_DEVERR  NOTE_NUMBERSS:REPORTU SUBCODEP START_MODT-$B ApeDevice Message v#  oc#H o& 8 ILLPACSBCe$##L("#HL(" B DEVSM1 DEVICE_NAMEM#v DEVICE_ENTRY DEVICE_ERROR DEVICE_ERROREVIFETE I_#O#zE# R( iF  e# BRIEFEb #J># #TI(( ##6# Function = R#r( S##uFULL REGISTERS= # u#FULL bE#OUTPUT_PACKETS#OUTPUT_PACKETSU#OUTPUT_PACKETSU#OUTPUT_PACKETSUA#r#|I/O Operation Information:!1FL--- --------- ------------!2FL!5FCDevice Function!38FCType of Error!2FL!5FC!30DP!38FC!30DP!3FL y #??? 2F !#3#F#L#?#nDevice Error Position Information:!1FL------ ----- -------- ------------!2FL!5FCCylinder!15FCGroup!22FCHead!28FCSector!36FCBlock!2FL!5FC!8DP!15FC!5DP!22FC!4DP!28FC!6DP!36FC!10DP!2FLF!F#hd!1FP!5FCEntry !DP!22FC(continued)!3FLDevice Supplied Information:!FL------ -------- ------------!2FLrnP-#-#P-(#-#6!# # (#P )(! (#TD((#!1FP!5FCEntry !7DP!20FCSequence !9DP!40FC!6DP!48FC!18DP!DP!2FS!20DP!3FLDevice )SSupplied Information:!FL------ -------- ------------!2FL!1FP!5FCEntry !7DP!20FCSequence !9DP!40FC!6DP!FL!5FC!18DP!DP!2FS!20DP!3FLDevice Supplied Information:!FL------ -------- ------------!2FLt(!1 -1 NONE LO 1&RvNON#v( O #v(qv#v NOTES5 NONOTESC#~@ Q 8^R(gqDSP4M1M01.00V0-1rat$DATAC DEVICE_ID DISPSHEADER &INTERMOD_DEVERR .REPORTR SUBCODEP START_MODSUBCO>N$BEP RV Device MountDevice DismountDevice Info ResetBlock Replacement Tn# E O# &8 ILLPACSBC $##c("s# (" # DEVSM1 DEVICE_NAMEe &<8#z# (b# BRIEFEM#D#A((##vD#NVolume Label = c #fI(D #f( Hard Errors = #^F(# , Soft Errors = #bI(#b (#FULL REGISTERSr~N/AIF#OUTPUT_PACKETS#OUTPUT_PACKETSG#OUTPUT_PACKETS#OUTPUT_PACKETS NONE*OUTP#z: 6TSFJ  :  >   B iJ-Su# BRIEFTZ N2#C#8((D# #v(Block Replaced, LBN = #:(# ?#FULL REGISTERSlnN/AI1-#OUTPUT_PACKETS!#OUTPUT_PACKETS!#OUTPUT_PACKETSl#OUTPUT_PACKETSD!#:C(#@3#>P(#  #F (Primary RBN)S(Secondary RBN)-o(n ")#BiN/Ail#Bo(#t(F#JSuccessyFailureS-(Replacement Status:!FL----------- -------!2FL!5FCLogical Block!20FCNew Replacement Block!47FCOld Replacement Block!70FCStatus!2FL!5FC!9DP!20FC!25DP!47FC!9DP!70FC!7DP!2FL2 NONE@ Q 8( qDSP5M1M01.00V0-1nt  CPU_DISPATCHMCPU_TEMPODATAUDISPE"HEADERSINTERMOD_DEVERR 2REPORTI SUBCODE START_MODW_G_F W$_F( LAS Memory ErrorUnknown InterruptT*E$n h BR  >E11XXDE11XX E11XXE11XXE11XXE11XXV"E1134e(E11XXu,E1144-E11XXeV CPU_ENTRYw$(~ EUNKWNV DEVICE_ENTRYm#~e#V CPU_ERRORT Zel>#o#0j f n# BRIEFRTrH#A#((F# $ Vector = T#jO(BA(&T #FULL REGISTERST_#OUTPUT_PACKETS#OUTPUT_PACKETS:#OUTPUT_PACKETSJ#OUTPUT_PACKETS&B#ju(B(&F#fN(#NIStatus:!1FL-------!3FL!5FCVector!13FCLost Interrupts!2FL!5FC!4DP!13FC!4DPD NONE CPU_ERRORn / # BRIEFsdUNA##((T# ,11/E#*?T#0s("l( O#_#EFULL REGISTERSFl  #FULL( #OUTPUT_PACKETS#OUTPUT_PACKETS#OUTPUT_PACKETSs#OUTPUT_PACKETSlt#hd!1FP!5FCEntry !DP!22FC(continued)!3FLMemory Supplied Information:!FL------ -------- ------------!2FLraPL#9#!(#4#zD#  C#2 (#N )( o(o#-((-#!1FP!5FCEntry !7DP!20FCSequence !9DP!40FC!6DP!48FC!18DP!DP!2FS!20DP!3FLMemory Supplied Information:!FL------ -------- ------------!2FL!1FP!5FCEntry !9DP!22FCSequence !9DP!40FC!6DP!FL!5FC!18DP!DP!2FS!20DP!3FLMemory Supplied Information:!FL------ -------- ------------!2FLS(1 NONE OE@Q 85Sf((XqDSP6M1M01.00V0-1FL-zHEADERSINTERMOD_DEVERR .REPORTC SUBCODE START_MODt$ _F2Power Recovery Ez# Sa#8 Aa&8 ILLPACSBCn$ #N#<("V#8I(" T a# BRIEFC(UB##@L((#R#lFULL REGISTERSnrFZ#pOUTPUT_PACKETSr#tOUTPUT_PACKETSu#xOUTPUT_PACKETS#|OUTPUT_PACKETS NONE@Q 8'46 (qDSP7M1M01.00V0-1USHDATAC DISP5HEADERINTERMOD_DEVERR 2REPORTY SUBCODE START_MODIEFRTx $d (Time ChangeSystem CrashDriver LoadDriver UnloadSystem Message #T PE# UU&A8 ILLPACSBCm$B##f("N#S(" s F9S~ -#t*13FCL!#~ NOER ZP# BRIEFCN/B##d((N# New Time = M,#R(( #FULL REGISTERS=##OUTPUT_PACKETSS#OUTPUT_PACKETS#OUTPUT_PACKETS#OUTPUT_PACKETSE#RO((VQTime Change Information:!1FL---- ------ ------------!2FL!5FCNew Time!2FL!5FC!20DPL NONEa*n:!FL #~nra6 V BZ  ^CSqb0f >0 F j-- n ~!# BRIEFCNSBe#!#P((F# Crashed at y#6e((n m#FULL REGISTERSt-S#OUTPUT_PACKETS#OUTPUT_PACKETSN#OUTPUT_PACKETS#OUTPUT_PACKETS* RSX-11MP#ZCPA-#BJ("vrSystem Crash:!1FL------ ------!2FL!5FCSystem!18FCIdent!25FCCPU!30Format!2FL!5FC12DP!18FC!4DP!25FC!3DP!30FC!6DP!2FLn#6V((#^('#b6#f0mw(&#FS0(&#F0(&xt!5FCTime of Crash!27FCActive Task!40FCTI:!48Kernel APR5 Mapping!2FL!5FC!20DP!27FC!6DP!40FC!2DP!3DP:!48FC!6DP!2FS!6DP NONEF*-----F#~ FCt: sC# BRIEFi.t"# #((h#^#:#FULL REGISTERSo*(N#OUTPUT_PACKETS##OUTPUT_PACKETS,#OUTPUT_PACKETSD#OUTPUT_PACKETS#:#IDevice Driver Load:!1FL------ ------ -----!2FL!5FCDriver Name!2FL!5FC!2DP0MDevice Driver Unload:!1FL------ ------ -------!2FL!5FCDriver Name!2FL!5FC!2DP5F( NONE !*!5FC!RR2#~ J8PN # BRIEFe  F#J'@46## ((I##N#J (#@4#B#t(( #i#N' #FULL REGISTERSid#OUTPUT_PACKETSS#OUTPUT_PACKETS#OUTPUT_PACKETS#OUTPUT_PACKETS #xTT#N#J `[System=S Message Service:!1FL------ ------- --------!2FL!5FCThe message follows:!2FL!5FC!80DPn" #J(x##Ne#Je `[System Message Service:!1FL------ ------- --------!2FL!5FCThe message follows:!2FL!5FC!80DPnC(l#N(5 1#N)C#J(1!C lgSystem Message Service:!1FL------ ------- --------!2FL!5FCThe message follows:!2FL!5FC!40DP!FL!5FC!40DP- NONE@Q 8 '4g76(^gqE1134M01.00V0-1USFDISPDBINTERMOD_DEVERR REALD`REGISTERV REPORTN CPU_ENTRYH|$   SELC_#6p(c#6(c2XX#6  # Ax #8h0P_CSR00&$  MEMORY PARITY CSR 00 - 772100 : (& CSR = #0=(!  (B)c  TE_x O #Eh0P_CSR01&$  MEMORY PARITY CSR 01 - 772102 :R (& CSR = #0=S(!N  (B)N  $x B D#h 0P_CSR02&$  MEMORY PARITY CSR 02 - 772104 :_P (& CSR = #0=(!I  (B)  Ux G U#Ih0P_CSR03&$  MEMORY PARITY CSR 03 - 772106 : (& CSR = P#0=(!&  (B)  x " #h0P_CSR04&$  MEMORY PARITY CSR 04 - 772110 :> (& CSR = W#0=T(AS!  (B)  B@x . V#Wh0P_CSR05&$  MEMORY PARITY CSR 05 - 772112 :M. (& CSR = F#0=(!O  (B)  `Ix W #Oh0P_CSR06&$  MEMORY PARITY CSR 06 - 772114 : (& CSR = 8#0=(!  (B)N  .RLx #h 0P_CSR07&$  MEMORY PARITY CSR 07 - 772116 : (& CSR = #0=(!  (B)  x  # h$0P_CSR08&$  MEMORY PARITY CSR 08 - 772120 :f( (& CSR = D#0=(!  (B)Z  0.(x # Ih(0P_CSR09&$  MEMORY PARITY CSR 09 - 772122 ::! (& CSR = a#0=e(!4  (B)t  axmx R r# Ch,0P_CSR10&$  MEMORY PARITY CSR 10 - 772124 : (& CSR = #0=I(!  (B)t  R#x # # h00P_CSR11&$  MEMORY PARITY CSR 11 - 772126 :F( (& CSR = P#0=!(!  (B)  x  $# h40P_CSR12&$  MEMORY PARITY CSR 12 - 772130 :6F (& CSR = C#0=!(!!  (B)!  x q# h80P_CSR13&$  MEMORY PARITY CSR 13 - 772132 :CO (& CSR = X#0=h(!  (B)  Sx  S#Wh<0P_CSR14&$  MEMORY PARITY CSR 14 - 772134 :l (& CSR = #0=(!  (B)  x ! #h@0P_CSR15&$  MEMORY PARITY CSR 15 - 772136 : (& CSR = X#0=(!  (B)  PAS . V A O#FH0CACHERR CACHE ERROR REGISTER : BR  *CPU Abort* *Unused bits setD &$*High Byte Parity Error (cache): &$*Low Byte Parity Error (cache): *Tag Parity Error *Unused bits setJ0CSHCTRL  CACHE CONTROL REGISTER :c *Unused bits set  Valid Store in UseS  Valid Clear in Progress *Unused bit set   Write Wrong Tag Paritys  Unconditional Bypasst    Flush Cache   Parity Error Aborts2M ES Write Wrong Parity Data N *Unused bits set  Force Miss High  Force Miss Lowh *Unused bit seth  Disable Parity ErroraL0CSHMAIN$" CACHE MAINTENANCE REGISTER :e# *Unused bits set  Write Tag All OnesRN0CASHHIT CACHE HIT REGISTER :G#  *CPU Abort() *Unused bits set *Parity Error High ByteS *Parity Error Low Byte  *Tag Parity Error *Unused bits set" # D  #\N/AuXN/AuTN/AutN/Au#`???ulN/AuhN/AudN/AuXPN/Au #F"p  #pTWpTrap Thru Vector 114WpTrap Thru Vector 114  #x(.)!5FCName!13FCValue!25FCInterpretation!2FLDT$!2FL!5FC!DF!13FC!DP!25FC!DP!2FLt. #!25FC!DP!75FC!DP!CE! !25FC!DP!CEt (@Q 8 '4g77$>6(nqE1144M01.00V0-1USXDISPDBINTERMOD_DEVERR REALDdREGISTERV REPORTL  CPU_ENTRY_CSR14|M$OR  B) #6(ch#6(cC5&$PP5#6D : (x C #h0P_CSR00&$  MEMORY PARITY CSR 00 - 772100 : (& CSR = A#0=E(!T IS (B)  Cx A r#h0P_CSR01&$  MEMORY PARITY CSR 01 - 772102 : (& CSR = #0=r(!a  (B)  Tx P i#rh 0P_CSR02&$  MEMORY PARITY CSR 02 - 772104 : R (& CSR = #0=b(!  (B)  x l #nh0P_CSR03&$  MEMORY PARITY CSR 03 - 772106 : (& CSR = n#0=y(!  (B)  diix l y#h0P_CSR04&$  MEMORY PARITY CSR 04 - 772110 : W (& CSR = #0=n(!d  (B)e   x #ih0P_CSR05&$  MEMORY PARITY CSR 05 - 772112 : (& CSR = E#0=(!  (B)$  ACEx I E#Eh0P_CSR06&$  MEMORY PARITY CSR 06 - 772114 :sR (& CSR = #0= (!  (B)R  x  P#(h 0P_CSR07&$  MEMORY PARITY CSR 07 - 772116 : (& CSR = r#0=(!  (B)a  y rx #h$0P_CSR08&$  MEMORY PARITY CSR 08 - 772120 : (& CSR = #0=(!  (B)  N/ux # dh(0P_CSR09&$  MEMORY PARITY CSR 09 - 772122 :T (& CSR = u#0=(!  (B)T  u ex r 1# h,0P_CSR10&$  MEMORY PARITY CSR 10 - 772124 :!2 (& CSR = 2#0=.(!  (B)C  C!Px ! !# !h00P_CSR11&$  MEMORY PARITY CSR 11 - 772126 :! (& CSR = #0=(!  (B)  _CRx # Yh40P_CSR12&$  MEMORY PARITY CSR 12 - 772130 : (& CSR = #0=(!  (B)1  MMx R# h80P_CSR13&$  MEMORY PARITY CSR 13 - 772132 : (& CSR = #0=1(!$  (B)O  TYCx 1 -# h<0P_CSR14&$  MEMORY PARITY CSR 14 - 772134 :W (& CSR = 1#0=O(!P  (B)S  771x : #h@0P_CSR15&$  MEMORY PARITY CSR 15 - 772136 : (& CSR = O#0=S(!5  (B)3   CR X#H0CACHERR CACHE ERROR REGISTER :   *CacMShe Memory Parity ErrorRR *Unused bits set A &$*Parity Error High Byte (cache):& &$*Parity Error Low Byte (cache):& *Tag Parity Error (c *Unused bits setJ0CSHCTRL  CACHE CONTROL REGISTER :c C *Unused bits set  Valid Store in UseS  Valid Clear in Progress *Unused bit set    Write Wrong Parity Tags "  Unconditional Cache Bypasscnc   Flush Cache  Parity Error Aborte P  Write Wrong Parity Datate *Unused bits set*U  Force Miss High  Force Miss Lowh *Unused bit seth &$ Disable Cache Parity Interrupt:L0CSHMAIN$" CACHE MAINTENANCE REGISTER :p    Compare 1 s   Compare 2ri   Compare 30   Valid  High Parity Bit  Low Parity Bit  Tag Parity Bit   Hitro *Unused bits sety   Enable Stop ActionR P  Address Matchednu  Enable Halt ActionRD  Hit on Destination Only ,*% Tag Data From Address Match RegisterN0CACHHIT  CACHE HIT/MISS REGISTER :  64 Tag Address of Last Access = o#0Ap(& Tr *Unused bit set x B  Hit on 6th previous access  Miss on 6th previous accessFL B  Hit on 5th previous access  Miss on 5th previous access ( B  Hit on 4th previous access  Miss on 4th previous access B  Hit on 3rd previous access  Miss on 3rd previous accessAR B  Hit on 2nd previous access  Miss on 2nd previous access B  Hit on most recent accesss  Miss on most recent accesss\N/AsXN/AsTN/AstN/As`???slN/As hN/AsdN/AsNPN/As"#p F 1#pDDpTrap Thru Vector 114 #xR.)!5FCName!13FCValue!25FCInterpretation!2FLD#T$!2FL!5FC!DF!13FC!DP!25FC!DP!2FLt.#!25FC!DP!75FC!DP!CE! !2QS5FC!DP!CEt(@Q 8 '4g77$>7$G6(uqE1160M01.00V0-1USXDISPDBINTERMOD_DEVERR REALD`REGISTERV REPORTN CPU_ENTRYP_C~4|$ M   ()#6 (c##6(cCSR15PPS#6  216 x #Oh0P_CSR00&$  MEMORY PARITY CSR 00 - 772100 : (& CSR = I#0=(!  (B)h  y ax y r#h0P_CSR01&$  MEMORY PARITY CSR 01 - 772102 :& (& CSR = E#0=y(!(  (B)&  x g a#rh 0P_CSR02&$  MEMORY PARITY CSR 02 - 772104 :OL (& CSR = #0=d(!t  (B)  x V i# h0P_CSR03&$  MEMORY PARITY CSR 03 - 772106 : (& CSR = r#0=T(!  (B)  onix n #yh0P_CSR04&$  MEMORY PARITY CSR 04 - 772110 : (& CSR = y#0=(US!  (B)d  etx U # h0P_CSR05&$  MEMORY PARITY CSR 05 - 772112 : (& CSR = #0=y(!t  (B)L  Cx A $#Ah0P_CSR06&$  MEMORY PARITY CSR 06 - 772114 :ri (& CSR = #0=(!a  (B)  Hgx a t#h 0P_CSR07&$  MEMORY PARITY CSR 07 - 772116 : (& CSR = t#0=(!  (B)n  opAx o #h$0P_CSR08&$  MEMORY PARITY CSR 08 - 772120 :De (& CSR = #0= (!a  (B)d  athx g t# h(0P_CSR09&$  MEMORY PARITY CSR 09 - 772122 : o (& CSR = #0=&(!T  (B)  se x t# Bh,0P_CSR10&$  MEMORY PARITY CSR 10 - 772124 :B (& CSR = r#0=s(!  (B)o  reix c# h00P_CSR11&$  MEMORY PARITY CSR 11 - 772126 : (& CSR = #0=c(!  (B)s  pex u a# h40P_CSR12&$  MEMORY PARITY CSR 12 - 772130 : (& CSR = o#0=c(!s  (B)i  os x e # h80P_CSR13&$  MEMORY PARITY CSR 13 - 772132 : (& CSR = N#0=N(!"  (B)  x #Dh<0P_CSR14&$  MEMORY PARITY CSR 14 - 772134 :ue (& CSR = n#0=(!$  (B)!  13Cx ! F#Lh@0P_CSR15&$  MEMORY PARITY CSR 15 - 772136 : (& CSR = 1#0=O(!P  (B)S  771   &H0CACHERR CACHE ERROR REGISTER : H  *CPU Abort *Unused bits set  &$*High Byte Parity Error (cache):*U $"*Low Byte Parity Error (cache)ro *Tag Parity ErrorE$ *Unused bits setJ0CSHCTRL  CACHE CONTROL REGISTER :a *Unused bits setHE  *Cache Parity Error Abortase  Write Wrong Parity id *Unused bits setid  Force Miss Group 1 *U  Force Miss Group 0 te *Unused bit setu   Disable Traps sccN0CASHHIT YS CACHE HIT/MISS REGISTER :ro  &$D#*Unused bits sete( B  Hit on 7th previous access  Miss on 7th previous accessnu B  Hit on 6th previous access  Miss on 6th previous accessMA B  Hit on 5th previous access  Miss on 5th previous access  B  Hit on 4th previous access  Miss on 4th previous accessri B  Hit on 3rd previous access  Miss on 3rd previous access B  Hit on 2nd previous access  Miss on 2nd previous access P B  Hit on most recent accesss  Miss on most recent accesssH\N/AsnXN/AsTN/AsTtN/Asm`???stlN/AshN/AsCdN/AsPN/As"Mp #p epTrap Thru Vector 114 A&#x .)!5FCName!13FCValue!25FCInterpretation!2FLDeT$!2FL!5FC!DF!13FC!DP!25FC!DP!2FLt.#!25FC!DP!75FC!DP!CE! !25FC!DP!CEt(@Q 8 '4g77$>7$G7$R6({qE117XM01.00V0-1USXDISPDBINTERMOD_DEVERR REALDxREGISTERV REPORTA CPU_ENTRY_CSR14r|M$OR  B)! 1#6F(ch#6(cC5&$PP5#6 : (x C #h0P_CSR00&$  MEMORY PARITY CSR 00 - 772100 : C (& CSR =]S R#0=(!*  (B)r  x U s# h0P_CSR01&$  MEMORY PARITY CSR 01 - 772102 :e (& CSR = e#0=(!a  (B)y  $ x #dh 0P_CSR02&$  MEMORY PARITY CSR 02 - 772104 : (& CSR = #0=(!*  (B)a  ro x r s#h0P_CSR03&$  MEMORY PARITY CSR 03 - 772106 :ce (& CSR = #0=c(!i  (B)p  x  n#th0P_CSR04&$  MEMORY PARITY CSR 04 - 772110 :IT (& CSR = #0=(!  (B)*  bisx t #Bh0P_CSR05&$  MEMORY PARITY CSR 05 - 772112 :B (& CSR = r#0=s(!  (B)o  reix c#h0P_CSR06&$  MEMORY PARITY CSR 06 - 772114 : (& CSR = #0=c(!  (B)s  pex u a#h 0P_CSR07&$  MEMORY PARITY CSR 07 - 772116 : (& CSR = n#0=a(!s  (B)i  ndpx i s# h$0P_CSR08&$  MEMORY PARITY CSR 08 - 772120 :H (& CSR = N#0=N(!  (B)N  x s l# Ah(0P_CSR09&$  MEMORY PARITY CSR 09 - 772122 :  (& CSR = u#0=(!  (B)  .x C m# ah,0P_CSR10&$  MEMORY PARITY CSR 10 - 772124 :Lt (& CSR = 5#0=!(!C  (B)  ,x  # &h00P_CSR11&$  MEMORY PARITY CSR 11 - 772126 :! (& CSR = #0=(!  (B)  _CRx # Yh40P_CSR12&$  MEMORY PARITY CSR 12 - 772130 : (& CSR = #0=(!  (B)1  MMx R# h80P_CSR13&$  MEMORY PARITY CSR 13 - 772132 : e (& CSR = #0=1(!$  (B)O  TYCx 1 -# h<0P_CSR14&$  MEMORY PARITY CSR 14 - 772134 :D (& CSR = 1#0=O(!P  (B)S  771x : #h@0P_CSR15&$  MEMORY PARITY CSR 15 - 772136 : (& CSR = O#0=S(!5  (B)3  D0LOW_ERR$" LOW ERROR ADDRESS REGISTER :6 aS20 Error Address LSBs = #P(&b  (O) F0HIGHERR$" HIGH ERROR ADDRESS REGISTER : ZX Cycle Type = c#Data In (read) Data In Pause:Data Out Data Out Byte8( 0 *Unused bits set 64 Error Address MSBs = #0r (&i  (O)r H0CACHERR CACHE ERROR REGISTER :Its  *CPU Abort F *CPU Abort After Erroror *UNIBUS Parity Errornu $"*UNIBUS Multiple Parity Errors   *CPU ErrorIT  *UNIBUS ErrorpGI *CPU UNIBUS AbortP *Error in Maintenancet " *Data Memory Group 1 (cache)on " *Data Memory Group 0 (cache)on &$*Address Memory Group 1 (cache):ou &$*Address Memory Group 0 (cache):ac *Main Memory Odd Word ce *Main Memory Even Wordou (&!*Main Memory Address Parity Error *Main Memory TimeoutJ0CSHCTRL  CACHE CONTROL REGISTER :tre  *Unused bits setre   Force Replacement Group 1t    Force Replacement Group 0nt  Force Miss Group 1GAs  Force Miss Group 0G  Disable Unibus Trapd  Disable TrapsL0CSHMAIN$" CACHE MAINTENANCE REGISTER :r A .,( Force set Mem Parity, Odd Word, Hi Byteat .,( Force set Mem Parity, Odd Word, Lo Byte2F 0.) Force set Mem Parity, Even Word, Hi Byteton 0.) Force set Mem Parity, Even Word, Lo Bytets  0.) Force wrong Fast Address Parity, Group 1tit 0.) Force wrong Fast Address Parity, Group 1tce 0.) Force wrong Fast Address Parity, Group 0ton 0.) Force wrong Fast Address Parity, Group 0t a 64/ Force wrong Fast Data Parity, Group 1, Hi ByteaN/ 64/ Force wrong Fast Data Parity, Group 1, Lo ByteaN/ 64/ Force wrong Fast Data Parity, Group 0, Hi Bytea 64/ Force wrong Fast Data Parity, Group 0, Lo Bytea!2  Memory Margins = T#ReservedNormalCheck Wrong Address Parity Early Strobe Late Strobe{ Low CurrentL High Current( eSR *Unused bit setlN0CSHHIT  CACHE HIT/MISS REGISTER :1D  *Unused bits set B  Hit on 6th previous access  Miss on 6th previous access B  Hit on 5th previous access  Miss on 5th previous access B  Hit on 4th previous access  Miss on 4th previous accessf B  Hit on 3rd previous access  Miss on 3rd previous access B  Hit on 2nd previous access  Miss on 2nd previous accesspl B  Hit on most recent accesss  Miss on most recent accesss\N/AsXN/AsTN/AstN/As`???slN/As hN/AsdN/AsPN/As"pH   (#p pTrap Thru Vector 114 #x*%!5FCName!13FCValue!25FCInterpretationZ*%!2FL!5FC!DF!13FC!DP!25FC!DP!27FC!50FS.R#!25FC!DP!75FC!DP!CE! !25FC!DP!CE5(@Q 8'4g77$>7$G7$R7$[6 (ɂqE11XXM01.00V0-1USXDISPDBINTERMOD_DEVERR REALDPREGISTERV REPORTD CPU_ENTRY-# |$0   1##6(c)#6 (c#DD$#62 Y A CRx 7#h0P_CSR00&$  MEMORY PARITY CSR 00 - 772100 :RR (& CSR = D#0=T(!:  (B)  ErxiS A r#sh0P_CSR01&$  MEMORY PARITY CSR 01 - 772102 :GI (& CSR = #0=e(!c  (B)D  (rax  t#uh 0P_CSR02&$  MEMORY PARITY CSR 02 - 772104 : (& CSR = r#0= (!  (B)  ()x #Ah0P_CSR03&$  MEMORY PARITY CSR 03 - 772106 :PU (& CSR = o#0=*(!B  (B)t  nu x #Sh0P_CSR04&$  MEMORY PARITY CSR 04 - 772110 :GI (& CSR = B#0=(!  (B)r  Manx a e#"h0P_CSR05&$  MEMORY PARITY CSR 05 - 772112 :e) (& CSR = s#0=o(!1  (B))  &x A r#oh0P_CSR06&$  MEMORY PARITY CSR 06 - 772114 :Me (& CSR = #0=n(!m  (B)r  it x o #h 0P_CSR07&$  MEMORY PARITY CSR 07 - 772116 ::t (& CSR = d#0=(!  (B)  Rpx e n# h$0P_CSR08&$  MEMORY PARITY CSR 08 - 772120 :As (& CSR = i#0=(!  (B)  Uix a# h(0P_CSR09&$  MEMORY PARITY CSR 09 - 772122 ::r (& CSR = #0=i(!  (B)d  tetx  ,# ch,0P_CSR10&$  MEMORY PARITY CSR 10 - 772124 :ve (& CSR = #0=o(!  (B)  Eex o ,# eh00P_CSR11&$  MEMORY PARITY CSR 11 - 772126 :ce (& CSR = s#0=o(!1  (B)0  orex o # dh40P_CSR12&$  MEMORY PARITY CSR 12 - 772130 :p (& CSR = c#0=t(!t  (B)y  1 x B e# 6h80P_CSR13&$  MEMORY PARITY CSR 13 - 772132 : w (& CSR = i#0=,(!  (B)  /Fx e r#th<0P_CSR14&$  MEMORY PARITY CSR 14 - 772134 :se (& CSR = k#0=e(!P  (B)E  roex a # h@0P_CSR15&$  MEMORY PARITY CSR 15 - 772136 :C (& CSR = #0=G(!E  (B)  *Uue\N/A)XN/A)TN/A)6tN/A) `???)MlN/A)phN/A)edN/A)PmSN/A)5pMemory Parity Error (T114)h pv#xc.)!5FCName!13FCValue!25FCInterpretation!2FLDsT$!2FL!5FC!DF!13FC!DP!25FC!DP!2FLt.r#!25FC!DP!75FC!DP!CE! !25FC!DP!CEto(@ Q 8'4g77$g7$>7$G7$R7$[@\( SqEML11_M01.00V0-1_FA> DEVICE_OPDISPFUNCTIONIBINTERMOD_DEVERR  NOTE_NUMBERSLREGISTERN REPORTP DEVICE_ENTRY !WF_1!44D#J0MLCS1AS *Special Condition setNA*Transfer Errori &$*MASSBUS Control Bus Parity Err IT *Unused bit setl@ . Drive Available*Drive not Availableed R($ Unibus B Selected for data transfer($ Unibus A Selected for data transfer .,  BA17,BA16 = eT#0,(!6  (B)F rm *  Device Readye*Device not Readyd  2 Interrupt Enabled Interrupt not EnabledS   Function = #M CP  *Go bit on0LMLWCSM1 :8 Word Count = s#L(C(#_  words remainingP 0MLBA   Bus AddressqS Registerd0MLDA# *Unused bits setTY  &$ Sector Address = #r(# 0MLCS2 (  *Data Late *Write Check ErrorY  *Parity Error (memory)& *Nonexistent Drive *Nonexistent MemoryrS *Program Error  *Missed Transfer21 $"*MASSBUS Data Bus Parity Error  *  Output Ready  Output not Ready P &  Input Ready Input not Ready : ,*% Controller Clear (clears all drives) :*Parity Test set (even)r Parity Test reset (odd) C (&" Bus Address Increment Inhibit setB)  Unit Selected = e # 0MLDS PA  Attention Activeed#*Error (composite) R *Unused bit sett * Medium Online*Medium not Online : *Unused bit seti ,*& Last Block Transfered (last of drive) *Unused bit setnY  * Drive Present*Drive not Present &  Drive Ready*Drive not Ready 8  Volume Valida$ *Volume not Valid (battery off) : *Unused bits set 04MLERex  *Data Checks &$*Drive Unsafe (AC Lo/Prom Data) 21 *Operation IncompleteP *Unused bits set  *Invalid AddressSR *Address Overflow Erroro21 *Unused bits set *ECC Hard Errort  $"*MASSBUS Data Bus Parity error  *Unused bit setu21 &$*MASSBUS Control Bus Parity Err  $"*Register Modification Refused *Illegal RegisteraTY *Illegal Functiona0MLASP *Unused bits set   Unit #7 Attention ActivefPA   Unit #6 Attention ActivefSR   Unit #5 Attention Activef*U   Unit #4 Attention ActivefA)   Unit #3 Attention Activefp   Unit #2 Attention Activefp   Unit #1 Attention Activefv#   Unit #0 Attention Activef0<MLPA *Unused bit seti25 64 Array Board Selected = !#< Do(# ceuS F$ MLPA [6:0] is a Column Address  MLPA [6:0] is a Row Address H @0. Row Address Selected = Row o#@n(#c es *Unused bit setl trA#<  Row Columne( Address = c d#< ARow sColumn c( #<(# 0 MLDB B@ Data Buffer contents #c1  (see note)r(* 08MLMRInt "  Number of Array Cards = 16.13 "  Number of Array Cards = 8..DP "  Number of Array Cards = 4..a  "  Number of Array Cards = 2..re "  Number of Array Cards = 1..*A * 64K Chip Arrays 16K Chip Arraysn (# Selected Transfer Rate = 2 Mb/sec.v(# Selected Transfer Rate = 1 Mb/sec.v($ Selected Transfer Rate = .5 Mb/sec.*% Selected Transfer Rate = .25 Mb/sec.)TE >" Refresh Margin Slowed by 50%  Refresh Margin Normal G 2 Prom Read/Write onm Prom Read/Write off , Prom Disable on Prom Disable offop  ( Data Clock on Data Clock offf < Data Diagnostic Mode on Data Diagnostic Mode off R  2 Data Check Enabledd*Data Check Disabledat > Error Correction Disabled Error Correction Enableddce : ECC Diagnostic Mode one ECC Diagnostic Mode off0MLDTtet *Unused bits set,  Drive Type = #n 0HMLSNup 64 Drive Serial Number = fd#Hr( ,  (BCD)o  .#((0 MLE1t a *Unused bits setta NL$ Syndrome Word of the Sector = r# t0 (!u  (B) yt *Unused bits sett NL$ Syndrome Word A of the Sector = c# t0i(!  (B), 0$MLE2mor *Unused bit setA NL# High order 7 bits of Array Word = b#$o0C(!e  (B)g C *Unused bits setd NL$ Syndrome Word B of the Sector = S#$10(!n  (B)t (0 MLE1 on *Unused bits seton NL$ Parity CRC Word of thySe Sector = r# s0s(!  (B)v ou *Unused bits setth NL$ CRC Word A of the Sector = s# 0 (!  (B)s 0$MLE2 on *Unused bit settB NL# High order 7 bits of Array Word = n#$a0(!  (B) on  *Unused bits sets m NL$ CRC Word B of the Sector = #$0`(!  (B)l v"0 MLE1/As $" Value meaningless (see note)$0$MLE2 $" Value meaningless (see note)&0MLD1Thr @>$ Bits 00-15 of the Array Word = 3#!(&C  (O)e (0MLD25FC @>$ Bits 16-31 of the Array Word = !#!(&  (O)D *0(MLEE  " *Uncorrectable Channel Error8 *Single Channel Errorl8 " *Error Detected in CRC Wordr> *Unused bit set  ,42 *Channel in Error = Channel 8#,2(# 0 B@ Error Pattern = #(0(!  (B) ,00MLEL ,* Error Sector Address = #0(# .0DMLPD 0.) Prom Data (depending on MLMR bits 3,5,6)m  !#:$ 00MLBAE  *Unused bits set( 64 BA21 through BA16 = #0 (!  (B)1 20MLCS3E *Address Parity Error  $"*Data Parity Error on Odd Word &$*Data Parity Error on Even WordiB $"*Write Check Error on Odd Word &$*Write Check Error on Even Wordi  Double Word Transferedvl *Unused bits set 0 Interrupt Enabled Interrupt Disablede *Unused bits set  Inverse Parity CheckeN$~0^bNo OperationeDrive ClearRead_In Preset Search CommandWrite Check DataWrite DataeRead Data#H  ep( N^# &N #b Invalid function#("N/AaE#0M(#NN/AaTN/Aa|&# #h #*"( }S 2" 04444 4 4 4444&"$   &# No error bit found #.)!5FCName!13FCValue!25FCInterpretation!2FL#^-#b  A#  *##w# @Q 8'4g7T!n7$g7$>7$G7$R7$[6 (qERK05M01.00V0-1USVDISPCFUNCTIONBINTERMOD_DEVERR XREGISTER REPORTE DEVICE_ENTRYs s 0*#6>0RKDSU/P  *( Interrupting Drive = n#e(#  *Drive Power Low*I . Drive is an RK05v Drive is an RK03v   *Drive UnsafeR *Seek Incompletero 2 Sector Counter OK*Sector Counter not OK 6  Drive Ready (heads loaded)*Drive not Readyr  R.) R/W/S Ready (no positioning in progress)D"*R/W/S not Ready (positioning)ll P(# Write Protect on (write protected)g&" Write Protect off (write enabled)tt X*& SC=SA (sector countor=sector address),( SC<>SA (sector counter<>sector address)t &$ Sector Counter = ##(#t 0RKER U  *Drive Erroref &$*Overrun (Overflow out of disk)  S*Write Lockout Violation  *Seek Erroro *Programming Error A *Nonexistent Memorya  *Data LateF  *Timing ErrorMum *Nonexistent Diskr a *Nonexistent Cylinderidd *Nonexistent Sectore# *Unused bits set *Checksum Errort C *Write Check Error0RKCS#*Error (RKER bits set)LD " *Hard Error (RKER 5-15 set)i . Search Complete Search not Completent *Unused bit setp C $"*Bus Address Increment Inhibitar b`*Format bit set a#F.(Writing headers)e (a #W (Reading headers)eo(r ay *Unused bit sets4K &$  Stop on Soft Error (RKER 01-00)d 2 Controller Readyo*Controller not ReadyR1  2 Interrupt Enabled Interrupt not Enabledsf .,  BA17,BA16 = t#0,r(!  (B)S ow   Function = tg#lN rm  *Go bit on0RKWCead :8 Word Count = r#D(Co(#  words remainingp 0RKBA  Bus Address Registerd 0RKDADic  *( Drive Selected = E#(#* sa (& Cylinder Address = n#e(# ct> Surface = Lower  Surface = Upper  *( Sector Address = pe# (#  D0RKDBH  Data Buffer contentspu:r$ fp0J1t aNControl ResetWriteReadWrite CheckSeekRead CheckDrive ResetWrite Locktt#RK05RK03t(tpN/A5:Jd# o &: hlc#N=lInvalid function #,("h4$##s( st #  #(#g|N/Aixf#W(#=$# 1. 0.u((# (# #sd#e h:N#do#f( co # ! (#  #nJ(11. (#& 1. x#s!t(# 0.i#W!f(# eo#>" < S&"s$  e e# F  # Controller not readyNo error bit foundU ud#Le.)!5FCName!13FCValue!25FCInterpretation!2FL#a##@&Q 8'4g7T!n"~7$g7$>7$G7$R7$[6#(oqERK67M01.00V0-1USXDISPCFUNCTIONBINTERMOD_DEVERR  NOTE_NUMBERSVREGISTERL  !"#$%&'()*+,-./012345678REPORTaVAR" DEVICE_ENTRYd "0RKD,, #6b00RKCS1  *Combined Error setn#  Drive Interrupt setfa $"*Drive-Controller Parity Error  J$*18 Bit Data Format (20 sector) $ 16 Bit Data Format (22 sector) KD *Controller Time-out f 8F" Controller Drive Type = RK07r" Controller Drive Type = RK06r 4:8 BA17,BA16 = R #40,(!  (B) RK 2 Controller Ready *Controller not Ready  2 Interrupt Enabled Interrupt not Enabled *Unused bit SsetE# <&$ Function = R#l @ *Go bit set 0RKWC# :8 Word Count = #c(C (#  words remaining 0,RKBA&  Bus Address Register 0PRKDAi# *Unused bits set T(& Track Address = e#T(#& X&$ Sector Address = #X (# 0DRKCS2ea  *Data Late uL*Write Check ErrorCV *Unibus Parity Error *Nonexistent Driveum *Nonexistent Memoryr  *Programming Errorri *Multiple Drive Select# *Unit Field Errore J&" Output Ready (silo contains data)" Output not Ready (silo empty) B  Input Ready (silo not full)  Input not Ready (silo full) " *Subsystem Clear set (hung))no $"*Bus Address Increment Inhibit  *Release bit set (hung)I H Drive Selected = r#n 0hRKDSWeap*  Status Valide*Status not Valid &  Current Drive Attention0)  Positioning in Progress *Unused bit set  (&! Write Lock set (write protected))na *Unused bits set t 6 Drive type = RK07e Drive type = RK06eN  &  Drive Ready*Drive not Ready *  Volume Valida*Volume not ValidR r *Drive Off Track 0*Spindle Speed Loss0 Spindle Speed OKs   *Drive AC Lowdl Drive in Offsetr  *Unused bit sett . Drive Available*Drive not Available 0RKERAd *Data CheckA   *Drive UnsafeaH *Operation Incompleteeu *Drive Timing Errort a *Write Lock Erroro *Invalid Address Errork *Cylinder Overflow Error  *HVRC Errorv *Bad Sector Errorw*Error Correction Hardli *Drive Type Error   *Format Errorr $"*Controller-Drive Parity Errori *Nonexecutable Functiony 0 *Seek Incomplete *Illegal FunctionnS0RKAS_OF  Unit #7 Attention   Unit #6 Attention#  Unit #5 Attention  Unit #4 Attention  Unit #3 Attention  Unit #2 Attention   Unit #1 Attention  Unit #0 Attentione#p8#l) Offset Direction = (-) Away from spindleD (6 #l' Offset Direction = (+) Towards spindlela(!2  Bit meaningless   Offset = #L 0`RKDCo#  d(& Desired Cylinder = l#d(#  1/s0\RKDBess  Data Buffer contents+0RKMR1 ( &  Read Gate onc Read Gate off A( Write Gate on Write Gate offn N( #@#$  Not in ECC Fielde ($ #=#  In ECC Fieldi( $"n# Current Bit Delayed( $"g# Current Bit Advance(rr *(t# Maintenance Write bit onod(t  (&# Maintenance Read bit on=(an &$# Maintenance Clock on a(rn ,*=# Maintenance Index Pulse on( ,*L# Maintenance Sector Pulse ons(# Maintenance Mode on >r# Parity Test ondL(t# Parity Test off( v Message Pair 0 Selected Message Pair 1 Selected Message pair 2 Selected Message pair 3 Selected0tRKECPSP  x ECC Position = # 0|RKECPTv$  0. ECC Pattern = d#0P&(&  (O) 0RKA0   Drive Status Changedv  Position in Progresst   Spindle onnna  Write Protected   Offset on  &*18 Bit Format 16 Bit Format . Drive Type = RK07 Drive Type = RK06le &  Drive Ready*Drive not Ready *  Volume Valida*Volume not Valid6 . Drive Available*Drive not AvailableN *Unused bits set ., Message came from Drive M#(#N 0RKB0  *Read/Write Unsafe *Drive Off Track *Spindle Speed LossD4 *Write Lock ErSrors *Seek Incomplete  $"*Controller-Drive Parity Error *Nonexecutable Functionypr *Fault  *AC Lowc *Invalid Address *Unused bit sets *Unused bits set "  Message ID = #(# 0RKA1 on  Unloading Headsts  Returning to Zeroof  Loading Heads$   Reverse`(   Forward0 "  Speed OKH *Speed not OKsss *  Pack Presents*Pack not Presento m *  Door Latcheds*Door not Latchedo> &  Brush Homea*Brush not Homee & *Heads HomeH Heads not Homee$ 6 Servo Signal presento*Servo Signal missingo* *Unused bit setile ., Message came from Drive En#r(# "0RKB1n C  *Servo Unsafe se *Limit Detected on Seeken  *Seek and No MotionS# *Servo Signal ErrorS   *Tribit Error   *Index Error *Multiple Head Selecter   *Head Faulte  $"*Write Gate and No Transitionrde  *Sector Errorn,6 *Unused bits set  "  Message ID = # (#6 $0RKA2 # *Unused bit settS3 it a  r#  *Unused bit settdi (& Message from Drive n#r(# &0RKB2r o *Unused bit setrns  (& Cylinder Address = e#(#0  *Unused bits setde "  Message ID = e# (# (0RKA3e  64 Drive Serial Number = sn#r(   (BCD) se ., Message came from Drive ta# (#a *0RKB3 *Unused bits set   J Head = 0. Head = 1. Head = 2.Aa ("  Sector = #((#  *Unused bits set2 $"  Message ID = #$(# H&@@:" #orb"nd 3" .)!5FCName!13FCValue!25FCInterpretation!2FL#^:#S$0JNSelect DrivePack AcknowledgeDrive ClearUnloadStart SpindleRecalibrateeOffsetISeekRead Data Write Data Read Header Write Header Write CheckB# - +C(#-#8((#A  uin. # Offset Value = #-O+e( #O#8(;(#6  uin.  Cylinder Difference = e# (# (  #x *$#x6Normal#x(#A( Outside of legal ranget #8RK07RK06(p#  (  :J#< &:  l#Nl*Invalid functionrE#H("h(#dB&#T #X  (#|N/Ax#d(##T"(# a#X(#  ##E#L(h.#dB$#T9 #XA Z! _(# #XZ21.  ]#T1$2.x#d!(##TA!Z(##X0!7(# #p  `#*"(   #2 #P"(   9# Drive Fault #Drive Off Track @#(w Spindle Speed Loss( # Servo UnsafeSeek Incompleteo"  Read Write Unsafep." ,D    l" #"UP  0 hD D hD DD 0 DD #0X @W#Operation Incomplete&  W# HVRC Error V"P  0 hD D hD DD 0 DD B C#X @#Operation Incomplete&  # HVRC Error VStatus not Valid #No error bit found #l .)!5FCName!13FCValue!25FCInterpretation!2FL #W#  =#5S@Q 8 '4g7T!n"~"7$g7$>7$G7$R7$[6Z([qERL12M01.00V0-1USX DEVICE_OPDISPBINTERMOD_DEVERR 0REGISTER_REPORTR DEVICE_ENTRY Wreck se  #JZ 0RLCSt  *Composite ErrorK0  *Drive Error R *Nonexistent Memory 20o# *Header Not Foundr *Data Lateu(no db # *Header CRC Errorr#p *Write Check Error*Data CRC Error&( (ri *Operation IncompleteDn  Drive Selected = t#t  2 Controller Ready *Controller not ReadyD0 2 Interrupt Enabled Interrupt not Enabled U <: BA17,BA16 = #0(!r  (B)i g  Function = k#hr ro &  Drive Ready Drive not Ready0RLBAror  Bus Address Registerd8 a#r0RLDAard  >< Cylinder Address Difference = r*# r(#"  *Unused bits seti B  Head Selected = Lower head  Head Selected = Upper head  *Required-reset-bit is setOF > Seek Direction = Forwardt Seek Direction = Reverset  *Required-reset-bit is setni $*Required-set-bit is reset0RLMP1tt $" Register contents undefined =RRRR0RLDAio  (& Cylinder Address = 6# (#s t  F" Head Selected = Lower head" Head Selected = Upper headt (S& Sector Address = C#d(#& 0RLMP1de DB Word Count = # K(C(#  words remainingt w0 0RLDA&  Field value meaninglessff & *Required-reset-bits are sete    Reset  *Required-reset-bit is set # , Get Status set-*Get Status reseti C $*Required-set-bit is reset0RLMP1an $" Register contents undefined dR0RLDA# $" Register contents undefined d0RLMP1en  (& Cylinder Address = #n(#a ce F" Head Selected = Lower head" Head Selected = Upper head (& Sector Address = #r(# v0RLDAL( $" Register contents undefined d0RLMP1 P $" Register contents undefined d  #:v0RLBAEsa  *Unused bits setKE 64 BA21 - BA16 = ti# (!| (B)T  >:  C$r* RLMP2  *Do nothing60RLMP2s  *Write Data Errorsin *Current Head Erroru o  Write Protectedct *Seek Time Outon *Spin Speed Erroro *Write Gate Errorori   Volume Checkr T *Drive Select Erroruea 2 Drive Type = RL02 Drive Type = RL01ol > Head Address = Lower head Head Address = Upper headN  *Cover Opens s   Heads Out (over the disk)om   Brushes Homev  Drive State = e#s*Invalid stateLoad CartridgeSpin Up9 Brush Cycle2 Load HeadsSeekLock On Unload Heads Spin Down!I( m ep#RL02RL01D( lN/A2rh#e*Invalid Functiono*Invalid FunctionU Write Checkl Get StatusSeek Read Header Write Data Read Data!Read Without Header Checki (  # g(" .# tN/AgN/A,t #n(# o#!o(#g|d# 1 0e((xN/A F w# Z"$ S  #a&"r$ &"$  o #BNo error bit found m"#eHdN/A<d6e#P/nl#(v i#l i! (# *#L .)!5FCName!13FCValue!25FCInterpretation!2FL"##@$Q 8'4g7T!n"~""ƙ7$g7$>7$G7$R7$[6!(4qERM05M01.00V0-1USXp DEVICE_OPDISPFUNCTIONIBINTERMOD_DEVERR  NOTE_NUMBERSLREGISTERN  !"#$%&'REPORTDVARZ DEVICE_ENTRY"H H Sele,,#J0RMCS1 *Special Condition setv*Transfer Errori R &$*MASSBUS Control Bus Parity Err P1 *Unused bit setlen D Drive Available.**Drive not Available (other port using it) R($ Unibus B Selected for Data Transfer($ Unibus A Selected for Data TransferLM .,  BA17,BA16 = e#0,(!P  (B)  2 Controller Readyd Controller not Readyr  2 Interrupt Enabled Interrupt not EnabledSp   Function = r# at  *Go bit on0lRMWC*D (&e#lE(C(S# words remaining 0RMBA RL  Bus Address Registerd0RMDA = *Unused bits set &$ Track Address = # (#r sh & *Unused bits set (see note) al  &$ Sector Address = # u(#C 0RMCS2ck  *Data Latem *Write Check Error  *Parity ErrorE *Nonexistent Drive*I *Nonexistent Memorye  *Program Errorea *Missed Transfera! $"*MASSBUS Data Bus Parity Error J&" Output Ready (silo contains data)" Output not Ready (silo empty) B  Input Ready (silo not full)  Input not Ready (silo full) 0 42- Controller Clear (clears all drives as well)a H"*Parity Test set (even parity)$ Parity Test reset (odd parity)  $"*Bus Address Increment Inhibitit  Drive Selected = # 0RMDS<  Attention Active l  $"*Error (RMER1,2 have bits set)me  Position in ProgressbL * Medium Online*Medium not Online u 8 Drive is Write Locked Drive is Write Enabledtnt 0.* Last Sector Transfered (last of the pack)de .,( Programmable (ports program selectable)ed * Drive Present*Drive not Presenthe &  Drive Ready Drive not Ready *  Volume Valida*Volume not Validtco *Unused bits setLM : Drive in Offset Modep Drive not in Offset Moder 08RMER1< *Data Checki =  *Drive Unsafe |  *Operation IncompleteMr *Drive Timing Errort*D *Write Lock Erroros  *Invalid Address Error *Address Overflow Errord *Header CRC Error  *Header Compare Erroro @*ECC Hard Error   *Write Clock Failr  *Format ErrorFea  *Parity ErrorF=  $"*Register Modification Refused H *Illegal Registera H *Illegal Functiona0RMAS *$e#$ i*Unused bits sete(  Unit S#7 Attention  Unit #6 AttentionLo  Unit #5 Attentionh   Unit #4 Attentionck  Unit #3 Attentionn!  Unit #2 Attention  Unit #1 Attention  Unit #0 Attention0LRMLArit *Unused bits setit P$" Sector Count = h#Pd(#C ec *Unused bits set0RMDB  Data Buffer contentsn0TRMMR1n( @o#X Debug Clock set( #X Debug Clock reset (" H"#X Debug Clock Enabled ($#X Debug Clock Disabled( X*&#X Diagnostic End of Block set(,#X Diagnostic End of Block reset ( P(#X Search Time Out disabledr(&<#X Search Time Out enabled(v L$#X Maintenance Clock set(&!#X Maintenance Clock reseta(n! T(#X Maintenance Read Data set (*v#X Maintenance Read Data resetd( S R& #X Maintenance Unit Readyr (*#X Maintenance Unit Not Readytr(t  R&#X Maintenance On Cylinder(*t#X Maintenance not On CylinderF(te (&"#X*Maintenance Seek Errorin(  (&*#X*Maintenance Drive Faultd(ts \,#X Maintenance Sector Pulse set#(.#X Maintenance Sector Pulse resett( *Unused bit setc  R(r#X Maintenance Write Protect (((#X Maintenance Write Enabledr(  X*#X Maintenance Index Pulse setn(,#X Maintenance Index Pulse reset#( `.#X Maintenance Sector Compare sets(0D#X! Maintenance Sector Compare reset6(X2 Diagnostic Mode on  Diagnostic Mode off0$RMDTcam $"*Drive not Sector AddressableeKB *Unit is a Tape Driver ,&!*Unit is not a Moving Head Device  *Unused bit setM  > DRQ on (dual port unit)  DRQ off (single port unit)Dbi *Unused bits set ( Drive Type = # 0hRMSN"nd 64 Drive Serial Number = n3#h!( C  (BCD)a 0dRMOF S *Unused bits set 2 16 Bit Data Formatr*18 Bit Data Formatre "  ECC Inhibit  ECC enabledta : Header Compare Inhibitn Header Compare Enabledn *Unused bits setat B  Offset Direction = ForwardD  Offset Direction = ReverseD *Unused bits set0RMDCn. *Unused bits set(  (& Desired Cylinder = #6(# 0HRMHRnce   Holding Register contents 0\RMMR2# "  Port A Request for ServiceDal "  Port B Request for ServiceD#  Control Select Tag on ,*l#X Test Sequencer Branching on( "  Control or Cylinder Tag onn  Control or Head Tag ong  `DB"#X Maintenance Bus Lines = o#` 0t(!.  (B)B $("0DRMER2_( $"*Bad Sector Detected (Hdr bit)1 *Seek Incomplete $"*Operator Plug Error (removed) &$*Invalid Command (VV bit reset)c *Loss of System Clockb  *Loss of Bit Clock *Unused bits set   *Device Checks *Unused bits sett *Data Parity ErrorTr *Unused bits set$0,RMEC1Lo *Unused bits set  0 ECC Position = #a &04RMEC2 *Unused bits set  ECC Pattern = # 6 P#:$E (0RMBAE  *Unused bits set@ ., BA21 through BA16 = b #0 (! *0RMCS3 *Address Parity Errorb " *Data Parity Error, Odd Word  $"*Data Parity Error, Even Wordt " *Write Check Error, Odd Word $"*Write Check Error, Even Wordt  Double Word Transferedn *Unused bits set# 2 Interrupt Enabled Interrupt not EnabledL *Unused bits set >< Inverse Parity Check Bits = t3#0r(!n  (B)t t( ,,"ea"  0. Head = 1. Head  Na$0^bSNo OperationSeek CommandRecalibrateDrive ClearRelease (dual port)Offset CommandReturn To CenterlineRead_In Preset Pack Acknowledge Search CommandWrite Check DataWrite Check Header And DataWrite DataWrite Header And DataRead DataRead Header And Data W t#0 *$B#06 Normal#0(#8( Outside of legal range #@u :eIrrelevant (ECH set) Irrelevant (ECH set) #d  :CIrrelevant (ECI set)Irrelevant (ECI set)*$#4 N0(& (O) #h  o( gN^# #&N #bInvalid function#("|(l#`l# na i# u  n(#N/A(h#(#T#(# # |(# A#<x#@d#|.#`"## aX #  ! (#  L# h\#31. # #1& 19.( #!(# #!$(## d!(# (# T# *"( j"hDDD D D D DD8888 8 8 8 8 88888888""    #No error bit found #v .)!5FCName!13FCValue!25FCInterpretation!2FLnL#~ # ##rn@$Q 8'4g7T!n"~""ƙ"7$g7$>7$G7$R7$[S6!(sqERM23M01.00V0-1USXp DEVICE_OPDISPFUNCTIONIBINTERMOD_DEVERR  NOTE_NUMBERSLREGISTERN  !"#$%&'REPORTDVARX DEVICE_ENTRYiveF  te En,,t#J0RMCS1 p *Special Condition setel*Transfer Errorire &$*MASSBUS Control Bus Parity Err ve *Unused bit setl D Drive Available.**Drive not Available (other port using it)et R($ Unibus B Selected for Data Transfer($ Unibus A Selected for Data Transferat .,  BA17,BA16 = e #0, (!  (B)r ti 2 Controller Readyd Controller not Readyr 2 Interrupt Enabled Interrupt not Enableddd   Function = #   *Go bit on0lRMWC Er (&#l(CC(# words remaining 0RMBA  Bus Address Registerd0RMDAReg *Unused bits seteg &$ Track Address = a#i(#  & *Unused bits set (see note)   &$ Sector Address = o# (# 0RMCS2  *Data Lateni*Write Check Errort   *Parity ErrorE U *Nonexistent Drive U *Nonexistent Memoryeni *Program ErrorR *Missed Transferts $"*MASSBUS Data Bus Parity ErrorP J&" Output Ready (silo contains data)" Output not Ready (silo empty)ff B  Input Ready (silo not full)  Input not Ready (silo full)X 42- Controller Clear (clears all drives as well)na H"*Parity Test set (even parity)$ Parity Test reset (odd parity) d  $"*Bus Address Increment Inhibitet  Drive Selected = T# 0RMDS S  Attention Active  $"*Error (RMER1,2 have bits set)en  Position in Progressb# * Medium OnSline*Medium not Onlineai 8 Drive is Write Locked Drive is Write Enabledtni 0.* Last Sector Transfered (last of the pack)r( .,( Programmable (ports program selectable)t# * Drive Present*Drive not Present& &  Drive Ready Drive not Ready( *  Volume Valida*Volume not Validt, *Unused bits sete  : Drive in Offset Modep Drive not in Offset Moder 08RMER1ai< *Data Checki (  *Drive Unsafe ri *Operation IncompleteM M *Drive Timing Errort *Write Lock Erroroul *Invalid Address Errorai *Address Overflow Errord0 *Header CRC Error mp *Header Compare Erroro o@*ECC Hard Error  *Write Clock Failrve  *Format ErrorFKB  *Parity ErrorFe  $"*Register Modification Refusedin *Illegal Registeranu *Illegal Functiona0RMASDRQ *$u#$ *Unused bits set (  Unit #7 Attention  Unit #6 Attention  Unit #5 Attention  Unit #4 AttentionR  Unit #3 Attention s  Unit #2 Attentionta  Unit #1 Attentionma  Unit #0 Attention0LRMLA H *Unused bits setab P$" Sector Count = #Pa(# B *Unused bits set0RMDB Re  Data Buffer contentsn0TRMMR1  @#X Debug Clock sete( i#X Debug Clock reset(H H" #X Debug Clock Enabledc($t#X Debug Clock Disabled (t  X*t#X Diagnostic End of Block setq(,f#X Diagnostic End of Block resett(g  P(,#X Search Time Out disabledrg(&#X Search Time Out enabledn( T L$#X Maintenance Clock set (& #X Maintenance Clock reset (es T(#X Maintenance Read Data set(*M#X Maintenance Read Data reset (r  R&#X Maintenance Unit Readyr"(*p#X Maintenance Unit Not Readyt$(*I R&o#X MaintenSance On Cylinder(*s#X Maintenance not On Cylindero(it (& #X*Maintenance Seek Errori( (&i#X*Maintenance Drive Faultt(et \,#X Maintenance Sector Pulse set*(.d#X Maintenance Sector Pulse reset(nu *Unused bit setc R(o#X Maintenance Write Protect ((#X Maintenance Write Enabled(CC X* #X Maintenance Index Pulse set(,#X Maintenance Index Pulse reset(  `.#X Maintenance Sector Compare set(0#X! Maintenance Sector Compare resetr(X2 Diagnostic Mode on  Diagnostic Mode off0$RMDTven $"*Drive not Sector Addressableed  *Unit is a Tape Driveror ,&!*Unit is not a Moving Head Device *Unused bit setM > DRQ on (dual port unit)  DRQ off (single port unit)D *Unused bits set P ( Drive Type = #0 0hRMSN, 64 Drive Serial Number = n#h (   (BCD) 0dRMOF *Unused bits setat 2 16 Bit Data Formatr*18 Bit Data Formatrra "  ECC Inhibit  ECC enabled : Header Compare Inhibitn Header Compare EnablednR *Unused bits setd_ B  Offset Direction = ForwardD  Offset Direction = ReverseD *Unused bits set0RMDCnd *Unused bits setde  (& Desired Cylinder = #(# 0HRMHR W   Holding Register contents 0\RMMR2 "  Port A Request for ServiceDe "  Port B Request for ServiceDle  Control Select Tag on ,*#X Test Sequencer Branching onl(nt "  Control or Cylinder Tag onn0  Control or Head Tag ong  `DB#X Maintenance Bus Lines = ot#` 0t(!  (B)| l("0DRMER2 $"*Bad Sector Detected (hdr bit) *Seek Incomplete|( $"*Operator Plug Error (removed)" &$*Invalid Command (VV bit reset)c *Loss of System Clockb  S*Loss of Bit Clock *Unused bits set  *Device Checks *Unused bits set *Data Parity Error *Unused bits set$0,RMEC1 *Unused bits set8  0 ECC Position = # &04RMEC2 *Unused bits setCV  ECC Pattern = #~ 6 # #:$E (0RMBAE s  *Unused bits set ., BA21 through BA16 = b#0 *(!s *0RMCS3 *Address Parity Errorb0  " *Data Parity Error, Odd Wordre $"*Data Parity Error, Even Wordt E " *Write Check Error, Odd Word E $"*Write Check Error, Even Wordt E  Double Word Transferednhe *Unused bits set 2 Interrupt Enabled Interrupt not Enabled *Unused bits set n >< Inverse Parity Check Bits = t#0r(!n  (B)a  c(Bi,,"0r"n B)t t( ,,"ea"  0.N$ H0^bNo OperationSeek CommandRecalibrateDrive ClearRelease (dual port)Offset CommandReturn to CenterlineRead_in Preset Pack Acknowledge Search CommandWrite Check DataWrite Check Header and DataWrite DataWrite Header and DataRead DataRead Header and Data W t#0 *$B#06 Normal#0(#8( Outside of legal range #@u :eIrrelevant (ECH set) Irrelevant (ECH set) #d  :CIrrelevant (ECI set)Irrelevant (ECI set)*$#4 N0(& (O) #h  o( gN^# #&N #bInvalid function#("|(l#l# na i# u  n(#N/A(h#(#T#(# # |(# A#<x#@d#|.#"## aX #  ! (#  L# ShZ#31. # #1$ 4.#!(##!(## !(# # #  *"( j"hDDD D D D DD8888 8 8 8 8 88888888""     #No error bit found #v.)!5FCName!13FCValue!25FCInterpretation!2FL#~# #@"Q 8'4g7T!n"~""ƙ""(ʹ7$g7$>7$G7$R7$[6,(ndqERM80M01.00V0-1USXh DEVICE_OPDISPFUNCTIONIBINTERMOD_DEVERR REGISTER  !"#$%&'()*+,REPORTFVAR DEVICE_ENTRYive te En,,t#J0RMCS1 p *Special Condition setel*Transfer Errorire &$*MASSBUS Control Bus Parity Err ve *Unused bit setl( . Drive Available*Drive not Available T($ Port Select set (Unibus B selected)*& Port Select reset (Unibus A selected)ME .,  BA17,BA16 = rk#0, (!r  (B)a e  2 Controller Readyt Controller not Readynim 2 Interrupt Enabled Interrupt not Enabled E   Function = #r lo  *Go bit on0hRMWC (&r#hm(Cr(# words remaining 0SRMBAite  Bus Address Registerd0RMDA Er *Unused bits setus &$ Track Address = r#(# *I *Unused bits set$ &$ Sector Address = #(# 0RMCS2  *Data Late U*Write Check Errorni *Parity Error (memory)#3 *Nonexistent Drive#2 *Nonexistent Memoryr A *Program Errort  *Missed TransferA $"*MASSBUS Data Bus Parity Error$ J&" Output Ready (silo contains data)" Output not Ready (silo empty)MD B  Input Ready (silo not full)  Input not Ready (silo full)eb 0.* Controller Clear (clears all drives also)  H"*Parity Test set (even parity)$ Parity Test clear (odd parity)r  $"*Bus Address Increment Inhibit D  Unit Selected = et#g 0RMDSe O  Attention Activee e *Error (RMER1/3 bits set)hce  Position In Progresssan * Medium Online*Medium not Onlinece  Drive is Write Lockednt  Last Block Transfered  B,( Programmable (ports program selectable) Locked On PortpRe * Drive Present*Drive not Presentnd &  Drive Ready Drive not Readyer *  Volume Valida*Volume not Validt *Unused bits setlt  Drive in Offset Modep 0$RMER1an(*Data Check ErrorM   *Drive Unsafer *Operation Incompletep P *Drive Timing Errortce *Write Lock Erroro* *Invalid Address Erroret *Address Overflow Erroroul *Header CRC Error  *Header Compare Erroro M,*ECC Hard Error se *Write Clock Failros  *Format ErrorFti HFM#P*Synchronous Bus Parity Errors*Control Bus Parity Error0i( T $"*Register Modification Refused M *Illegal Registera *Illegal Functiona0RMAS *Undefined bits seti   Unit #7 Attention P  Unit #6 Attention S Unit #5 Attention  Unit #4 Attention  Unit #3 AttentionR  Unit #2 Attention s  Unit #1 Attentionta  Unit #0 Attention04RMLAbit *Unused bits setIn 8$" Sector Count = a#8 (#  *Unused bits set0RMDBorw  Data Buffer contentsn0<RMMR1ts "  Occupied (transfering data)nu  Run and Go bits Activedir *End Of Block was setv0 $"*Exception (MASSBUS line set)dco *Enable Search   Looking For SyncUSe  Enable CRC OutnRe *(# Data Area (in data sync byte area)nTa *($ Header Area (in HDR sync byte area)on .,' Continue (data transfer to next block)l  *(# WC Prom Strobe (RD/WR data timing)o  Enable ECC Out t#  Write Data Bit l( $"#@ Last Sector Decode/ (r  &$#@ Last Sector and Track$(@2 Diagnostic Mode ona Diagnostic Mode off0RMDT $"*Drive not Sector Addressableis  *Unit is a Tape Driverbi (&!*Unit is not a Moving Head Deviceg *Unused bit setM  DRQ on (dual port unit) *Unused bits set   Drive Type = # 0dRMSN & 64 Drive Serial Number = )b#d( C  (BCD) 0TRMOF# *Unused bits set X2 16 Bit Data Formatr 18 Bit Data Formatr*( \"  ECC inhibit  ECC enabled P : Header Compare Inhibit) Header Compare Enabled) E `@  Skip Sector Error Inhibited Skip Sector Error Enabledri *Unused bit setr E V*#  Offset Direction = Forwardd(*s#  Offset Direction = Reversedp(na *Unused bits set0RMDCset *Unused bits setts  (& Desired Cylinder = #B(#,  " 0DRMMR2 "  Port A Request for serviced "  Port B Request for servicedat 8 Control Select Tag on Control Select Tag offv ,*#@S Test Sequencer Branching one( H"  Control or Cylinder Tag onn L Control or Head Tag ongk  Maintenance Bus Lines"00RMER2he $"*Bad Sector Detected (hdr bit)d  *Seek Incomplete $"*Operator Plug Error (removed)ta &$*Invalid Command (VV bit reset)c *Loss of System Clockb  *Loss of Bit Clock *Unused bits set#  *Device Checksva *Unused bit settva *Skip Sector Error *Unused bit setrECP$"*Data Parity Error (synch bus)# *Unused bits set$0RMEC1N *Unused bits setva  RPo#\#,#( ECC position = #n  Position register irrelevant)(&0 RMEC2 *Unused bits set. HF#\##, a#(  ECC Pattern s Pattern register irrelevant (6 #:$$E4 (0RMBAE  *Unused bits set# ., BA21 through BA16 = e#0 (! *0RMCS3D *Address Parity Errore " *Data Parity Error, Odd Word $"*Data Parity Error, Even Words  " *Write Check Error, Odd Word b $"*Write Check Error, Even Words!1  Double Word Transferedn *Unused bits set 2 Interrupt Enabled Interrupt not EnabledCC *Unused bits set >< Inverse Parity Check Bits = s#0r,(!  (B)r  6 b"0 (s *0RMCS3 N$dd0^$bNo OperationSeek CommandRecalibrateDrive ClearRelease (dual port)Offset CommandReturn To CenterlineRead_In Preset Pack Acknowledge Search CommandWrite Check DataWrite Check Header And DataWrite DataWrite Header And DataRead DataRead Header And Data #*p$i#6Normal#m(#d( Outside of lSegal range#d  da( N^# ls&N lt#bInvalid function#n("C|(r## r s#  (#N/Awe#(#Sh#d(##t(# e #(a#,#i|.h#ra# r t#a ! (# #e d#X& #`  31. 30.  29. D a#2 &#13..B# !r(## !(#so# ! (# # e#I*"e( n")l0 0 0 0 00000$$$$ $ $ $ $ $$$$$$$$""     ( #^#No error bit found #Li.)!5FCName!13FCValue!25FCInterpretation!2FLu#zn#~@"Q 8'4g7T!n"~""ƙ""(ʹ"07$g7$>7$G7$R7$[6L(qERP07M01.00V0-1USXl DEVICE_OPDISPFUNCTIONIBINTERMOD_DEVERR REGISTER  !"#$%&'()*+,-REPORTDVAR DEVICE_ENTRYPromle (p,,e#J0RPCS1 *Special Condition set *TSransfer Erroriea &$*MASSBUS Control Bus Parity Err t  *Unused bit setlbi . Drive Available*Drive not Available0 R($ Unibus B Selected for Data Transfer($ Unibus A Selected for Data Transferep .,  BA17,BA16 = eE#0,(!  (B) oc 2 Controller Readyd Controller not Readyr*A 2 Interrupt Enabled Interrupt not Enabledde   Function = t#* CC  *Go bit on0lRPWC  :8 Word Count = #lF(C*(#c  words remainingE 0RPBA Er  Bus Address Registerd0RPDA *Unused bits setun &$ Track Address = #e(#e b *Unused bit set  &$ Sector Address = # (#t 0RPCS2ni  *Data Late A*Write Check Errortt $"*Unibus Parity Error (memory)r *Nonexistent Drive0 *Nonexistent Memoryrbi *Program Error S *Missed Transfer  $"*MASSBUS Data Bus Parity Error J&" Output Ready (silo contains data)" Output not Ready (silo empty)(t B  Input Ready (silo not full)  Input not Ready (silo full)f  0.* Controller Clear (clears all drives also)et H"*Parity Test set (even parity)$ Parity Test clear (odd parity)re  $"*Bus Address Increment Inhibit)n  Unit Selected = eD#y 0 RPDSCon  Attention Activee*&$*Error (RPER1, 2 or 3 bits set)r  Positioning in Progress W * Medium Online*Medium not Onlineod  Drive is Write Lockedct 0.) Last Block Transfered (last of the pack)) T,( Programmable (ports program selectable)&" Not Programmable (locked on port) * Drive Present*Drive not Presentot &  Drive Ready Drive not Readybi *  Volume Valida*Volume not Validt  *Unused bits set  6 Interleaved Sectors Sectors not Interleavedri " *Early Warning (thermo/air)n Offset Mode on( 0,RSPER1or0 *Data Checkema  *Drive Unsafeoib *Operation Incompleteoea *Drive Timing Errortr  *Write Lock Erroro *Invalid Address Error S *Address Overflow Errora *Header CRC Error  *Header Compare Erroroff4*ECC Hard Error  *Write Clock Failr  *Format ErrorF @>#D*Data Bus Parity Error*Control Bus Parity Error ( $"*Register Modification Refusedfo *Illegal RegisteraB  *Illegal Functiona0RPASn *Unused bits set   Unit #7 Attentionan  Unit #6 Attention C  Unit #5 Attention  Unit #4 Attentionag  Unit #3 Attention B  Unit #2 Attention  Unit #1 Attentionhd  Unit #0 Attention0HRPLAor *Unused bits setma L$" Sector Count = #Lo(#y te *Unused bits set0RPDBed  Data Buffer contentsn0PRPMR T2*Diagnostic Mode ont Diagnostic Mode offat X<:r#T Diagnostic Routine Number = db#X(#$ ( &$ #T Diagnostic Parameteruv(0RPDT " *Drive Not Block Addressablest *Unit is a Tape DriveeC2 ("*Unit not a Moving Head Device\ $"*Device Programmable from Host r > DRQ on (dual port unit)  DRQ off (single port unit)o  *Slave Present *Unused bit sete  Drive Type = S# 0hRPSNrro :8 Drive Serial Number = nO#h e ( "  (BCD)P 0\RPOF   *Command Modifier bit sett  $"*Move Track Descripter bit set  *Unused bit setcfe 2 16 Bit Data Formatt 18 Bit Data Formatt `$ ECC Inhibited  ECC Enabledbi < Header Compare Inhibitedt Header Compare Enablede0r *Unused bits sets d Value meaningless0RPDCNo *Unused bits set  (& Desired Cylinder = #Sv(#l 0RPCCe ( *Unused bits set  (& Current Cylinder = d#s(# 08RPER2e *Program Errord *CPE (CROM parity error) &$*CPU Unsafe (8080 up timed out)la *R/W Unsafe #3ea *R/W Unsafe #2Da *R/W Unsafe #1d  *Write Overrun  *Write Ready Unsafepm( <JH*Error Code = #<a($  (X)d (see Field Service document) "0@RPER3In *Bad Sector Erroren( *Seek Incomplete  *Defect Skip ErrorA *Write Sense Failure *Control Logic Failure, *Loss Of Bit Clock Error  *Loss Of Cylinder Errorr " *Processor Handshake Failure  *Device Checkn D  *Index Unsafen..  *DC Unsafer( *Serdes Data FailuresD*Data Bus Parity Error e *Sync Byte Error *Sync Clock ErrorE *Run Time Out Errorr$0 RPEC1$  $$" ECC Position = #  - 1 &0(RPEC2 e   ECC Pattern6 #:$EFN (0RPBAEio  *Unused bits setrr ., BA21 through BA16 = rb#0 $(! *0RPCS3se *Address Parity Errorr, " *Data Parity Error, Odd Wordos $"*Data Parity Error, Even WordtR " *Write Check Error, Odd Word  $"*Write Check Error, Even Wordt  Double Word Transferedn  *Unused bits setR 2 Interrupt Enabled Interrupt not Enabled1 *Unused bits setR >< Inverse Parity Check Bits = t#0ra(!r  (B)o do"*D tParity Error, EvnNr$ 0^rrrbNo OperationSeekRecalibrateDrive ClearRelease (dual port)OffsetReturn To Center LineRead-in preset No Operation Search CommandDiagnosticWrite Check DataWriSte Check Header and DataWrite DataFormat TrackWrite Track DescriptorRead DataRead Header and DataRead Track Descriptore4#0#4 a#`Ako#$(#  MeaninglessC(n#h  ir( CN^a# &N ec#beIllegal function#("i|(e#Dt#2e d#t  (#N/Aaa# (##(##(# #0r#4#|. #Ot#2 e a#a ! d(# #N\49. N#9&31.nd#o!(#"#r!(## #! (# /# ##*"S( "@@@ @@@@@@88 8 8 8 8 8,,,, , , , , ,,,,,,,,""2       #!No error bit found  #<o.#( Error Code = f#< ($  (X)"  #L.)!5FCName!13FCValue!25FCInterpretation!2FL#~$#@Q 8 '4g7T!n"~""ƙ""(ʹ"0 "H7$g7$>7$G7$R7$[S6(FqERP23M01.00V0-1USXDISPCFUNCTIONBINTERMOD_DEVERR |REGISTER REPORTT DEVICE_ENTRYLasl Tranc#6 0RPDSpor 6 Selected Unit Ready Selected Unit not Readyt) : Selected Unit Onlinea*Selected Unit not Online & RP03 Selected RP02 Selected *Header Not Foundt $"*Selected Unit Seek Incompleteav "  Selected Unit Seek Underwayri  *Selected Unit File Unsafe)n $" Selected Unit Write ProtectedR   Unit #7 Attention Activee   Unit #6 Attention Activeeti   Unit #5 Attention Activeein   Unit #4 Attention Activeero   Unit #3 Attention Activee    Unit #2 Attention Activee   Unit #1 Attention Activee*H   Unit #0 Attention Activee0RPER*W *Write Protect Violationt  *File Unsafe ViolationPa *Nonexistent CylindernEr *Nonexistent Trackr  *Nonexistent Sectore *Program Error $"*Format Error (header parity)d   *Mode Erroro *Longitudinal Parity Error *Word Parity Error#4*Checksum Errorr#3  *Timing Erroroon*Write Check Errorhd *Nonexistent Memoryy *End of Pack Errorse *Disk Error (HNF or SKI)0RPCSese*Error (composite)at *Hard Errorp F  Attention Interrupt Enabled$ *Attention Interrupt not Enabled< &  PDP-11 Mode PDP-10/15 Moder N$ Function is a Header Operationd(# Function is not a Header Operation2ot  Drive Selected = *#t is 2 Controller Ready *Controller not ReadyaDe B Interrupt on Done enabled"*Interrupt on Done not enabled .,  BA17,BA16 = i#0,(!*  (B)r S   Function = #l   *Go bit set 0RPWC D (&i#N(C (# words remaining 0RPBA   Bus Address Registert 0RPCAesc *Unused bits setfe  0. Desired Cylinder Address = t#o(#t 0RPDAted *Unused bits sete &$ Track Address = E#0(# d ., Current Sector Address = n#(# ., Desired Sector Address = &#i(# 0RPM1 *Unused bits setd  V,' Silo Output Ready (silo contains data)9(# Silo Output not Ready (silo empty)aro N&! Silo Input Ready (silo not full)y&! Silo Input not Ready (silo full)yed , Control bit set Control bit reset U 0 Set Head State on Set Head State offd O 8 Set Cylinder State on Set Cylinder State offsod (&" Bus Signals to Drive, bit 7 = LSB0RPM2Rjhd This is a write only register which only has significance when the maintenance enable switch is on.0RPM3jhc This is a write only registerwhich only has significance when the maintenance enable switch is on.o0SUCAFai *Unused bits setnd  (& Cylinder Address = r# (#* 0SILO  Silo Memory contents :$yn0JOu NControl ResetWrite (implied seek) Read (implied seek) Write Check (implied seek)#SeekRWrite (no implied seek)sHome Seek Read (no implied seek) (t*#RP03RP02s(pN/A3e:Jy# r&: la#NilInvalid function#P("yh(o# od# " #r  h(#E|N/Aox# (#ih#o(#vo# (# #b#Wr#rn#rd# h.n#  e#  2# e! (# l #e\t 9. d #9&u19.tx# >! (#ei#k! (##r!B(# d#N"L S  "o #No error bit found r#Le.)!5FCName!13FCValue!25FCInterpretation!2FLe##"@&Q 8'4g7T!n"~""ƙ""(ʹ"0 "H "(7$g7$>7$G7$R7$[6"(qERP456M01.00V0-1USXCONTROL DEVICE_OPDISPFUNCTIONBINTERMOD_DEVERR REGISTERT  !"#$%&'()*+,REPORTVAR,! DEVICE_ENTRYRPW!D*$& 8< B #P s85 85Resc ,,e#`p0RPCS1= *Special Condition setd *Transfer Errorira &$*MASSBUS Control Bus Parity Err C *Unused bit setl D Drive Available.**Drive not Available (other port using it) vB #8*Unused bit setl$ Unibus B Selected for data transfer (2 #8$ Unibus A Selected for data transfers(N .,  BA17,BA16 = eo#0,&(!  (B)p t  2 Controller Readyt Controller not Readyf C 2 Interrupt ESnabled Interrupt not Enabledfd   Function = r#a e   *Go bit on0~RPWCs S (&o#~i(C (# words remaining2 0RPBAly  Bus Address Registerd0RPDA en *Unused bits sethi &$ Track Address = h#a(#i t &$ Sector Address = s#(# 0RPCS2d   *Data Later *Write Check Error  *Parity Error (in memory)dte *Nonexistent DriveJ *Nonexistent Memorye *Program Errorek *Missed Transferk) $"*MASSBUS Data Bus Parity Errork J&" Output Ready (silo contains data)" Output not Ready (silo empty)R B  Input Ready (silo not full)  Input not Ready (silo full)J 42- Controller Clear (clears all drives as well)t H"*Parity Test set (even parity)$ Parity Test clear (odd parity) # $"*Bus Address Increment Inhibitb#  Unit Selected = e.# 0&RPDS   Attention Activee **Error (composite)#  Positioning in Progress * Medium Online*Medium not Online  Drive is Write Locked 0.* Last Sector Transfered (last of the pack) Z2. Programmable (port A or B program selectable)&" Not Programmable (locked on port)ue * Drive Present*Drive not present R" Drive Ready (not doing R/W/S).) Drive not Ready (drive is doing a R/W/S)c R *  Volume Valida*Volume not valid(ts B<f#<*Unused bit seti Cylinder Difference Equals 1)t( r@e#<*Unused bit seti! Cylinder Difference Less Than 64Ps(0E#<! Cylinder Difference More Than 64nr(dr ,*#<*Unused bit setf  Go Reversehe(r  :8=#<*Unused bit setf Drive to Inner Guard Bandd(ts :8d#<*Unused bit setf Drive Forward 20 in./secd)(# 86t#<*Unused bit setf Drive Forward 5 in./secp( 0FRPER1t J *Data Check ,  *Drive Unsafee C *Operation Incompletei H S*Drive Timing Errorte  *Write Lock Erroror  *Invalid Address Errorof *Address Overflow Erroree, *Header CRC Error j *Header Compare ErrorohaN*ECC Hard Error te *Write Clock Failr  *Format ErrorFis  *Parity ErrorFic $"*Register Modification Refusedan *Illegal Registera0 *Illegal Functiona0RPAS *$=#. *Unused bits setO(  Unit #7 Attention:  Unit #6 Attention   Unit #5 Attention  Unit #4 AttentionR  Unit #3 Attentionri  Unit #2 Attentionk  Unit #1 Attention (  Unit #0 Attention0ZRPLA (n *Unused bits set ^$" Sector Count = #^ (#l  b&! Into First Quarter of the Sector5&" Into Second Quarter of the Sector&! Into Third Quarter of the Sectorr&" Into Fourth Quarter of the Sectorn# *Unused bits set0RPDB!  Data Buffer contentso0fRPMR19 *Unused bits set  Sync Byte detectedt 2 ECC Zero detected No ECC Zero detectedo  Data Field Envelope  ECC Field Envelopee *$#j Maintenance Write onon( ("#j Maintenance Read on5(pr 0*2#j Maintenance Sector Clock onT(r  0*#j Maintenance Index Pulse onne( *$#j Maintenance Clock onl(osj Diagnostic Mode ono0.RPDTW " *Drive not Block Addressable *Unit is a Tape Drivee ,&!*Unit is not a Moving Head Devicer *Unused bit setM a > DRQ on (dual port unit)  DRQ off (single port unit)Dk *Unused bits set 2 Drive Type = # 0zRPSNal 64 Drive Serial Number = n#zD(   (BCD)d 0nRPOFa   Sign Change *Unused bits set# 2 16 Bit Data Formatr 18 Bit Data Formatr $ ECCS Inhibited  ECC Enabled  < Header Compare Inhibitedt Header Compare Enableder! *Unused bits setr *Unused bit sett v  Offset = # 0RPDC *Unused bits set  "(& Desired Cylinder = #" (# 0RPCC! *Unused bits set  (& Current Cylinder = #(# 0RRPER2!1 *(!#<*Unused bit sete *AC Unsafe(~ *Unused bit sete  *PLO Unsafe or 0.#<*Unused bit sete*30 Volt Unsafero(Er  *Index Errorim *No Head SelecteC1 *Multiple Head Select  *Write Ready Unsafec  :8C#<*Abnormal Stop*Fail Safe enabled (open CB)i(  *Transition Unsafe  " *Transition Detector Failure 64#< Read and Writee*Motor Sequence ErrornE(rr *Current Switch UnsafeOd *Write Select Unsafe E *Current Sink Failureete *Write Current Unsafee"0VRPER3 W  *Off CylindertWo *Seek Incomplete*U ><t#<*Operator Plug Error (removed)*Unused bit setn ( E *Unused bits set s  *DC Low   *AC Low ec :8 #<*35 Volt Regulator Failure*Unused bit set *( ><r#<*Unused bit sett*Any Unsafe Except Read/Writeni( *Unused bit sett 20#< Write and Offset*Velocity Unsafea( 20#<*Drive DC Unsafe*Pack Speed Unsafe($06RPEC1  :"  ECC Position = i# .E &0>RPEC2os  B0. ECC Pattern = h#B 0P(!  (B)t 6 e #Pd$(Dt (0RPBAEF  *Unused bits setip ., BA21 through BA16 = c#0 e(!n *0RPCS3sc *Address Parity Errorc` " *Data Parity Error, Odd Word $"*Data Parity Error, Even Word  " *Write Check Error, Odd Word $"*Write Check Error, Even Word   Double Word Transferedna# *Unused bits set 2 Interrupt ESnabled Interrupt not Enabledt# *Unused bits set\  >< Inverse Parity Check Bits = # 0ro(!  (B) ("""#"  (# /# ##dS$0t@xNo OperationUnload (stand by)RecalibrateDrive ClearRelease Search CommandWrite Check DataWrite Check Header & DataWrite DataWrite Header & DataRead DataRead Header & DataSeek CommandOffset CommandReturn to Centerline Pack AcknowledgeRead In Preset oBo# RP04 <P RP05 C<P RP06 t<P!J#r - +u(#v-#RP06(#(#  uin. #:|.(<#:6dNormal|#:0l("#( Outside of legal range##z  d( dt# &d .#xInvalid function##("(##  #  (#N/A# (##j(#D#D(# D#JD#ND#.8# 8#8 8#8 ! 8(#  8#"\21.  #1 &18.# ! (#u#!(#N#C!!(# tp# o2#**"( "VVV VVVVVVRR R R R R RRRRRRRRRFFFF F F F F FFFFFFFF"" & &&   0#No error bit found D#L.)!5FCName!13FCValue!25FCInterpretation!2FL##S@Q 8 '4g7T!n"~""ƙ""(ʹ"0 "H "( "7$g7$>7$G7$R7$[n(qERRORMM01.00V0-1ge DEVICESERLMESRERROR:ERR_TMP  NOTE_NUMBERSF PACKET_RANGEHREPORT  TITLEERROR_1!18FCIdeL28C8!3\8 *30 CJ  N bF P#RARGNOTUNQEArgument specification !AC is not uniqueCFILERRCODEFile error code = !AC (octal)ILLFILSPCEIllegal file specification - !ACILLPACRANEIllegal packet range - LOW = !AC, HIGH = !ACILLARGCOMEIllegal argument combinationILLSWTARGEIllegal switch argument - !ACeINTERR001EInternal error detected at position number !ACMODNOTFNDEModule not found - !ACMULARGSPCEArgument !AC specified multiple timesMULSWTSPCESwitch /!AC specified multiple times#NODIDPACKENo Device_ID subpacket#NOINPFILEENo input file specifiedwNOREMATCHENo predefined switch string for !AC-OPNINPFILEFailed to open the  Sinput fileOPNREPFILEFailed to open the report filelOPNUSRFILEFailed to open the user filenPARSECLSTEPARSE.SECTION_LIST = !AC PARSECTONEPARSE.SECTION = !ACSWTNOTUNQESwitch specification !AC is not uniqueTSYNTAXERRECommand line syntax errorTOOFEWARGEToo few arguments in switch !ACFUNKNWNARGEUnknown argument - !ACUNKNWNSWTEUnknown switch - !ACILLPACCODBIllegal code in packet !AC, Code = !AC2ILLPACSBCBIllegal subcode in packet !AC, Code = !AC, Subcode = !ACBADSUBPKTEPossible corruption in the !AC subpacket in item !ACDUILLFORMRMSCP format code !AC is undefinedNODACSPRTRNo IO_ACTIVITY support, packet = !ACCNODRIVSIZRNo drive of size !AC for mnemonic !AC; using EUNKWN!NODRIVTYPRNo drive type !AC for mnemonic !AC; using EUNKWNNONOTESRNo notes available for device !ACUNKNWNDEVRDevice mnemonic !AC is unknown; using EUNKWNdUNKNWNNOTRNo note number !AC for device !ACUSEEUNKWNBModule !AC not found; using EUNKWN--f---z   t x"--2|!5"ow :FL"("(!l"ceP!L-  !2FL!5FC!4 S0DP!FL!5FC!40DP- NONE(( #>#:(file specification defaulted)[#6#: (#FULL REGISTERSc#OUTPUT_PACKETS #OUTPUT_PACKETS#OUPA'V V #&V P _#  V (&V(pi#bNd(lx#,N''(t u#x- -F#c#xe!N  858J # O&8L # #N( <#N W I F |L#F#B#RF#!AC ( & ###R(###^! V  0# x##t,''J((#,#f#t j#x#t#!f!  t #x EE##R#( #TnP4)Unimplemented error message - Mnemonic = U#A E (FC|E UNIMPMESGn -!#|EN41d#t#S#ERLCNF-!1DP-!9DP, !DPeRR4*## #ERLCNF-!1DP-!9DP, !DPeBRf###ERLCNF-!1DP-!9DP, !DPe#!#D#ERLCNF-!1DP-!9DP, !DPe VVERROR_2NEf RREPORT(PINPUTT(P USER(P* ERROR_1D@Q 8'4g7T!n"~""ƙ""(ʹ"0 "H "( """`7$g7$>7$G7$R7$[S6 (qERS11M01.00V0-1USXDISPCFUNCTIONBINTERMOD_DEVERR TREGISTER REPORT DEVICE_ENTRY* dium O#60RFDCS0*Error (composite)k)$"*Freeze (bits 12-15 of RFDAE)gr *Write Check Erroram *Data Parity Error* *Nonexistent Diskr n *Write Lockout errorea *Missed Transferri   Disk Clearn d 2 Controller Readyr*Controller not Readyft  2 Interrupt Enabled*Interrupt not Enabled1) <: Extended Memory XM1,XM0 = E!#0nD(!e  (B)e 0*Maintenance mode ondr   Function = t#lt   *Go bit on0RFWCetf (& #I(Ca(# words remainingd 0RFCMAve (&! Current Memory Address Register 0RFDAR  &$ Track Address = d*#e(#, ve  &$ Word Address = d #e(# 0RFDAEro *Address Parity Errorsr  *A Timing Track Errorsof *B Timing Track Errorsre *C Timing Track Errors  *Unused bit set ro *Nonexistent Memoryor  *Unused bit setmai   CMA InhibitEr  Data Request LaterF *Unused bit setafi *Illegal Drive Address  Drive Selected = # $ :8 MSB's of track address = #0s (!t  (B)e 0RFDBRtt  Data Buffer Registers 0RFMARtt *Unused bits seten F"# Maint. Data bit one("# Maint. Data bit off( F" # Maint. C Timing onf ("# Maint. C Timing off($ F"t# Maint. B Timing onf ("# Maint. B Timing offr( t F"r# Maint. A Timing onff("S# Maint. A Timing offr( t *Unused bit setg Q NLf# Simulated Head Signals = b# 0(!B  (B) (at PN #S Maint. Data Track bits = #b0(!  (B) y(By PNt# Maint. C Timing = #Z0t(!  (B)  (a PNv# Maint. B Timing = o#$0a(!e  (B)r  ( PN# Maint. A Timing = o#p02(!  (B)e c(0RFADS *Unused bits set P 86 Disk Segment Address = a# ln(# :$ 00J n tNNo OpWriteReadWrite ChecketRS11pN/A1s:Jo# e &: rl #Nl*Invalid functionrR#u(#oxN/AvN/Av i #/ #s(# #v(#@= 0# (#` am#(#|N/AvChN/Av #B #" "U "   8#DFNo error bit foundb t#LC.)!5FCName!13FCValue!25FCInterpretation!2FLHa#a#@Q 8 '4g7T!n"~""ƙ""(ʹ"0 "H "( """`#"7$g7$>7$G7$R7$[S6(SqERS34M01.00V0-1USX$ DEVICE_OPDISPFUNCTIONIBINTERMOD_DEVERR REGISTER REPORT_VARR DEVICE_ENTRY @ Pn#J"0RSCS1 *Special Condition setB *Transfer Errori &$*MASSBUS Control Bus Parity Err  *Unused bit setl=  *Drive not AvailableB) R($ Unibus B Selected for data transfer($ Unibus A Selected for data transfer .,  BA17,BA16 = e #0,(!  (B)N N  *Controller not Readyrri   Interrupt not Enabled *Unused bit setE*I   Function = # u(  *Go bit on0$RSWC :8 Word Count = #$(C(#  words remaining 0RSBA  Bus Address Registerd0RSDA# ("*Spare Track Address bits setr &$ Track Address = # (#  &$ Sector Address = L#.(#! 0RSCS2pr  *Data Late *Write Check Error*# *Unibus Parity Errord  *Nonexistent Drive *Nonexistent Memoryrss *Programing Errorr T *Missed Transfer $"*MASSBUS Data Bus Parity Errorim J&" Output Ready (silo contains data)" Output not Ready (silo empty)  B  Input Ready (silo not full)  Input not Ready (silo full)es 0.* Controller Clear (clears all drives also)al (&"*Parity Test bit set (even parity)=  L"*Bus Address Increment Inhibit($ Bus Address Increment Inhibit reset  Drive Selected = # 0RSDS bi  Attention Active o*Error (composite)it  Position in Progresst.  * Medium Online*Medium not Online *Drive is Write Lockedmi 0.* Last Block Transfered (last of the track)F *Unused Sbit setnnf * Drive Present*Drive not Present &  Drive Ready Drive not Readyat *Unused bits set 0 RSER(  *Data Checksnt *Unsafe (drive AC low) *Operation Incomplete)  *Drive Timing Errort  *Write Lock Erroro0 $"*Invalid Address Error ( >max)nt *Address Overflow Error($ *Unused bits set  *MASSBUS Parity Erroro  *Register Modify Refused " *Illegal Register Addressing *Illegal Function 0RSAS *Unused bits set   Unit #7 Attention Activei   Unit #6 Attention Activeihe   Unit #5 Attention Activeio#   Unit #4 Attention Activeinv   Unit #3 Attention Activei   Unit #2 Attention Activei   Unit #1 Attention Activei   Unit #0 Attention Activei0RSLA *Unused bits setAv 64" Current Sector Address = "#(# 64" Current Sector Fraction Passed = #o(#i 0RSDB.  Data Buffer Registeri0RSMR# R(*#  Serial Data Clock SignalP((#  Serial Data Clock SignalP (ff j4# % Maint Write Data Bit for Top Surfacere(4# % Maint Write Data Bit for Top Surfacer( L*P#  In CRC Field (16 bits long)( #  Not in CRC Field =( j4 # % Maint Write Data Bit, Bottom Surfacers(4*# % Maint Write Data Bit, Bottom Surfacer ( X*n#  Drive Data Buffer Strobe ont(,0#  Drive Data Buffer Strobe offr(im h2# $ Enable Shift Register Parallel Load (4t# % Disable Shift Register Parallel Load<(*A  Address Confirmedbl  Drive Sector Pulsesra (&! Drive Performing Write OperationLor &$  Drive Performing Read Operation*M b0u# ! Maint Read Data Bit, Top SurfaceLh(0f# ! Maint Read Data Bit, Top SurfaceL(*C V*i#  Maintenance Index Pulse onun(*!Sa#  Maintenance Index Pulse off (in J$#  Maintenance Clock onl>($<#  Maintenance Clock offv( f2b# $ Maint Read Data Bit, Bottom Surface (2# $ Maint Read Data Bit, Bottom Surface ( *Unused bit seta  Maintenance Mode on0RSDTy U $"*Drive not Sector AddressableS*U *Unit is a Tape Driverri $"*Unit is a Moving Head DeviceS &$*Unit is a 7 Channel Tape Driver0 > DRQ on (dual port unit)  DRQ off (single port unit)ros *Slave Present0P   Drive Type = # > (#:$ DPA(0RSBAE  *Unused bits set 64 BA21 through BA16 = #0 (!i  (B)r 0RSCS3rr *Address Parity Error ri " *Data Parity Error, Odd Word C $"*Data Parity Error, Even Wordvhe " *Write Check Error, Odd Worde  $"*Write Check Error, Even Wordv s  Double Word Transferedned *Unused bits set 2 Interrupt Enabled Interrupt not Enabledy *Unused bits set >< Inverse Parity Check Bits = v#0r(!  (B) >S atoHN$p0^bNo OperationDrive ClearRead In Preset SearchWrite CheckWriteReadWN/AN^# i &N/& a#b Invalid functionaa#a("|#@ad#  (#ON/AnN/Au#e(#l#k(# n l# v|"d#@t#  ! o(# #&63.P#!(##!(# - #l ##*"( 6" 4           "(   l a#gNo error bit found ##L&.)!5FCName!13FCValue!25FCInterpretation!2FL(#6#:%S@ Q 8'4g7T!n"~""ƙ""(ʹ"0 "H "( """`#"#"7$g7$>7$G7$R7$[6p (zqERX01M01.00V0-1USXDISPC ERROR_TYPEUFUNCTIONBINTERMOD_DEVERR 8REGISTER_ REPORTat DEVICE_ENTRY Dbeady#6d0RXCS0 *Error (composite error)nt &$*RX Initialize (write only bit)  *Unused bits setim 6 Drive Type = RX02  Drive Type = RX01 A *Unused bits setve4 Transfer Request on Transfer Request off AS 2 Interrupt Enabled Interrupt not Enabled*I$  Done bit on  Done bit offtn 2 Unit Selected = 1.l Unit Selected = 0.l A  Function = 0n## A  *Go bit set 0RXDBAct *Unused bits setti ZXe#%*Low byte of register contains = RXES# Low byte of register contains data(0RXEStiv *Unused bits seton . Unit Selected = 1 Unit Selected = 0et &  Drive Ready*Drive not Ready   Deleted Data Detected4 : Drive Density = Doubleo Drive Density = SingleoSD *Density Errorer *Unused bit set=  Initialize Done C <:n#*Unused bit sete*Parity Error (Unibus input)(j *CRC Error detectedP0RXER#ri *Error Code = e#  T$P#N0d(hWrite SectorRead SectorWrite Deleted Data Sectore:t)S$Bi 0LonPDrv. 0, No Home Found on INITDrv. 1, No Home Found on INITHome When Steped Out 10 Tracks Tried To Access a Track > 77.(Home Found Before Desired Trk0Self-diagnostic Error8Sector Not Found After 52 HdrsH>40 us and No SEP Clock SeenPPreamble Could Not Be FoundXPreamble Found But No ID Mark`CRC Error On Apparent HeaderhTrack Address MisscomparepToo Many Tries For an IDAMxData AM Not Found, Timed OutCRC Error On Sector ReadAll Parity Errors#RX02RX01l(oN/A2#Tdn# el&T f#h*Invalid functionra,#1I0lf(N/AN/A N/AoN/AeN/A:Ln# is&: #PM*Invalid error coder RT#L.)!5FCName!13FCValue!25FCInterpretation!2FLnie#e#@Q 8 '4g7T!n"~""ƙ""(ʹ"0 "H "( """`#"#"("X%7$g7$>7$G7$R7$[6(qERX02M01.00V0-1USXDISPC ERROR_TYPEUBINTERMOD_DEVERR \REGISTERD REPORTDVARj DEVICE_ENTRY2#Xn##6< 0RX2CSf(*Error (composite error)A &$*RX Initialize (write only bit)  $*BA Extention (write only) 6 Drive Type = RX02o Drive Type -S = RX01o *Unused bits setit ~>w#l Double Densityt*Density Indicator invalid6(> #y Single Densityt*Density Indicator invalid(et4 Transfer Request on Transfer Request offnt  2 Interrupt Enabled Interrupt not Enabled$$  Done bit on  Done bit offtle~>#t Unit Selected = 1*Unit indicator invaliddn(> # Unit Selected = 0*Unit Indicator invalidds(  Function = 0t#nc nt *Go bit set (write only) oa#0RX2ES *Unused bits set   *Nonexistent Memory Error Se *Word Count Overflowea *Unused bit setr . Unit Selected = 1 Unit Selected = 0si &  Drive Ready*Drive not Ready   Deleted Data Detected : Drive Density = Doubleo Drive Density = Singleonu *Density Errorro  *RX AC Lowj  Initialize Donete *Unused bit seteod*CRC Error detectedn@0RX2DBto (" (Register contents undefined)0RXWD1t ,* Word Count = o#  (#e  8*Error Code = T#k  (no error code returned)i0RXWD2re *Unused bit set Se @>! Current Track Adrs of Drive 0 = oP#e(#l C *Unused bit setA N @>! Current Track Adrs of Drive 1 = oa#Mm(#e 0RXWD3n *Unused bits setC 0. Target Sector = l#o(#  *Unused bit set= 0. Target Track = #h(# 0RXWD40l #h Track Adrs at seek error = N#(#  Track Address = #ro(# (T# > Unit selected = 1.  Unit selected = 0.  B  Density of Drive 1 = Double  Density of Drive 1 = Single a * Head is Loadedv Head not Loadedua B  Density of Drive 0 = Double  Density of Drive 0 = Single0P 1S*Unused bits set  Z,( Rd Err Reg Cmd issued in Double Density,( Rd Err Reg Cmd issued in Single Densityo 16 "  (!i  (B)r 0RSCS3rr :$*A 0L$PDrv. 0, No Home Found on INITDrv. 1, No Home Found on INIT Tried To Access a Track > 76.(Home Found Before Desired Trk8Sector Not Found After 52 HdrsH>40 us and No SEP Clock SeenPPreamble Could Not Be FoundXPreamble Found But No ID MarkhTrack Address MiscomparepToo Many Tries for an IDAMxData AM Not Found, Timed OutCRC Error on Sector ReadR/W Circuit Failed Self TestWord Count OverflowDensity ErrorWrong Keyword for SET DENSITYv#RX02RX01^(#rN/A2n&#Invalid function Fill BufferS Empty Buffer Write Sector Read SectorSet Media Density Read StatusWrite Deleted Data SectorRead Error Code( |#1n0i( ##b ! #z# i(#3z# i(# ##hz# i (#zN/A # ##(#N/AN/A~N/AjN/A:L# &:#Pl#Pj*Code unknown to Error Log #"" rNo error bit found ##L.)!5FCName!13FCValue!25FCInterpretation!2FLdmp#o#@Q 8'4g7T!n"~""ƙ""(ʹ"0 "H "( """`#"#"("X%("+7$g7$>7$G7$R7$[5S6 (GqET0310M01.00V0-1USXDISPCFUNCTION>INTERMOD_DEVERR HREGISTERG REPORTLVAR DEVICE_ENTRY #  X#6h 0MTS *Illegal Commandk  <:#*End Of File detectedG End Of File detected1(# *Cyclic Redundancy Error " *Parity Error (CRC and LRC)den *Bus Grant Late Errordsi <:i#*End Of Tape detectedd End Of Tape detected1n(Lo *Record Length Erroriv 64u#*Bad Tape ErrorE*Operation Incompletet(nu *Nonexistent MemoryOd  < Selected Unit Onlinee *Unit not Present or Offlinen  "  Beginning Of Tape detectedeB). Drive = 7 Channel Drive = 9 Channel$  Settling Downun  Write Protectede    Rewindingd  0  Drive Ready Drive not Ready (in use)e0MTC A*Combined Error setnPr  ^\ Density = P# *Invalid density  200 BPI 556 BPI 800 BPI 800 BPIT(M ny $" Subsystem Clear (write only)d, * Even Parity onr Even Parity offFa  Drive Selected = v#l w 2 Controller Ready *Controller not Readytor 2 Interrupt Enabled Interrupt not Enabled 20 BA17,BA16 = #0,e(!W  (B)c to  Function = t#ls   *Go bit on0MTBRC #1(C(## 0MTCMA @> Current Memory Address = #(&N  (O) 0MTD  Data Buffer Contents N/ 86#A  Byte B = #0:(& (P 86P#  Byte A = u#r0(& "( 64 #  Byte B = #N0i(&o ( 64#  Byte A = !#50e(&i 2( 0MTRDf D 0.) Timer Signal (100 us. at 50% duty cycle)8d  p&" Character Select = LRC CharacterH9S Character Select = M# Last Data Character CRC Charactern(d bi &$  Bad Tape Error Generator bit onl#   Gap Shut Down Period set nu *Unused bits set  Parity on HFX# Data Field = #r0a(!e  (B)r =( (&#*LRC Error on Channel 7e (# (&#*LRC Error on Channel 6en(se (& #*LRC Error on Channel 5e ( 0 (&B#*LRC Error on Channel 4el( (& #*LRC Error on Channel 3e (d  (&d#*LRC Error on Channel 2e(en (&D#*LRC Error on Channel 1eD(e  (&l#*LRC Error on Channel 0e( ("g missued in Double Density,( R : $g 0JB) NOff LineReadWriteWrite End Of FileSpace ForwardSpace ReverseWrite With Extended IRGRewind t\n#LL&  records remain to be spacedrro bytes remaining"t (contents meaningless)pcpN/Ao:Jn# s o&:/A lt#NolInvalid functionRr#e(" t???aN/Aa |N/Aa xN/AadhN/Aa fw#z",  y#fr< N#Y#v*"#("a e #yfNo error bit foundo S#Li.)!5FCName!13FCValue!25FCInterpretation!2FLo#e#@ Q 8'4g7T!n"~""ƙ""(ʹ"0 "H "( """`#"#"("X%("+~"647$g7$>7$G7$R7$[=S6((qET1645M01.00V0-1USXlDENSITY DEVICE_OPDISPC FORMAT_TYPEFUNCTIONBINTERMOD_DEVERR REGISTER_  REPORTVAR  DEVICE_ENTRY bi  B r#`0MTCS1wn *Special Condition set*Transfer ErroriF &$*MASSBUS Control Bus Parity Err  *Unused bit setl  . Drive Available*Drive not Available& R($ Unibus B Selected for Data Transfer($ Unibus A Selected for Data TransferRC .,  BA17,BA16 = e#0,(!*  (B)o o 2 Controller Readyd Controller not Readyrl  2 Interrupt Enabled Interrupt not Enabled    Function = t#   *Go bit on0hMTWCy, <: Word Count = E#h(CN(#f  words remaining 0MTBAWri  Bus Address Registerd0DMTFCd ., Frame Count = g#D E(#n 0MTCS2  *Data Late *Write Check Errorn  *Parity Error (memory) *Nonexistent Drive ( *Nonexistent MemoryrN/ *Program Error: *Missed Transfer $"*MASSBUS Data Bus Parity Error J&" Output Ready (silo contains data)" Output not Ready (silo empty) B  Input Ready (silo not full)  Input not Ready (silo full) ,*% Controller Clear (clears all drives) F"*Parity Test on (even parity) " Parity Test off (odd parity) Na (&"*Bus Address Increment Inhibit set  Unit Selected = e#T 0(MTDS(# *(# Attention Active (slave-transport)s#,*Error (MTER bit set)a0  Position in Progressa C * Medium Online*Medium not Online T(# Write Lock set (write ring absent)s*& Write Lock reset (write ring prASesent) "  End of Tape detected (EOT)n *Unused bit sett * Drive Present*Drive not Present  . Formatter Ready Formatter not Readyt   Slave Status Changet 08 Formatter in PE Mode  Formatter in NRZI ModeEct   Slowing Down bi  PE ID Burst Detecteddto  Tape Mark detectedeDo   BOT detectedt ,*& Slave Attention (slave coming online) 0@MTER  ><#0*Correctable Data Error (PE)*CRC Error (NRZI)8*( E $"*Unsafe (not online or AC low)*L *Operation Incompleter *Drive Timing Errortl  *Non-executable Function o @>l#0*Correctable Skew (PE)*Illegal Tape Mark (NRZI) d( *Frame Count Errorne *Non-standard GaprRC 20n#0*PE Format Error*LRC Error (NRZI)po(n  LJ0#0*Incorrectable Data Error (PE)*Vertical Parity Error (NRZI) (g  *Data Bus Parity Errorin  *Format Errori  *Control Bus Parity Error  $"*Register Modification Refused  *Illegal Register Addressf W *Illegal Function 0MTAS *Unused bits setai  Formatter #7 Attentions  Formatter #6 Attentionsen  Formatter #5 AttentionsJ  Formatter #4 Attentions  Formatter #3 Attentions  Formatter #2 Attentions  Formatter #1 Attentionsw#  Formatter #0 Attentions0MTCKr *Unused bits set@>#0*Dead Track = Pt CRC Parity = #1D0 ( N( 86L#0 CRC word = 3#0CC(&e  (O)i n(L  #0*Dead Track = 8 (1n   #0*Dead Track = 7 (  #0*Dead Track = 6 (   h#0*Dead Track = 5  (  #0*Dead Track = 4 (  #0*Dead Track = 3 (  #0*Dead Track = 2 (  #0*Dead Track = 1 (0$MTDBo E  Data Buffer contentsC0HMTMR  PN #LES Maintenance Mode Data Field = !#H en(!L  (B) ( :#L 200 BPI Clockd( #L 200 BPI Clock(f# B n#L Maintenance Clocka( #L Maintenance Clocke(ce HFu#L Maintenance Mode Op-code = e#Hi(" $( L4 Maintenance Mode on Maintenance Mode offc04MTDTMai $*Drive Sector Addressable # .($*TAP reset (signal is hardwired set) *($*MOH set (signal is hardwired reset)ce (&!*7CH set (signal hardwired reset)eot > DRQ on (dual port unit)  DRQ off (single port unit)r*U * Slave Present Slave not Present T < Transport Type = n#u 86 Formatter = TM03 Formatter = TM020PMTSN 64 Drive Serial Number = n#P (   (BCD)s 0TMTTC 8 Acceleration bit set= Acceleration bit resetnSC D  Frame Count Status bit setr" Frame Count Status bit resets `:8t#8 Slave Address Changei Tape Control Writea,(d  V*% Abort on Data Transfer Error enabled *& Abort on Data Transfer Error disabled *Unused Bit setTru X  Density Selected = d#t \  Format Selected = #  N&#0 Even Parity (NRZI only)(&#0 Odd Parity (NRZI only))e( C d  Slave Selected = # 4 Wt#Ph$Sr0MTBAEW  *Unused bits set ,* BA21 - BA16 = #0 (!" 0MTCS3  *Address Parity Errorn " *Data Parity Error, Odd Word $"*Data Parity Error, Even Word o( " *Write Check Error, Odd Word $"*Write Check Error, Even Word   Double Word Transferedn *Unused bits set 2 Interrupt Enabled Interrupt not Enabled *Unused bits setNo  >< Inverse Parity Check Bits = F# 0ra(!!  (B)e to(2F$$"6":#  #  (#N/A~$0ISNo OpRewind Off-lineRewindDrive ClearRead-in Preset Erase Write Tape Mark Space Forward Space ReverseWrite Check ForwardWrite Check ReverseWrite ForwardRead ForwardRead Reverse*$Rp08F <200 BPI/NRZI556 BPI/NRZI800 BPI/NRZI800 BPI/NRZI1600 BPI/PE*Reserved*Reserved*Reservedoedr$it~0vn!FzPDP-10 Core DumpPDP-15 Core DumpPDP-10 Compatible PDP-11 Normal PDP-11 Core DumpPDP-15 Normal*Reserved Format*8C#X e &* #<*Invalid Densitydv #\ 0&d E#z*Invalid Formaty.#P  lt( g~ #  &~ #Invalid functionea#dr("???aDN/AaEN/AaoN/AaN/Aa"i ((  (   r#h Eo# r#,*"(     J"H@@@@@@ @ @ @@ @ @@@@@ t r#ndNo error bit found# #LU.)!5FCName!13FCValue!25FCInterpretation!2FLc#z#~@Q 8'4g7T!n"~""ƙ""(ʹ"0 "H "( """`#"#"("X%("+~"64"s<7$g7$>7$G7$R7$[MS6(͹rETA11M01.00V0-1USXDISPCFUNCTION>INTERMOD_DEVERR (REGISTERTREPORT, DEVICE_ENTRYit t **#60TACSF*Error (composite) $"*Block Check (CRC on READ SFB)ma  *Clear Leader (EOT or BOT)ZI *Drive is Write Lockedbi  File Gap detectedte  *Timing Errore d &$*Offline (no drive or no power) ttH" Unit #0 Selected (left drive)$ Unit #1 Selected (right drive) Er 4 Transfer Request on Transfer Request offg o 0 Interrupt Enabled*Interrupt Disabledfve*  Device Readys*Device not Readyeon "  Initiate Last Byte Sequenceap   Function = #l *F  *Go bit on0TADBrRC *Unused bits set :8 Data Buffer = t#*0a(&  (O)r  :)$*V0JornNWrite File GapWriteReadSpace Reverse FileSpace Reverse BlockSpace Forward FileSpace Forward BlockRewindFpN/A:JT# &: Uld#NslInvalid functiona # 1 0n( t???rN/At|N/A xN/ArhN/A tn#""  0 s#Drive not ready  #t#No error bit foundr ae#Lt.)!5FCName!13FCValue!25FCInterpretation!2FLD ##@ Q 8'4g7T!n"~""ƙ""(ʹ"0 "H "( """`#"#"("X%("+a"L~"64"s<7$g7$>7$G7$R7$[QS6P (rETC11M01.00V0-1USXDISPCFUNCTION>INTERMOD_DEVERR <REGISTERT REPORT_n DEVICE_ENTRYG_P\aFLG_P I#60TCSTUIC *Tape At End Zone Regiona &$*Parity Error (checksum msmtch)   *Mark Track Decoding Error *Illegal Operation &$*Select Error (NXU or multiple) *C *Block Missed Erroro *Data Missed Error  *Nonexistent Memoryo    Selected unit Up to Speedli @o# Maint. Clock ont( e# Maint. Clock offn(#1 J$d# Maint. Mark Track onSr($r# Maint. Mark Track offe(of L&0# Maint. Data Track 0 one($ # Maint. Data track offe(ad N&e# Maint. Data Track 1 ont(&L# Maint. Data Track 1 off (ct N&l# Maint. Data Track 2 onf(&A# Maint. Data Track 2 off( D <: Extended Data XD17,XD16 = p #0n:(!$  (B) 0TCCMeW*Error (composite) *Unused bit settS *Maintenance Mode on F  Delay Inhibit setin : Tape Motion = Reverse Tape Motion = Forwardva  Unit Selected = Fn# 2 Controller ReadyF*Controller not Readya 2 Interrupt Enabled*Interrupt not Enabledno <: BA17,BA16 = at#N0i(!o  (B)   Function = ae#le at  *Go bit on0TCWCt :8 Word Count = d#a(C(#R  words remaining 0TCBA#0  Bus Address Registerd0TCDT#  Data Buffer contentsd:#$0JNStop All TransportsRead Block NumberRead DataRead AllStop Selected TransportWrite Timing and Mark TrackWrite DataWrite AllepN/A:J#  &: Mle#NUSMl*Invalid functionae#!("t???vN/Av#|N/AvIxN/AvhN/Av 0P#*"k( 4 #Controller not Ready   #eeNo error bit found #L(.)!5FCName!13FCValue!25FCInterpretation!2FLDio#f#@"Q 8'4g7T!n"~""ƙ""(ʹ"0 "H "( """`#"#"("X%("+a"Lc"P~"64"s<7$g7$>7$G7$R7$[6\( rETS11M01.00V0-1USXHDISPCFUNCTION>INTERMOD_DEVERR  MES_SAGE_TYPEMODE|REGISTERa REPORTPVAR DEVICE_ENTRYv#R/HIXX:"*kh" '\4="ntoderT lV`#L(.)!5FCName!13FCValue!25FCInterpretation!2FLDio#f#&la#6r(c s! m#l ` r`iError,,p#60CMDBPCOMMAND PACKET POINTER0CHABP$"CHARACTERISTIC PACKET POINTER0MSGHDRMESSAGE HEADER WORDE S *(# Acknowledge (CMD buffer available) *Unused bits setai  STD Status = #*Illegal status *Serial Bus Parity Error*Other*Write Lock Error/NXF*Microdiagnostic Failure( ad P"*Format not suYSpported by TS11 ,( Packet Format = One Word Header Format M  Message Code = A#d 0 MSGLGHMESSAGE LENGTHde *Unused bits set0n &$ Message Length = M# (# 0RBPCR,*%RESIDULE BYTE/POSITION COUNT REGISTERman o#(##he 0(XST0 EXTENDED STATUS REGISTER 0e   Tape Mark detectedI  Record Length Short  Logical End Of Tapeon  Record Length Longe I *Write Lock Errornpt *Nonexecutable FunctionR  *Illegal Command0 *Illegal Address *Capstan Is Moving &  Drive Onlineo*Drive Offline 2 Interrupt Enabled*Interrupt not Enabled .,( Volume Check (set after initialization)0 < Phase Encoded Drive"*Phase Encoded Drive Bit reset0   Write Locked (protected)r  Beginning Of Tape   End Of Tape 0,XST1 EXTENDED STATUS REGISTER 1rt *Multitrack ErrorEra  *Data Late *Unused bit seto 0$"*Correctable Data (dead track) *Crease Detected *Trash In The Gap  *Deskew Buffer FaildN/  *Speed Check (varied >5%)r *Unused bit seta4 *Invalid Preambleier *Synchronization Failuree *Invalid Postamble  *Invalid End Of DataCV *Postamble ShortLD *Postamble Longt *Uncorrectable Dataa04XST2 EXTENDED STATUS REGISTER 2ha *(# Operation In Progress (tape moved)zrd *Silo Parity Error s (&!*Serial Bus Parity Error At Drived o  *Capstan Acceleration Faille *Unused bit setrla $"*Write Card Failed (WB clock)r *Unused bit setlu   Dead Track Parity setTM  *Track 7 DeadaTM  *Track 6 Deada6  *Track 5 Deada =  *Track 4 Deadas   *Track 3 Deada  *Track 2 Deada  *Track 1 Deadatn  *Track 0 Deada08XST3e]S EXTENDED STATUS REGISTER 3ve <@>h#<X )*Micro Diagnostic Error = Capstan Runaway)t(ra $"*Limit Exceeded (tension arm)sra *Operation Incomplete *U  Reverse (motion)l D *Capstan Response Fail  *Density Check#  *Noise Recordkve  *Limit Exceeded Staticallydd *Reversed into BOT0TSSR STATUS REGISTERB *Special Condition setbi *Unibus Parity Error-  *Serial Bus Parity Error0 $"*Register Modification Refusedro *Nonexistent Memoryior $"*Need Buffer Address (msg bfr)o( 42 BA17,BA16 = d#0,$(!  (B) he . Subsystem Ready*Subsystem not Readyfe *Offline (transport)2 *Fatal Code = r#*Capstan Runaway *I/O Sequencer CROM Parity Error*Internal Parity or Fatal Errorg*Low AC or Loss of AC Powere((  $ Termination Code = #$ Normal TerminationI Attention Condition Tape Status Alert*Function Reject*Recoverable Error*Recoverable Error*Unrecoverable Error*Fatal Controller Error( r te *Unused bit setn #`  evr0CMDHDRi COMMAND PACKET HEADER WORD .,' Acknowledge (message buffer available)R  Clear Volume Checks B .,' Opposite (reverse the reread sequence)1   Swap Bytes  Function Mode = #\ z p rpC# F*tD(Packet Format = N r#1 Wrd Hdr, Interrupt Enabled1 Wrd Hdr, Interrupt Disabledr(  Function = e#lt  v#F0CMDB_2vCOMMAND PACKET WORD 2E l ., Tape Mark/Record Count = #(# 0CMDB_3"  UNUSED COMMAND PACKET WORDd0CMDB_4a"  UNUSED COMMAND PACKET WORDd U U UU0CMDB_2 UNUSED COMMAND PACKET WORD 0CMDB_3 UNUSED COMMAND PACKET WORD"0CMDB_4 UNUSED COMMAND PACKET WORDX$0CMDB_2 COMMaSAND PACKET WORD 2 nt :8 Bus Address BA15-BA00 = D#0As(&  (O): &0CMDB_3dCOMMAND PACKET WORD 30Wr *Unused bits setEr :8 Bus Address BA17-BA16 = Dr#0Ab(!  (B) (0CMDB_4TCOMMAND PACKET WORD 46te "  Byte Count = #S(#c  #`  N:$ve0J N*Illegal Function ReadWrite CharacteristicEWritesWrite Subsystem MemoryBPosition FormatM Controls InitializeGet Status Immediated d. . 00rd+Illegal Mode CodeRead Next (Forward)eRead Previous (Reverse)Reread Previous (Space Reverse, Read Two)iReread Next (Space Forward, Read Reverse) Load MSG BUF Adrs, Set DEV CharacteristicFWrite Data (Text) Write Data Retry (Reverse, Erase, Write)Normal (Diagnostic Use Only)eSpace Records ForwardRSpace Records ReverseTSkip Tape Marks ForwardeSkip Tape Marks ReverseeRewind Write Tape Mark Erase Write Tape Mark Entrye Message Buffer Release0 Rewind And UnloadD Clean1 Drive InitializeaGet Status (END Message Only)v$id 20id FN/AEndFailErrorAttention## ad& i\#&\ *Invalid Function mode+codes# A& dA# d*Invalid Message codeepN/AvE:J # *&: l#Nl*Invalid functioncN/Avt???vN/Av|N/AvxN/AvheSN/Av  #lReadndh Bytes remaining.c #Z#BBah Records remaining.dRR h Tape marks remaining.h Value meaningless.n #$Vl"0 44 4 4 88888 0 t#@, o#<iCapstan Runawaya"R88888F"D ,, , , , ,,,,,,,,e&"$( ( ( (((("" (( ( ((8z"aD  (((((, ,,,48 #0*"f(44444444  c A#lNo error bit found #.)!5FCName!13FCValue!25FCInterpretation!2FLT$!2FL!5FC!DF!13FC!DP!25FC!DP!2FLt.#N!25FC!DP!75FC!DP!CE! !25FC!DP!CEt(@Q 8'4g7T!n"~""ƙ""(ʹ"0 "H "( """`#"#"("X%("+a"Lc"Ps"V~"64"s<7$g7$>7$G7$R7$[6" (4rETU58M01.00V0-1USXDISPCBINTERMOD_DEVERR @REGISTERV REPORTRSUCCESSVAR( DEVICE_ENTRYe D  |ad tr e#60RCSR DL11 RECEIVER CSR1ke  Device Status Change C  Ring Indicator on . Clear to Send onn Clear to Send off 0 Carrier Detect on Carrier Detect offgos iS Receiver Active E "  Secondary Received Data onLD *Unused bits set  Receiver Doneaa B  Receiver Interrupt Enabled  Receiver Interrupt Disabled I > Device Interrupt Enabledl Device Interrupt Disabled*S *Unused bit setpDr $" Secondary Transmitted Data onil 2 Request to Send ont Request to Send offil *  Device Readye Device not Readyo  Reader Enable set0RBUFa DL11 RECEIVER DATA BUFFERt  *Errorda *Receiver Data Overrun &$ *Receiver Detected Framing Errorda " *Receiver Data Parity ErrorE*T *Unused bits set S ., Received Data = r<#)(&i  (O)g 0XCSRaDL11 TRANSMITTER CSRit *Unused bits set 2 Transmitter Ready*Transmitter not Ready)l J" Transmitter Interrupt Enabled&" Transmitter Interrupt not Enabled R *Unused bits setde *Maintenance bit setse *Unused bit sett  Break bit set0WORD1 TU58 COMMAND & STATUS CODE   Command Modifier = t#   Opcode = #ReservedNo Op InitializeReadWriteDReservedPositionReservedDiagnose Get Status Set Statuse( e 0WORD2 SUCCESS CODE & UNIT FIELDi*F HF Unit Selected = Is#*Illegal Unit e# (#M 0.1.r( ty  Success Code = I# 0WORD3TU58 BYTE COUNT FIELDIti 42  Actual Transfered byte count = R#*(#o re2rr88$"erb E"Uec6oratal Controller Error( r te *Unused bit setn$`  DE Normal SuccesssSuccess with RetriesFailed Self-testPartial Oper (end of medium) Hard Read ErroreBad Unit Number No CartridgeWrite ProtectedrData Check ErrorrSeek Error (block not found)uMotor StoppedmSBad Opcode#Bad Record NumberD# TO&2. (Unknown Value e#u(&=  (O) #  #"n LS#"KWith Increased ThresholdiOAnd Read VerifyTU None Issuedr None Issuedr\TU58MXN/A8 Tv #ReservedNo OpT InitializeReadWriteDReservedPositionReservedDiagnose Get Status Set Status( _t#A(#AlN/Ae hN/AedN/Aee`???e0PN/Aep & #/ _p# N P#p " |p   t #ppNo Error FoundA 6 #x$!1FCValue!25FCInterpretation!FLe|L!2FL!1FC!DP!25FC!DP!2FLa.y#!25FC!DP!75FC!DP!CE! !25FC!DP!CEd(@Q 8'4g7T!n"~""ƙ""(ʹ"0 "H "( """`#"#"("X%("+a"Lc"Ps"Vu"g~"64"s<7$g7$>7$G7$R7$[6(QrETU77M01.00V0-1USXlDENSITY DEVICE_OPDISPC FORMAT_TYPEFUNCTIONBINTERMOD_DEVERR REGISTER_  REPORTVAR< DEVICE_ENTRYU*r #`0MTCS1tn *Special Condition setcc*TqSransfer Errori w &$*MASSBUS Control Bus Parity Err  *Unused bit setlnd . Drive Available*Drive not Available U R($ Unibus B Selected for Data Transfer($ Unibus A Selected for Data Transferk .,  BA17,BA16 = eE#0, (!  (B) M &  Drive Ready Drive not Ready 2 Interrupt Enabled Interrupt not Enabled    Function = tl#e   *Go bit on0hMTWC  <: Word Count = EW#h (Ce(#h  words remaining 0MTBA  Bus Address Registerd0DMTFC/A8 ., Frame Count = gp#Dza(#W 0MTCS2Re  *Data Latet  *Write Check Error# *Unibus Parity ErrorN/ *Nonexistent DriveP *Nonexistent Memoryr# *Programing ErrorrP# *Missed Transfer $"*MASSBUS Data Bus Parity Error F J&" Output Ready (silo contains data)" Output not Ready (silo empty)!1 B  Input Ready (silo not full)  Input not Ready (silo full)MI  Controller Clear(bi  Parity Test onans $"*Bus Address Increment Inhibitns $" Drive Selected = r#m .D 0(MTDS $" Slave-transport Attention ontet,*Combined Error sett  Position in ProgressnOR * Medium Online*Medium not Online  Write Protected  End of Tape detectedn# *Unused bit settia * Drive Present*Drive not Presented . Formatter Ready Formatter not ReadyW 0.* Slave Status Change (transport interrupt) I08 Formatter in PE Mode( Formatter in NRZI Moder S   Slowing Down  &$O#0 PE ID Burst detecteddD(   Tape Mark detectedeyt   Begining of Tape detected8 (&! Selected Transport Coming Onlinen 0@MTER 20s#0*Correctable Data Eventi *CRC ErrorD( $"*Unsafe (not online or AC low) w *Operation Incompleterlf *Drive Timing Errortpe uS*Nonexecutable FunctionAor 42#0*Correctable Skewn*Illegal Tape MarkC(ri *Frame Count Error P *Nonstandard Gapat (&E#0 *Format ErrorG *LRC Error((ck @>n#0*Incorrectable Data Errorr*Vertical Parity Error( *Data Bus Parity Error  *Format Errori  *Control Bus Parity Errorr $"*Register Modification Refusedn  *Illegal Register Addressfre *Illegal Function 0MTAS *Unused bits setss  Formatter #7 Attentions #  Formatter #6 AttentionsRe  Formatter #5 Attentionsse  Formatter #4 Attentionsat  Formatter #3 AttentionsAe  Formatter #2 Attentions?e  Formatter #1 Attentions#  Formatter #0 Attentions0MTCK *Unused bits set@>#0*Dead Track = Pt CRC Parity = o#1D0 ( (!D 86#0  CRC word = tE#0C!(&  (O) (  #0*Dead Track = 8tI(ga  o#0*Dead Track = 7t(   #0*Dead Track = 6t(  #0*Dead Track = 5to(P  #0*Dead Track = 4t(   #0*Dead Track = 3t (ti  #0*Dead Track = 2tm(at  #0*Dead Track = 1t(0$MTDBode  Data Buffer contentsC0HMTMR  PNR#L Maintenance Mode Data Field = #H av(&s  (O) e(,  " )#L Tape Speed Clock o(rd " e#L Maintenance Clockd( S HFh#L Maintenance Mode Op-code = #H(# W(e L4 Maintenance Mode on Maintenance Mode offc04MTDTe & *Drive is Sector AddressableR .($*TAP reset (signal is hardwired set)ip *($*MOH set (signal is hardwired reset) T (&!*7CH set (signal hardwired reset)end > DRQ on (dual port unit)  DRQ off (single port unit)r * Slave Present Slave not Present < Transport Type = # ss86 FormatteryS = TM03 Formatter = TM020PMTSND  64 Drive Serial Number = n#P( D  (BCD)i 0TMTTC : Acceleration bit set= Tape Activity RD/WR Datat2 F  Frame Count Register Loaded$  Frame Count Register not Loaded `:8d#8 Slave Address Change  Tape Control Writeyo( V*% Abort on Data Transfer Error enabled *& Abort on Data Transfer Error disabled X  Density Selected = #? | \  Format Selected = #h  T* #0 Even Parity used for RD/WR ((h#0 Odd Parity used for RD/WR( T d  Slave Selected = a# 0 il#P.$S$0MTBAE  *Unused bits set (& BA21 - BA16 = tR#0 (! 0MTCS3 *Address Parity Errorr " *Data Parity Error, Odd Word, $"*Data Parity Error, Even Word ( " *Write Check Error, Odd Word $"*Write Check Error, Even Word   Double Word Transferedn *Unused bits set"f 2 Interrupt Enabled Interrupt not EnabledA# *Unused bits set  >< Inverse Parity Check Bits = e# 0r(!  (B) LC(F!.."FCD2F"#!25FC!DP!75FC!DP!CE! !25FC!DP!CEt(tatus Ime~t$d40eNo OpRewind Off-lineRewindDrive ClearvRead-in Preset Erase Write Tape MarkT Space ForwardS Space ReversevWrite Check ForwardFWrite Check ReversetWrite ForwardaRead ForwardRead Reverseaa*t$ (P08<800 BPI/NRZI1600 BPI/PE*Reserved*Reserved*Reservedd$~0vrk zPDP-10 Core DumpPDP-15 Core DumpPDP-10 Compatible PDP-11 Normal PDP-11 Core DumpPDP-15 Normal*Reserved Format*8#X &* #<*Illegal Densitydv#\ &d sB#zR*Illegal Formaty #P }S g ( a~#  &~ C#*Invalid functionm#dD(" ???vN/AvN/AvN/AvtN/Av"s ((  (  # 0# d#,/*"(     J"nH@@@@@@ @ @ @@ @ @@@@@ e o#No error bit found d#LI.)!5FCName!13FCValue!25FCInterpretation!2FL#z#~@Q 8'4g7T!n"~""ƙ""(ʹ"0 "H "( """`#"#"("X%("+a"Lc"Ps"Vu"gu"o~"64"s<7$g7$>7$G7$R7$[6,(P$rEUNKWN01.00RV0-1USXvDISPCBINTERMOD_DEVERR REGISTERVVAR DEVICE_ENTRYnte|p| I8P#6 0RMer  0XN/AtTN/AtN/A`???alN/AehN/AdN/AfPN/AtpN/A\ *Unknownn pt#xghc!54FC1111110000000000!FL!5FCOffset:!17FCWord :!32FCHighbyte:!44FCLowbyte:!54FC5432109876543210:!FL:nLG!5FC------!17FC------!32FC--------!44FC-------!54FC----------------!2FLb  | ca&|n`o#2(##c(% #ea(%r#*(% #0 (!0+!5FC!DP!17FC!DP!32FC!DP!44FC!DP!54FC!DP!2FL- |r<8 This entry is printed for any of the following reasons:<7 1. The entry's device mnemonic is unknown to the: error log subsystem.<7 2. The device mnemonic indicates a MASSBUS device, but:<7 the Drive_Type_Register does not contain a Svalid: MASSBUS ID.T<7 3. The required device module is not present in the:  library.<7 4. The entry is a CPU or memory related error but the:83 CPU type is unknown to the error log subsystem. PK!3FLNOTES:!2FL!DP!2FL!DP!FL!DP!2FL!DP!FL!DP!FL!DP!2FL!DP!FL!DP!2FL!DP!FL!DPD@Q 8'4g7T!n"~""ƙ""(ʹ"0 "H "( """`#"#"("X%("+a"Lc"Ps"Vu"gu"o~"64"s<"fH~7$g7$>7$G7$R7$[(HqFINLM1M01.00V0-1X_1bDEVICES ERROR NOTE_NUMBERSI PACKET_RANGECREPORTR TITLExFINAL_1: fRz:(zREPORT(PSzINPUTT (P#z USER(P~X8D*@Q 8'4g7T!n"~""ƙ""(ʹ"0 "H "( """`#"#"("X%("+a"Lc"Ps"Vu"gu"o~"64"s<"fH~7$g7$>7$G7$R7$[&'MS6(aJqFM1NM1M01.00V0-1USDDISPC&HEADERo INTERMOD_DEVERR  MAPPING_CONVFREPORTSUBCODEOUTPUT_PACKETSUzo$S /016-Bit618-BitB22-BitP6P#5#HD(##6# #vU(D (D#v1 )1 (#\((NI!1FP!5FCEntry !7DP!20FCSequence !9DP!40FC!6DP!FL!5FC!18DP!DP!2FS!20DP!3FL2zL#LT RSX-11MC#T$K#X*?0#X01("E(#CPAR#P(#System Identification:!1FL------ ---------------!2FL!5FCSystem!19FCIdent!26FCProcessor!37FCMapping!46FCCPU!51FCFormat!2FL!5FC!12DP!19FC!4DP!26FCPDP-11/!2DP!37FC!6DP!46FC!3DP!51FC!2DP!3FL@Q 8'4g7T!n"~""ƙ""(ʹ"0 "H "( """`#"#"("X%("+a"Lc"Ps"Vu"gu"o~"64"s<"fH~7$g7$>7$G7$R7$[&'M'Y,(QMqFM1WM1M01.00V0-1ry DISPC&HEADERP INTERMOD_DEVERR  MAPPING_CONVFREPORTSUBCODEOUTPUT_PACKETSzT$LE 016-Biti18-Biti22-BitiPP##H(##6# #vv(D ( #vv )) 1(#\((LG!1FP!5FCEntry !7DP!20FCSequence !9DP!40FC!6DP!48FC!18DP!DP!2FS!20DP!3FLtFz#LT RSX-11MCM#T$T#X*?#X01("(#SCPAA#P(#System Identification:!1FL------ ---------------!2FL!5FCSystem!19FCIdent!26FCProcessor!37FCMapping!46FCCPU!51FCFormat!2FL!5FC!12DP!19FC!4DP!26FCPDP-11/!2DP!37FC!6DP!46FC!3DP!51FC!2DP!3FL@Q 8'4g7T!n"~""ƙ""(ʹ"0 "H "( """`#"#"("X%("+a"Lc"Ps"Vu"gu"o~"64"s<"fH~7$g7$>7$G7$R7$[&'M'Y'瑇*(PqFM2CM1M01.00V0-1ry <HEADERS(TASKPrOUTPUT_PACKETSG` I#8TP #TN#X0sD(&#\0s(&D#`0sU(& #PB('&#L PrivilegedNon-privilegedP(&S#H PrivilegedNon-privileged(Requesting Task:!1FL---------- -----!2FL!5FCTI:!13FCUIC!24FCTask Name!35FCTask Privilege!51FCTerminal Privilege!2FL!5FC!2DP!3DP:!13FC[!3DP,!3DP]!24FC!6DP!35FC!14DP!51FC!14DP!3FL3@Q 8'4g7T!n"~""ƙ""(ʹ"0 "H "( """`#"#"("X%("+a"Lc"Ps"Vu"gu"o~"64"s<"fH~7$g7$>7$G7$R7$[&'M'Y'瑇'S(RqFM3NM1M01.00V0-1Tas~8 DEVICE_ID DISP_HEADER_"INTERMOD_DEVERR POUTPUT_PACKETSu> i #21x-#n #*5!(T#1 U#^2(D T#^ (l#J 1#:e(Al#Ve(&L#>C#RP(&N/AlD(Device Identification Information:!1FL------ -------------- ------------!2FL!5FCDevice!13FCType!27FCVolume Label!41FCController!53FCUnit!59FCSubunit!2FL!5FC!6DP!13FC!12DP!27FC!12DP!41FC!2DP !DP!53FC!3DP!59FC!3DP!2FLCeT"C#NoN/Aia#N 6( P(C#t#FC(#!#BP(#P#Z2(#|!5FCPack SN!19FCDrive SN!33FCI/O Count!44FCHard Errors!57FCSoft Errors!2FL!5FC!12DP!19FC!12DP!33FC!9DP!44FC!4DP!57FC!4DP!3FL@Q 8'4g7T!n"~""ƙ""(ʹ"0 "H "( """`#"#"("X%("+a"Lc"Ps"Vu"gu"o~"64"s<"fH~7$g7$>7$G7$R7$[&'M'Y'瑇''Y|(|UqFM3WM1M01.00V0-1tif~8 DEVICE_ID DISP_HEADER_"INTERMOD_DEVERR NOUTPUT_PACKETST< #0Device Identification Information:!1FL------ -------------- ------------!2FL!5FCDevice!13FCType!27FCVolume Label!41FCController!53FCUnit!59FCSubunit!68FCPack SN!82FCDrive SN!96FCI/O Count!107FCHard Errors!120FCSoft Errors!2FL!L1#nt#*eF(i#9 u#^i(D C#^D(C#J !#:C(SA!#V!(&9#>3#R(&N/AlN("o#NaN/Al6#N ( (F#C#FB(#P#BZ(#2#Z!(#tp!5FC!6DP!13FC!12DP!27FC!12DP!41FC!2DP !DP!53FC!3DP!59FC!3DP!68FC!12DP!82FC!12DP!96FC!9DP!107FC!4DP!120FC!4DP!3FL@ Q 8'4g7T!n"~""ƙ""(ʹ"0 "H "( """`#"#"("X%("+a"Lc"Ps"Vu"gu"o~"64"s<"fH~7$g7$>7$G7$R7$[&'M'Y'瑇''Y'瑏z (PWqFM4NM1M01.00V0-1tif DEVICE_ID` DEVICE_OP &FUNCTION_CODES0HEADERRESOLVETEMP3OUTPUT_PACKETSla&l>  "o#aN/Al6#N ( (F##8B( *  9F!FC9IO.WLBPIO.WLTPIO.WLC IO.WPB@IO.WLV4`IO.WDDIO.RLBIO.LOVUIO.RLC IO.RPB1@IO.RLVUIO.RWDIO.TRMIO.SPB IO.SPFX@IO.STCHIO.SMDPIO.SEC`IO.RWUpIO.SMOIO.EOF1IO.ERS IO.DSEIO.RVBLIO.WVBB8L1 *  TEUEDUIO.INLDUIO.RPL M4#6U5#Z4(@#77#0 M&4# M#0LM#/#S0#: M& #TJ##n ! IQ.X(N D#f ! IQ.Qd( >#j  ! IQ.UMD( * #Z0.(& S#vi#z0.(&#~0.(&`#0.2(& #rT('t#V#R#N&##(B(&##(B(&(#U#(BU(&T(N/AD( #Vd#f(#N/A(I/O Operation Identification:!1FL--- --------- ---------------!2FL!5FCTI:!13FCUIC!24FCTask Name!35FCAddress!48FCLength!2FL!5FC!2DP!3DP:!13FC[!3DP,!3DP]!24FC!6DP!35FC!9DP!48FC!6DP!2FLS$_#^:(# #bS(##\X!5FCMaximum Retries!22FCRetries Remaining!41FCOperation!2FL!5FC!6DP!22FC!6DP!41FC!DP!3FL@ Q 8'4g7T!n"~""ƙ""(ʹ"0 "H "( """`#"#"("X%("+a"Lc"Ps"Vu"gu"o~"64"s<"fH~7$g7$>7$G7$R7$[&'M'Y'瑇''Y'瑏'YX(1]qFM4WM1M01.00V0-1I/O DEVICE_ID` DEVICE_OP &FUNCTION_CODES!HEADER!RESOLVETEMP!OUTPUT_PACKETST_&  "atICat UIC_GROUPat UIC_MEMBERt0T8PE *  &>IO.WLBIO.WLTIO.WLC# IO.WPB@IO.WLV `IO.WDD IO.RLBFIO.LOVCIO.RLC. IO.RPB.@SIO.RLV.IO.RWD.IO.TRM.IO.SPB. IO.SPF.@IO.STC.HIO.SMD.PIO.SEC.`IO.RWU.pIO.SMO.IO.EOF.IO.ERS. IO.DSE.IO.RVB.IO.WVB.MP8O. *  81DUIO.INLDUIO.RPL I#0R#Z(@4## &# #L0###: & #J##n ! IQ.Xn( #f ! IQ.Qf( #j  ! IQ.UMD ( M* #Z0.*(&Z I/O Operation Identification:!1FL--- --------- ---------------!2FL!5FCTI:!13FCUIC!24FCTask Name!35FCAddress!48FCLength!56FCMaximum Retries!73FCRetries Remaining!92FCOperation!2FLT#vN#z0pV(&#~0pA(&#0pa(&I#rc('t:#VL#R #N-#-#-(BF(&F#F#F(Ba(&3(A#4#t(BF(&D(N/AF(P#VD#!(#N/A9(F#^F(#$#b(###ZV!5FC!2DP!3DP:!13FC[!3DP,!3DP]!24FC!6DP!35FC!9DP!48FC!6DP!56FC!6DP!73FC!6DP!92FC!DP!3FL@Q 8'4g7T!n"~""ƙ""(ʹ"0 "H "( """`#"#"("X%("+a"Lc"Ps"Vu"gu"o~"64"s<"fH~7$g7$>7$G7$R7$[&'M'Y'瑇''Y'瑏'Y'瑗Sj>(IqINITM1M01.00V0-19DP\ INIT_TEMP2REPORT TITLEINIT_1SUBPKTEPi* &rr"C: >DUILLFORMRMSCP format code !AC is undefinedNODACSPRTRNo IO_ACTIVITY support, packe l!2FL!5FC!DF!13FC!DP! #h:Z.RSX-11M/M-Plus Error Logging System Version o(  1g E(W(*  Page P:5!7DP!10FC!20DP!32FC!18DP!52FC!6DP!60FC!30DP!92FC!39DP!gp!25FC!DP!75FC!DP!CE!T FM1WM1OX FM2CM1o\ FM3WM1 ` FM4WM1:P,RSX-11M/M-Plus Error Logging System Version W(V  Si e(e(*i  Page1u nP<8!7DP!10FC!20DP!32FC!18DP!52FC!6DP!FL!10FC!30DP!42FC!39DPp !25FC!DP!CE0 T FM1NM1CX FM2CM1\ FM3NM1` FM4NM1tE#:Wt M t#dBRIEF1n NN#h(t~z Entry Time Stamp Entry Type Device Error Type Additional Informationt------- -------------------- ------------------ ------ ------------------------------ ---------------------------------------a>( t>9 Entry Time Stamp Entry Type Device St>9------- -------------------- ------------------ ------ >(@Q 8'4g7T!n"~""ƙ""(ʹ"0 "H "( """`#"#"("X%("+a"Lc"Ps"Vu"gu"o~"64"s<"fH~7$g7$>7$G7$R7$[&'M'Y'瑇''Y'瑏'Y'瑗y:'S6 (|'rMSCPATM01.00V0-1USXBCONN_IDDISP_fEPACKET BINTERMOD_DEVERR  MEDIA_TYPEMSG_TYPOP_CODEREPORTT"VARj DEVICE_ENTRY!X NPn6$$ #L0 ^MSGFD1#MESSAGE ENVELOPE FIELD ~  Connection I.D. = E#R N/  Message Type = #^t !5    Credits = pF#:(#F gh (& Message length = #bL  words- 0 MSGFD2FFIELD RESERVED0MSGFD3UNIT NUMBER FIELD  $" Unit number = L#(#a 0MSGFD4#FIELD RESERVED 0MSGFD5!ENCODED OPCODE FIELD   Atncode = On#ff 0MSGFD6 FIELD RESERVED0MSGFD7hFIELD RESERVED s t#@I 0MSGFD8 MULTIUNIT CODE FIELD_T 86# Access path (shared controller) = M#I(#< ir (& Spindle (shared) = t#e(# 0MSGFD9yUNIT FLAGS FIELDla \.) Cntrlr will Perform Bad Block ReplacmentD,' Host Must Perform Bad Block Replacmentn2F < Inactive shadow Set Unito Active Shadow Set UnitiAt   Hardware Write Protectedote   Software Write Protectedonu $" Suppress Caching (high speed)Tr $" Suppress Caching (low speed)) *Unused bits setor  Removable Media (   Write-back (nonvolatile)e= *Unused bits setTr  576 Byte Sectorso  Compare Writesr  Compare Reads0 bMSGFD10FIELD UNDEFINEDrTrcfMSGFD11,* Unit I.D. (S/N) = aa#f=()  (X) 0jMSGFD12UNIT MODEL FIELD fd  Model = L #j*Illegal Model Numberi *Reserveda RA80D RZ01  RZF01 RA60 RA81( 0nMSGFD13UNIT CLASS FIELDd HF  Class = S #nC  Disk Subsytem*Illegal Class NumberRa(e S0 rMSGFD14MEDIA TYPE ID FIELDl  Media type = e#Zc  v z HtV AzzH"R b."(RAP""et(^gn>"s aZwi\"se)f x stVsignal is hardwired reset) T (&!*7CH set (signal hardwired reset)end > DRQ on (dual port unit)  DRQ off (i*e$orZ 8 < MSCP Disk  MSCP Tape  Diagnostic Utility ProtocalM2 $x BC) Sequential MessageA Datagram Message  Credit Notification Message Maintenance Messaged F$meZ . Ca2@Available AttentionADuplicate Unit Num AttentionsBAccess Path Attentiono Pd%RA80e RZ01e RZF01c<"RA60&Reserved Media TypeeWb#d(#r*8 #~ /&* &R Illegal value t#~a(# iRP#< # 0& T&^ Illegal Value t#(# ^# 2 -#@ pV!#v#zZ T#VJZD*Unknown Type y#v0o(& ,a a#z0oo(&O (O),  .a# yr& ,.nf( Unknown Code r#c(&r (O)nd df #2N/AneN/AnvN/An N/Anu???naN/An N/AnuN/Ant"#(#Ir#fE ae#I$!1FCValue!25FCInterpretation!FLniPL!2FL!1FC!DP!25FC!DP!2FLa.y#D!25FC!DP!75FC!DP!CE! !25FC!DP!CEm(@7$G7$R7$[&'M'Y'瑇''Y'瑏'Y'瑗y:';T0MSGFD13MULTIUNIT CODE FIELD  Access Path = F# #   Shared Spindle = N# @/MSGFD14*(Unit I.D. (S/N) = (#(()  (X) F0MSGFD15UNIT MODEL FIELD* fd  Model = L#*Illegal Model Numbero *ReservedR RA80M RZ01r RZF01 RA60 RA81 ( G0MSGFD16UNIT CLASS FIELDor   Class = S#*Illegal subsystem numberR *ReservedR Mass Storage Controllers Disk Class DevicesE Tape Class DevicesP (: H0MSGFD17(&"UNIT SOFTWARE VERSION NUMBER FIELD ., RA80 Firmware Version = Br#d(#& I0MSGFD18(&"UNIT HARDWARE VERSION NUMBER FIELDty ., RA80 Hardware Version = Bm#c(# J0MSGFD19*(#GROUP FIELD (RA80 = 2 grp/cylinder)eh#   Group = Le#D(# L0 MSGFD20 VOLUME SERIAL NUMBER FIELDP ,* Volume serial number = # *(#s P0 MSGFD21HEADER VALUE FIELD t &$  Header = #  (&S (O)a T0$MSGFD22 SDI SUPPLIED STATUS FIELDDWo $" Write Protected on Subunit #4or $" Write Protected on Subunit #3rd $" Write Protected on Subunit #2d  $" Write Protected on Subunit #1 ><7 Drive Offline to Hosts UDA50 error routine using driveDru   Format Operation Enabledts "  Diagnostic Cylinder EnabledCh 0 576 Sector Format 512 Sector Format r.   Drive Online & AvailablelC! *Unused bit set ta *Unused bit set 0 * Spindle Ready*Spindle not Readyf-   ESL bit sett *Unused bits set . Port Switch int*Port Switch not inite ( Run Switch on*Run Switch offtV0(MSGFD23 SDI SUPPLIED STATUS FIELDlri (&! Suppress Attention on Subunit #4ed  (&! Suppress Attention on Subunit #3e (&! Suppress Attention on Subunit #2erv (&! Suppress Attention on Subunit #1e0 ,"  Controller C flags = D#5 Co  *Drive Error (drive fault)rm *Transmition Error-1 *Level 2 Protocal Errorl *Unused bit seta# *Write Lock Error  *Unused bits set #U~X00MSGFD24RA80 STATUS BYTE 8~ 0. Seek & Recal retry count = n#0(# Y04MSGFD25RA80 STATUS BYTE 9t   Retried Op-code = # Z08MSGFD26RA80 STATUS BYTE 10  *Data Pulse Error1 *Unused bit seto  *Controller Pulse Errorn $"*Real Time Cntrlr Sta Lin P.E.it  *Read/Write Overrun Error me *Unused bits set[0@ MSGFD27_1RA80 STATUS BYTES 11Av 0.) Cyl Addr low byte, printed in next field5\0D MSGFD27_2RA80 STATUS BYTE 12# 86 Cylinder address = o#Da#@(B(# ]0HMSGFD28RA80 STATUS BYTE 13 le &$ Current Group = 1#H4(#4 ^0LMSGFD29RA80 STATUS BYTE 14 i *LED Error Code =1# _0TMSGFD30RA80 STATUS BYTE 15 D (&*Control Panel Fault Code =e# `00MSGFD24b04MSGFD25d08MSGFD26f0<MSGFD27 FD.*The last four words came from unit model # = #0l(# *$Z 8< MSCP Disko MSCP Tape Diagnostic Utility Protocal2F6t$prx DNH Sequential MessageC Datagram Message Credit Notification Message Maintenance Messaged l$al #Media Format ErrornData Error Host BufferS Error Controller Error/ Drive ErrorDiagnostic Error($   .!2FCT Read - EDC errorFCT Read - Invalid Sect HaderFCT Read - Data Sync TimeoutDisk Format Not 512 Byte SectDisk Not Formated/FCT CorruptFCT read - Uncorrectable ECCv$J  Valid Header Not Found Data Sync Not Found/TimeoutUncorrectable ECC ErrorOne Symbol ECC Error Two Symbol ECC Error Three Symbol ECC Error Four Symbol ECC Error Five Symbol ECC Error Six Symbol ECC ErrorSeven Symbol ECC ErrorEight Symbol ECC Error$Dp #Odd Transfer AddressOdd Byte CountENonexistent Memory ErrorHost Memory Parity Error@$Z XCIt\SERDES Overrun ErrorEDC ErrorInconsistent Data Structure$<  eSDI Commd timeout/Seek IncmplCntrlr Detected Protocal ErrPositioner Error(Mis_seek)Lost R/W RDY on/betwn x'sferDrive Clock DropoutLost Rcver RDY betwn SectorsDrive Detected ErrorCntrlr Detected State Prty Er`$0N n@rNormal OperationDuplicate Unit Number Duplicate Unit Identifier L$ Z^AbortAccessAvailableCompare Controller Data Compare Host Data Determine Access PathEraseFlushGet Command StatusGet Unit Status Online!ReadReplaceSet Contrlr. Characteristic Set Unit Characteristic"Write t$8  \SDI Port 0SDI Port 1SDI Port 2SDI Port 3$  Spindle Transducer TimeoutSpinup errorSSpindle not AcceleratingToo long to spin up to speed SIP set or GRANT not setMicrocode FaultLvl 2 Msge Frame Sequence errLvl 2 Msge Checksum error SDI Message framing error Wrong Level 2 OP Code party Invalid Level 2 OP Code Invalid Level 2 Commnd Length Commnd with Status Byte Not 0Incorrect Group Select code Write Lock ErrorWrong Slope Entering Detent`PLO error during Seek/RecalNo Fine Track Found on DetentServo Check ErrorSeek/Recal time Too Long Guard Band Detect on SeekDifference Counter UnderflowInvalid Cylinder Address Sector Overrun Error Cntrlr Realtim State Prty Err!Controller Pulse Error"Data Pulse Error#Spindle Motor Interlock Brken $Loss Of Servo PLO%Servo Error (SVOCHK Set)&Spindle Speed < 3420 RPM (5%)'HDA Over Temperature(Servo Board Over Temperature)Invalid Error Recovery Level*Invalid Subunit Specified +Invalid Region In Diag Commnd ,Seek/Recal Given,Not Spinning-Invalid Comm T.O. Value Given .Contrlr Flags Prohibit Spinup /RUN Comm While Switch in STOP0Write Current & No Write Gate1Read & Write 2Read/Write While Faulted3Data Separator/Encoder Fault4Write Precompensation Error5Write & Write Unsafe6Head Shorted7Write Gate & No Write Current58Read & Multi Chip Select9Write & Off Track:Write & Write Protect@Invalid Read/Write RegionAResponse Timed Out BSeek Isued When Drv Not Onlin,CRealtime Comm at R/W RDY offDFormat Comm at Fmt Enabl offEInvalid Hd Adrs in R.T. CommFR/W Safty Intrupt & No CAUSEGTT Bit Wrong In Disconct CommHInval Wr Mem Offset/Byte CntIInvalid Comm at Topology ModeJDrive Disabled By DD Bit|$ @ Spinup ErrorRd/Wr Diag Failure at SpinupRd/Wr UnsSafeSpindle Mtr Belt Interlk OpenSpindle Motor Speed ErrorDrive Disabled By DD BitHDA/Srvo Board Over TemptureMicro Code FaultSpinup Servo Diag FailedInitial Recal At Spinup Fail#$(#*8# &*& Illegal value #(# #<6D# &6& Illegal Value #(#4 =#H #l &z& Illegal value `#l(# #  B#l2. #h & 0#2 2v#h &v 8#  2l0#h p& #  2 @X#h &@ Ţ#\  2Z#h "& # N/Ae / / #6& Illegal Value #h0(#  6#\`nE#, &` D#r& ILLEGAL VALUE 0#,(#  #.w#L & No LED error code setS #|#T &|No fault code set #" # o o #\oo #()H#*Unknown *Reservede RA80  RZ01n RZF01 RA60 RA81s( L#xUDt# &t C#Unit or#|(# & #(##(#N/At`N/At #\/bLZ*#4 Z&L"#^@#2:Invalid FunctionInvalid Op_codenN/Aa \#\//qN/Aa//2 " @#PN/Aa#Pw(#N/AaN/AaN/AaN/AaN/Aa #/. & #  &| # #wF #\/4 @#/"888  #2 #s#* #&##( #n:hI#\Illegal formatControSller ErrorHost Memory Access ErrorDisk Transfer Errorr SDI Errore( #$!1FCValue!25FCInterpretation!FLrL!2FL!1FC!DP!25FC!DP!2FLa.#p!25FC!DP!75FC!DP!CE! !25FC!DP!CE(@0Q 8'4g7T!n"~""ƙ""(ʹ"0 "H "( """`#"#"("X%("+a"Lc"Ps"Vu"gu"o~"64"s<"fH~7$g7$>7$G7$R7$[&'M'Y'瑇''Y'瑏'Y'瑗y:';TMSGFD_4 RESERVED 0MSGFD5rENCODED OPCODE FIELDv   Op Code = O,#C AR   0MSGFD6U FLAGS FIELDOio  Bad Block ReportedD  Bad Block UnreportedeAR  Error Log Generated  Serious Exceptionn   ReservedE0MSGFD7STATUS CODE FIELDnES    *Subcode = N#M . *Major Status = &# ` S#MM@< O $ , "MSGFD8  *Do NothinguD0 "MSGFD8D" OUTSTANDING REFERENCE NUMBER) DB( The Status Field is for Command Ref. # n#" d(&  (O) 0 .MSGFD9COMMAND STATUS R 86 O#. (#A  Units Till Command CompletionU UU00 "MSGFD8=BYTE COUNT FIELDst 0. Actual Bytes Transfered = iC#" e(# 0 2MSGFD_1 RESERVED"0 6MSGFD_2 RESERVED&0 :MSGFD_3 RESERVED*0 .MSGFD9FIRST BAD BLOCK FIELDr& <: First Bad Block = L # #. (#N/Arw( //.0"MSGFD8MULTIUNIT CODE FIELDev & Access Path = Fn# et   * Shared Spindle = N#e 00.MSGFD9#UNIT FLAGS FIELD  \.) Cntrlr will Perform Bad Block Replacment ,' Host Must Perform Bad Block Replacmentn0 < Inactive shadow Set Unito Active Shadow Set Uniti    Hardware Write ProtectedoSG   Software Write ProtectedoN  $" Suppress Caching (high speed)ve $" Suppress Caching (low speed)) *Unused bits set  Removable Media    Write-back (nonvolatile)e *Unused bits set.D  576 Byte SectorsoF  Compare Writesr M  Compare Reads20 2MSGFD_1 RESSERVED6RMSGFD10*(Unit I.D. (S/N) = 1#()G  (X) <0MSGFD11UNIT MODEL FIELD# fd  Model = Le#*Illegal Model Numberi *Reserveda RA80  RZ01S RZF01 RA60f RA81aC(s =0MSGFD12UNIT CLASS FIELDVE   Class = S #*Illegal subsystem numberR *ReservedR Mass Storage Controllersf Disk Class Devicesr Tape Class Devices ,( >0 MSGFD13MEDIA TYPE FIELDFD  Media Type = e#h =  B0MSGFD14SHADOW UNIT FIELDme ZXu#r#& Controller Does Not Support Shadowing Shadow Unit = o# (#d r(D0MSGFD15SHADOW UNIT STATUS FIELDTA LJD##$ Field ReservedT%*Shadow Status Unknown to this moduleoc( b#FrF0 MSGFD16UNIT SIZE FIELDTri :8% Number of LBN's Available to Host = ol# H(#s J0 MSGFD17 VOLUME SERIAL NUMBER FIELDEn "  Volume S/N = o# l( e *N0MSGFD16TRACK SIZE FIELD 5 $"r# (#LBN's in a Trackn P0MSGFD17GROUP SIZE FIELDse &$#n(#Track's in a Group R0MSGFD18CYLINDER SIZE FIELDRse *(#n(#Group's in a CylinderFo T06MSGFD_2 RESERVEDV0MSGFD19RCT SIZE FIELDV *(# (#LBN's in the RCT TableE X0MSGFD20RBN SIZE FIELD $" #s(#RBN's in a Track Y0MSGFD21RCT COPIES FIELD  20u#A(#Redondant Copies of RCT Table  @< r l$a,Z "MSGFD8  *DO NOTHINGo) "mii E"-1 ""*Lv 2>"toaEr\" z"*Uud "sea " ri"oc roUUX00MSGFD24RA80 STATUS BYTE 8~ 0. Seek & Recal retry count = n#0(# Y04MSGFD25RA80 STATUS BYTE 9t   Retried Op-code = # Z08MSGFD26RA80 STAU*Y$ 1Z 8to< MSCP Disko MSCP Tapel DiagSnostic Utility Protocala/t$Ovx _1 Sequential Message Datagram Messagee Credit Notification MessageG Maintenance Message1 $88 Success Invalid CommandrCommand Aborted(Unit OfflineUnit Available Media Format ErrorCUnit Write ProtectedMCompare Error Data Errorn Host Buffer Errore Controller ErrorD Drive ErrorDiagnostic ErrorM|D$  = # Normal Spin-down ignored Still Connected*Duplicate Unit Number Already Online Still OnlinesBe.$D  Ze RVP.CRFCommand Reference NumberP.UNITUnit NumberoRSRVEDReservedP.OPCDOpcoder RSRVEDReserved P.MODModifiers P.BCNTByte CountP.BUFFBuffer Descriptor P.LBNLogical Block Numberrao.51$  4abe,0 RSVREDReservedFP.UNFLUnit FlagseRSVREDReservedP.DVPMDevice Dependent Parametersy P.SHUNShadow Unitl"P.CPSPCopy Speedro`.$  xve pt P.VRSNMSCP VersionP.CNTFController FlagsnP.HTMOHost TimeoutRSVREDReservedrP.TIMEQuadword Time and Date$  rUnit UnknownVolume Not MountedUnit is InoperativeDuplicate Unit NumberField Service disabled Unitrs$ee  FCT Read - EDC errorFCT Read - Invalid Sect HaderFCT Read - Data Sync TimeoutDisk Format Not 512 Byte SectDisk Not Formated/FCT CorruptFCT read - Uncorrectable ECCie$niS @ Write Protected by SoftwareWrite Protected by Hardware`$J r DvValid Header Not Found Data Sync Not Found/TimeoutUncorrectable ECC ErrorOne Symbol ECC Error Two Symbol ECC Error Three Symbol ECC Error Four Symbol ECC Error Five Symbol ECC Error Six Symbol ECC ErrorSeven Symbol ECC ErrorEight Symbol ECC Error^$8p pt tOdd Transfer AddressOdd Byte CountdNonexistent Memory ErrorSHost Memory Parity Error@i$leZ X o \SERDES Overrun ErrorEDC ErrorInconsistent Data Structuregh$ks   2OSDI Commd timeout/Seek IncmplCntrlr Detected Protocal ErrPositioner Error(Mis_seek)Lost R/W RDY on/betwn x'sferDrive Clock DropoutLost Rcver RDY betwn SectorsDrive Detected ErrorCntrlr Detected State Prty Erd $te8  L n\SDI Port 0BSDI Port 1 SDI Port 2fSDI Port 3e 8e$lo FJSerious ExceptionyAbortAccessAvailablerCompare Controller DataOCompare Host DataVDetermine Access PathdEraseeFlushaGet Command StatusdGet Unit StatuslOnlinevReadSReplaceSet Contrlr. CharacteristicnSet Unit CharacteristicnWrite TPd%RA80e RZ01e RZF01r<"RA60&Reserved Media Typetir#5 (#i*8e# &*e&h Illegal value #t(#a  r#<C8# l&C&S Illegal Value #c(# #it# e&4.Unknown major status value se#T(#d S #sDO Ri#2 |# aC&|  E# f: sR#uBZC# T&B r g#Z c m#aF Replacement Block NumberC Invalid Comm at Offset P.RBNL  Outstanding reference number"Invalid Comm at Offset P.OTRFi2#VR"Invalid Comm Offset at P#RW nnN4p# M &2nk#0n"Invalid Comm Offset at P#, nN `xt# D&`2 d#tr"Invalid Comm Offset at P#p NBZp# a&B2e#VI"Invalid Comm Offset at P#R   # nnnn*Subcode field not used uu< # &&l# e# uu<# &#g# uuu<# &## uu<`rh# &`2#v# u u<^pv# 8&^#t # u u<@X# &@ #\ X# u u<## &## # uuN/Ac/ //  #& Illegal value #l(#l  ###6\p#E# # JD*Unknown Type G#0o,(& , #0o.(& (O) 8F# &8 .e( Unknown Code # |(& (O)n #J 6#OO( #()H#*Unknown *Reserveds RA80R RZ01t RZF01 RA60d RA81o)( #UUDe0#& 0& 1A#RUnit o#*(# <Port o#&(# Subunit #*&(# &##&(###*(#N/AuN/AuA#\#b(#N/AuN/AuN/AuN/AuN/Au n#( I#l#O d#  ## #S$!1FCValue!25FCInterpretation!FLRL!2FL!1FC!DP!25FC!DP!2FLa.##\!25FC!DP!75FC!DP!CE! !25FC!DP!CE0(@Q 8 '4g7T!n"~""ƙ""(ʹ"0 "H "( """`#"#"("X%("+a"Lc"Ps"Vu"gu"o~"64"s<"fH~7$g7$>7$G7$R7$[&'M'Y'瑇''Y'瑏'Y'瑗y:';T"K IFDrB" Bob =F fH RJ  NN"ev^&l j et   * Shared Spindle = N#e 00.MSGFD9#UNIT FLAGS FIELD  \.) Cntrl N #La(boje#L,(cHP Must00e#L > n#N ,0 ^MSGFD1tMESSAGE ENVELOPE FIELDWr b  Connection I.D. = Ea#JW N n Message Type = (#Vh " f   Credits = p #f(# bi j(& Message length = l#Ze  words 0 MSGFD_1RESERVED - MBZ0 MSGFD_2RESERVED - MBZ 0 rMSGFD2PORT DECSTATED VALUEEM  Last fail indicateritIvMSGFD3 20 Controller I.D. (S/N) = S#v1() (X)n 0MSGFD4=CONTROLLER MODEL FIELD VT  Model = R#*Illegal model numberD *Reserved HSC50 UDA50 AZTEC ( 0MSGFD5sCONTROLLER CLASS FIELDe   Class = Ra#*Illegal subsystem numberR *ReservedH Mass Storage Controllers Disk Class Devicesr Tape Class Devices ( 0MSGFD6.,(CONTROLLER SOFTWARE VERSION NUMBER FIELDol ., UDA50 firmware version = d# (# 0MSGFD7G.,(CONTROLLER HARDWARE VERSION NUMBER FIELD ., UDA50 hardware version = a#n(# 0MSGFD8ERROR CODE FIELD16  Port Error = #^: j0 ^MSGFD1sMESSAGE ENVELOPE FIELD j(& Message length = V#ZM  wordsN MB b  Connection I.D. = E=#J  n Message Type = #V TR f   Credits = pr#f (# 0rMSGFD2 &$INITIALIZATION/POLLING REGISTERBLD  Contents meaninglessGR a r#jB"0vMSGFD3$"STATUS/ADDRESS/PURGE REGISTERE  *Fatal Errorin .,' Fatal error occured during INIT step 4iSG .,' Fatal error occured during INIT step 3iN' .,' Fatal error occured during INIT step 2iZE .,' Fatal error occured during INIT step 1i21  ~ Port Error = #^0  A#j a|$0vMSGFD3 SA REGISTER   *Fatal Error ,*% Controller Initialized and Connectede-1 Cz&0vMSGFD3  SA REGISTER "  *Fatal Error"    In Initialization step 1nM >  No Settable Vector Address  Vector Address settablet  @  22 Bit Addressing supported No 22 Bit Address support d2. Diag Support for Wraparound, Purge, Poll Test0, No Support for Wraparound, Purge, Poll Testk   ReservedrRr(0vMSGFD3l SA REGISTER ty  *Fatal Errorx    In Initialization step 2dS  DB  Port Type = an#ReservedUB/QB Storage System Port($ 8 $" Ignor Purge Complete Response  Enter Wraparound Modeed z&$ Command Ring = #F  Slotsl ed (& Response Ring = e#bo  Slots S&*0vMSGFD3  SA REGISTERi H  *Fatal Error C Er   In Initialization Step 3pia ro   Reserveda 0.) Intrpt Request at compl of Init Step 1-3 i VT# Intrpt vector = te#(& 00 (O)l  No Intrpt From Port Allowede(N,0vMSGFD3i SA REGISTERF  *Fatal Error   In Initialization step 4wom en   Reserveda *( Cntrlr ucode vers = e#(# f.0vMSGFD3 SA REGISTERd R  *Fatal Error " *UDA50 Port Hardware failure*$ PZ 8ptr< MSCP Diskk MSCP Tape Diagnostic Utility ProtocalV$DRx   Sequential Message Datagram Messaged Credit Notification Message  Maintenance MessageCpp$d  "&*Reserved Error Code*Party/TO on Envlop/Packet Rd*Party/TO on Envlop/Packet Wr*Cntrlr ROM/RAM parity error*Controller RAM parrty error*Controller ROM parrty error*Party/TO on Ring Read*Party/TO on Ring Write*Interrupt master error *Host Access Time Out *Credit Limit EXCEEDED *Device Fatal Hardware error * Cntrlr Fatal Hardware err *Instruction Loop Time Out*Invalid Connection I.D.*Interrupt Write Error*Maint R/W Invalid Region I.D.*Maint Wr to Nonloadble cntrlr*Cntrlr RAM Error (Non Parity)*INIT Sequence Error*Hi-level Protocal Incompatble*Purge/Poll hardware failureZ#j(#*8#b a&* &FJ Illegal value c#bu(#T uJU#<rE#n o&& V Illegal Value #no(#m EVSr#  #N eLb"r#  & S^l#&&r^ No code match found in table S#j CRS#z f C r#Rif o#fCRrF#f$(#R# f t#RTff s#fRdbt#f(# R e s#vmDE"H#~ my&r&E^ No code match found in table  ^DN/AcEN/AcN/AcN/AcN/AcoN/ActN/AcN/AcN/Ac 2#N mJ io& km#^4n.Last Fail Error #P(#t  Unknown( sk#vLs&/ Yb#& 'ne#v CDo#v Ls #v eetr#v De r#v tl&t UDA50 Port Hardware Failuree #L Time OutB S #$!1FCValue!25FCInterpretation!FLePL!2FL!1FC!DP!25FC!DP!2FLa.t#8!25FC!DP!75FC!DP!CE! !25FC!DP!CEe(@Q 8'4g7T!n"~""ƙ""(ʹ"0 "H "( """`#"#"("X%("+a"Lc"Ps"Vu"gu"o~"64"s<"fH~7$g7$>7$G7$R7$[&'M'Y'瑇''Y'瑏'Y'瑗y:';T7$G7$R7$[&'M'Y'瑇''Y'瑏'Y'瑗y:';T7$G7$R7$[&'M'Y'瑇''Y'瑏'Y'瑗y:';T7$G7$R7$[&'M'Y'瑇''Y'瑏'Y'瑗y:';T7$G7$R7$[&'M'Y'瑇''Y'瑏'Y'瑗y:';T #z#|2#|( ##|#) " # SYNTAXERR)P#|/R(  #&USERLB:[1,6]ERRDEFINE.CFS(T USER(UUSER ( USERx(Q )#!l(x#,''S(T##! #|# ('E(R#Tx#USER( USERT(PR#|"## /()( #$# #u!D ##S(A R| #|#e##!  PARSEM NEXT_SWITCH, PARSEM CHECK_SWITCH #t$(D TOOFEWARGT:#x  #t(D` PARSEM NEXT_ARGUMENT] *#*@#T &&*O#D E(T# T #T &W# E(T#  NOREMATCHMA#T PARSEM NEXT_SECTION|># NEXT_FILE  #\(W)d`%hdg>#\,=()[]P(  #d INTERR001)2N`#\O# A #`G dBDd#`( S R#dV ILLFILSPC)R#`d TU##\(R*Nh #\#RT\I#\R# (hD\H#N#d!L! S#R"|S#|A#`A#d T# `#`#dT S@Q 8'4g7T!n"~""ƙ""(ʹ"0 "H "( """`#"#"("X%("+a"Lc"Ps"Vu"gu"o~"64"s<"fH~7$g7$>7$G7$R7$[&'M'Y'瑇''Y'瑏'Y'瑗y:';TH PRS2AM PASS_2AW #> PRS2BM PASS_2BW D#:#6 J  PARSECLSTT#:  PARSECTONT #6 INTERR001T1N@Q 8'4g7T!n"~""ƙ""(ʹ"0 "H "( """`#"#"("X%("+a"Lc"Ps"Vu"gu"o~"64"s<"fH~7$g7$>7$G7$R7$[&'M'Y'瑇''Y'瑏'Y'瑗y:';T  FILERRCODE (R0I(& OPNINPFILRE#lNp8REPORT #p#pSY0:ERRREPORT.LSTSY0: ((T RREPORT(U>  FILERRCOD.(R0I'(& OPNREPFILR#p@Q 8 '4g7T!n"~""ƙ""(ʹ"0 "H "( """`#"#"("X%("+a"Lc"Ps"Vu"gu"o~"64"s<"fH~7$g7$>7$G7$R7$[&'M'Y'瑇''Y'瑏'Y'瑗y:';TDUILLFORMRMSCP format code !AC is undefinedNODACSPRTRNo IO_ACTIVITY support, packe l!2FL!5FC!DF!13FC!DP! #h:Z.RSX-11M/M-Plus Error LogSging System Version o(  1g E(W(*  Page P:5!7DP!10FC!20DP!32FC!18DP!52FC!6DP!60FC!30DP!92FC!39DP!gp!25FC!DP!75FC!DP!CE!T FM1WM1OX FM2CM1o\ FM3WM1 ` FM4WM1:P,RSX-11M/M-Plus Error Logging System Version W(V  Si e(e(*i  Page1u nP<8!7DP!10FC!20DP!32FC!18DP!52FC!6DP!FL!10FC!30DP!42FC!39DPp !25FC!DP!CE0 T FM1NM1CX FM2CM1\ FM3NM1` FM4NM1tE#:Wt M t#dBRIEF1n NN#h(t~z Entry Time Stap>  H rrrPDATE DEVICE FORMAT PACKETnREPORTrSERIALTYPEVOLUME-WIDTH--$-$-----6-- -:DATEPREVIOUSDATERANGEDATETODAYDATEYESTERDAYDEVICEALLFORMATBRIEFFORMATFULLFORMATNONEFORMATREGISTERSKINDALLKINDCRASHKINDNORMALSERIALDRIVESERIALPACKTYPEALLTYPECONTROLTYPEERRORSTYPEMEMORYTYPEPERIPHERALTYPEPROCESSORTYPESYSTEM_INFOWIDTHNARROWWIDTHWIDE B##,f# # T te emn (  |-!DRR BRf##*#$Zh #@ DPP DSYSTEMSWEEK/DA:PREVIOUS:7MONTH/DA:PREVIOUS:31DAY/FO:FULL/DA:TODAYUKTZdr vf niP j ERRORM ERROR_2O PARS1M PASS_1 N#S. PARS2M PASS_2 PARS3M PASS_3 NEXT_SWITCH #(NDn| Cs#n/n SYNTAXERRM#:/(K!NR# #b  f#//()(## S ##U(U o#e#C:f i #K#(8|2## ## )()(#z! 2 |,####/()(x#!| ! "|L#/)()(P#L# ( |L NEXT_SECTION NEXT_SECTION  #x(D SYNTAXERRI e#|i(D  xf)#|,X()(xF#|R#S R##|( |T|K#|# ( NEXT_ARGUMENT #x(V.  #X T TOOFEWARG)#&#x:W()""(T#x#  t#Tu(D SYNTAXERR) ##e#x( xx#x8# ( X DCL_PARSE < $$6#PW#T#:( &$`%$ $ &$B$6#PB#TF#:( &$ ARGNOTUNQ)#T $` #^#TV(#:0( ILLSWTARG)#TT(#: UNKNWNARG)t#T CHECK_SWITCH  > >##PR( &>  UNKNWNSWT)i#n`e%> > g-&>:n>U#A#P( &> SWTNOTUNQ)# >`@ Q 8'4g7T!n"~""ƙ""(ʹ"0 "H "( """`#"#"("X%("+a"Lc"Ps"Vu"gu"o~"64"s<"fH~7$g7$>7$G7$R7$[&'M'Y'瑇''Y'瑏'Y'瑗y:';T( YESTERDAYMF((&((P F#(##(# #( PREVIOUS` PARSEM NEXT_ARGUMENT ( U#T(#|#l(2(( #(E DEVICEB # MULSWTSPCM #|U!UA M\N#t ALLSR  R##C ILLARGCOMM#tLT*8<@f P# ILLARGCOMM*#tL#t:G( #"#t#t:G(! #t (#(  ILLSWTARGM#t M #_*I*8>#tF <@.(*8#t < #h(5@N ##t([ ILLSWTARGM#tE*8#t<@t PARSEM NEXT_SECTION #tE KIND PACKET@ )# MULSWTSPCT\#| PARSEM NEXT_ARGUMENT  #l*E l#lpE PARSEM NEXT_ARGUMENT # A#l4 # # ILLSWTARGM*LO#& P#l*LO lPH#lD\R#X# PARSEM NEXT_SECTION #tDE REPORT MULSWTSPCIB#| xU S@ Q 8'4g7T!n"~""ƙ""(ʹ"0 "H "( """`#"#"("X%("+a"Lc"Ps"Vu"gu"o~"64"s<"fH~7$g7$>7$G7$R7$[&'M'Y'瑇''Y'瑏'Y'瑗y:';TSWITCHD  SWITCH_NAMEPASS_2BWITCHESt P^2# U( FORMATr ( # MULSWTSPCI #B PARSEM NEXT_ARGUMENT  PARSEM DCL_PARSEMMdD#6AC SERIAL Gn# MULSWTSPCMU#BXE\hlD PARSEM NEXT_ARGUMENT  PARSEM DCL_PARSEM 8#6 DRIVEAf XR# MULSWTSPCMR#> PARSEM NEXT_ARGUMENT X l#6(0E#\E PACKf # MULSWTSPCM#> PARSEM NEXT_ARGUMENT Yh E#6(0ElE PARSEM NEXT_SECTION F#:(E SUMMARYC TYPE # MULSWTSPCIP#BSTUApUEtUN`U(xU#UUU(U#U PARSEM NEXT_ARGUMENTY PARSEM DCL_PARSEM #6 CONTROLS: N# MULARGSPCM#>TUGU PERIPHERAL: 8# MULARGSPCL#>pUAU PROCESSORL: # MULARGSPCL#>tUU MEMORY: # MULARGSPCL#>`UTU SYSTEM_INFON: I# MULARGSPCF#>xUU ERRORSn #h#@##  MULARGSPCF #>TpU#UtUSU`UU ALLA TE#O#t###  MULARGSPCF@#>#pUUTTUUtUUM`U#UxUU PARSEM NEXT_SECTION _#:E E VOLUME # MULSWTSPCI#B PARSEM NEXT_ARGUMENTY (#6l"\#6R#6X("  S6 #6E#6O(!D |#6 WIDTHA # MULSWTSPCM#B PARSEM NEXT_ARGUMENTY PARSEM DCL_PARSEM .e#6 NARROW A WIDE IDI@Q 8'4g7T!n"~""ƙ""(ʹ"0 "H "( """`#"#"("X%("+a"Lc"Ps"Vu"gu"o~"64"s<"fH~7$g7$>7$G7$R7$[&'M'Y'瑇''Y'瑏'Y'瑗y:';T .GOTO CPUTYP; ; The acceptable CPU types are:D;); 11/03, 11/04, 11/05; 11/10, 11/20, 11/34L; 11/44, 11/45, 11/50; 11/55, 11/60, 11/70;.GOTO 15.;.CPUTYP:.;..; Now check to see if we recognize the answer.;.IF TEMP EQ "11/03" .GOTO C11XX.IF TEMP EQ "11/04" .GOTO C11XX.IF TEMP EQ "11/05" .GOTO C11XX.IF TEMP EQ "11/10" .GOTO C11XX.IF TEMP EQ "11/20" .GOTO C11XX.IF TEMP EQ "11/34" .GOTO C1134.IF TEMP EQ "11/44" .GOTO C1144.IF TEMP EQ "11/45" .GOTO C11XX.IF TEMP EQ "11/50" .GOTO C11XX.IF TEMP EQ "11/55" .GOTO C11XX.IF TEMP EQ "11/60" .GOTO C1160.IF TEMP EQ "11/70" .GOTO C117XT;O5; Unrecognized CPU type 'TEMP' - Please enter agains;t.GOTO 15.;.DEVXXX:;lE; Now enter the devices in your configuration separated by commas. E; Terminate by entering a period. Hit the escape key for a list of ; acceptable device names. n;e.20:.ENABLE ESCAPE!.ASKS DEVLST Enter device name(s) .IFT .GOTO 21.IF DEVLST EQ "" .GOTO 20 .GOTO COMPAR.;.21:;rE; Below is a list of acceptable device names. If you have more thandE; one type of device lis5Tted as "x or y or z" you need enter only one.nE; For example, if you have RP04s and RP06s you need only enter RP04M; or RP06 - not both. ; "; The acceptable device names are:;F; TU60 (DECtape II); RP04 or RP05 or RP06; RP07; TU58 (DECtape); RS11; RK03 or RK05; RL01 or RL02; RK06 or RK07; RP02 or RP03; RM02 or RM03; RM05; RM80; RS03 or RS04; TU56 (Cassette) ; RA80 (UDA-50)t; RX01; RX02; ML11; TE16 or TU16 or TU45 or TU77; TE10 or TU10 or TS03; TU78; TS11;;.GOTO 20.;.COMPAR:.;.; Parse DEVLST .;.PARSE DEVLST "," TEMP RESTM .TEST TEMP+.IF DOT NE TEMP[:] .GOTO 22 .SETT GIVEUP.SETS TEMP TEMP[1:-1] .;.22:.;/.; Now check to see if we recognize this deviceX.;.IF TEMP EQ "TU60" .GOTO TA11C.IF TEMP EQ "RP04" .GOTO RP456.IF TEMP EQ "RP05" .GOTO RP456.IF TEMP EQ "RP06" .GOTO RP456.IF TEMP EQ "TU58" .GOTO TU58P.IF TEMP EQ "RS11" .GOTO RS11C.IF TEMP EQ "RK03" .GOTO RK05C.IF TEMP EQ "RK05" .GOTO RK05E.IF TEMP EQ "RL01" .GOTO RL12D.IF TEMP EQ "RL02" .GOTO RL12N.IF TEMP EQ "RK06" .GOTO RK67C.IF TEMP EQ "RK07" .GOTO RK67C.IF TEMP EQ "RP02" .GOTO RP23F.IF TEMP EQ "RP03" .GOTO RP23D.IF TEMP EQ "RM02" .GOTO RM234.IF TEMP EQ "RM03" .GOTO RM23C.IF TEMP EQ "RM05" .GOTO RM05C.IF TEMP EQ "RM80" .GOTO RM80F.IF TEMP EQ "RP07" .GOTO RP07D.IF TEMP EQ "RS03" .GOTO RS34I.IF TEMP EQ "RS04" .GOTO RS34C.IF TEMP EQ "TU56" .GOTO TC11C.IF TEMP EQ "RA80" .GOTO MSCPP.IF TEMP EQ "RX01" .GOTO RX01D.IF TEMP EQ "RX02" .GOTO RX02R.IF TEMP EQ "ML11" .GOTO ML11C.IF TEMP EQ "TU78" .GOTO TU78C.IF TEMP EQ "TE16" .GOTO T1645.IF TEMP EQ "TU16" .GOTO T1645.IF TEMP EQ "TU45" .GOTO T1645.IF TEMP EQ "TU77" .GOTO TU77e.IF TEMP EQ "TE10" .GOTO T0310.IF TEMP EQ "TU10" .GOTO T0310.IF TEMP EQ "TS03" .GOTO T0310.IF TEMP EQ "TS11" .GOTO TS111.;.; Check for end of inputD.;.IF TEMP EQ "" .GOTO DONEI;3; Unrecognized device 'TEMP' - Please enter againB;B .GOTO NEXT.;.; CPU Modules9T.;.C11XX:S#.DATA #0 E11XX.ICF = 'LOC'/EX:E11XXS#.DATA #1 TEMPLIB.ULB/RP = E11XX.ICFR .GOTO DEVXXX.;.C1134:U#.DATA #0 E1134.ICF = 'LOC'/EX:E1134U#.DATA #1 TEMPLIB.ULB/RP = E1134.ICFU .GOTO DEVXXX.;.C1144:1#.DATA #0 E1144.ICF = 'LOC'/EX:E11441#.DATA #1 TEMPLIB.ULB/RP = E1144.ICF1 .GOTO DEVXXX.;.C1160:F#.DATA #0 E1160.ICF = 'LOC'/EX:E1160F#.DATA #1 TEMPLIB.ULB/RP = E1160.ICFF .GOTO DEVXXX.;.C117X: #.DATA #0 E117X.ICF = 'LOC'/EX:E117X #.DATA #1 TEMPLIB.ULB/RP = E117X.ICF .GOTO DEVXXX.;.; Device Modules .;.TA11:#.DATA #0 ETA11.ICF = 'LOC'/EX:ETA11#.DATA #1 TEMPLIB.ULB/RP = ETA11.ICF .GOTO NEXT.;.RP456: %.DATA #0 ERP456.ICF = 'LOC'/EX:ERP456R$.DATA #1 TEMPLIB.ULB/RP = ERP456.ICF .GOTO NEXT.;.TU58:#.DATA #0 ETU58.ICF = 'LOC'/EX:ETU58y$.DATA #1 TEMPLIB.ULB/RP = ETU58.ICF .GOTO NEXT.;.RS11:#.DATA #0 ERS11.ICF = 'LOC'/EX:ERS11A$.DATA #1 TEMPLIB.ULB/RP = ERS11.ICF .GOTO NEXT.;.RK05:#.DATA #0 ERK05.ICF = 'LOC'/EX:ERK05 $.DATA #1 TEMPLIB.ULB/RP = ERK05.ICF .GOTO NEXT.;.RL12:#.DATA #0 ERL12.ICF = 'LOC'/EX:ERL12k$.DATA #1 TEMPLIB.ULB/RP = ERL12.ICF .GOTO NEXT.;.RK67:#.DATA #0 ERK67.ICF = 'LOC'/EX:ERK67 #.DATA #0 NRK67.ICF = 'LOC'/EX:NRK67X$.DATA #1 TEMPLIB.ULB/RP = ERK67.ICF $.DATA #1 TEMPLIB.ULB/RP = NRK67.ICF .GOTO NEXT.;.RP23:#.DATA #0 ERP23.ICF = 'LOC'/EX:ERP23$.DATA #1 TEMPLIB.ULB/RP = ERP23.ICF .GOTO NEXT.;.RM23:#.DATA #0 ERM23.ICF = 'LOC'/EX:ERM23X#.DATA #0 NRM23.ICF = 'LOC'/EX:NRM23$.DATA #1 TEMPLIB.ULB/RP = ERM23.ICF $.DATA #1 TEMPLIB.ULB/RP = NRM23.ICF .GOTO NEXT.;.RM05:#.DATA #0 ERM05.ICF = 'LOC'/EX:ERM05r#.DATA #0 NRM05.ICF = 'LOC'/EX:NRM05s$.DATA #1 TEMPLIB.ULB/RP = ERM05.ICF $.DATA #1 TEMPLIB.ULB/RP = NRM05.ICF .GOTO NEXT.;.RM80:#.DATA #0 ERM80.ICF = 'LOC'/EX:ERM80A$.DATA #1 TEMPLIB.ULB/RP = ERM80.ICF .GOTO NEXT.;.RP07:#.DATA #0 ERP07.ICF = 'LOC'/EX:ERP07$.DATA #1 TEMPLIB.ULB/RP = ERP07.ICF .GOTO NEXT.;.RS34:#.DATA #0 ERS34.ICF = 'LOC'/EX:ERS34$.DATA #1 TEMPLIB.ULB/R=TP = ERS34.ICF .GOTO NEXT.;.TC11:#.DATA #0 ETC11.ICF = 'LOC'/EX:ETC11e$.DATA #1 TEMPLIB.ULB/RP = ETC11.ICF .GOTO NEXT.;.MSCP: .GOSUB EUDA50 %.DATA #0 MSCPEN.ICF = 'LOC'/EX:MSCPEN0%.DATA #1 TEMPLIB.ULB/RP = MSCPEN.ICF .;%.DATA #0 MSCPAT.ICF = 'LOC'/EX:MSCPAT %.DATA #1 TEMPLIB.ULB/RP = MSCPAT.ICF .;%.DATA #0 MSCPBD.ICF = 'LOC'/EX:MSCPBD0%.DATA #1 TEMPLIB.ULB/RP = MSCPBD.ICF .;%.DATA #0 MSCPTO.ICF = 'LOC'/EX:MSCPTOE%.DATA #1 TEMPLIB.ULB/RP = MSCPTO.ICF U .GOTO NEXT.;.EUDA50:%.DATA #0 DSP3M1.ICF = 'LOC'/EX:DSP3M1r%.DATA #1 TEMPLIB.ULB/RP = DSP3M1.ICF R.;%.DATA #0 DEVUDA.ICF = 'LOC'/EX:DEVUDA<%.DATA #1 TEMPLIB.ULB/RP = DEVUDA.ICF .RETURN[.;.RX01:#.DATA #0 ERX01.ICF = 'LOC'/EX:ERX01 $.DATA #1 TEMPLIB.ULB/RP = ERX01.ICF .GOTO NEXT.;.RX02:#.DATA #0 ERX02.ICF = 'LOC'/EX:ERX02I$.DATA #1 TEMPLIB.ULB/RP = ERX02.ICF .GOTO NEXT.;.ML11:#.DATA #0 EML11.ICF = 'LOC'/EX:EML11E#.DATA #0 NML11.ICF = 'LOC'/EX:NML11 $.DATA #1 TEMPLIB.ULB/RP = EML11.ICF $.DATA #1 TEMPLIB.ULB/RP = NML11.ICF .GOTO NEXT.;.TU78:#.DATA #0 ETU78.ICF = 'LOC'/EX:ETU78O$.DATA #1 TEMPLIB.ULB/RP = ETU78.ICF .GOTO NEXT.;.T1645:O%.DATA #0 ET1645.ICF = 'LOC'/EX:ET1645D%.DATA #1 TEMPLIB.ULB/RP = ET1645.ICF E .GOTO NEXT.;.TU77:#.DATA #0 ETU77.ICF = 'LOC'/EX:ETU77 $.DATA #1 TEMPLIB.ULB/RP = ETU77.ICF .GOTO NEXT.;.T0310: %.DATA #0 ET0310.ICF = 'LOC'/EX:ET0310 %.DATA #1 TEMPLIB.ULB/RP = ET0310.ICF . .GOTO NEXT.;.TS11:#.DATA #0 ETS11.ICF = 'LOC'/EX:ETS11"$.DATA #1 TEMPLIB.ULB/RP = ETS11.ICF .GOTO NEXT.;.; Process the next entry .;.NEXT:.IFT GIVEUP .GOTO DONE.SETS DEVLST REST6.IF DEVLST EQ "" .GOTO 20O .GOTO COMPAREP.; .; Finish up the processing now.;.DONE: .CLOSE #0E .CLOSE #1";O,; Extract the files from the master library.;PLBR @TEMPTUNE0.TMP;G; Build the new library. Note that you may see messages like "ModuleEG; "XYZZY" replaced" if you have selected more than one device havingaG; the same mnemonic. For example, selecATting RK06 and RK07 support willF>; produce this message. This type of message can be ignored. ;XLBR @TEMPTUNE1.TMP; ; Now clean up.O;EPIP TEMPLIB.ULB/TR PIP ERRLOG.ULB/RE/NV=TEMPLIB.ULB.PIP *.ICF;*,TEMPTUNE0.TMP;*,TEMPTUNE1.TMP;*/DE;: ; Finished. ;T.FINI:UBACKUPDR1:[12,304]ACSBLD .BLD;1;"U; Now PUKCABU.U;Pdd29DEC8110301529DEC81103014U .ONERR ERXIT .ENABLE SUBSTITUTION .ENABLE GLOBAL .SETT $UTYP1.;.; GENERATE ACSBLD.CMD.; .OPEN '$CL'ACS'$TYP1'BLD.CMD .DATA ; .DATA ; TKB .CMD FILE FOR ACS .DATA ; '$COM'(.IFF $FCSTK .DATA ; LINKING TO '$RSLIB'!.IFT $FCSTK .DATA ; USING SYSLIB .DATA ; CREATED BY '$BLDID' .DATA ;; .DATA '$TK'ACS'$TYP2'/PR/-FP'$MMSW','$MP'ACS'$TYP2'/-SP= .DATA '$LI'MCR/LB:ACS.IFT $11M .DATA '$LI'MCR/LB1.IFT $11MPL .DATA '$LI'MCR/LB:GNBLK:GETNUM:LKLST .DATA '$TK'RSX11M.STB/SS. .DATA LB:[1,1]EXELIB/LB .DATA / .DATA STACK=32 .DATA UNITS=2 .DATA ASG=SY:1P .DATA ASG=TI:2L .DATA TASK=...ACS .DATA PRI=70  .DATA PAR='$GEN'A.IFF $FCSTK .DATA '$LIBOP'A .DATA / .CLOSE .EXIT 1.;$.; Exit for error encountered by IND.;.ERXIT: .EXIT 4;; .DATA '$TK'ACS'$TYP2'/PR/-FP'$MMSW','$MP'ACS'$TYP2'/-SP= .DATA '$LI'MCR/LB:ACS.IFT $11M .DATA '$LI'MCR/LB1.IFT $11MPL .DATA '$LI'MCR/LB:GNBLK:GETNUM:LKLST .VBACKUPDR1:[12,304]BOOBLD .BLD;1WUS '$CL'ACPUKCABV.VWvdd29DEC8110301629DEC81103015jV .ONERR ERXIT .ENABLE SUBSTITUTION .ENABLE GLOBAL .SETF $UTYP1.;.; Generate BOOBLD.CMD.; .OPEN '$CL'BOOBLD.CMD .DATA ; .DATA ; TKB .CMD FILE FOR BOO .DATA ; '$COM' .DATA ; CREATED BY '$BLDID' .DATA ;- .DATA '$TK'BOO/PR/-FP'$MMSW','$MP'BOO/-SP= .DATA '$OD'BOOBLD/MP .DATA TASK=...BOO .DATA STACK=48 .DATA UNITS=2 .DATA ASG=TI:1 .DATA ASG=SY:2 .DATA PAR='$GEN' .DATA PRI=50 .DATA / .CLOSE.;.; Generate BOOBLD.ODL.; .OPEN '$CL'BOOBLD.ODL .DATA ; .DATA ; TKB .ODL FILE FOR BOO .DATA ; '$COM'  .DATA ; CREATED BY '$BLDID' .DATA ; .IFT $11MPL .DATA .ROOT BOOROT:.IFT $11MPL .DATA BOOROT: .FCTR BOOMOD-SAVMOD-MCRMOD-EXEC?.IFT $11MPL .DATA BOOMOD: .FCTR '$LI'BOO/LB:BOOT:BOTPH2:BOODRV.-.IFT $11MPL .DATA SAVMOD: .FCTR SAVDRV-SCNDV.D.IFT $11MPL .DATA SAVDRV: .FCTR '$LI'SAV/LB:SAVDK:SAVDP:SAVDL:SAVCM1.IFT $11MPL .DATA SCNDV: .FCTR '$LI'SAV/LB:SCNDVAL.IFT $11MPL .DATA MCRMOD: .FCTR '$LI'MCR/LB:FILBN:$FDUCB:GNBLK:GETNUM:COT2BC.IFT $11MPL .DATA EXEC: .FCTR '$TK'RSX11M.STB/SS-LB:[1,1]EXELIB/LBA%.IFT $11M .DATA .ROOT BOOROT,SAVDRVT0.IFT $11M .DATA BOOROT: .FCTR BOOT-BOTPH2-EXTER-.IFT $11M .DATA BOOT: .FCTR '$LI'BOO/LB:BOOT11.IFT $11M .DATA BOTPH2: .FCTR '$LI'BOO/LB:BOTPH2OK.IFT $11M .DATA EXTER: .FCTR '$LI'MCR/LB-LB:[1,1]EXELIB/LB-'$TK'RSX11M.STBR.IFT $11M .DATA .NAME SAVNULW.IFT $11M .DATA SAVDRV: .FCTR SAVNUL-SAVDRT-(SAVDK,SAVDX,SAVDY,SAVDF,SAVDS,SAVDB,DRV1)O1.IFT $11M .DATA SAVDRT: .FCTR '$LI'SAV/LB:SAVDRTBF.IFT $11M .DATA DRV1: .FCTR SAVDP,SAVDT,SAVDM,SAVDL,SAVEM,SAVDU,SAVDR/.IFT $11M .DATA SAVDK: .FCTR '$LI'SAV/LB:SAVDK A.IFT $11M .DATA SAVDX: .FCTR '$LI'SAV/LB:SAVDX-LB:[1,1]EXELIB/LBR/.IFT $11M .DATA SAVDY: .FCTR '$LI'SAV/LB:SAVDYR/.IFT $11M .DATA SAVDF: .FCTR '$LI'SAV/LB:SAVDFT/.IFT $11M .DATA SAVDS: .FCTR '$LI'SAV/LB:SAVDS/.IFT $11M .DATA SAVDB: .FCTR '$LI'SAV/LB:SAVDBS/.IFT $11M .DATA SAVDP: .FCTR '$LI'SAV/LB:SAVDPD/.IFT $11M .DATA SAVDT: .FCTR V'$LI'SAV/LB:SAVDTC/.IFT $11M .DATA SAVDM: .FCTR '$LI'SAV/LB:SAVDMC/.IFT $11M .DATA SAVDL: .FCTR '$LI'SAV/LB:SAVDLT/.IFT $11M .DATA SAVEM: .FCTR '$LI'SAV/LB:SAVEMT/.IFT $11M .DATA SAVDU: .FCTR '$LI'SAV/LB:SAVDU,/.IFT $11M .DATA SAVDR: .FCTR '$LI'SAV/LB:SAVDRS .DATA .END .CLOSEA .EXIT 1.;$.; Exit for error encountered by IND.;.ERXIT: .EXIT 4:SAVDS/.IFT $11M .DATA SAVDB: .FCTR '$LI'SAV/LB:SAVDBS/.IFT $11M .DATA SAVDP: .FCTR '$LI'SAV/LB:SAVDPD/.IFT $11M .DATA SAVDT: .FCTR WBACKUPDR1:[12,304]BYEBLD .BLD;1PS '$CL'BOPUKCAB3XW.WPmdd29DEC8110301729DEC81103016NW .ONERR ERXIT .ENABLE SUBSTITUTION .ENABLE GLOBAL.;.; Generate BYEBLD.CMD.; .SETF $UTYP1 .OPEN '$CL'BYEBLD.CMD .DATA ;! .DATA ; TKB BUILD FILE FOR BYE .DATA ; '$COM' .DATA ; CREATED BY '$BLDID' .DATA ;? .DATA '$TK'BYE/-FP/AL/PR'$MMSW','$MP'BYE/-SP='$LI'MCR/LB:BYE/.IFT $11M .DATA '$LI'MCR/LB:NETSUB:COLOG:FMTDV8.IFT $11MPL .DATA '$LI'MCR/LB:BLKSUB:COLOG:FMTDV:NETSUB0 .DATA '$TK'RSX11M.STB/SS,LB:[1,1]EXELIB/LB/SS .DATA / .DATA TASK=...BYE .DATA UNITS=7.; .DATA STACK=100.; .DATA ASG=TI:1:7,CO:3.; .DATA PAR='$GEN';C .DATA GBLDEF=$USRSB:0 ; ADDRESS OF USER SUBROUTINE (0=NOT USED)TP .DATA GBLDEF=$MALSB:0 ; ADDRESS OF MAIL NOTIFICATION SUBROUTINE (0=NOT USED); .DATA GBLDEF=INDTIM:12 ; TIMEOUT FOR INDIRECT (SECONDS)R; .DATA GBLDEF=ABOTIM:0 ; TIMEOUT FOR ABORT AST (SECONDS)I .DATA / .CLOSEC .EXIT 1.;$.; Exit for error encountered by IND.;.ERXIT: .EXIT 4/SS .DATA / .DATA TASK=...BYEXBACKUPDR1:[12,304]HELBLD .BLD;1g '$CL'BYPUKCABX.Xg82dd29DEC8110301829DEC81103018:X .ONERR ERXIT  .ENABLE SUBSTITUTION  .ENABLE GLOBAL .;.; Generate HELBLD.CMD.; .SETT $UTYP1s .OPEN '$CL'HEL'$TYP1'BLD.CMD- .DATA ;! .DATA ; TKB BUILD FILE FOR HEL  .DATA ; '$COM'v(.IFF $FCSTK .DATA ; LINKING TO '$RSLIB'!.IFT $FCSTK .DATA ; USING SYSLIBE .DATA ; CREATED BY '$BLDID' .DATA ;B .DATA '$TK'HEL'$TYP2'/-FP/AL/PR/-IP'$MMSW','$MP'HEL'$TYP2'/-SP= .DATA '$OD'HEL'$TYP1'BLD/MP .DATA ; .DATA TASK=...HEL .DATA STACK=64e .DATA UNITS=7.; .DATA ASG=TI:1:7. .DATA ASG=SY:2,CO:3.; .DATA PAR='$GEN'G.IFF $FCSTK .DATA '$LIBOP'E6 .DATA GBLDEF=HELP$P:101 ; OCTAL PRIORITY OF "HELP"E .DATA GBLDEF=$DNTSB:0 ; ADDRESS OF DECNET SUBROUTINE (0=NOT USED).C .DATA GBLDEF=$USESB:0 ; ADDRESS OF USER SUBROUTINE (0=NOT USED)AO .DATA GBLDEF=ENCRPT:0 ; ADDRESS OF PASSWORD ENCRYPTION ROUTINE (0=NOT USED)W> .DATA GBLDEF=TIMOUT:20 ; SECONDS BEFORE TIMEOUT ON PROMPTS .DATA GBLREF=$DIV L .DATA GBLREF=$MUL .DATA / .CLOSE. .OPEN '$CL'HEL'$TYP1'BLD.ODLO .DATA ;& .DATA ; TKB ODL FILE FOR HELLO/HELP .DATA ; '$COM'L(.IFF $FCSTK .DATA ; LINKING TO '$RSLIB'!.IFT $FCSTK .DATA ; USING SYSLIBS .DATA ; CREATED BY '$BLDID' .DATA ;-.IFT $FCSTK .DATA .ROOT A-*(HELO,HELP),FCSE).IFF $FCSTK .DATA .ROOT A-*(HELO,HELP) G.IFT $FCSTK .DATA A: .FCTR '$LI'MLTUSR/LB:HELROT-'$LI'MCR/LB:ACTFIL-A2ON.IFT $FCSTK .DATA A2: .FCTR LB:[1,1]SYSLIB/LB:CAT5:CATB:CBTA:CDDMG:SAVR1-LIB1D.IFF $FCSTK .DATA A: .FCTR '$LI'MLTUSR/LB:HELROT-'$LI'MCR/LB:ACTFIL3 .DATA HELO: .FCTR '$LI'MLTUSR/LB:HELLO-LIB2-LIB1P4 .DATA HELP: .FCTR '$LI'MLTUSR/LB:HLP-*(STTAB,SUB)< .DATA LIB1: .FCTR '$TK'RSX11M.STB/SS-LB:[1,1]EXELIB/LB/SSA.IFT $11M .DATA LIB2: .FCTR '$LI'MCR/LB:COLOG:FMTDV:GNBLK:GETNUMPJ.IFT $11MPL .DATA LIB2: .FCTR '$LI'MCR/LB:BLKSUB:COLOG:FMTDV:GNBLK:GETNUMI .DATA STTAB: .FCTR '$LI'MLTUSR/LB:HSTTAB-LB:[1,1]SYSLIB/LB:.TPARS-LIB1C3.IFT $FCSTK .DATA SUB: .FCTR '$LI'MLTUSR/LB:HLPSUB8.IFF $FCSTK .DATA SUBX: .FCTR '$LI'MLTUSR/LB:HLPSUB-LIB1 .DATA ;.IFT $FCSTK .DATA ; L.IFT $FCSTK .DATA ;.IFT $FCSTK .DATA ;0.IFT $FCSTK .DATA ; THIS IS THE COMMON FCS CODE.IFT $FCSTK .DATA ;>.IFT $FCSTK .DATA FCS: .FCTR FCSRT-*(FCSB1,FCSB2,FCSB3,FCSB4).IFT $FCSTK .DATA ;g.IFT $FCSTK .DATA FCSR1A: .FCTR LB:[1,1]SYSLIB/LB:XQIOU:XQIOI:WAITI:COMMON:DARITH:ASSLUN:UDIREC:PPNASCFS.IFT $FCSTK .DATA FCSR1B: .FCTR LB:[1,1]SYSLIB/LB:BKRG:DIRECT:ANSPAD:BIGBUF:RWFSR2TY.IFT $FCSTK .DATA FCSR1C: .FCTR LB:[1,1]SYSLIB/LB:RETADR:RDWAIT:WTWAIT:RWBLK:RQLCB:OD2CTAN.IFT $FCSTK .DATA FCSR1D: .FCTR LB:[1,1]SYSLIB/LB:EOFCHK:WATNOD:WATSET:CKALOC>.IFT $FCSTK .DATA FCSR1F: .FCTR LB:[1,1]SYSLIB/LB:EDTMG:PARSE.IFT $FCSTK .DATA ;*.IFT $FCSTK .DATA ; BUILD THE FCS CO-TREE.IFT $FCSTK .DATA ;!.IFT $FCSTK .DATA .NAME FCSROT1B.IFT $FCSTK .DATA FCSRT: .FCTR FCSR1A-FCSR1B-FCSR1C-FCSR1D-FCSR1F.IFT $FCSTK .DATA ;).IFT $FCSTK .DATA ; THIS IS THE OPEN LEGS.IFT $FCSTK .DATA ;!.IFT $FCSTK .DATA .NAME FCSBR11-.IFT $FCSTK .DATA FCSB1: .FCTR FCSB1A-FCSB1BD.IFT $FCSTK .DATA ;=.IFT $FCSTK .DATA FCSB1A: .FCTR LB:[1,1]SYSLIB/LB:OPEN:FINIT8.IFT $FCSTK .DATA FCSB1B: .FCTR LB:[1,1]SYSLIB/LB:.CSI1.IFT $FCSTK .DATA ;..IFT $FCSTK .DATA ; THIS IS THE "GET/PUT" LEG.IFT $FCSTK .DATA ;!.IFT $FCSTK .DATA .NAME FCSBR21Z.IFT $FCSTK .DATA FCSB2: .FCTR LB:[1,1]SYSLIB/LB:GET:GETSQ:PUT:POSIT:POSREC:PNTMRK:EXTEND.IFT $FCSTK .DATA ;*.IFT $FCSTK .DATA ; THIS IS THE CLOSE LEG.IFT $FCSTK .DATA ;7.IFT $FCSTK .DATA FCSB3: .FCTR LB:[1,1]SYSLIB/LB:CLOSE1.IFT $FCSTK .DATA ;).IFT $FCSTK .DATA ; THIS IS THE CSI2 LEG1.IFT $FCSTK .DATA ;7.IFT $FCSTK .DATA FCSB4: .FCTR LB:[1,1]SYSLIB/LB:.CSI21.IFT $FCSTK .DATA ; .DATA .END .CLOSE .EXIT 1.;$.; Exit for error encountered by IND.;.ERXIT: .EXIT 41Z.IFT $FCSTK .DATA FCSB2: .FCTR LB:[1,1]SYSLIB/LB:GET:GETSQ:PUT:POSIT:POSREC:PNTMRK:EXTEND.IFT $FCSTK .DATA ;*.IFT $FCSTK .DATA ; THIS IS THE CLOSE LEG.IFT $FCSTK .DATA ;7.IFT $FCSTK .DATAYBACKUPDR1:[12,304]INSBLD .BLD;1AF '$CL'HEPUKCABY.YA:dd29DEC8110302029DEC81103019NY .ONERR ERXIT .ENABLE SUBSTITUTION .ENABLE GLOBAL .SETF $UTYP1.;.; GENERATE INSBLD.CMD.; .OPEN '$CL'INSBLD.CMD .DATA ;! .DATA ; TKB .CMD FILE FOR INS .DATA ; '$COM' .DATA ; USING SYSLIB .DATA ; CREATED BY '$BLDID' .DATA ;1 .DATA '$TK'INS/AL/-FP/PR'$MMSW','$MP'INS/-SP= .DATA '$LI'INS/LB:INSROT%.IFT $11MPL .DATA '$LI'PRL/LB:INSEC/ .DATA '$LI'INS/LB:INSFSR:INSGC:INSFL:$INSPS0 .DATA '$LI'INS/LB:INSBF:$INSLB:$INSCM:$INSHDA .DATA '$LI'MCR/LB:FILBN:GETNUM:LKLST:KEYWD:$FDUCB:GNBLK:COT2BL .DATA LB:[1,1]SYSLIB/LB:CATB .DATA '$TK'RSX11M.STB/SS .DATA LB:[1,1]EXELIB/LB .DATA /K .DATA UNITS=3 .DATA ASG=SY:1 .DATA ASG=TI:2 .DATA STACK=64 .DATA TASK=...INS  .DATA PRI=100T .DATA PAR='$GEN'& .DATA ;GBLPAT=INSROT:$PRVT:240:240 .DATA /I .CLOSE .EXIT 1.;$.; Exit for error encountered by IND.;.ERXIT: .EXIT 4 .DATA '$LI'INS/LB:INSBF:$INSLB:$INSCM:$INSHDA ZBACKUPDR1:[12,304]LOABLD .BLD;1SFFN '$CL'IPUKCABhZ.ZSVYMdd29DEC8110302029DEC81103020'Z .ONERR ERXITY .ENABLE SUBSTITUTION$ .ENABLE GLOBAL  .SETF $UTYP1X.;.; GENERATE LOABLD.CMD.; .OPEN '$CL'LOABLD.CMD .DATA ; .DATA ; TKB .CMD FILE FOR LOA .DATA ; '$COM'N .DATA ; USING SYSLIB  .DATA ; CREATED BY '$BLDID' .DATA ; .DATA ; NOTE:: .DATA ; LDFIN MUST BE PLACED BETWEEN 120000 AND 140000 .DATA ;1 .DATA '$TK'LOA/PR/-FP/-CP'$MMSW','$MP'LOA/-SP=B..IFT $11M .DATA '$LI'LOA/LB:DFSYM:ERMSG:GTBYT;.IFT $11M .DATA '$LI'LOA/LB:ICBDEF:IODAT:LDBUF:LDCTL:LDDRVI:.IFT $11M .DATA '$LI'LOA/LB:LDFIL:LDFIN:LDLDB:LDUIC:SYMTB".IFT $11M .DATA '$LI'MCR/LB:LKLST".IFT $11M .DATA LB:[1,1]EXELIB/LB .IFT $11M .DATA '$TK'RSX11M.STB.IFT $11M .DATA /!.IFT $11MPL .DATA '$OD'LOABLD/MP. .DATA TASK=...LOA .DATA STACK=64  .DATA UNITS=2 .DATA ASG=TI:1T .DATA ASG=SY:21 .DATA PAR='$GEN'. .DATA PRI=50' .DATA TSKV=$SVCTR:1 .DATA / .CLOSE$.;.; GENERATE LOABLD.ODL.;".IFT $11MPL .OPEN '$CL'LOABLD.ODL.IFT $11MPL .DATA ;*.IFT $11MPL .DATA ; TKB .ODL FILE FOR LOA.IFT $11MPL .DATA ; '$COM'!.IFT $11MPL .DATA ; USING SYSLIB(.IFT $11MPL .DATA ; CREATED BY '$BLDID'.IFT $11MPL .DATA ; .IFT $11MPL .DATA .ROOT LOAROTG.IFT $11MPL .DATA LOAROT: .FCTR LOAR1-LOAR2-EXTER-*(LOAO1,LOAO2,LOAO3).P.IFT $11MPL .DATA LOAR1: .FCTR '$LI'LOA/LB:LDCTL:LDFIN:DFSYM:ERMSG:GTBYT:ICBDEFI.IFT $11MPL .DATA LOAR2: .FCTR '$LI'LOA/LB:IODAT:LDBUF:LDUIC:SCNDV:SYMTB S.IFT $11MPL .DATA EXTER: .FCTR '$TK'RSX11M.STB-LB:[1,1]EXELIB/LB-'$LI'MCR/LB:LKLST I.IFT $11MPL .DATA LOAO1: .FCTR '$LI'LOA/LB:LDDRV:LDLDB-LB:[1,1]EXELIB/LB.C.IFT $11MPL .DATA LOAO2: .FCTR '$LI'LOA/LB:LDFIL-LB:[1,1]EXELIB/LB$1.IFT $11MPL .DATA LOAO3: .FCTR '$LI'OLR/LB:HRCINI.IFT $11MPL .DATA .END.IFT $11MPL .CLOSER .EXIT 1.;$.; Exit for error encountered by IND.;.ERXIT: .EXIT 4IN:DFSYM:ERMSG:GTBYT:ICBDEFI.IFT $11MPL .DATA LOAR2: .FCTR '$LI'LOA/LB:IODAT:LDBUF:LDUIC:SCNDV:SYMTB S.IFT $11MPL .DATA EXTER: .FCTR '$TK'RSX11M.STB-LB:[1,1]EXELIB/LB-[BACKUPDR1:[12,304]LPIBLD .BLD;16NN '$CL'LOPUKCAB[.[6.Mdd29DEC8110302129DEC81103021%[ .ONERR ERXIT .ENABLE SUBSTITUTION .ENABLE GLOBAL .SETF $UTYP1.; e.; GENERATE LPIBLD.CMD.;  .OPEN '$CL'LPIBLD.CMD .DATA ; 6 .DATA ; TKB .CMD FILE FOR KMC-11 LP MICROCODE LOADER .DATA ; '$COM' .DATA ; CREATED BY '$BLDID'T .DATA ; . .DATA '$TK'LPINIT/PR/-FP/CP,'$MP'LPINIT/-SP= .DATA '$LI'LPINITS, .DATA '$TK'RSX11M.STB/SS,LB:[1,1]EXELIB/LB .DATA /L .DATA TASK=LPINIT  .DATA UNITS=3S .DATA ASG=LB:1,CO:2 .DATA // .CLOSE .EXIT 1.;$.; Exit for error encountered by IND.;.ERXIT: .EXIT 4ENABLE GLOBAL .SETF $UTYP1.; e.; GENERATE LPIBLD.CMD.;  .OPEN '$CL'LPIBLD.CMD .DATA ; 6 .DATA ; TKB .CMD FILE FOR KMC-11 LP MICROCODE LOADER .DATA ; '$COM' .DATA ; CREATED BY '$BLDID'T .DATA ; . .DATA '$TK'LPINIT/PR/-FP/CP,'$MP'LPINIT/-SP= .DATA '$LI'LPINITS, .DATA '$TK'RSX11M.STB/SS,LB:[1,1]EXELIB/LB .DATA /L .DATA TASK=LPINIT  .DATA UNITS=3S .DATA ASG=LB:1,CO:2 .DATA // .CLOSE .EXIT 1.;$.; Exit for er\BACKUPDR1:[12,304]MCRBLD .BLD;1bs 'LPIBLD.PUKCABІ\.\b>Qdd29DEC8110302329DEC81103022U;\ .ONERR ERXIT .ENABLE SUBSTITUTION .ENABLE GLOBAL .SETF $UTYP1.;.; GENERATE MCRBLD.CMD FOR M.; .IFT $11M .OPEN '$CL'MCRBLD.CMD.IFT $11M .DATA ;6.IFT $11M .DATA ; TKB .CMD FILE FOR MCR (SINGLE-USER).IFT $11M .DATA ; '$COM'&.IFT $11M .DATA ; CREATED BY '$BLDID'.IFT $11M .DATA ;@.IFT $11M .DATA '$TK'MCR/-SG/PR/AL/-SE/-FP'$MMSW','$MP'MCR/-SP=.IFT $11M .DATA '$OD'MCRBLD/MP.IFT $11M .DATA UNITS=4.IFT $11M .DATA ASG=TI:1.IFT $11M .DATA ASG=CL:2.IFT $11M .DATA ASG=SY:3I..IFT $11M .DATA ASG=TI:4 ; ERROR MESSAGE LUN.IFT $11M .DATA STACK=64G.IFT $11M .DATA TASK=MCR....IFT $11M .DATA PRI=160.IFT $11M .DATA PAR='$SYPAR'T.IFT $11M .DATA /.IFT $11M .CLOSEI.;.; GENERATE MCRBLD.ODL FOR M.; .IFT $11M .OPEN '$CL'MCRBLD.ODL.IFT $11M .DATA ;6.IFT $11M .DATA ; TKB .ODL FILE FOR MCR (SINGLE-USER).IFT $11M .DATA ; '$COM' &.IFT $11M .DATA ; CREATED BY '$BLDID'.IFT $11M .DATA ;.IFT $11M .DATA .NAME MCROOTL.IFT $11M .DATA .ROOT MCROOT-'$LI'MCR/LB:MCROOT:MCRDEF-E-'$TK'RSX11M.STB-A^.IFT $11M .DATA A: .FCTR (A1,A2,A3,A4,A5,A6,A7,A8,A9,B1,B1A,B2,B3,B4,B5,B6,B9,C1,C2,C4,C5,C6).IFT $11M .DATA .NAME MCROV6.IFT $11M .DATA A1: .FCTR MCROV-'$LI'MCR/LB:MCROV-M-E.IFT $11M .DATA .NAME ERROV =.IFT $11M .DATA A2: .FCTR ERROV-'$LI'MCR/LB:ERROV:ERRMSG-M-ET.IFT $11M .DATA .NAME PR1OVEB.IFT $11M .DATA A3: .FCTR PR1OV-'$LI'MCR/LB:PR1OV:ABOOV:FIXOV-M-E.IFT $11M .DATA .NAME LUNOV16.IFT $11M .DATA A4: .FCTR LUNOV-'$LI'MCR/LB:LUNOV-M-E.IFT $11M .DATA .NAME ALTOV'<.IFT $11M .DATA A5: .FCTR ALTOV-'$LI'MCR/LB:ALTOV:REDOV-M-E.IFT $11M .DATA .NAME ASNOVC6.IFT $11M .DATA A6: .FCTR ASNOV-'$LI'MCR/LB:ASNOV-M-E.IFT $11M .DATA .NAME RAPOVC<.IFT $11M .DATA A7: .FCTR RAPOV-'$LI'MCR/LB:RAPOV:REAOV-M-E.IFT $11M .DATA .NAME ATLOVE6.IFT $11M .DATA A8: .FCTR ATLOV-'$LI'MCR/LB:ATLOV-M-E.IFT $11M .DATA .NAME TIMOV'6.IFT $11M .DATA A9: .FCTR TIMOV-'$LI'MCR/LB:TIMOV-M-E.IFT $11M .DATA .NAME DEVOVR6.IFT $11M .DATA\ B1: .FCTR DEVOV-'$LI'MCR/LB:DEVOV-M-E.IFT $11M .DATA .NAME DV2OVR7.IFT $11M .DATA B1A: .FCTR DV2OV-'$LI'MCR/LB:DV2OV-M-EM.IFT $11M .DATA .NAME TASOV.6.IFT $11M .DATA B2: .FCTR TASOV-'$LI'MCR/LB:TASOV-M-E.IFT $11M .DATA .NAME RPSOV.6.IFT $11M .DATA B3: .FCTR RPSOV-'$LI'MCR/LB:RPSOV-M-E.IFT $11M .DATA .NAME RUNOVA6.IFT $11M .DATA B4: .FCTR RUNOV-'$LI'MCR/LB:RUNOV-M-E.IFT $11M .DATA .NAME OPEOVA<.IFT $11M .DATA B5: .FCTR OPEOV-'$LI'MCR/LB:OPEOV:BRKOV-M-E;.IFT $11M .DATA B6: .FCTR D1-(D2,D3,D4,D5,D6,D7,D8,D9,D10)M.IFT $11M .DATA .NAME CLQOVO6.IFT $11M .DATA B9: .FCTR CLQOV-'$LI'MCR/LB:CLQOV-M-E.IFT $11M .DATA .NAME SSMOVA6.IFT $11M .DATA C1: .FCTR SSMOV-'$LI'MCR/LB:SSMOV-M-E.IFT $11M .DATA .NAME FLAOVP6.IFT $11M .DATA C2: .FCTR FLAOV-'$LI'MCR/LB:FLAOV-M-E.IFT $11M .DATA .NAME DEAOVU6.IFT $11M .DATA C4: .FCTR DEAOV-'$LI'MCR/LB:DEAOV-M-E.IFT $11M .DATA .NAME PAROVP6.IFT $11M .DATA C5: .FCTR PAROV-'$LI'MCR/LB:PAROV-M-E.IFT $11M .DATA .NAME ALLOV:=.IFT $11M .DATA C6: .FCTR ALLOV-'$LI'MCR/LB:ALLOV:ALLSUB-M-EM.IFT $11M .DATA .NAME SRTOV.H.IFT $11M .DATA D1: .FCTR SRTOV-'$LI'MCR/LB:SRTOV:$FDUCB:GNBLK:GETNUM-E.IFT $11M .DATA .NAME SPSOVC6.IFT $11M .DATA D2: .FCTR SPSOV-'$LI'MCR/LB:SPSOV-M-E.IFT $11M .DATA .NAME ST1OVC=.IFT $11M .DATA D3: .FCTR ST1OV-'$LI'MCR/LB:ST1OV:REQCOT-M-EA.IFT $11M .DATA .NAME ST2OVA6.IFT $11M .DATA D4: .FCTR ST2OV-'$LI'MCR/LB:ST2OV-M-E.IFT $11M .DATA .NAME ST3OVR6.IFT $11M .DATA D5: .FCTR ST3OV-'$LI'MCR/LB:ST3OV-M-E.IFT $11M .DATA .NAME ST4OVL<.IFT $11M .DATA D6: .FCTR ST4OV-'$LI'MCR/LB:ST4OV:MDPOV-M-E.IFT $11M .DATA .NAME SX1OVS<.IFT $11M .DATA D7: .FCTR SX1OV-'$LI'MCR/LB:SX1OV:STSUB-M-E.IFT $11M .DATA .NAME SX2OV'<.IFT $11M .DATA D8: .FCTR SX2OV-'$LI'MCR/LB:SX2OV:STSUB-M-E.IFT $11M .DATA .NAME SX3OVC<.IFT $11M .DATA D9: .FCTR SX3OV-'$LI'MCR/LB:SX3OV:STSUB-M-E.IFT $11M .DATA .NAME SX4OV'=.IFT $11M .DATA D10: .FCTR SX4OV-'$LI'MCR/LB:SX4OV:STSUB-M-EA.IFT $11M .DATA '+.IFT \ $11M .DATA E: .FCTR LB:[1,1]EXELIB/LB .IFT $11M .DATA .%.IFT $11M .DATA M: .FCTR '$LI'MCR/LBM.IFT $11M .DATA .IFT $11M .DATA .END.IFT $11M .CLOSE..;!.; GENERATE MCRBLD.CMD FOR M-PLUS.;".IFT $11MPL .OPEN '$CL'MCRBLD.CMD.IFT $11MPL .DATA ;6.IFT $11MPL .DATA ; TKB .CMD FILE FOR MCR (SECONDARY).IFT $11MPL .DATA ; '$COM'.(.IFT $11MPL .DATA ; CREATED BY '$BLDID'.IFT $11MPL .DATA ;7.IFT $11MPL .DATA '$TK'MCR/-SG/PR/-FP/MM,'$MP'MCR/-SP=O!.IFT $11MPL .DATA '$OD'MCRBLD/MPI.IFT $11MPL .DATA UNITS=4.IFT $11MPL .DATA ASG=TI:1A.IFT $11MPL .DATA ASG=CL:2T.IFT $11MPL .DATA ASG=SY:3A0.IFT $11MPL .DATA ASG=TI:4 ; ERROR MESSAGE LUN.IFT $11MPL .DATA STACK=64R.IFT $11MPL .DATA TASK=...MCR.IFT $11MPL .DATA PRI=160".IFT $11MPL .DATA PAR=GEN:0:40000.IFT $11MPL .DATA /.IFT $11MPL .CLOSE .;!.; GENERATE MCRBLD.ODL FOR M-PLUSC.;".IFT $11MPL .OPEN '$CL'MCRBLD.ODL.IFT $11MPL .DATA ;6.IFT $11MPL .DATA ; TKB .ODL FILE FOR MCR (SECONDARY).IFT $11MPL .DATA ; '$COM' (.IFT $11MPL .DATA ; CREATED BY '$BLDID'.IFT $11MPL .DATA ; .IFT $11MPL .DATA .NAME SYSROTQ.IFT $11MPL .DATA .ROOT SYSROT-'$LI'MCR/LB:SYSROT:MCRDEF-'$TK'RSX11M.STB/SS-E-A6_.IFT $11MPL .DATA A: .FCTR (A1,A2,A3,A4,A5,A6,A7,A8,A9,B1,B2,B3,B4,B5,B6,B9,C1,C2,C3,C4,C5,C6)0.IFT $11MPL .DATA .NAME SYSOVP6.IFT $11MPL .DATA A1: .FCTR SYSOV-'$LI'MCR/LB:SYSOV-E.IFT $11MPL .DATA .NAME ERROVLC.IFT $11MPL .DATA A2: .FCTR ERROV-'$LI'MCR/LB:ERROV:ERRMSG:EDCKP-EE.IFT $11MPL .DATA .NAME SSMOVC6.IFT $11MPL .DATA A3: .FCTR SSMOV-'$LI'MCR/LB:SSMOV-E.IFT $11MPL .DATA .NAME CBDOV <.IFT $11MPL .DATA A4: .FCTR CBDOV-'$LI'MCR/LB:CBDOV:GNBLK-E.IFT $11MPL .DATA .NAME ALTOV6\.IFT $11MPL .DATA A5: .FCTR ALTOV-'$LI'MCR/LB:ALTOV:REDOV:$FDUCB:GETNUM:GTTSK:LKLST:GTMNM-E.IFT $11MPL .DATA .NAME ASNOVY>.IFT $11MPL .DATA A6: .FCTR ASNOV-'$LI'MCR/LB:ASNOV:DEAOV-A6A8.IFT $11MPL .DATA A6A: .FCTR '$LI'MCR/LB:$FDUCB:GNBLK-E.IFT $11MPL .DATA .NAME RAPOV:V.IFT $11MPL .DATA A7: .FCTR RAP \OV-'$LI'MCR/LB:RAPOV:REAOV:$FDUCB:GETNUM:GTTSK:GTMNM-E.IFT $11MPL .DATA .NAME ATLOVNb.IFT $11MPL .DATA A8: .FCTR ATLOV-'$LI'MCR/LB:ATLOV:BLKSUB:$FDUCB:FMTDV:GNBLK:GTTSK:LKLST:GTMNM-E.IFT $11MPL .DATA .NAME TIMOVC<.IFT $11MPL .DATA A9: .FCTR TIMOV-'$LI'MCR/LB:TIMOV:GNBLK-E.IFT $11MPL .DATA .NAME DEVOVS[.IFT $11MPL .DATA B1: .FCTR DEVOV-'$LI'MCR/LB:DEVOV:PAROV:FMTDV:BLKSUB:GNBLK:CBTO:$FDUCB-E .IFT $11MPL .DATA .NAME TASOVK.IFT $11MPL .DATA B2: .FCTR TASOV-'$LI'MCR/LB:TASOV:ACTFIL:FMTDV:LKLST-B2A/K.IFT $11MPL .DATA B2A: .FCTR '$LI'MCR/LB:BLKSUB:$FDUCB:GTMNM:GNBLK:GTTSK-E.IFT $11MPL .DATA .NAME RPSOVVK.IFT $11MPL .DATA B3: .FCTR RPSOV-'$LI'MCR/LB:RPSOV:GETNUM:KEYWD:GTMNM-B3A 7.IFT $11MPL .DATA B3A: .FCTR LB:[1,1]SYSLIB/LB:ARITH-E'.IFT $11MPL .DATA .NAME RUNOV16.IFT $11MPL .DATA B4: .FCTR RUNOV-'$LI'MCR/LB:RUNOV-E.IFT $11MPL .DATA .NAME OPEOVVM.IFT $11MPL .DATA B5: .FCTR OPEOV-'$LI'MCR/LB:OPEOV:BRKOV:CBTO:COT2B:KEYWD-EA0.IFT $11MPL .DATA B6: .FCTR D1-(D2,D3,D4,D5,D6).IFT $11MPL .DATA .NAME SRTOVAJ.IFT $11MPL .DATA D1: .FCTR SRTOV-'$LI'MCR/LB:SRTOV:$FDUCB:GETNUM:GNBLK-E.IFT $11MPL .DATA .NAME SPROVB<.IFT $11MPL .DATA D2: .FCTR SPROV-'$LI'MCR/LB:SPROV:KEYWD-E.IFT $11MPL .DATA .NAME ST1OV]I.IFT $11MPL .DATA D3: .FCTR ST1OV-'$LI'MCR/LB:ST1OV:REQCOT:FMTDV:GTKRB-E:.IFT $11MPL .DATA .NAME ST2OVC.IFT $11MPL .DATA D4: .FCTR ST2OV-'$LI'MCR/LB:ST2OV:$TSPAR:MDPOV-E'.IFT $11MPL .DATA .NAME SFDOV:<.IFT $11MPL .DATA D5: .FCTR SFDOV-'$LI'MCR/LB:SFDOV:FMTDV-E.IFT $11MPL .DATA .NAME ST3OV6.IFT $11MPL .DATA D6: .FCTR ST3OV-'$LI'MCR/LB:ST3OV-E.IFT $11MPL .DATA .NAME CLQOV.6.IFT $11MPL .DATA B9: .FCTR CLQOV-'$LI'MCR/LB:CLQOV-E.IFT $11MPL .DATA .NAME SWROV1<.IFT $11MPL .DATA C1: .FCTR SWROV-'$LI'MCR/LB:SWROV:COT2B-E.IFT $11MPL .DATA .NAME FLAOVR<.IFT $11MPL .DATA C2: .FCTR FLAOV-'$LI'MCR/LB:FLAOV:GNBLK-E.IFT $11MPL .DATA .NAME DEBOVSB.IFT $11MPL .DATA C3: .FCTR DEBOV-'$LI'MCR/LB:DEBOV:GTTSK:GTMNM-E.IFT $11MPL .DATA .NAME ALLOV?\.IFT $11MPL .DATA C4: .FCTR ALLOV-'$LI'MCR/LB:ALLOV:ALLSUB-C4A.Q.IFT $11MPL .DATA C4A: .FCTR '$LI'MCR/LB:$FDUCB:FMTDV:GNBLK:$WRTMS:KEYWD:EDCKP-EA.IFT $11MPL .DATA .NAME LUNOVH.IFT $11MPL .DATA C5: .FCTR LUNOV-'$LI'MCR/LB:LUNOV:GTTSK:GTMNM:FMTDV-E.IFT $11MPL .DATA .NAME CLIOVC.IFT $11MPL .DATA C6: .FCTR CLIOV-'$LI'MCR/LB:CLIOV:BLKSUB:GNBLK-E'.IFT $11MPL .DATA -.IFT $11MPL .DATA E: .FCTR LB:[1,1]EXELIB/LB..IFT $11MPL .DATA '.IFT $11MPL .DATA .END.IFT $11MPL .CLOSEA .EXIT 1.;$.; Exit for error encountered by IND.;.ERXIT: .EXIT 44A.Q.IFT $11MPL .DATA C4A: .FCTR '$LI'MCR/LB:$FDUCB:FMTDV:GNBLK:$WRTMS:KEYWD:EDCKP-EA.IFT $11MPL .DATA .NAME LUNOVH.IFT $11MPL .DATA C5: .FCTR LUNOV-'$LI'MCR/LB:LUNOV:GTTSK:GTMNM:FMTDV-E.IFT $11MPL .DATA .NAME CLIOVC.IFT $11MPL .DATA C6: .FCTR CLIOV-'$LI'MCR/LB:CLIOV:BLKSUB:GNBLK-E'.IFT $11MPL .DATA -.IFT $11MPL .DATA E: .FCTR LB:[1,1]EXELIB/LB..IFT $11MPL .DATA '.IFT $11MPL .DATA .END.IFT $11MPL .CLOSEA .EXIT 1.;]BACKUPDR1:[12,304]MCMBLD .BLD;1  L LK:$WRTMPUKCAB].]L Qdd29DEC8110302429DEC811030234] .ONERR ERXIT .ENABLE SUBSTITUTION .ENABLE GLOBAL .SETF $UTYP1.;.; GENERATE MCMBLD.CMD.; .OPEN '$CL'MCMBLD.CMD .DATA ;1 .DATA ; TKB .CMD FILE FOR MCM (MULTI-USER MCR) .DATA ; '$COM' .DATA ; CREATED BY '$BLDID' .DATA ; .DATA ; PRIMARY .DATA ;< .DATA '$TK'MCRMU/-SG/PR/AL/-SE/-FP'$MMSW','$MP'MCRMU/-SP= .DATA '$OD'MCMBLD/MP .DATA UNITS=4 .DATA ASG=TI:1& .DATA ASG=TI:4 ; ERROR MESSAGE LUN .DATA STACK=64 .DATA TASK=MCR... .DATA PRI=160 .DATA PAR='$SYPAR'T .DATA / .DATA ; .DATA ; SECONDARY .DATA ;5 .DATA '$TK'SYS/-SG/PR/-SE/-FP'$MMSW','$MP'SYS/-SP=; .DATA '$OD'SYSBLD/MPE .DATA UNITS=4 .DATA ASG=TI:1; .DATA ASG=CL:2; .DATA ASG=SY:3'& .DATA ASG=TI:4 ; ERROR MESSAGE LUN .DATA STACK=64' .DATA TASK=...MCR .DATA PRI=160 .DATA PAR=GEN:'$GPB':20000 .DATA / .CLOSE..;.; GENERATE MCMBLD.ODL.; .OPEN '$CL'MCMBLD.ODL .DATA ;9 .DATA ; TKB .ODL FILE FOR MCM (MULTI-USER MCR PRIMARY)' .DATA ; '$COM'/ .DATA ; CREATED BY '$BLDID' .DATA ; .DATA .NAME MCROOT= .DATA .ROOT MCROOT-'$LI'MCR/LB:MCROOT-E-'$TK'RSX11M.STB-A  .DATA A: .FCTR (A1,A2,A3) .DATA .NAME MCROV;/ .DATA A1: .FCTR MCROV-'$LI'MCR/LB:MCRDIS-M-EM .DATA .NAME ERROVA5 .DATA A2: .FCTR ERROV-'$LI'MCR/LB:ERROV:ERRMSG-M-EA .DATA .NAME PR1OV: .DATA A3: .FCTR PR1OV-'$LI'MCR/LB:PR1OV:ABOOV:FIXOV-M-E .DATA C# .DATA E: .FCTR LB:[1,1]EXELIB/LB. .DATA R .DATA M: .FCTR '$LI'MCR/LB .DATA ' .DATA .END .CLOSEB.;.; GENERATE SYSBLD.ODL.; .OPEN '$CL'SYSBLD.ODL .DATA ;; .DATA ; TKB .ODL FILE FOR SYS (MULTI-USER MCR SECONDARY)A .DATA ; '$COM'  .DATA ; CREATED BY '$BLDID' .DATA ; .DATA .NAME SYSROTL .DATA .ROOT SYSROT-'$LI'SYSROT-'$LI'MCR/LB:MCRDEF-E-'$TK'RSX11M.STB/SS-AF .DATA A: .FCTR (A1,A2,A3,A5,A6,A7,A8,A9,B1,B1A,B2,B3,B4,B5,B6,B9,C)% .DATA C: .FCTR (C1,C2,C4,C5,C6,C7)  .DATA .NAME SYSOV.. .]DATA A1: .FCTR SYSOV-'$LI'MCR/LB:SYSOV-M-E .DATA .NAME ERROV.5 .DATA A2: .FCTR ERROV-'$LI'MCR/LB:ERROV:ERRMSG-M-EY .DATA .NAME ALLOV5 .DATA A3: .FCTR ALLOV-'$LI'MCR/LB:ALLOV:ALLSUB-M-EY .DATA .NAME ALTOV4 .DATA A5: .FCTR ALTOV-'$LI'MCR/LB:ALTOV:REDOV-M-E .DATA .NAME ASNOV . .DATA A6: .FCTR ASNOV-'$LI'MCR/LB:ASNOV-M-E .DATA .NAME RAPOV.4 .DATA A7: .FCTR RAPOV-'$LI'MCR/LB:RAPOV:REAOV-M-E .DATA .NAME ATLOVC. .DATA A8: .FCTR ATLOV-'$LI'MCR/LB:ATLOV-M-E .DATA .NAME TIMOVR. .DATA A9: .FCTR TIMOV-'$LI'MCR/LB:TIMOV-M-E .DATA .NAME DEVOVR. .DATA B1: .FCTR DEVOV-'$LI'MCR/LB:DEVOV-M-E .DATA .NAME DV2OVA/ .DATA B1A: .FCTR DV2OV-'$LI'MCR/LB:DV2OV-M-E. .DATA .NAME TASOV.. .DATA B2: .FCTR TASOV-'$LI'MCR/LB:TASOV-M-E .DATA .NAME RPSOV . .DATA B3: .FCTR RPSOV-'$LI'MCR/LB:RPSOV-M-E .DATA .NAME RUNOV.. .DATA B4: .FCTR RUNOV-'$LI'MCR/LB:RUNOV-M-E .DATA .NAME OPEOV 4 .DATA B5: .FCTR OPEOV-'$LI'MCR/LB:OPEOV:BRKOV-M-E3 .DATA B6: .FCTR D1-(D2,D3,D4,D5,D6,D7,D8,D9,D10)L .DATA .NAME CLQOV.. .DATA B9: .FCTR CLQOV-'$LI'MCR/LB:CLQOV-M-E .DATA .NAME SSMOV.. .DATA C1: .FCTR SSMOV-'$LI'MCR/LB:SSMOV-M-E .DATA .NAME FLAOV . .DATA C2: .FCTR FLAOV-'$LI'MCR/LB:FLAOV-M-E .DATA .NAME DEAOV . .DATA C4: .FCTR DEAOV-'$LI'MCR/LB:DEAOV-M-E .DATA .NAME PAROV . .DATA C5: .FCTR PAROV-'$LI'MCR/LB:PAROV-M-E .DATA .NAME LUNOV . .DATA C6: .FCTR LUNOV-'$LI'MCR/LB:LUNOV-M-E .DATA .NAME CLIOVM. .DATA C7: .FCTR CLIOV-'$LI'MCR/LB:CLIOV-M-E .DATA .NAME SRTOVM@ .DATA D1: .FCTR SRTOV-'$LI'MCR/LB:SRTOV:$FDUCB:GNBLK:GETNUM-E .DATA .NAME SPSOVA. .DATA D2: .FCTR SPSOV-'$LI'MCR/LB:SPSOV-M-E .DATA .NAME ST1OVA5 .DATA D3: .FCTR ST1OV-'$LI'MCR/LB:ST1OV:REQCOT-M-E  .DATA .NAME ST2OVC. .DATA D4: .FCTR ST2OV-'$LI'MCR/LB:ST2OV-M-E .DATA .NAME ST3OVC. .DATA D5: .FCTR ST3OV-'$LI'MCR/LB:ST3OV-M-E .DATA .NAME ST4OVC4 .DATA D6: .FCTR ST4OV-'$LI'MCR/LB:ST4OV:MDPOV-M-E .DATA  ].NAME SX1OVI4 .DATA D7: .FCTR SX1OV-'$LI'MCR/LB:SX1OV:STSUB-M-E .DATA .NAME SX2OVL4 .DATA D8: .FCTR SX2OV-'$LI'MCR/LB:SX2OV:STSUB-M-E .DATA .NAME SX3OVC4 .DATA D9: .FCTR SX3OV-'$LI'MCR/LB:SX3OV:STSUB-M-E .DATA .NAME SX4OV15 .DATA D10: .FCTR SX4OV-'$LI'MCR/LB:SX4OV:STSUB-M-EC .DATA D# .DATA E: .FCTR LB:[1,1]EXELIB/LB .DATA N .DATA M: .FCTR '$LI'MCR/LBS .DATA .END .CLOSE .EXIT 1.;$.; Exit for error encountered by IND.;.ERXIT: .EXIT 4 .DATA ^BACKUPDR1:[12,304]PMDBLD .BLD;1  X6R/LB:SX2PUKCAB@^.^X V fdd29DEC8110302529DEC81103024 J^ .ONERR ERXIT .ENABLE SUBSTITUTION .ENABLE GLOBAL .SETT $UTYP1.;.; GENERATE PMDBLD.CMD.; .OPEN '$CL'PMD'$TYP1'BLD.CMD .DATA ; .DATA ; TKB .CMD FILE FOR PMD .DATA ; '$COM'(.IFF $FCSTK .DATA ; LINKING TO '$RSLIB'!.IFT $FCSTK .DATA ; USING SYSLIB .DATA ; CREATED BY '$BLDID' .DATA ;> .DATA '$TK'PMD'$TYP2'/-FP/CP/PR'$MMSW','$MP'PMD'$TYP2'/-SP= .DATA '$OD'PMD'$TYP1'BLD/MP .DATA TASK=PMD... .DATA UNITS=4 .DATA ASG=SY:1 .DATA ASG=SY:2& .DATA ASG=TI:3 ; ERROR MESSAGE LUN .DATA ASG=SY:4O .DATA PAR='$GEN' .DATA PRI=140 .DATA STACK=128.IFF $FCSTK .DATA '$LIBOP'N.IFT $FCSTK .DATA GBLDEF=$CDDMG:1 ; $CDDMG ISN''T NEEDED SO DON''T INCLUDE IT .DATA I .DATA ;@ .DATA ; $DFCTL DEFINES THE DUMP OPTIONS FOR A POSTMORTEM DUMP .DATA ;# .DATA ; BIT 0 SC.HDR DUMP HEADER/! .DATA ; BIT 1 SC.LUN DUMP LUNS.4 .DATA ; BIT 2 SC.OVL DUMP LOADED OVERLAY SEGMENTS .DATA ;" .DATA ; BIT 3 SC.STK DUMP STACK6 .DATA ; BIT 4 SC.WRD DUMP MEMORY IN WORDS AND RAD506 .DATA ; BIT 5 SC.BYT DUMP MEMORY IN BYTES AND ASCII .DATA ;! .DATA GBLPAT=PMD:$DFCTL:000077T .DATA A .DATA ;M .DATA ; $DFDEV DEFINES THE DEVICE WHERE POSTMORTEM DUMP FILES WILL BE SENT. .DATA ;@ .DATA ; $DFDEV MUST BE TWO ASCII CHARACTERS, I.E. 054523 = SY .DATA ;! .DATA GBLPAT=PMD:$DFDEV:054523T .DATA U .DATA ;4 .DATA ; $DFUNT DEFINES THE UNIT NUMBER FOR $DFDEV .DATA ;! .DATA GBLPAT=PMD:$DFUNT:000000 .DATA T .DATA UIC=[1,4] .DATA A .DATA ;S .DATA ; $DFSPL DETERMINES WHETHER POSTMORTEM AND SNAPSHOT DUMP FILES ARE SPOOLED: .DATA ;! .DATA ; 0 -- DO NOT SPOOL FILEA .DATA ; 1 -- SPOOL FILE .DATA ; .DATA GBLPAT=PMD:$DFSPL:1 .DATA ; .DATA / .CLOSET.;.; GENERATE PMDBLD.ODL.; .OPEN '$CL'PMD'$TYP1'BLD.ODLG .DATA ; .DATA ; TKB .ODL FILE FOR PMD .DATA ; '$COM'N(.IFF $FCSTK .DATA ; LINKING TO '$RSLIB'!.IFT $FCSTK .DATA ; USING SYSLIB0 .^DATA ; CREATED BY '$BLDID' .DATA ;.; .; FOR 11M.;R.IFT $11M .IFT $FCSTK .DATA .ROOT PMDROT-*(OV1,OV2,OV3,OV4-(OV5,OV6,OV7,OV8,OV9))D.IFT $11M .IFT $FCSTK .DATA PMDROT: .FCTR '$LI'PMD/LB:PMD:PMDGBL-S-EC.IFT $11M .IFT $FCSTK .DATA OV1: .FCTR LB:[1,1]SYSLIB/LB:OPEN:FINITAE.IFT $11M .IFT $FCSTK .DATA OV2: .FCTR LB:[1,1]SYSLIB/LB:$PRINT:CLOSE';.IFT $11M .IFT $FCSTK .DATA OV3: .FCTR '$LI'PMD/LB:PMDINI-EAD.IFT $11M .IFT $FCSTK .DATA OV4: .FCTR LB:[1,1]SYSLIB/LB:EDTMG:PUTSQL.IFT $11M .IFT $FCSTK .DATA OV5: .FCTR '$LI'PMD/LB:DUMP1-'$LI'MCR/LB:FMTDV-EL.IFT $11M .IFT $FCSTK .DATA OV6: .FCTR '$LI'PMD/LB:DUMP2-'$LI'MCR/LB:FMTDV-E@.IFT $11M .IFT $FCSTK .DATA OV7: .FCTR '$LI'PMD/LB:DUMP3:DUMP5-E:.IFT $11M .IFT $FCSTK .DATA OV8: .FCTR '$LI'PMD/LB:DUMP4-E:.IFT $11M .IFT $FCSTK .DATA OV9: .FCTR '$LI'PMD/LB:DUMP6-E.;.;4.IFT $11M .IFT $FRLTK .DATA .ROOT PMDROT-*(OV1,OV2)V.IFT $11M .IFT $FRLTK .DATA PMDROT: .FCTR '$LI'PMD/LB:PMD:PMDGBL-'$LI'MCR/LB:FMTDV-S-EI.IFT $11M .IFT $FRLTK .DATA OV1: .FCTR '$LI'PMD/LB:PMDINI:DUMP1-CAT5B-S-EMT.IFT $11M .IFT $FRLTK .DATA OV2: .FCTR '$LI'PMD/LB:DUMP2:DUMP3:DUMP4:DUMP5:DUMP6-S-E.;.; FOR 11M-PLUS .;T.IFT $11MPL .IFT $FCSTK .DATA .ROOT PMDROT-*(OV1,OV2,OV3,OV4-(OV5,OV6,OV7,OV8,OV9))F.IFT $11MPL .IFT $FCSTK .DATA PMDROT: .FCTR '$LI'EUT/LB:PMD:PMDGBL-S-EE.IFT $11MPL .IFT $FCSTK .DATA OV1: .FCTR LB:[1,1]SYSLIB/LB:OPEN:FINITVG.IFT $11MPL .IFT $FCSTK .DATA OV2: .FCTR LB:[1,1]SYSLIB/LB:$PRINT:CLOSE'=.IFT $11MPL .IFT $FCSTK .DATA OV3: .FCTR '$LI'EUT/LB:PMDINI-ELF.IFT $11MPL .IFT $FCSTK .DATA OV4: .FCTR LB:[1,1]SYSLIB/LB:EDTMG:PUTSQN.IFT $11MPL .IFT $FCSTK .DATA OV5: .FCTR '$LI'EUT/LB:DUMP1-'$LI'MCR/LB:FMTDV-EN.IFT $11MPL .IFT $FCSTK .DATA OV6: .FCTR '$LI'EUT/LB:DUMP2-'$LI'MCR/LB:FMTDV-EB.IFT $11MPL .IFT $FCSTK .DATA OV7: .FCTR '$LI'EUT/LB:DUMP3:DUMP5-E<.IFT $11MPL .IFT $FCSTK .DATA OV8: .FCTR '$LI'EUT/LB:DUMP4-E<.IFT $11MPL .IFT $FCSTK .DATA OV9: .FCTR '$LI'EUT/LB:DUMP6-E.;.;6.IFT $11MPL .IFT $FRLTK .DATA .ROOT PMDROT-*(OV1,OV2)X.IFT $11MPL .IFT $FRLTK  ^.DATA PMDROT: .FCTR '$LI'EUT/LB:PMD:PMDGBL-'$LI'MCR/LB:FMTDV-S-EK.IFT $11MPL .IFT $FRLTK .DATA OV1: .FCTR '$LI'EUT/LB:PMDINI:DUMP1-CAT5B-S-EBV.IFT $11MPL .IFT $FRLTK .DATA OV2: .FCTR '$LI'EUT/LB:DUMP2:DUMP3:DUMP4:DUMP5:DUMP6-S-E.;.;6.IFT $11MPL .IFT $FSLTK .DATA .ROOT PMDROT-*(OV1,OV2)X.IFT $11MPL .IFT $FSLTK .DATA PMDROT: .FCTR '$LI'EUT/LB:PMD:PMDGBL-'$LI'MCR/LB:FMTDV-S-EK.IFT $11MPL .IFT $FSLTK .DATA OV1: .FCTR '$LI'EUT/LB:PMDINI:DUMP1-CAT5B-S-E V.IFT $11MPL .IFT $FSLTK .DATA OV2: .FCTR '$LI'EUT/LB:DUMP2:DUMP3:DUMP4:DUMP5:DUMP6-S-E.;.;7.IFF $FCSTK .DATA CAT5B: .FCTR LB:[1,1]SYSLIB/LB:CAT5BC+.IFT $FCSTK .DATA S: .FCTR '$TK'RSX11M.STB$..IFF $FCSTK .DATA S: .FCTR '$TK'RSX11M.STB/SS# .DATA E: .FCTR LB:[1,1]EXELIB/LB .DATA .END .CLOSE .EXIT 1.;$.; Exit for error encountered by IND.;.ERXIT: .EXIT 4$LI'EUT/LB:PMD:PMDGBL-'$LI'MCR/LB:FMTDV-S-EK.IFT $11MPL .IFT $FSLTK .DATA OV1: .FCTR '$LI'EUT/LB:PMDINI:DUMP1-CAT5B-S-E V.IFT $11MPL .IFT $FSLTK .DATA OV2: .FCTR '$LI'EU_BACKUPDR1:[12,304]SAVBLD .BLD;1  ^6II:DUMP1-PUKCABi _._^ vdd29DEC8110302629DEC81103025 ^_ .ONERR ERXIT .ENABLE SUBSTITUTION .ENABLE GLOBAL .SETF $UTYP1.;.; GENERATE SAVBLD.CMD.; .OPEN '$CL'SAVBLD.CMD .DATA ; .DATA ; TKB .CMD FILE FOR SAV .DATA ; '$COM' .DATA ; CREATED BY '$BLDID' .DATA ;0 .DATA '$TK'SAV/PR/AL/-FP'$MMSW','$MP'SAV/-SP= .DATA '$OD'SAVBLD/MP .DATA TASK=...SAV .DATA UNITS=3, .DATA ASG=TI:1 ; USED FOR ERROR MESSAGES. .DATA ASG=LB:2 ; USED FOR SYSTEM IMAGE AND' .DATA ; TASK HEADER MANIPULATIONS) .DATA ASG=LB:3 ; USED FOR LUN BINDINGB'.IFT $11MPL .DATA ; AND DISK SIZING$ .DATA PAR='$GEN'T .DATA PRI=1006 .DATA GBLDEF=$EFN1:1 ; EVENT FLAG ON WHICH TO WAITA.IFT $11MPL .DATA GBLDEF=.SIZEF:1 ; EVENT FLAG FOR HRSIZ TO USE'.IFT $11MPL .DATA ; FOR DISK SIZINGM1 .DATA GBLDEF=$LUN1:1 ; LUN FOR ERROR MESSAGESA3 .DATA GBLDEF=$LUN2:2 ; LUN FOR SYSTEM IMAGE AND;' .DATA ; TASK HEADER MANIPULATIONS:/ .DATA GBLDEF=.SIZLU:3 ; LUN FOR LUN BINDINGK'.IFT $11MPL .DATA ; AND DISK SIZING .DATA / .CLOSEB.;.; GENERATE SAVBLD.ODL.; .OPEN '$CL'SAVBLD.ODL .DATA ; .DATA ; TKB .ODL FILE FOR SAV .DATA ; '$COM'N .DATA ; CREATED BY '$BLDID' .DATA ;.IFT $11M .DATA ;.IFT $11M .DATA ;Limitations:.IFT $11M .DATA ;V.IFT $11M .DATA ; $CRSIZ (in module SAVSIZ) should not fall between virtual addresses$.IFT $11M .DATA ; 140000 and 160000.IFT $11M .DATA ;U.IFT $11M .DATA ; $VBN1 (in module SAVBOT) should not fall between virtual addressesN$.IFT $11M .DATA ; 140000 and 160000.IFT $11M .DATA ;.IFT $11M .DATA ;R.IFT $11M .DATA ; Module SAVDF contains the starting address of the driver table L.IFT $11M .DATA ; and must be the first entry in the co-tree structure..IFT $11M .DATA ;K.IFT $11M .DATA ; Module SAVDR contains the last word of the driver table aK.IFT $11M .DATA ; and must be the last entry in the co-tree structure. .IFT $11M .DATA ;.IFT $11MPL .DATA ;*.IFT $11MPL .DATA ; This ODL file should:.IFT $11MPL _ .DATA ;L.IFT $11MPL .DATA ; insure that the modules SAVE and SAVVEC are in the rootH.IFT $11MPL .DATA ; and have addresses in the range of 120000 to 137777.IFT $11MPL .DATA ;P.IFT $11MPL .DATA ; not give the module SAVSIZ virtual addresses between 120000.IFT $11MPL .DATA ; and 140000s.IFT $11MPL .DATA ;K.IFT $11MPL .DATA ; make SAVDK the first module of the form SAVxx, becauserC.IFT $11MPL .DATA ; SAVDK contains the starting address of a table .IFT $11MPL .DATA ;J.IFT $11MPL .DATA ; make SAVCM the last module of the form SAVxx, becauseC.IFT $11MPL .DATA ; SAVCM contains the terminating zero of a tables.IFT $11MPL .DATA ;%.IFT $11M .DATA .ROOT SAVROT,SAVDRVIV.IFT $11M .DATA SAVROT: .FCTR SAVR1-SAVR2-SAVR3-EXTER-(SAVC1,SAVC2,SAVC3,SAVST,SAVFN)5.IFT $11M .DATA SAVR1: .FCTR '$LI'SAV/LB:SAVE:SAVSIZ17.IFT $11M .DATA SAVR2: .FCTR '$LI'SAV/LB:SAVBOT:SAVSUBx0.IFT $11M .DATA SAVR3: .FCTR '$LI'SAV/LB:SAVINS?.IFT $11M .DATA EXTER: .FCTR '$TK'RSX11M.STB-LB:[1,1]EXELIB/LB S.IFT $11M .DATA SAVC1: .FCTR '$LI'SAV/LB:SAVC1-LB:[1,1]EXELIB/LB-'$LI'MCR/LB:GNBLKSS.IFT $11M .DATA SAVC2: .FCTR '$LI'SAV/LB:SAVC2-LB:[1,1]EXELIB/LB-'$LI'MCR/LB:FMTDVAS.IFT $11M .DATA SAVC3: .FCTR '$LI'SAV/LB:SAVC3-'$LI'MCR/LB:FMTDV-LB:[1,1]EXELIB/LB,/.IFT $11M .DATA SAVST: .FCTR '$LI'SAV/LB:SAVST 6.IFT $11M .DATA SAVFN: .FCTR '$LI'SAV/LB:SAVFN:SAVCPU.IFT $11M .DATA .NAME SAVNULW.IFT $11M .DATA SAVDRV: .FCTR SAVNUL-SAVDRT-(SAVDK,SAVDX,SAVDY,SAVDF,SAVDS,SAVDB,DRV1)X1.IFT $11M .DATA SAVDRT: .FCTR '$LI'SAV/LB:SAVDRT F.IFT $11M .DATA DRV1: .FCTR SAVDP,SAVDT,SAVDM,SAVDL,SAVEM,SAVDU,SAVDR/.IFT $11M .DATA SAVDK: .FCTR '$LI'SAV/LB:SAVDKL/.IFT $11M .DATA SAVDX: .FCTR '$LI'SAV/LB:SAVDX /.IFT $11M .DATA SAVDY: .FCTR '$LI'SAV/LB:SAVDY]/.IFT $11M .DATA SAVDF: .FCTR '$LI'SAV/LB:SAVDFV/.IFT $11M .DATA SAVDS: .FCTR '$LI'SAV/LB:SAVDSV/.IFT $11M .DATA SAVDB: .FCTR '$LI'SAV/LB:SAVDB/.IFT $11M .DATA SAVDP: .FCTR '$LI'SAV/LB:SAVDPD/.IFT $11M .DATA SAVDT: .FCTR '$LI'SAV/LB:SAVDT /.IFT $11M .DATA SAV _DM: .FCTR '$LI'SAV/LB:SAVDM1/.IFT $11M .DATA SAVDL: .FCTR '$LI'SAV/LB:SAVDLM/.IFT $11M .DATA SAVEM: .FCTR '$LI'SAV/LB:SAVEMS/.IFT $11M .DATA SAVDU: .FCTR '$LI'SAV/LB:SAVDUS/.IFT $11M .DATA SAVDR: .FCTR '$LI'SAV/LB:SAVDRS.IFT $11MPL .DATA .ROOT SAVROTV1.IFT $11MPL .DATA .PSECT DRVTAB,RW,D,GBL,REL,CONSP.IFT $11MPL .DATA SAVROT: .FCTR '$LI'SAV/LB:SAVE:SAVVEC-EXTERN-!(SAVRS1,SAVRS2)E.IFT $11MPL .DATA EXTERN: .FCTR '$TK'RSX11M.STB/SS-LB:[1,1]EXELIB/LBF.IFT $11MPL .DATA ;2.IFT $11MPL .DATA ; FIRST MEMORY RESIDENT OVERLAYE.IFT $11MPL .DATA ; THIS OVERALY CONTAINS STUFF USED IN BRINGING THEM!.IFT $11MPL .DATA ; SYSTEM DOWN.1.IFT $11MPL .DATA ;^.IFT $11MPL .DATA SAVRS1: .FCTR '$LI'SAV/LB:SAVC1:SAVC3:SAVST:SCNDV-SAVDRV-EXTERN-GNBLK-FMTDVY.IFT $11MPL .DATA SAVDRV: .FCTR '$LI'SAV/LB:SAVBOT:SAVVB1:SAVDK:SAVDP:SAVDL:SAVCM-DRVTABR1.IFT $11MPL .DATA GNBLK: .FCTR '$LI'MCR/LB:GNBLKI1.IFT $11MPL .DATA FMTDV: .FCTR '$LI'MCR/LB:FMTDVB.IFT $11MPL .DATA ;3.IFT $11MPL .DATA ; SECOND MEMORY RESIDENT OVERLAYEE.IFT $11MPL .DATA ; THIS OVERALY CONTAINS STUFF USED IN BRINGING THEN2.IFT $11MPL .DATA ; SYSTEM UP (EXCEPT FOR SAVC2)..IFT $11MPL .DATA ;4.IFT $11MPL .DATA SAVRS2: .FCTR SAVSAV-EXTERN-FMTDVY.IFT $11MPL .DATA SAVSAV: .FCTR '$LI'SAV/LB:SAVFN:SAVINS:SAVC2:SAVSIZ:SAVSUB:SCNDV:HRSIZO .DATA .END .CLOSES .EXIT 1.;$.; Exit for error encountered by IND.;.ERXIT: .EXIT 4 .DATA FMTDV: .FCTR '$LI'MCR/LB:FMTDVB.IFT $11MPL .DATA ;3.IFT $11MPL .DATA ; SECOND MEMORY R`BACKUPDR1:[12,304]SHFBLD .BLD;1,IcVEMS/.IPUKCAB;`.`,xdd29DEC8110302729DEC81103026U` .ONERR ERXIT .ENABLE SUBSTITUTION .ENABLE GLOBAL .SETF $UTYP1.;.; GENERATE SHFBLD.CMD.; .OPEN '$CL'SHFBLD.CMD .DATA ; .DATA ; TKB .CMD FILE FOR SHF .DATA ; '$COM' .DATA ; CREATED BY '$BLDID' .DATA ;, .DATA '$TK'SHF/PR/AL/-FP/MM,'$MP'SHF/-SP=.IFT $11M .DATA '$LI'SHUFL$.IFT $11MPL .DATA '$LI'EUT/LB:SHUFL .DATA '$TK'RSX11M.STB/SS .DATA LB:[1,1]EXELIB/LB .DATA / .DATA WNDWS=2 .DATA UNITS=0 .DATA TASK=SHF... .DATA STACK=10 .DATA PRI=105 .DATA PAR='$SYPAR'O .DATA / .CLOSE .EXIT 1.;$.; Exit for error encountered by IND.;.ERXIT: .EXIT 4 .DATA ; .DATA ; TKB .CMD FILE FOR SHF .DATA ; '$COM' .DATA ; CREATED BY '$BLDID' .DATA ;, .DATA '$TK'SHF/PR/AL/-FP/MM,'$MP'SHF/-SP=.IFT $11M .DATA '$LI'SHUFL$.IFT $11MPL .DATA '$LI'EUT/LB:SHUFL .DATA '$TK'RSX11M.STB/SS .DATA LB:[1,1]EXELIB/LB .DATA / .DATA WNDWS=2 .DATA UNITS=0 .DATA TASK=SHF... .DATA STACK=10aBACKUPDR1:[12,304]SHUBLD .BLD;1Kcz '$CL'SHPUKCAB}<a.aKxdd29DEC8110302829DEC81103027+Wa .ONERR ERXIT .ENABLE SUBSTITUTION .ENABLE GLOBAL.;.; Generate SHUBLD.CMD.; .SETF $UTYP1 .OPEN '$CL'SHUBLD.CMD .DATA ;$ .DATA ; TKB BUILD FILE FOR SHUTUP .DATA ; '$COM' .DATA ; CREATED BY '$BLDID' .DATA ;K .DATA '$TK'SHUTUP/PR/AL/-FP'$MMSW','$MP'SHUTUP/-SP='$LI'MLTUSR/LB:SHUTUP.IFT $11M .DATA '$LI'MCR/LB.;0.IFT $11MPL .DATA '$LI'MCR/LB:FMTDV:GTTSK:GTMNM.;* .DATA '$TK'RSX11M.STB,LB:[1,1]EXELIB/LB .DATA / .DATA TASK=SHUTUP .DATA STACK=64. .DATA UNITS=9 .DATA ASG=TI:1 .DATA GBLDEF=ATTIM:170; .DATA PAR='$GEN' .DATA / .CLOSE .EXIT 1.;$.; Exit for error encountered by IND.;.ERXIT: .EXIT 4.DATA ; '$COM' .DATA ; CREATED BY '$BLDID' .DATA ;K .DATA '$TK'SHUTUP/PR/AL/-FP'$MMSW','$MP'SHUTUP/-SP='$LI'MLTUSR/LB:SHUTUP.IFT $11M .DATA '$LI'MCR/LB.;0.IFT $11MPL .DATA '$LI'MCR/LB:FMTDV:GTTSK:GTMNM.;* .DATA '$TK'RSX11M.STB,LB:[1,1]EXELIB/LB .DATA / .DATA TASK=SHUTUP .DATA STAbBACKUPDR1:[12,304]TKNBLD .BLD;14z  '$CL'SHPUKCABmb.b4~dd29DEC8110302929DEC81103028^b .ONERR ERXITS .ENABLE SUBSTITUTIONL .ENABLE GLOBAL; .SETF $UTYP1o.;.; GENERATE TKNBLD.CMD.; .OPEN '$CL'TKNBLD.CMD .DATA ; .DATA ; TKB .CMD FILE FOR TKN .DATA ; '$COM'  .DATA ; CREATED BY '$BLDID' .DATA ;4 .DATA '$TK'TKN/-FP/-SE/AL/PR'$MMSW','$MP'TKN/-SP= .DATA '$LI'MCR/LB:TKTNT$.IFT $11MPL .DATA '$LI'MCR/LB:TISET .DATA LB:[1,1]EXELIB/LB .DATA '$TK'RSX11M.STB .DATA / .DATA PRI=248 .DATA UNITS=1( .DATA ASG=TI:1 ; TERMINAL OUTPUT LUN .DATA STACK=25  .DATA PAR='$SYPAR' .DATA TASK=TKTN .DATA / .CLOSE; .EXIT 1.;$.; Exit for error encountered by IND.;.ERXIT: .EXIT 4B .CMD FILE FOR TKN .DATA ; '$COM'  .DATA ; CREATED BY '$BLDID' .DATA ;4 .DATA '$TK'TKN/-FP/-SE/AL/PR'$MMSW','$MP'TKN/-SP= .DATA '$LI'MCR/LB:TKTNT$.IFT $11MPL .DATA '$LI'MCR/LB:TISET .DATA LB:[1,1]EXELIB/LB .DATA '$TK'RSX11M.STB .DATA / .DATA PRI=248 .DATA UNITS=1( .DATA ASG=TI:1 ; TERMINAL OUTPUT LcBACKUPDR1:[12,304]UNLBLD .BLD;1C' '  '$CL'TKPUKCAB8c.cCd|dd29DEC8110303029DEC81103030)_c .ONERR ERXIT .ENABLE SUBSTITUTION .ENABLE GLOBAL .SETT $UTYP1.;.; GENERATE UNLBLD.CMD.; .OPEN '$CL'UNL'$TYP1'BLD.CMD .DATA ; .DATA ; TKB .CMD FILE FOR UNL .DATA ; '$COM' .DATA ; USING SYSLIB .DATA ; CREATED BY '$BLDID' .DATA ;C .DATA '$TK'UNL'$TYP2'/PR/-FP/-CP/-IP'$MMSW','$MP'UNL'$TYP2'/-SP=( .DATA '$LI'LOA/LB:UNLCTL:UNLFIL:DFSYM$.IFT $11MPL .DATA '$LI'LOA/LB:SCNDV9 .DATA '$LI'LOA/LB:GTBYT:ERMSG:IODAT:LDUIC:SYMTB:ICBDEF .DATA LB:[1,1]EXELIB/LB .DATA LB:[1,1]SYSLIB/LB:CAT5#.IFT $11M .DATA '$TK'RSX11M.STB%.IFT $11MPL .DATA '$TK'RSX11M.STB/SSP .DATA / .DATA TASK=...UNL .DATA STACK=64B .DATA UNITS=2 .DATA ASG=TI:1 .DATA PAR='$GEN'S .DATA PRI=50C .DATA / .CLOSE. .EXIT 1.;$.; Exit for error encountered by IND.;.ERXIT: .EXIT 4 .DATA '$LI'LOA/LB:UNLCTL:UNLFIL:DFSYM$.IFT $11MPL .DATA '$LI'LOA/LB:SCNDV9 .DATA '$LI'LOA/LB:GTBYT:ERMSG:IODAT:LDUIC:SYMTB:ICBDEF .DATA LB:[1,1dBACKUPDR1:[12,304]ICBLD .CMD;1/D T  '$CL'UNPUKCABd.d/8K29DEC8110303229DEC81103031~Ud;&; BUILD ICS/ICR-11 DEVICE COMMON BLOCK;,[1,1]ICOM/-HD/-MM/PI,,SY:ICOM=[1,20]ICOM.ICRLB:[1,1]SYSLIB/DL/%STACK=0 ; NO STACK FOR COMMON BLOCKSUNITS=0 ; NO LUNS/PAR=ICOM:171000:1000 ; SPECIFY DEVICE PARTITION/eBACKUPDR1:[12,304]IPBLD .CMD;1AT u K=0 ; NPUKCABe.eA:K29DEC8110303329DEC81103032uXeA; COMMAND FILE TO BUILD IP11/IP300 DEVICE COMMON, UNMAPPED SYSTEM;/[1,1]IPCOM/-HD/-MM/PI,,SY:IPCOM=[1,20]IPCOM.PCSLB:[1,1]SYSLIB/DL/STACK=0UNITS=0PAR=IPCOM:171000:1000/fBACKUPDR1:[12,304]ISBLD .CMD;1@u  LB:[1,1]PUKCABxf.f@:;K29DEC8110303429DEC81103033GZf;@; TASK BUILDER INDIRECT FILE TO BUILD THE DRS/DSS11 COMMON BLOCK;; ** UNMAPPED SYSTEM **;4[1,1]ISCOM/-MM/-HD/PI,,SY:[1,1]ISCOM=[1,20]ISCOM.IDSLB:[1,1]SYSLIB/DL/#STACK=0 ; ZERO STACK IS MANDATORY7PAR=ISCOM:XXXXXX:400 ; BASE ADDRESS MUST BE SET BY USER/gBACKUPDR1:[12,304]UDCBLD .CMD;10  /PI,,SY:PUKCABĬg.g0d29DEC8110303529DEC81103034ufg;!; BUILD UDC11 DEVICE COMMON BLOCK;/[1,1]UDCOM/-HD/-MM/PI,,SY:UDCOM=[1,20]UDCOM.UDCLB:[1,1]SYSLIB/DL/%STACK=0 ; NO STACK FOR COMMON BLOCKSUNITS=0 ; NO LUNS0PAR=UDCOM:171000:1000 ; SPECIFY DEVICE PARTITION/hBACKUPDR1:[12,304]ACNBLD .BLD;1R? ? K=0 ; NPUKCAB5h.hRdd29DEC8110303629DEC81103036Kh .ONERR ERXIT .ENABLE SUBSTITUTION .ENABLE GLOBAL.;.; Generate ACNBLD.CMD.; .SETT $UTYP1 .OPEN '$CL'ACN'$TYP1'BLD.CMD .DATA ;" .DATA ; TKB BUILD FILE FOR ACNT .DATA ; '$COM'!.IFT $FCSTK .DATA ; USING SYSLIB(.IFF $FCSTK .DATA ; LINKING TO '$RSLIB' .DATA ; CREATED BY '$BLDID' .DATA ;D .DATA '$TK'ACNT'$TYP2'/CP/-FP/PR/-IP'$MMSW','$MP'ACNT'$TYP2'/-SP= .DATA '$OD'ACN'$TYP1'BLD/MP .DATA TASK=ACNT .DATA UNITS=5 .DATA ASG=TI:1,SY:2:3.;.; FOR UNMAPPED 11M.;.IFF $MAPM .DATA PAR='$GENB'B.;(.; FOR MAPPED 11M OR 11M-PLUS W/O FCSRES.;'.IFT $MAPM .IFT $FCSTK .DATA PAR='$GEN'M.;.; FOR FCSRES TASK.;.IFF $FCSTK .DATA PAR='$GENX'.;.IFF $FCSTK .DATA '$LIBOP'U.;6.IFT $FCSTK .DATA EXTTSK=1000 ; EXTEND THE TASK SIZEB .DATA GBLDEF=N$MLIN:64 ; OCTAL NUMBER OF LINES PER PRINTED PAGE( .DATA GBLDEF=W$KLUN:4 ; WORKFILE LUN7 .DATA GBLDEF=N$MPAG:20 ; FAST PAGE SEARCH PAGE COUNTA= .DATA GBLDEF=W$KEXT:24 ; WORK FILE EXTENSION SIZE (BLOCKS)R .DATA GBLDEF=ENCRPT:0 ; ADDRESS OF PASSWORD ENCRYPTION SUBROUTINE (0=NOT USED)0 .DATA GBLDEF=T$KINC:256 ; TASK INCREMENT SIZE) .DATA GBLDEF=T$KMAX:0 ; TASK MAX SIZER .DATA / .CLOSET.;.; Generate ACNBLD.ODL.; .OPEN '$CL'ACN'$TYP1'BLD.ODLT .DATA ; .DATA ; TKB ODL FILE FOR ACNT .DATA ; '$COM'E!.IFT $FCSTK .DATA ; USING SYSLIBL(.IFF $FCSTK .DATA ; LINKING TO '$RSLIB' .DATA ; CREATED BY '$BLDID' .DATA ; .DATA .ROOT A-B-C-D-E? .DATA A: .FCTR '$LI'MLTUSR/LB:ACNT-'$LI'MCR/LB:ACTFIL:GETNUMSE .DATA B: .FCTR '$LI'MCR/LB-LB:[1,1]VMLIB/LB:VMDAT:MRKPG:ALVRT:CVRLCF .DATA C: .FCTR LB:[1,1]VMLIB/LB:FNDPG:ALBLK:RDPAG:RQVCB:GTCOR:EXTSK: .DATA D: .FCTR LB:[1,1]VMLIB/LB:INIVM-LB:[1,1]EXELIB/LBO.IFT $FCSTK .DATA E: .FCTR LB:[1,1]SYSLIB/LB:CATB:C5TA:CBTA-'$TK'RSX11M.STB/SSAF.IFF $FCSTK .DATA E: .FCTR LB:[1,1]SYSLIB/LB:CAT5B-'$TK'RSX11M.STB/SS .DATA ; .DATA .ENDA .CLOSEB .EXIT 1.;$.; Exit for error encountered by IND.;h.ERXIT: .EXIT 4SLB:ACNT-'$LI'MCR/LB:ACTFIL:GETNUMSE .DATA B: .FCTR '$LI'MCR/LB-LB:[1,1]VMLIB/LB:VMDAT:MRKPG:ALVRT:CVRLCF .DATA C: .FCTR LB:[1,1]VMLIB/LB:FNDPG:ALBLK:RDPAG:RQVCB:GTCOR:EXTSK: .DATA D: .FCTR LB:[1,1]VMLIB/LB:INIVM-LB:[1,1]EXELIB/LBO.IFT $FCSTK .DATA E: .FCTR LB:[1,1]SYSLIB/LB:CATB:C5TA:CBTA-'$TK'RSX11M.STB/SSAF.IFF $FCSTK .DATA E: .FCTR LB:[1,1]SYSLIB/LB:CAT5B-'$TK'RSX11M.STB/SS .DATA ; .DATA .ENDA .CLOSEB .EXIT 1.;$.; Exit for error encountered by IND.;iBACKUPDR1:[12,304]BROBLD .BLD;1;D D  '$CL'ACPUKCABxi.i;_dd29DEC8110303729DEC81103037i .ONERR ERXIT .ENABLE SUBSTITUTION .ENABLE GLOBAL.;.; Generate BROBLD.CMD.; .SETF $UTYP1 .OPEN '$CL'BROBLD.CMD .DATA ;! .DATA ; TKB BUILD FILE FOR BRO .DATA ; '$COM' .DATA ; CREATED BY '$BLDID' .DATA ;- .DATA '$TK'BRO/PR/-FP'$MMSW','$MP'BRO/-SP=&.IFT $11M .DATA '$LI'MLTUSR/LB:BROADC;.IFT $11MPL .DATA '$LI'MLTUSR/LB:BROADC,'$LI'MCR/LB:BLKSUB* .DATA '$TK'RSX11M.STB,LB:[1,1]EXELIB/LB .DATA / .DATA TASK=...BRO .DATA ;: .DATA ; THE SPEED OF BRO MAY BE SIGNIFICANTLY INCREASED6 .DATA ; BY CHANGING THE "UNITS=" TO A LARGER NUMBER .DATA ; .DATA UNITS=10C .DATA ASG=TI:1:2:3:4:5:6. .DATA PAR='$GEN' .DATA / .CLOSEC .EXIT 1.;$.; Exit for error encountered by IND.;.ERXIT: .EXIT 4MSW','$MP'BRO/-SP=&.IFT $11M .DATA '$LI'MLTUSR/LB:BROADC;.IFT $11MPL .DATA '$LI'MLTUSR/LB:BROADC,'$LI'MCR/LB:BLKSUB* .DATA '$TK'RSX11M.STB,LB:[1,1]EXELIB/LB .DATA / .DATA TASK=...BRO .DATA ;: .DATA ; THE SPEjBACKUPDR1:[12,304]COTBLD .BLD;1Vpp '$CL'BRPUKCABnj.jV,dd29DEC8110303829DEC81103038lj .ONERR ERXIT .ENABLE SUBSTITUTION .ENABLE GLOBAL8.;.; Generate COTBLD.CMD.; .SETT $UTYP1 .OPEN '$CL'COT'$TYP1'BLD.CMD .DATA ;! .DATA ; TKB BUILD FILE FOR COT .DATA ; '$COM'(.IFF $FCSTK .DATA ; LINKING TO '$RSLIB' .DATA ; CREATED BY '$BLDID' .DATA ;V .DATA '$TK'COT'$TYP2'/-SE/PR/CP'$MMSW','$MP'COT'$TYP2'/-SP/MA='$OD'COT'$TYP1'BLD/MP .DATA STACK=128 .DATA ASG = CO0:3 .DATA TASK=COT... .DATA PRI = 145 .DATA PAR='$GEN'.IFF $FCSTK .DATA '$LIBOP'R .DATA GBLPAT=FCSERR:.EREFN:11 .DATA GBLPAT=FCSERR:.ERLUN:5 .DATA ;GBLPAT=COTROT:.TMOUT:5= .DATA ; HALF-FILLED LOGFILE BUFFER WRITTEN AFTER 5 SECONDSI .DATA / .CLOSEA.;.; Generate COTBLD.ODL.; .OPEN '$CL'COT'$TYP1'BLD.ODL; .DATA ; .DATA ; TKB ODL FILE FOR COTT(.IFF $FCSTK .DATA ; LINKING TO '$RSLIB' .DATA ; '$COM'' .DATA ; CREATED BY '$BLDID' .DATA ; .DATA 4 .DATA .ROOT '$LI'COT/LB:COT:COTDSP:COTERR-*OVERL+ .DATA OVERL: .FCTR (INI,OPN,CMD,WRT,ERR)AT.IFT $FCSTK .DATA INI: .FCTR '$LI'COT/LB:COTINI-EXEC-LB:[1,1]SYSLIB/LB:FINIT:RWFSR25.IFF $FCSTK .DATA INI: .FCTR '$LI'COT/LB:COTINI-EXEC Q.IFF $11MPL .IFT $FCSTK .DATA OPN: .FCTR '$LI'COT/LB:COTOPN-EXEC-*(FCSOPN,FCSPRS)'@.IFF $11MPL .IFF $FCSTK .DATA OPN: .FCTR '$LI'COT/LB:COTOPN-EXECU.IFT $11MPL .IFT $FCSTK .DATA OPN: .FCTR '$LI'COT/LB:COTOPN-HRC-EXEC-*(FCSOPN,FCSPRS) D.IFT $11MPL .IFF $FCSTK .DATA OPN: .FCTR '$LI'COT/LB:COTOPN-HRC-EXEC8.IFT $FCSTK .DATA FCSPRS: .FCTR LB:[1,1]SYSLIB/LB:PARSE8.IFT $FCSTK .DATA FCSOPN: .FCTR LB:[1,1]SYSLIB/LB:OPFNB+ .DATA CMD: .FCTR '$LI'COT/LB:COTCMD-EXEC 2 .DATA WRT: .FCTR '$LI'COT/LB:COTWRT:COTWAT-EXEC< .DATA ERR: .FCTR '$LI'PIPUTL/LB:FCSERR:ERRPRT:GTKNM:GERRM/.IFT $11MPL .DATA HRC: .FCTR '$LI'OLR/LB:HRCIN.9 .DATA EXEC: .FCTR '$TK'RSX11M.STB/SS-LB:[1,1]EXELIB/LB  .DATA .END .CLOSEP .EXIT 1.;$.; Exit for error encountered by IND.;.ERXIT: .EXIT 4OT/LB:COTOPN-HRC-EXEC8.IFT $FCSTK .DATA FCSPRS: .FCTR LB:[1kBACKUPDR1:[12,304]DCLBLD .BLD;1Wpq  '$CL'COPUKCAB:k.kW dd29DEC8110303929DEC81103038G k .ONERR ERXIT .ENABLE SUBSTITUTION .ENABLE GLOBAL .SETF $UTYP1.;.; GENERATE DCLBLD.CMD.; .OPEN '$CL'DCLBLD.CMD .DATA ; .DATA ; TKB .CMD FILE FOR DCL .DATA ; '$COM' .DATA ; USING SYSLIB .DATA ; CREATED BY '$BLDID' .DATA ;/ .DATA '$MMSW'/CP/NM,,'$TK'DCL='$OD'DCDBLD/MP .DATA TASK=...DCL .DATA STACK=500 .DATA PRI=160 .DATA PAR='$GEN'K .DATA ;DCL IS TASKBUILT TWICE. THE FIRST PASS (ABOVE) DOES NOTHING BUT I .DATA ;CREATE A SYMBOL TABLE. THE SYMBOL TABLE IS USED IN THE SECOND .K .DATA ;PASS (BELOW) TO CREATE A COMPLETE TASK IMAGE AND MAP. NOTE THAT CG .DATA ;THERE ARE TWO ODL FILES FOR THIS PROCESS. THE INPUT FOR THE C@ .DATA ;FIRST PASS IS DCDBLD.ODL. THE INPUT FOR THE SECOND ISI .DATA ;DCLBLD.ODL. THE ONLY DIFFERENCE IN THESE FILES IS THE PRESENCE.= .DATA ;OR ABSENCE OF A REFERENCE TO THE SYMBOL TABLE FILE. .DATA ;B .DATA ; DCL HAS A CATCHALL FACILITY. BY DEFAULT, THIS FACILITY? .DATA ; IS DISABLED. WHEN THE CATCHALL FACILITY IS ENABLED, ? .DATA ; ALL COMMANDS RECEIVED BY DCL WHICH DO NOT HAVE VALIDAD .DATA ; DCL COMMAND VERBS ARE SENT TO THE MCR CLI FOR PROCESSING.B .DATA ; FOR EXAMPLE, IN THE COMMAND "PIP /BR", THE COMMAND VERBB .DATA ; IS "PIP", WHICH IS AN INVALID DCL COMMAND VERB. IF THEA .DATA ; CATCHALL FACILITY IS ENABLED, THIS ENTIRE COMMAND LINE G .DATA ; WILL BE PASSED TO THE MCR CLI. IF THE CATCHALL FACILITY IS I@ .DATA ; DISABLED, THE COMMAND "PIP /BR" WILL BE FLAGGED AS AN .DATA ; ILLEGAL COMMAND.D .DATA ;= .DATA ; TO ENABLE THE CATCHALL FACILITY, THE GLOBAL SYMBOLAA .DATA ; "D$$CAT" MUST BE NON-ZERO. I.E., THE TKB OPTION BELOW." .DATA ; SHOULD READ AS FOLLOWS: .DATA ; GBLDEF=D$$CAT:1 .DATA ;> .DATA ; TO DISABLE THE CATCHALL FACILITY, THE GLOBAL SYMBOL? .DATA ; "D$$CAT" MUST BE ZERO. IN THIS CASE, THE TKB OPTIONA .DATA ; SHOULD READ:M .DATA ; GBLDEF=D$$CAT:0 .DATA ;3 .DATA GBLDEF=D$$CAT:0 ;MCR CATCHALL FACILITY OFkFG .DATA ;9 .DATA ; IN ADDITION TO THE CATCHALL FACILITY, COMMANDSE6 .DATA ; MAY BE SENT TO THE MCR CLI FROM THE DCL CLI6 .DATA ; BY PREFIXING THE COMMANDS WITH EITHER A "."7 .DATA ; OR "MCR " (E.G., ".PIP /BR", "MCR PIP /BR").$7 .DATA ; (BE AWARE THAT THE "." FORM WILL NOT WORK INC; .DATA ; INDIRECT COMMAND FILES. IN THIS CASE, YOU MUST I= .DATA ; USE THE "MCR" FORM.) LIKE CATCHALL, THIS FEATURE A& .DATA ; MAY BE ENABLED OR DISABLED. .DATA ;? .DATA ; TO ENABLE THE MCR AND DOT FEATURE, THE GLOBAL SYMBOLIB .DATA ; "D$$MCR" MUST BE NON-ZERO. I.E., THE TKB OPTION BELOW " .DATA ; SHOULD READ AS FOLLOWS: .DATA ; GBLDEF=D$$MCR:1 .DATA ;@ .DATA ; TO DISABLE THE MCR AND DOT FEATURE, THE GLOBAL SYMBOL@ .DATA ; "D$$MCR" MUST BE ZERO. TO DISABLE MCR AND DOT, EDIT " .DATA ; THE TKB OPTION TO READ: .DATA ; GBLDEF=D$$MCR:0 .DATA ;0 .DATA GBLDEF=D$$MCR:1 ;MCR AND "." COMMAND ON .DATA ;F .DATA ; FINALLY, YOU MAY CHOOSE TO HAVE DCL TRY TO INSTALL ANY TASKG .DATA ; WHICH IT RECEIVES A COMMAND FOR, BUT WHICH IS NOT INSTALLED.TD .DATA ; IN THIS CASE, DCL WILL CREATE A COMMAND LINE OF THE FORM,E .DATA ; INS$XXX/TASK=CMDTNN/CMD="MCR COMMAND LINE", WHERE "XXX" IS,J .DATA ; EITHER THE NAME OF A SPECIFIC FILE LISTED IN THE DISPATCH TABLEF .DATA ; IN MODULE DISPATCH, OR THE THREE-CHARACTER MCR COMMAND NAMEF .DATA ; (IF THERE IS NO FILE LISTED IN THE DISPATCH TABLE OR IF THEF .DATA ; COMMAND IS NOT IN THE TABLE AT ALL). "CMDTNN" IS THE FIRSTC .DATA ; THREE LETTERS OF THE DCL COMMAND FOLLOWED BY THE ISSUINGS .DATA ; TERMINAL NUMBER.C .DATA ; F .DATA ; TO ENABLE FLYING INSTALLS, THE GLOBAL SYMBOL D$$INS MUST BEK .DATA ; NON-ZERO. TO ENABLE FLYING INSTALLS, MODIFY THE THE TKB OPTION F .DATA ; BELOW TO READ:T! .DATA ; GBLPAT=XDCL:D$$INS:1, .DATA ;K .DATA ; TO DISABLE FLYING INSTALLS, INSURE THAT THE GLOBAL SYMBOL D$$INSIB .DATA ; EQUALS ZERO. IN THIS CASE, THE TKB OPTION SHOULD READ: .DATA ;! . kDATA ; GBLPAT=XDCL:D$$INS:0T .DATA ;7 .DATA GBLPAT=XDCL:D$$INS:0 ;FLYING INSTALLS DISABLED .DATA /7 .DATA '$TK'DCL'$MMSW'/CP,'$MP'DCL/-SP='$OD'DCLBLD/MPB .DATA TASK=...DCL .DATA STACK=500 .DATA PRI=160 .DATA PAR='$GEN' .DATA ; .DATA //. .CLOSEW.;.; GENERATE DCLBLD.ODL.; .OPEN '$CL'DCLBLD.ODL .DATA ; .DATA ; TKB .ODL FILE FOR DCL .DATA ; '$COM'Y .DATA ; USING SYSLIBE .DATA ; CREATED BY '$BLDID' .DATA ;6 .DATA .ROOT ROOT-'$LI'DCLR/DL-'$TK'DCL.STB/SS-OLAY .DATA ;F .DATA ROOT: .FCTR '$LI'DCLR/LB:XDCL:COMMAN-'$LI'DCLR/LB-ROOT1-ROOT2K .DATA ROOT1: .FCTR LB:[1,1]SYSLIB/LB:ALERR:ARITH:CAT5:FCSFSR:FCSGBL:LOADDL .DATA ROOT2: .FCTR LB:[1,1]SYSLIB/LB:OVCTL:OVDAT:OVRES:SAVRG:SAVR1:$AUTOX .DATA ;H .DATA OLAY: .FCTR (A,B,C,C1,D,D1,D2,F,L0,L1,L2,M,O,O1,P,Q,Q1,Q2,S,S1) .DATA ; .DATA .NAME AB> .DATA A: .FCTR AB-'$LI'DCLO/LB:ABORT:ALLOCAT:AT:BACKUP/SS-L .DATA ; .DATA .NAME BCT .DATA B: .FCTR BC-'$LI'DCLO/LB:BASIC:BROADCAST:CANCEL:COBOL:CONTINUE:CONVERT/SS-L .DATA ; .DATA .NAME CD7 .DATA C: .FCTR CD-'$LI'DCLO/LB:CREATE:DEALLOCAT/SS-LY .DATA ;* .DATA C1: .FCTR '$LI'DCLO/LB:COMMAND/SS .DATA ; .DATA .NAME DUT .DATA D: .FCTR DU-'$LI'DCLO/LB:DEBUG:DIFFERENCE:DISMOUNT:EDIT:FIX:HELP:UNFIX/SS-L .DATA ;+ .DATA D1: .FCTR '$LI'DCLO/LB:DELETE/SS-L .DATA ;. .DATA D2: .FCTR '$LI'DCLO/LB:DIRECTORY/SS-L .DATA ; .DATA .NAME FI6 .DATA F: .FCTR FI-'$LI'DCLO/LB:FORTRAN:INSTALL/SS-L .DATA ;H .DATA L0: .FCTR ('$LI'DCLO/LB:LINK/SS-L,'$LI'DCLO/LB:TLINK/SS-L,LIN1)F .DATA LIN1: .FCTR '$LI'DCLO/LB:LINK1/SS-LIN2-(LINOPE,LINPUT,LINCLO)2 .DATA LIN2: .FCTR LB:[1,1]SYSLIB/LB:FCSGBL:CBTA2 .DATA LINOPE: .FCTR LB:[1,1]SYSLIB/LB:OPEN-SYSL3 .DATA LINCLO: .FCTR LB:[1,1]SYSLIB/LB:CLOSE-SYSLA1 .DATA LINPUT: .FCTR LB:[1,1]SYSLIB/LB:PUT-SYSL .DATA ; .DATA .NAME LRM .DATA L1: .FCTR LR-'$LI'DCLO/LB:LOGIN:LOGOUT:MCR:MOUNT:REMOVE:REQUEST/SS-L' .DATA ; . kDATA .NAME LS4 .DATA L2: .FCTR LS-'$LI'DCLO/LB:LIBRARY:SORT/SS-L .DATA ; .DATA .NAME MR0 .DATA M: .FCTR MR-'$LI'DCLO/LB:MACRO:RUN/SS-L .DATA ; .DATA .NAME OVRLJ .DATA O: .FCTR OVR-'$LI'DCLO/LB:ERR:DBUG:DSPCMD:ERRORO:DISPATCH/SS-SYSL .DATA .NAME OVR12 .DATA O1: .FCTR OVR1-'$LI'DCLO/LB:ASTOV/SS-SYSL .DATA ; .DATA .NAME PIPIL .DATA P: .FCTR PIP-'$LI'DCLO/LB:APPEND:COPY:PURGE:RENAME:TYPE:UNLOCK/SS-L .DATA ; .DATA .NAME QM3 .DATA Q: .FCTR QM-'$LI'DCLO/LB:HOLD:INITIAL/SS-L. .DATA .NAME QM1IK .DATA Q1: .FCTR QM1-'$LI'DCLO/LB:ASSIGN:DEASSIGN:RELEASE:START:STOP/SS-L  .DATA .NAME QM2:5 .DATA Q2: .FCTR QM2-'$LI'DCLO/LB:PRINT:SUBMIT/SS-L .DATA ;W .DATA S: .FCTR ('$LI'DCLO/LB:SET/SS-L,'$LI'DCLO/LB:TSET/SS-L,'$LI'DCLO/LB:SET1/SS-L)C .DATA ;C .DATA S1: .FCTR ('$LI'DCLO/LB:SHOW/SS-L,'$LI'DCLO/LB:TSHOW/SS-L) .DATA ;& .DATA L: .FCTR '$LI'DCLO/LB/SS-SYSL& .DATA SYSL: .FCTR LB:[1,1]SYSLIB/LB .DATA ; .DATA .END .CLOSE:.;.; GENERATE DCDBLD.ODL.; .OPEN '$CL'DCDBLD.ODL .DATA ; .DATA ; TKB .ODL FILE FOR DCD .DATA ; '$COM'. .DATA ; USING SYSLIBA .DATA ; CREATED BY '$BLDID' .DATA ;& .DATA .ROOT ROOT-'$LI'DCLR/DL-OLAY .DATA ;F .DATA ROOT: .FCTR '$LI'DCLR/LB:XDCL:COMMAN-'$LI'DCLR/LB-ROOT1-ROOT2K .DATA ROOT1: .FCTR LB:[1,1]SYSLIB/LB:ALERR:ARITH:CAT5:FCSFSR:FCSGBL:LOAD L .DATA ROOT2: .FCTR LB:[1,1]SYSLIB/LB:OVCTL:OVDAT:OVRES:SAVRG:SAVR1:$AUTOX .DATA ;H .DATA OLAY: .FCTR (A,B,C,C1,D,D1,D2,F,L0,L1,L2,M,O,O1,P,Q,Q1,Q2,S,S1) .DATA ; .DATA .NAME AB> .DATA A: .FCTR AB-'$LI'DCLO/LB:ABORT:ALLOCAT:AT:BACKUP/SS-L .DATA ; .DATA .NAME BCT .DATA B: .FCTR BC-'$LI'DCLO/LB:BASIC:BROADCAST:CANCEL:COBOL:CONTINUE:CONVERT/SS-L .DATA ; .DATA .NAME CD7 .DATA C: .FCTR CD-'$LI'DCLO/LB:CREATE:DEALLOCAT/SS-LY .DATA ;* .DATA C1: .FCTR '$LI'DCLO/LB:COMMAND/SS .DATA ; .DATA .NAME DUT .DATA D: .FCTR DU-'$LI'DCLO/LB:DEBUG:DIFFERENCE:DISMOUNT:EDIT:FIXk:HELP:UNFIX/SS-L .DATA ;+ .DATA D1: .FCTR '$LI'DCLO/LB:DELETE/SS-L .DATA ;. .DATA D2: .FCTR '$LI'DCLO/LB:DIRECTORY/SS-L .DATA ; .DATA .NAME FI6 .DATA F: .FCTR FI-'$LI'DCLO/LB:FORTRAN:INSTALL/SS-L .DATA ;H .DATA L0: .FCTR ('$LI'DCLO/LB:LINK/SS-L,'$LI'DCLO/LB:TLINK/SS-L,LIN1)F .DATA LIN1: .FCTR '$LI'DCLO/LB:LINK1/SS-LIN2-(LINOPE,LINPUT,LINCLO)2 .DATA LIN2: .FCTR LB:[1,1]SYSLIB/LB:FCSGBL:CBTA2 .DATA LINOPE: .FCTR LB:[1,1]SYSLIB/LB:OPEN-SYSL3 .DATA LINCLO: .FCTR LB:[1,1]SYSLIB/LB:CLOSE-SYSLA1 .DATA LINPUT: .FCTR LB:[1,1]SYSLIB/LB:PUT-SYSL .DATA ; .DATA .NAME LRM .DATA L1: .FCTR LR-'$LI'DCLO/LB:LOGIN:LOGOUT:MCR:MOUNT:REMOVE:REQUEST/SS-L' .DATA ; .DATA .NAME LS4 .DATA L2: .FCTR LS-'$LI'DCLO/LB:LIBRARY:SORT/SS-L .DATA ; .DATA .NAME MR0 .DATA M: .FCTR MR-'$LI'DCLO/LB:MACRO:RUN/SS-L .DATA ; .DATA .NAME OVRLJ .DATA O: .FCTR OVR-'$LI'DCLO/LB:ERR:DBUG:DSPCMD:ERRORO:DISPATCH/SS-SYSL .DATA .NAME OVR12 .DATA O1: .FCTR OVR1-'$LI'DCLO/LB:ASTOV/SS-SYSL .DATA ; .DATA .NAME PIPIL .DATA P: .FCTR PIP-'$LI'DCLO/LB:APPEND:COPY:PURGE:RENAME:TYPE:UNLOCK/SS-L .DATA ; .DATA .NAME QM3 .DATA Q: .FCTR QM-'$LI'DCLO/LB:HOLD:INITIAL/SS-L. .DATA .NAME QM1IK .DATA Q1: .FCTR QM1-'$LI'DCLO/LB:ASSIGN:DEASSIGN:RELEASE:START:STOP/SS-L  .DATA .NAME QM2:5 .DATA Q2: .FCTR QM2-'$LI'DCLO/LB:PRINT:SUBMIT/SS-L .DATA ;W .DATA S: .FCTR ('$LI'DCLO/LB:SET/SS-L,'$LI'DCLO/LB:TSET/SS-L,'$LI'DCLO/LB:SET1/SS-L)C .DATA ;C .DATA S1: .FCTR ('$LI'DCLO/LB:SHOW/SS-L,'$LI'DCLO/LB:TSHOW/SS-L) .DATA ;& .DATA L: .FCTR '$LI'DCLO/LB/SS-SYSL& .DATA SYSL: .FCTR LB:[1,1]SYSLIB/LB .DATA ; .DATA .END .CLOSE: .EXIT 1.;$.; Exit for error encountered by IND.;.ERXIT: .EXIT 4:ASSIGN:DEASSIGN:RELEASE:START:STOP/SS-L  .DATA .NAME QM2:5 .DATA Q2: .FCTR QM2-'$LI'DCLO/LB:PRINT:SUBMIT/SS-L .DATA ;W .DATA S: .FCTR ('$LI'DCLO/LB:SET/SS-L,'$LI'DCLO/LB:TSET/SS-L,'$LI'DCLO/LB:SET1/SS-L)C lBACKUPDR1:[12,304]DMOBLD .BLD;1Bq q CTORY/SSPUKCAB#l.lB@dd29DEC8110303929DEC81103039l .ONERR ERXIT .ENABLE SUBSTITUTION .ENABLE GLOBAL.;.; Generate DMOBLD.CMD.; .SETF $UTYP1 .OPEN '$CL'DMOBLD.CMD .DATA ;! .DATA ; TKB BUILD FILE FOR DMO .DATA ; '$COM' .DATA ; CREATED BY '$BLDID' .DATA ;B .DATA '$TK'DMO/-FP/PR/CP'$MMSW','$MP'DMO/-SP='$LI'FIL/LB:DISMNT3 .DATA '$LI'INI/LB:INIGCL,LB:[1,1]SYSLIB/LB:ARITH.IFT $11M .DATA '$LI'MCR/LB+.IFT $11MPL .DATA '$LI'MCR/LB:FMTDV:$FDUCB- .DATA LB:[1,1]EXELIB/LB,'$TK'RSX11M.STB/SS .DATA / .DATA PAR='$GEN'I .DATA UNITS=3 .DATA ASG=TI:1B# .DATA ASG=TI:3 ; ERROR MESSAGESD .DATA STACK=32 .DATA PRI=160 .DATA TASK=...DMO .DATA GBLDEF=$CTPRT:0 .DATA ;. .DATA ; THE FOLLOWING DEFAULT BLOCK SIZE IS0 .DATA ; SET FOR MAGTAPE DEVICES UPON DISMOUNT+ .DATA ; IT IS DISTRIBUTED AS 1000 (512.)N1 .DATA ; THE CORRESPONDING GBLDEF IN THE MTAACPA+ .DATA ; MUST ALSO BE ALTERED IF THIS IS.B .DATA ; .DATA GBLDEF=TPDFBS:1000B .DATA / .CLOSE .EXIT 1.;$.; Exit for error encountered by IND.;.ERXIT: .EXIT 4A ASG=TI:3 ; ERROR MESSAGESD .DATA STACK=32 .DATA PRI=160 .DATA TASK=...DMO .DATA GBLDEF=$CTPRT:0 .DATA ;. .DATA ; THE FOLLOWING DEFAULT BLOCK SIZE IS0 .DATA ; SET FOR MAGTAPE DEVICES UPON DISMOUNT+ .DATA ; IT IS DISTRIBUTED AS 1000 (512.)N1 .DATA ; THE CORRESPONDING GBLDEF IN THE MTAACPA+ .DATA ; MUST ALSO BE ALTERED IF THIS IS.B .DATA ; .DATA GBLDEF=TPDFBS:1000B .DATA / .CLOSE .EXIT 1mBACKUPDR1:[12,304]ELIBLD .BLD;1OL'DMOBLDPUKCAB#m.mO)!dd29DEC8110304029DEC81103040m .ONERR ERXIT .ENABLE SUBSTITUTION .ENABLE GLOBAL.;.; Generate ELIBLD.CMD.; .SETT $UTYP1 .OPEN '$CL'ELI'$TYP1'BLD.CMD .DATA ;! .DATA ; TKB BUILD FILE FOR ELI .DATA ; '$COM'(.IFF $FCSTK .DATA ; LINKING TO '$RSLIB'!.IFT $FCSTK .DATA ; USING SYSLIB .DATA ; CREATED BY '$BLDID' .DATA ;7 .DATA ; BUILD ELI'$TYP2'.TSK (ERRLOG INTERFACE TASK) .DATA ;> .DATA '$TK'ELI'$TYP2'/PR/-FP/CP'$MMSW','$MP'ELI'$TYP2'/-SP= .DATA '$OD'ELI'$TYP1'BLD/MP .DATA ; .DATA TASK=...ELI.IFF $FCSTK .DATA '$LIBOP'E .DATA UNITS=6 .DATA ASG=TI:1:5; .DATA STACK=64.IFT $FCSTK .DATA PAR='$GENX'.IFF $FCSTK .DATA PAR='$GEN'I .DATA / .CLOSEA.;.; Generate ELIBLD.ODL.; .OPEN '$CL'ELI'$TYP1'BLD.ODLT .DATA ; .DATA ; TKB ODL FILE FOR ERLB .DATA ; '$COM'A(.IFF $FCSTK .DATA ; LINKING TO '$RSLIB'#.IFT $FCSTK .DATA ; USING '$DFLIB'A .DATA ; CREATED BY '$BLDID' .DATA ;.;9.; This overlay structure is for when FCS is in the task.A.;.IFT $FCSTK .DATA .ROOT ELI'.IFT $FCSTK .DATA ;O.IFT $FCSTK .DATA ELI: .FCTR '$LI'ERL/LB:ERRELI:ERRPAR:ERRSHO:ERRUCB-LIB1-LIB2I.IFT $FCSTK .DATA ;@.IFT $FCSTK .DATA LIB1: .FCTR LB:[1,1]SYSLIB/LB:CATB:CBTA:EDTMG.IFT $FCSTK .DATA ;C.IFT $FCSTK .DATA LIB2: .FCTR '$TK'RSX11M.STB/SS-LB:[1,1]EXELIB/LBC.;N.; This structure is used when there is a resident or supervisor mode library..;.IFF $FCSTK .DATA .ROOT ELI .IFF $FCSTK .DATA ;I.IFF $FCSTK .DATA ELI: .FCTR '$LI'ERL/LB:ERRELI:ERRPAR:ERRSHO:ERRUCB-LIB .IFF $FCSTK .DATA ;B.IFF $FCSTK .DATA LIB: .FCTR '$TK'RSX11M.STB/SS-LB:[1,1]EXELIB/LB .DATA .END .CLOSEI .EXIT 1.;$.; Exit for error encountered by IND.;.ERXIT: .EXIT 4A:EDTMG.IFT $FCSTK .DATA ;C.IFT $FCSTK .DATA LIB2: .FCTR '$TK'RSX11M.STB/SS-LB:[1,1]EXELIB/LBC.;N.; This structure is used when there is a resident or supervisor mode library..;.IFF $FCSTK .DATA .ROOT ELI .IFF $FCSTK .DATA ;I.IFF $FCSTK .DATA ELI: .FCTR '$LI'EnBACKUPDR1:[12,304]ERLBLD .BLD;1L:: '$CL'ELPUKCAB9n.nL~"dd29DEC8110304129DEC81103041 +n .ONERR ERXIT .ENABLE SUBSTITUTION .ENABLE GLOBAL.;.; Generate ERLBLD.CMD.; .SETF $UTYP1 .OPEN '$CL'ERLBLD.CMD .DATA ;$ .DATA ; TKB BUILD FILE FOR ERRLOG .DATA ; '$COM' .DATA ; USING '$DFLIB' .DATA ; CREATED BY '$BLDID' .DATA ;& .DATA ; BUILD ERL.TSK (ERRLOG TASK) .DATA ;4 .DATA '$TK'ERL/FU/PR/-FP/-IP'$MMSW','$MP'ERL/-SP= .DATA '$OD'ERLBLD/MP .DATA ; .DATA TASK=ERRLOG .DATA UIC=[1,6] .DATA UNITS=6 .DATA ASG=TI:2 .DATA ASG=CO:3R .DATA STACK=64B .DATA PAR='$GENX' .DATA PRI=148 .DATA / .CLOSE.;.; Generate ERLBLD.ODL.; .OPEN '$CL'ERLBLD.ODL .DATA ; .DATA ; TKB ODL FILE FOR ERL' .DATA ; '$COM'U .DATA ; USING '$DFLIB'C .DATA ; CREATED BY '$BLDID' .DATA ;.;9.; This overlay structure is for when FCS is in the task./.;< .DATA .ROOT ERLOG-LIB-COL-FCS,FCSOVR,LB:[1,1]'$DFLIB'/DL .DATA ;? .DATA ERLOG: .FCTR '$LI'ERL/LB:ERRLOG:ERRPRC:ERRUCB-MISC-STB: .DATA ;& .DATA STB: .FCTR '$TK'RSX11M.STB/SS .DATA ;; .DATA MISC: .FCTR LB:[1,1]SYSLIB/LB:CBTA:CDDMG:CATB:C5TA .DATA ;% .DATA LIB: .FCTR LB:[1,1]EXELIB/LB; .DATA ;/.IFF $11MPL .DATA COL: .FCTR '$LI'MCR/LB:COLOGA5.IFT $11MPL .DATA COL: .FCTR '$LI'MCR/LB:COLOG:TISET .DATA ;& .DATA ; THIS IS THE COMMON FCS CODE .DATA ;= .DATA FCS: .FCTR FCSR1A-FCSR1B-FCSR1C-FCSR1D-FCSR1E-FCSR1F' .DATA ;C .DATA FCSR1A: .FCTR LB:[1,1]'$DFLIB'/LB:XQIOU:XQIOI:WAITI:COMMONSJ .DATA FCSR1B: .FCTR LB:[1,1]'$DFLIB'/LB:PARSE:PARSDV:ANSPAD:BKRG:DIRECTL .DATA FCSR1C: .FCTR LB:[1,1]'$DFLIB'/LB:RETADR:RDWAIT:WTWAIT:BIGBUF:RWBLKF .DATA FCSR1D: .FCTR LB:[1,1]'$DFLIB'/LB:EOFCHK:WATNOD:WATSET:CKALOCD .DATA FCSR1E: .FCTR LB:[1,1]'$DFLIB'/LB:RSTFDB:DELETE:CLOSE:FINITK .DATA FCSR1F: .FCTR LB:[1,1]'$DFLIB'/LB:RWFSR2:EDTMG:ASCPPN::.CSI1:.CSI2AD .DATA FCSB2A: .FCTR LB:[1,1]'$DFLIB'/LB:GETSQ:PUTSQ:PNTMRK:EXTEND .DATA ; .DATA ; BUILD THE FCS CO-TREE .DATA ; .DATA .NAME FCSROTn, .DATA FCSOVR: .FCTR FCSROT-*(FCSB1,FCSB2) .DATA ;! .DATA ; THIS IS THE "OPEN" LEG1 .DATA ;. .DATA FCSB1: .FCTR LB:[1,1]'$DFLIB'/LB:OPEN .DATA ;" .DATA ; THIS IS THE "OPFID" LEG .DATA ;/ .DATA FCSB2: .FCTR LB:[1,1]'$DFLIB'/LB:OPFID: .DATA ; .DATA .END .CLOSEC .EXIT 1.;$.; Exit for error encountered by IND.;.ERXIT: .EXIT 4CTR LB:[1,1]'$DFLIB'/LB:GETSQ:PUTSQ:PNTMRK:EXTEND .DATA ; .DATA ; BUILD THE FCS CO-TREE .DATA ; .DATA .NAME FCSROToBACKUPDR1:[12,304]FCPMINBLD.BLD;1O5k '$CL'ERPUKCAB7o.oO"&Rdd29DEC8110304329DEC81103042ao .ONERR ERXIT .ENABLE SUBSTITUTION .ENABLE GLOBAL.;.; Generate FCPMINBLD.CMD.; .SETF $UTYP1 .OPEN '$CL'FCPMINBLD.CMD .DATA ; .DATA ; FCPMINBLD.CMD .DATA ;A .DATA ; Build smallest disk overlay F11ACP (FCPMIN) for RSX11M .DATA ; '$COM' .DATA ; CREATED BY '$BLDID' .DATA ; .DATA ; Name: FCPMIN- .DATA ; Overlay description: FCPMINBLD.ODL .DATA ;< .DATA ; The only reasonable optimization for this versionB .DATA ; is to not use it. FCPSML is only 1/2KW larger; use it! .DATA ;K .DATA '$TK'FCPMIN/AC'$MMSW'/AL/-FP,'$MP'FCPMIN/-SP='$OD'FCPMINBLD.ODL/MP. .DATA ; .DATA TASK=F11ACP .DATA STACK=50I .DATA UNITS=1 .DATA UIC=[1,1] .DATA PRI=149 .DATA PAR='$SYPAR'r .DATA TSKV=.SSTVC:7 .DATA GBLDEF=.DRALC:0 .DATA / .CLOSE.;.; Generate FCPMINBLD.ODLA.; .OPEN '$CL'FCPMINBLD.ODLL .DATA ; .DATA ; FCPMINBLD.ODL .DATA ;H .DATA ; Overlay description for smallest disk overlay F11ACP - RSX11M .DATA ; '$COM'e .DATA ; Created by '$BLDID' .DATA ;> .DATA .ROOT F11ACP-ROOT1-ROOT2-UTILTY,MOREOV,COTREE,SYMDEF< .DATA ROOT1: .FCTR F11ACP-F11CM-F11BUF-SMCOM-DISPAT-ARWVB- .DATA ROOT2: .FCTR DIRBUF-INIT-GTMAP-OVERRR .DATA ;A .DATA UTILTY: .FCTR *(UTL1,UTL2,UTL3,UTL4,UTL5,UTL6,UTL7,UTL8)L& .DATA UTL1: .FCTR ALLOC-INFCB-MPVBN .DATA UTL2: .FCTR RW1LB-SMRVB, .DATA UTL3: .FCTR BLXIO-GTFID-DATIM-CKSUM .DATA UTL4: .FCTR PROCK2 .DATA UTL5: .FCTR DRPAC-RLEAS-RLFCB-SCFAC-SCFCB .DATA UTL6: .FCTR WTRN1 .DATA UTL7: .FCTR FIOSUB; .DATA UTL8: .FCTR MATNAM1 .DATA ; .DATA .NAME MORE< .DATA MOREOV: .FCTR MORE-*(MORE1,MORE2,MORE3,MORE4,MORE5)! .DATA MORE1: .FCTR SMDEL-SMNXB-' .DATA MORE2: .FCTR MPHDR-RDHDR-WITRN:! .DATA MORE3: .FCTR INWIN-WRHDRT .DATA MORE4: .FCTR CLACC:, .DATA MORE5: .FCTR CLDIR-DREX-DRINI-DRWRT .DATA ; .DATA .NAME COROOTO .DATA COTREE: .FCTR COROOT-(CRE,ACC,DAC,CLN,EXI,EXT,EXH,RAT,DLI,CTL,DIR,DRC)E .DAoTA CRE: .FCTR *CRFIL-COM .DATA ACC: .FCTR *ACCESS-COM. .DATA DAC: .FCTR *DEACC-COM- .DATA CLN: .FCTR *CLNUP-DWPND-*(CLN1,CLN2) 0 .DATA CLN1: .FCTR CLATT-CLCOM-CLDAC-CLDEL-COM; .DATA CLN2: .FCTR CLCRE-CLEXT-DLFIL-*(CLN2A,CLN2B,CLN2C) ! .DATA CLN2A: .FCTR NXHDR-DLBLKM .DATA CLN2B: .FCTR DLHDR. .DATA CLN2C: .FCTR CLFCB. .DATA ;2 .DATA EXI: .FCTR *EXTEN-*IXEXT-*RWVB-*RWVBL-COM/ .DATA EXT: .FCTR *EXCOM-*(EXINI-NXHDR,SMALC)A% .DATA EXH: .FCTR *EXCMP-*EXTHD-COMD% .DATA RAT: .FCTR *RDATT-*WRATT-COM - .DATA DLI: .FCTR *DLMRK-*TRUNC-*DMOUNT-COMF- .DATA CTL: .FCTR *CNTRL-MOUNT-*(CTL1,CTL2)D .DATA CTL1: .FCTR MOUNT1-COMC& .DATA CTL2: .FCTR MOUNT0-MOUNT2-COMJ .DATA DIR: .FCTR LOCAT-DRGET-DRVLB-DELCK-*(FNDNM-RMVNM-FDRMV,ENTNM-COM)3 .DATA DRC: .FCTR *DRACC-*DREXT-*DREOF-*DRSEF-COMC .DATA COM: .FCTR '$LI'FCP/LB 4 .DATA SYMDEF: .FCTR EXELIB-'$TK'RSX11M.STB/SS. .DATA EXELIB: .FCTR LB:[1,1]EXELIB/LB:EXEDF .DATA ;) .DATA ACCESS: .FCTR '$LI'FCP/LB:ACCESST' .DATA ALLOC: .FCTR '$LI'FCP/LB:ALLOC ' .DATA ARWVB: .FCTR '$LI'FCP/LB:ARWVB ' .DATA ATCTL: .FCTR '$LI'FCP/LB:ATCTLA' .DATA BLXIO: .FCTR '$LI'FCP/LB:BLXIO.' .DATA CKSUM: .FCTR '$LI'FCP/LB:CKSUMT' .DATA CLACC: .FCTR '$LI'FCP/LB:CLACCD' .DATA CLATT: .FCTR '$LI'FCP/LB:CLATTC' .DATA CLCOM: .FCTR '$LI'FCP/LB:CLCOM ' .DATA CLCRE: .FCTR '$LI'FCP/LB:CLCRE.' .DATA CLDAC: .FCTR '$LI'FCP/LB:CLDACE' .DATA CLDEL: .FCTR '$LI'FCP/LB:CLDEL.' .DATA CLDIR: .FCTR '$LI'FCP/LB:CLDIRB' .DATA CLEXT: .FCTR '$LI'FCP/LB:CLEXTL' .DATA CLFCB: .FCTR '$LI'FCP/LB:CLFCBL' .DATA CLNUP: .FCTR '$LI'FCP/LB:CLNUPL' .DATA CNTRL: .FCTR '$LI'FCP/LB:CNTRLL' .DATA CRFID: .FCTR '$LI'FCP/LB:CRFIDL' .DATA CRFIL: .FCTR '$LI'FCP/LB:CRFILL' .DATA DATIM: .FCTR '$LI'FCP/LB:DATIML' .DATA DEACC: .FCTR '$LI'FCP/LB:DEACCL' .DATA DELCK: .FCTR '$LI'FCP/LB:DELCKL) .DATA DIRBUF: .FCTR '$LI'FCP/LB:DIRBUF:) .DATA DISPAT: .FCTR '$LI'FCP/LB:DISPATL' .DATA DLBLK: .FCTR '$LI'FCP/LB:DLBLKL'  o .DATA DLFIL: .FCTR '$LI'FCP/LB:DLFILL' .DATA DLHDR: .FCTR '$LI'FCP/LB:DLHDRL' .DATA DLMRK: .FCTR '$LI'FCP/LB:DLMRKL) .DATA DMOUNT: .FCTR '$LI'FCP/LB:DMOUNTR' .DATA DRACC: .FCTR '$LI'FCP/LB:DRACCI' .DATA DRALC: .FCTR '$LI'FCP/LB:DRALCI' .DATA DRCPY: .FCTR '$LI'FCP/LB:DRCPYI' .DATA DREOF: .FCTR '$LI'FCP/LB:DREOFC% .DATA DREX: .FCTR '$LI'FCP/LB:DREXE' .DATA DREXT: .FCTR '$LI'FCP/LB:DREXTD' .DATA DRGET: .FCTR '$LI'FCP/LB:DRGETB' .DATA DRINI: .FCTR '$LI'FCP/LB:DRINIL' .DATA DRPAC: .FCTR '$LI'FCP/LB:DRPACL' .DATA DRSEF: .FCTR '$LI'FCP/LB:DRSEFL' .DATA DRVLB: .FCTR '$LI'FCP/LB:DRVLBL' .DATA DRWRT: .FCTR '$LI'FCP/LB:DRWRT/' .DATA DWPND: .FCTR '$LI'FCP/LB:DWPNDP' .DATA ENTNM: .FCTR '$LI'FCP/LB:ENTNMP' .DATA EXCMP: .FCTR '$LI'FCP/LB:EXCMPP' .DATA EXCOM: .FCTR '$LI'FCP/LB:EXCOMP' .DATA EXINI: .FCTR '$LI'FCP/LB:EXINI/' .DATA EXTEN: .FCTR '$LI'FCP/LB:EXTENL' .DATA EXTHD: .FCTR '$LI'FCP/LB:EXTHDL' .DATA FDRMV: .FCTR '$LI'FCP/LB:FDRMVL) .DATA FIOSUB: .FCTR '$LI'FCP/LB:FIOSUB:' .DATA FNDNM: .FCTR '$LI'FCP/LB:FNDNM:) .DATA F11ACP: .FCTR '$LI'FCP/LB:F11ACPR) .DATA F11BUF: .FCTR '$LI'FCP/LB:F11BUFR' .DATA F11CM: .FCTR '$LI'FCP/LB:F11CMN' .DATA GTFID: .FCTR '$LI'FCP/LB:GTFIDN' .DATA GTMAP: .FCTR '$LI'FCP/LB:GTMAPM' .DATA INFCB: .FCTR '$LI'FCP/LB:INFCBO% .DATA INIT: .FCTR '$LI'FCP/LB:INITX' .DATA INWIN: .FCTR '$LI'FCP/LB:INWINX' .DATA IXEXT: .FCTR '$LI'FCP/LB:IXEXTX' .DATA LOCAT: .FCTR '$LI'FCP/LB:LOCATD) .DATA MATNAM: .FCTR '$LI'FCP/LB:MATNAMO' .DATA MOUNT: .FCTR '$LI'FCP/LB:MOUNTN) .DATA MOUNT0: .FCTR '$LI'FCP/LB:MOUNT01) .DATA MOUNT1: .FCTR '$LI'FCP/LB:MOUNT11) .DATA MOUNT2: .FCTR '$LI'FCP/LB:MOUNT2C' .DATA MPHDR: .FCTR '$LI'FCP/LB:MPHDRI' .DATA MPVBN: .FCTR '$LI'FCP/LB:MPVBNA' .DATA MXQIO: .FCTR '$LI'FCP/LB:MXQIOC' .DATA NXHDR: .FCTR '$LI'FCP/LB:NXHDRX' .DATA OVERR: .FCTR '$LI'FCP/LB:OVERRX' .DATA PROCK: .FCTR '$LI'FCP/LB:PROCKX' .DATA RATCM: .FCTR '$LI'FCP/LB:RATCMD' .DATA RDATT: .FCTR  o'$LI'FCP/LB:RDATTA' .DATA RDHDR: .FCTR '$LI'FCP/LB:RDHDRN' .DATA RLEAS: .FCTR '$LI'FCP/LB:RLEASU' .DATA RLFCB: .FCTR '$LI'FCP/LB:RLFCBM' .DATA RMVNM: .FCTR '$LI'FCP/LB:RMVNMB' .DATA RWATT: .FCTR '$LI'FCP/LB:RWATTL% .DATA RWVB: .FCTR '$LI'FCP/LB:RWVBP' .DATA RWVBL: .FCTR '$LI'FCP/LB:RWVBLP' .DATA RW1LB: .FCTR '$LI'FCP/LB:RW1LBP' .DATA SCFAC: .FCTR '$LI'FCP/LB:SCFACP' .DATA SCFCB: .FCTR '$LI'FCP/LB:SCFCBP' .DATA SMALC: .FCTR '$LI'FCP/LB:SMALCP' .DATA SMCOM: .FCTR '$LI'FCP/LB:SMCOMP' .DATA SMDEL: .FCTR '$LI'FCP/LB:SMDELP' .DATA SMNXB: .FCTR '$LI'FCP/LB:SMNXBP' .DATA SMRVB: .FCTR '$LI'FCP/LB:SMRVBP' .DATA TRUNC: .FCTR '$LI'FCP/LB:TRUNCP' .DATA WACCK: .FCTR '$LI'FCP/LB:WACCKP' .DATA WATCM: .FCTR '$LI'FCP/LB:WATCM/' .DATA WITRN: .FCTR '$LI'FCP/LB:WITRNL' .DATA WRATT: .FCTR '$LI'FCP/LB:WRATTL' .DATA WRHDR: .FCTR '$LI'FCP/LB:WRHDRL' .DATA WTRN1: .FCTR '$LI'FCP/LB:WTRN1L .DATA ; .DATA .END .CLOSEP .EXIT 1.;$.; Exit for error encountered by IND.;.ERXIT: .EXIT 4$LI'FCP/LB:SMDELP' .DATA SMNXB: .FCTR '$LI'FCP/LB:SMNXBP' .DATA SMRVB: .FCTR '$LI'FCP/LB:SMRVBP' .DATA TRUNC: .FCTR '$LI'FCP/LB:TRUNCP' .DATA WACCK: .FCTR '$LI'FCP/LB:WACCKP' .DATA WATCM: .FCTR '$LI'FCP/LB:WATCM/' .DATA WITRN: .FCTR '$LI'FCP/LB:WITRNL' .DATA WRATT: .FCTR '$LI'FCP/LB:WRATTL' .DATA WRHDR: .FCTR '$LI'FCP/LB:WRHDRL' .DATA WTRN1: .FCTR '$LI'FCP/LB:WTRN1L .DATA ; .DATA .END .CLOSEP .EXIT 1.;$.; Exit for error encountepBACKUPDR1:[12,304]FCPSMLBLD.BLD;1Tkk .DATAPUKCABp.pTt&xdd29DEC8110304329DEC81103043 p .ONERR ERXIT .ENABLE SUBSTITUTION .ENABLE GLOBAL.;.; Generate FCPSMLBLD.CMD.; .SETF $UTYP1 .OPEN '$CL'FCPSMLBLD.CMD .DATA ;> .DATA ; Build small disk overlay F11ACP (FCPSML) for RSX11M .DATA ; '$COM' .DATA ; Created by '$BLDID' .DATA ; .DATA ; Name: FCPSML, .DATA ; Overlay descriptor: FCPSMLBLD.ODL .DATA ;K .DATA '$TK'FCPSML/AC'$MMSW'/AL/-FP,'$MP'FCPSML/-SP='$OD'FCPSMLBLD.ODL/MP .DATA ; .DATA TASK=F11ACP .DATA STACK=50 .DATA UNITS=1 .DATA UIC=[1,1] .DATA PRI=149 .DATA PAR='$SYPAR'; .DATA TSKV=.SSTVC:7 .DATA ;A .DATA ; For more information on the following see the commentsi? .DATA ; in the build files for FCPMDL or FCPLRG. Generally,MI .DATA ; FCPMDL will be better due to the fewer overlays per operation. .DATA ;3 .DATA ; No separate buffer for index file bitmap' .DATA ; .DATA ; EXTSCT=$$BUF0:1006= .DATA ;. .DATA ; No separate buffer for file headers .DATA ; .DATA ; EXTSCT=$$BUF1:1006A .DATA ;$ .DATA ; No private FCB pool space .DATA ; .DATA ; EXTSCT=$$AFR1:2500. .DATA ;: .DATA ; No additional buffer space for directory blocks .DATA ; .DATA ; EXTSCT=$$BUF3:2000 .DATA / .CLOSE;.;.; Generate FCPSMLBLD.ODLh.; .OPEN '$CL'FCPSMLBLD.ODL .DATA ;H .DATA ; Overlay description for small disk overlay F11ACP - RSX11M/M+ .DATA ; '$COM'0 .DATA ; Created by '$BLDID' .DATA ; .DATA .NAME F11ACP+ .DATA .ROOT F11ACP-FCPROT-OVRLAY,SYMDEFAP .DATA FCPROT: .FCTR '$LI'FCP/LB:F11ACP:F11CM:F11BUF:SMCOM:DISPAT:ARWVB-FCPRT2A .DATA FCPRT2: .FCTR '$LI'FCP/LB:OVERR:DIRBUF:INIT:RLEAS:FIOSUBr- .DATA OVRLAY: .FCTR (OVLAY1,OVLAY2,OVLAY3)2: .DATA OVLAY1: .FCTR OVCRE,OVACC,OVDAC,OVCLN,OVEXI,OVEXT. .DATA OVLAY2: .FCTR OVEXH,OVRAT,OVDLI,OVCTL6 .DATA OVLAY3: .FCTR OVFNA,OVRNA,OVENA,OVDRAC,OVDREX, .DATA OVCRE: .FCTR *'$LI'FCP/LB:CRFIL-COM- .DATA OVACC: .FCTR *'$LI'FCP/LB:ACCESS-COMN, .DATA OVDAC: .FCTR *'$LI'FCpP/LB:DEACC-COM: .DATA OVCLN: .FCTR *'$LI'FCP/LB:CLNUP:DWPND-(CLN1,CLN2)I .DATA CLN1: .FCTR *'$LI'FCP/LB:CLACC:CLATT:CLCOM:CLDEL:CLDIR:CLDAC-COMDK .DATA CLN2: .FCTR *'$LI'FCP/LB:CLCRE:CLEXT:CLFCB:DLFIL:GTMAP-(CLN3,CLN4).C .DATA CLN3: .FCTR *'$LI'FCP/LB:NXHDR:RDHDR:INFCB:RLFCB:BLXIO-COMYC .DATA CLN4: .FCTR *'$LI'FCP/LB:SMDEL:SMRVB:WRHDR:DLBLK:DLHDR-COMO .DATA ;F .DATA OVEXI: .FCTR *'$LI'FCP/LB:EXTEN:IXEXT:RWVB:RWVBL:DWPND-OVEXI2" .DATA OVEXI2: .FCTR '$LI'FCP/LB4 .DATA OVEXT: .FCTR *'$LI'FCP/LB:EXCOM-'$LI'FCP/LB2 .DATA OVEXH: .FCTR *'$LI'FCP/LB:EXCMP:EXTHD-COM2 .DATA OVRAT: .FCTR *'$LI'FCP/LB:RDATT:WRATT-COM9 .DATA OVDLI: .FCTR *'$LI'FCP/LB:DLMRK:TRUNC:DMOUNT-COML .DATA .NAME FIND1 .DATA OVFNA: .FCTR FIND-*'$LI'FCP/LB:FNDNM-COMD .DATA .NAME REMOVE3 .DATA OVRNA: .FCTR REMOVE-*'$LI'FCP/LB:RMVNM-COM: .DATA .NAME ENTER2 .DATA OVENA: .FCTR ENTER-*'$LI'FCP/LB:ENTNM-COM- .DATA OVDRAC: .FCTR *'$LI'FCP/LB:DRACC-COM:T .DATA OVDREX: .FCTR *'$LI'FCP/LB:DREXT:DRALC-OVDRX1-(OVDRAL,OVDRCP,OVDRDL,OVDREF)R .DATA OVDRX1: .FCTR '$LI'FCP/LB:SMRVB:RW1LB:WITRN:WTRN1:RDHDR:MPHDR:MPVBN:GTMAP- .DATA OVDRAL: .FCTR *'$LI'FCP/LB:SMALC-COMK- .DATA OVDRCP: .FCTR *'$LI'FCP/LB:DRCPY-COMA .DATA .NAME DRDEL$3 .DATA OVDRDL: .FCTR DRDEL-*'$LI'FCP/LB:DLBLK-COMA .DATA .NAME DRSTEF+ .DATA OVDREF: .FCTR DRSTEF-OVDRF1-OVDRF2G .DATA OVDRF1: .FCTR *'$LI'FCP/LB:DREOF:DRSEF:WRHDR:CKSUM:INFCB:ALLOCR; .DATA OVDRF2: .FCTR *'$LI'FCP/LB:SCFAC:SCFCB:CLDIR:RLFCB:> .DATA OVCTL: .FCTR *'$LI'FCP/LB:CNTRL:MOUNT-(OVCTL1,OVCTL2)5 .DATA OVCTL1: .FCTR *'$LI'FCP/LB:MOUNT0:MOUNT1-COMR. .DATA OVCTL2: .FCTR *'$LI'FCP/LB:MOUNT2-COM .DATA COM: .FCTR '$LI'FCP/LBCA .DATA SYMDEF: .FCTR LB:[1,1]EXELIB/LB:EXEDF-'$TK'RSX11M.STB/SS: .DATA .END .CLOSEL .EXIT 1.;$.; Exit for error encountered by IND.;.ERXIT: .EXIT 4G .DATA OVDRF1: .FCTR *'$LI'FCP/LB:DREOF:DRSEF:WRHDR:CKSUM:INFCB:ALLOCR; .DATA OVDRF2: .FCTR *'$LI'FCP/LB:SCFAC:SCFCB:CLDIR:RLFCB:> qBACKUPDR1:[12,304]FCPMDLBLD.BLD;1Rbb '$CL'FCPUKCABq.qRb&Qdd29DEC8110304429DEC81103044('eq .ONERR ERXITA .ENABLE SUBSTITUTION3 .ENABLE GLOBAL.;.; Generate FCPMDLBLD.CMDT.; .SETF $UTYP1 .OPEN '$CL'FCPMDLBLD.CMD; .DATA ; .DATA ; FCPMDLBLD.CMD .DATA ;J .DATA ; Build a middle sized disk overlay F11ACP (FCPMDL) for RSX11M/M+ .DATA ; .DATA ; '$COM'A .DATA ; Created by '$BLDID' .DATA ; .DATA ; Name: FCPMDL;- .DATA ; Overlay description: FCPMDLBLD.ODLn .DATA ;K .DATA '$TK'FCPMDL/AC'$MMSW'/AL/-FP,'$MP'FCPMDL/-SP='$OD'FCPMDLBLD.ODL/MP .DATA ; .DATA TASK=F11ACP .DATA STACK=50N .DATA UNITS=1 .DATA UIC=[1,1] .DATA PRI=149 .DATA PAR='$FPAR' .DATA TSKV=.SSTVC:7 .DATA ;< .DATA ; Allocate a separate buffer for index file bitmap. .DATA ;D .DATA ; If you''ve memory to burn, enable the EXTSCT=$$BUF0:1006. .DATA ;< .DATA ; Default: No separate buffer for index file bitmap .DATA ; .DATA ; EXTSCT=$$BUF0:1006A .DATA ;7 .DATA ; Allocate a separate buffer for file headers.D .DATA ;< .DATA ; Always enable the EXTSCT=$$BUF1:1006 if possible. .DATA ;? .DATA ; Default: Allocate a separate buffer for file headersA .DATA ; .DATA EXTSCT=$$BUF1:1006A .DATA ;+ .DATA ; Allocate private FCB pool space.A .DATA ;< .DATA ; The value of the EXTSCT determine the size of the< .DATA ; internal FCB pool which doesn''t help performance@ .DATA ; but cuts down on the use of system pool. The optimum= .DATA ; size is the size of an FCB (about 54(8)) times the.C .DATA ; number of files open plus preaccessed directories (LRU). .DATA ; .DATA EXTSCT=$$AFR1:500 .DATA ;' .DATA ; Extend the directory buffer.. .DATA ;@ .DATA ; The EXTSCT=$$BUF3 determines the number of additionalA .DATA ; blocks of directory buffer to allocate. Determine thes@ .DATA ; size of the most frequently used directories and then@ .DATA ; extend $$BUF3 by that value minus one times the block .DATA ; size (1000(8)). .DATA ;@ .DATA ; Allocate additional buffeqr space for directory blocks .DATA ; .DATA EXTSCT=$$BUF3:2000A .DATA ; .DATA / .CLOSE .;.; Generate FCPMDLBLD.ODL .; .OPEN '$CL'FCPMDLBLD.ODL .DATA ; .DATA ; FCPMDLBLD.ODL .DATA ;H .DATA ; OVERLAY DESCRIPTION FOR LARGE DISK OVERLAY F11ACP - RSX11M/M+ .DATA ; '$COM's .DATA ; CREATED BY '$BLDID' .DATA ; .DATA .NAME F11ACPn2 .DATA .ROOT F11ACP-FCPROT-FCPCO-RESDNT-OVRLAY .DATA ;4 .DATA ; THE FOLLOWING MODULES MUST BE IN THE ROOTO .DATA FCPROT: .FCTR '$LI'FCP/LB:F11ACP:F11CM:SMCOM:DISPAT:ARWVB:OVERR:FCPGBL ; .DATA FCPCO: .FCTR '$LI'FCP/LB:F11BUF:DIRBUF:INIT:FIOSUBD .DATA ;D .DATA ; THE FOLLOWING ARE THE RESIDENT FACTORS FOR THIS STRUCTURE- .DATA ; COMMON MODULES AND WINDOW TURNINGD6 .DATA RESDNT: .FCTR RCOM-OVRWVB-OVRVBL-COMVBX-OVCOM .DATA ;0 .DATA OVRLAY: .FCTR (OVLY1,OVLY2,OVLY3,OVLY4) .DATA ;Q .DATA ; MAIN LEG-ACCESS/DEACCESS, READ/WRITE ATTRIBUTES, FIND NAME, DIR ACCESSDH .DATA OVLY1: .FCTR OVACC-OVDAC-OVACL-OVRAT-OVFNA-OVDRAC-OVCOM1-OVXX1A@ .DATA OVCOM1: .FCTR DIRCOM-COMDFR-COMDEW-COMSMP-COMACL-COMAXD? .DATA ; MODULES NOT OTHERWISE SPECIFIED FOR THIS OVERLAY LEGGL .DATA OVXX1A: .FCTR '$LI'FCP/LB:ATCTL:DATIM:NXHDR:RATCM:RWATT:WATCM-OVCOM .DATA ;N .DATA ; CLEAN-UP AFTER ERROR, DELETE FILE, DISMOUNT VOLUME, AND INIT F11ACPP .DATA OVLY2: .FCTR OVCLN-OVACL-OVCLXT-OVDLM-OVDEL-COMACL-COMAXD-COMSMP-OVXX2A? .DATA ; MODULES NOT OTHERWISE SPECIFIED FOR THIS OVERLAY LEGOG .DATA OVXX2A: .FCTR '$LI'FCP/LB:CLCRE:CLDEL:CLDIR:CLCOM:DLBLK-OVXX2BO: .DATA OVXX2B: .FCTR '$LI'FCP/LB:DLHDR:NXHDR:SMDEL-OVDMO .DATA ;! .DATA ; CREATE AND EXTEND FILE < .DATA OVLY3: .FCTR OVCRE-OVEX-OVEXHD-OVEXIX-OVCOM3-OVXX3A2 .DATA OVCOM3: .FCTR COMDEW-COMCXH-COMSMP-COMSMX? .DATA ; MODULES NOT OTHERWISE SPECIFIED FOR THIS OVERLAY LEGAF .DATA OVXX3A: .FCTR '$LI'FCP/LB:ATCTL:DATIM:GTFID:NXHDR:WATCM-OVCOM .DATA ;9 .DATA ; ENTER AND REMOVE; DIRECTORY EXTEND OPERATIONSA= .DATA OVLY4: .FCTR OV qENA-OVRNA-OVDREF-OVDREX-OVCOM4-OVXX4AC@ .DATA OVCOM4: .FCTR DIRCOM-COMDFR-COMDER-COMERX-COMSMP-COMSMX? .DATA ; MODULES NOT OTHERWISE SPECIFIED FOR THIS OVERLAY LEGA9 .DATA OVXX4A: .FCTR '$LI'FCP/LB:DREX:DLBLK:SMDEL-OVCOM. .DATA ;E .DATA ; THE FOLLOWING MODULES ARE COMMON TO ALMOST EVERY OPERATIONEJ .DATA RCOM: .FCTR '$LI'FCP/LB:ALLOC:BLXIO:CKSUM:GTMAP:INFCB:MPHDR-RCOM1E .DATA RCOM1: .FCTR '$LI'FCP/LB:MPVBN:DELCK:PROCK:RDHDR:RLEAS-RCOM2EE .DATA RCOM2: .FCTR '$LI'FCP/LB:RW1LB:SCFAC:SCFCB:WITRN:WRHDR:WTRN1E .DATA ;G .DATA ; THE FOLLOWING MODULES ARE COMMON TO ALL DIRECTORY OPERATIONS M .DATA DIRCOM: .FCTR '$LI'FCP/LB:CLDIR:DRGET:DRINI:DRPAC:DRVLB:LOCAT:MATNAM: .DATA ;4 .DATA ; COMMON TO FIND AND REMOVE DIRECTORY OP''S( .DATA COMDFR: .FCTR '$LI'FCP/LB:FDRMV .DATA ;5 .DATA ; COMMON TO ENTER AND REMOVE DIRECTORY OP''SS( .DATA COMDER: .FCTR '$LI'FCP/LB:DRWRT .DATA ;8 .DATA ; COMMON TO ENTER, REMOVE, AND DIRECTORY EXTEND( .DATA COMERX: .FCTR '$LI'FCP/LB:DRSEF .DATA ;B .DATA ; COMMON TO DIRECTORY ACCESS, EXTEND AND WRITE ATTRIBUTES( .DATA COMDEW: .FCTR '$LI'FCP/LB:WACCK .DATA ;- .DATA ; COMMON TO CREATE AND EXTEND HEADER:( .DATA COMCXH: .FCTR '$LI'FCP/LB:CRFID .DATA ;' .DATA ; COMMON TO ACCESS AND CLEANUP'( .DATA COMACL: .FCTR '$LI'FCP/LB:RLFCB .DATA ;< .DATA ; CLEANUP, DIRECTORY EXTEND, AND INDEX FILE EXTEND5 .DATA COMSMP: .FCTR '$LI'FCP/LB:DARITH:SMNXB:SMRVB .DATA ;3 .DATA ; DIRECTORY EXTEND, AND INDEX FILE EXTEND ( .DATA COMSMX: .FCTR '$LI'FCP/LB:SMALC .DATA ;Q .DATA ; COMMON TO READ/WRITE VIRTUAL BLOCK (1NGL & LONG), EXTEND, AND CLEAN-UPA( .DATA COMVBX: .FCTR '$LI'FCP/LB:DWPND .DATA ;R .DATA ; COMMON TO ACCESS, DEACCESS, EXTEND, R/W ATTRIBUTES, AND MARK FOR DELETE( .DATA COMAXD: .FCTR '$LI'FCP/LB:GTFID .DATA ; .DATA ; CREATE FILE( .DATA OVCRE: .FCTR *'$LI'FCP/LB:CRFIL .DATA ; .DATA ; MARK FILE FOR DELETEM( .DATA OVDLM: .FCTR *'$LI'FCP/LB:DLMRK .DATA ;% . qDATA ; DELETE FILE, TRUNCATE FILER. .DATA OVDEL: .FCTR *'$LI'FCP/LB:DLFIL:TRUNC .DATA ; .DATA ; ACCESS FILE) .DATA OVACC: .FCTR *'$LI'FCP/LB:ACCESSM .DATA ; .DATA ; DEACCESS FILE( .DATA OVDAC: .FCTR *'$LI'FCP/LB:DEACC .DATA ;" .DATA ; ACCESS/DEACCESS CLEANUP. .DATA OVACL: .FCTR *'$LI'FCP/LB:CLACC:CLDAC .DATA ; .DATA ; CLEAN UP AFTER ERRORF4 .DATA OVCLN: .FCTR *'$LI'FCP/LB:CLNUP:CLFCB:CLATT .DATA ; .DATA ; CLEAN UP AFTER EXTEND) .DATA OVCLXT: .FCTR *'$LI'FCP/LB:CLEXTI .DATA ; .DATA ; EXTEND FILE9 .DATA OVEX: .FCTR *'$LI'FCP/LB:EXTEN:EXINI:EXCOM:EXCMPS .DATA ; .DATA ; EXTEND INDEX FILE) .DATA OVEXIX: .FCTR *'$LI'FCP/LB:IXEXTI .DATA ;# .DATA ; MAKE AN EXTENSION HEADER.) .DATA OVEXHD: .FCTR *'$LI'FCP/LB:EXTHD .DATA ; .DATA ; READ/WRITE ATTRIBUTES. .DATA OVRAT: .FCTR *'$LI'FCP/LB:RDATT:WRATT .DATA ;1 .DATA ; READ/WRITE VIRTUAL BLOCK (WINDOW TURN);' .DATA OVRWVB: .FCTR '$LI'FCP/LB:RWVBA .DATA ;6 .DATA ; RWVBL HANDLES MULTI-BLOCK XFER WINDOW TURNS( .DATA OVRVBL: .FCTR '$LI'FCP/LB:RWVBL .DATA ;! .DATA ; FIND NAME IN DIRECTORYE- .DATA OVFNA: .FCTR *'$LI'FCP/LB:FNDNM:DREXF .DATA ;% .DATA ; REMOVE NAME FROM DIRECTORYI( .DATA OVRNA: .FCTR *'$LI'FCP/LB:RMVNM .DATA ;" .DATA ; ENTER NAME IN DIRECTORY( .DATA OVENA: .FCTR *'$LI'FCP/LB:ENTNM .DATA ;6 .DATA ; ACCESS DIRECTORY FILE (IF NOT PRE-ACCESSED)/ .DATA OVDRAC: .FCTR *'$LI'FCP/LB:DRACC:INWINR .DATA ; .DATA ; EXTEND DIRECTORY FILE5 .DATA OVDREX: .FCTR *'$LI'FCP/LB:DREXT:DRALC:DRCPY' .DATA ; .DATA ; WRITE DIRECTORY EOF) .DATA OVDREF: .FCTR *'$LI'FCP/LB:DREOFL .DATA ; .DATA ; DISMOUNT VOLUMEF .DATA OVDMO: .FCTR *'$LI'FCP/LB:CNTRL:DMOUNT:MOUNT-*(OVMOU1,OVMOU2)B .DATA OVMOU1: .FCTR '$LI'FCP/LB:MOUNT0:MOUNT1-'$LI'FCP/LB-OVCOM; .DATA OVMOU2: .FCTR '$LI'FCP/LB:MOUNT2-'$LI'FCP/LB-OVCOMT .DATA ;: .DATA OVCOM: .FCTR LB:[1,1]EXELIB/LB-'$TK'RSX11M.STB/SS .DATA ; .DATA ; .DAqTA .END .CLOSEI .EXIT 1.;$.; Exit for error encountered by IND.;.ERXIT: .EXIT 4ATA ; WRITE DIRECTORY EOF) .DATA OVDREF: .FCTR *'$LI'FCP/LB:DREOFL .DATA ; .DATA ; DISMOUNT VOLUMEF .DATA OVDMO: .FCTR *'$LI'FCP/LB:CNTRL:DMOUNT:MOUNT-*(OVMOU1,OVMOU2)B .DATA OVMOU1: .FCTR '$LI'FCP/LB:MOUNT0:MOUNT1-'$LI'FCP/LB-OVCOM; .DATA OVMOU2: .FCTR '$LI'FCP/LB:MOUNT2-'$LI'FCP/LB-OVCOMT .DATA ;: .DATA OVCOM: .FCTR LB:[1,1]EXELIB/LB-'$TK'RSX11M.STB/SS .DATA ; .DATA ; .DArBACKUPDR1:[12,304]FCPLRGBLD.BLD;1J .DATAPUKCABr.rJ&Mdd29DEC8110304529DEC811030459KXr .ONERR ERXIT .ENABLE SUBSTITUTION .ENABLE GLOBAL.;.; Generate FCPLRGBLD.CMD.; .SETF $UTYP1 .OPEN '$CL'FCPLRGBLD.CMD .DATA ; .DATA ; FCPLRGBLD.CMD .DATA ;H .DATA ; Build entirely memory resident F11ACP (FCPLRG) for RSX11M/M+.F .DATA ; This version does not have any overlays nor does it requireJ .DATA ; special executive support such as memory management directives. .DATA ;H .DATA ; Since this thing is over 8K words minimum it is not supported* .DATA ; on unmapped system (obviously). .DATA ; .DATA ; '$COM' .DATA ; Created by '$BLDID' .DATA ; .DATA ; Name - FCPLRG .DATA ;6 .DATA '$TK'FCPLRG/-IP/AC/MM/AL/-FP,'$MP'FCPLRG/-SP= .DATA ;C .DATA '$LI'FCP/LB:F11ACP:F11CM:F11BUF:SMCOM:DISPAT:DIRBUF:FIOSUB + .DATA '$LI'FCP/LB:ARWVB:INIT:MXQIO:SMRVBt8 .DATA '$LI'FCP/LB:ALLOC:BLXIO:CKSUM:CLACC:CLDAC:GTFID8 .DATA '$LI'FCP/LB:ATCTL:CRFID:DATIM:RATCM:RWATT:WATCM2 .DATA '$LI'FCP/LB:CLATT:CLCRE:CLDEL:CLDIR:GTMAP9 .DATA '$LI'FCP/LB:CLEXT:DARITH:DLBLK:DLHDR:DRGET:DELCK> .DATA '$LI'FCP/LB:INFCB:MPHDR:MPVBN:NXHDR:PROCK:RDHDR:RLEAS> .DATA '$LI'FCP/LB:RLFCB:RW1LB:SCFAC:SCFCB:WITRN:WRHDR:WTRN1> .DATA '$LI'FCP/LB:DRINI:DRPAC:DRSEF:DRVLB:DRWRT:DWPND:FDRMV9 .DATA '$LI'FCP/LB:LOCAT:MATNAM:SMALC:SMDEL:SMNXB:WACCKL9 .DATA '$LI'FCP/LB:CRFIL:DLMRK:DLFIL:TRUNC:ACCESS:DEACCC> .DATA '$LI'FCP/LB:CLNUP:CLFCB:CLCOM:EXTEN:EXINI:EXCOM:EXCMP7 .DATA '$LI'FCP/LB:IXEXT:EXTHD:RDATT:WRATT:RWVB:RWVBLE7 .DATA '$LI'FCP/LB:FNDNM:DREX:RMVNM:ENTNM:DRACC:INWINL3 .DATA '$LI'FCP/LB:DREXT:DRALC:DRCPY:DREOF:DMOUNTR5 .DATA '$LI'FCP/LB:CNTRL:MOUNT:MOUNT0:MOUNT1:MOUNT2F .DATA LB:[1,1]EXELIB/LB .DATA '$TK'RSX11M.STB/SS/ .DATA / .DATA ; .DATA TASK=F11ACP .DATA STACK=50B .DATA UNITS=1 .DATA UIC=[1,1] .DATA PRI=149 .DATA PAR='$FPAR' .DATA TSKV=.SSTVC:7 .DATA ;< .DATA ; Allocate a separate buffer for index file bitmap. .DATA ;D .DATA ; If you''ve memory to burn, enable the EXTSCT=$$BUrF0:1006. .DATA ; .DATA EXTSCT=$$BUF0:1006B .DATA ;7 .DATA ; Allocate a separate buffer for file headers.U .DATA ;< .DATA ; Always enable the EXTSCT=$$BUF1:1006 if possible. .DATA ; .DATA EXTSCT=$$BUF1:1006= .DATA ;+ .DATA ; Allocate private FCB pool space.C .DATA ;< .DATA ; The value of the EXTSCT determine the size of the< .DATA ; internal FCB pool which doesn''t help performance@ .DATA ; but cuts down on the use of system pool. The optimum= .DATA ; size is the size of an FCB (about 54(8)) times the0C .DATA ; number of files open plus preaccessed directories (LRU).s .DATA ; .DATA EXTSCT=$$AFR1:3000t .DATA ;' .DATA ; Extend the directory buffer.A .DATA ;@ .DATA ; The EXTSCT=$$BUF3 determines the number of additionalA .DATA ; blocks of directory buffer to allocate. Determine thez@ .DATA ; size of the most frequently used directories and then@ .DATA ; extend $$BUF3 by that value minus one times the block .DATA ; size (1000(8)). .DATA ; .DATA EXTSCT=$$BUF3:3000 .DATA ; .DATA / .CLOSEs .EXIT 1.;$.; Exit for error encountered by IND.;.ERXIT: .EXIT 4 .DATA ;' .DATA ; Extend the directory buffer.A .DATA ;@ .DATA ; The EXTSCT=$$BUF3 determines the number of additionalA .DATA ; blocks of directory buffer to allocate. Determine thez@ .DATA ; size of the most frequently used directories and then@ .DATA ; extend $$BUF3 by that value minus one times the block .DATA ; size (1sBACKUPDR1:[12,304]FCSRS1BLD.BLD;1  S55 '$CL'FCPUKCABT2s.sS h &sdd29DEC8110304629DEC81103046 @s .ONERR ERXIT .ENABLE SUBSTITUTION .ENABLE GLOBAL.;.; Generate FCSRS1BLD.CMD.; .SETF $UTYP1 .OPEN '$CL'FCSRS1BLD.CMD .DATA ;3 .DATA ; TKB BUILD FILE FOR PLAS OVERLAYED FCSRES .DATA ; '$COM' .DATA ; USING '$DFLIB' .DATA ; CREATED BY '$BLDID' .DATA ;S .DATA '$TK'FCSRES/-HD/LI/PI,'$MP'FCSRES/MA/-SP,'$TK'FCSRES='$OD'FCSRS1BLD.ODL/MP .DATA STACK=0 .DATA ; .DATA ;5 .DATA ; ENTRY POINTS NOT USED BY RSX UTILITIES ARE .DATA ; COMMENTED OUT. .DATA ; .DATA PAR=FCSRES:0:40000 .DATA ;< .DATA ; OPEN OVERLAY ENTRY POINTS FROM OPEN, PARSE, CLOSE .DATA ;K .DATA GBLREF=.OPEN,.OPFNB,.OPFID,.ASCPP,.PPASC,.FINIT,.CLOSE,$RQCB,$RLCBEH .DATA ;GBLREF=.PARSE,.PRSDI,.PRSDV,.PRSFN,.ODCVT,.DCCVT,.VRCVT,.ASLUN9 .DATA GBLREF=.PARSE,.PRSDV,.ODCVT,.DCCVT,.VRCVT,.ASLUNC .DATA ; FROM GETDID: .DATA GBLREF=.GTDID .DATA ; FROM GETDIR: .DATA GBLREF=.GTDIR .DATA ; FROM EXTEND: .DATA GBLREF=.EXTND .DATA ; FROM PPNR50: .DATA ;GBLREF=.PPR50S .DATA ; FROM UDIREC:# .DATA GBLREF=.ENTER,.FIND,.REMOVF .DATA ; FROM TRNCLS: .DATA GBLREF=.TRNCL .DATA ; FROM MRKDL:C .DATA GBLREF=.MRKDL5 .DATA ; FROM DELETE AND DELJMP, SIMULATING DLFNB:S .DATA GBLREF=.DELET,.DLFNB .DATA ; FROM RENAME: .DATA GBLREF=.RENAM .DATA ; FROM $PRINT: .DATA GBLREF=.PRINT .DATA ; FROM DSPAT:M .DATA ;GBLREF=$DSPAT= .DATA ;J .DATA ; GET-PUT OVERLAY - ENTRY POINTS FROM GET, PUT, READ, WRITE, ETC. .DATA ;@ .DATA ;GBLREF=.GET,.PUT,.READ,.WRITE,$DMUL,$DDIV,.CTRL,.GETSQ9 .DATA GBLREF=.GET,.PUT,.READ,.WRITE,$DMUL,$DDIV,.GETSQ E .DATA GBLREF=.POSIT,.POSRC,.PUTSQ,.FCTYP,.CSI1,.CSI2,.OD2CT,.DD2CT .DATA ; .DATA ; FROM PNTMRK: .DATA GBLREF=.POINT,.MARK .DATA ; FROM FLUSH:. .DATA GBLREF=.FLUSH .DATA ; FROM WAITU:. .DATA GBLREF=.WAIT. .DATA ; FROM XQIOU:. .DATA GBLREF=.XQIO  .DATA ; FROM RWFSR2:G .DATA GBLREF=.RDFDR,.RDFFP,.RDFUI,.RFOWN,s.WDFDR,.WDFFP,.WDFUI,.WFOWN .DATA ; .DATA ; .DATA ; FROM EXST: .DATA GBLREF=$EXSTA .DATA ; .DATA ; FROM EDTMG:$ .DATA GBLREF=$EDMSG .DATA ; .DATA ; FROM CATB: .DATA GBLREF=$COTB,$CDTB. .DATA ; .DATA ; FROM CBTA:F .DATA GBLREF=$CBDAT,$CBDMG,$CBDSG,$CBOSG,$CBTA,$CBTMG,$CBVER,$CBOMG .DATA ; .DATA ; FROM EDDAT:A .DATA GBLREF=$DAT,$TIM; .DATA ; .DATA ; FROM CDDMG:  .DATA GBLREF=$CDDMG .DATA ; .DATA / .CLOSER.;E.; Register saving routines $SAVAL, .SAVR1, $SAVVR, and $SAVRG should;E.; never be made accessable from a memory resident overlayed library.G.;J.; Routines ARITH (entry points $DIV and $MUL), CAT5, and C5TA are presentM.; in the executive. If they were accessable from FCSRES, then a privileged ,I.; task which calls any of them in system state would crash, because apr7TL.; is mapped to the I/O page then. Thus, these routines are not accessable .; fron FCSRES. .;.; Generate FCSRS1BLD.ODLR.; .OPEN '$CL'FCSRS1BLD.ODL .DATA ;1 .DATA ; TKB ODL FILE FOR PLAS OVERLAYED FCSRESc#.IFT $FCSTK .DATA ; USING '$DFLIB'y .DATA ; '$COM'; .DATA ; CREATED BY '$BLDID' .DATA ; .DATA ; .DATA ; .DATA .NAME FCSROT( .DATA .ROOT FCSROT-*!(OPNTRE,RESTRE) .DATA ; .DATA ;P .DATA ; OVERLAY FOR FILE OPEN, CLOSE, AND ASSOCIATED USER ACCESSABLE ROUTINES .DATA ; .DATA ; .DATA .NAME OPENL .DATA OPNTRE: .FCTR OPEN-DEFALT-OPEN1-OPEN2-OPEN3-OPEN4-OPEN5-OPEN6-OPEN7* .DATA DEFALT: .FCTR LB:[1,1]'$DFLIB'/DL6 .DATA OPEN1: .FCTR LB:[1,1]'$DFLIB'/LB:OPNJMP:OPENRP .DATA OPEN2: .FCTR LB:[1,1]'$DFLIB'/LB:FINIT:.ODCVT:ASSLUN:ASCPPN:PPNASC:MKDLO .DATA OPEN3: .FCTR LB:[1,1]'$DFLIB'/LB:PARSE:PARSDI:PARSDV:PARSFN:DIRECT:DELT5 .DATA OPEN4: .FCTR LB:[1,1]'$DFLIB'/LB:RQLCB:CLOSEOS .DATA ;OPEN5: .FCTR LB:[1,1]'$DFLIB'/LB:UDIREC:EXTEND:TRNCLS:$PRINT:DSPAT:PPNR50.K .DATA OPEN5: .FCTR LB:[1,1]'$DFLIB'/LB:UDIREC:EXTEND:TRNCLS:$PRINT:DSPATO> .DATA OPEN6: .FCTR LB:[1,1] s'$DFLIB'/LB:GETDID:GETDIR:RENAME= .DATA OPEN7: .FCTR LB:[1,1]'$DFLIB'/LB:MRKDL:DELETE:DELJMPR .DATA ; .DATA ;C .DATA ; OVERLAY CONTAINING GET, PUT, READ, WRITE, AND ASSOCIATEDO# .DATA ; USER ACCESSABLE ROUTINES: .DATA ; .DATA .NAME RESTA .DATA RESTRE: .FCTR REST-GETPT-OTHER1-OTHER2-GPOPT1-GPOPT2-CSIP> .DATA GETPT: .FCTR LB:[1,1]'$DFLIB'/LB:GPTJMP:GET:PUT:FLUSH< .DATA OTHER1: .FCTR LB:[1,1]'$DFLIB'/LB:READ:WRITE:FCSTYPK .DATA OTHER2: .FCTR LB:[1,1]'$DFLIB'/LB:ARITH:DARITH:CONTRL:POSIT:POSRECTD .DATA GPOPT1: .FCTR LB:[1,1]'$DFLIB'/LB:PNTMRK:RWFSR2:WAITU:XQIOUK .DATA GPOPT2: .FCTR LB:[1,1]'$DFLIB'/LB:EDTMG:EDDAT:CDDMG:CBTA:CATB:EXSTR9 .DATA CSI: .FCTR LB:[1,1]'$DFLIB'/LB:.CSI1:.CSI2:OD2CT .DATA ; .DATA ; .DATA .END .CLOSE. .EXIT 1.;$.; Exit for error encountered by IND.;.ERXIT: .EXIT 4,1]'$DFLIB'/LB:GPTJMP:GET:PUT:FLUSH< .DATA OTHER1: .FCTR LB:[1,1]'$DFLIB'/LB:READ:WRITE:FCSTYPK .DATA OTHER2: .FCTR LB:[1,1]'$DFLIB'/LB:ARITH:DARITtBACKUPDR1:[12,304]F11MSGBLD.BLD;185% .DATA ;PUKCAB t.t8w*?Tdd29DEC8110304729DEC81103046Ja`t .ONERR ERXITr .ENABLE SUBSTITUTION; .ENABLE GLOBAL1.;.; Generate F11MSGBLD.CMDT.; .SETF $UTYP1C .OPEN '$CL'F11MSGBLD.CMDR .DATA ;6 .DATA ; TKB BUILD FILE FOR FILES-11 MESSAGE PRINTER .DATA ; '$COM'T .DATA ; CREATED BY '$BLDID' .DATA ;8 .DATA '$TK'F11MSG/PR:0/CP'$MMSW'/-FP,'$MP'F11MSG/-SP= .DATA '$OD'F11MSGBLD.ODL/MP .DATA TASK=F11MSG .DATA UIC=[2,2] .DATA PRI=200 .DATA STACK=32A .DATA PAR='$GEN'A .DATA / .DATA ;3 .DATA ; BUILD FILE FOR MESSAGE TASK SYMBOL TABLET .DATA ;, .DATA ,'$MP'F11MSGSTB/-SP,'$TK'F11MSGSTB=, .DATA '$LI'F11MSG/LB:F11MDF:F11MG0:F11MG1 .DATA '$LI'F11MSG/LB:F11MG2 .DATA / .DATA STACK=0 .DATA / .CLOSE;.;.; Generate F11MSGBLD.ODL .; .OPEN '$CL'F11MSGBLD.ODLT .DATA ;1 .DATA ; TKB ODL FILE FOR FILES-11 MESSAGE TASKM .DATA ; '$COM'A .DATA ; CREATED BY '$BLDID' .DATA ; .DATA ; .DATA .ROOT R-(M0,M1,M2). .DATA R: .FCTR '$LI'F11MSG/LB:F11MSG:F11MDF( .DATA M0: .FCTR '$LI'F11MSG/LB:F11MG0( .DATA M1: .FCTR '$LI'F11MSG/LB:F11MG1( .DATA M2: .FCTR '$LI'F11MSG/LB:F11MG2 .DATA .END .CLOSE' .EXIT 1.;$.; Exit for error encountered by IND.;.ERXIT: .EXIT 4;.; Generate F11MSGBLD.ODL .; .OPEN '$CL'F11MSGBLD.ODLT .DATA ;1 .DATA ; TKB ODL FILE FOR FILES-11 MESSAGE TASKM .DATA ; '$COM'A .DATA ; CREATED BY '$BLDID' .DATA ; .DATA ; .DATA .ROOT R-(M0,M1,M2). .DATA R: .FCTR '$LI'F11MSG/LB:F11MSG:F11MDFuBACKUPDR1:[12,304]ICPBLD .BLD;1NffOPEN '$CPUKCABbu.uN8dd29DEC8110304829DEC81103048M!u.;=.; Build INDIRECT for the standard RSX-11M configuration with.; full capabilites for SYSGEN..; .ENABLE GLOBAL .ENABLE SUBSTITUTION .SETF $UTYP1.;-.; SET UP PARAMETERS SPECIFIC TO THIS VARIANT.;/ .SETF $MP6 ; INDICATE THIS IS NOT M-PLUS BL69 .SETS CPSW "/AL" ; INITIALLY SET TO ALLOW CHECKPOINTING' .SETS DATFIL "4" ; ALLOW 4 DATA FILES3 .SETS DALTBL "20" ; ALLOW 20 DIRECT ACCESS LABELS0 .SETS MXEXQT "20" ; ALLOW 20 XQT STATUS BLOCKS0 .SETS MXSUBR "10" ; ALLOW 10 SUBROUTINE LEVELS6 .SETS MXSTRG "204" ; SET BUFFER LENGTH TO 132. BYTES2 .SETS MXMAXD "4" ; ALLOW MAXIMUM FILE DEPTH OF 4.;.; NOW CREATE ICPBLD.ODL.; .OPEN '$CL'ICPBLD.ODLA .DATA ;E- .DATA ; TKB .ODL file for ICP variant "ICP"I .DATA ; '$COM'2 .DATA ; created by '$BLDID' at '' '