Peck@RADC-MULTICS.ARPA (Rodney) (12/08/86)
Here thanks to Paul Smee in England is a uuencoded uudecoder. I've Tried it, and it works for everything but uniterm (I think uniterm is too big). Use the basic uudecode to decode this then use UUDECODE.TTP to decode everything from now on. Also included is the source code in (MetaComCo Lattice) C source form. Good luck, Rodney Peck Rome Air Development Center (Even still another multics) Rome, NY PS: DISCLAIMER: Anything I post on this or anyother message do not represent the views or opinions of my employer as I do not have the power to express opinions for that entity. Good luck, Paul Smee, Sr Sys Prog (Formerly of HIS-CISL) Avon Universities Computer Center (Yet Another Multics) Bristol, England NOTE: Paul has replaced all the spaces (32dec) with grave accent marks (`) If you recall the definition of the uuencode process, the ` is not a valid character in a uuencoded file. SO.... do a global replace with `'s to spaces. -rodney ------------------- # This is a shell archive. # Remove everything above and including the cut line. # Then run the rest of the file through sh. #----cut here-----cut here-----cut here-----cut here----# #!/bin/sh # shar: Shell Archiver # Run the following text with /bin/sh to create: # UUDECODE.UUE # UUDECODE.C # # This archive created: Dec 03, 1986 -- 20:24 # By: Paul E, Smee (using that wonderful machine :-) # echo shar: extracting UUDECODE.UUE sed 's/^XX//' << \SHAR_EOF > UUDECODE.UUE XXbegin 777 UUDECODE.TTP XXM8!H``$/>`````````````````````````````"9O``0CRP``/+Y!ZP"`0H(4 XXM&"A(4T(D2`P0``IG``$`#!``(&<```H,$``)9@``#%*(4T)JXF```.8,$``\ XXM9P``K`P0`#YG``":#!``/6<*#!``)6=*8```QE*(<`!R`!(0#$$`.6X:!$$` XXM,&T4XX`O`.6`T)_0@5*(4T)K``":8-Q*@&<``)(,@```!`!N!B`\```$`"/` XXM```_RF``_WI2B'``<@`2$`Q!`#EN&`1!`#!M$N.`+P#E@-"?T(%2B%-":U1@ XXMWDJ`9TX,@```"`!N!B`\```(`"/````^GF``_SA#^0``/(I@```(0_D``#QJ XXM<A]2B%-":R0,$``@9P#_&`P0``EG`/\0#!``"F<`_P@2V%')_^!P\6```)Q* XXM0FL&%-A1RO_\0AHB*P`8TJL`'"`/D+D``#_*D($D.0``/IYF"B0`!((``!`` XXM8!)N`M2`#((```@`;@8D/```"``F`9:+UH+6N0``/\HO`R\+0F<_/`!*3D%* XXM@&<&,#S_V6`V(`(N0=_"W_D``#_*(\$``#RJ(\$``#RN(\```#RR3KD``!UT XXM+PQ+^0``O&(L34ZY```&JG``/P`_/`!,3D%@_"`O``1@\$Y6_RX,;@`!``IO XXM)$AY```\T"!N``PO*``$80`$1E"/(\```#_.6*X`#%-N``I@"B/\``!`6@`` XXM/\X,;@`!``IG($AY```\TDAY``!`BDZY```)<E"/<`(O`$ZY```*^EB/+SD` XXM`#_.<%`O`$AN_RYA``-$3^\`#$J`9B!(>0``/.I(>0``0(I.N0``"7)0CW`# XXM+P!.N0``"OI8CW`&+P!(>0``//E(;O\N3KD``#NR3^\`#$J`9JI.<4AN_WY( XXM;O_^2'D``#T`2&[_+DZY```E4D_O`!!(>0``/0Q(;O]^80`#@%"/(\```#_2 XXM+P`O.0``/\YA:E"/+SD``#_23KD```W`6(\O.0``/\YP4"\`2&[_+F$``J!/ XXM[P`,2H!G''`&+P!(>0``/0](;O\N3KD``#NR3^\`#$J`9R!(>0``/19(>0`` XXM0(I.N0``"7)0CW`%+P!.N0``"OI8CTY>3G5.5O^J+RX`"'!0+P!(;O^P80`" XXM1$_O``Q*@&862'D``#TC2'D``$"*3KD```ER4(]@2!`N_[!(@$C`!(`````@ XXM`H`````_/4#_JDI`;RQ![O^Q+4C_K#`N_ZI(P$J`;Z0O`"\N``PO+O^L81)/ XXM[P`,6*[_K%=N_ZI@W$Y>3G5.5O_R(&X`"!`02(!(P"]````"@````$#C@"(O XXM```"@0```!_E@8"!$B@``4B!2,$O00`$`H$```!`ZH&`@2(O``0"@0```!#H XXM@8"!(B\`!`*!````#^F!%"@``DB"2,(O0@`$`H(```!`YH*"@B0O``0"@@`` XXM`!SD@H*")"\`!`*"`````^V"%B@``TB#2,,O0P`$`H,```!`XH.$@R8O``0" XXM@P```!^$@SU`__X]0?_\/4+_^@QN``$`$FU6#$``#68:<`TO`$AY```]+R\N XXM``Q.N0``"7)/[P`,8#8@;@`,("@`"%.`(4``"$J`:Q`B4%*0,"[__A*`2(!( XXMP&`4,"[__DC`+RX`#"\`3KD```^\4(\,;@`"`!)M6`QN``W__&8:<`TO`$AY XXM```],B\N``Q.N0``"7)/[P`,8#8@;@`,("@`"%.`(4``"$J`:Q`B4%*0,"[_ XXM_!*`2(!(P&`4,"[__$C`+RX`#"\`3KD```^\4(\,;@`#`!)M6`QN``W_^F8: XXM<`TO`$AY```]-2\N``Q.N0``"7)/[P`,8#8@;@`,("@`"%.`(4``"$J`:Q`B XXM4%*0,"[_^A*`2(!(P&`4,"[_^DC`+RX`#"\`3KD```^\4(].7DYU3E;_^$CG XXM`0PJ;@`0*&X`"%-N``Y*;@`.;U0@+0`$4X`K0``$2H!K"B!54I5P`!`08`HO XXM#4ZY```.FEB/+@`,A_____]G*"!'T?P``#Z_$!`"``!72@!G""`'&(!2C&"P XXM4FX`#@R'````"F:D3G$,A_____]F$+GN``AF"G``3-\P@$Y>3G53;@`.2FX` XXM#F\(&+P`(%*,8.Y"%%.,&+P`"B`N``A,WS"`3EY.=4Y6__PO+@`,+RX`"$ZY XXM```+8E"/+4#__$J`9A`O+@`(2'D``#TX81!0CV`(("[__$Y>3G5.7DYU3E8` XXM`"\Y```\S$AY```]3$AY``!`BDZY```)<D_O``PO+@`,+RX`"$AY``!`BDZY XXM```)<D_O``QP`2\`3KD```KZ6(].7DYU3E;_[D*Y```_VG`!(\```#_6#+D` XXM```@```_UFP``(@@;@`($!!(@$C`4H`B0-/\```^OA`1"````V<&4JX`"&#> XXM(&X`"!`02@!G6B`Y```_UN6`4KD``#_6($#1_```/]H@K@`((&X`"!`02(!( XXMP$J`9QA2@")`T_P``#Z^$!$(```#9@92K@`(8-H@;@`($!!R`!"!4JX`"!U` XXM__]*`&8`_W!.<4AY``!`6DAY```]4DAY```\:DZY```+M$_O``P2.0``/(HM XXM0/_V#`$`/F<B2'D``$!R2'D``#U42'D``#R*3KD```NT3^\`#"U`__)@($AY XXM``!`<DAY```]5DAY```\BTZY```+M$_O``PM0/_R2'D``$"*2'D``#U92'D` XXM`#U83KD```NT3^\`#"U`_^Y*@&8,<`$O`$ZY```=!EB/2J[_]F8>+R[_[DAY XXM```]6TZY```)&%"/<`$O`$ZY```*^EB/+SD``#ZF3KD``!-B6(\O`"\N__9. XXMN0``"JI0CR!N__80*``0`@``]Q%``!!*KO_R9AXO+O_N2'D``#UR3KD```D8 XXM4(]P`2\`3KD```KZ6(](>0``/]HO.0``/]9.N0```<A0CT*G3KD```KZ6(]. XXM7DYU``!.5O_\(&X`"!`02(!(P%*N``@M0/_\2H!G.B(Y``!`>E.!(\$``$!Z XXM2H%K%"!Y``!`<E*Y``!`<A"`2(!(P&#$2'D``$!R+R[__$ZY```/O%"/8+`@ XXM.0``0'I3@"/```!`>DJ`:Q8@>0``0')2N0``0')P"A"`2(!(P&`22'D``$!R XXM<`HO`$ZY```/O%"/3EY.=4Y6__A"KO_X(&X`"!`02(!(P%*N``@M0/_\2H!G XXM-"!N``PB*``(4X$A00`(2H%K#")04I`2@$B`2,!@$"\N``PO+O_\3KD```^\ XXM4(\M0/_X8+8@+O_X3EY.=4Y6_NQ(YP`@0>X`$"U(_^P@;@`,$!!*`&<``19( XXM@$C`4H@M0/_X+4@`#`R`````)68``,80$`P``"5F/$B`2,!2K@`,(&X`""(H XXM``A3@2%!``@M0/_X2H%K#")04I`2@$B`2,!@JB\N``@O+O_X3KD```^\4(]@ XXMF$AN__1(;O_L2&[^["\N``Q.N0``+2)/[P`0+4#_\$J`9P#_=D*N__PM0``, XXM("[__+"N__1L`/]B(&X`""(H``A3@2%!``A*@6L4(E!2D$7N_NS5P!`2$H!( XXM@$C`8!Q![O[LT>[__!`02(!(P"\N``@O`$ZY```/O%"/4J[__&"L(&X`""`H XXM``A3@"%```A*@&L2(E!2D"`N__@2@$B`2,!@`/[V+RX`""\N__A.N0``#[Q0 XXMCV``_N),WP0`3EY.=4Y6```O+@`(3KD```XN6(]*K@`,9@9P`$Y>3G4@;@`( XXM$"@`$`(``/L10``0````"!%``!`@;@`,(FX`""*((T@`#"-Y```^I@`2<`!. XXM7DYU3E;__$*N__P@+O_\#(`````4;"!R&$ZY```[;B!`T?P``$!:+PA.N0`` XXM#<!8CU*N__Q@U$*N__P@+O_\L+D``#_";!`O`$ZY```<A%B/4J[__&#D+RX` XXM#"\N``A.N0``'090CTY>3G5.5O_X+7P``$!:__P@;O_\L?P``$(Z9!(0*``0 XXM2@!G"@:N````&/_\8.(@;O_\L?P``$(Z9@9P`$Y>3G4O+O_\+RX`#"\N``AA XXM"$_O``Q.7DYU3E;_ZB!N`!!**``09P@O"&$``?I8CRUY```_QO_T+6X`#/_P XXM(&[_\!`H``%(@$C`#(````!B9PX,@````&%F$D*N__1@""U\``"``/_T4J[_ XXM\"!N__`0*``!#```*U?!1`%(@4C!(&X`#!`02(!(P!U!_^\,@````'=G``#0 XXM#(````!R9P``@@R`````868``10@+O_T`(`````(+T```$HN_^]G!'("8`)R XXM`2`O``"`@0"````!`"\\```!I"\`+RX`"$ZY```6,$_O``PM0/_X4H!F!G`` XXM3EY.=7`"+P!"IR\N__A.N0``&[!/[P`,2B[_[V<((#P```"`8`)P`BU`__Q@ XXM``"D2B[_[V<$<`)@`G``(B[_](*`+P$O+@`(3KD``!8P4(\M0/_X4H!F!G`` XXM3EY.=4HN_^]G""`\````@&`"<`$M0/_\8%Y*+O_O9P1P`F`"<`$B+O_T@H`` XXM@0```0``@0```@`O/````:0O`2\N``A.N0``%C!/[P`,+4#_^%*`9@9P`$Y> XXM3G5*+O_O9P@@/````(!@`G`"+4#__&`&<`!.7DYU("[_^'(&3KD``#MN($#1 XXM_```0V9**``!9Q@([@`"__\@;@`0T/P`%B)N`!`C2``,8`@@;@`00J@`#"`N XXM__@@;@`0$4``$2"H``QP`"%```@A0``$("[__!%``!`@"$Y>3G5.5@``(&X` XXM"!`H`!`(```!9PXO"'#_+P!.N0``#[Q0CR!N``@0*``0`@``#$H`9A9*J``2 XXM9Q`O*``2+R@`#$ZY```4:E"/D<@B;@`((T@`#"-(`!)"*0`0$"D`$4B`2,`O XXM`$ZY```<A%B/3EY.=4Y6```@;@`($"@`$`@```)G!G``3EY.=2!N``A*J``2 XXM9QH0*``0"````V80+R@`$B\H``Q.N0``%&I0CR!N``C0_``6(FX`""-(``P0 XXM*0`0````!!-``!!P`"-``!(C0``((T``!$Y>3G4``$Y6__@@;@`($"@`$`(` XXM`#!*`&<&</].7DYU(&X`"$JH`!)F'!`H`!`(```"9A(O"&$``TY8CTJ`9P9P XXM_TY>3G4@;@`($"@`$`@```)G"'`!+4#_^&`J(&X`"!`H`!`(```!9P9P_TY> XXM3G4@;@`($"@`$`````$10``0+6@`$O_X(&X`"!`H`!%(@$C`+R[_^"\H``PO XXM`$ZY```8OD_O``PM0/_\2H!J$"!N``@0*``0````(!%``!!*KO_\9A`@;@`( XXM$"@`$````!`10``02J[__&\.(&X`""%N__P`!""H``P@;@`($"@`$`(``#!* XXM`&<&</].7DYU(&X`""`H``13@"%```1*@&L*(E!2D'``$!%@"B\N``AA`/[F XXM6(].7DYU3E;_\BUN``C_]B!N``P0*``0`@``,$H`9P9P_TY>3G4@;@`,2J@` XXM$F9R$"@`$`@```)F:`RN_____P`(9@9P`$Y>3G4O+@`,80`"%%B/2H!G!G#_ XXM3EY.=2!N``P0*``0`````A%``!`@*``2(4``"%.`(4``"$J`:Q`B4%*0("X` XXM"!*`2(!(P&`.+RX`#"\N``AA`/]L4(].7DYU(&X`#!`H`!`(```"9TH,KO__ XXM__\`"&8&<`!.7DYU("X`"!U`__\@;@`,$"@`$4B`2,!R`2\!2&[__R\`+4'_ XXM\DZY```9[$_O``QR_RU!``@M0/_Z8```PB!N``P0*``0"````&<&</].7DYU XXM(&X`#!`H`!`````"$4``$`RN_____P`(9SA*J``(;S(@*``(4X`A0``(2H!K XXM$")04I`@+@`($H!(@$C`8`XO+@`,+RX`"&$`_K!0CW#_+4``"")N``P@4;'I XXM``QG1$JI``AJ""UI`!+_\F`0(&X`#"`H`!*0J``(+4#_\B!N``P0*``12(!( XXMP"\N__(O*``,+P!.N0``&>Q/[P`,+4#_^F`*<``M0/_Z+4#_\@RN_______Z XXM9A(@;@`,$"@`$````"`10``08!H@+O_ZL*[_\F<0(&X`#!`H`!`````0$4`` XXM$"!N``P@*``2(4``"")H``P@B2`N``@,@/____]G*"(H``A3@2%!``A*@6L, XXM(E!2D!*`2(!(P&`.+RX`#"\N``AA`/W44(\@;@`,$"@`$`(``#!*`&<&</]. XXM7DYU#*[_______9F!G``3EY.=2`N__9.7DYU3E8``"!N``A*J``29Q`0*``0 XXM"````V8&<`!.7DYU+SD``#ZF3KD``!-B6(\@;@`(((`A0``,2H!F#G`,(\`` XXM`#ZB</].7DYU(&X`""%Y```^I@`2$"@`$`(``/,10``0<``A0``((4``!$Y> XXM3G4``"/Y```^J@``/K(@.0``/JXCP```/K9*N0``/JYF!'#_3G61R")Y```^ XXMLB*((WD``#ZV``0@"$YU0J=A!%B/3G5.5O_X2JX`"&H&</].7DYUD<@CR``` XXM/JHCR```/JXM?````(#_^"\\```$`$ZY```='EB/+4#__$J`9@9P_TY>3G4C XXM[O_\```^JB/N__@``#ZN("X`"%.`+4``"$J`9QXO/```!`!.N0``'1Y8CTJ` XXM9PP@+O_XT;D``#ZN8-1A`/]`<`!.7DYU3E;__"`Y```^MN>`3EY.=4Y6__P@ XXM+@`(+P`M0/_\8098CTY>3G5.5O_P2JX`"&X&<`!.7DYU("X`"%Z`<@A.N0`` XXM.RHM?```/K+_^"!N__@M4/_\+4#_\$JN__QG5B`N__`@;O_\(B@`!+*`;3:R XXM@&8((F[_^"*08!8@;O_\("@`!)"N__`A0``$YX#1KO_\("[_\)&Y```^MB!N XXM__P@"$Y>3G4M;O_\__@@;O_\+5#__&"D("[_\.>`+P!.N0``'1Y8CRU`__1* XXM@&=&2KD``#ZN9A`CP```/JHC[O_P```^KF`F(#D``#ZNYX`@>0``/JK1P")N XXM__0M2/_\L\AF"B`N__#1N0``/JX@+O_T3EY.=7``3EY.=4Y6__P@+@`,+P`O XXM+@`(+4#__&$&4(].7DYU3E;_Y$JN``QN!G#_3EY.=2!N``@@+@`,7H!R"$ZY XXM```[*BU`_^3G@"U(_^S1P"`N_^31N0``/K8M?```/K+_]")N__0M4?_\+4C_ XXMZ$JN__QG``#H(&[__"`H``3G@-'`+4C_^"!N__RQ[O_H8Q@B;O_L(H@C;O_D XXM``0@;O_T((EP`$Y>3G4@;O_\L>[_Z&8>(F[_["*0("[_Y-"H``0C0``$(&[_ XXM]"")<`!.7DYU(&[_[+'N__AD$"`N_^21N0``/K9P_TY>3G4@;O_LL>[_^&90 XXM(&[__$J09QP@;O_H(F[__+'18Q`@+O_DD;D``#ZV</].7DYU("[_Y"!N__S1 XXMJ``$2I!G%B!N_^@B;O_\L=%F"B`H``31J0`$(I!P`$Y>3G4M;O_\__0M;O_X XXM__`@;O_\+5#__&``_Q0@;O_T(*[_[)'((F[_["*((V[_Y``$(`A.7DYU3E8` XXM`$JN``AK)"`N``BPN0``/\)L&'(&3KD``#MN($#1_```0V80$`@```=F#G`) XXM(\```#ZB<`!.7DYU("X`"'(&3KD``#MN($#1_```0V8@"$Y>3G5.5O_P0J[_ XXM_"`N__RPN0``/\)L''(&3KD``#MN($#1_```0V80$$H`9P92KO_\8-@@+O_\ XXML+D``#_"9@YP&"/````^HG#_3EY.=2`N__QR!DZY```[;B!`T?P``$-F(#D` XXM`#ZZ`H```(``(BX`#+.`+4``#"U(__`(```/9P1P$&`"<```@````(`@;O_P XXM$(`@+@`,`H`````##(`````"9SX,@`````%G$DJ`9E8@;O_P$!````!`$(!@ XXM7`@N``,`#V<$<`A@`G```(`````@(&[_\!(02(%(P8*`$(%@.`@N``,`#V<$ XXM<`A@`G```(````!@(&[_\!(02(%(P8*`$(%@%"!N__!"$'`6(\```#ZB</]. XXM7DYU<``@;O_P$4```2!N``@0$$H`9@@M?```/F(`"$*N__@@+O_X#(`````8 XXM;$9R"4ZY```[;B!`T?P``#V*4H@O""\N``A.N0``/!Y0CTJ`9AP@+O_X<@E. XXMN0``.VX@0-'\```]BB)N__`34``!4J[_^&"N(&[_\!`H``%*`&84""X``0`. XXM9PPO+@`(3KD``"`X6(\(+@`#``]G!'`"8`H@+@`,`H`````#+P`O+@`(3KD` XXM`!VV4(\@;O_P(4```DJY```\NF=`("X`#`*````#`$J`9Q9"IR\N``A.N0`` XXM'W!0CR!N__`A0``"2KD``#RZ9TIP`B/````^HB!N__!"$'#_3EY.=2`N``P" XXM@```!0`,@```!0!F)"!N__`O*``"3KD``!_66(]P$2/````^HB!N__!"$'#_ XXM3EY.=2`N__Q.7DYU3E8``"`N``P"@```@```@````P$B+@`,`H'__W__+P$O XXM`"\N``AA`/U\3^\`#$Y>3G5.5O_>2JX`$&H.<!8CP```/J)P_TY>3G4O+@`( XXM80#\_EB/+4#_XDJ`9@9P_TY>3G4@;O_B$"@``4B`2,`,@`````5D``#DY8!. XXM^P@"8```$F````Y@```*8```SF````(O+@`0+RX`#"!N_^(O*``"3KD``"!V XXM3^\`#"U`__I*N0``/+IG"DJ`9@9P_TY>3G4@;O_B$!`(```$9P@@+O_Z3EY. XXM=7``+4#_]BU`__(@+O_VL*[_^FQ:(&X`#-'`4J[_]A`0'4#__TB`2,`,@``` XXM``UGV@R`````&F8D("[_]I"N__I3@'(!+P$O`"\N``AA``(`3^\`#"`N__). XXM7DYU(&X`#-'N__)2KO_R$*[__V"<2J[_\F8(2J[_^F8`_T(@+O_R3EY.=7#_ XXM3EY.=4Y6_^)*K@`0:@YP%B/````^HG#_3EY.=2\N``AA`/O06(\M0/_F2H!F XXM!G#_3EY.=2!N_^80*``!2(!(P`R`````!60``7+E@$[["`)@```28```#F`` XXM``I@```&8``!4"!N_^80$`@```-G$G`"+P!"IR\N``AA``%,3^\`#"!N_^80 XXM$`@```1G,"\N`!`O+@`,+R@``DZY```@MD_O``PM0/_V2KD``#RZ9P9P_TY> XXM3G4@+O_V3EY.=4(N__YP`"U`__8M0/_R+4#_[B`N__:PK@`0;```D"!N``S1 XXMP%*N__80$!U`__\,```*9A(,+@`-__YG"AU\``W__U.N__8@;O_RT?P``$(Z XXM("[_\E*`$B[__Q"!+4#_\AU!__X,@````(!MIB\`2'D``$(Z(&[_YB\H``). XXMN0``(+9/[P`,+4#_ZK"N__)G!G``3EY.=4JY```\NF<&</].7DYU0J[_\F`` XXM_VA*KO_R9SHO+O_R2'D``$(Z(&[_YB\H``).N0``(+9/[P`,+4#_ZK"N__)G XXM!G``3EY.=4JY```\NF<&</].7DYU("[_]DY>3G4@+@`03EY.=7`3(\```#ZB XXM</].7DYU3E;_[B\N``AA`/H@6(\M0/_R2H!F!G#_3EY.=2!N__(0*``!2@!G XXM!G``3EY.=2\N`!`O+@`,(&[_\B\H``).N0``(/I/[P`,+4#_^DJY```\NF<. XXM<!8CP```/J)P_TY>3G4,K@````(`$&9@2J[_^F=:(&[_\A`0"```!&9.("[_ XXM^E.`+4#_]DJN__9K-$*G+R[_]B\N``AA`/]F3^\`#$J`9QYP`2\`2&[__R\N XXM``AA`/Q<3^\`#$J`9@93KO_V8,8@+O_V4H!.7DYU("[_^DY>3G5.5O_T+RX` XXM"&$`^4Q8CRU`__A*@&8&</].7DYU0J[__"!N__@O*``"3KD``!_66(]*N0`` XXM/+IG!G#_+4#__"!N__A"$"`N__Q.7DYU3E;_VB\N``A.N0``(#A8CTJY```\ XXMNF<&</].7DYU<`!.7DYU3E8``"\N``AATEB/3EY.=0``3E8``"\N``PO+@`( XXM3KD```'"4(].7DYU3E;_]"`N``BPN0``/+)O!G``3EY.=2!Y```\KB`N``C1 XXMN0``/*Z1N0``/+(@"$Y>3G5.5O_\+RX`"&'$6(\M0/_\2H!G!$Y>3G4@?/__ XXM__\@"$Y>3G5.5O_X(#D``#RND+D``#RJT;D``#RR(_D``#RJ```\KI'((\@` XXM`#ZR(\@``#ZJ(\@``#ZV(\@``#ZN(`A.7DYU``!.5O_T80`%]BU`__A*@&8& XXM<`!.7DYU`JX````#``PO+@`(+SD``#Z&80`&>E"/(&X`"!(0+4#__$H!9@9P XXM!"U`__P@+O_\#(`````%9```D..`3OL(`F`(8!Q@-&!,8%A*K@`,9@`!1$'Z XXM`Z8B;O_X(HA@``$H#*X````!``QF``$J0?H#JB)N__@BB&```0X,K@````$` XXM#&8``1!!^@/0(F[_^"*(8```]$'Z!3HB;O_X(HA@``#F#*X````!``QF#D'Z XXM!+@B;O_X(HA@``#.0?H#W")N__@BB&```,`,K@````$`#&8N("X`"'(0+T`` XXM`.*@0J<O+P`$+P!R`R\!<CPO`4ZY```ZXD_O`!0CP```/+I@:"`N``AR$"]` XXM``#BH'("+P$O+P`$+P!R`R\!<CTO`4ZY```ZXD_O`!0CP```/+I*@&HV#*X` XXM```"``QF+"`N``AR$"]```#BH$*G+R\`!"\`<@,O`7(\+P%.N0``.N)/[P`4 XXM(\```#RZ2KD``#RZ:R0@;O_X(7D``#RZ``1!^@(4(F[_^"*(0KD``#RZ("[_ XXM^$Y>3G4O+O_X80`$B%B/<`!.7DYU3E;_^&$`!#PB+@`(=!`O00``Y*%"IR\O XXM``0O`70#+P)T/"\"+4#__$ZY```ZXD_O`!0CP```/+I*@&H0+R[__&$`!#Q8 XXMCW``3EY.=2!N__PA>0``/+H`!$'Z`90B;O_\(HA.7DYU3E8``$CG`"!*K@`( XXM9@IP`$S?!`!.7DYU0?H!;B1N``@B4K/(9APO*@`$<`$O`'`^+P!.N0``.N)/ XXM[P`,(\```#RZ+RX`"&$``]!8CTJY```\NE?`1`!(@$C`3-\$`$Y>3G5.5O_\ XXM("X`"'(0+T```.*@+R\``"\`<@(O`7)!+P%.N0``.N)/[P`0(\```#RZ2H!7 XXMP40!2(%(P2`!3EY.=4Y6``!*K@`(9AI"IR\N`!`O+@`,+RX`"&$``=1/[P`0 XXM3EY.=2)N``@@44*G+RX`$"\N``PO"4Z03^\`$$Y>3G5.5@``2JX`"&8<<`$O XXM`"\N`!`O+@`,+RX`"&$``F!/[P`03EY.=2)N``@@47`!+P`O+@`0+RX`#"\) XXM3I!/[P`03EY.=4Y6``!(YP`@2JX`"&8*<`!,WP0`3EY.=4'Z`$HD;@`((E*S XXMR&<*<`!,WP0`3EY.=7`0(BX`#."A+RX`$"!N``@O*``$+RX`#"\!<`0O`'!" XXM+P!.N0``.N)/[P`83-\$`$Y>3G5.5O_P2JX`%&<$<$!@`G`_<A`D+@`0XJ(B XXM+@`,=A`O00`$YJ$O+P`$+P$O+@`0+P(@;@`(+R@`!'8%+P,O`"U`__Q.N0`` XXM.N)/[P`<+4#_^$J`:@PCP```/+IP`$Y>3G4@+O_X3EY.=4Y6__Y"IW`#+P!. XXMN0``.N)0CR!N``P0@'`!3EY.=4Y6__Q"KO_\("[__+"N`!!L)B!N``S1P!`0 XXM2(!(P"\`<@$O`7($+P%.N0``.N)/[P`,4J[__�("X`$$Y>3G5.5O_\0J[_ XXM_"`N__RPK@`0;"8@;@`,T<`0$$B`2,`O`'(!+P%R!2\!3KD``#KB3^\`#%*N XXM__Q@T"`N`!!.7DYU3E;_=B`N`!`,@````']L!%.`8`)P?1U`_X!![O^`(`AR XXM$.*@+P@O`'("+P%R"B\!3KD``#KB3^\`$'`*+P!P`2\`<`(O`$ZY```ZXD_O XXM``P0+O^!2(!(P'("+4'_>"U`_WP@+O]\5(`B+O]XLH!L/A`V&(`=0/]W#``` XXM#68&'7P`"O]W#"X`&O]W9@P@+O]X58!$@$Y>3G4@+O]X58`@;@`,T<`0KO]W XXM4J[_>&"T("[_?`R`````?6P*(&X`#-'`$+P`"B`N_WQ2@$Y>3G5.5O_Z0J[_ XXM_"`N__RPK@`0;%`@;@`,T<`0$!U`__M(@$C`#(`````*9A9P#2\`<`$O`'`" XXM+P!.N0``.N)/[P`,$"[_^TB`2,`O`'(!+P%R`B\!3KD``#KB3^\`#%*N__Q@ XXMIB`N`!!.7DYU3E8``$JN`!1G!B`N`!!@`G``3EY.=4Y6__Q"KO_\("[__`R` XXM````%&PBYX`@0-'\``!"ODJ09@X@0-'\``!"OB`(3EY.=5*N__Q@TG``3EY. XXM=4Y6```@;@`(0I!.7DYU3E8``!`N``L,``!A;1(,``!Z;@P$``!A!@``04Y> XXM3G40+@`+3EY.=4Y6__X0+@`+2(!(P"\`8<A8CQ(N``](@4C!+P$?0``$8;98 XXMCQ(O``"R`&8$<`%@`G``3EY.=4Y6_^IP`2U`__QP_RU`__AP`"U`__`M0/_T XXM(&X`#-'N__!*$&<&4J[_\&#N0J[_["`N_^P@;@`(T<!*$&<``)8@;@`(T<`0 XXM$!U`_^M*KO_\9U(,```]9P8,```L9A8@+O_P4X`B+O_XLH!F""`N__1.7DYU XXM("[_^%*`$B[_ZTB!2,$@;@`,T<`4$$B"2,(O`B\!+4#_^&$`_S)0CTJ`9@1" XXMKO_\$"[_ZPP``"QG!@P``#UF#'`!+4#__'#_+4#_^`PN`"S_ZV8$4J[_]%*N XXM_^Q@`/]>2J[__&<6("[_\%.`(B[_^+*`9@@@+O_T3EY.=7#_3EY.=0``3E;_ XXMZ"/N``@``$->0>X`$$*N__PM2/_L(&X`#!`02@!G``$^2(!(P%*N``P@0"U( XXM__C1_```/K\2$`@!``-FV`R`````)68``-0@;@`,$!`,```E9CH@>0``0UX0 XXM$$B`2,!2N0``0UXM0/_X(&[_^-'\```^OQ`0"````V;8#*X````E__AGD"`N XXM__Q.7DYU(&X`#!`0#```*F<,+6[_[/_H6*[_[&`(0J[_Z%*N``Q"KO_T+R[_ XXMZ$AN__1(>@"J+RX`#$ZY```FWD_O`!`M0/_P2H!G!"U```P,KO______]&8> XXM2J[_\&<$4J[__$JN__QO""`N__Q.7DYU</].7DYU2J[_]&<&4[D``$->2J[_ XXM\&9$("[__$Y>3G4@>0``0UX0$$B`2,`M0/_T4KD``$->(&[_]-'\```^OQ`0 XXM"````V;8("[_]+"N__AG`/[*("[__$Y>3G52KO_\8`#^NB`N__Q.7DYU3E;_ XXM_"!Y``!#7A`02(!(P%*Y``!#7BU`__Q*@&8"</].7DYU3E;_X'``(&X`"!(0 XXM2(%(P5*!($'1_```/KX2$"U`__0M0/_P"`$``F="("[_\'(*3KD``#MN(&X` XXM"!(02(%(P5*N``@"@0````_0@2U`__`@;@`($!!(@$C`4H`@0-'\```^OA`0 XXM"````F:^(&X`"!`0#```;&8*4JX`"'`!+4#_]"!N``Q.D"!N``@2$"U`__P, XXM`0!C9QX@;O_\T?P``#Z_$!`(```#9PP@;@`,3I`M0/_\8.(@+O_\#(#_____ XXM9@P@;@`0((!P`$Y>3G4@;@`($!!(@$C`<C@$@0````AK``5(L+L8"&;P3OL8 XXM!@```&9@``2:````<V``!$0```!C8``#T@```&A@``-(````>&```8X```!O XXM8```]````&1@```"<``M0/_L2J[_\&<*#*X````!__!O-B`N__P,@````"UG XXM"`R`````*V8B#*X````M__QF!'#_8`)P`"U`_^P@;@`,3I!3KO_P+4#__"!N XXM__S1_```/K\0$`@```)F#B!N`!`@KO_\<`!.7DYU0J[_Z"`N_^AR"DZY```[ XXM;B(N__P"@0````_0@2U`_^@@;@`,3I`M0/_\("[_\%.`+4#_\$J`9Q(@;O_\ XXMT?P``#Z_$!`(```"9KI*K@`49P`$3DJN_^QJ!$2N_^A*KO_T9@XB;@`4(%$@ XXMKO_H8``$,")N`!0@42"N_^A@``0B("[__`R`````,&T(#(`````W;PX@;@`0 XXM(*[__'``3EY.=4*N_^@@+O_HYX`B+O_\`H$````'T($M0/_H(&X`#$Z0+4#_ XXM_"`N__!3@"U`__!*@&<4#*X````P__QM"@RN````-__\;[Y*K@`49P`#LDJN XXM__1F#B)N`!0@42"N_^A@``.>(FX`%"!1(*[_Z&```Y`@;O_\T?P``#Z_$!`( XXM```'9@X@;@`0(*[__'``3EY.=2UN__S_^"!N``Q.D"U`__Q*KO_P9PH,K@`` XXM``+_\&].#*X````P__AF1"`N__P,@````'AG"`R`````6&8P(&X`#$Z0($`M XXM2/_\T?P``#Z_$A`(`0`'9@P@;@`0((!P`$Y>3G5"KO_H4Z[_\&!@(&[_^-'\ XXM```^OQ`0"````F<.("[_^`2`````,"U`_^@@;O_XT?P``#Z_$!`(````9PX@ XXM+O_X!(`````W+4#_Z"!N__C1_```/K\0$`@```%G#B`N__@$@````%<M0/_H XXM("[_\%.`+4#_\$J`9P``C"!N__S1_```/K\0$`@```=G>"`N_^CI@"!N__S1 XXM_```/K\2$"U`_^@(`0`"9PXB+O_\!($````P@Z[_Z"!N__S1_```/K\0$`@` XXM``!G#B`N__P$@````#>!KO_H(&[__-'\```^OQ`0"````6<.("[__`2````` XXM5X&N_^@@;@`,3I`M0/_\8`#_:$JN`!1G``(`2J[_]&8.(FX`%"!1(*[_Z&`` XXM`>PB;@`4(%$@KO_H8``!WB!N__S1_```/K\0$`@```)F#B!N`!`@KO_\<`!. XXM7DYU0J[_["`N_^QR"DZY```[;B(N__P"@0````_0@2U`_^P@;@`,3I`M0/_\ XXM("[_\%.`+4#_\$J`9Q(@;O_\T?P``#Z_$!`(```"9KI*K@`49P`!;")N`!0@ XXM42`N_^PP@&```5Q*K@`49PXB;@`4(%%2D2`N__P0@"`N__!3@"U`__!*@&\D XXM(&X`#$Z0+4#__%*`9Q9*K@`49]XB;@`4(%%2D2`N__P0@&#.("[__`R`____ XXM_V8,(&X`$""`<`!.7DYU(&X`"%*((`A.7DYU2JX`%&<.(FX`%"!14I$@+O_\ XXM$(`@;@`,3I`M0/_\4H!G("`N__!3@"U`__!*@&<2(&[__-'\```^OQ`0"``` XXM`V>^(FX`%"!10A!@``"D("[__`R`````+6<F#(`````N9QX,@````#!M"`R` XXM````.6\.(&X`$""N__QP`$Y>3G5(;O_@2&[_["\N``PO+O_P+R[__$ZY```W XXM?$_O`!0M0/_\2J[_[&8,(&X`$""`<`!.7DYU2JX`%&<V2J[_]&88(FX`%"!1 XXM("[_X"(N_^1.N0``-:H@@&`8(FX`%"!1(*[_X"%N_^0`!&`&<`!.7DYU(&X` XXM$""N__P@;@`(4H@@"$Y>3G5.5O^T2.<`('``+4#_Z'+_+4'_Y'(@+4'_X"!N XXM``@2$"U`__`M0/_<+4#_[`P!`"UF"G`!4JX`""U`__`@;@`($!!(@$C`+T`` XXM!%*`($#1_```/KX0$`@```)G:`RO````,``$9@9P,"U`_^`@;@`($!!(@$C` XXM4JX`"`*`````#RU`_]P@;@`($!!(@$C`4H`B0-/\```^OA`1"````F<D("[_ XXMW'(*3KD``#MN$A!(@4C!4JX`"`*!````#]"!+4#_W&#`(&X`"!`0#```+F9( XXM4JX`"$*N_^0@;@`($!!(@$C`4H`B0-/\```^OA`1"````F<D("[_Y'(*3KD` XXM`#MN$A!(@4C!4JX`"`*!````#]"!+4#_Y&#`(&X`"!`0#```;&8*<`%2K@`( XXM+4#_[$*N_]`@;@`($!!(@$C`<D@$@0````AK``*(L+L8"&;P3OL8!@```&9@ XXM``)N````96```F````!G8``"4````&-@``(J````<V```=(```!O8``!6``` XXM`'A@``#<````=6```#@```!D8````DJN_^QG#B)N`!`@45B1+5#_S&`,(FX` XXM$"!16)$M4/_,2J[_S&HH<`$M0/_H8"!*KO_L9PXB;@`0(%%8D2U0_\Q@#")N XXM`!`@45B1+5#_S'`++4#__"`N_\QR"DZY```[*BU!__A*@6H$1*[_^%.N__P@ XXM+O_X!H`````P(B[__!V`&+@@+O_,<@I.N0``.RHM0/_,2J[_S&:\#*X````! XXM_^AF#E.N__P@+O_\';P`+0BX0>[_N"`N__S1P'(+DH`M0?_T+4C_T&```79* XXMKO_L9PXB;@`0(%%8D2U0_\Q@#")N`!`@45B1+5#_S'`(+4#__%.N__P@+O_, XXM`H`````/($#1_```/HH@+O_\'9`(N"`N_\SH@`*`#____RU`_\Q*KO_,9LQ! XXM[O^X("[__-'`<@B2@"U!__0M2/_08``!`DJN_^QG#B)N`!`@45B1+5#_S&`, XXM(FX`$"!16)$M4/_,<`LM0/_\4Z[__"`N_\P"@`````<&@````#`B+O_\'8`8 XXMN"`N_\SF@`*`'____RU`_\Q*KO_,9LY![O^X("[__-'`<@N2@"U!__0M2/_0 XXM8```D`RN_______D9@@M?````,C_Y")N`!`@45B1(E`M2?_0L_P`````9@@M XXM?```/IK_T$*N__0@+O_TL*[_Y&Q0(&[_T-'`$!!*`&=$4J[_]&#D0>[_N'`! XXM+4#_]"1N`!`B4EB2(!$=0/^X+4C_T&`@<`(M0/_48!A"KO_48!)P`2U`_]1@ XXM"G``3-\$`$Y>3G5*KO_09P``TDJN_]QG"B`N_]RPKO_T;`8M;O_T_]P@+O_T XXMD:[_W$*N__Q*KO_P9T@@+O_T4X`M0/_T2H!K&"!N``S1[O_\4J[__")N_]`0 XXMD5*N_]!@VB`N_]Q3@"U`_]Q*@&M<(&X`#-'N__Q2KO_\("[_X!"`8-X@+O_< XXM4X`M0/_<2H!K%"!N``S1[O_\4J[__"`N_^`0@&#>("[_]%.`+4#_]$J`:Q@@ XXM;@`,T>[__%*N__PB;O_0$)%2KO_08-H@;@`4(*[__"!N``A2B"`(3-\$`$Y> XXM3G4,KO______Y&8&<`8M0/_D#*X````4_^1M!'`38`0@+O_D+4#_]%*`#*X` XXM```!_]17P40!2(%(P4AN_[A(;O_H2&[_V"\!+P`@;@`0+Q!.N0``-<)/[P`8 XXM(&X`$%"00>[_N"(N_]@M0/_T+4'__"U(_]!*@6H$1*[__`RN`````O_49AI* XXMKO_T9PX,K@````;__&T$<`!@`G`!+4#_U$JN__1G!%.N_]AP`"U`__Q*KO_H XXM9P12KO_\2J[_U&<J("[_Y%*`(B[__-"!+4#__$JN_]AK""`N_]C1KO_\2J[_ XXMY&=`4J[__&`Z("[_Y%R`T:[__$JN_]AJ""`N_]A$@&`$("[_V"U`__@,@``` XXM`&-O!%*N__P,K@```^?_^&\$4J[__$JN__!F-"`N_]RPKO_\;RH@+O_\D:[_ XXMW"`N_]Q3@"U`_]Q*@&L4("[_X"!N``P0@%*N``Q2KO_\8-Y*KO_H9PP@;@`, XXM$+P`+5*N``Q*KO_49P`!!DJN_]AJ<"!N``P0O``P4H@0O``N4H@M2``,("[_ XXMY%.`+4#_Y$J`:P`!Y"`N_]A2@"U`_]A*@&H.(&X`#!"\`#!2K@`,8-0@+O_T XXM4X`M0/_T2H!K%"!N_]`B;@`,$I!2KO_04JX`#&"R(&X`#!"\`#!2K@`,8*0@ XXM+O_84Z[_V$J`:S`@+O_T4X`M0/_T2H!K%"!N_]`B;@`,$I!2KO_04JX`# XXM(&X`#!"\`#!2K@`,8,1*KO_D9PP@;@`,$+P`+E*N``P@+O_D4X`M0/_D2H!K XXM``$Z("[_]%.`+4#_]$J`:Q0@;O_0(FX`#!*04J[_T%*N``Q@SB!N``P0O``P XXM4JX`#&#`("[_]%.`+4#_]$J`:Q0@;O_0(FX`#!*04J[_T%*N``Q@#"!N``P0 XXMO``P4JX`#"!N``P0O``N4JX`#"`N_^13@"U`_^1*@&LP("[_]%.`+4#_]$J` XXM:Q0@;O_0(FX`#!*04J[_T%*N``Q@T"!N``P0O``P4JX`#&#"(&X`#!"\`$52 XXMB"U(``Q*KO_8:@X0O``M4JX`#$2N_]A@#"!N``P0O``K4JX`#'`++4#_]%.N XXM__0@+O_8<@I.N0``.RH&@0```#`@+O_T'8$(N"`N_]AR"DZY```[*BU`_]@, XXMK@````G_]&[(2J[_V&;"("[_]`R`````"VP24J[_]"!N``P0M@BX4JX`#&#B XXM#*X````!__!F-"`N_]RPKO_\;RH@+O_\D:[_W"`N_]Q3@"U`_]Q*@&L4("[_ XXMX"!N``P0@%*N``Q2KO_\8-X@;@`4(*[__"!N``A2B"`(3-\$`$Y>3G4O`DZY XXM```Y^B("3KD``#ET)!].=0````!.4/_B3E$``$CG?S`D:``((!HB$DZY```Y XXM^D)I``A":0`&+P"#GV8.)&@`'"8H``Q3@V```/A20C-"``1(0C-"``A"1C0I XXM``1G7&H25D)K&`I"``/5:0`$80`!`&!(80`!,E)I``9@$G0$U6D`!&$``.IA XXM``#R4VD`!DJ`:\13:0`$XXGCD&#R0D)"1B\`@Y]G%&$``-)*1F8,#$(``68& XXM4VD`!F#L!@8`,!.&(`I20@Q"`!1KU'8!)"@`#$JH`!!G#B@\`````=1I``93 XXM0FLZ>!0,0@`2;#(X`AHQ(`L&!0`%#`4`.6\B$[P`,"`+4C$@"AHQ(`I30FKH XXM4FD`!E-#>@"ZJ``09P)2A"1H`!Q'\3`*(`1G'E-$-@0$0P`4:P)X$Q3;4<S_ XXM_$I#:P@4_``P4<O_^B1H`!A"DDII``AG`E.2)&@`%$*!,BD`!DC!)(%,WPS^ XXM3EE.6$YUXHCBD01"``%F]DYU?`!(YS``)``F`>.)XY#CEN.)XY#CEM*#T8)D XXM```$4H;CB>.0XY9,WP`,3G4O`G0`/SP`0..)XY#CD@Q"``IM"`2"````"E*! XXM4U=FZ$_O``(D'TYU3E#_]$Y1``!(YWXP<`!R`#-````S0``",T``!#-```9A XXM``%T#`8`,&8(`&D@```$8.X,!@`M9@H`:8````1A``%6#`8`,&T^#`8`.6XX XXM`&D@```$,T8`"CPI``:=:0`"+P`"G_````!G!E)I``)@SF$`_SH\*0`*`H8` XXM```/TH9"AM&&8+@,!@`N9@Q*:0`&9F!2:0`&8*8,!@!E9P8,!@!E9DYA``#P XXM#`8`*V<,#`8`+68*`&D0```$80``V@P&`#!M+@P&`#EN*#HI``#CZ0``X^D` XXM`-MI``#CZ0```D8`#]UI```,:0__``!MS.+I```_*0`$`E\@`&8*)&@`%$*2 XXM8```@C0I```_*0`$`E\0`&<"1$+5:0`"+P"#GV=4,WP`/P``2H!K"N.)XY!3 XXM:0``8/)*:0`"9R!K%'0$U6D``&$`_EQA`/YD4VD``F#680#^AE)I``)@S'0` XXM-"D``#\I``0"7X``9P0(P@`?3KD``#HP)&@`&"3`)($D:``4)+P````!<``P XXM*0`(3-\$?DY93EA.=2PH``AG"B%\```````(3G5(Y_S@)&@`$$Z2/`!,WP<_ XXM,T8`"%.H``QF"`!I"```!$YU/RD`!`)?"`!G`GS_3G4B``*`?____V<62$%( XXMP0*!@`!__^Y)!$$`?^&(",``'TYU+P)*@&=,44$O``*?_P```&<<4D'BB.*2 XXM+P`"G_\```!F\$J":@A2@&#>4T'CB`@``!=G]@9!`']O'`Q!`/]L)@B``!?O XXM23\!2$&"7TA!0D&`@20?3G4O/`````%.N0``.M)"@&`:+SP````"3KD``#K2 XXM(#Q_@```2H%J!`C``!]/[P`$8,PD``*`?____V8(<`!R`'0`8")(0DC"Z$(" XXM@H``!_\$0@/_+P)T"N.)XY!1RO_Z",``'R0?3G4O`R\`@Y]G9`1"``M*@&8( XXM(`%"@01"`"`O``*?_^```&<D4D+BB.*1XI,O``*?_^```&;N2H-J#E*!9`I2 XXM@TT+CB>.0"```%&?T!D(#_V\>#$('_VPH`H``#___Z4H_`D)"2$*$7TA" XXM@((F'TYU+SP````!3KD``#K2<`!@&"\\`````DZY```ZTC`\?_!(0H!"2$!" XXM0$_O``1R`&#,``!.5@``(^X`"```0V).7DYU3E8``$CG?_PJ3T*Y```\NG`' XXMD&X`#N5`3OL``C\N`"H_+@`F/RX`(C\N`!X_+@`:/RX`%C\N`!(_+@`*3D$N XXM34S?/_Y.7DYU2.<\`"H!9S)J`D2!*`!G*&H"1(!"@G8?XX#CDK2!9024@5*` XXM4<O_\B("N85J`D2`LX1J"$2!8`1"@4*`3-\`/$YU``!(YW@`*`"SA$J`9S!J XXM`D2`)`!*@68$0H!@(FH"1($F`,;!2$+$P4A"0D+6@DA!P,%(0$)`T(-*A&H" XXM1(!,WP`>3G4``$Y6__Q*K@`09S@@;@`(2A!G,")N``Q*$6<H$!!(@$C`4JX` XXM"!(12(%(P5*N``R0@2U`__Q*@&<$3EY.=5.N`!!@PDJN`!!G'"!N``A*$&<& XXM<`%.7DYU(&X`#$H09P9P_TY>3G5P`$Y>3G4``$Y6```@;@`($!`@;@`,$A"P XXM`6842@!F!G``3EY.=5*N``A2K@`,8-P@;@`($!!(@$C`(&X`#!(02(%(P9"! XXM3EY.=0`````````````````````````````````````````````````````` XXM```````````````````````````````````````````````````````````` XXM````````````````555$14-/1$4`````/,)R`%5S86=E.B!5541%0T]$12!; XXM9FEL95T*`$YO(&)E9VEN(&QI;F4*`&)E9VEN(`!B96=I;B`E;R`E<P!W8@!E XXM;F0@("``3F\@96YD(&QI;F4*`%-H;W)T(&9I;&4*`"5C`"5C`"5C`$-A;FYO XXM="!O<&5N(&9I;&4@)7,`)7,Z(```<@!W`&$``&$`0V%N)W0@;W!E;B!S=&1I XXM;B!F:6QE"@!#86XG="!O<&5N('-T9&]U="!F:6QE"@`!8V]N.@`````!0T]. XXM.@`````"<')N.@`````"4%)..@`````";'-T.@`````"3%-4.@`````";'!T XXM.@`````"3%!4.@`````";'!T,3H````"3%!4,3H````#875X.@`````#0558 XXM.@`````#8V]M.@`````#0T]-.@`````#8V]M,3H````#0T]-,3H````#<F1R XXM.@`````#4D12.@`````#<'5N.@`````#4%5..@`````$;G5L.@`````$3E5, XXM.@`````$;G5L;#H````$3E5,3#H```!#3TXZ`````$%823HL05A/.BQ,4U0Z XXM+$Y)3#HL0T]..CTJ`````#YJ,#$R,S0U-C<X.4%"0T1%1@`````````````` XXM`````@`````````````````````````````@("`@("`@("`H*"@H*"`@("`@ XXM("`@("`@("`@("`@($@0$!`0$!`0$!`0$!`0$!"$A(2$A(2$A(2$$!`0$!`0 XXM$(&!@8&!@0$!`0$!`0$!`0$!`0$!`0$!`0$!$!`0$!`0@H*"@H*"`@("`@(" XXM`@("`@("`@("`@("`@(0$!`0("`@("`@("`@("@H*"@H("`@("`@("`@("`@ XXM("`@("`@2!`0$!`0$!`0$!`0$!`0$(2$A(2$A(2$A(00$!`0$!`0@8&!@8&! XXM`0$!`0$!`0$!`0$!`0$!`0$!`0$0$!`0$!""@H*"@H("`@("`@("`@("`@(" XXM`@("`@("`A`0$!`@````````%`````````@````````````````````````` XXM```````````````````````````````````````````````````````````` XXM```````````````````````````````````````````````````````````` XXM```````````````````````````````````````````````````````````` XXM```````````````````````````````````````````````````````````` XXM```````````````````````````````````````````````````````````` XXM```````````````````````````````````````````````````````````` XXM```````````````````````````````````````````````````````````` XXM```````````````````````````````````````````````````````````` XXM```````````````````````````````````````````````````````````` XXM```````````````````````````````````````````````````````````` XXM```````````````````````````````````````````````````````````` XXM```````````````````````````````````````````````````````````` XXM```````````````````````````````````````````````````````````` XXM```````````````````````````````````````````````````````````` XXM```````````````````````````````````````````````````````````` XXM```````````````````````````````````````````````````````````` XXM```````````````````````````````````````````````````````````` XXM```````````````````````````````````````````````````````````` XXM```````````````````````````````````````````````````````````` XXM```````````````````````````````````````````````````````````` XXM```````````````````````````````````````````````````````````` XXM```````````````````````````````````````````````````````````` XXM```````````````````````````````````````````````&DD(*"D@(*B(& XXM!@8&"`@D%!`$#@8&#`@:!@8,#`H8"@H0"`H&"!X*#@8&#"@&!@$@"CH<"CH< XXM"CI`%'`4'`8&!A(&#A`("A@>"`@<+@8&!@H0!@8&$`8&!@X&!@86$@8,"`8. XXM(@8,"`8&"B@("@8."@H("@80"E"$&F(Z'#HD"`@6"A80#!XZKB(Z5CH(;"8D XXM0,X!:K[B!A@0)`0&!@8.""8&%!@(&A`6.@90*!`("`@(&$H6!H0N>@H($!(( XXM&`H(%@H2"`:N(!H(#A((+"00'!`*+`I89`Z\B@Y@)`X:(`X:($H."J8()`@R XXM%`X*!C0&!@8$"`8&!C#B"B8*,`H&#!)&"AY("A`T"NQ4$AX\0$@6OAQ&#`&$ XXM+"0,#E1$%!`*-@PH'"X^VB8RV&8H("`P&"0@6"8RQ&`ZA$040!3Z+GC8`8X! XX5`>8:D`@B`0$!&N80QA`B%`'@`;P` XX` XXend SHAR_EOF if test 24487 -ne "`wc -c UUDECODE.UUE`" then echo shar: error transmitting UUDECODE.UUE '(should have been 24487 characters)' fi echo shar: extracting UUDECODE.C sed 's/^XX//' << \SHAR_EOF > UUDECODE.C XX/* XX * Uudecode -- decode a uuencoded file back to binary form. XX * XX * Useage: (CLI) uudec <uuencoded filename> XX * (GEM) click on uudec.ttp XX * enter <uuncoded filename> in dialog box XX * hit CR XX * XX * Result: File specified in first line of uuencoded file is created, XX * contents of uuencoded file are decoded and placed into XX * the created file. XX * XX * How it works: XX * The bits of every three consecutive bytes of the binary file are XX * encoded into four consecutive printable ascii bytes according XX * to the following diagram: XX * XX * | | | | | XX * |x1x2|3456|x7x8|1234|x5x6|7812|x3x4|5678| XX * ----------------------------------------- XX * XX * where the long vertical bars separate bytes and the short XX * vertical bars separate half bytes. The x'ed bits are not XX * important to us (they are given values which result in XX * printable ascii characters). The first eight digits XX * increasing in order from 1 to 8 mark the positions of the XX * first byte of the group of three binary bytes. The next XX * eight mark the second byte and so on. Each line of the XX * encoded file contains a count character followed a number XX * (multiple of four) of encoded bytes. To decode we merely XX * need to go through the usual bit pushing. XX * XX * Problems: Contact J. Franco (franco@indiana.CSNET) XX * XX * Comment: This should work. I successfully downloded the recently posted XX * RTXDEMO with no trouble whatsoever (and that is a pretty big XX * file). XX * XX * Note: This is the latest of a number of hacks of a uudecoder originally XX * intended for the IBM PC. (3/6/86 - JVF) XX * XX * Nother comment: Modified by P. Smee (Smee at UK.AC.AUCC via UCL-CS) to cope XX * with normal Multics I/O which strips trailing blanks from lines, XX * and can add extraneous control chars (NUL and CR). Implicitly XX * takes advantage of the spec saying uuencoded lines have max length XX * of 62 chars. Modified for MetaComCo Lattice C compiler. 86-07-10 XX */ XX XX#include <stdio.h> XX#include <osbind.h> XX#include <ctype.h> XX XXchar *Progname = "UUDECODE"; XX XX#define USAGE "Usage: UUDECODE [file]\n" XX XX/* single character decode */ XX#define DEC(c) (((c) - ' ') & 077) XX XXFILE *in, *out, *efopen(), *fopen(); XXchar *cfgets(); XX XXmain(argc, argv) XX short int argc; char *argv[]; XX { XX XX short int mode; XX char dest[128]; XX char buf[80]; XX XX /* optional input arg */ XX if (argc > 1) { XX in = efopen(argv[1], "r"); XX argv++; argc--; XX } XX else XX in = stdin; XX if (argc != 1) { XX fprintf(stderr, USAGE); XX exit(2); XX } XX /* search for header line */ XX for (;;) { XX if (cfgets(buf, sizeof buf, in) == NULL) { XX fprintf(stderr, "No begin line\n"); XX exit(3); XX } XX if (strncmp(buf, "begin ", 6) == 0) XX break; XX } XX sscanf(buf, "begin %o %s", &mode, dest); XX out = efopen(dest, "wb"); /* create output file */ XX decode(in, out); XX fclose(out); XX if ((cfgets(buf, sizeof buf, in) == NULL) XX || (strncmp(buf, "end ", 6) != 0)) { XX fprintf(stderr, "No end line\n"); XX exit(5); XX } XX } XX XX/* XX * copy from in to out, decoding as you go along. XX */ XX XXdecode(in, out) XX FILE *in, *out; XX { XX char buf[80]; XX char *bp; XX short int n; XX for (;;) { XX if (cfgets(buf, sizeof buf, in) == NULL) { XX fprintf(stderr, "Short file\n"); XX break; XX } XX n = DEC(buf[0]); XX if (n <= 0) XX break; XX bp = &buf[1]; XX while (n > 0) { XX outdec(bp, out, n); XX bp += 4; XX n -= 3; XX } XX } XX } XX XX/* XX * output a group of 3 bytes (4 input characters). XX * the input chars are pointed to by p, they are to XX * be output to file f. n is used to tell us not to XX * output all of them at the end of the file. XX */ XX XXoutdec(p, f, n) XX char *p; FILE *f; short int n; XX { XX short int c1, c2, c3; XX c1=((*p&64)<<1) | ((*p&31)<<2) | ((p[1]&64)>>5) | ((p[1]&16)>>4); XX c2=((p[1]&15)<<4) | ((p[2]&64)>>3) | ((p[2]&28)>>2); XX c3=((p[2]&3)<<6) | ((p[3]&64)>>1) | ((p[3]&31)); XX if (n >= 1) XX { if (c1 == 13) XX fprintf(f,"%c",13); XX else XX putc(c1, f); XX } XX if (n >= 2) XX { if (c2 == 13) XX fprintf(f,"%c",13); XX else XX putc(c2, f); XX } XX if (n >= 3) XX { if (c3 == 13) XX fprintf(f,"%c",13); XX else XX putc(c3, f); XX } XX } XX XX XX/* cfgets: like fgets, but massages the string to repair Multics XX propensity to remove trailing blanks and to insert initial NULs, and XX possibly CRs. Takes advantage of the facts that uuencode lines are no XX longer than 62 chars, and that the algorithm used above doesn't care if XX there are extra blanks on the end of a line. While this is designed XX specifically to accomodate files pulled to the ST from Multics, it should XX also work with files from other systems. */ XX XXchar *cfgets(s, n, iop) XX char *s; XX short int n; XX register FILE *iop; XX { XX register int c; XX register char *cs; XX XX cs = s; XX while (--n > 0 && (c = getc(iop)) != EOF) XX if (isprint (c)) { XX *cs++ = c; XX } else { XX n++; XX if (c == '\n') XX break; XX } XX XX if ((c == EOF) && (cs == s)) XX return (NULL); XX while (--n > 0) XX *cs++ = ' '; XX *cs-- = '\0'; XX *cs = '\n'; XX XX return (s); XX } XX XX XX/* Open a file, aborting on failure */ XX XX/* Written by Bernie Roehl, June 1985 */ XX XXFILE * XXefopen(fn, mode) XX char *fn, *mode; XX { XX FILE *unit; XX if ((unit = fopen(fn, mode)) == NULL) XX error("Cannot open file %s", fn); XX else XX return unit; XX } XX XXextern char *Progname; XX XXerror(s1, s2) XX char *s1, *s2; XX { XX fprintf(stderr, "%s: ", Progname); XX fprintf(stderr, s1, s2); XX exit(1); XX } SHAR_EOF if test 6568 -ne "`wc -c UUDECODE.C`" then echo shar: error transmitting UUDECODE.C '(should have been 6568 characters)' fi # End of shell archive exit 0
pes@bath63.ux63.bath.ac.uk (Paul Smee) (12/09/86)
... Sacrificial offering ... And, thanks to Rodney Peck for posting it. As I'd explained to him, the only way I've got to put things *onto* newsnet is by typing them in, which didn't feel like a good idea here. One comment, I have (so far, up to 1.6c) managed to UUDECODE UniTerm with it as well (on an ST520). However, I *did* have to CAT the pieces together on my Multics before porting it to the ST. Apologise for the fact that the C's a bit tacky, particularly my part of it. Twas my first serious thing-to-do in C; and I'm scared to clean it up now that I know better, lest I might break it. I've been considering changing it to use translate table lookup, and to 'know' that the accent grave is == to a space, since that seems to be a common perversion. And yes, I'm aware of the chicken-and-egg problem here (UUENCODED UUDECODE) but suspect that can be gotten around by finding a friend with a U**x or by using the (or a) BASIC UUDECODE program. Finally, one note. Based on conversations over here, it appears that porting stuff to the ST by UUDECODEing on a mainframe and then binary xfering the result is quite likely not to work, for reasons which no-one I know of has worked out. I've never seen any problems though if you ASCII port to the ST and then UUDECODE there.
silvert@dalcs.UUCP (12/12/86)
>Finally, one note. Based on conversations over here, it appears that porting >stuff to the ST by UUDECODEing on a mainframe and then binary xfering the >result is quite likely not to work, for reasons which no-one I know of has >worked out. I've never seen any problems though if you ASCII port to the ST >and then UUDECODE there. I have had no trouble whatsoever uudecoding on either a VAX or Wicat system. Why shouldn't it work? You are only translating codes to bytes. It may be that the version of uudecode doesn't work right. I always uudecode as early in the transfer process as possible to reduce the size of files being transferred (I receive mail on a VAX, uucp to my Wicat, and xmodem to the ST).
pes@bath63.ux63.bath.ac.uk (Paul Smee) (12/19/86)
Well, far as I can see there's no reason that uudecoding on a host, and transferring to the ST, *shouldn't* work. However, in practical terms, it appears to be more likely not to work than transferring to the ST and then uudecoding -- based on personally observed cases. Certainly, if you've got a combination that works -- with uudecode on a host and then port -- then use it, it will be quicker. However, I'd suggest that people who have trouble should try the other method of working -- port first, then uudecode -- as in my experience that's likely to make the problems go away. I'm actually a bit suspicious of at least one release of VAX/VMS. However, other than telling y'all what I've seen, I'm not going to investigate it. I don't have the incentive to (because I've got no problems working the way I do); or the means (don't have a handy VMS, don't have a handy ST<->U**x connection, so I have to run everything thru my Multics -- Multics uses 36 bit words (9-bit bytes) so that playing with 8-bit binaries on it can be 'tricky', and in any case doesn't have uudecode). So, in summary, if what you do works, stick with it, but if you're having problems consider a change...