[comp.sources.amiga] v89i164: hopalong - plots of a strange attractor

page%swap@Sun.COM (Bob Page) (07/13/89)

Submitted-by: cknight@polyslo.CalPoly.EDU (Claudius)
Posting-number: Volume 89, Issue 164
Archive-name: applications/hopalong.1

This program utilizes a set of equations taken from The Armchair Universe by
A. K. Dewdney (of Scientific American's Computer Recreations fame).  It
creates plots of a strange attractor with interesting results.

[uuencoded executable included.  ..bob]

# This is a shell archive.
# Remove anything above and including the cut line.
# Then run the rest of the file through 'sh'.
# Unpacked files will be owned by you and have default permissions.
#----cut here-----cut here-----cut here-----cut here----#
#!/bin/sh
# shar: SHell ARchive
# Run the following text through 'sh' to create:
#	hopalong.c
#	hopalong.doc
#	hopalong.uu
# This is archive 1 of a 1-part kit.
# This archive created: Wed Jul 12 14:47:03 1989
echo "extracting hopalong.c"
sed 's/^X//' << \SHAR_EOF > hopalong.c
X/*------------------------------------------------------------------
XHere's my little program that I thought people would enjoy toying with. It
Xutilizes a set of equations taken from The Armchair Universe by A. K.
XDewdney (of Scientific American's Computer Recreations fame).  The
Xparameters are three arbitrary numbers, the scale of the drawing, the
Xoffsets, and the resolution.  See the docs for further information.  If the
Xprogram is activated without enough parameters, it will give the parameters
Xrequired.
X
XAny optimizations or changes are more than welcome--Only one thing, if you
Xmodify the program any, please mail a copy of the changes to me...
X
Xcknight@polyslo.calpoly.edu
X------------------------------------------------------------------*/
X
X#include <stdio.h>
X#include <math.h>
X#include <intuition/intuition.h>
X#define sgn(A) (A < 0 ? -1 : (A > 0 ? 1 : 0))         /* sgn and abs defines */
X#define absolute(A) (A < 0 ? -A : A)                  /* used to optimize    */
X
X/*---------------------------------*/
X/*structures required for graphics */
X?*---------------------------------*/
X
Xstruct Screen *scrn;
Xstruct Window *wind;
Xstruct NewScreen NewScrn;
Xstruct NewWindow NewWind;
Xstruct GfxBase *GfxBase;
Xstruct IntuitionBase *IntuitionBase;
Xstruct IntuiMessage *message;
X
XUSHORT class;
X
X/*---------------------*/
X/*main and only routine*/
X/*---------------------*/
X
Xvoid main (argc, argv)
X    int argc;
X    char *argv[];
X{
X    register color;
X    int xc, yc;
X    float xa, ya,
X        xb, yb,
X        a, b, c,
X        scale, XOffset,
X        YOffset, Resolution;
X
X    if (argc < 8)
X    {
X        printf ("USAGE:%s {A} {B} {C} {Scale} {X Offset} {Y Offset} (Resolution [0=Lores])\n", argv[0]);
X        exit (0);
X    }
X
X    a = (float)atof(argv[1]);
X    b = (float)atof(argv[2]);
X    c = (float)atof(argv[3]);
X    scale = (float)atof(argv[4]);
X    XOffset = (float)atof(argv[5]);
X    YOffset = (float)atof(argv[6]);
X    Resolution = (float)atof(argv[7]);
X
X    class = NULL;
X
X    Resolution = ((Resolution < 0) ? 0 : (Resolution >= 1) ? 1 : 0);
X
X    XOffset += 160 + 160 * Resolution;
X    YOffset += 100 + 100 * Resolution;
X
X    xa = 0;
X    ya = 0;
X
X    IntuitionBase = (struct IntuitionBase *)
X        OpenLibrary("intuition.library",0);
X    GfxBase = (struct GfxBase *)
X        OpenLibrary("graphics.library",0);
X
X    NewScrn.LeftEdge = 0;
X    NewScrn.TopEdge = 0;
X    NewScrn.Width = 320 + 320 * Resolution;
X    NewScrn.Height = 200 + 200 * Resolution;
X    NewScrn.DetailPen = 0x00;
X    NewScrn.BlockPen = 0x00;
X    NewScrn.ViewModes = HIRES
X        | LACE;
X    NewScrn.Type=CUSTOMSCREEN|HIRES;
X
X    if (Resolution == 0)
X    {
X        NewScrn.ViewModes = NULL;
X        NewScrn.Type = CUSTOMSCREEN;
X    }
X
X    NewScrn.Font = NULL;
X    NewScrn.DefaultTitle = NULL;
X    NewScrn.CustomBitMap = NULL;
X    NewScrn.Depth = 4;
X
X    scrn = (struct Screen *)OpenScreen(&NewScrn);
X
X    NewWind.LeftEdge = 0;
X    NewWind.TopEdge = 0;
X    NewWind.Width = 320 + 320 * Resolution;
X    NewWind.Height = 200 + 200 * Resolution;
X    NewWind.DetailPen = 0;
X    NewWind.BlockPen = 0;
X    NewWind.IDCMPFlags = MOUSEBUTTONS;
X    NewWind.Flags = ACTIVATE|BORDERLESS;
X    NewWind.FirstGadget = NULL;
X    NewWind.CheckMark = NULL;
X    NewWind.Title = NULL;
X    NewWind.Screen = scrn;
X    NewWind.BitMap = NULL;
X    NewWind.MinWidth = 0;
X    NewWind.MinHeight = 0;
X    NewWind.MaxWidth = 640;
X    NewWind.MaxHeight = 400;
X    NewWind.Type = CUSTOMSCREEN;
X
X    wind = (struct Window *)OpenWindow(&NewWind);
X
X    for (color = 0;color < 16;color++)
X        SetRGB4(&(scrn->ViewPort), color, 15 - color, 15 - color, 15 - color);
X
X    /*--------------------------------*/
X    /* This is the workhorse routine  */
X    /* optimized as much as possible, */
X    /* if I'm not mistaken...         */
X    /*--------------------------------*/
X
X    do
X    {
X        xc = (int) ((xa * scale) + XOffset);
X        yc = (int) ((ya * scale) + YOffset);
X
X        color = ReadPixel(wind->RPort, xc, yc);
X        color = (color == 15 ? 15 : ++color);
X
X        SetAPen (wind->RPort, color);
X        WritePixel (wind->RPort, xc, yc);
X
X        /*---------------------------------*/
X        /* Here are the equations that     */
X        /* make this little gem work.      */
X        /*---------------------------------*/
X
X        xb = ya - (sqrt(absolute(b * xa - c)) * sgn(xa));
X        yb = a - xa;
X
X        xa = xb;
X        ya = yb;
X
X        if (wind->UserPort->mp_SigBit)
X        {
X            message=(struct IntuiMessage *)GetMsg(wind->UserPort);
X            if (message!=NULL)
X            {
X                class=message->Class;
X                ReplyMsg((struct Message *)message);
X            }
X        }
X
X    } while (class != MOUSEBUTTONS);
X
X    CloseWindow (wind);
X    CloseScreen (scrn);
X}
SHAR_EOF
echo "extracting hopalong.doc"
sed 's/^X//' << \SHAR_EOF > hopalong.doc
XHOPALONG 1.0 by Chris Knight
X------------
X
XOrigional equations taken from A. K. Dewdney's Armchair Universe.
X                                               -----------------
X
XSorry, it only works from the CLI so far, later versions will include an
Xinterface for the workbench as well as a more user-friendly interface.
X
XTo run the program just type hopalong, three numbers of your choice, the
Xmagnification factor, the x and y offsets (usually 0), and the resolution
X(1 being a hires screen).  The program will then open a screen and begin to
Xplot a hopalong chart.
X
XPRESS THE LEFT MOUSE BUTTON ON THE SCREEN TO END THE PROGRAM.
X
XWithout all of the parameters, the program will not work, but will tell you
Xwhat the parameters are.
X
XTry a variety of numbers for plots, the more strange the numbers, the more
Xstrange the plot.
X
XHere's one to start things off...
X
Xhopalong 91 49 29 1 0 0 1
X
XIf the plot doesn't start up immediately, probably the three numbers are
Xtoo large, or the magnification is too large.  Play around with different
Xvalues.  The plot takes time, so give it some and sit back.  Using lores
Xusually speeds the program considerably, but hires is more appealing.
X
XAny modifications or suggestions are more than welcome.  If you modify the
Xprogram or have one of your own that you think I'd be interested in, mail
Xit to me on Unix...
X
Xcknight@polyslo.calpoly.edu
X
X---King Claudius---
X
SHAR_EOF
echo "extracting hopalong.uu"
sed 's/^X//' << \SHAR_EOF > hopalong.uu
X
Xbegin 644 hopalong
XM```#\P`````````&``````````4```G>```!3@```5\````0````'````!0`7
XM``/I```)WB1()`!)^0````!'^0```HQR`"`\````O&`")L%1R/_\+'@`!"E.Y
XM`L0I3P+,0JP"R"9N`11P`"(\```P`$ZN_LXI:P"8`L!*JP"L9P``<"`/D*\`'
XM!`:`````@"E``I!A``$N(&L`K-'(T<@B:``0T\G3R2`"<@`2&2E)`M30@5*`Z
XM0F=2@`)`__Z?P%6`0G<(`"`"4X#4@1^R```@`%."4<C_]A^\`"`@`%."'[$@M
XM`"``4<K_^")/+PE@``!X*6L`.@*0<']2@-&L`I!A``#"0>L`7$ZN_H!!ZP!<0
XM3J[^C"E``L@O`"1`("H`)&<2+&P%;"!`(B@``"E!`L!.KO^"(BH`(&<:)#P`<
XM``/M3J[_XBE``M!G"N6(($`G:``(`*0@;`+(+PA(;`*,(&@`)"EH``0"U$ZZO
XM`ZA.NA?P<`!@!"`O``0O`"`L`KAG!"!`3I!.NB6(+'@`!")L!6Q.KOYB3KH#"
XM?DJL`LAG&B(L`M!G!$ZN_]PL>``$3J[_?")L`LA.KOZ&(!\N;`+,3G5P9&"TJ
XM0_H`$'``3J[]V"E`!6QG[$YU9&]S+FQI8G)A<GD`3E7_Y"\"("T`""(`XXF"#
XMK0`,9@AP`'(`8``!1$SM``,`"'0`=@!.NA$,;"`O`R\"+P,O`B\M``PO+0`(?
XM2'H!*$AX``%.N@+N8``!%$AM__PO+0`,+RT`"$ZZ`DHD/#_BXI<F/#EM"1=(3
XM[0`#_^Q.N@OD)#P_VK4U)CP`DLSV3KH1M$CM``/_]$SM``/_[$SM``S_]$ZZ*
XM#EY.NA&:2'C__B\!+P!([0`#__1.N@#T2.\``P`<3.T``__L3.T`#/_T3KH.M
XM,DSO``P`'$ZZ$6A([0`#__1,[0`#_^Q,[0`,__1.N@X23KH13DAX__\O`2\`,
XM3KH`KDCM``/_]$SM``/_[$SM``S_]$ZZ#>Q.NA$H2'C__R\!+P!.N@"(3^\`M
XM,$CM``/_]`@M``#__V<:)#P_YJ">)CQF?SO,3KH+&E*M__Q([0`#__0@+?_\Z
XM:@)2@.*`+P`D+?_T+P$O`DZZ`$0D+?_@3EU.=7-Q<G0``"\+)F\`""`3#(``^
XM```"9P@,@`````%F"'`A*4`%:&`&<"(I0`5H<``F7TYU````````<&$@14SO*
XM``,`!$A`.@`"17_P9@``4"H``D5__TJ%9@``"$J!9P``VDCG"@`X`#`%L41.6
XMN@CRN4`*0``03-\`4&```"HJ``)%?_\,A0``?_!F```(2H%G``"H,`5.N@B<D
XM8```H`Q%?_!GVKM`Z$5(Q=JO``QN``!^1(52A0R%````-6\``!0J!#@``D2`,
XM`$ZZ"`PH!6```&Q(13H``D6``+M`2$4*0``02$`,10`0;P``%#(`0D!(0$A!V
XM!$4`$`Q%`!!N[B)")`#JJ.JZZJFQ@K6!=`#3@M&")`E"1;N`8```(BH$.``"%
XM1(``3KH'SB@%8```$`R%```'_VSFZ4V[0$A`*@A.=2!%3.\``P`$2$`Z``)%%
XM?_!F``!8*@`"17__2H5F```(2H%G```T2.<*`#@`NT2Y0$ZZ!^ZY0`I``!!,$
XMWP!08```,BH``D5__PR%``!_\&8```Y*@68```AZ`&```"`P!4ZZ!Y)Z`&``'
XM`!8,17_P9]*[0`I`/^`$13_@Z$5(0")O``Q(Q2*%*@A.=0``3G5.=4Y5``!('
XMYP$0+B\`$"9O`!0I1P-`*4L#1"EM`!`#2"EM`!0#3"EM`!@#4"EM`!P#5"EM&
XM`"`#6"EM`"0#7$AL`T!.NOWV6$]*@&<(3.P``P-88`9,[0`#`"!,WPB`3EU.J
XM=4Y0_^).40``2.=_,"1H``@@&B(23KH*0D)I``A":0`&+P"#GV8.)&@`'"8HF
XM``Q3@V```/120C-"``1(0C-"``A"1C0I``1G7&H25D)K&`I"``/5:0`$80``_
XM_&!(80`!+%)I``9@$G0$U6D`!&$``.9A``#L4VD`!DJ`:\13:0`$XXGCD&#R?
XM0D)"1B\`@Y]G%&$``,Q*1F8,#$(``68&4VD`!F#L!@8`,!.&(`I20@Q"`!1KP
XMU'8!)"@`#$JH`!!G"G@!U&D`!E-":SIX%`Q"`!)L,C@"&C$@"P8%``4,!0`Y@
XM;R(3O``P(`M2,2`*&C$H"E-":NA2:0`&4T-Z`+JH`!!G`E*$)&@`'$?Q,`H@(
XM!&<>4T0V!`1#`!1K`G@3%-M1S/_\2D-K"!3\`#!1R__Z)&@`&$*22FD`"&<"E
XM4Y(D:``40H$R*0`&2,$D@4S?#/Y.64Y83G7BB.*14T)F^$YU?`!(YS``)``F4
XM`>.)XY#CEN.)XY#CEM*#T8)D```$4H;CB>.0XY9,WP`,3G4O`G0`/SP`0..)W
XMXY#CD@Q"``IM"`2"````"E*!4U=FZ$_O``(D'TYU3E#_]$Y1``!(YWXP<`!R%
XM`#-````S0``",T``!#-```9A``%T#`8`,&8(`&D@```$8.X,!@`M9@H`:8``1
XM``1A``%6#`8`,&T^#`8`.6XX`&D@```$,T8`"CPI``:=:0`"+P`"G_````!G$
XM!E)I``)@SF$`_SH\*0`*`H8````/TH9"AM&&8+@,!@`N9@Q*:0`&9F)2:0`&4
XM8*8,!@!%9P8,!@!E9E!A``#P#`8`*V<,#`8`+68*`&D0```$80``V@P&`#!M.
XM,`P&`#EN*CHI``#CZ0``X^D``-MI``#CZ0```D8`#]UI```,:0__``!MS.+I"
XM``!@\C\I``0"7R``9@HD:``40I)@``"`-"D``#\I``0"7Q``9P)$0M5I``(O;
XM`(.?9U(S?``_``!*@&L*XXGCD%-I``!@\DII``)G(&L4=`35:0``80#^7&$`"
XM_F)3:0`"8-9A`/Z$4FD``F#,=``T*0``/RD`!`)?@`!G!`C"`!].N@=J)&@`7
XM&"3`)($D:``4)+P````!<``P*0`(3-\$?DY93EA.=2PH``AG"B%\```````(B
XM3G5(Y_S@)&@`$$Z2/`!,WP<_,T8`"%.H``QF"`!I"```!$YU/RD`!`)?"`!GA
XM`GS_3G5(YP#`($1(0#@``D2``+E`!$`X``Q``!!M``!J#$`/[VT``,P,0$?P'
XM;0``&DA`YXCGF0*!````![.`2$``0'^`8```O`Q`#_!L```6#(#__P_O9@``9
XMF@R!\````&4``)!(Y\#`2'D````"3KH'.%A/3-\#`R`\``!_@+E`2$!R`&``+
XM`(`,0/Z0;```)@9`.`"`@6<``&I(Y\#`2'D````!3KH'`EA/3-\#`W``8```F
XM4")%.@`"0``/"D``$$A`Z$5416P```Y$1>JH>@#1A6```!)"0>NH4D7KL0*!-
XM````#]&!*@E(0+E`2$!@```62$#GB.F1`H$````'T8%(0+E`2$`H"$S?`P!.5
XM=0``2.<P`';_)`!J```X#("_\```90``7DCGP,!(>0````).N@9V6$],WP,#;
XM8```1DCG,``F/'____\D`&H```92@[>`2$`T``)"?_"U0`1"/_!M```@"D``S
XM$$A`Z$($0@`4;@``,$1"Y*A*@FL``#Y@```\<`!@```V2.?`P$AY`````DZZ=
XM!A183TS?`P,@`V```!P,0@`+;N"S@.6XY:FS@+"#8M1*@FH```1$@$S?``Q.U
XM=0``(@!(00)!?_\,00"`;0``)`Q!?X!L```^YH`"@(____\&@#@```!(00*!S
XM````!^:93G5*@6?Z2.<\`$A`.``"1(``.CPYT'``2$%.N@(`3-\`/$YUYH``X
XM@'_P``!(00*!````!^:93G5(YSQ`>`!R`&```!I(YSQ`>`!R`$J`9P``-&H`W
XM``@X/(``1(`,@``@``!D```0.CQ!($ZZ`;!,WP(\3G4R`$)`2$!(03H\0B!.'
XMN@&:3-\"/$YU```O!DJ`9P``C'P`8```%"`O``0O!BP`9P``>FH```1$@`R`V
XM`0```&4``&(\/$J`#("`````90``"@:&```$`."(#(`(````90``"@:&```".
XM`.B(#(`"````90``"@:&```!`.2(#(`!````90``"`9&`(#BB'(`T8%(0-!&X
XM2$8"1H``O4!(0&````H\/$L`3KH!G"P?3G4``'``(@"Y0$A`3G5(Y\#`2'D`!
XM```!3KH$>EA/3-\#`W``<@"Y0$A`3G5(Y\#`2'D````"3KH$7%A/3-\#`R`\3
XM``!_\+E`<@!(0$YU2.?`P$AY````!$ZZ!#I83TS?`P,@/'_Q``!R`$YU"````
XM`V<``!Y(Y\#`2'D````$3KH$%%A/3-\#`PB```,(P``!`$!_\$A`3G5(0$A$6
XM>A`,@````"!L```62$!(03`!0D$$10$`#(`````@;>Q"1`R````@`&P```;A1
XMB%!$2$!*0&8```;IF%A$?`!#^@`^'#$``.VXV$9(0"P!Z:GIOK-&O4#I3)I$U
XM2$!(1$YU#(`````@;```-DA`2$$P`4)!!$4!`&P`_^A@``!F!00#`P("`@(!E
XM`0$!`0$!`0````````````````````!V``R````@`&P```;AB%!#2$!*0&8`/
XM``;IF%A#=``4.P#`Y;C60DA`)`'GJ>>ZLT*U0.E+FD-M```,2$#018!$2$!.C
XM=41%Z$TD`.JHZKKJJ;&"M8%(0+E`2$!.=0``#(````$`;```"@1&"`!@```0:
XM2$!*0&8```CAF`1&!``,0``0;```".F8!$8"``Q``$!L```(Y9@$1@$`2@!KA
XM```(XY@$1@"`2$!*1FP``!)$1NY.[*C<AN*0<@#1@4YU2D9G```62$`*0`"`W
XMO4!(1@)&@`"]0$A`3G52@-R&XI!.=0``+P"#GV<$"$``'TYU2.<_0&$```A,-
XMWP+\3G4\/(``/CQ_\$A`2$(X`,A&N4#,0KU"O42P1VT``$ZP0FT``"P,@```I
XM?_!F```(2H%G```&3OK^`+1';0``&@R"``!_\&8```A*@V<```H@`B(#3OK]2
XMXDJ"9@``#$J#9@``!D[Z_;1.^OVBM$=M```N#((``'_P9@``"$J#9P``"B`":
XM(@-.^OVP2H!F```,2H%F```&3OK]@D[Z_7`Z`,I'9@``&DJ`9@``#$J!9@``!
XM!D[Z_1Q.NOVL8```"+M`"D``$,Y"9@``)DJ"9@``#$J#9@``!D[Z_/C!0L-#M
XMRT=.NOV"P4+#0\M'8```"+]"`$(`$`1%/_#:1V@```9.^OSX2$`N`>&(X8GA=
XMG[-'OT!(0BX#X8KAB^&?MT>_0BX`2$?.PRP"2$;,P=Z&0D??1TA'2$$L`<S"F
XM0D9(1MZ&2$,L`\S`0D9(1MZ&2$!(0BP`S,+&P-Z#=@#=@\+"WH'=@R(`2$$F7
XM`DA#P,/$P=&")`!"0-%`2$!(0D)"WH+1AL+#TH=T`-&"3OH#R```)``"@'__(
XM__]F"'``<@!T`&`B2$)(PNA"`H*```?_!$(#_R\"=`KCB>.04<K_^@C``!\D!
XM'TYU+P,O`(.?9V0$0@`+2H!F""`!0H$$0@`@+P`"G__@``!G)%)"XHCBD>*3C
XM+P`"G__@``!F[DJ#:@Y2@60*4H!@V%-"XXGCD`@``!1G]`9"`_]O'@Q"!_]L5
XM)@*```___^E*/P)"0DA"A%](0H"")A].=2\\`````4ZZ`"9P`&`6+SP````";
XM3KH`&#`\?_!(0H!"2$!"0$_O``1R`&#0```O!RXO``@I1P*H2JP"K&<4,'P`U
XM`2)L`JRSR&<(2'@`"$Z16$\N'TYU````````````````2.<_0&$```A,WP+\%
XM3G4\/(``/CQ_\$A`2$(X`,A&N4#,0KU"O42P1VT``'"P0FT``"P,@```?_!F#
XM```(2H%G```&3OK[8+1';0``'@R"``!_\&8```A*@V<```H@`B(#3OK[0D[ZF
XM^R!*@F8``"I*@V8``"1(Y\#`2'D````#3KK_3%A/3-\#`R`\``!_\+E`<@!(J
XM0$YU3OKZX+1';0``'@R"``!_\&8```A*@V<```H@`B(#3OKZ[D[Z^H(Z`,I':
XM9@``*DJ`9@``'$J!9@``%DJ"9@``#$J#9@``!D[Z^JA.^OI:3KKZZF````B[O
XM0`I``!#.0F8``"9*@F8```Q*@V8```9@`/]NP4+#0\M'3KKZP,%"PT/+1V``2
XM``B_0@I"`!`$1S_@FD=H```&3OKZ-DA`+@'IB.F)Z9^S1[]`2$(N`WP+[:KMW
XMJ^V_MT>_0DA$.`4B1$A"@,(X`$A!,`%"04A".@+*Q$A#/`/,Q$A#/@/.Q$A'A
XMWD9(1T)&2$;=A9*'D89D```(4T32@]&"0D-(1"P`2$*`PF@``!A"1"`&DH-(8
XM0I&"2$!(03`!0D%@```J.`!(03`!0D%(0CP"S,0N`TA'SL1(1]Q'2$9"1]U'P
XM2$:2AY&&9```$E-$TH/1@F4```A31-*#T8(L`$A"@,)H```40D4@!DA"D$)(D
XM0$A!,`%@```4.@!(03`!2$(\`LS%D(9D```.4T70@F4```931=""2$5(0H#";
XM:```!'#_.@`@!"(%*`DZ!$A$3OH`@```2H!K```X2H)J```@2H!F``!F2H%FM
XM``!@2H-F``!:#(*`````9@``4$YUL()F```,MH%E``!"9@``.$YU2H)K```>L
XM9@``+$J#9@``)DJ!9@``(`R`@````&8``!9.=;2`9@``#+*#90``#F8```1.-
XM=43\``A.=43\``!.=0R``@```&T``!#BB.*12D5L``!,8```"@1%`!!L``!`A
XM1$7H35A%#$4`.6\```Y.^OA:,@!"0$A`2$$$10`0;O(&10`0)`#JJ.JZZJFQS
XM@K6!=`#3@M&"2$"Y0$A`3G4D`.B(Z)KHB;&"M8%T`-."T8)(0-!%#$!_\&4$M
XM3OKX++E`2$!.=4CG/T!A```:3-\"_$YU2.<_0&$```A,WP+\3G4(0@`?2$!(!
XM0CP\@``^/'_P.`#(1KE`.@#*1[M`S$*]0LY"OT*Z1V8``.`,17_P9@``*K!"/
XM;0``$BX`CH%F```.+@*.@V<```H@`B(#3OKW^KQ$9P``?D[Z]])*168``$1(9
XM0&8``"A*@68``")(0F8```Y*@V8```C(1D[Z]V0@`B(#2$"]0+]`2$!.=4A"K
XM9@``'DJ#9@``&$A`N4"[0$A`3G5^$)I'OT"_0DA`2$*\1&<``"22@V8```J1X
XM@F8```9.=9&":@``"$2!0(`X!D[Z^`A.^O=(TH/1@@R``"```&T``!3BB.*1Z
XM?@#3A]&'!D4`$`Q%?^!E```&3OKW#$A`T$6`1$A`3G5N```*P4+#0\E&RT<,+
XM17_P9P``,$I'9@``/DA"9@``$$J#9@``"KE`NT!(0$YUUH/5@DI%9@``)DA`/
XMTH'1@&```")*@&8```Q*@68```9.^O;$3OKV[`I"`!!(0@I``!!(0)Y%1D?HE
XM1P1%`"`,1P`T;@``'M*!T8`,1P`@;P``("8"=``$1P`@[JMT`&```#0&10`0L
XM2$#018!$2$!.=0Q'`!!O```.-@)(0T)"2$($1P`0(D8L`NZJ[K[NJ[6&O8,L2
XM";Q$9@``/-*#T8(&10`0XHCBD0R``"```&T```H&10`0XHCBD7X`TX?1ATA`>
XMT$4,17_P9```"(!$2$!.=4[Z]@"?AY.#D8(,@``@``!M`/ZV1(?2AWX`T8?B&
XMB.*1!D4`$$A`T$6`1$A`3G5P`"!L`V`0&"E(`V!.=4Y5_XA(YP,0)F\`C$AXM
XM`&,O"TAM_YQ.N@?Z3^\`#$(M__]^`$'M_YPI2`-@<``@;`-@$!!![`&%"#``R
XM`P@`9P92K`-@8.9P`"!L`V`0$`Q``"MG"`Q``"UF!GX!4JP#8'``(&P#8!`80
XM2&W_B$AM_Y1(>O^`2'C__R\`*4@#8$ZZ\#1/[P`4+`!3K`-@(`8@;`-@$(!*!
XMK?^49@9P`'(`8!9*AV<,3.T``_^(3KKW"F`&3.T``_^(3-\(P$Y=3G4`````>
XM``!P84CG!S`N+P`8)F\`'"PO`"`O!TZZ#J!83R1`(`IF!'#_8#8(*@`#``-G'
XM$$AX``)"IR\'3KH)#$_O``PO!B\++RH`!$ZZ"GA/[P`,*@!*K`*D9P1P_V`"Z
XM(`5,WPS@3G4``````````'!A2.<#$"9O`!`@2TH89OQ3B)'++`A^`!X;2H=G`
XM,E.L`+9M%B!L`*Y#Z``!*4D`KB`'$(!R`!(`8-P@!W(`$@!(;`"J+P%.N@/F1
XM4$\B`&#&2&P`JDAX__].N@/44$\@!DS?",!.=0```````'!A3E7_W$CG#S`F`
XM;P!$?`!![0`,*TC_\AX;2@=G``$*<"6^`&8``,P>&W``$`=R&%U!:P``B+![4
XM$`AF]$[[$`0`9&```%``>&```!H`<&```!0`<V````(@;?_R)%@K2/_R8$H@V
XM;?_R*!@K2/_R1>W_['H'2H5K%B`$<@_`@4'Z`,#1P!204XKHA%.%8.9"+?_M(
XM8!H@;?_R*!@K2/_R+P1(;?_E3KH&4%!/1>W_Y2\*3KK^Y%A/W(!@`/]>4H93)
XMK`"V;1@@;`"N0^@``2E)`*X@!Q"`<@`2`&``_SYP`!`'2&P`JB\`3KH"VE!/<
XM(@!@`/\H4H93K`"V;1@@;`"N0^@``2E)`*X@!Q"`<@`2`&``_PAP`!`'2&P`>
XMJB\`3KH"I%!/(@!@`/[R2&P`JDAX__].N@*0(`9,[0SP_\1.74YU,#$R,S0U)
XM-C<X.4%#1$5&````3E7_\$CG(3(F;P`L#*P````@!-YL``"&$!-R(+`!9PQR]
XM";`!9P9R"K`!9@12BV#H2A-G:"`L!-[E@%*L!-Y![`3FT<`D2'`BL!-F)E*+4
XM)(M*$V<*<"*P$V<$4HM@\DH39@Q(>``!3KH,]%A/8)Y"&V":)(M*$V<8$!-R@
XM(+`!9Q!R";`!9PIR"K`!9P12BV#D2A-F`F`&0AM@`/]R2JP$WF8&(&P"R&`$U
XM0>P$YBE(!.)*K`3>9GQ!^@$D0^P$I"+8(M@BV"+8,I`B;`+((&D`)$AX`"@OE
XM*``$2&P$I$ZZ!&Y/[P`,0>P$I"(()#P```/N+&P%;$ZN_^(I0`-H*4`#<'($H
XM*4$#;"E``W@I00-TY8"3R2QX``0K0/_P3J[^VB!M__`B0"-H``@`I'X`*T#_R
XM]&`J+&P%;$ZN_\HI0`-H3J[_Q"E``W!!^@"F(@@D/````^U.KO_B*4`#>'X$9
XM(`<`0(`!@:P#9"`'`$"``H&L`VP`K```@`,#=$JL`/!G!'``8`8@/```@``N8
XM`$*L`*0@!P!```$I0`"@<`$I0`#&(`<`0``"*4``PG`"*4``Z"`'`$``@"E`*
XM`.1!^@FJ*4@"O"\L!.(O+`3>3KH`,D*73KH&=$SM3(3_W$Y=3G5C;VXZ,3`OP
XM,3`O,S(P+S@P+P`J`````````````````$[Y````````````````````````<
XM`````"\+)F\`"$JK`!1G#`@K``,`&V8$<`!@-B\L`HA.N@7^6$\G0``$)T``]
XM$$J`9@IP#"E`!6AP_V`6)VP"B``4<//!JP`8<``G0``,)T``""9?3G4`````S
XM`````'!A3E7_[$CG+Q`N+P`T)F\`."@'<#'`JP`89P9P_V```G`(*P`'`!I66
XMP$0`2(!(P"P`2JL`%&8``(0(*P`"`!MF>G``)T``#'+_OH%G``)"+PM.NO]2T
XM6$]*@&<,".L`!0`;</]@``(J".L``0`;2@9G#B`K`!0B`$2!)T$`#&`(("L`S
XM%"=```Q3JP`,;18@:P`$0^@``2=)``0@!Q"`<@`2`&`2(`=R`!(`+PLO`6$`F
XM_U)03R(`(`%@``'6""L``@`;9UAP_[Z`9@9P`&```<(@!QM`__]*!F<B<@J^X
XM@68<<@(O`4AZ`;(O*P`<*T'_\$ZZ^GQ/[P`,*@!@&G(!+P%(;?__+RL`'"M!1
XM__!.NOI@3^\`#"H`?O]@``#@".L``0`;2@9G4G#_OH!G3%2K``QR"KZ!9B8@L
XM:P`$0^@``2=)``00O``-(BL`#$J!:PHO"R\`80#^KE!/4JL`#"!K``1#Z``!:
XM)TD`!"`'$(`B*P`,2H%K``$<?O\@*P`$D*L`$"M`__!G<@@K``8`&F=22'@`M
XM`D*G+RL`'$ZZ`Q1/[P`,*T#_[$H&9SA3K?_L;3)"IR\M_^PO*P`<3KH"]$AX]
XM``%(;?_]+RL`'$ZZ`IQ/[P`82JP"I&8*$"W__7(:L`%GR"\M__`O*P`0+RL`D
XM'$ZZ^8!/[P`,*@!@`GH`</^Z@&8(".L`!0`;8`RZK?_P9P8(ZP`$`!M*!F<.=
XM(BL`%"0!1((G0@`,8!@(*P`"`!MG"'(`)T$`#&`((BL`%"=!``P@:P`0)T@`E
XM!+Z`9RY3JP`,;18@:P`$0^@``2=)``0@!Q"`<@`2`&`2(`=R`!(`+PLO`6$`V
XM_9!03R(`<##`JP`89P1P_V`,</^X@&8$<`!@`B`$3-\(]$Y=3G4-"@`````N8
XM;`+,3KH$NDAY````%$ZZ`R@``````````'!A(F\`""!O``0@+P`,(@A@!!#97
XM9PA3@&3X8`9"&%.`9/H@`4YU3E7_^$CG`S`F;P`@)&\`)"XO`"@@2DH89OQ3A
XMB)'*+`@@2TH89OQ3B)'+(`@B2]/`*TG_^+R'8P(L!R`&($I@`A+84X!D^B!M%
XM__A",&@`(`M,WPS`3EU.=2`O``@@;P`$3E7_]")/;`80_``M1(!R"DZZ!10&D
XM00`P$L%*@&;P$.&_R6;Z0A`@"$Y=D*\`!$YU3E7_Z$CG`3(N+P`T2H=N!G#_9
XM8```TG`(OH!D`BX`(`=6@"X``D?__"1M``@@;0`(T<??K`"$0^P`@"91*TC_8
XM\"M)__0@"V<``)`@2R`K``31P"M(_^PB;?_PM\EC$"2+)4<`!"QM__0LBG``D
XM8'BWR68:+%,DCB`K``0B`-*')4$`!"QM__0LBG``8%JUR&0(GZP`A'#_8$ZUS
XMR&8L2I-G#B!3L\AC")^L`(1P_V`XWZL`!$J39PZSTV8*("D`!-&K``0FD7``E
XM8!XK2__T*VW_[/_H)E-@`/]N(&W_]""*0I(E1P`$<`!,WTR`3EU.=0``````:
XM````<&%(YP<P+B\`&"9O`!PL+P`@+P=.N@6H6$\D0"`*9@1P_V`>+P8O"R\J7
XM``1.N@)@3^\`#"H`2JP"I&<$</]@`B`%3-\,X$YU``!(YP\0+B\`&"PO`!PJ=
XM+P`@+P=.N@5@6$\F0"`+9@1P_V`>+P4O!B\K``1.N@&<3^\`#"@`2JP"I&<$F
XM</]@`B`$3-\(\$YU``````````!P84CG`S`N+P`42H=N!G``8```I'`(OH!D2
XM`BX`(`=6@"X``D?__$7L`(`F4B`+9T`@*P`$L(=M,K"'9@P@4R2(GZP`A"`+!
XM8&X@*P`$D(=R"+"!918@2]'')(@D2"23)4``!)^L`(0@"V!,)$LF4V"\(`<B(
XM+`#TT(%3@$ZZ`KHB+`#T3KH"DBP`4(8@!E:`+``"1O_\+P9.N@7>6$\F0"`+K
XM9Q(O!B\+3KK]RBZ'80#_5%!/8`)P`$S?#,!.=0``````````<&$O!RXO``@OF
XM!TZZ_S)83RX?3G4``$CG`Q`N+P`01^P`B"`+9S0(*P`"`!MF*`@K``$`&V<@;
XM("L`!)"K`!`L`$J&9Q(O!B\K`!`O*P`<3KKU7D_O``PF4V#(+P=.N@306$],O
XMWPC`3G4``$CG-Q`N+P`<)F\`("PO`"1*K`*\9P1.N@0H0JP"I"(')`LF!BQL0
XM!6Q.KO_0*@!P_[J`9@Y.KO]\*4`"I'`%*4`%:"`%3-\([$YU``!(YS\`+B\`F
XM'"PO`"`J+P`D2JP"O&<$3KH#W$*L`J0@!5.`(@<D!B8`+&P%;$ZN_[XH`'#_X
XMN(!F#DZN_WPI0`*D<!8I0`5H(`4,@`````)G%@R``````6<(2H!F&"`&8!0@\
XM!-"&8`XB!W0`=@`L;`5L3J[_ODS?`/Q.=0``2.<W$"XO`!PF;P`@+"\`)$JL@
XM`KQG!$ZZ`V!"K`*D(@<D"R8&+&P%;$ZN_]8J`'#_NH!F#DZN_WPI0`*D<`4IQ
XM0`5H(`5,WPCL3G4``"\'+B\`"$JL`KQG!$ZZ`QXB!RQL!6Q.KO_<<``N'TYU@
XM3E7_L"\.2JP#-&820_H`B'``+'@`!$ZN_=@I0`,T<``@;`+4$"C__T/M_[!@)
XM`A+84X!D^G``(&P"U!`H__]"-0BP0>W_L"E(`01(>``H2'@`^G``+P`O`$AL+
XM`2!R`"\!2&P!#"\!3KH"]$AX`!1.N@,@+&W_K$Y=3G4J*B!3=&%C:R!/=F5R)
XM9FQO=R`J*@``15A)5```:6YT=6ET:6]N+FQI8G)A<GD`````````````````L
XM2.<P`"0`)@%(0DA#Q,'&P,#!U$-(0D)"T(),WP`,3G5*@&H``!Y$@$J!:@``'
XM#$2!80``($2!3G5A```81(!$@4YU2H%J```,1(%A```&1(!.=2\"2$$T`68`H
XM`")(0$A!2$(T`&<```:$P3`"2$`T`(3!,`)(0C(")!].=2\#=A`,00"`9```U
XM!N&944,,00@`9```!NF964,,02``9```!N6954-*06L```;CF5-#-`#FJ$A"X
XM0D+FJDA#@,$V`#`"-`-(0<3!D()D```(4T/0@63^<@`R`TA#Y[A(0,%!)A\D8
XM'TYU3E7_GDCG,S)^`"!L`M0>*/__<$^^@&\"+@`@!T/M_Z]@`A+84X!D^D(UO
XM>*^3R2QX``1.KO[:)D!*JP"L9TP@*P"LY8`D0"PJ`#A*AF8$+"L`H$J&9S0B%
XM!D'Z`+(D"'8++&P%;$ZN_]`@1U*'(`@;O``*"*\B!D'M_Z\D""8'+&P%;$ZN6
XM_]!P_V!.2JP#-&820_H`AG``+'@`!$ZN_=@I0`,T0>W_KRE(`51(>``\2'@`[
XM^G``+P`O`$AL`7!(;`%<2&P!2$*G3KH`_$_O`"!3@&<$</]@`G``3-],S$Y=S
XM3G4J*B!5<V5R($%B;W)T(%)E<75E<W1E9"`J*@``0T].5$E.544``$%"3U)41
XM`"HJ*B!"<F5A:SH@`&EN='5I=&EO;BYL:6)R87)Y````+P<N+P`(<``I0`*D]
XM2H=K(KZL`'!L'"`'YX!![`-D2K`(`&<.(`?G@$'L`V31P"`(8`AP"2E`!6AP;
XM`"X?3G4``````````'!A2.<!`G``(CP``#``+'@`!$ZN_LXN``*'```P`$J'Y
XM9@1P`&`@2JP"O&<8(&P"O$Z02H!F!'``8`Q(>``43KH`1EA/(`=,WT"`3G5A$
XMM$YU``!(YS`R+&P#-"!O`!@B;P`<)&\`("9O`"0@+P`H(B\`+"0O`#`F+P`T7
XM3J[^I$S?3`Q.=0``2.<'`"XO`!`@+`!P4X`L`$I&:S`@!DC`YX!![`-D*C`(X
XM`$H%9QH(!0`"9A0@!DC`YX!![`-D+S`(!$ZZ_!183U-&8,PO!TZZVG)83TS?-
XM`.!.=0``2.<`,B9L!7`@"V<4)%,B2R`K``@L>``$3J[_+B9*8.B1R"E(!70I=
XM2`5P3-],`$YU2.<!,BXO`!1P#-Z`(`=R`"QX``1.KO\Z)D`@"V8$<`!@.B='-
XM``A%[`5P(&H`!"=(``21R":(2I)F`B2+2JH`!&<&(FH`!"*+)4L`!$JL`'1F/
XM!"E+`'1!ZP`,(`A,WTR`3G4``````````````````````^P````!`````0``W
XM&R8````"`````@````P````&`````````_(```/I```!3DY5_Z2_[`*090`$S
XMGDCG-Q`N+P!\)F\`@'`(OH!L$B\32&P``$ZZ!/1"ETZZ!,I03R\K``1.N@2$H
XM3KH$L"ZK``@O0`!D3KH$=$ZZ!*`NJP`,+T``8$ZZ!&1.N@20+JL`$"]``%Q.>
XMN@143KH$@"ZK`!0O0``P3KH$1$ZZ!'`NJP`8+T``+$ZZ!#1.N@1@+JL`'"]`2
XM`"A.N@0D6$]";`,\3KH$2DZZ!`I([P`#`!AT`'8`3KH$5FP$<`!@&DSO``,`.
XM&"0\/_```'8`3KH$/FT$<`%@`G``3KH$+$ZZ`]0D/$!D``!V`$CO``,`,$ZZ>
XM`^Q.N@0,2.\``P`X("\`*$ZZ`[!,[P`,`#A.N@/T3KH#WB]``"!,[P`#`#`DS
XM/$!9``!V`$ZZ`[9.N@/62.\``P`X("\`)$ZZ`WI,[P`,`#A.N@.^3KH#J'(`$
XM0J=(;`!,+T``)"M!__`K0?_T3KH#BBE``S1"ETAL`%Y.N@-\3^\`#"E``S!PS
XM`#E``N`Y0`+B3.\``P`P)#Q`=```=@!.N@-,3KH#;$ZZ`UPY0`+D/T``&DSO8
XM``,`,"0\0&D``'8`3KH#*DZZ`TI.N@,Z.4`"YG(`&4$"ZAE!`NLY?(`$`NPY!
XM?(`/`NX_0``8(B\`,..)@J\`-&8*0FP"[#E\``\"[I'(*4@"\"E(`O0I2`+\V
XM.7P`!`+H2&P"X$ZZ`JXI0`+8<@`Y00,`.4$#`CEO`!X#!#EO`!P#!G0`&4(#.
XM"!E"`PET""E"`PHI?```&``##I'(*4@#$BE(`Q8I2`,:*4`#'BE(`R(Y00,FK
XM.4$#*#E\`H`#*CE\`9`#+#E\``\#+DAL`P!.N@)<4$\I0`+<?@!@("!L`MC0J
XM_``L<`^0AR\`+P`O`"\'+PA.N@*`3^\`%%*'<!"^@&W:("\`+$ZZ`@9([P`#W
XM`%`@+P`@3KH!^$CO``,`2"`O`!Q.N@'J2.\``P!`("W_]$ZZ`=Q,[P`,`%!(>
XM[P`#`#A.N@'V3.\`#`!(3KH"$$ZZ`@`L`"`M__!.N@&T3.\`#`!02.\``P`P"
XM3KH!SDSO``P`0$ZZ`>A.N@'8*@`O!2\&(&P"W"\H`#).N@((3^\`#"X`<`^^]
XM@&<$(`=2@"\`(&P"W"\H`#).N@%^+H4O!B!L`MPO*``R3KH!MD_O`!`@+P!<@
XM3KH!2DCO``,`*"`O`%A.N@$\2.\``P`@3.\``P`X3.\`#``H3KH!4$SO``P``
XM($ZZ`2Y([P`#`!AT`'8`3KH!:&P@3.\``P`H3KH!,DSO``P`.$ZZ`2),[P`,B
XM`"!.N@$`8`9,[P`#`!@O`2\`3KH`S%!/2.\``P`83.\``P`X=`!V`$ZZ`2)L`
XM!'#_8!),[P`#`#A.N@$2;P1P`6`"<`!.N@$J3.\`#``83KH`S$CO``,`&$SO?
XM``,`,$SO``P`&$ZZ`)Y.N@#$*T#_]"`O`&!.N@!\3.\`#``X3KH`A$ZZ`*H@R
XM;`+<(&@`5BM`__!**``/9R(O"$ZZ`'I83RE``SA*@&<2($`B*``4.4$#/"\`Y
XM3KH`,%A/,"P#/%%`9@#^3B\L`MQ.N@":+JP"V$ZZ`)A,[0CL_XQ.74YU``!.@
XM^0```:Q.^0```!1.^0``'C1.^0``"HA.^0```"A.^0``%CY.^0``$^Y.^0``,
XM`%A.^0```#Q.^0````!.^0``#@!.^0``#?1.^0```"A.^0``",A.^0``"@).F
XM^0``(6Q.^0``$^!.^0``"U9.^0``$N!.^0```#Q.^0````!.^0``%]A.^0``H
XM`!1.^0````!.^0``"OQ.^0```"````/L````#P````````4N```$G@``!.``&
XM``3"```$\@``!/X```3:```%!```!0H```2P```$[```!+P```3X```%'```U
XM!*H````#`````P``!*0```34```$Y@````0````$```%$```!,@```4T```%%
XM%@````0````%```%*```!2(```3.```$M@````````/R```#Z@```*-54T%'T
XM13HE<R![07T@>T)]('M#?2![4V-A;&5]('M8($]F9G-E='T@>UD@3V9F<V5T7
XM?2`H4F5S;VQU=&EO;B!;,#U,;W)E<UTI"@``:6YT=6ET:6]N+FQI8G)A<GD`\
XM9W)A<&AI8W,N;&EB<F%R>0``````*```````````````````````````````<
XMJ@```````````````````````````````````````````,P`````````````V
XM`````````````````````````````````````````````````````````````
XM`````````````````(`````$`/__````#@`.````````````````__\````$@
XM``0````````C;@```/C__P````0`!````````".$`````/__````#@`.````4
XM````)6P`````__\````$``0``````````````33__P````0`!````````"6(_
XM`````/__````!``$````````)9(``````"`@("`@("`@("@H*"@H("`@("`@E
XM("`@("`@("`@("`@2!`0$!`0$!`0$!`0$!`0$(2$A(2$A(2$A(00$!`0$!`00
XM@8&!@8&!`0$!`0$!`0$!`0$!`0$!`0$!`0$0$!`0$!""@H*"@H("`@("`@("4
XM`@("`@("`@("`@("`A`0$!`@("`@("`@("`@*"@H*"@@("`@("`@("`@("`@"
XM("`@("!($!`0$!`0$!`0$!`0$!`0A(2$A(2$A(2$A!`0$!`0$!"!@8&!@8$!W
XM`0$!`0$!`0$!`0$!`0$!`0$!`1`0$!`0$(*"@H*"@@("`@("`@("`@("`@(";
XM`@("`@("$!`0$"````````(````#[`````4````````!?````6@```%````!*
XM+````1@````$`````@```5@```$<````J@```(@````````#\@```^D````0D
XM+PXL>0```L0@;P`(3J[^C"Q?3G4O#BQY```"Q")O``A.KOZ&+%].=2\.+'D`$
XM``+$(F\`""`O``Q.KOW8+%].=0```^P````#`````@```"P````8````!```5
XM``````/P`````U]/<&5N3&EB<F%R>0```"@````#7U)E<&QY37-G````````Y
XM%`````)?1V5T37-G```````````````#\@```^D````<2.<P`BQY```#,"!O!
XM`!!,[P`/`!1.KO[@3-]`#$YU```O#BQY```#,")O``A,[P`#``Q.KO["+%]./
XM=0``+PXL>0```S`B;P`(3.\``P`,3J[^O"Q?3G4``"\.+'D```,P(F\`""`ON
XM``Q.KOZJ+%].=0```^P````$`````@```%P```!`````)`````8````````#\
XM\`````)?4V5T05!E;@```%@````#7U=R:71E4&EX96P`````/`````-?4F5A>
XM9%!I>&5L```````@`````E]397121T(T``````````````/R```#Z0```!0O&
XM#BQY```#-"!O``A.KO^^+%].=2\.+'D```,T(&\`"$ZN_[@L7TYU+PXL>0``;
XM`S0@;P`(3J[_.BQ?3G4O#BQY```#-"!O``A.KO\T+%].=0```^P````$````Q
XM`@```$`````L````&`````0````````#\`````-?3W!E;E=I;F1O=P`````\E
XM`````U]/<&5N4V-R965N`````"@````#7T-L;W-E5VEN9&]W````%`````-?"
X70VQO<V538W)E96X``````````````_(#.
X``
Xend
Xsize 13028
SHAR_EOF
echo "End of archive 1 (of 1)"
# if you want to concatenate archives, remove anything after this line
exit