IMD 1.17: 24/11/2010 20:10:49  e, isse; complex max; struct { int hi, lo; } ; if((flag=atoi(*++argv)) == 0) return; n = abs(flag); if(n<2 || (n&(n-1)) ý÷ `É ÷ €¸Â ºC„ÂeÔ Ô¤!ü‡€ðÿÁeæ— ¼î‡è ÷ N º‘— ¼ü‡ö " ü‡ß �Àetüÿ÷ ZÅEðÿWuÅe ºed); for(i=n; --i >= 0; ) { a[i].re = random(); if(flag < 0) a[i].im = random(); } if(printing&1) print("first:\n"); fft(a, n, -1); if(printing&2) print("second:\n"); fft(a, n, 0); if(printing&4) print("third:\n"); rsse = isse = 0; max.re = mm += v.im; } k = i; if(++i >= hs) break; k ^= i; /* find changed bits */ p = q = rbase; while((k >>= 1) != 0)mplex wvec[15], rvec[15]; shrunk = 0; k = 0; plim = &a[n-2]; /* permute into reverse-binary order */ for(p = &a[0]; p <= t)) max.re = abs(t); t = a[i].im; if(flag < 0) t -= random(); isse += smul(t, t); if(max.im < abs(t)) max.im = abs(t); } t = n; for(i = 0; (t >>= 1) != 0; i++) ; /* printf("sse: (%s,", locv(rsse.hi, rsse.lo)); */ /* printf("%s)\n", locv(isse.hi,Z[\]^_`abcdeÝ�PÜÔöÿÿí�0A3ÝÎPÜø¤�0'/012ÝÍPÜ ø¶�0P )*+,-.ÝÆPÜø¤�0s(ÝÂPÜø¤‘0?#ݾPÜø¤�0ŽÝ´PÜø¤�0ëݬPÜþ÷¤�0ÕݧPÜü÷ÿÁ0°ÝÓPÜølook to see if anything needs scaling down */ /* this takes a lot of code, but not much time */ maxa = AMAX-1; for(p = &a[= AMAX) { shrunk++; if(maxa >= AMAX*2) { shrunk++; for(p = &a[0]; p < plim; p++) { p->re /= 4; p->im 0ÜXøÝ…P´‘0€^=ÝÝPÜøÿ�0ú4ÝÐPÜøí�0A3ÝÎPÜø¤�0'/012ÝÍPÜ ø¶�0P )*+,-.ÝÆPÜø¤�0s(ÝÂPÜø¤‘0?#ݾPÜø¤�0ŽÝ´PÜø¤�0ëݬPÜþ÷¤�0ÕݧPÜü÷ÿÁ0°ÝÓPÜø  /= 4; } } else { for(p = &a[0]; p < plim; p++) { p->re /= 2; p->im /= 2; } } } for(i=0; ; ) #define complex struct cx #define cmove(a, b) (b)->re = (a)->re; (b)->im = (a)->im; #define AMAX (32767/3) /* if all element{ for(p = &a[i]; p < plim; p += s) { q = p + hs; v.re = smul(q->re,rbase->re) - smul(q->im,rbase->im); v.ims are < AMAX, overflow can't occur */ struct cx { int re, im; }; int scale; int oflow; fft(a, n, conjug) complex a[]; { sta = smul(q->re,rbase->im) + smul(q->im,rbase->re); q->re = p->re - v.re; q->im = p->im - v.im; p->re += v.re; p->itic complex v; int i, j, k; int s, hs; int t, maxa; int shrunk; register complex *p, *q; complex *plim, *rbase; static com += v.im; } k = i; if(++i >= hs) break; k ^= i; /* find changed bits */ p = q = rbase; while((k >>= 1) != 0)mplex wvec[15], rvec[15]; shrunk = 0; k = 0; plim = &a[n-2]; /* permute into reverse-binary order */ for(p = &a[0]; p <=  p--; cmul(p+(wvec-rvec), p); while(p < q) { cmove(p, q); q--; } } rbase++; hs = s; } while(s < n); plim; p++) { q = &a[k]; if(pre; p->re = q->re; q->re = t; t = p->im; p->im = q->im; q->im = t if(oflow>0) { printf("%d overflows\n", oflow); oflow = 0; } return(shrunk); } ...efft[ed.cunix; } j = n; while(k >= (j /= 2)) k -= j; k += j; } i = n; p = &wvec[0]; v.re = -scale; v.im = 0; /* build wvec[0..logn] : table of 2**k'th roots of unity */ /* wvec[k] = exp(+- i * pi / (2**k)) */ do { cmove(&v, p); p++; v.im = ssqrt((scale - v.re)/2); if(conjug < 0) v.im = -v.im; v.re = ssqrt((scale + v.re)/2); } while((i /= 2) != 0); rbase = &rvec[0]; plim = &a[n]; hs = 1; do { s = hs*2; p = rbase; do { p->re = scale; p->im = 0; } while(--p >= &rvec[0]); /* e...dwft.ccfts3.cbwfts.caarths.s`wft.diff_wfts.olook to see if anything needs scaling down */ /* this takes a lot of code, but not much time */ maxa = AMAX-1; for(p = &a[^scale.s]try\erfle0]; p < plim; p++) { if((t = abs(p->re)) > maxa) maxa = t; if((t = abs(p->im)) > maxa) maxa = t; } if(maxa >= AMAX) { shrunk++; if(maxa >= AMAX*2) { shrunk++; for(p = &a[0]; p < plim; p++) { p->re /= 4; p->im e, isse; complex max; struct { int hi, lo; } ; if((flag=atoi(*++argv)) == 0) return; n = abs(flag); if(n<2 || (n&(n-1)) != 0) return; a = alloc(n * sizeof(*a)); if(argc > 2) printing = atoi(*++argv); if(argc > 3) seed = atoi(*++argv); srand(sei++) ; logn = i; if(argc > 2) printing = atoi(*++argv); if(argc > 3) seed = atoi(*++argv); srand(seed); for(i=n; --i >= 0; ed); for(i=n; --i >= 0; ) { a[i].re = random(); if(flag < 0) a[i].im = random(); } if(printing&1) print("first:\n"); ff) { a[i].re = random(); a[i].im = (flag < 0) ? random() : 0; } if(printing&1) print("first:\n"); i = fft(a, n, -1); if(t(a, n, -1); if(printing&2) print("second:\n"); fft(a, n, 0); if(printing&4) print("third:\n"); rsse = isse = 0; max.re = mprinting&2) print("second:\n"); t = fft(a, n, 0); printf("shrunk %d + %d\n", i, t); shrink = logn - (i + t); if(printing&4) ax.im = 0; scale = 16; srand(seed); for(i=n; --i >= 0; ) { t = a[i].re - random(); rsse += smul(t, t); if(max.re < abs(print("third:\n"); rsse = isse = 0; max.re = max.im = 0; scale = 16; srand(seed); for(i=n; --i >= 0; ) { t = (a[i].re >> t)) max.re = abs(t); t = a[i].im; if(flag < 0) t -= random(); isse += smul(t, t); if(max.im < abs(t)) max.im = abs(t); shrink) - random(); rsse += smul(t, t); if(max.re < abs(t)) max.re = abs(t); t = (a[i].im >> shrink); if(flag < 0) t -= } t = n; for(i = 0; (t >>= 1) != 0; i++) ; /* printf("sse: (%s,", locv(rsse.hi, rsse.lo)); */ /* printf("%s)\n", locv(isse.hi,random(); isse += smul(t, t); if(max.im < abs(t)) max.im = abs(t); } /* printf("sse: (%s,", locv(rsse.hi, rsse.lo)); */ /*  isse.lo)); */ scale = 4; t = rsse >> i; printf("rms (%d,", ssqrt(t)); t = isse >> i; printf("%d)\n", ssqrt(t)); printf("mprintf("%s)\n", locv(isse.hi, isse.lo)); */ scale = 4; t = rsse >> logn; printf("rms (%d,", ssqrt(t)); t = isse >> logn; prax (%d,%d)\n", max.re, max.im); if(oflow > 0) printf("overflows:\n%d\n", oflow); } print(s) char s[]; { register int i; priintf("%d)\n", ssqrt(t)); printf("max (%d,%d)\n", max.re, max.im); if(oflow > 0) printf("overflows:\n%d\n", oflow); } print(s)ntf(s); for(i=0; i> 5); } #define complex struct cx #define pi 3.1415926 #define rads .01745 struct cx { int re, im; }; int scale 16384; int scale2 14;#define complex struct cx #define pi 3.1415926 #define rads .01745 struct cx { int re, im; }; int scale 1000; int seed 1254;  int seed 1254; int n; int oflow; complex *a; float atof(); main(argc, argv) char **argv; { register int i, t; int shrink, lint n; int oflow; complex *a; float atof(); main(argc, argv) char **argv; { register int i, t; int flag, printing; long rssogn; int flag, printing; long rsse, isse; complex max; struct { int hi, lo; } ; flag = atoi(*++argv); n = abs(flag);  nd() >> 5); } et mov r2,-(sp) mov r3,-(sp) mov r4,-(sp) mov $4,r4 mov _scale,r1 cmp r0,r1 ble 1f 2: asr r0 asl r1 cmp r0,r1 bhi 2b  br 3f 1: asl r0 asr r1 cmp r0,r1 blo 1b mov r1,r0 3: mov 10(sp),r2 mul _scale,r2 div r0,r2 / N * scale / x bvc 4f inc _oflow 4: add r2,r0 ror r0 / ((N*scale/x) + x) / 2 sob r4,3b ret4: mov (sp)+,r4 ret3: mov (sp)+,r3 ret2: mov (sp)+,r2 .globl _smul, _sdiv, _ssqrt .globl _cadd, _csub, _cmul .globl _itoatn, _atntoi, _rotate, _polar .globl _rand, _srand .comm _scaret: rts pc _itoatn: / convert scaled int angle to atn representation mov r2,-(sp) mov 4(sp),r2 / r2 = angle mov $atans,r1le, 2 .globl _scale .comm _oflow, 2 .globl _oflow .text _smul: mov 2(sp),r0 mul 4(sp),r0 div _scale,r0 bvc 1f ovf: clr r0 / table of arctans sub (r1),r2 / subtract 90 degrees mov $1,r0 / prepare to loop 16 times 1: / (until the 1 is shifted in inc _oflow 1: rts pc _sdiv: mov 2(sp),r0 mul _scale,r0 div 4(sp),r0 bvs ovf rts pc _cadd: / cadd(a, b); struct cx *a,to carry) tst r2 / compare angle to zero bpl 2f add (r1)+,r2 / < 0 : add angle asl r0 / shift in 0 bit bcc 1b / loop bac *b; adds a to b mov 2(sp),r0 mov 4(sp),r1 add (r0)+,(r1)+ bvc 1f inc _oflow 1: add (r0),(r1) 3: bvc 2f inc _oflow 2: k br ret2 / unless all 16 done 2: sub (r1)+,r2 / > 0 : subtract angle sec rol r0 / shift in 1 bit bcc 1b / loop 3: mov rts pc _csub: / csub(a, b) mov 2(sp),r0 mov 4(sp),r1 sub (r0)+,(r1)+ bvc 1f inc _oflow 1: sub (r0),(r1) br 3b _cmul: (sp)+,r2 / yes, return rts pc _atntoi: mov $-18182.,r0 / 18182 = sum of all arctans, / so -18182 = sum of values of all 0 / cmul(a, b); multiplies a into b jsr r5,csv mov 4(r5),r4 mov 6(r5),r3 / dest mov (r3)+,-(sp) / save b.re mov (r3),-(sp) /bits mov $atans,r1 mov r2,-(sp) 1: mov (r1)+,r2 asl 2(sp) / test bit in atn representation bcc 2f / if off, leave angle s multiply b.im mov 2(r4),-(sp) / by a.im jsr pc,_smul mov r0,r2 mov -(r3),(sp) / and b.re mov (r4)+,-(sp) / by a.re jsr pcubtracted; asl r2 / else add it in (twice, add r2,r0 / to correct for subtraction) br 1b 2: bne 1b / if anything's left, ,_smul cmp (sp)+,(sp)+ sub r2,r0 / b.re*a.re - b.im*a.im bvc 1f inc _oflow 1: mov r0,(r3)+ / set b.re / now mult b.re (continue mov (sp)+,r2 rts pc / else return .data atans: / table of arctangents. / table[0] = 90 degrees, / table[i+1] left on stack) mov (r4),(sp) / by a.im jsr pc,_smul mov r0,r2 mov (r3),(sp) / mult b.im mov -(r4),-(sp) / by a.re jsr pc,_= arctan(1 / 2**i), / with angles scaled so 360 degrees = 65536. 16384. / 90. degrees 8192. / 1 : 45.00000 degrees 4836.  char s[]; { register int i; printf(s); for(i=0; i> n tst r2 bmi 1f neg r4 / negate unless sign negative 1: add r0,r4 / new x ),r3 mov r0,(r3)+ / put in new x, y mov r2,(r3) br ret4 _polar: / polar(xy, rtheta); struct cx *xy, *rtheta; mov r4,-(sp) in r4 ash r3,r0 / x >> n tst r2 bpl 2f neg r0 / negate if sign negative 2: add r0,r1 / new y mov r4,r0 / new x rts pc/ also returns r as func value mov r3,-(sp) mov r2,-(sp) mov 10(sp),r3 / r3 = xy mov $2,-(sp) / prepare theta for 15 shifts  / multiply x and/or y by .60723, which is / the product of the cosines of all those arctangents. xyshrink: mov r1,r2 mul $ mov 2(r3),r1 / r1 = y mov (r3),r0 / r0 = x bpl 1f / if x < 0, neg r0 / negate x and y neg r1 inc (sp) / and add 180 de39797.,r2 / multiply by (39797/65536) add r1,r2 / correct for signed multiply / leave y in r2 xshrink: mov r0,r3 mul $39 !"$%&'797.,r0 add r3,r0 / as above -- leave x in r0 rts pc _srand: / srand(seed); seeds random number generator mov r2,-(sp) m üb„w üÿ_šõeNß 5ôÿNôÿß 7Úÿ÷%Ôÿ_–ÀÊÿÀ À=Äÿ_–Àºÿtß 7¬ÿèÿ ƒ „ ü5öÿõ% õe_scale#ü_scale2#þ_seed#_n _oflNß 5òÿõ% õeNß 7fÎbß ÄZÿÄ ÷ 8WtÁmHÿ õ ôÿ÷ " WtÁm.ÿ1çõ5òÿÎß ¢Îÿÿæÿow _a _main"~maincsv argcargvL1šL2itæ ÿß –%õ5òÿÎ ß ¢ æîþæêþß –%Î&æß –%@öÿÁ`@à5øÿõ5òÿÎ#ß ¢ À uìÿ5êÿ5îÿuðÿ 5èÿ5æÿ÷ŽÎshrinkøÿlognöÿflagôÿprintingòÿrsseîÿisseêÿmaxæÿ_atoi _abs L3–_sbrkŽß ĆþÄ R÷ d&tÀmrþAøÿ t€åÎæß Ö À 5`îÿu`ðÿu îÿÎß @-æÿÎß 5æÿtÀm*þAøÿ tõ ôÿ÷ øà L4ZL5bL6^L7€L8š_srand L9¦L10Ø_random"æL10000ÆL100Îæß Ö À 5`êÿu`ìÿu êÿÎß @-èÿÎß 5èÿ¬÷ÔAðÿ@îÿBöÿ vCÎß æ+ß Ö Aìÿ@êÿBöÿ vCÎß æ4ß Ö 01ÈL11èL12_print"¢_fft L13 L14 L15_printf L16JL17# mov r3,-(sp) 3: mov r1,r3 bic $!204,r3 / isolate bits 19 and 24 add $200-4,r3 / xor them aslb r3 / shift (19 xor 24) to cNèÿfæÿæ9ß –%÷ zýÎtýæFß Ö wfýÆå_w ZýNß  Ä-JýtÀm>ýtÀm0ý&æUß –%„ éwýáw ý÷ ýarry rol r0 / rotate it rolb r1 / through the shift register sob r2,3b mov r0,lseed mov r1,hseed mov (sp)+,r3 mov (sp)+tûÿwýø@æfirst: second: shrunk %d + %d third: rms (%d,%d) max (%d,%d) overflows: %d (%d,%d) ‰,r2 rts pc .data lseed: 31415. hseed: .byte 271. .even .text hx99999˜Y9hhø9YY9Yˆ994,98c q = p + hs; cmove(q, &v); cmul(rbase, &v); cmove(p, q); csub(&v, q); cadd(&v, p); . YˆÈø9YxxYxxXÈXÈÈIIȹ‰È9YYȹ‰™¹ 1,r3 bic $!204,r3 / isolate bits 19 and 24 add $200-4,r3 / xor them aslb r3 / shift (19 xor 24) to carry rol r0 / rotate i.globl _smul, _ssqrt, _cmul .globl _srand, _rand .globl _cmul .globl _scale2 .text _smul: mov 2(sp),r0 mul 4(sp),r0 mov _st rolb r1 / through the shift register sob r2,3b mov r0,lseed mov r1,hseed mov (sp)+,r3 mov (sp)+,r2 rts pc .data lseedcale2,-(sp) neg (sp) ashc (sp)+,r0 mov r1,r0 rts pc _cmul: / cmul(a, b); multiplies a into b jsr r5,csv mov 4(r5),r4 m: 31415. hseed: .byte 271. .even .text ov 6(r5),r3 / dest mov (r3)+,-(sp) / save b.re mov (r3),-(sp) / multiply b.im mov 2(r4),-(sp) / by a.im jsr pc,_smul mov r0,r2 mov -(r3),(sp) / and b.re mov (r4)+,-(sp) / by a.re jsr pc,_smul cmp (sp)+,(sp)+ sub r2,r0 / b.re*a.re - b.im*a.im moecho >>tries wfts $1 $2 $3 erfle /bin/time wfts $1 $2 $3 >>tries v r0,(r3)+ / set b.re / now mult b.re (left on stack) mov (r4),(sp) / by a.im jsr pc,_smul mov r0,r2 mov (r3),(sp) / mult b.im mov -(r4),-(sp) / by a.re jsr pc,_smul add r2,r0 / b.im*a.re + b.re*a.im mov r0,(r3) / set b.im jmp cret _ssqrt: mov 2(sp),r0 ble ret mov r2,-(sp) mov r3,-(sp) mov r4,-(sp) mov $3,r4 mov $1,r1 ash _scale2,r1 cmp r0,r1 ble 1f 2: asrL18zL19"_smul L20ÌL21ðL22 _ssqrt L23+L244L259L26 r0 asl r1 cmp r0,r1 bhi 2b br 3f 1: asl r0 asr r1 cmp r0,r1 blo 1b mov r1,r0 3: mov 10(sp),r3 clr r2 ashc _scale2,r–L27Fcret ~print¢sL28äL29¨iL31²L32àL34UL332 div r0,r2 / N * scale / x add r2,r0 ror r0 / ((N*scale/x) + x) / 2 sob r4,3b ret4: mov (sp)+,r4 ret3: mov (sp)+,r3 reÜL30à~randomæL35úL36ì_rand L37öt2: mov (sp)+,r2 ret: rts pc _srand: / srand(seed); seeds random number generator mov r2,-(sp) mov $103.,r2 mov 4(sp),r1 mov r1,r0 bne 1f mov $31415.,r0 movb $271.,r1 br 2f _rand: / rand(); returns random signed int / uses a 24-bit pseudorandom bit sequence mov r2,-(sp) mov lseed,r0 movb hseed,r1 2: mov $10.,r2 / ten shifts per call 1: mov r3,-(sp) 3: mov r of string file -- next free spot */ char tsname[12]; /* name of string file */ int *after; int *oldol; char syntax[] "syntax error"; char big[] "too large"; char delimiter[] "delimiter"; char tmperr[] "temp file error"; char range[] ""; char # /* * Editor */ #define SIGINTR 2 #define SIGQUIT 3 #define FNSIZE 64 #define LBSIZE 512 #define ESIZE 128 #define GBSIZE 2prompt[9] ": \0 "; main(argc, argv) char **argv; { register char *p1, *p2; extern int onintr(); int flags; onquit = si56 #define NBRA 5 #define EOF -1 #define CBRA 1 #define CCHR 2 #define CDOT 4 #define CCL 6 #define NCCL 8 #define CDOL 10 #defgnal(SIGQUIT, 1); flags = 0; while(--argc) { p1 = *++argv; if(*p1 == '-') { p1++; if(*p1 == 's') if(argc>1 && *aine CEOF 11 #define CKET 12 #define STAR 01 #define READ 0 #define WRITE 1 int peekc; int lastc; char savedfile[FNSIZE]; charrgv[1] != '-') { setup = *++argv; argc--; } else { p1 = "\2\5\21\1\17\3\23\22\0"; p2 = patn; while( file[FNSIZE]; char linebuf[LBSIZE]; char rhsbuf[LBSIZE/2]; char expbuf[ESIZE+4]; int circfl; int *zero; int *dot; int *dol; int*p2++ = *p1++); } else if(*p1 == 'q') signal(SIGQUIT, 0); else if (*p1 == 'c') flags =| 02; else vflag = 0; } els *endcore; int *fendcore; int *addr1; int *addr2; char genbuf[LBSIZE]; int count[2]; char *nextip; char *linebp; int ninbuf; inte { p2 = savedfile; while(*p2++ = *p1++); flags =| 01; } } fendcore = sbrk(0); init(); if ((signal(SIGINTR, 1) &  io; int pflag; int onquit; int vflag 1; int listf; int col; char *globp; int tfile -1; int tline; char *tfname; char *loc1; cha01) == 0) signal(SIGINTR, onintr); setexit(); if(setup && (inf=open(setup,0))>0) { setup = 0; commands(); /* do setup ifr *loc2; char *locs; char ibuff[512]; int iblock -1; char obuff[512]; int oblock -1; int ichanged; int nleft; char TMPERR[] "TMP possible */ } inf = 0; if(flags==1) globp = "r"; else { puts("Input"); globp = "a"; } setexit(); commands(); unlink"; int names[26]; char *braslist[NBRA]; char *braelist[NBRA]; int changed; int mode; int inf 0; /* current input file (normally (tfname); } commands() { int getfile(), gettty(); register *a1, c; register char *p; int r; for (;;) { if (pflag) { pf0) */ int caps; /* upper case flag for commands */ char patn[10] "\2\5\21\1\17\3\23\22\0"; /* pattern chrs: ^$.*[]&\(\)- */ chalag = r = 0; addr1 = addr2 = dot; goto print; } if (globp==0 && inf==0 && lastc!=';') putst(prompt); cmdflg = 1; addr1 =â ð€&Ð 6÷ –%ß ª‰w šÎß XÎß n@À @m NÎe@&ß ‚Ö wnäf…@‰†wl …‡fr cmdflg 1; /* enables use of micro-strings -- on during command input */ char *strp; /* ptr to current char of micro-string */ …@)‰†wV…‡f…wZwV÷ Tæð梉äw*f…÷ @‰@…&æ¦È B„ƒ‚F…‡‡7ÀÿÿF…‡ ‰char *setup ".edset"; /* file of ed commands for setup */ int strings[26]; int strf; /* file of strings */ int eostrf; /* end  tchar())); *--p = 0; inf = open(genbuf,0); if(inf<0) { inf = 0; putst("Cannot open "); err(genbuf); } command addr2 = 0; do { addr1 = addr2; if ((a1 = address())==0) { c = getchar(); break; } addr2 = a1; if ((c=getchar()) == ';') { c = ','; dot = a1; } } while (c==','); if (addr1==0) addr1 = addr2; caps = (c<='Z') && (c>='A'); if (case '\n': if (addr2==0) addr2 = dot+1; if(addr1==0) addr1 = addr2; r = 0; goto print; case 'l': listf++; case 'paps) c =| 040; switch(c) { case 'a': setdot(); append(gettty, addr2, getlimit()); continue; case 'c': setdot(); n': r = getlimit(); print: setdot(); a1 = addr1; if(r) { addr2 = a1 + (r-1); if(addr2 > dol) addr2 = dol; } nonzero(); r = append(gettty, addr1-1, getlimit()); addr1 =+ r; addr2 =+ r; delete(); if (r) dot--; continue; case onzero(); do { if (caps) { count[1] = a1-zero; putd(); putchar(':'); putchar(' '); } puts(getline(*a1++))'d': setdot(); if(r=getlimit()) addr2 = addr1 + (r-1); nonzero(); delete(); continue; case 'e': setnoaddr(); if ; } while (a1 <= addr2); dot = addr2; listf = 0; continue; case 'q': setnoaddr(); newline(); if (caps) goto wrt;((peekc = getchar()) != ' ') err(syntax); checkw(); filename(); for(p=file; savedfile[p-file] = *p; p++); init(); a checkw(); /* if file changed, ask 'write? ' */ unlink(tfname); exit(0); case 'r': filename(); caseread: if ((io =ddr2 = zero; goto caseread; case 'f': setnoaddr(); if ((c = getchar()) != '\n') { peekc = c; savedfile[0] = 0;  open(file, 0)) < 0) { lastc = '\n'; putst(file); err(": Cannot open"); } setall(); ninbuf = 0; append(getfile,filename(); } puts(savedfile); continue; case 'g': global(1); continue; case 'i': setdot(); nonzero(); r = a addr2, 0); exfile(); continue; case 's': setdot(); nonzero(); substitute(globp); dot = addr2; continue; case ppend(gettty, addr2-1, getlimit()); if(r==0) dot++; continue; case 'k': if ((c = getchar()) < 'a' || c > 'z') err("ba't': move(1); continue; case 'v': global(0); continue; case 'w': setall(); nonzero(); wrt: filename(); ifd name"); newline(); setdot(); nonzero(); names[c-'a'] = *addr2 | 01; continue; case 'm': move(0); continue; c ((io = creat(file, mode)) < 0) { putst(file); err(": Cannot create"); } putfile(); changed = 0; exfile(); if(ca56789:;<>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdeps) { unlink(tfname); exit(0); } continue; case ':': if (eoln(getchar())) { setdot(); goto out; } spcl(); continue; case '<': /* get input from specified file */ if(inf) err("Nested input files"); p = genbuf; while(!eoln(*p++ = ge   a1 = dol; break; case '.': a1 = dot; break; case '\'': if ((c = getchar()) < 'a' || c > 'z') err("bad nhar('\n'); } else { if (lastc != ' ') peekc = lastc; while(!eoln(getchar())) { if(p=26) err("Bad string name"); if(getchar()==':' || lastc == '='(a1==0) return(0); a1 =+ minus; if (a1dol) err(range); return(a1); } } } setdot() { if (addr2 ) { newline(); if(strings[c]==0) err("Non-existent string"); seek(strf,strings[c]-1,0); if(read(strf,genbuf,LBSIZE)<=0) == 0) addr1 = addr2 = dot; if (addr1 > addr2) err("range error"); } setall() { if (addr2==0) { addr1 = zero+1; addr2 err(tmperr); puts(genbuf); } else { if(lastc==' ') getchar(); p = linebuf; while(lastc!='\n') { *p++ = lastc; gets(); continue; case '=': setall(); newline(); out: count[1] = (addr2-zero)&077777; putd(); putchar('\n'); conti= dol; if (dol==zero) addr1 = zero; } setdot(); } setnoaddr() { if (addr2) err(syntax); } nonzero() { if (addr1<=zenue; case '!': unix(); continue; case EOF: return; } err("Unknown command"); } } address() { register *a1, minusro || addr2>dol) err(range); } getlimit() { register c,n; n = 0; while((c=getchar())>='0' && c<='9') n = n*10 + c-'0'; if, c; int n; minus = 0; a1 = 0; for (;;) { c = getchar(); if ('0'<=c && c<='9') { n = 0; do { n =* 10; n =(n == 0 && (c == '*' || c == '$')) n = dol-zero; else peekc = c; newline(); return(n); } newline() { register c; if (+ c - '0'; } while ((c = getchar())>='0' && c<='9'); peekc = c; if (a1==0) a1 = zero; if (minus<0) n = -n; eoln(c=getchar())) return; if(c <= 'Z') { caps++; c =+ 'a'-'A'; } if (c=='p' || c=='l') { pflag++; if (c=='l') l a1 =+ n; minus = 0; continue; } switch(c) { case ' ': case '\t': continue; case '+': minus++; if (aistf++; if (eoln(getchar())) return; } err(syntax); } spcl() { register char *p; register c; static note; if(lastc 1==0) a1 = dot; continue; case '-': case '^': minus--; if (a1==0) a1 = dot; continue; case '?': c== 'P') { p = prompt; while(!eoln(*p=getchar())) if (p dol) a1 = zero; } else { a1--; if (a1 < zero) note; do { if(*p>' ') { putchar(' '); putchar(*p); } else { putchar('^'); putchar(*p | 0100);  a1 = dol; } if (execute(0, a1)) break; if (a1==dot) err("not found"); } break; case '$':  note = 1; } putchar(' '); p++; } while(p= &li pflag = 0; if (globp) lastc = '\n'; globp = 0; peekc = lastc; while(!eoln(c=getchar()) && c != EOF); if (io > 0) { clnebuf[LBSIZE-2]) err(big); } *p++ = 0; if (linebuf[0]=='.' && linebuf[1]==0) return(EOF); return(0); } getfile() /* read aose(io); io = -1; } reset(); } /* * see if user wants to write out file. If user answers * n just quit. Otherwise go line from the current file into linebuf */ { register c; register char *lp, *fp; lp = linebuf; fp = nextip; do { if (--char(); } *p = 0; if(p==linebuf) strings[c] = 0; else strings[c] = putstrf(); } } putstrf() { register char *p, *q;  back into editor */ checkw() { register c; if(changed == 0) return; putst("write? "); if ((c = getchar()) == EOF) return if(strf == 0) { p = tfname; q = tsname; while(*q++ = *p++); tsname[5] = 's'; close(creat(tsname,0644)); if((strf = o; if(c != '\n') while(getchar() != '\n'); if(c == 'y') { putfile(); changed = 0; } else if(c != 'n') { puts("edit\7")pen(tsname,2)) < 0) err(tmperr); unlink(tsname); eostrf = 1; } p = linebuf; while(*p++); seek(strf,eostrf-1,0); write(s; reset(); } } getchar() { register char c, bsflag; register int index; static int oldinf; bsflag = 0; again: if((c trf,linebuf,p-linebuf); q = eostrf; eostrf =+ p-linebuf; return(q); } filename() { register char *p1, *p2; register c; c= peekc) != 0) { peekc = 0; } else if(globp) { if((c = *globp++) == 0) { globp = 0; c = EOF; } } else { readc: ount[1] = 0; c = getchar(); if (eoln(c)) { p1 = savedfile; if (*p1==0) err("no file name"); p2 = file; while (*p2++ if(read(inf, &lastc, 1) <= 0 || (c = (lastc&0177))==0) { if(inf == strf) { inf = oldinf; goto readc; } else {  = *p1++); return; } if (c!=' ') err(syntax); while ((c = getchar()) == ' '); if (eoln(c)) err(syntax); p1 = file; d close(inf); inf = 0; c = EOF; } } } if(bsflag) { if(c >= 'a' && c <= 'z') { /* micro string */ if((index =   = genbuf; a1 = addr1; do { lp = getline(*a1++); for (;;) { if (--nib < 0) { write(io, genbuf, fp-genbuf); nib ); } putline() { register char *bp, *lp; register nl; int tl; lp = linebuf; tl = tline; bp = getblock(tl, WRITE); nl = = 511; fp = genbuf; } if (++count[1] == 0) ++count[0]; if ((*fp++ = *lp++) == 0) { fp[-1] = '\n'; break; nleft; tl =& ~0377; while (*bp = *lp++) { if (*bp++ == '\n') { *--bp = 0; linebp = lp; break; } if (--nl == 0)  } } } while (a1 <= addr2); write(io, genbuf, fp-genbuf); changed = 0; } append(f, a, limit) /* append lines returned by f{ bp = getblock(tl=+0400, WRITE); nl = nleft; } } nl = tline; tline =+ (((lp-linebuf)+03)>>1)&077776; return(nl); } () after line a */ int (*f)(); int *a; { struct { int integer; }; register could; dot = after = a; could = (dol>zero); old getblock(atl, iof) { extern read(), write(); register bno, off; bno = (atl>>8)&0377; off = (atl<<1)&0774; if (bno >= 255ol = dol; while ((*f)() == 0) { if (dol >= endcore) { if (sbrk(1024) == -1) err(big); endcore.integer =+ 1024; } *+) err(tmperr); nleft = 512 - off; if (bno==iblock) { ichanged =| iof; return(ibuff+off); } if (bno==oblock) return(obuff+dol = putline(); dot++; if(could) changed++; if (--limit == 0) break; } endapp(); return(dol-oldol); /* return line co+off); if (iof==READ) { if (ichanged) blkio(iblock, ibuff, write); ichanged = 0; iblock = bno; blkio(bno, ibuff, reaunt */ } endapp() { register old; if(dol>oldol) { old = oldol+1; after++; reverse(after,old); reverse(old,dol+1); d); return(ibuff+off); } if (oblock>=0) blkio(oblock, obuff, write); oblock = bno; return(obuff+off); } blkio(b, buf, ireverse(after,dol+1); } after = 0; } unix() { register savint, pid, rpid; int retcode; setnoaddr(); if ((pid = fork()) =ofcn) int (*iofcn)(); { seek(tfile, b, 3); if ((*iofcn)(tfile, buf, 512) != 512) { err(tmperr); } } init() { register cha= 0) { signal(SIGQUIT, onquit); execl("/bin/sh", "sh", "-t", 0); exit(0); } savint = signal(SIGINTR, 1); while ((rpid =r *p; register pid; close(tfile); tline = 0; iblock = -1; oblock = -1; tfname = "/tmp/exxxxx"; ichanged = changed = 0;  wait(&retcode)) != pid && rpid != -1); signal(SIGINTR, savint); puts("!"); } delete() { register *a1, *a2, *a3; changed++pid = getpid(); for (p = &tfname[11]; p > &tfname[6];) { *--p = (pid&07) + '0'; pid =>> 3; } close(creat(tfname, 0600)); ninbuf < 0) { if ((ninbuf = read(io, genbuf, LBSIZE)-1) < 0) return(EOF); fp = genbuf; } if (lp >= &linebuf[LBSIZE; a1 = addr1; a2 = addr2+1; a3 = dol; dol =- a2 - a1; do *a1++ = *a2++; while (a2 <= a3); a1 = addr1; if (a1 > dol) ]) err(big); if ((*lp++ = c = *fp++ & 0177) == 0) { lp--; continue; } if (++count[1] == 0) count[0]++; } while (c !a1 = dol; dot = a1; } getline(tl) { register char *bp, *lp; register nl; lp = linebuf; bp = getblock(tl, READ); nl = nle= '\n'); *--lp = 0; nextip = fp; return(0); } putfile() { int *a1; register char *fp, *lp; register nib; nib = 512; fpft; tl =& ~0377; while (*lp++ = *bp++) if (--nl == 0) { bp = getblock(tl=+0400, READ); nl = nleft; } return(linebuf   tfile = open(tfname, 2); unlink(tfname); brk(fendcore); dot = zero = dol = fendcore; endcore = fendcore - 2; mode = (getgiar()) == 'g') { peekc = 0; newline(); return(1); } newline(); return(0); } getsub() { register char *p1, *p2; p1 = d()&0377) == 1 ?0644 :0664; /* if (ttyn(0) == 'x') prompt[0] = 0; */ } global(k) { register char *gp; register c; register ilinebuf; if ((p2 = linebp) == 0) return(EOF); while (*p1++ = *p2++); linebp = 0; return(0); } dosub() { register char *lnt *a1; char globuf[GBSIZE]; if (globp) err("recursive global"); setall(); nonzero(); if ((c=getchar())=='\n') err(synp, *sp, *rp; int c; lp = linebuf; sp = genbuf; rp = rhsbuf; while (lp < loc1) *sp++ = *lp++; while (c = *rp++) { if (tax); compile(c); gp = globuf; while ((c = getchar()) != '\n') { if (c==EOF) err("EOF"); if (c=='\\') { c = getcharc==patn[6]) { /* '&' */ sp = place(sp, loc1, loc2); continue; } else if (c<0 && (c =& 0177) >='1' && c < NBRA+'1') { (); if (c!='\n') *gp++ = '\\'; } *gp++ = c; if (gp >= &globuf[GBSIZE-2]) err(big); } *gp++ = '\n'; *gp++ = 0; sp = place(sp, braslist[c-'1'], braelist[c-'1']); continue; } *sp++ = c&0177; if (sp >= &genbuf[LBSIZE]) err(big);  for (a1=zero; a1<=dol; a1++) { *a1 =& ~01; if (a1>=addr1 && a1<=addr2 && execute(0, a1)==k) *a1 =| 01; } for (a1=zero } lp = loc2; loc2 = sp + linebuf - genbuf; while (*sp++ = *lp++) if (sp >= &genbuf[LBSIZE]) err(big); lp = linebuf; s; a1<=dol; a1++) { if (*a1 & 01) { *a1 =& ~01; dot = a1; globp = globuf; commands(); a1 = zero; } } } substp = genbuf; while (*lp++ = *sp++); } place(asp, al1, al2) { register char *sp, *l1, *l2; sp = asp; l1 = al1; l2 = al2; witute(inglob) { register gsubf, *a1, nl; int getsub(); gsubf = compsub(); for (a1 = addr1; a1 <= addr2; a1++) { if (execuhile (l1 < l2) { *sp++ = *l1++; if (sp >= &genbuf[LBSIZE]) err(big); } return(sp); } move(cflag) { register int *adt,te(0, a1)==0) continue; inglob =| 01; dosub(); if (gsubf) { while (*loc2) { if (execute(1)==0) break; d *ad1, *ad2; int getcopy(); setdot(); nonzero(); if ((adt = address())==0) err("no line to move to"); newline(); changeosub(); } } *a1 = putline(); nl = append(getsub, a1); a1 =+ nl; addr2 =+ nl; } if (inglob==0) err("not found");d++; ad1 = addr1; ad2 = addr2; if (cflag) { ad1 = dol; append(getcopy, ad1++, 0); ad2 = dol; } ad2++; if (adt= ad2) { dot = adt++; reverse(ad1, ad2); reverse(ad2, adt); reverse(ad1, adt); } else err("move to line in mOF); break; } if (c==seof) break; *p++ = c; if (p >= &rhsbuf[LBSIZE/2]) err(big); } *p++ = 0; if ((peekc = getchove range"); } reverse(aa1, aa2) { register int *a1, *a2, t; a1 = aa1; a2 = aa2; for (;;) { t = *--a2; if (a2 <= a1)  OL; continue; case 4: /* '[' */ *ep++ = CCL; *ep++ = 0; cclcnt = 1; if ((c=getchar()) == patn[0]) { /* '^' */+ == *lp++) continue; return(0); case CDOT: if (*lp++) continue; return(0); case CDOL: if (*lp==0) continue c = getchar(); ep[-2] = NCCL; } do { if (c=='\n') cerr("no ]"); if(c == patn[7] && ep[-1]) { c ; return(0); case CEOF: loc2 = lp; return(1); case CCL: if (cclass(ep, *lp++, 1)) { ep =+ *ep; continue; } = ep[-1]; getchar(); while(ep<&expbuf[ESIZE] && lastc>c) { *ep++ = ++c; cclcnt++; } } else {  return(0); case NCCL: if (cclass(ep, *lp++, 0)) { ep =+ *ep; continue; } return(0); case CBRA: braslist[*ep++ return; *a2 = *a1; *a1++ = t; } } getcopy() { if (addr1 > addr2) return(EOF); getline(*addr1++); return(0); } comp *ep++ = c; cclcnt++; } if (ep >= &expbuf[ESIZE]) cerr(big); } while ((c=getchar()) != patn[5]); /* ']' */ile(aeof) { register eof, c; register char *ep; char *lastep; char bracket[NBRA], *bracketp; int nbra; int cclcnt; int ic lastep[1] = cclcnt; continue; defchar: default: if (c == '\n') { delim(ep,0); return; } *ep++ = CCH; ep = expbuf; eof = aeof; bracketp = bracket; nbra = 0; if ((c = getchar()) == eof) { if (*ep==0) err("empty"); reR; *ep++ = c; } } } delim(ep, value) char *ep; { register ok; /* if(inf) cerr(delimiter); putst("delimiter: ok? "); oturn; } if (!(circfl=(c==patn[0]))) peekc = c; for (;;) { if (ep >= &expbuf[ESIZE]) cerr(big); c = getchar(); if (c=k = (getchar() == 'y'); while(!eoln(lastc)) getchar(); if(ok) *ep = value; else */ cerr(delimiter); } execute(gf, addr) int =eof) { *ep++ = CEOF; return; } if (c != patn[3]) /* '*' */ lastep = ep; for(ic=1; ic<10 && c != patn[ic]; ic++);*addr; { register char *p1, *p2, c; if (gf) { if (circfl) return(0); p1 = linebuf; p2 = genbuf; while (*p1++ = *p2 if (c == '\\') { if((c=getchar()) == '(') goto lbra; if(c == ')') goto rbra; goto defchar; } switch (ic) { cas++); locs = p1 = loc2; } else { if (addr==zero) return(0); p1 = getline(*addr); locs = 0; } p2 = expbuf; if (circe 8: lbra: if (nbra >= NBRA) cerr("too many \('s"); *bracketp++ = nbra; *ep++ = CBRA; *ep++ = nbra++; contifl) { loc1 = p1; return(advance(p1, p2)); } /* fast check for first character */ if (*p2==CCHR) { c = p2[1]; do { nue; case 9: rbra: if (bracketp <= bracket) cerr("too many \)'s"); *ep++ = CKET; *ep++ = *--bracketp; continif (*p1!=c) continue; if (advance(p1, p2)) { loc1 = p1; return(1); } } while (*p1++); return(0); } /* reue; case 2: /* '.' */ *ep++ = CDOT; continue; case 3: /* '*' */ if (*lastep==CBRA || *lastep==CKET) err("* gular algorithm */ do { if (advance(p1, p2)) { loc1 = p1; return(1); } } while (*p1++); return(0); } advance(alp, error"); *lastep =| STAR; continue; case 1: /* '$' */ if ((peekc=getchar()) != eof) goto defchar; *ep++ = CDaep) { register char *lp, *ep, *curlp; char *nextep; lp = alp; ep = aep; for (;;) switch (*ep++) { case CCHR: if (*ep+  *as; { register char *sp; sp = as; while(*sp++); write(1, as, sp-as); } puts(as) { register char *sp; sp = as; col òG7PŽ7 €~7ð‡7R–7ú�’7ô–w7îÄz7è ÷5Rþü7ÖþÀP�ÐP�кóÀRõÐ`0 Èþ  È‹þÐ ùà`ÿ— ÿÿÿ7 Žþ= 0; while (*sp) putchar(*sp++); putchar('\n'); } char line[70]; char *linp line; putchar(ac) { register char *lp; regisÃÀàôÁÀô ÑÂsE—túÿÂEü�ÑÂe€ îôùƒà€ÿÀðôÁÐô �ÑÂe€ þôùƒÆt÷5Žó÷5ˆó÷F¢· ¨ýÀn—Á¼ Áenwf  W ¼ û‚ W 4Eü‡ter c; lp = linp; c = ac; if (listf) { col++; if (col >= 72) { col = 0; *lp++ = '\\'; *lp++ = '\n'; } if (cæ€ÿŸ þô­w—túÿÂEüÂmÚò·ðò÷nò÷jòÆÄÀÀ  ý‡÷0Òý÷ L"æð& ÷ÂýðB÷ âB÷2ýÜB÷.ýØB÷*ýÔB÷ý7 Â@÷ýθBüô=='\t') { c = '>'; goto esc; } if (c=='\b') { c = '<'; esc: *lp++ = '-'; *lp++ = '\b'; *lp++ = c; got-6>6>”vÀ 6>6>Þ~Ê 2x¤xzyÔ þ�p�F‘Þ 6>6>º”è ðsvt”t®t.u6>6>ôwx(>2x¤x°{æ{V|þ�p�|“²“"”6>6>Nuäu(>(>(>(>(>(>î| }}D}Ê~(>(>(>(>(>Ú‚o out; } if (c<' ' && c!= '\n') { *lp++ = '\\'; *lp++ = (c>>3)+'0'; *lp++ = (c&07)+'0'; col =+ 2; goto out; ƒƒ„ˆ(>(>(>(>(>(>(>(>(>(>ÚŒ^�(>œŽ�6>6>Ì–ø–(>(>(>(>(>(>(>(>(>(>(>(>(>(>(>(> ˆˆ ‰ ÿ /etc/initU of M SICL Unix  } } *lp++ = c; out: if(c == '\n' || lp >= &line[64]) { linp = line; write(1, line, lp-line); return; } linp = lp; } mem = %l no clockiinitno spacebad blockOut of inodesbad countno fsno imtInode table overflow panic: %s %s on dev %] = lp; continue; case CKET: braelist[*ep++] = lp; continue; case CDOT|STAR: curlp = lp; while (*lp++); goto sta /* * Get process ID routine if system call is unavailable. getpid() { register f; int b[1]; f = open("/dev/kmem", 0); if(r; case CCHR|STAR: curlp = lp; while (*lp++ == *ep); ep++; goto star; case CCL|STAR: case NCCL|STAR: curlp = lp; f < 0) return(-1); seek(f, 0140074, 0); read(f, b, 2); seek(f, b[0]+8, 0); read(f, b, 2); close(f); return(b[0]); } */  while (cclass(ep, *lp++, ep[-1]==(CCL|STAR))); ep =+ *ep; goto star; star: do { lp--; if (lp==locs) break;  if (advance(lp, ep)) return(1); } while (lp > curlp); return(0); default: err("?"); } } cclass(aset, ac, af) { register char *set, c; register n; set = aset; if ((c = ac) == 0) return(0); n = *set++; while (--n) if (*set++ == c)  return(af); return(!af); } eoln(c) { return( c=='\n' || c==';' || c==EOF ); } putd() { register r; extern ldivr; counnw¼ x;48à8á8â8ã8ä8å8æw@wúà€æ€ìÀìÀò€8çø þ t[1] = ldiv(count[0], count[1], 10); count[0] = 0; r = ldivr; if (count[1]) putd(); putchar(r + '0'); } putst(as) char      8ç8è8é à�æ�à‚æ‚àƒæƒ7$út7Èt7 no file out of swapUNIX halted. Þ[È[î[Þ[È[unlink -- igetblkdevdevtab|#`{}n"&‰ æ>Ýžæ^"÷Ú"X"&‰�·P"·&݇·F"·ÝÖ Àÿÿ‡÷ 4P ‘ƒ~÷ (P�‘ƒ~ ÷ &‘ ƒ~÷ &‘�ƒ~·"‚ ‡€¦æú!&€� @~ABCDEFGHIJKLMNOPQRSTUVWXYZ4r6r¸qÀqrPr^r({)}!|^~'`` (@H`h†| |®|º|‚ ‚ ÷B#ä!‡·Þ!‚Àÿÿ‡æ¬Ü˜·¤Ü‡ž�€�P˜IŸ�€Ÿ�·‚ÑÀÀ˜I˜‡™‡œ‡�‡ž‡ž‡æ\Ü·øÐ·ôÐ÷ÀJÜÔ|è|Offline or needs ringHard error����‚…†���������€€€€€€€€€€€€€€€€€€€€€€€€€€€€€¦ Á  P�‘�ƒ~‚·2܇æ,Ü·ÈÐ÷À Ü Á & ��C~·܇€°mH ‡€�€í�í€  ÿÿW þ ‚Àþ‡W ‡Á@‡€€€€€€€€€€€€€€€€€€�€Òô €Òô€¸î Floppy not readyReset timeoutFlopp �6r‡ �6r@‡�@A6v@‡@…&æ¦È ADCBF…‡þw Þÿ7 ®èÄæÝÄe߀ÿß Î#· �èææò ß ¾L–%„  ÿy timeout#.6ƒ„ƒ¾ƒ„:„ú…ú…†„À„ú…ú„4…r…²…ò…D†ú…ú…ú…ú…„†Ê†*ˆ>ˆPˆbˆtˆ–ˆ¤ˆ²ˆÐˆÞˆìˆ‰(‰6‰D‰R‰z‰:ˆ:ˆ:ˆ:ˆ:ˆ:ˆŠ‰š‰ª‰¸‰:ˆÖ‰ò‰ŠŠ Š ß Î!À ë÷%F¬Ý À Wt p€ðÀ 0 ‚ðÄeÄ%>ðÎ^ß Ô0Á:èWpWtüÿNæpß Ô0Ö Îæèß ä4Ö 7èÎ&Þæ$Þæº ß ¾L–%À>Ý*ŠJŠTŠ^ŠhŠrŠ|Š†ŠœŠ²ŠºŠÂŠØŠîŠöŠ$‹4‹–‹Ô‹^�t�D�N�„���œ�ò�¤�Statos already in use Statos not ready err on Statos st%o `®ÿߎÿ÷fÿîçÎêçß J"À%ÿÿ÷`õÚçÎÖçß J"À%ÿÿÎzß Ú1÷þÜÒç÷Îç÷•¸ç÷Õ³ç÷6 ²šÿM ç÷ I÷ šD÷ ’ÎæœÝß "-Ö 7ÔæÿÅÎæ`` ``R”l”z”†” ”´”Offline or needs ringHard error`À¯`À^`(`(`(M`(<@€@€Ð@€šÎæ„Ýß "-Ö 7€šÿÅzš÷ ¦À Îß °: & æ& ß x&ÆeÎ& æHß #–%÷ (wbþw RþÀ,šÄŠÀÃÀÿ÷%(NÜÄåÃå€`#@€d@€.@€ø`(çß`Ö þk þà"æ*%˜æòßfF�¦ÎEàÿ÷50àߨ ž÷‹”é˜÷ ÷  fghijklmopqrstuvwxyz{|}~€�‚ƒ„…†‡ˆ‰Š‹Œ�Ž��‘’“”•–—˜™š›œ�žŸ ¡¢£¤¥¦öÖ †�÷U0¼ßØ –%�Ö €‡¦‚€€ì¡ 2pvòÿ� ÁEr †�bæ¨$÷Š ¢$I�Ž ‰�2 ·’$‚‡÷ ’$7 Œ$æZß÷ÀTßÁÊÞÁ5§¨©ª«¬­®¯°l/%l errbn%l er%o %o swap errorno procsout of swap spaceswap errorout of textout of swap spaceþ÷øùúýjBü@ü@ü@ü@ü@ü@÷U0DßÁ ÷ ˜7´Þ·6ß ÿÿ÷xX$‡�æ ߦ�B€”ÀEÿ±Ñ   Â5 ‰øÿÉe ÂEʪ跦肷àÞ‡1 Àÿÿ‚·ÐÞ‡€ü@0AXAvA|Aü@‚AˆAü@|B„Bka6 = %o aps = %o trap type %o trap^D^D^D^D^D^DnD^D^D^DðFG(GBGbG€GÒGäGcoreÖBBUnWZYjYZ�æÂÞ¦æ�B Ârè·lè ± Â5 ÃZè÷Tèòøÿ �±‰ ƒ‚·zÞ‡Àƒ‚·nÞ‡€Á�Ž#÷ Á�‡#÷ Á�µâÁ `Éx# *[RV8Z\¨aèQ(b¢`¢\~b¶bÎWª]N[^a°^º_â` aº`öEÈBˆ]ÈBÖBüm´mÈB|aê\pa.c‡fŽ Ž Ž ÁEøÿAœXÁ `‰å‡�ÁE÷ „�ÁE÷ Œv ÀÀEÿ‡�ÁE÷ \&v ¶�Ž�€÷ Š ‡�ÁE÷ H&v ”`ÈBÈBˆ^¾OœcÀcÈB$aFaäbÈBÈBÈBÈBÈBÈBÈBÈBÈBÈBÈBÈBÈB¬XÈB ` J¼J²J `öJ"K.K¶�Ž�€÷ v ‡�÷ ‡�÷ ‡æœÝžæ¼"÷Ú"¶"I €.æ†Ýžæ¦"÷Ú" "I�€#�€÷ ‡�€÷ ‡æTÝžæt"÷Ú" ÎÃ%d‡Â%d †Næ«ß ü1Ö 4 4 Î ÄeÄ%& Ú‚Îµß Ú1wø÷w è÷÷ ¸àQ· ²àà ó *Àô‹š#ô‹™ ô‹˜ô‹›Îæß ˜hÃ% ÿú‡Àþ™íĪÀàÿ÷%(Ü ÄåÃå#Ë5³à Ã%€ÿ÷‡wòýw âýõ ÷%(èÛNß (À%Nß (&f÷ pÖ €eÀ%Ö 4ŠšôÈßœôÄߞΦ&ß >>–%Žß jgÃeÃ%& ΂Ä̵ ÌÕΈ &ß ¤.Ö ß ÈQÄe Ä%’í‚7 àÎÿÿß ÂkwH÷w 8÷æ ÌÕΦÿ&÷• }™Àÿÿ_(Nß (&f÷ FÖ &f÷ :Ö €e€eÀ%ä@@m@mÀeÀ-.æÙ ÃjÀŠÀÒÄe€õå€õ%€ôõ  @tß 6Ö µõ Ä5-(5-$̵ä̵ 2!åÂeÂ%& ø‚Î¼ß Ú1´ŠÌÕÎÃß Ô0÷•™’ wÆö ô‹Äe ÀeÿÀUõ   Ã%zÀû‚ÄÒÄe€õå€õ%€ôõ @tÀeÿÀUDm  Ã%zÀû‚õ   Ã%ŠÀû‚DmÄåÄ%’É‚„éttÌ•´ŠôÿÿÎfÎeß 4$Ö fß nfÖ Ê5Žß þgß N.ÉÎfÎeß @$Ö t€l5øÿÃeS€õå€â#õ%€ôõ  À€@ítÀU"Àe€ÿ#õ ÃjÀÂzÀÒÃ%zÀü‚ÊÀšÀÒÃ%šÀü‚÷ ôý wPüw @ü@Àetùÿw<üw ,üæøÿõeøÿÀeÀ ö‡Žß þgŸw öDô£ÌÕô‹ ß R/4 &ß Ú+Ö Îˆ &ß ¤.Ö ß ÈQ Š4 ôŠß ÈQwÆõw ¶õÆåBʵæÛÀ�Ûtø t–%ÎæðÚß nfÖ Îÿÿß ˜h÷‹Ñ—Î„ß Ú1Î&æß >>–%Îß þg7~ä÷°Úvä4Š˜4Š™4Š›7œàã7žÜãw¸ûw LŽß ,ð‹›E€Àe5öÿÎföÿß 4$Ö ¦ß nfÖ 5øÿÎföÿß @$Ö tAøÿ@lƒÃeÔ€ÀeÀ ú‡ÊµÔ`ÝÔ^ÝÄeʵ¨ûæ Nß ,Φÿ¦Îe˜ß 6Ö ò‹˜õò Iò €À €`5øÿ?Nføÿ¦ß H*–%À éò !²Š˜Nøÿfß nfÖ òÎd¦ÎeTõeTNøÿß jgwõw õÆåDô5 pÀe5[ý Uô5HN&ß nfÖ ÂÂe5Ê 1Àe@-%Ž&ß nfæß >>–%ß þg2Š˜ŽÎe˜ß ’6Nøÿfß ˜hÖ ß jò•šwøú2 NæŠß ü1Ö ÷•­– ðw ÌúNß ,ô•šÎ¦ÿ&Îe˜ß 6Ö Ö 5øÿÀe5öÿ ý öÿNöÿ&ß Ž)Ö õåöÿ@øÿp-öÿí†ß þgŽ&ß Ž)Ö ÂåÂ,ȃÎß þgN&ß Ž)Ö = õåÀe@-Ÿ†ô‹˜õNf&ß H*–%À ;ô ô4 ô%d#´Š˜Nfß ˜hÖ ÂÎd¦&Îeß >>–%4 Îß jg4Š˜Îe˜ß ’6À ´ ôE4Š 4 ÌÕw ôw ôÀ�ß ~* wôÌÕ@ÀU€4ô•ô�º� ô�µ� ß �0èw Êó@7º�ÄZÀÃHÀÔ”Ã%VÀü‚÷Œ�apô•šw"úw úDCÀeÀ ‡- ‚Næ“ß ü1Ö Àwðù üw ÜùÆåNß ,Φÿ&Îe™ß 6Ö ô‹™õ*ô ÎÎÀ ÷•|�÷XÀ~�Τ�ß Š3Μ�ß N.w–ów †óCÃe 1Žß ˆ1@µ ’Â%%óBŸµ Â%dÂ%lÂ%o Â%oÎÎ æß J1Ö Â%sÄa5ÐòÿNòÿfß "-Ö  ƒÃe €ÀeÀ ú‡ô•š€wxùò íŽß N.ô ÎÓ´Š™5 òÿ5 øÿKNøÿÎefß nfÖ Â5 öÿµ òÿ@Žß ˆ1•ûÃeÒw ów óNfß 4$Ö N&ß J1Ö Nfß @$Ö Îe0ß ˆ1wâòw ÒòDß xÿ ß5€tÿüÄ Ãtÿ tÿvÿÄ% öÿÀ €`È %5 ôÿ@ôÿtp-@ôÿtp-òÿµ ôÿõ%dôÿêÎÀ ´ ÎapòÿÐô%dÎõeöÿõ%öÿÌÎß þgô%dε øÿ5#øÿ²4Š™Î ß ˆ1Îß ˆ1Îß ˆ1 ß ˆ1ßtÿw�òw €òw2ï÷ ŠúNæÚß Ô0Ö ÷ Tñýw ^ò@�@�&fæåß Ô0ÆewJòw :òD æöß ü1Îe™ß ’6ô ΞNæ�ß ü1Ö ÷•a”_Î*w €øNß ,ô‹™ô%dÎ ÎÀ ´ ÎapÐô•šwXøw HøÄ ô L- I÷ ÚëÄ6 �ÀEøÿÀ%Ì¥.Ì¥+ÄeÄ%‚î‚Â%¥ÂÿÿÄ6 �ÀEøÿÀ%̥̥�€ 5øÿ�ÄeÄ%‚æ‚Â%„Døÿ÷ Rë4æw $æw,æw æDCB‚~wæw æDõ 5Àetýÿæº ß zLÖ Îß Ú1ß ’@ôÕ f&æß kÆeÀ ôà æ&ß V>–%_F7@øÿô‹ Î&æ&ß kÆeÀ +ôm´Š DøÿÎ&æ&ß kÆeÀ Àetýÿ&æº ß Î.ß Ú1õ  fæò ß ¾L–%ôôÅ4Š÷‹DÎ7Š>ÎÎ* ß ’6wråw båÀ<�$0 ß ’@ôŠô‹ó54 ÀeÖ Nf&æúß Ô0Æewòw òÆåB÷ Þ�_†3ÊÕ€ÀEÿŸÀ% ¦�œWp ù ¢Ö _†3Î÷ÿæBÀß N$Ö 5ôÿ5öÿÀš�ÀEþ5òÿξL–%ôôÓ4Š_F7Îß Ú1w–ëw †ë÷ T ÷6 L ÎÀß \#ÎTÔß r#7ŠÄÐÂ4 7 0 ÀÄ2ÂeÂ%‚‚Â6 Ê¥ ò³€œÀ · ƒœŠ�æNíòÿß ä4Ö €ÀEÿŸÀ%`#Îl�æf�¦ €œ &ÎEÿß þ#ÆeHæß ä4Ö Nöÿ¦ß p;Ö 5ôÿ9„„@ôÿ€ 7 Ú€€ @-öÿ ÷ ø ·ò ÷ êØÂè ÷�àÓŽß r#÷ °ìòµòÅÎÞÀß j#Àwôêw äêÆå5 ôÿ7 žÓ· šÓûÄ6 Ì‹õ ôÿ5ôÿô-‚Ó ðÄeÄ%‚ð‚DÎüÙfôÿ&ß °f–%Nôÿ&ß nfÖ 5øÿröÿÎæfòÿføÿß þ4ÆeNøÿß þg÷‹¹Œ÷ ¼Œ…wàðw ÐðÆåBÊÕ€ÀEÿŸÀ% ¦�œWp ôÿÎß Ú1Ãx†õòÿÌ•ô“ôœôôœôô:Ó ô 4ŠÃªÀÄ´ŠÃ%ÈÀù‚@òÿ´Š´Š À&†°ŠÎÀß \#Dôÿ7†ù ¤Ö _Æ4÷ ~Œ_Æ4Î÷ÿæBÀß N$Ö ÀhŒÀEþ5ôÿÎXŒæNíôÿß ä4Ö 5öÿ€ÀEÿŸÀ%` Î¦ß p;Ö X„„õ%öÿÎ&ß ˜hÎCòÿÂõøÿ´Žæò ß zLÖ 5öÿË•tøÿÎÞÀß \# & &ß V>–%ôÕË•÷¸… wàétöÿ€ À ôNöÿµ öÿføÿµ øÿß ž#Ö ðw ªé&ß nfÖ 5øÿ föÿfôÿføÿß þ4Æe÷‹Ý‹Nøÿß þg ÷5ÿØ‹Nøÿß ègNøÿß ²gÎÀ‹æº‹¦ €œ &ÎEÿß þ#ÆeÀ ò5 ò�”‹ ò�‹ÆåÄ€…5öÿtu-öÿ ÎNmföÿNíæò ß ¾L–%?ÎÀß \#Næò ß zLÖ ÎÞÀß \#Nöÿæ&ß V>–%ôÕ÷ ªý´5 øÿ  ÊÕ÷‹y‹÷ |‹�w ïw �ïu-†@wŒï@ûw vïu-ƒ@wrï@ûw \ïC@Dm×% À1×% ÀŽ‚ æNmøÿß ž#Ö µ øÿu-öÿøÿòÎföÿæò ß ¾L–%ß r#÷ œêwúèw êèÆå@5öÿõ5€÷•§„S@ð5/õ5øÿLNöÿß ²(CÀ=‹à õ ÷ ”/”�•ß Ž=À 'à ÷‹ÒŠ?À]ÒŠÀ59Ã%6õ ÎÎE&æ´Šß ö"ÎÎE椊&ß #–%÷•j‹ŠwºîÀÀE5 ôÿ@ôÿÀ @m@ôÿÀ @m0 µ ôÿõ%ôÿì@0ß ²g@ðU@tøÿ5ôÿõ5øõôÿ@ôÿÀ @mBýÕNöÿß ²(7`„ŠÎÎEæBÀß ð#Ö ÀÀE7àlŠÀÀE`ÀÀEàõ Àà À Ý÷ èÙ”�öÀà À Ó•ß Ž=À öÌw FîÃþÿÄŠõ %÷  À ÷ dít0 w,è@À @mNöÿß ²(ß ²g@À @m°ýÕ7 ¸Ðõ%@À @m7 Ð€Ñ@ôÿÀ @m0Žföÿß nfÌ•t�÷ @í÷‹ÞÖ7ŠØÖÎ( ß ’6÷ x÷ à À ÎÚÀß j#wúí÷ "ítÌ•t�÷ þì÷ Hßþÿíw ÈíCÄ6 Â2ô ß ¸6Äe‰~Ö õ%ôÿ4@tøÿÀEÿÀeùÿ5ôÿÀ À`Nöÿß ²(5øÿß þg¡@ôÿÀ À`AøÿHß ²g ß þgŽföÿß nfÖ 5øÿDøÿ@ÀEÿw²íw ¢íD4 Ì•ô­`Ö·ŠèÒ÷‹RÖ ô³7ŠFÖÎ* ß ’6wzíw jíD�ÃEÿ×tüÿ�Àed`Ã%ÃÀ�ÖÀ ·Š˜Òô�w>íw .íæ 5ôÿÀ À`Nöÿß ²(5øÿ@ôÿÀ À`ˆNøÿß ²gß ²gß þg7 ¾Ïõ%ÿôÿ‹@ôÿÀ À`7¨Ïƒw Ìæ÷‹ ‚� ‚÷ ž‚· ž‚· –‚· Ž‚÷ Œ‚·ŠðÕΜÿæ( ß 6Ö ÷ LìÂÿÿÄ6 Ì¥ ô³�€ 5øÿ�ÄeÄ%‚í‚Â%ÿÿ·Š¨ÕΜÿæ* Ú÷ öëDøÿô‹ mÎæò ß zLÖ Àÿÿw¬æ@�æv‚ß "Ö À æ÷•j_‚î îw |æ÷ Z‚ÀÿÿÄŸL‚÷ J‚· J‚· B‚· :‚ÀEÿw\æ÷‹$‚íÎ&‚ß Ü!é÷•j‚àw 2æ÷•‚w ß ¸6w*áw áÃô|Äœ óµ ÷ ÄœÄ  wþàÀ ð5âÀ÷ôw ààß ’6Ë•÷ Fõóµ÷ À Ú|ó% Ä6 ô, ô øŒàÃeó û óó óÃå!ôƒŒtt_øÿþÿwnÚw ^ÚC Ã%ÀÀ ªÀwNÚ÷• v ùw 4ÚD̵åÄeÄ%‚÷‚÷ –w¢àw ’àÂl|„œ2ŠÀ âÀ57ŠQ|Ä%Ä%À 0 âÀÀ}úÿÄeüÿß HEÀ}&Îeß ˜"Ö Àò|&ß ˜"Ö Àâ|óE€ÎÎeß ’6ÎÎeß ’6ô£ “ÎEýÿ&ß rJÖ ôŠwøÙw èÙD�ô£ÀEÿŸÁØ7D» þyfæ�Wp ù  –%0úÿÀÚ|ðEÀÐ|ðÀå ‚À x®7f|÷ À Äe€À¤|tQ7L|÷ Úwæßw Öß7Š«{÷ÒÄ{Îæ†Oß VMÖ  ÷‹�{I릧 J0ß N.w®Ùfæ€tø vñw ŒÙD�ÀEÿŸÁä7úº þyÂ-šÔfæ�Wp ù žfæ€tø t–%Â-lÔó÷• uw8Ùw C΀æß 2KÖ À 5ó5`1÷­h{d{-Îß R/7 b{7 `{÷ÀT{÷P{÷•@{Îß Š3À<{Äeðÿ & && ß x&Æe7 "{t7{7Š {Îß Š3Îß (ÙDCÃ%€ß ,ð‹›÷•ßt%÷•×t!̵ ù÷‹Ìt Ã%@ô5I 7­ ²t×týÿ7­ §t×týÿô0ï÷• “tÀw¾Øw ®Ø æN.÷‹ýz w(ßÀûw ßÀ†{ t@-†Î@@ &ß 4$Ö Ãíb{Ãeà ÎX{æR{Î`æJ{æD{ß x&ÆeÀ  wÊÞÀ˜zÎ`ß °:ÀŠzšOß VMÖ   7­ ltú÷ À öß N. wˆØw xØ÷‹NtÀwvØ÷•=t ùw \Ø À ð ªÀ?uwRØ„ Ä%ò÷•tÀÿÿôw .Ø÷ Êÿtýÿ&æº ß ¾L–%ËÅ Îß N.wåw å÷ p�_Ž@ Ä‚à Äe Ä%ƒô õt-ô´ŠÀ®€0aÄÎ9ß Ú1ô•4Š tÂ�Á‚z@lÂ{Ä &Îàß ž#Ö Â Â öÂÄ ß Î#  ù÷`æzÀÓw dÞ÷ ÎzÀ8zðÕRÄ6 Ì¥ ô-®z Àz0- ÄeÄ%‚î‚Âe?—túÿÂEü´€Àetýÿæº ß zLÖ ÎEß Ú1ŽÎeß °: & ¦& ß x&Æe÷Æ€:€÷8€7 .€Nß R2à €óÕ ¦æÎe&ß k÷•ýy:÷ øÝÎÿÿæ8$ß 6Ö õ7 àÝ÷ºzàÝÀhzÀE7ÒÝ÷^zÊÝôÅ ß ¸6Îÿÿæ8$ß 6Ö ÷ ªÝöÿ¨Ý~z÷ žÝ÷•“y7 �ÝÎ8$ß ’6w¶ÝÆeóÅ3CËÕ ³ŠÎß °:ô‹ ÎÀß \#ÎÞÀß \# ææÆß V>–%À¼ðÕ÷ Jø´Š wØãw ÈãDô‹ ôŠ ô‹ &w ¦ÝÀ€yð-xÝ  w ÝÄlÝ7 hÝÎ8$ß ’6Àå ƒ_èGÀ xÂÎHÝß Î!À%ÿÿ_èGÎ6Ýß J"70ÝÚÎ(Ýß Ü!À%ÿÿeÎÝß T"ñÄÝ]Ä%Zæò ß ¾L–%w¨ãw ˜ã÷ „ß@ÀEÿÀ%ðõU@Àe 7.€@Àå ‚À xbÎnÁæ†ß Ô0Ö NÎeæ�ß Ô0Ö Næšß Ô0Ö Î¨ß Ú1Ä € À 7ÀþÜÁ æôÜß Š"Ö À KÎèÜæâÜß Š"Ö ± æÔÜß ˜"Ö À ;ÎÈÜæÂÜß ˜"ïø܃ à ÃeÀÃ%À‚Ã%6À ‚ „ Ä% "�XÀ ÀmhyÀ õÀæß CÖ ÷ üÀ ÷ |Îì~ß ð6wãNÎeþÿß J"À% ð÷ |èÄßÄÜÄÙÄÖ7Š«~õENÎeþÿß J"ÂEÀÿ—tÂeØÂ%Ø)N`yÀeÀ ÷UðzÜ÷EàtÜËpÜ_ÄFÀfxð�dÜÀ_ÆF÷ r ÷ÿÿLÜ_ÄFw hÜÿM4Å÷ –Ø÷ �Ä2Ã� ó ÃeË ùË õ5à#÷ jÛ÷ dÄÄ� ß J"õeÎß T"ÀE?À%‰Ä?ÂEÀÿ—tÂeØ „"ÃeÎß T"Á 1ÈÀ„ ó Nß J"Á 1ÈÀõe„ „"ò÷ ~,~Žß ªB÷‹Ì &ü Ö Äeô ôÃ�  3ÄeÃe3ô@ÀEÿÀ%ð · Žx÷ žx ÎÁfß P Ö · vx¢w²Šò‹òŠ· ÚÃ÷%<ÔÃê~÷•ù}÷¥dó}÷‹í}_@AõUÀ�Ý}5 _@AÄ _4AÎæÊ}ß CÖ _TAÄ_4ACΊ~ß ’!À Îß HEÀ _@AÄ _4Aw °á÷•l~_ŒIõ5àf÷å<À÷ À÷ ¸Ã÷ ¶Ú÷-¶Ã°Ã÷-¬Ã¦ÃÎŒ ß ’6÷5˜Ã·ŠÄÀΆ ß ’6Â6 Ê‹ò¥²Š€œÀEÿÀ% À �œàr�2ŠÎÚÀß \#ý 7Š\~w¢áw ’á÷•de}w”áw „áwŒáw |áÄ6 t-N&ß CÖ ÄeÄ%‚ñ‚wbáw Ráõ%Dô¥ t�Ì¥dÌ•dÌ¥ò¥dŽß ð6ÂeÂ%‚Û‚÷‹ÖÃ7ŠÐÃÎ( ß ’6@ÀEÿÀ%ð@Àe 7žw÷ ÄùÀ ÷ Dúδvß ð6wÚÚw ÊÚæ BõþÿøÿÄ� ÷ òÙŒ ãÄe ß 4$Ö &ß p;Ö &ß nfÖ 5öÿÎæXÀ@öÿ&À\qÀEþ`ß >>–%÷eJq÷ Bq÷ Vqõ øÿŸõ6qøÿ›ÂHÀÀZÀÀåHÀ€`ˆ¢’‚ Â%VÀõ‚õ öÿN„ ß ’6÷ F·w(Ïw ÏÀÌkt7vk÷ wÏw ÏÀÚjðÅÄâÀÔÄ% Áû‚ĪÀ Îß &JÄeÄ%ÈÀõ‚βjß N.÷ \éÎæº ß zLÖ Îúß öÿß þgõ%à ΀&ß 2KÖ À _¦Mw Õ5öÿß N.Îèpföÿß "-Ö _²M_¬Mw ÔÔÀŸÈpÀEÿ· ÀpwÐÔw ÀÔδp· °pß Ü!Ä%ÿÿ÷•Ú1Îæ†­ß ˜hÖ Î¦æÀß >>–%Žß jgÄ\j&æò ß ¾L–%ôÌ•Â6 ´, ÎL ß ’6Žß ’6Â6 ´, ò Ê¥Žß ¸6Âejpw¬Ôw œÔæ Îx³ß ~*#÷ Xü(õ:qøÿ÷ JüÀ,qð(qüÿøÿ qÊ•2Ë•3ô•Ì•ô€wPÔ3Š@øÿÀ 0 ªÀß N.ów *ÔÂ%‚î‚÷ ”âÂeÂ%‚Ú‚ô Ôw Î Â6 ÀÜi°, n„ Ê¥L¿  j„æÂ¬ß nfÖ ææº ß ¾L–% Š2 2 2Š2 2ŠÂ·lD(ô 4 3 ó5€óE€ÎÎeß ’6Îß ÈQ÷ Òoó¥óUÎØÿæÎeß 6Ö ÎØÿæß  QÖ ô, Î÷ šoÎß ÈQw¸Ó7 ZjŽæÁß ð#Ö Ž æÁß ð#Ö ·l4jŽæÁß ð#Ö Ž æÁß ð#Ö Àj°ÈüÿÎß þg1Ê¥òµ òÕ ¿ ôiÀði�œWtÁUpŒo7ˆoÎß îcô~oÎß ÈQßw ŠÓDÂ`oÎâÿæß  QÖ Â Îß ÈQ7 Fo Îß ÈQ÷• /oÎ æ,oß CÖ wPÓó¥íó% óU€Îß üÿòÅ0Žß ¸6ÂeÂ%‚‡‚Ä Î(æâhß 6Ö _XV÷• ÍhwüÌw ìÌÄÆhÃ6 Ë‹ ÃeÃ%‚ù‚÷• ©h÷ âáÀ ? xi7 pi7 ni7 bi7 `i7 ^i7 ÈQÎâÿæÎeß 6Ö Ì7 ön÷ ònÎÎíên¦ß ä4Ö 7ÚnÎæÒnß ä4Ö 7ÈnàÎß @eÎß ÈQó5©óEÎÎeß ’6 w ºÒDÌÕN&Ti ÿ XiÀÁPi1`wœÌw ŒÌæ ÃðhÃe?×túÿÃEü÷ ðhÎähß (tàà  ÂÂíÐhÀÎhÀe`ÎÆhæÀhæºhŽ`æ²hß x&ÆeÀ ·`¤h ß 6Ö ÌµõÌÕw¢Òw ’ÒDÌÅ̵ÌÅß ’6w‚Òw rÒÆå æšOß VMÖ  _>UÎÿÿæ„ ß 6Ö ÷%lºõ· fºÎÿÿß ˜h5òÿÎ@æß 2KÀhÄ`Äí”hõøÿÃŒh&Žàß ž#Ö „ Àà À õNøÿß °:wüËÎß °:ÀÄgÄ`ÃThÄ &Žàß ž#Ö Àà À õ€ À äÄ ß Î#÷w ®Ë÷ .óÖ À _Uó5`_U@òÿ5 öÿ5 ôÿ$µ öÿÀ%ÿÿ_U÷eZnNøÿµ øÿß Ü!Ä%ÿÿ_U‘µ ôÿõ%þôÿ÷•›m_UÄ æÎ"nß T"5øÿÕõ5À O÷ ÞÊÎæ( ß 6Ö ÷ b´ö· \´ÃbgÄL Ä ô Î &ß CÖ ÄeÄ%‚ð‚÷ „Êÿh÷ Þ ÄL Ì‹ “×  Á@0‚ ÄeÄ%‚ ÀÀ 0ªÀ´Š4 4 wØÄ!ô‹îÄeÄ%8$ø‚Îðß Ô0÷•¿sßw à×CK-‚ÄsmKíË Ãeóþÿóüÿøw¸×Ãeôÿе ôÿ÷ÈÀxm÷tm7 tm7 nm÷•\mÎß R27ŠRm÷‹Om_U5 ìÿ÷%ÐmN÷mÌmÌm7 ÆmÀÂmÀe?túÿÀEü5ðÿÀ°mÀm®mÀe?túÿÀEü5îÿNìÿË å øw œ×BDÌ Äe´ ù†D-†þÿmüÿ€ tmüÿ€@m-*4cüÿÌ &Äe4þÿ4üÿö€@m-Ì tíLmõ æfîÿfðÿß x&ÆeÀ _U7 Êm÷  ëÎß °:Îß R?DîÿÄe$ß °:$µ ìÿ÷ LmÂ˵ ¿ó£¼÷•¥l_U÷% ,mì÷%$mê÷•‹l_UÀˆl ´ÂLÄeõów×w ׯåÄärý Ã%/Ä¿&ß "-Ö ý Ã%/úà õ  ÷•™r÷•‘rß N. _\O÷‹aß Î#Ä Ä%õ & fîÿ& ß x&Æe7 blÀêlÀe7\l÷àlRlÎß R2wðÿØlwîÿÔl÷ÐlwìÿÌlÎÈlæÂlæ¼læ¶lß x&Æe@òÿ@ôÿ A�r÷à _ZOÀEÿŸÀ%@éÎ@&ß 2KÖ À äÂHÀ à ÷‹Kr Â%VÀƒÒ�ý Ã%/ðŠÂ%VÀü‚ý Ã%/ú÷‹rÃ7 r7 r÷•r5 øÿÎöÿÁ @àÀeüÿ5øÿÀÐlpøÿúÿNöÿføÿß ˜"Ö @ôÿ õeøÿføÿß ˜"Ö €’&„ ß "Ö Ò‹÷@öÿõ öÿÀ èÎÿÿføÿÎeß ˜"Ö À’kðµó5& ß 4$Ö 7üq5 öÿ÷ ôq$õ öÿNöÿß þgõ%šà ˜Î€&ß 2KÖ À —7ìqõ øÿ@øÿÀeðÿ7¶qŽÌÕ‹÷5ÿ¨qõ öÿNöÿß þgÎæ�q ÷‹zk÷œ rkðœ ó5÷œ _kÄÃâÀË5 ÃeÃ% Á÷‚ÂX€”À Àml Â%^ø‚À l0 ÃÀ Ã%6Àü‚Îß N.Nòÿß þg÷%T·Î w2Êw "ÊÎæšOß VMÖ ÷‹åeÎrfÎEòß J0 ÎÎæ&ß ~Z–%wìÉw ÜÉæ CBõ%Â5Îæß 2KÖ Â5΀æß üÿw°Ãw  Ã÷ ëÀ ÷L`¼«ÀF`7üÿ´«ÎŒ ß ’6wˆÃw xÃÄŸ,`7¡L_÷ îêÀ 7‘<_À<_0‘7‘2_w^Ãw NÃÿ�&_`Àü_ð�_wFÃw 6ÃÄŸê_7¡ _÷ 2KÖ ÀÀEÿŸÀ%@÷•ke÷‹ge'õ Îß R/Îß ÈQ÷ Dñ€ÀEüÿ �ôõføÿŽÎEýÿæß ÎJÖ ÷‹'e @øÿÀ 0 ªÀôŠÎß N.w@Éw 0ÉÎäeß ¬êÀ 7‘û^7‘ù^w$Ãw Ãÿ�í^Æ_ÀÂ_ð�á^w Ãw üÂÀÖ^? ª_wúÂw êÂ÷ úÊwîÂw ÞÂÄ’_Ä%ÄÄ ÷ LêÀ  Àœ^0‘wÂÂw ²ÂÎæšOüIÀØeÀ 0 ªÀß &JwÉw ÉÆåμeß üID̵÷•Éd=ÃVeÃ%ÀJet 5øÿÀ>etùÿ5öÿÃ%õEþöÿ õ$eøÿ5 öÿà õ øÿß VMÖ 3Îß ÈQÎ�^æß "-Ö Î ß Ú1ÀEÿŸÀ%@÷ òéÀ ÷åJ^÷XÀ>^÷:^7 N^Îß Š3ôŠÌÕÎß N.ß N.wBÂw 2 æšOß õÿÿöÿÀ ‚À x5möÿfÎeöÿß ð#Ö tøÿtöÿw|Èœ ÀEÿ5`öÿ åw RÈ æšOß VMÖ Aô¥÷• d6ÀEÿŸVMÖ ÀEÿŸÀ%@÷•ç]ß N.Î@&ß 2KÖ À ôÎÚ]ß N.7Ò]ß ÈQwìÁw ÜÁ÷ &éôEÿ÷‹¤]÷E.^À*^ÀEð4PÌÕß N.wÀ%@÷ ¤ïÀ +ÌÅ÷€d dÎæšOß VMÖ ÷•ÓcÎß N.÷‹ÉcÀôc0-ß N.÷•¯cß �0´ŠÌÕß N.wÈÇw ¸Ç÷ 8ïÀ Îæ´Áw ¤Á÷ $éÀ ÷ æè ô�ü] ô�÷] ÌÕß N.w†Áw vÁÄÜ]Ä%Ä% ÷•7]À ?âÀ ^À ð¶]âÀÀ"]œ!À]0Šw<Áw ,Áæ šOß VMÖ ÷•qc ÷‹kc Îøcß J0ôîcß N.w€Çw pÇÆå÷ ¤ÆõޝöÿõНøÿÎdfÎeöÿß ð#Ö Ît¯æn¯føÿföÿß þ#ÆeÀ ÷ TÆw5 øÿÂÚ]Ãü\Ä6 Ä  ´  ô,Ä%L †÷‹Ð\7­È\µ øÿÎN]&ß CÖ ÄeÄ%‚Ü‚õ øÿ÷•Ÿ\wÎÀw ¾ÀÄ Áæ]ß ˜"Ö ÷e4ÇÎP¯æJ¯æL¯æF¯ß þ#ÆeÀ Nøÿföÿæ0¯æ*¯ß þ#ÆeÀ wöÿ¯wøÿ¯ÎZæŒ ß 6Äw ÒÆÎ†cß üIÎ,c&ß Ô]Ö wÀÆw °Æ æšO]Ä%Áô‚wªÀw šÀÀ]ÀE7H]÷ö\D]÷ò\@]Àî\€ ÀE€74]w|Àw lÀÆåB÷ B\_>–%€2Š™2Š˜À,aÀEþÿ2�›Îß þgÌÕÀEÿŸÀ%` Î¦ß p;Ö O„„õ%öÿÎ&ß ˜hÎ&ß nfÖ 5øÿ föÿfôÿføÿß þ4Æe÷‹'ZNøÿß þgNøÿß ²gÎZæZ¦ €œ î‚ÿÚgÂ%ã7 ì³÷ (ÓÎß Ô0÷ "ËwËw ËÎß zYwËw ðÊÎß zYwðÊw àÊCÎ�gß üI>̰÷• Ÿf8÷*gžf÷&gšf7ŠŒf̵ Ã%ß ÈQ¦w  Äæ ÷ ®Ì÷ „5øÿ÷‹g`;à ó õ"øÿ ÃeÃ%& õ‚÷•E`*Äô 5-øÿ÷•+`Äe Ä%’ð‚& føÿ@�ùÿtø v–%ÄÌÅß 0P ß ÐP7xf7pfÃ%ß R2ß Š3ÎÜfÎíNf&Îeß ð#Ö ÀÈfÀí:f? gw\Êw LÊ æšOß VMÖ  · ¤f æžf&ß ~Z–%ß N.Ä3 ß þgwÄw Ä æšOß VMÖ ÀÀEÿŸÀ%`÷•Ã_ÄÀœÀ-¿÷•¯_Îß N.wÖÃw ÆÃÿxÿx`wÈÃw ¸ÃÿÞ«j`Àf`ðÖ« À ‡_ŠmÀ’TÀeÀE5øÿ÷ ˆT5 øÿ—túÿÂEüB-øÿ_ŠmÀÀmÐStúÿÀEüAøÿÁmTT@ ‚ÀÀíJT€ _Šm÷ þ¶ÌU@ÎÎÿ&ß 6Ö Ì5õ@ ŽÌ &ô5€"òµŽÎe ß Ö Ã%ÀœÀEÿÀP4 ÎÎE€ÿ¦æˆrß �I–%òÕw`±w P±Dôµô ß BoÀ ô  Îe&ÎEÿß þ#ÆeÀ ò5 ò�ðY òìY ÊÕ÷‹ÕY÷ ØYŠwü½w ì½Nfß ˜hÖ Ì5wܽÌUôÿ &@�tø xÖ ß ”iìw ª½ÀU t ÀÀEÀÿ4÷ TÀ°ÿÀ ÿ�WtùÿÁ @`�ÁE€ÿ@`Àt4`ÀtöÿÀEÀÿ4Î÷ÿæBÀß N$Ö 4À"S€ ÀE€ 4 4ŠÀ SðÕB N¦ß ^hÖ À N¦ß ˜hÖ Ì5 ÌUôÿ &@�tø xÖ õ 'N¦ß ^hÖ À ÷%þ ð¹N¦ß ˜hÖ Ë5Îß þg ËU&ý Ö ÷ R¶ÎÎÿ&ß 6Ö Ì5÷ÀàRðÅÌ5@ß ’6÷ ¶ÌEH À 7¾Rß ”m÷•j§RwÖ¶w ƶDÌ57��R÷•‡Rw¶¶óÿ æ@�tø xÖ Ä N¦ß nfÖ w ½ß ”iùw ð¼DÌEôÿ &� tø xÖ Ã5ß ”iß þgÃ5ß ”mw¸¼w w ¦¶ÆåCÃeôÿÎß 4n÷‹kRÄöRÎ&ß ˜"Ö ÎÄe&ß ˜"Ö ÎÄe&ß ˜"Ö wn¶w ^¶ÄÄRß T"7ºRÄeß T"7®RÄeß T"7¢R ß 4nw6¶¨¼D� tzÃ%Ô Ã%t@ß ègÌUß þgw‚¼w r¼DÌUß jgwl¼w \¼DÌ5@ß ’6÷5@æ¸÷E@Þ¸Îþ ß ’6Ì5ô•ÿÿ w &¶ÎÚRß üIÀÀEÿŸÀ% ÷•ÛQ fæÁœWp ù ¦–%wòµw âµD÷ µ ôÕ@Î&Îe ß 6Ö ô òß ðn÷ Ú´wºµw ªµÃ!Âþÿ÷ V»ÌEHÀ0ô ôþ Ÿþÿw ¼w ü»D@�tzƒ s-3! Àw޻à ò øw »@�À-î¶Î0ß Ú1Ãþ Äv@ÃeÃEËöš÷òšÃeÃ%ŽC÷† ž„ Âe Ê û7¨°wzµw jµDÎeß Ö À ùÎe ß Ö À ùß ’6Îe ß ’6Ãþÿ÷ f´ß Ö À ÷ Þº÷%þ F¸<÷U@8¸ÎÎÿæþ ß 6Ö ÷ ®ºõ é@�tzÎ7ß Ú1ÄÄ Üt-t- ÷ †ºÌ5ÌU@ÎÎÿ&Ö÷ `ºß Âiw8»û4Šßþÿw(µw µæ C÷ B´ óµ w µÎ æß 6Ö ó‹ð÷ ´Äô 6Ž•&ß 0!Ö @ó5 'ô¥\ÿÿÀœ€ Ä%ô †Ä Àœ€ áà÷ JºÄÄ·ß ÂiÌ5ÌUß jgÀ̈00ôôÀ03t tÌw ƺD÷ ö¹ÎÎÿ&ß 6Ö Ì5÷Â%ò‹>€œ>€ ó5ô¥\þÿ‚œ>Ä ”�Ä%ò ƒÎß Ö Â%ÿÉóŠ5øÿÄô ÂÂeD-øÿ¶‚À£w D´BC„ÃE€ÿÃ% Ä5÷ ιß ”mw¨ºw ˜ºDÃþÿ÷ Ĺ00ÌUßþÿwxºw hºDÌUÌ5ß þgÌE@ß ’6wPºw @º@à Â~w8ºw à Ä5 Ã%Ã%Ã%ÎÎ¦ß ÞBÖ Žß ðn>Ê%ùÄ5Ã%AÃ%ZÃe Žæß 0!Ö Ä5 Ã% Ã% Žß ’6Žæÿß 0!(ºæ Àþ 7ƶ7À¶7º¶7´¶ �WpDÄe–ôÿÿ �WpÁe@$tôþ ôˆ¶À‚¶07z¶Ìß þg‚ Â%Û õtøÿ @øÿóóÖ À ²ŠÄ5Žæß ìpÖ €œÀ Žæ ß ìpÖ Žß  rw~³w n³æ CDÄE€ÿÄ%ó5 _LrÄ% ó5 Îæ ß ìpÖ óµö_‚ õeøÿý øÿð·Ì´w ¹w �¹DCLää @ tÁÁEüÿWt@PÂUAË5ÂUÂU¤wV¹w F¹Ä\@÷ v¸ÌU@Μÿ&ß 6Ö Ì5Lró5ÂÌÒ‹ €”!ûÎæ\ß ìpÖ „œþÿÄ%aÄ%zÄeàÿÄ% ó5Îæ ß ìpÖ ÎÎe &ß 0!Ö À ZÂÂe�5øÿ ÀEÀÿ B‚À õ@ ÀU ôü— @t 4 t@t4@töÿÀEÀÿ4&ÀÄ—tøÿtø xÖ ÷ ¸Î›ÿ&ß 6Ö Ì5÷Ì5@ß ’6÷ Ò·x¾Ê‹=ÊŠ;ÀtøÿÀEüÿ5øÿÀ%ʋ΀’tüÿ&Îeß Ê4Ö õ%øÿÄ ŠÀtöÿÀEüÿ5øÿÀ% À�’ÁUøÿ@àÄ% ÊÕÌEHÀEûÿw¨¸w ˜¸õ%ÿÿ5- ÌUß Âiß jg÷ ª·ÄµÌ5èÄ%þ ø÷ €·w`¸w P¸æ DÃ&TÃ5_Šm÷5T_ŠmÀÀm TŠŠÄ ÎÎe &ÎU€ß 0!Ö w²ó5@ïÄìÀtôÿÀEüÿ5øÿÀ%ÄÃõ%øÿ¿Ä ¼w Ò±DôÅß  rwʱw º±B„òµ ÿ&ß 2–%ßÿß5€ÿü·Šñ‘÷¥ ë‘ ÌU7Šá‘7à‘ß òi÷ zÿwv¬w f¬ÎfæDæ”vß lÆewV¬w F¬ fæDæ”vß lÆew8¬w õÀ8Æ@ ÀEþÿtWt@PÁ"ÆWt@P õÀÆtÁ ÆÁ @PP õ õßUA õwê¥w Ú¥÷‹ÆÅÄÆÅ7мÅß õ Î õæõ&ß 2–%ÌUôõ7Š(¬D�Ä%÷•ñG,ô‹FD&´ŠFDÀ 0 HDÀ ðÿÿJD4ŠÚÀ ðtŽØÃPõÃ5@õ Ã5 4ŠFDNæôß ü1Ö ÷•—GwÆ«w ¶«D�Ä%÷•™Å7˜Åß òi÷ âþw ¥w �¥õ ÷ðAšÅwŒ¥w |¥Dß R�À ÌUß òi$4 ÷ ޤ÷ ÈŠ7ŠÀ¾Š07¶Š÷ `Å · ZÅÎ<& æl‚ß �IG4ŠFDô‹Úõ ÷ ĪÎ&ß úxÖ Î&ß úxÖ Î &ß úxÖ ÷ �ªwp«w `«æ ÷FËÎæÕ æ’6ß �I–%ÎÎÿæÕ ß 6Ö ÷‹¨�íß5€Rõ–%÷‹�Š÷ ÷ B¤w"¥w ¥  æÌß ü1Ö ÷ TÄlŠ� ÃEþÿ×tÀÀU xþß5 xþüß5€zþá·Š:Šß „�ß ¬€wʤw º¤÷‹"Š+7ŠŠÄŠÃé@ÀeøÿVõßÿÿTõ@tAÁ @\Ø@]ÀUARõÎÎÿæLDß 6Ö ÀPõwðªw àªD� à ÃeJD -‡ - ƒÌUß jß òi!Ì5öÌ5ÄÄß5€xþ#ßxþÎzþæxþ&ß 2–%·Šó‰÷¥í‰ ß 2€ ÌU7ŠÛ‰7Ú‰ß òi÷ Hÿwf¤Ì5ß Î�÷bhÄ· fÄ÷ `Äç÷,ZÄã·Š ‰ß ¬€çw ß Ö ß Ž=À ów"±w ±Dôµ#÷ 4°ß  rôÕ@Î&Îe ß 6Ö ô%2 î÷ þ¯æß ìpÖ ÷ HÊàß  rwưw ¶°DC€ 4 ÷ Ê©÷ �7�À�07ü�÷‹ð�÷ ÷ ˜©wxªw hªæ ÌU7Ö�ß òi7 >ÊÄÈ�V� 5øÿÀ HD@øÿð‹FDçß5€Rõã �3�3Àwœ°ß xnÃÈÀôô’ôœô íw j°õ£÷•7L8C�×tÃe–CÀ*Lð ðsD�uÄepÿõ‹tÁEüÿWt@PAøÿÁ @\ØÃU@-÷•r�-ƒÃU €íÃU €àTõßRõ÷•F� À TõVõÌ5À÷‹'�À ÄeÈýõ¥ÄeHþ3óµ ó•óó•#ó•@ÌUCôU@wô¯w ä¯D�uÄe–Cß xn4ŠwÖ¯w Ư@�tÎe–Cß sw¼¯w ¬¯@�ÀÀPRõw¦©w –©÷ €ÉßE@RõÎLDß ’6gÄøŽd� ß Rõß5Zõüß5@PõÄ%.DÌU÷•ÆŽ÷¥ÀŽD7Š»ŽÀÀ ° HD7²Ž7ЍŽß òiôtÎe–Cß Hsw¢¯w ’¯D�uÄe–Cß  rô ô% Îe ß ’6wp¯w `¯B�—tÂe–CƒÄËUÄ53Ž&ß pÖ w<¯w ,¯D�Tõ7÷‹—ŽÎRõæPõ&ß 2–%ß5€„Põ æ ß ü1Ö Ä%.DÌó•ÿÿFDÈß5PõÉ÷¥RŽÅ·ŠMŽ÷¥ GŽºÀÀ ° HD7Š8ŽÀÀ 0HD÷ Fþwº¨w ª¨uÄe–CN&ß ¤sÖ w¯w ¯Æåõ¥AÎúÿæBÀß N$Ö ÂÒJÂEÀÿõ ÿøÿõ€ÿöÿ÷ ®ß ÿ߀ÿõ¥ÀtùÿÀEøÿÀ ÀmÆŒôÿÁÁE€ÿ@`Nß |À Îfæ.Dæzyß lÆeÀhÈ 7^Dw„¨w t¨Nß |À  fæ.Dæzyß lÆe7 0DwV¨w F¨D�Ä%÷•D w<¨Î÷ÿæ ÿŽß Î!_øÿ ÿ_öÿ€ÿ÷ ¶­÷‹cJß Ž=À ¿w†®w v®Æåõ¥ÄHJ7 DJ7a>JæBÀß ð#Ö wZ®ÎúÿæBÀß N$Ö Â JÂEÀÿ÷ ²Çî÷‹JBÀß N$Ö À ðHDƒ À ðJDÀêw ¨õ C�Ã%÷•ÇC÷ §ÀND  ‚À xè@�À Á:DÁ pÜØ÷ ê¦wʧÎæß úxÖ õ@�ð•ëõ ÿøÿõ€ÿöÿ÷ T­ß ÿ߀ÿõ¥ÀtùÿÀEøÿÀ ÀmŒôÿÁÁE€ÿ@` ÿ¦ß ö!Ö _øÿ ÿ_öÿ€ÿ÷ ô¬¾w Æ­æ D� Àeùÿ5øÿõøÿAÚïÎæß úxÖ À5@æ÷•eCâÎ æß úxÖ À5@óØÎÛw l§÷ zÇ÷•9C÷jÇw`§w P§7 ^ÇwT§w D§÷RÇ@�7NÇÎfæXDøÿWp-‡ÌUß òi4 ÷ ¾¬÷ î’7è’Àä’07Ü’÷‹Ð’÷ t÷ Œ¬wl­w \­ÆåD� Àeùÿ5öÿ� 5øÿNöÿæß @$Ö 5æn}ß lÆew&§w §7 &Ç@�7"Ç fæXDæn}ß lÆewü¦w ì¦D4 ÷ ¦÷ ÒÆ7ÌÆÀÈÆ07ÀÆ÷‹´Æ÷ ÷ â¥w¦w ²¦Ä¤Æe·ŠøÿNöÿæß 4$Ö ÁÀ r fÁÀ r t€UAøÿWt @Pw­w ð¬ÄT’·ŠH’ &÷ ~ÿÖ &æ ÿ&ß ÊjÆewÔ¬w Ĭ÷‹"’(Ä"’7Š’ß ÿÎÿæ˜ÆÎ&æ’6ß �I–%ÎÎÿ&ß 6Ö ß5€ õîß5 õß5 õ"Î&æ’6ß �I–%ÎÎÿ&ß 6Ö íß5 õÎ&æ’6ß �I–%ÎÎÿ&ß 6Ö í  ÷E=À�ÁÀe7rÁ÷†ÁnÁ÷î½À Wt@P,õ*õ (õ÷ œßUA,õ÷ ½ ÷ ½Î<æ(õæ"‡ß �I–%÷uøÿ@øÿ€ zþ@öÿ€lzþw£w £D� ƒ×týÿÃ%ÁWp1-ž‡ wì¢Àûw Ö¢D� ÁWtýÿWpÁe–wØÂBÀÀEþÿ7Ê À  ø¼ÎÎÿæ(õß 6Ö ÷ æ¼÷ ¶›ßE@,õ÷ ª›÷•U8ô(õÌUwzœw jœßE@,õÎ(õß ’6wdœw Tœæ õ _D‹À®8Àå 1 ‚À x.Àœ8ÀEüÿt7ÄÂrpwºÂ7ºÂwœ¢w Œ¢ßxþèÂ÷e€¢Â÷%€ÿ”ÂÀ€ÀˆÂ „Ó—zþÄ Ä ûÄ€„àÃzþÄ Ä ûwN¢w >¢ßxþÃZÂ÷e€TÂ÷%€ÿ7x¼w,œÀˆ8ÀEþÿt7f¼õÀv8ÀEþÿt7V¼ìÀd8ÀEþÿt7F¼ã÷@¼÷<¼÷F88¼ÎæºDß *ŒÖ Ò÷¼÷¼î÷¼÷ ¼ç÷FÂÀ€À: „À”zþÄ Ä úÄ€„à zþÄ Ä ûwþ¡w î¡Ä\‡÷-¶  æëß ü1Ö ÷ $÷ ´ü÷êÁ˜ÂÎ<& æl‚ß �I–%7 ÐÁw¶¡¼÷þ»÷8ú»÷8ö»ÎÝ÷ä»÷à»ð÷Ö»÷ Ò»é÷Ò»÷@λ÷Î7Ê»÷Ê7ƻΠæÄDÀ÷°»÷@¬»÷¬7¬»÷¨7¨»î÷Œ»÷€ˆ»w ¦¡Ä‡ÌU7 ‡ 7�þ†7�û†ß òiw�¡w €¡÷ ÆÁ÷¾Á÷ ð÷ÆÁÎæºDß *ŒÖ À%÷•)=wX¡w H¡7 ŽÁwL¡w <¡ÀœÁÁú7Ò„ þy¥÷~»÷z»½÷p»÷l»¶÷b»÷^»Àj7ÀEÿtÁ\7ÁEÿ@P7F»†÷:»÷6»_€ˆ÷*»÷ &»_€ˆ÷»÷@»_€ˆ÷ »÷€ Έ1æß ä4Ö  æ& &ß þ4ÆeÀ€ ÀE€ 4 4ŠÌUß –�÷‹C1÷ F1Õwj•w Z•ÎÎÿæHèß 6Ö ÷ ʵöõ Fß5€Hèüß5€HèüÀ”1@$Ö Îæß 4$Ö mA1ÁÀ rWt�P@A1@0 ÷ ŽÃttwlt Â@ð,‚°, ‚@ð,‡°,‡ƒÀå 3‚À xžß‚1Jèw•Àx1 ‚À xšß5Hèüß@Hè÷Z1xµëßàHèø÷•µ0ôߤHè· ZµÝß%Hè7 Nµ×ßµHèÓ÷•�0ÏÄ1ß ç@°s÷‹ t÷ ÷ ´�w”Žw „ŽÄt7� —tûÿÂEþÿŸÈü߯üß5Âü÷·ŠæsÄüÀEüÿt€PÈü ÊüÌüÎüÌ5T"=Äeß T"A1Äeß T"A1@Á¨7Àx þy@ðHè¦w \”D�Ä%÷•%0,ô‹E&´ŠEÀ 0 EÀ ðÿÿE4ŠðÃÃ÷‹¥sÃU߯üwŽw Žæ ÷‹Œs5ÄŒs7Š‚sÃÂüÂÆü ÆüÃ5@Žæ&ß 2–%·Šas÷¥ [sÌU7ŠQs7Ps4 � tûÿÀEþÿ5øÿÀ ð¾xîÃ�õÃ5@õ Ã5 4ŠENæ ß ü1Ö ÷•Ë/wú“w ê“D�Ä%÷•³/4ŠEô‹ðõ ÷ ø’Î&ß Æ�Ö Î&ß Æ�Ö Îß òi_øÿÈü߯ü÷ ÿwž�w Ž�Nß "—À Îfæ Eæº”ß lÆewr�w b�Nß "—À  fæ Eæº”ß lÆewH�w 8�Î÷ÿæBÀß N$Ö  &ß Æ�Ö ÷ Ä’w¤“w ”“æ ÷8´Îæß æ’6ß �I–%ÎÎÿæß ß 6Ö ÷‹æxíß5€’õé@Àeøÿ–õßÿÿ”õ@tAÁ @\î@]ÀUA’õÎÎÿÎæ)Îeÿß 4$Ö `@�ÀEàÿt0!, ƒ÷•Õ( w�Àûtrap#8start#ddump#"call" _klrint"út_klxint"æ Eß 6Ö À�õw$“w “D� à ÃeE -‡ - ƒÌUß jß òi!Ì5öÌ5€ 4 ÷ þ‘÷ Lx7FxÀBx07:x÷‹.x÷ Èt_clock"òG_vaintr"PŽ_dmintr"€~_rtintr"ð‡_smintr"R–_ntintr"�’_rkintr"–w_tmintr"Äz_rxintr" _end$4E_edata÷ Ì‘w¬’w œ’æ ÌU7xß òi7 0³ÄxV� 5øÿÀ E@øÿð‹Eçß5€’õãtÁEüÿWt@PAøÿÁ @\îÃU@-÷•°w-ƒ#¼ _etext"n—_main"|$_cputype#p_u!À_trap"Â@nofault$$Essr$&E_runrun$¼ _swtch"Ô8_savfp"N _iÃU €íÃU €à”õß’õ÷•„w À ”õ–õÌ5À÷‹ewÀ ÀÀP’õwÚ‘w Ê‘÷ r²ßE@’õÎ Eß ’6gÄ6wd� ncupc"P _display"– _getc"Ö _putc"0!_cfreeli$¾ _backup"’!_regloc#X_fubyte"Ü!_subyte" "_fuword"T"_suword"ß ’õß5šõüß5@�õÄ%ìDÌU÷•w÷¥þvD7ŠùvÀÀ ° E7ðv7Šævß òiô”õ7÷‹ÕvÎ’õæ�õ&ß 2–%ß5€„�õ æ ß ü1Ö Ä%˜"_fuibyte"Î!_suibyte"ö!_fuiword"J"_suiword"Š"_copyin"ö"_copyout"#_copyiin"ê"_copyiou"#_idle"N#_savu"\#_retuìDÌó•ÿÿEÈß5�õÉ÷¥�vÅ·Š‹v÷¥ …vºÀÀ ° E7ŠvvÀÀ 0E÷ Fþwî�w Þ�Nß à“À ÎfæìDæF‘ß lÆeÀZ± 7’,w¸�w "r#_aretu"j#_spl0"†#_spl1"Š#_spl4"Ž#_spl5"’#_spl6"–#_spl7"š#_copyseg"ž#_clearse"Î#_dpadd"ð#_dÎÎÿæ† ß 6Ö ß5 Hèçß5€HèüßàHèw —w ü–ÎÎÿæHèß 6Ö ÷ l·öß5€Hèüß5€Hèüß¡Hè7 T·wÔ–w Ä–D4 ÷ è•÷ 8·72·À¨�Nß à“À  fæìDæF‘ß lÆe7 d,wŠ�w z�D�Ä%÷•C, wp�Î÷ÿæBÀß N$Ö À ðEƒ À ðEÀêw 8�õ C�Ã%.·07&·÷‹·÷ ÷ º•wš–w Š–Ä ·ÎHèß ’64·Šô¶ß5€Hèüß5Hèüß5€Hèü÷ æ¶ß5Hèü÷ Ô¶ß4Hèß5€Hèüß5€HèüߢHèß5÷•û+÷ P�À‚,  ‚À xþ@�À Án,Á pòî÷ �wþ�Îæß Æ�Ö õ@�ð•ðïÎæß Æ�Ö À5@æ÷•™+âÎ æß Æ�Ö À5@óØ€HèüßEHèLè Nèw–w –÷‹„¶Ä„¶7Šz¶ß5(Hè ÎHèæÙß Ô0Ö ÌU·Š]¶7ŠY¶7X¶ß òi Hè÷ 8ÿwΕw ¾•÷ œ1+Îÿÿß ˜hÌEÎÛw  �@œ ÄEàÿuÄe, œ tûÿÀ%@œ ÀEàÿÀ%@0#‚ýSNß òid@Î &Ž`ß 4$Ö mÎ &Ž`ß  pcmp"þ#_ldiv"4$_lrem"@$_lshift"N$csv"^$cret"j$_haltins"x$_ka6#n_bdevsw#t_nulldev"6>_rkstrat"!_issig"@C_setrun"¸6_setpri"ð6_malloc"zL_xswap"V>_swap"k_xccdec"’@_xfree"ø>_xalloc"R?_sysent#Ø_psign”v_rktab$À _rxstrat"Þ~_rxtab$Ê _tmopen"2x_tmclose"¤x_tmstrat"zy_tmtab$Ô _ntopen"þ�_ntclose"p�_ntstrat"F‘_nttabal"C_psig"ÈC_trap1"ªB_grow"HE_nosys"ÈB_nullsys"ÖB_ipc$8$_signal"ÞB_stop"zC_procxmt"´F_exit"ZU_c$Þ _smstrat"º”_smtab$è _cdevsw#ž_klopen"ðs_klclose"vt_klread"”t_klwrite"®t_klsgtty".u_rkread"ôw_rkwrite"x_nore"„D_schar"†O_namei"VM_access"2K_ptrace"öE_rexit"BU_fork"nW_read"ZY_write"jY_open"Z_close"odev"(>_tmread"°{_tmwrite"æ{_tmspeci"V|_ntread"|“_ntwrite"²“_ntspeci""”_mmread"Nu_mmwrite"äu_dmopn"î|_dmcls"*[_wait"RV_creat"8Z_link"\_unlink"¨a_exec"èQ_chdir"(b_gtime"¢`_mknod"¢\_chmod"~b_chown"¶b_sbrea }_dmread"}_dmwrite"D}_dmspeci"Ê~_rtopen"Ú‚_rtclose"ƒ_rtread"ƒ_rtwrite"„_rtspeci"ˆ_vaopen"ÚŒ_vaclose"^�_vawrik"ÎW_stat"ª]_seek"N[_getpid"^a_smount"°^_sumount"º__setuid"â`_getuid" a_stime"º`_fstat"ˆ]_stty"üm_gte"œŽ_vaspeci"�_smread"Ì–_smwrite"ø–_rootdev#@_swapdev#B_swplo#D_nswap#F_canonb$ò _coremap$ò _swapmap$º _rtty"´m_nice"|a_sslep"ê\_sync"pa_kill".c_getswit"”`_dup"ˆ^_pipe"¾O_times"œc_profil"Àc_setgid"ootdir$‚ _execnt$„ _lbolt$† _time$ˆ _tout$Œ _callout$� _mount$ _mpid$& _runin$( _runout$* _curpri$$a_getgid"Fa_ssig"äb_halt"¬X_timeout"�I_getf"üI_closef"&J_closei"rJ_openi"ÎJ_owner"¬K_uchar"šO_suser, _maxmem$. _lks$0 _updlock$2 _rablock$4 _proc$6 _text$‚_inode$_icode#H_mfree"¾L_printf"Ô0_min"âK_ufalloc"þK_falloc",L_readp"0P_plock" Q_preadi"îc_writep"ÐP_pwritei"@e_rdwr"zY_open1"~Z_stat1"Ô]_g"ä4_panic"Ú1_cinit"°n_binit"2j_iinit".(_iget""-_newproc"v9_expand"°:_estabur"x&_sched",7_sureg"&_netmdev"L`_buffers$@$_swbuf$\@_httab$t@_iowait"”i_incore"^h_geterro"”m_notavai"Âi_iodone"òi_devstar"Êj_physio"seg"(_nblkdev$’_nchrdev$”_buf$–_bfreeli$þ _bread"nf_getblk"˜h_bcopy">>_brelse"þg_alloc"²(_getfs" l_partab#_maptab#>_cfree$v@_sgtty"4n_wflusht"xn_flushtt"ðn_canon"Bo_ttyinpu"p_ttyoutp"ìp_ttstart" r_ttrst,_sleep"6_badbloc"H*_wakeup"’6_clrbuf"j_prdev"ü1_free"Ž)_bwrite"jg_ialloc"~*_iput"N._ifree"Ú+_updatrt"ˆr_ttread" s_ttwrite"Hs_ttystty"¤s_kl11$–C_rrkbuf$D_rkstart"jw_rkaddr"þv_rtmbuf$.D_tm_open$FD_tm_blkn$HD_te"r,_iupdat"¤._prele"ÈQ_bflush"Âk_itrunc"R/_maknode"J0_wdir"�0_writei"Š3_panicst$!_putchar"ˆ1_printn"J1_dm_nxre$JD_tmdens#Ø_tm_nocl#Ú_tmdcons#Ü_tmspf$LD_tmcomma"úx_tmstart"òy_tmphys"|_dmtab$ND_rdmbuf$XD_dm11$everro" 2_readi"R2_bmap"p;_breada"°f_iomove"þ4_bawrite"èg_bdwrite"²g_max"Ê4_cpass"Þ=_passc"Ž=_file$pD_dmstrat"n}_dmstart"¨}_rxtypes#–_rxstat$xD_rxok"R�_rxtimeo"l‚_rxstart"H_rxabtbu"´‚_rxsetup"„�_rxregs"¬€_rxres yyL19 L20L21L22L23(L24+L253L267L27>_main"I~maincsv argcargvL28$L29spiipL31 L32(Y(F_error _exit _open _fin L33PL34P_fcreat L10000|L35ŒL36^L37et"2€_rxempty"Î�_rxfill"‚_rttab$†D_rrtbuf$�D_rt11$¨D_rtdefau"Þ‹_rtkwrit"*Œ_rtstart"Z‡_rttime""‡_rtkread"Œ_r¸Èyytkio"BŒ_vatab$ÜD_va11$æD_vastrat"–�_vastart"Ð�_rntbuf$ìD_nt_open$E_nt_blkn$E_nt_nxre$E_ntdens#î_nt_nocl#ð_ntdcons#ò_ntspf$ E_ntcomma"Æ�_ntstart"¾‘_ntphys"à“_sm_size#, _smbuf$ E_smstart"Ö•_smphys""—_cvtab _filenam @_opdope _ctab _symbuf _hshused _hshtab È_cp _isn#„_swtab _swp _contlab _brklab _retlab _deflab _autolen _peeksym#†_peekc _eof _line#ˆ_funcbas _curbase _coremax _maxdecl _maxauto _defsym _funcsymææß Æe?üó÷eöó@Àe ÿÀ-ìó‡Î^ß Îß Ä _ÄÄ_ä ý%øÿ_ÄÄ _Ä÷8Îß ß â? ó÷ešó÷ ðõÃ% _proflg _csym _cval _lcval _nchstr _nerror _paraml _parame _strflg _mosflg _ini_Äà õåøÿõåÎÿý%[øÿÄýdÎÿ_ä _Ä ÃeZÄ _ÄUÄ Ã% OÄ  Ã%/Ã#Ã$BÄ ÷ zõÃ%Ãe÷tflg _inhdr _obuf _sbuf _loregse _hiregse _bitoffs _funcblk#Š_cvntab _numbuf @_memlist ”Ãd 1Ä _Ä,· øò$Ä ý%(øÿý%1øÿ CøÿÃeõåøÿõåÎÿ  rÁ ÁeÖA! þy6Ä _Ä ÀÀ t÷ÿÀEÀÿ5¤ÿ_nmems _structh _blklev _kwtab#–L1 L2¤L3©L4¯L5¶L6½L7÷ Œò Ã% Ã%ý%Zøÿõ¤ÿuÎÿ¢ÿu-¢ÿ¤ÿ u-¢ÿ¤ÿ3ÀÀ ð5€-Àõ%¤ÿ õ¤ÿÁR7Ž þy @Àeöÿ@-øÿ‡Îrß Îß ÂL8ËL9ÑL10×L11ÜL12ãL13êL14óL15øL16ÿL17L18 L86ŠL87ÊL88àL89L90ì_mapch"¼ L91üL92L93L94”L95ÈlabamaxL178V L179ÎcmaxL181þL182òL183 L184öL185L96&L972L98@L99JL100NL101VL102`_subseq"¢L103tL104š_spn L1864 L1872 L188øL189F L190ûL191þL180R ~getccX L192¸ L193^ extc L105²L106ÀL10003ÌL107üL108äL10004ôL10005øL109FL1108L10006(cccrealcøÿL195d L196Œ L197Š L198š L199L200® L194´ ~mapchL111žL112RL113lL114‚L115œL116²L117ÈL118äL119L120èL121¼ acL201¨ L202Ä acnL204˜mpeek˜L205Ú L206à L207L122 L123 L124LL125JL126JL127¼L128^L129^_getnum"@L130hL131à L208ê L203¤ L210� L211î L212î L213L214 L216t L217 L218 x_getcc"X L132~L133‚L10007’L134¢L135šL136¢L137¬L138¼L139ØL219 L220 L221" L222" L223" L224" L225" L226" L227" L228" L229˜L38œL39ÄL41¢L42¬L40¾_sbrk L43ÖL44â_extdef L45pL140ÜL141ðL142L143ÒL822L10010L10009*L10016FL10011L10012 L10013_outcode L46r_fflush L10001L10002L30 cret _lookup"(~lookup(L47L48(L100142L10015>~getnum@L144šL145Hnpcbaseexpseenøÿsymöÿndig.ihashøÿrpspnpL506L51HL52r_findkw"L53rL49üL54itôÿnsynòÿL147äL148|L149|L10018ŠL10017¨L152BL10020œL10019¨L153ÄrL55¦L56€L57ŒL58–L59¤L60ÂL61tL62èL63ò~findkwL154L155îL156L157L158*L159&L160*L151L161hL10021VL162L64TL65 kpp1p2wpøÿfirstcöÿL67"L68FL70*L71^L163xL150(L10022„L164ÄL165¢L10023ÂL166L10024ÐL167øL10025êL168@L72>L66PL69@_symbol"Z~symbolZL73<L74bcsptlineL76òL169L10026L170L171L172HL146–L173ŠL10027„L10028lL10029f‚L77|L758L78’L79¤L80ž_getchar L81¤L83L84¬L85ÆL10030„~subseq¢cabL174ÆL175¨L177¸L176Â_putstr"È~putstr ]L245-L248V _nblock L249 L250h _copnum"V_fblock L251ˆ _gblock L252´ _cblock L253È _block L254& L255^L256ÄL2576 _xprtype"âL258œ L259\ L260n ª„w üÿ_õ%Î(ß õ$@À 5òÿõ5òÿ÷åÈÿÎÄÿß ß Èµøÿ÷å¬ÿèÿõ%[ Îß ß Ú ?�ÿž L261ž L262¦ L263¨ L264¨ L265¨ L266² L267º L268¾ L269¾ L270Æ L271÷eŠÿ_õ%# Îß õ%dÎß ÈÄ5 ìÿ5 öÿ@_"ÀEçÿÀ%ÀEçÿÀ%Î ß _<ÿ*ÿ÷e$ÿ_Ê%Î ß ŽÖ L272Ò L273Ö L274Ø L275ø L276î L277ø L278ú L279ú L280 L281 ææZß ° –%À _uøÿöÿŽæ& & föÿfß ^ Æe ?Úþ÷eÔþ_ _<ÀEçÿÀ%Î0 ß Žæææ&÷ ¤þÖ &ædß ^ Æe ?�þL238R L282 L2834 L10046ÖL10045J L10054L10047æL10048ðL10049öL10050üL10051÷eŠþ_Ë%#ÿzþ÷etþ_ÀEçÿÀ%ÎE ß Îææ&÷ LþÖ &æ$ß ^ Æe?8þ÷e2þ_Ë%$ÿ"þ÷eþ_Ë%ÎL10052 L10053L284� L10055Š L285� L10056² L286 L288Æ L289¶ L290¶ L287d&%$#"!      ÿþýüûúùø÷öõôóòñðïîíìëêéèÖ L291¾ L292¾ L293¾ L10058RL10059\L10060Î L294ò L295rL297žL298"çæåäãâáàßÞÝÜÛÚÙØ×ÖÕÔÓÒÑÐÏÎÍÌËÊÉÈÇÆÅÄÃ_build L236ÖL2998L300FL296¸L301HL302ZL303lL304lL305lL306lL307€L308ŠL10063jL10062°L10066ˆL10064pL10065~L309†_errflus ~xprtypeâatyb& L230N L231V L232\ L233f L215Ž L10033zL10032† L10037¤L10034‚L10035ŽL100L310PL311ètybtyperäÿscâÿmdfbscpàÿ_getkeyw _decl1 36˜L209  L10039ÆL10040ÌL10041˜ _tree"ª ~treeª L234ÚL235² opøÿopstÐÿL312L~copnumVlenL313‚L314\s1s2s3L316tL317zL315ppÎÿprst¦ÿandflgocsp¤ÿps¢ÿos ÿcmstPÿlcpNÿL237~ä L2398 L240ð L2416 L242V _nextcha L243 L244V L10042. L246ML100432 L247 ðµõøÿNøÿß 5öÿÎÿÿæß „Ö Žföÿæß t–%€ß Ú æ¦¦föÿæ(ß ^ Æe ?.ý÷e(ýÎ$ß €ðµ€     ¦ ¶ æ Æ ö Ö Disallowed conversionIllegal conditionalCall of non-functionIllegal indirectionIllegal lvalueIllegal ÷åýæý& & ææ ß ^ Æe ?êü÷eäü_  rÁ Áen A! þy"õ5òÿÎß ‚ õ5òÿÎæß „Ö õ5 òÿÎ¦ß „structure refUnimplemented structure operationIllegal conversionIllegal conversionIllegal type of operand%s:%d: Out of Ö õ5òÿ(õ%3Äõ%4  æfß ° –%À Îææ&fß ^ Æe?@ü÷e:ü_5 îÿÄ%õ%øÿÎ~ ß 5øÿNøÿyyé YYiÁÃÉÊÌÏÆÂÅÈËÍÎÇÐÑÒÓÔÕÖרÙYIYé yy©yyyyyyyy¨yyyyyyØ Ø yyß Ê&&÷ ÎÖ t€eœ5îÿ@îÿtüÿÀEðÿ5ðÿõEðÿîÿõ ðÿ@øÿ5öÿõ öÿõ%öÿ Ä%õ%øÿõöÿõ5òÿõ% 15öÿõ%Pƒ  À  Àå% ø‚À xÌ ô?Üó÷eÖóÀwÌó_¸ w Äó· ¾ó÷ ºóÌ%Îß ÷ ¤ó÷ óžów”óèx õ% õ%îÿõ%îÿ 5ðÿ5îÿõ% îÿ õ ðÿõîÿõîÿ5 ðÿõ ðÿuðÿîÿ5 ðÿPõ%õ%]õ%_Ä%D-øÿ5 îÿææ&÷ þÖ &fß ^ Æe?îý÷eèý_ÎY ß _<ÿÔý÷eÎýÎ#ß ÷åÀýüýÊ%ú¥  Îh ß ÿ¢ý÷eœý_õ øÿ €€ ˆ ’ š    <Òz6<  <0D à<®Ò(ÖÖÚÚææàÖŠ ’  L R X b l ž š v ~ ‚       ÷åˆ÷À„÷w~÷Ëw x÷@Ä%Ä%D-õ%ÀEçÿÀ%ÎÆ ß w8÷àw 2÷@  À À À @ 4?ðô÷eêôÀ_0 _0 õ  ý% _0 @@_ ƒ`_ ƒà_ ÁBpC_ ÁÀ rXÁÀ ù‚À x¼ w÷èw üö+· öö÷‹òöÎæÞ ß Ö ÎÞöæâ ß Ö Nff f fffß Æe Îç ß w¤öÔw žö$Î ß < LrCS€@ @OƒPM€xÀIÀ EÀ@ AÂt?€ Àt;ƒ  À3ƒ  À+ƒ  À#ƒ  Àƒ  Àõ% Ä%õ%øÿµ .õ5òÿ*õ%>Ä%õ%øÿÄ%õ%øÿõ öÿõ%öÿõ%öÿõeõ%îÿõ%îÿ5 îÿõ%îÿttt t @À ð5t 4 wTöÛw NöD&&&æß ^ Æew(öíw "öÎ ß < Ì4 5 îÿõ%)5 öÿµ ìÿ D-øÿÄ% õîÿõ îÿ4Îß Žß 5øÿõ%îÿõ%îÿD-øÿΠ ß õ ðÿ Nøÿfîÿföÿæß Æe ©é Yyyfîÿföÿ¦ß Æeõ5òÿ5 öÿõ%öÿõöÿõ%öÿ5 öÿõ% !röÿòòõ öÿó% Ž& & & æmß ^ Æe¿’ù÷e)yyé Yé YŒùEŽæfß ° –%À õ ðÿ€À5ôÿŽæ@ôÿ&@ôÿ&föÿfß ^ Æe ?@ù÷e:ùõ ìÿÄ% ÷å(ùÃ$ùÎß æ& æß é Y 89888 Æe?ù÷eùwüøÆå_w ðø0@œÀ ð5õ γ ß N ß Ú f& & f&ß ^ Æe N& & f&ß ^ Æewé Y(é Yé ŽøÏw ˆø&DBCôô´Ì%#Žß  Ì%$Žß Ì%(âw:øÙw 4ø"DÀÀEçÿÀ%Ì% &&Yé Yé YYYiY8ié Yé YyyyyyyyyØ yyé YØ(é Y(¨é Y4 4 twøõëw òõÎ ß < Ìt4 4 twÆõêw Àõĺõwm´õ÷-°õ®õ‚Îß À%ÿÿÎé ß Îß æ÷ øÖ &æ#ß ^ Æewî÷Ýw è÷4CÄÀEçÿÀ% Ë%û¥ Ë% Àóeÿ°÷÷eª÷Î&÷ ¢÷Ö &æß t–%Î#ß ÷eˆõw€õàw zõDÌ% Ì%Ì%$Îö ß wRõìw Lõ_4 DÌ% _0 õ%Z*@ø%!@ø% ô @  L12ÎL13 _error" L9<L14ÒL15àL16îL17 _fold"° L18L19¼L92Â~chkfunÈapL100L101ÎptL103 L102~disarraap L20 L21 _block"^ L220L236L24JL250 _decref L26zL27�L28L104‚L105tpL10028BL10029<L107FL106~~chkw„p¤L29E L30ÒL31èL32_incref L33Y L34(L35DL10001RL36hoktL108ÈL109ŠtL111ÂL10030ºL112Æ L110Ä~lintypÊtL113L37h L38€_chkw"„_setype"tL39L10004n L100034L10009š L10005x L10006€ L10007þL114ÐL117îL118ÖL119ÖL120ÖL115úL121ÚL122ÚL123àL124æL116ˆ L10008’ L40J_chklval"‚ L41^L42rL43ÊL44ˆL45’L46’L47ÆL100úL10032¼ ~error sp1p2p3 p4 p5p6L125\ _cvtab _filenam @_opdope _ctab _symbuf _hsh10ÜL48ìL49~ _lintyp"ÊL10011.L100120L10013BL50VL10014PL10015fL51Èused _hshtab È_cp _isn _swtab _swp _contlab _brklab _retlab _deflab _autolen L10016zL52¶L10017ŠL53–L54¶L55¶L56¬L57¶L58ÂL59hL10018_peeksym _peekc _eof _line _funcbas _curbase _coremax _maxdecl _maxauto _defsym _funcsymàL60 L61ðL62 L10019L63hL64hL65TL10020NL100218L10022NL100 _proflg _csym _cval _lcval _nchstr _nerror _paraml _parame _strflg _mosflg _ini23dL66hL67˜L68†L69˜L10024’L70˜L71_plength L10025ÆL72Ðtflg _inhdr _obuf _sbuf _loregse _hiregse _bitoffs _funcblk _cvntab _numbuf @_memlist L73  L74L75ð_convert" L76L77L78 L79,L80vL81jL82_nmems _structh _blklev _build"~buildcsv opL1L2t1t2ÆL10026’L10027”L83cret ~convert ptcvnlen L84rL85øÿtöÿp1p2p3ôÿdopeòÿleftcðÿcvnîÿpcvnìÿL4L5N_disopL87VL884L89³ L86n~setypetapatanewpL90Æarra"_chkfun"ÈL6z_length _cblock"Ú L3L7šL8šL10"L11®L10000ÆL91zpnewptL93†L96¦L97¼L98¶L99¼L94ÂL95! lval‚ apL152® L153ˆ pL155– L156ª L157ö L154ª ~fold° op¨äÀw üÿ_¢÷ ôÿ_žÄ%_ž7Þÿ5 øÿ7 ÖÿNÎeÞÿfÎeøÿß Ö À õ øÿ÷%´ÿ_x5 öÿõ%øÿµ öÿõ øÿõ% øÿ ap1ap2L1584 L159¸ p1v1v2L161È L1600 L162$ L163õ% øÿõ% øÿÎß 7 tÿ7 pÿ7 lÿõ% øÿ  & fÎeÞÿæ ß Æe_b & fÎeÞÿæ ß ÆeÃ0ÿ_ž÷&ÿÀÀEçÿÀ%:÷ ÿ7ÿ L10033ü L10034 L164@ L1658 L167 L168L L166 L169R L170X L171b L172À% ÷%ÿ÷%üþ"ÿ¥ ôþÎß 7èþÎß põ% øÿÎÎe Î-æÏæ*ß –%÷ d_ž÷ ²þÎ.ß _b÷  þÄ% Ä%57l L173v L174~ L175‚ L176Š L177’ L178š L179ž L180¦ L10035® L10036² ŽþÎß „ ÄEõ% øÿÎß pæÎæÎe æqæÌæOæÏæGß Æeõ öÿ æÎe æÍæPß ÆeEÄ%P7þÎß põ% øÿ L181¶ L10037¾ L10038 L182Æ L10039Î L10040Ò L183Ö L10041Þ L10042â L184æ L10043Ä ðÄmð· ð ß ÀúïÀmöï! Îîïæêïæiætß ÆewÖïâw Ðï_0÷ ÈïÄô‹ Ä%²ƒÄe÷5øÿô‹ ]� À- ïXÌ¥ ÷ ”ï"ôµî L10044ò L185ö L10045þ L10046 L186 L10048Ì _conexp"8 ~conexp8 L187l L188> t@÷ †ïÌ‹Îe æxß Ö  4Š ÷ bïôÅPÎ&ß Ö 0 Â%€`2œ ‚ ö÷ 4ïÃ0ï!4Š ÷ $ïœæß Ö €ÀEûÿ_tree L190X L191X L192L189h 3ÐôÅPó¥ ó‹ Ë¥ óŠ Ä%²ƒÄeÀD-øÿ“wÐîæ €w Èî%D“ ÃØÃÙ Ã× Àå  ù‚À x &Îe ææ‡ß Æew|îÚw vî DÄ%÷ fîù7^îwZîò†°F F F F F äêJbj¨  þ   þ  & J Œ ²º¾Bì ^ L126 L128 L129Þ _printf L130â L131ç L127X ~block^ optsubsstr p1 p2L132¬ L133d p_gblock"< L135  L136¤ L134¨ _nblÛàèêíâçëÜîÝáäìåßãéæÞïðñòóôõö÷øùúock"® ~nblock® adsL137Ø L138´ dsL139Ô ~cblockÚ vL140 L141à pL142 _fblock" ~fblock tstringL143: L144 pL1456 ~gblock< nL146€ L147B pL149x _sbrk L150r L151é _exit L148| ~chk" h™)˜˜™©æÛæ°ß ÆeÄ-|üƒÄvü7pü7lüwhü‹w bü_põZüîÿÎß ÷JüHüN&ß Ö 5ðÿ5 öÿ@ðÿÀEçÿÀ%µ öÿ5 ß 5øÿé   ÉèÉHhé ¸HH HYé HHIHyyIéh hY‰‰©H¹‰‰HY©™ù‰)¨H‰Ù‰)é hÙ÷ ö·ö_† Îþõß Îöõß _l Îêõß Îâõß _l ÃÖõÂÒõ÷ÎõÌõ· Èõ÷ÄõÂõ· ¾õÀºõ5øÿ· °õß ÷ FýΤõß ÷œõ÷ ˜õÄ%éÙ‰‰¨xx x¹É‰¹‰x‰É‰h÷%ŠõÎføÿ÷ |õ&ß –%Îpõß ·hõ_l _x ÷ \õ÷ VõÄ%_x ÷ Fõ뵧 _¦÷% 2õ‚ÎÈß ÿ"õ õÀõð÷eõι¨Éx¹ÉÉèɨ¹è¹¨¹É‰¹‰‰É‰‰‰x¹x¹õ· õß _¦Ãþô÷úôøô· ôô÷ °5öÿÎÿÿföÿß Ö Nöÿ& & & ænß Æeß ÷ ¾÷ºô_† ÷ ²ôÎÞß ÷ ¤ôÎôß ÷ –ôÄ%éÙù hÉxÉ©é©h˜©h‰©©_x À†ô7‚ô· |ôß _¦ÃpôÂlô÷hôfô· bô÷^ô\ô· Xô÷ ædÎLôß ÷Dô·@ôbÎ ß ÷ Ðû[Àå ‚À xºÎß F÷ ô©‰‰xɉɉˆ h É©héhé‰é‰x¹É‰¹‰‰É‰Éx¹ÉhÎÎe æÏæÊæTß ÆeÎÎe æqæËæXß ÆeõØýôÿNøÿææß š–%À5ÎÒæ\ß Ö w-ôÿ¬ý†õ¦ýôÿwôÿžý÷ šýÄ% _h©É8™Y‰‰x tchMore than 1 'default'Inappropriate 'else'Unknown keywordStatement syntaxStatement syntaxBNNNN0Not an argument: %.8sˆÄ%Ä%Î^ß 7 vý Îkß ß †÷ w^ýÆå_w RýtÃLý· HýÎDýÎe æræÊæ†ß Æe÷ (ý Î"ý· ýæÔæŠß –%BNNBNN%.8s undefinedBSNYé ) Ä ýÀð7ý7ý÷úü÷ôü÷îüÎß ÎæÐæ�ß –%÷ÒüÐü· Ìü7 Èü÷ Äü7ÀüÀ%Î�ß ÷ LÎÑæ¦üæpæ¬ß ÆeÎ’üæ# ))hY8 HÉY¸ˆ( yù h éhYéé ù h é¹xé8 hhY Éù héé  ¹¨¹‰¹‰ù 9éIÀ%:+7 ôÃôË‹ó‹ Îß 3 ÷èó÷ äó_¦Ë• óóÕ@ó óÆó· ÀóÎß _¦ÁÒ7† þy 7žó÷ šóß ÷ �óH‰HyyIYYI( YI8 Ä%Î/ß ß †wvóÆå _¦w jó_¸ ÷ bóÃ%À_´ ÷ PóÃ%÷Dó÷ @óß ÷ 6óÃ%À_´ Î$óß ÷ óÃ%÷ó¸hèh¸Ø  æ ó÷ ó&ß –%÷ úòÃ%ÀQ÷ êò7æòÀ% ÷ÿÿÚò÷ túÎÒòß ?ÄÆò÷ÂòÀò· ¼ò÷ ¸ò5ôÿ°ò÷ ¬òÃ%À*õœòöÿ÷–ò”ò÷ .úé  é h õŒòøÿ·†ò΂òß Nôÿß wøÿpòõ-lòöÿƒõdòöÿ@öÿ7Zò7Vòß wHòÆå_š w <ò÷ 6òÄ% ÷ *ò÷ $òÄ%À Î@ß x ùé Yù Yh( yÃõ%  õ öÿõ%ðÿ뫧 õ öÿ)Nðÿß 4ôeõ øÿ õ  NÎe æÖß Ö ß 5ôÿNôÿføÿ& ß –%uôÿøÿ5 òÿ÷  YhYéhù™©)éŽû7ŠûÀ% õ öÿô%÷ÿÿpûµ òÿ ÷ fû5ôÿÀ%_ðwôÿRûõ%ôÿ#õ%ðÿõ% Îéß ÷ÿÿ,ûõ Î'Î& ß Ö Âmû÷ ù™©H™© hÙ‰¨Éû5ôÿ_ðdô%N&ß xÖ YÀEçÿÀ%÷%ÚúN& &ß š–%F· Äú÷ Àú5ìÿ7 ¸úôµÎß ß ?žú÷e˜úìÿ’ú÷eùéÙ‰‰‰hÉx©Ù‰‰hùxŒúÎPß õ% õ%÷ånúÎjúß ÷å^úÀZú & & &æhß Æeß ‚ ÷ 6ú5ôÿÀ%  _–õ òÿ_–õ _–ɹèhééÙ  ‰‰hYI99¹xh 9yyIY¨Yéù é8 h hhh©™HhY©©˜©‰‰¨ééɨxéÉé9éY™©)¨™©©™HY)hh)H©HHÉxé©Y)$  HhIY_cvtab _filenam @_opdope _ctab _symbuf _hshused _hshtab È_cpYhé é hÈ _isn _swtab _swp _contlab _brklab _retlab _deflab _autolen _peeksym _peekc HéHH_eof _line _funcbas _curbase _coremax _maxdecl _maxauto _defsym _funcsym _proflg _csym@mðÿÁøÁmø@ Nðÿfòÿæiæ¥ß Æewòÿâ÷wðÿÜ÷÷ _† 7Ð÷÷ jÿÏ멧 _† Àº÷_Ò ÷ ²÷Îß ÷ ¢÷_l ÷ š÷_l ÷ R5 _cval _lcval _nchstr _nerror _paraml _parame _strflg _mosflg _initflg _inhdr _obuõ òÿõ%ôÿwôÿüù õ%  Á�àupøÿNæÎæß –% õ à °þÿ NÎe æß Ö ƒ@îÿ7¢ù7žùÁupøÿ@w�ùöÿ ÷ ˆ÷Ã%cÀ|÷X÷ v÷0 Âl÷¦· f÷föÿß –%÷ X÷Žß *÷ L÷À%;ÂB÷ Ã:÷æ· 4÷föÿß –%÷ &÷Îß ‚ Â÷Â÷ŽÆå_¢w „ù_n@_žÄŒÎ8ß  ÷ \ùÃ%‚ ÷Lù÷ HùÃ%.÷<ùÌ Î[ß N& æß š–%N& &ß š–%ß Î¦föÿß –%÷ øöÄ%_x ÷ èöÃ%÷%Úö_¦÷Ðö_† Àå ‚À x¨÷¶ö ðöæ· ªöföÿß –%÷ :þ÷ ˜öÄ%Ì% ÎÒæ{ß Ö Äe÷ ôøÃ% Ì Î Ìõ% õ%Ì @@ìæÎæ}ß –%ÎÒæ€ß Ö Ã% ÷–øw’øˆ÷%Šö„ö· €öŽß Îß ÷ þŽß _† 7böÎß _† ÃTöÂPöÀLö7Hö· Böß  À8ö74ö&· .ö÷ ê&ß –%÷ ¼ýÎöß Îöß w ŒøDôµ Îe æ‚ß Ö ôÕ wdøìw ^ø_Š ÷ Vø_N Î–ß _† õ>øôÿõ8øòÿõ2øðÿ÷ ÷ (ø.÷ "øÄ%#wôÿø@òÿêHTNBIllegal storage classBSInappropriate parametersBSBBSBNBSNBBSBBSBToo many }'sExterß † wòãw üñRÃöñÄ÷ ðñÀ7æñÀàñ5öÿ· Öñß õÎñøÿ7 Èñ÷ bùÎÀñß Nöÿß ÷ °ñ÷ªñ¨ñΤñæ ñæÕæQß Æenal definition syntaxBBSBNBNCompound statement requiredBNBBNNNo auto. aggregate initialization0-length row: %.8sNo striÄ-Œñ ƒ&æUß –%ÄeòÎXß Îhñß wøÿ^ñ÷ZñwVñÆå«w Lñ_âÄ÷ @ñiÀ:ñ0 Ã2ñÀ.ñ7(ñó%óÎß 5òÿngs in automaticNo field initializationBNToo many initializers: %.8sUndefined structure initializationToo many structure inõ%òÿÀ@íòÿ 5ôÿ@môÿ3@ôÿ@mòÿ`ÀÀEçÿÀ%óåóeË¥&Îß 7¬ õöÿÎß 5øÿ@Àeúÿ7žð÷šË• ÎPitializersBBNB%s multiply definedUnexpected EOFBNNMissing '}'Case not in switchSwitch table overflowDefault not in swiß Nöÿß ór˕˕ Îß 4”ÃÃ%ȃó‹ ˥˥ÎÎe æZß Ö ÃeéÎ6ðæ2ðæiæpß ÆewðÆå_¸w ðyyy8 yyh yyˆ h é% it"šL32NL33\L34\L10rL35ŒL36^L37k_errflus"†_stateme"žcret npöÿsautoôÿsreglòÿsreghðÿL114¦L116N L117²L118–L119ºL113† L120~cfuncªL38˜L39°cbslocL41†L42ðL43Š_declist L44�L45¾_blockhe"êL121ÔL1226L123,L124L125¥_blkend",L126©L127BL129Ò L130NL46�L47¬L48°L49ŠL40”~cinitšanpflexsclassL50pL51J_simpleg L131Z_branch L132^_dogoto L133l L134b_doret L135j_pexpr"À ¢npnelninitwidthøÿisarrayöÿoôÿbraceòÿrealtypeðÿcbîÿsìÿL136F L1386 L139†L140î_cbranch _label L141 L142°_nextcha L143ÀL144_gblock _cpysymb L53âL54æL55L10004 L56L57´L58jL59HL60äL145ê_chconbr L146x L10014, L137F L10016¨L147š L148¨ L149þ L150 L151Ö_ldiv L61”L10005ŠL64–L63ðL65üL66ÎL67éL10006àL10007â_put& L152œ L153  _conexp L154È L155µL156Ú L157ÈL158ú L159þ _chkw str L68ÄL69_strinit"xL70ÄL10008(L718L72Ä_tree L73XL74_pswitch"L160J L161X L162ÞL163f L164ôL165Œ _forstmt"’ L166 L167 L128f _sbuf _loregse _hiregse _bitoffs _funcblk _cvntab _numbuf @_memlist _nmems _structh _nblock _build L10009ŒL75œ_rcexpr L76Ä_block L62ÆL10010ðL10011þL77_blklev _extdef"~extdefcsv L1¢L2osclassøÿscflagöÿcbôÿtyperL78*L79L80VL81VL82BL83TL84L52l~strinitxnpsclaÞÿds_symbol L3ž_getkeyw L4RL5xL6hL7ˆL8_error L11ssL85nL86€mlpL88ŒzerlocŒobraceL89žL908L91°ˆL12¶_decl1 L9bL13\L10000L14J_decref _setinit"pL100010L100024L92´L95´L94L96âL97[L98ðL99L100{L93L10012L101L16-L15*_outcode _cfunc"ªL17XL18.L19bL10003nL20Ø_length L21\L102NL103}L104€L10013fL105jL87j~setinitpanpL106œL107vnp¸L23OL22GL24ÖL25ÖL26PL27bL28âL29 L30TL31X_cinL109’L110‚L108˜~statemežL111Š L112¦oo1o2o3øÿ& ` L186ž ~pexprÀ L187þ L188Æ otL190è L189ú L191@~pswitchL192ž–Lw üÿ% DNÎeäÿfÎeß VÖ À ÎfÎeäÿfß ò–%5è æ& ß ‚ –%À`w°ÿÆåØw ¦ÿ_(5 öÿ 5 òÿ@0 ªL193cswpsswpdløÿswlaböÿL195L196XL197QL198pL199Œ@0 @0 ÃÿÿDÄ% Ä% À5ôÿõ ôÿõ öÿ À7Hÿ÷ Dÿ5øÿõ%øÿÿ¥ 2ÿà À(ÿ@Áÿp@ÁL201UL200†L202XL194¦_hreg#ê_areg#_funchea"°~funchea°L203âL204¸plÿpµ öÿÑõ%øÿÀöþÀÿÿ_Ä Ä-äþÄ%÷%Öþ÷ÎþÎâß ÄÀþ_µ òÿ_‚ _@ðÕ÷%žþ ÎfôÿcsbstacköÿnudgeôÿsizeòÿL206¼L207”L208æL10023L10024L2096L210ß 0Ö A1÷|þà Îüß ÃlþCwøÿdþõ öÿ ?à  Ä ÷ LþÀÀ õ òÿ à ÃÎß Â Ã%à à È_goodreg L211Œ_prste"4L212˜L213ÆL214ÀL10025°L215ÀL216ZL217pûþ ýÿ    L205Þ~blockheêL218*L219ðrL221&L222tL220&~blkend,L2230L2244csncsendcsøÿiL226<L227NL228HL231RL232L229L10026nL233²L10027|L234�L235xL236¦L237°L238´L239ÈL240Ä_lookup L241úL10028L242L10029 L10030$L230,L225,~prste4acsL243„L244eld too longBad type for fieldDeclaration syntax%.8s redeclaredY:csnkindL247XL248BL246hL249HL250NL251TL245€L10032 L252)YIYâ L10018ºL168L169ì L170L L171 L172 _pushdec L173 _redec L174@ L115‡~errflus†aoL253¦L254ŒoL256�L257žL255¢^ L10020ÒL10021ÜL10022V L175/~forstmt’ L176¸ L177š loslinesline1øÿssöÿstôÿL179¬ L178´ L180Ø L181Ø L182 L183 L1846 L185' ÉÉÉÉÙÙÙÙ8rning: structure redeclarationToo many structure membersBBNBBBNBNBRank too largeNull dimensionType is too complicatedFiÙÙÙ8Ù )©©™ùùH Îß =@ðÀ  À‚À xžµ öÿ_ wØýÆå_^w Ìý_ê÷Âý ÷ ¼ýÃ%/°ýwªý÷ ¦ýÃ%€œ À-–ýŽß ©™ù)Yùù)ú ʋʕÎß 2÷výtý: €0 Ê¥÷ Ò µòÿÎß 5òÿ÷FýDý= òÿ@òÿ0 7 4ýÃ% _ÜÊ¥Î-ß ÷ýtõýðÿ7 ýõýøÿõþüöÿõøüôÿ@Àeðþ7ìü÷æü7 âüõ ÎÎ ß wøÿÆüwðÿÀüý òÿŽÎe æFß Ö =òÿ? ¢ü÷eœüÀ˜üAÁeðþ@à@€ rÀ ß Aòÿ1÷rüpü ÀÀ @aÀeðþÀ-`ü@òÿÁÁ @`ÁÁ AaHðþƒ êwöÿ<üwôÿ6ü÷ 2üÃ%@òÿÎß X wüÆå _8w üUC Ã%à ‚ ÷ðû÷ ìû7èûÀ% Nß D-5  & ffæß ¤Æe  &æß ‚ –%`D-588)Y5a÷ ˆûÄ% ÙÄ% Ä%Ã%ß X @w^ûªw Xû_ò DB5 öÿÄ%  À76û5 äÿ÷ .û7*ûÀ%÷%ûõ  _î IYÉIY)x YIx YI÷% ûÄ% ÷ÿÿüú÷ øú5øÿNøÿf¦ß ‚ –%5òÿwmøÿØú@òÿ_î N fÎeäÿß „ Ö 5øÿõ%ÿÿøÿ _î ò &µðÿ5 ôÿõ5ðÿ@ðÿÀEI8 ™I¹ù ù ¹¹çÿÀ%@äÿÀ µ äÿ@aAôÿÁ µ ôÿ�lpæÿ@ðÿtþÿ5ðÿ߀ÀE5ðÿõ5øÿõ5`ðÿ÷ ª 5øÿ5ðÿ@ðÿtAøÿÁEçÿ@P5ðÿ@øÿtþÿ5øÿ™8ùùùx YIùù Y)YIY H Àÿÿ3ß dõ�øÿ"@ÀEçÿÀ%ÀÿÿÀ QÀUªªß dÀÀ Põøÿ á‚À xÒ÷P²ñ÷P®ñÀªñ@møÿw ñæ šw ˜ñ÷ÿÿ�ñY)Yõ%ÿÿ ÃÄ õ0ƒ Ä ú7lñÀwdñæ„„„„\–LDR–® < X *ä F ¤ * ö ª â ö Conflict in stIY    ¹ ¹orage classType clashMisplaced 'unsigned'Misplaced 'long'Bad structure/union name%.8s redeclaredBad func. storage classWa( ùY ù8ù‰ùù‰hÉ™Y))™™)Y8‰‰‰¸h¸8‰‰¸Çß 7 ô€À Š €`ðúóõ5`øÿ÷ Z5 øÿ@øÿtÀU5øÿ’Àå ‚À x¼7Àó@øÿÁÂ7x þyß X Àÿÿw˜óæ _Œ w ‚ –%5ôÿóµ Àð-ø÷{-øÿ÷ \ Îß 3÷Ö÷Ô÷óÕÀðÆ÷{øÿwmøÿ¸÷  ffðÿß ‚ –%5ôÿumôÿòÿumôÿ· ’÷÷%ŽóÎÖß w€óùw zó_T BDCõîøÿ Á\óÁeÀ r`7 LóÀÀEçÿÀ%Îß õÃ%„ ÄED-7 ó 2õ õ%™™)x €Œ÷ Î�ß ÷å@|÷÷å€v÷õ ôÿÿj÷÷ed÷õ öÿs-÷ ÆsÿH÷÷eB÷Ä%Îß ’ 3Ä ‘5 Þÿ÷ "÷5ôÿÀ% õ%ôÿYIµ Þÿõ%PôÿwôÿþöÄ% óôöÎß 7`èö÷-äöâö÷ÜöÚöõ ÞÿÎ & æß –%SÄ% Cóºöõ Þÿ!ήö· ªöæpæËæªß ÆeÎ æ8æß –%À5ÎÒæ®ß Ö Îß æÎæ`ö· \öæpæÌæ°ß Æe ÎÊæ¶ß Ö Ä% õ ÞÿÎ& æß –%Îß @òÿw8 ))öÆå_¬w ö!DÎß Àîõ7êõ7æõæß D Ö ŠôÅr4 4 ô�Èõ ô w¾õÞw ¸õDCÌ’ôœôôôô߀ÀEøÿ5Pðÿõ w öùÃòùÀœ À-êùÎß ú õ äÿ3 ?@äÿÀ ß 5àÿ÷ÂùÀù5 ôÿu-äÿôÿ+@ôÿÀ @màÿAôÿÁ AaAæÿH@5øÿÀôœ ô w~õãw xõ_h ÃpõB5 øÿ÷ dõ_H N¦ß „ Ö 5øÿõ%ÿÿøÿ@øÿ_d õ5`øÿ÷ ž5 øÿ@øÿtÀU_d õ ÷ õÀ%ÀEçÿÀ%@ôÿÀ ÀlÈ @ôÿÀ ÀlH-øÿ÷ ص ôÿÑsàÿ@ðÿÀEçÿÀ%Ä% Ä Ä% õ ÎVß Ë‹%Ä%Ä%Ë¥Ä% )N¦ß „ Ö 5øÿõ%ÿÿøÿ@øÿ_d Ãèô÷ äôÄ%_X 7Òôõ C÷Äô5 _X öô÷²ô÷ ®ôj÷ ¤ô· žôÚô æ4æË¥ s-ðÿÄ% Ë¥ s-ðÿõöÿ÷ V_è Ë‹ÀÀEøÿÀ%@ðÿÀEøÿÀ% ³,Înß ÷ ªøsðÿò ³Ä% 襧 ò–%÷†ô÷ ‚ô÷ |ôÄ%fõ5`øÿ÷ Ö5 øÿ@øÿtÀU5øÿÐÊ%Î¸ß Ê÷ <ôÄ%70ô÷ ,ô7(ô÷$ô÷ ôÄ%8Ê Î _î õ  _î Ä%÷ rø÷løÀføð÷^ø ‘ _î 5 òÿÄ% _¾Îß 5òÿ÷ :ø76øÀ%=5 òÿ÷ÿÿ&ø÷ "ø5øÿNøÿffðÿß ¸h8)Yx YIy)H Y  ¹ ¹x YI¹)Y)Y™Y¹  8 ùùùùi™Y ™)  _filenam @_opdope _ctab _symbuf _hshused _hshtab È_cp _isn _swtab _swp _conssymsavebitsøÿsavememlöÿsavenmemôÿstrpòÿdsðÿmemsðþL50ªL51r_pushdec"ú tlab _brklab _retlab _deflab _autolen _peeksym _peekc _eof _line _funcbas _curbase L52˜_gblock L53¢_redec"t L54ÈL55îL56ÜL57èL58-L59ÖL10013_coremax _maxdecl _maxauto _defsym _funcsym _proflg _csym _cval _lcval _nchstr _nerror*L10014.L60VL61FL62’L63¾L64ºL49æ_decsyn"X ~declareòaskwtptr _paraml _parame _strflg _mosflg _initflg _inhdr _obuf _sbuf _loregse _hiregse _bitoffsetL65¢L66øoskwisunionL682L692_length L702offs _funcblk _cvntab _numbuf @_memlist _nmems _structh _blklev _declist"~declistcsv L732L10015<L10016@_decl1"¤L74pL75nL76tL71tL72€L77˜L10017sclassL1PL2scoffsettyperäÿL4 _getkeyw"VL5<_declare"ò_align’L67ž~decl1¤askwatptroffsetabsname L78ò L79¬t1øÿchkofföÿaÂ%Nøÿß €ÀmúòÀ%7 ðòÄeõ%Â%Nøÿß €ÀmÎòÀ%7 Äò„ Îýß @íw¬òæ ™w ¤ò Îß Nß w"‚ L3Lcret ~getkeywVscptrtptrL6(L7^skwtkwlongfoŽòõw ˆò ΂òÎe æ#ß Ö wpòôw jòdÄdòÄ]`ò@JÀRòÁNòA @@ÀUÿß dÃ=:ò÷P4ò÷P.ò÷e(òÀ$òÀeP=Nß À%øÿisadeclöÿismosôÿunsignfòÿL10000˜L10001œL9 L10003¬L10002°L10004´_symbol Y ¹ Ù™Y8ÙÙL11þL10005 L10006L13L14L15L16L17L18L19<L20 )Y8)Y¹¹4L21<L22â_error L12L23DL24LL25RL26\L10007hL10008l_strH¹8¹¹8¹¹dec"0L27„L28„L29„L30„L31�L32üL33–L34¦L8$L35¬8)Y8ˆ)Y™8)Y™©™©L36ÂL10009¼L10010ÀL37ÚL38ÒL39ÚL40L41üL42êL43üL44_cvtabôL45üL46L10012žL10$~strdec0mosfunionfL47êL488elsizeo* L104L105"L106è L107VL108VL109nL110hL111xL112„L113ªL114H L203ýL187P ~decsynX oL204r L205^ L207_errflus L206n ~redect L208–L115žL116¾L117JL118L10024L119L120,L121^L122ŠL123�L124� L209z L211#L210Œ _free_re ~goodreg’ hpL212`L213˜ wordgotœL125®L126Ô_goodreg"’ L127ÔL128ôL129 L130< _rlength L131& L132: lengøÿL216>L217ª _findreg"dL218Î L219Ø L214\L220â L221ö L222ö L223_cinit L133â L134È L135� L136ª_outcode L137Ž L138®L139¸ L140°L141ö L215JL224L225L226L10034Ò~findregdavailsetL227œL228jregbit¶L142â L143â _prste ~pushdecú aspL144B L145 spnsp_cpysymb"D L146L230|L229˜L231„L232�L233Œ> ~cpysymbD s1s2L147‚ L148J rs1rs2L149~ ~getype„ adimpabsnameL150h L151Œ L1534argtype4typeøÿodsdimpL155H L156¤ L157Ä L152d L158Ô L159ä L10025ô _nextcha L160* L161 L162X L163N L164Ä2à w üÿDÄ5øÿÎß  tþÿÀEÁEøÿ@PwÌÿèw Æÿ@ÀEtAÁEøÿ@PÀUw¤ÿïw žÿNß Î�ÿ* L165B L154X L166F L168, L169X L170€ L171Œ L172œ L173® L174À ffægæ(ß ÆÆewtÿëw nÿ;DÌ%h(ü%$ô% æÈæ-ß Æ–% ô ô% æÜæ2ß Æ–% ôÿelsizeòÿskwtypeðÿdsymtptrdimäÿfldpâÿdpàÿisinitÞÿL10018ÂL175¸L176ê L177ú L178ö L179ÇL180 L167< L10027¼L10029ÂL10030ÈL10031L10019ÆL10020äL81ðL80î L820_conexp _getype"„ L83RL84¤L85bL86P ~typovn L181€ L182t L184ÖL183| ~align‚ typeoffsetaflenL185T L186¤L87–L88°L89òL90Î_typov"n L91 L92L93*L94¨L95DL96Š atflenftløÿL188îL189´ L190´ L191Ê _decref L192à ¢L98œL97œL99ÔL100ÀL101ÔL102VL103"L10022äL10021êL10023þL193à L194H L10032ò L195 L196 L197 L198H L199@ L200, L201> L202+  æWß ÆÖ ÎæYß ÆÖ n& &&&æ[÷ "Æe `&&æ`ß ÆÆeT&&ædß ÆÆeH&æ ææhß ZÎ&ÎUþß Ö õ]úùöÿðÎ&ß Ö õ]èùöÿçõèøÿõøÿ@øÿõ øÿÀ Ê‹ ΀”&ÎE€ÿß Ö ïÎ& ß Ö õ]¤ùöÿÅÎæß Ö õ]�ùcodeYÈéYéY9öÿ»Î& ß Ö õ]~ùöÿ²õ öÿÎÐß Îß Îäß Áô7R þy˜wBùÆå…ø* *******2ªÚÂ*ŽTZ^nvšéY9fT01BFNS†t`ô $žIllegal indirectionBNNNB1N0BNBNBIllegal use of type nameBNNSNBNNNBNNBNFBNNNBNNéYÈNIllegal use of typeBNBNBNUndefined structureCompiler error (length)Break/continue errorWrite error on tempBotch in out(é(阘é(鯯e9ß   &&&æmß ÆÆe%Îrß ß À ð5 ß &æ†ß Æ–% Àå  ã‚À xÄw’ý_(éÈøÈéw Šý Næoæ‰ß Æ–%wrýôw lý NæpæŒß Æ–%wTýôw NýB „Ä5øÿÀ ß 2Žß ì2Àwýäw ý\B„Ã5 øÿÀEçÿÀ%ß AøÿÁ µ øÿ�lfÁVpCêÀEÀ% 4Ä%Àt-ÀEøÿÀÀ &À$Àt ÀtÀ_cvtt„Î�ß ÁDp@  ‚À xä룧 wVüæ ¢w Nü Nß ì€ ÀEw8üõw 2ü:÷ ,ü7(üÀ%/÷ dÀ%;*Äüô‹ ß Ì‹ô ôôÕ@ô ôèû· âû̥̋ ô%÷ÿÿÊû w¼ûÅw ¶û ÷ À% 7 ¦ûøÀ ûwšûòw ”û)ÄÈ(éYŽû÷ ˆûÄ% Ä% Ä Ä% Ä ÷ fû· `û7 \ûÄ%· PûÄ 7Hûw@ûÖw :û õ Î»ß w&ûöw û%÷ û?û÷eûéYéYéYÎ$ß Îÿÿ÷åþúÄúú&ß Ö & & & æfß Æeß ŽwÔúÚw Îú1÷ ÿÀ%;&÷ ¾úÿ¶ú÷e°ú?¬ú÷e¦úÎPß ÀšúÁ–úAþÿp þÿÎnß ÷å~úÎzúß ŽÎrúß rwjúÎw dú@ÀE€ÿ5øÿÎfÎeøÿæß –%w>úæ ìw 6ú_¾Ã÷ *úÃDÄe7 ú5 öÿ@Ÿµ ß ÎÿæÖæ5ß Æ–%wöþÄw ðþ_nD ÎÚæ8ß ÆÖ _j_ZË¥ Î:ß Ë‹æ À’&ææSß ÆÆeË¥ ÎÎeÈÈéYéY9 Éx , ror _paraml _parame _strflg _mosflg _initflg _inhdr _obuf _sbuf _loregse _hiregse L73ŽL74TL75TL76ZL77^L78fL79nL80vL81„L82�L72_bitoffs _funcblk _cvntab _numbuf @_memlist _nmems _structh _blklev _decref"~decrefcsvšL10007äL83£_rlength"®~rlength®csL84ÈL85´L86Ä_simpleg"Ê~simplegÊL87‰‰ éYéY™  atL14L2tL4L5_error L30cret _incref"6~inci9iiéYÈéYùyyref6tL6\L7<L8X_cbranch"^~cbranch^tlblcondL9Œyy(éYùÈyyyyyyL10d_treeout" L12(_outcode"ÆL11ˆ_rcexpr"Ž~rcexprŽatpL13 L14”tpyyÙéYéYx9ˆéL16îL17ÈL18-L15L19îL10000ÖL20îL212L225~treeout atp !"#$%&L23nL24tphpL26,L278L25jL29ZL302L31DL32:L10001RL10002VL33SL34~L35WL36ŒL37YL38ŽL39[L40ªL41`L42ÂL43dL44ÚL45hL46øL47mL48 L49rL50*L51FL52†L28jL10004Ä_branch"r~branchrlabL53ŽL54xL56‰L55Šab _filenam @_opdope _ctab _symbuf _hshused _hshtab È_cp _isn _swtab _swp _label"�~label�lL57¬L58–L60ŒL59¨_plength"®~plength®apL61_contlab _brklab _retlab _deflab _autolen _peeksym _peekc _eof _line _funcbas _curbaseêL62´tlpL10005ÆL64ÌL63æ_length"ì~lengthìacsL65 _coremax _maxdecl _maxauto _defsym _funcsym _proflg _csym _cval _lcval _nchstr _nerªL66òtncsndøÿL68L69.L70>L67¦L71L-  ô�rt ÃÒTÂe Ã%ÚTƒÒ”û7ØoÀwæDæ •w ÒD%õÒTøÿ@Ÿøÿ5öÿýÅ€ÿøÿÄTGCøÿÒ¢ Ó‹7˜oÀ õÄeî}�öÿøÿ w’DÆå|d<>��8ƒ8ƒ8ƒ8ƒ8�8‚8�8€8�8÷ Æe&&ß ¼–%_R÷ Z+7 nÄ%=À<_RÄ% ÀP_RÄ%<Ä%>÷ (+!�DL88Ðcsp_symbol L90<_nextcha"FL91ø_pushdec L92L93L10008({{{0&ððL94<L89@~nextchaFL95fL96LL98L_spnextc"hL99\L97b~spnextchL100ÀL101ncL103z_getchar L10009†L104ŒL105´L106¦L107 L108´L109´L102¼_chconbr"Â~chconbrÂlL110ÚL111ÈL113ÖL114»L112Ö_dogoto"Ü_cvtab#Þ_filenam @_opdope#_ctab#ø_symbuf _hshused _hshtab È_cp _isn _swtab ~dogotoÜL115,L116ânp_tree _build _chkw _block L117(_doret".~doret_swp _contlab _brklab _retlab _deflab _autolen _peeksym _peekc _eof _line _funcbas.L118–L1194tL121ŠL120’_putchar"˜~putchar˜cL122ÂL123žsc _curbase _coremax _maxdecl _maxauto _defsym _funcsym _proflg _csym _cval _lcval _nchdЉˆ‡†…„ƒ‚�€~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLstr _nerror _paraml _parame _strflg _mosflg _initflg _inhdr _obuf _sbuf _loregse#xKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('_hiregse#z_bitoffs _funcblk _cvntab#î_numbuf @_memlist _nmems _structh _blklev .  Äv5 ôÿõöÿ5 øÿ÷ ˆ(Ã%0ÂÔ�Ã%0Ã%9Â%YÃ%aÃ%fÃ%APÃ%FMÂ% Á"kÀkv7kwkÂ% ÁkÀkvBÄ ÷ zõÃ%Ãe÷8:Ãd 1Ä _Þ,· Ød$Ä ý%(øÿý%1øÿ CøÿÃeõåøÿõåÎÿ  rÁ Áe”HA! þy6Ä ÀmøjÁmöj@ v7êjwèj ÁâjÀÜjv7ÔjwÒjÃ%0Ã%9Ãå0 Ã%aÃ%fÃåWÃå7ÁÀ 7` jw`žjw ˜jµ ôÿ_8Ã%.Â%õ%öÿ_Þ ÀÀ ÈOt÷ÿÀEÀÿ5¤ÿ÷ nd Ã% Ã%ý%Zøÿõ¤ÿuÎÿ¢ÿu-¢ÿ¤ÿ u-¢ÿ¤ÿ3ÀÀ ð5€ÈO-Àõ%¤ÿ õ¤ÿÁI72; þy Nòÿß žõöÿ_8õ ôÿõ'öÿ_BÃ%eÃ%E õ øÿµ øÿõöÿÂ%Nòÿß ž÷ ˜=Ô�Ã%+ Ã%-Ã%06Ã%93-Ã%xÃ%XÂ% @Àeöÿ@-øÿ‡Î0Kß žÎß æFõeøÿýøÿõeÎÿ}¤ÿÎÿ_þ õåÎÿ@øÿ5 ÿõåøÿ>÷9 ß ž÷åZ`ÀV`Oý%døÿõa ÿ8Ã%;N ÿß ž÷ øi÷ ôiõ%öÿNòÿß žÂÃ%lÃ%L õ%öÿ÷ .=õöÿ÷ =_–÷Žiõ%öÿ 4ŠÿÿÀåv7ŽiÀ'õ%öÿ÷ ~i_þ ? .`÷e(`õd ÿ&Îß x?`÷e`Ã%_þ Ã%Îß ž_þ  rÁ Áe(IA! þyN ÿß ž_ª ÎDKß žÎß ôB ÷ xi×-riÿƒÂ% ÁdiÀ^ivÿÿÀ W ÿƒõöÿ÷Fi@i@öÿwL>Æå_bw 4>÷ L&@-@7 þh@w >ðw >D7 iCw 8Æå¬_Ì w ô74DÂÎbÃÐbõ”_àÿ÷Âb¾bõâÿNÎeäÿfÎeâÿß bÖ Š4Š & fÎeäÿfÎeâÿß ° Æe·„b÷†bwàÿH_Ì w–7ÆåÉõ · þhÎÈfæpæ°Jß p0ÆeÃ'ÎÈæ´Jß p0Ö Î"ß Ö ÷ ºh · ´hÎEÿæ¶Jß p0Ö ì÷ žh· ˜hιJß p0μJß p07 Œhw�=w €7@€ ÀEß ÚÄÂv“”ýwd7ìw R7_¢õ%Î(ß žõ$@À 5ÈOòÿõ5òÿ÷åÐ^ÎÌ^ß ²ß fµøÿ÷å»w ~=-7 nh Î'ß Ö Àƒ À%ÀRhÁet7FhìÃ%ξJß žÃ%õ�,høÿ@�øÿ7"hÀw.=æ Ñw =_ CÄ�n_ô 7 †n2*+,-./03456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`ab_ú ÷ `;Ä Àÿÿ]QÎÖJß ž7ÀgÀÿÿR÷ :;5À JÀ GÀDÀ A  ƒ Ã%Ä%0 Ä%7 —tÀeÐÿ`÷ ô:ì7 n€'ÀP7NCÀP_R7 ÒmÄ%<ÀLÀK_Rô¥(ÀP!ô¥1ÀP÷ è*À% Ä%-Ä%&Ä%*æ\Jß žÖ ÷  m�ÀPÀe_R7pmÀP_RÎÀ $÷ „g· Æ<7 zg÷ Ð:·  rÁ Áe8HA! þy"Á„H7Ø= þyw><�w ,<_ô÷gg@ÀeÐÿ5øÿ@Àe¦ÿ5Îÿ@ÀePÿ7¶c& &ß ¼–%À À._RÎ>æ?æ=ß ¼–%_RÎ& &ß ¼–%À À-_RÎ@æAæ=ß ¼–%_RÎ=æ"æ=ß ¼–%_RÎ& æ/ß ¼ýÈøÿýÎÿ ÷ r÷À_R ÂÚfÊ¥ _P Ê‹*ò '÷ Ê#À%(Ê• òÊ• ÷ ¼fÎ KÎKæ”fÎe ¦Îe æëJß žÆe÷ ’f÷ ‚f–%À À]_R_Î& æ\ß ¼–%À À__R ææ*ß ¼–%À À+_R÷ Ô)7 ŽlÄ%* ÷ Â)À%/7 zl÷ ú?_¾ê· llÎzJß Žß L?,c÷e&cQÎdfß pæß ¨Ö ? c÷ecAÎ ß ÚÊòò2fò.f ¿àb÷eÚb+Îfß x?Ìb÷eÆb! æfß âÖ Îž _R7Xl÷ Úh÷¼Abl· ¶AÀ`÷ Ü]ÃÒTô¥{ÀPô¥|ÀPÃ%ÚTƒ‘÷  ?ðÃ%ÚTƒŠû÷ 0l÷Õ€O7 $l7úk÷ dûÄ%÷%[þkÄß ÚÊ• òêeŽ& æðqææß üÆe?ˆb÷e‚b@Àe ÿÀ-xb‡ÎKß žÎß æFÄ _ÞÄ_þ ý%øÿ_ÞÄ _Þ÷Ü:Îß Ú[.Î5æ/æ&ß ¼–%$Î6æ0æ|ß ¼–%Î�Jß ž÷ .?_¾  rÁ ÁeÄGA! þy4�ÀPwª@_|w –@_´õ¢Jòÿ7 €k7 ~kß ü?,b÷e&b÷ ðõÃ%_Þà õåøÿõåÎÿý%[øÿÄýdÎÿ_þ _Ä ÃeZÄ _ÞUÄ Ã% OÄ  Ã%/Ã#Ã$/ @GR $ ð€&Ð 6÷ –%ß æF‰w ÖF_>õ%ÎJß žÎß æF @&ß šEÖ 7v @æJß žÖ Îß æFÎr@]õ%_Ä%D-øÿ5 îÿõ% Ä%õ%øÿµ .õ5òÿ*õ%>Ä%õ%øÿÄ%õ%øÿõ öÿõ%öÿõ%öÿõe&ß ¸EÖ À Ît@&ß ¸EÖ À ÎJß žÎß æFõ%· 4qÂTG„ Ì‹•`ûÁÀ r,Wpñ•ßTÂeì ß |F7òp7ìp7ìpõ%îÿõ%îÿ5 îÿõ%îÿ5 îÿõ%)5 öÿµ ìÿ D-øÿÄ% õîÿõ îÿ4Îß X-Žß X-5øÿõ%îÿõ%îÿD-øÿΈLß žõ ÷ âp÷ t0ú æ.Jß p0Ö · ìp æ0Jß p0Ö Îrß 8FÎtß 8F÷ Æp Îß æFwÂE_"w ®Ei5 øÿÃÒTÃ%ÚTƒÀ”ÀE€ÿ5`øÿ÷AøÿÀ r,Wpðÿ Nøÿfîÿföÿæß ªÆe fîÿföÿ¦ß ªÆeõ5òÿ5 öÿõ%öÿõöÿõ%öÿ5 öÿõ% !röÿòòõ öÿó%DÄeÞTôµ÷ œÀ ÀEÂe Ê‹ÃÒTÃ%ÚTƒÒ¤ú7>pÀ3ÄeÄ%¦n‚ÄÞTæ· S÷%,SÎ2Jß žÎß æF Š4 4 4 4 4  Ž& & & æmß üÆe¿šX÷e”XEŽæfß N–%À õ ðÿ€À5ôÿŽæ@ôÿ&@ôÿ&föÿfß üÆe ?HX÷eBXõ ìÿÄ% ´^ð^õ%[ Îß –-ß x?˜^÷e’^_žõ%# Îß ²õ%dÎß fÄ5 ìÿ5 öÿ@_ÀÀEçÿÀ%ÀEçÿÀ%ÎîKß ž_Ú÷å0XÃ,XÎß X-æ& æß ªÆe?X÷eXw^0Æå_¦w F00@œ¶PÀ ð5ÈOõ ΛLß žN ß xf& & f&ß üÆeÿ2^÷e,^_žÊ%ÎLß žŽææZß N–%À _žuøÿöÿŽæ& & föÿfß üÆe ?â]÷eÜ]_ž _ÚÀEçÿÀ%ÎLß žŽææ N& & f&ß üÆewð/Ïw Þ/&DBCôô´Ì%#Žß ª* Ì%$Žß à*Ì%(âwœ/Ùw Š/"Dæ&÷ °Ö &ædß üÆe ?˜]÷e’]_žË%#ÿ‚]÷e|]_žÀEçÿÀ%Î-Lß žÎææ&÷ XÖ &æ$ß üÆe?@]÷e:]_žÀÀEçÿÀ%Ì% &&æ÷ JÖ &æ#ß üÆewP/Ýw >/4CÄÀEçÿÀ% Ë%û¥ Ë% Àóeÿ¸V÷eË%$ÿ*]÷e$]_žË%Îææ&÷ DÖ &fß üÆe?ö\÷eð\_žÎALß ž_ÚÿÜ\÷eÖ\Î#ß ž÷åÈ\ÃÄ\Ê%ú¥  ²VÎ&÷ ®Ö &æß –%Î#ß ž÷å�VÀŒVwà.Ëw Î.@Ä%Ä%D-õ%ÀEçÿÀ%ήLß žwš.àw ˆ.@ÎPLß žÿª\÷e¤\_žõ øÿ €ðµõøÿNøÿß à*5öÿÎÿÿæß "Ö Žföÿæß –%€ß x榦föÿæ(ß üÆe ?6\  À À À ù‚À x¤Kwd.èw R.+· JY÷‹æ;Î’TæÆLß CÖ Î†.æÊLß CÖ Nff f fffß CÆe Î÷e0\Î$ß ž€ðµ€÷å\æ \& & ææ ß üÆe ?ò[÷eì[_ž  rÁ ÁeVKA! þy"õ5òÿÎß õ5òÿÏLß Cw.Ôw ô-$Î ß ÚLttt t @À ð5ÈOt 4 w¶-Ûw ¤-D&&&æß üÆeÎæß "Ö õ5 òÿÎ¦ß "Ö õ5òÿ(õ%3Äõ%4  æfß N–%À Îææ&fß üÆe?H[÷eB[_ž5 îÿÄ%wŠ-íw x-Î ß ÚÌ4 4 4 twZ-ëw H-Î ß ÚÌt4 4 tw(-êw -ÄöWwmðW÷-îWêWõ%øÿÎfLß ž 5øÿNøÿß h&&÷ ÎÖ t€eœ¦P5îÿ@îÿtüÿÀEðÿ5ðÿõEðÿîÿõ ðÿ@øÿ5öÿõ öÿõ%öÿ Ä%õ%øÿõöÿõ5òÿõ% 15öÿõ%Põ% õ%îÿõ%îÿ 5ðÿ5îÿõ% îÿ õ ðÿõîÿõîÿ5 ðÿõ ðÿuðÿîÿ5 ðÿPõ%õ%0 w 'Æå _Dw ò&UC Ã%à ‚ ÷ÞQ÷ Tâ7 'À% Nß –-D-5  & ffæß ° Æe  &æß Ž(–%`ôôôœ ô wr ãw ` _t(ÃFKB5 øÿ÷ ÌÛ_T(N¦ß �&Ö 5øÿõ%ÿÿøÿ@øÿ_p(õ5`øÿ÷ ž5 øÿ@øÿtÀU_p(‚Îß |FÀ%ÿÿÎÑLß žÎß æF÷eÆWwâ,àw Ð,DÌ% Ì%Ì%$ÎÞLß žw´,ìw ¢,_ÒDÌ% _Îõ%Z*@D-55a÷ ðáÄ% ÙÄ% Ä%Ã%ß d)@wR&ªw @&_þ%DB5 öÿÄ%  À7$Q5 äÿ÷ –á7b&À%÷%V&ø%!@ø% ô @@ 4?øS÷eòSÀ_Î _Îõ  ý% _Î@@_ªƒ`_ºõ  _ú%÷%B&Ä% ÷ÿÿ4&÷ Âú5øÿNøÿf¦ß Ž(–%5òÿwmøÿØT@òÿ_ú%N fÎeäÿß �&Ö 5øÿõ%ÿÿøÿ _ú%ò &µðÿ5 ôÿõ5ƒà_ºÁBpC_ºÁÀ rXÁÀ rCS€@ @OƒPM€xÀIÀ EÀ@ AÂt?€ Àt;ƒ  À3ƒ  À+ƒ  Àðÿ@ðÿÀEçÿÀ%@äÿÀ µ äÿ@aAôÿÁ µ ôÿ�lpæÿ@ðÿtþÿ5ðÿ߀ÀE5ðÿõ5øÿõ5`ðÿ÷ ª 5øÿ5ðÿ@ðÿtAøÿÁEçÿ@P5ðÿ#ƒ  Àƒ  Àƒ  À  Àå% ø‚À x´Kô?äR÷eÞRÀw.+_Vw +· V÷ àîÌ%Î@øÿtþÿ5øÿ߀ÀEøÿ5Pðÿõ w ÌOÃÈOÀœ À-FTÎß &õ äÿ3 ?@äÿÀ ß Ú5àÿ÷�OŒO5 ôÿu-äÿôÿ+@ôÿÀ @màÿAôÿÁ AaAæÿHîLß ž÷ V÷ÚUÚUwö*èw ä*% DNÎeäÿfÎeß bÖ À ÎfÎeäÿfß þ–%5è æ& ß Ž(–%À`w¤*ÆåØw Ž*_45 öÿ @5øÿÀÀEçÿÀ%@ôÿÀ ÀlÈ @ôÿÀ ÀlH-øÿ÷ ص ôÿÑsàÿ@ðÿÀEçÿÀ%Ä% Ä Ä% õ θMß žË‹%Ä%Ä%5 òÿ@0 @0 @0 ÃÿÿDÄ% Ä% À5ôÿõ ôÿõ öÿ À76U÷ ¬å5øÿõ%øÿÿ¥ Uà ÀU@ÁøTË¥Ä% Ë¥ s-ðÿÄ% Ë¥ s-ðÿõöÿ÷ V_ô%Ë‹ÀÀEøÿÀ%@ðÿÀEøÿÀ% ³,ÎÐMß ž÷ �Nsðÿò ³p@ÁêTpµ öÿÑõ%øÿÀÔTÀÿÿ_Ä Ä-ÂTÄ%÷%´T÷¬TÎDMß žÄžT_(µ òÿ_(‚ _(@ðÕ÷%|TÄ% Ë• _ú%õ  _ú%Ä%÷ ZN÷TNÀPNð÷HN ‘ _ú%5 òÿÄ% _Ê$Îß –-5òÿ÷ ¢Þ7n#À%=5 òÿ÷ÿÿ^#÷ ì÷5øÿN Îfôÿß <Ö A1÷ZTà Î^Mß žÃJTCwøÿœ)õ öÿ ?à  Ä ÷ ¨XÀÀ õ òÿ à ÃÎiMß ž Ã%øÿffðÿß Ž(–%5ôÿóµ Àð-øQ{-øÿ÷ \ Îß Ú3÷¤M MóÕÀðÆQ{øÿwmøÿ¸Q  ffðÿß Ž(–%5ôÿumôÿòÿà à ÃÎ~Mß ž=@ðÀ  À‚À xMµ öÿ_¬wÌ(Æå_jw ´(_ö÷°S ÷ $äÃ%/ÂŒSw˜S÷ äÃ%€œumôÿ· ÖQ÷%€ÐQ ÎñMß ž÷å@ÀQ÷倸Qõ ôÿÿRv¬Q÷e¦Qõ öÿs-÷ ÆsÿŠQ÷e„QÄ%Îß ž)3Ä ‘5 Þÿ÷ ŠÝ5ôÿÀ% À-òWŽß &ʋʕÎß Ú2÷DS@S: €0 Ê¥÷ Ò µòÿÎß Ú5òÿ÷SS= òÿ@òÿ0 7 "SÃ% _èÊ¥Î�M õ%ôÿµ Þÿõ%Pôÿwôÿ6"Ä% óºLÎß X.7`®L÷-¸L¨L÷¢L®Lõ ÞÿÎ & æß 5–%SÄ% Cóð!õ Þÿ!Îä!· à!æpæËæ Nß ß ž÷L(tõäRðÿ7 öRõWøÿõ@WöÿõôÿNøÿææß 5–%À5ÎÒæøQß p0Ö w-ôÿ>†õ>ôÿwôÿ>÷  ÎÄ% _ö1Ä%Ä%ÎúQõ ÷ öÀ%)N¦ß �&Ö 5øÿõ%ÿÿøÿ@øÿ_p(þJ÷ LÛÄ%_d(7 õ C÷šJ5 _d(Ã’J÷ˆJ÷ Ûj÷ O· úNÃÀ ß ª*2Žß –-2Àwläw Z\B„Ã5 øÿÀEçÿÀ%ß ª*AøÿÁ µ øÿ�lfÁVpCêÀEÀ% 4Ä%ÀpJ æxxæß þ–%÷\J÷ ÞN÷ äÚÄ%fõ5`øÿ÷ Ö5 øÿ@øÿtÀU5øÿÐÊ%ÎNß žÊ÷ ¤ÚÄ%7h÷ öó7J÷úI÷ ˆÚÄ%t-ÀEøÿÀÀ &À$Àt ÀtÀt„ÎaOß žÁDp@  ‚À x¶NÎuOß ž w¬æ ¢w ˜ Nß –-€ ÀEw8Ê Î)Nß ž7 äI€À Š €`ðØIõ5`øÿ÷ Z5 øÿ@øÿtÀU5øÿ’Àå ‚À xM7ø@øÿÁ$M7Î$ þyß d)ÀÿÿŽõw |:÷ öÓ7ÂÀ%/÷ dÀ%;*ÄRCô‹ ß &Ì‹ô ôôÕ@ô ô€· z̥̋ ô%÷ÿÿd wÅwŒæ _˜&w vÎ8Nß žwtùw b_`)BDCõPNøÿ Á\MÁeÀ r`7 LMÀÀEçÿÀ%Îß ª*õÃ%„ ÄED-7 M 2w  ÷ À% 7 ÐBøÀÊBwðòw Þ)ĸB÷ 6Ä% Ä% Ä Ä% Ä ÷ ºB· ü7 °BÄ%· ¤BÄ 7rBw–Öw „õ õ%Â%Nøÿß ž€ÀmúLÀ%7 ðLÄeõ%Â%Nøÿß ž€ÀmÎLÀ%7 ÄL„ Î_Nß ž@íw æ ™w Œ ÎrNß  õ Î�Oß žw|öw j%÷ 4Û??÷e ?Î$ß žÎÿÿ÷åú>Äö>&ß "Ö & & & æfß üÆeß 8+w*Úw 1÷ ÿÀ%;&÷ ØÚÿžNß ôBw‚õw p ÎXHÎe æ…Nß žÖ wdôw RdĘ'Ä]–'@JÀ†'Á„'A @@ÀUÿß p*Ã=p'÷Pj'÷Pb'÷eŒNÀˆNÀeP=NHG²>÷e¬>?¨>÷e¢>ÎPß žÀ–>Á’>Aþÿp þÿÎnß ž÷åz>Îv>ß 8+ΖAß -wÀÎw ®@ÀE€ÿ5øÿÎfÎeøÿæß ÄF–%w”æ ìß –-À%Àÿÿ3ß p*õ�øÿ"@ÀEçÿÀ%ÀÿÿÀ QÀUªªß p*ÀÀ Põøÿ á‚À x4M÷Pè&÷Pâ&ÀN@møÿw”æ šw €_h1Ãr÷ xAÃtDÄe7 âG5 öÿ@Ÿµ ZÎ&ÎUþß ÖEÖ õ]ÂGöÿðÎ&ß ÖEÖ õ]°Göÿçõèøÿõøÿ@øÿõ øÿÀ Ê‹ ΀”&ÎE€ÿw €÷ÿÿôMõ%ÿÿ ÃÄ õ0ƒ Ä ú7ÐMÀwXæw FDÄ5øÿÎæNß ž tþÿÀEÁEøÿ@Pw"èw @ÀEtß FÖ ïÎ& ß FÖ õ]lGöÿÅÎæß ÖEÖ õ]XGöÿ»Î& ß ÖEÖ õ]FGöÿ²õ öÿ΢Oß žÎß æFζOß žÁÆN7z þy˜w˜Æå…w AÁEøÿ@PÀUwúïw èNß ¶+Î,ffægæúNß p0ÆewÊëw ¸;DÌ%h(ü%$ô% æÈæÿNß p0–% ‚_4÷ úÐ_ 4Ä%_ 47´5 øÿ7 ÐDNÎeÞÿfÎeøÿß bÖ À õ øÿ÷%Š_æ35 öÿõ%øÿµ öÿõ øÿõ% øÿ õ% øÿõ% øÿÎ2 õ%÷å¦7΢7ß 8+÷å–7À’7 & & &æhß üÆeß 8+‚ ÷ <Ë5ôÿÀ%  _6õ òÿ_6õ _6õ òÿõ%ôÿwôÿó‹ Îß &3 ÷\4÷ öë_9Ë• óóÕ@ó óš · ” Îß :-_9ÁnQ7´ þy 7t ÷ ðÌß 8+÷ –ÄÄ%ÎËSß žÒ õ%  Á�àupøÿNæÎæµRß p0–% õ à °þÿ NÎe æ¸Rß žÖ ƒ@îÿ7 :7 :Áupøÿ@w"Æå_5w _Ü8@ß ôBw Æå _9w ð_&?÷ hÄÃ%À_"?÷ VÄÃ%÷ ÷ –Ìß 8+÷ <ÄÃ%À_"?΀3ß :-÷ "ÄÃ%÷æ æh3÷ \Ì&ß +–%_ 8ÄŽxÎÔRß ž ÷ bÊÃ%‚ ÷"÷ NÊÃ%.÷Ì Î÷Rß žN& æHGß 5–%N& &ß 5–%Ì%Rv ÎÒæSß p0÷ ÄÃ%ÀQ÷ ðÃ7¼À% ÷ÿÿ°÷ túÎ.3ß - ?Ä"3÷–3· �÷ Ì5ôÿˆ÷ ²ÃÃ%À*õ3öÿ÷3þ2÷ .úõdøÿ·^ÎÞ2ß :-Ö Äe÷ úÉÃ% Ì Î Ìõ% õ%Ì @@ìæÎæSß p0–%ÎÒæSß p0Ö Ã% ÷lw$ˆw Dôµ Nôÿß 8+wøÿHõ-Ü2öÿƒõÔ2öÿ@öÿ7Ä27Â2ß - wÚÆå_>w Â÷ <ÃÄ% ÷ €Ë÷ *ÃÄ%À ÎÜSß žß ôB w”ãw Îe æSß žÖ ôÕ wö ìw ä _ø=÷ \É_¼=Î2Sß ž_ô=õ¢8ôÿõ òÿõðÿ÷ ÷ �8.÷ (ÉÄ%#wôÿx8@òÿ@mðÿÁÚÁmØ@ N‚RÃP2Ä÷ J2À¨n7@2À´5öÿ· ªß -õ02øÿ7 *2÷ bùÎ2ß -Nöÿß :-÷ 2÷2 2Î|æ2æÕæíSß p0ÆeÄ-æ1 ƒ&æñSß ðÿfòÿæiæASß p0Æewòÿ´wðÿ°÷ _ô=7¦ ÷ jÿÏÎESß ž_ô=À68_@=÷ ¸ôÎß -÷ ºõ_Ú=÷ ö_Ú=÷ R5öÿ ÷ ŽÈÃ%cÀp0–%ÄeòÎôSß p0ÎÆ1ß :-wøÿÀ1÷´1wèÆå«w Ò_PAÄ÷ Æ1iÀÂ10 ø1À´17®1ó%óÎß –-5òÿõ%òÿÀ@íòÿø7X÷ |ô0 Â@ ¦· : föÿß +–%÷ põŽß :-*÷ ÎôÀ%;¢7 Ã æ·  föÿß +–%÷ �õÎß :-‚ Âv7Ân7Žß l/Φföÿß + 5ôÿ@môÿ3@ôÿ@mòÿ`ÀÀEçÿÀ%óåóeË¥&Îß ž)7Ú õœQöÿÎß L5øÿ@Àeúÿ7Ö-÷ÈË• ÎPß žNöÿß 8+ó ß ž7 L ÎRß žß ôB÷ wðÆå_v1w Øtà · κ=Îe æræÊæ"Rß p0Æe÷  = Îö· òæÔæ&Rß p0–%Äx=Àð7Ø7Ò÷–%÷ þÇÄ%_æ=÷ îÇÃ%÷%V7_9÷¦ _ô=Àå ‚À xDQ÷Œ  Ä æ· ~ föÿß +–%÷ :þ÷ žÇÄ%÷%7ÂX · T Ž^=÷f=÷èAÎß ÎæÐæ)Rß p0–%÷¦0=·  7 ÂA÷ ÊÍ7–À%Î,Rß ž÷ LÎÑæ=æpæHRß p0ÆeÎ=ææÛæLRß p0ÆeÄ-ß -Îß :-÷ þŽß :-_ô=78 Îß :-_ô=ð6®6À 7¤6·  ß :- À 7’6&·  ÷ ê&ß +–%÷ ¼ýÎv6ß -Îp6ß :-÷f6·d6_ô=Î\6ì<ƒÄæ<7Ú<7Ø6ß -_Ú=Ã26Â06÷¢ (6· œ ÷˜ 6· ’ ÀŽ 5øÿ· „ ß :-÷ FýÎ6ß :-÷ø5÷ žÆÄ%÷%6Îføÿ÷ õ%ðÿÎPRß žõ öÿ)Nðÿß ª*4ôeõ øÿ õ  NÎe ærRß žÖ ß –-5ôÿNôÿføÿ& ß G–%uôÿøÿ5 òÿ÷ ”Ì7`À% õ öÿÒÎ&ß +–%ÎÎ5ß :-·Æ5_Ú=_æ=÷ Äß÷ \ÆÄ%_æ=÷  5ÎQSß ž_9÷%ÈqŒ5‚ÎdSß žÿö z5Àv5ð÷el5Îâ · Þ ß :-_9Ã\5ô%÷ÿÿFµ òÿ ÷ lÌ5ôÿÀ%_^7wôÿ(õ%ôÿ#õ%ðÿõ% Î…Rß ž÷ÿÿõ Î'Î& ß âÖ Âm”;÷ Ì5ôÿ_^7dô%÷Î V5· È ÷ °5öÿÎÿÿföÿß "Ö Nöÿ& & & ænß üÆeß 8+÷ ¾÷5_ô=÷ 5ÎzSß ž÷ 5Î�Sß ž÷ œÅÄ%_æ=ÀZ 7ä4· N&ß æ7Ö YÀEçÿÀ%÷%°N& &ß 5–%F· R;÷ Ô5ìÿ7 F;ôµÎ�Rß žß L?Ö7÷eÐ7ìÿÊ7÷eÄ7ÎPß žõ% P ß :-_9ÃÌ4ÂÊ4÷< Â4· 6 ÷2 º4· , ÷ ædΪ4ß :-÷ 4·ž4bΦSß ž÷ Ðû[Àå ‚À xVQλSß žF÷ ’ñÀ%:+7 l4Ã|4Ë‹3 ó‹ Ë¥ óŠ Ä%�nƒÄeÀÞTD-øÿ“wbæ €w N%D“ ÃØÃÙ Ã× Àå  ù‚À x¨Q&Îe ææ#Tß p0Æewl ¸  $ l ¢  l  P Ø l ò Â Ì  !dØ Ø Ð Ð Ø ð .I��8igitôÿnsynòÿ~subseq¼cab~putstrâlabamaxcmaxƒ8ƒ8ƒ8ƒ8�8‚8�8€8�8lspnsp~cpysymbP&s1s2rs1rs2~getype�&adimpabsnamearoslinesline1øÿssöÿstôÿ~pexpr.?ot~pswitchn?cswpgtypexxtypeøÿodsdimp~typovz(~alignŽ(typeoffsetaflenasswpdløÿswlaböÿ~funchea@plcsbstacköÿnudgeôÿsizeòÿ~blockheXArtflenftløÿ~decsynd)o~redec€)~goodregž)hpwordgotleng~blkendšAcsncsendcsøÿi~prste¢Bacscsnkind~errflusôBao6 p0_fflush"8Fcret"G_lookup"B_findkw"_symbol"t_getchar"XE_mapch"Ö _subseq"¼_spnextc"/_getnum"Z_getccaayzaaazzaabzzaaczzaadzzaaezzaafzzaagzza"r _putstr"â_tree"Ä _nextcha"ð._nblock"L_copnum"p_fblock"¨_gblock"Ú_cblock"x_block"ü_xprtype"ü_bahzzaaizzaajzzaakzzaalzzaamzzaanzzaaozzauild"ž_errflus"ôB_getkeyw"b_decl1"° _disarra"²_chkfun"f_length"–-_fold"N_decref"ª*_incref"à*_chkw"apzzaaqzzaarzzaaszzaatzzaauzzaavzzaawzza"_setype"_chklval" _lintyp"h_plength"X-_convert"ª_printf"C_conexp"Ö_declist" _declare"þ_align"Ž(_strdeaxzzaayzzaazzzabzzzaczzzadzzzaezzzafzzzac"<_pushdec"&_redec"€)_decsyn"d)_getype"�&_typov"z(_goodreg"ž)_rlength"X._cinit"5_prste"¢B_cpysymb"P&_fgzzzahzzzaizzzajzzzakzzzalzzzamzzzanzzzaree_re$px_findreg"p*_cbranch"+_treeout"¶+_rcexpr"8+_branch"-_label":-_simpleg"t._chconbr"l/_dogoto"†/_doret"ozzzapzzzaqzzzarzzzaszzzatzzzauzzzavzzzadretpFgoodrettFflFFsbrk.o|FndŠTwrite.oÄFexit.oæFcsv.oôFcleanup.Gcerror.oGldiv.oØ/_putchar"B0_write"ÄF_errno$rx_putw"ÖE_putc"F_setinit"Þ8_cfunc"4_stateme" 9_ldiv"G_strinit"æ7_blockGsavr5$tx_exit"æFstart"_main"_cvtab#¦P_filenam$’T_opdope#ÈO_ctab#ÀP_symbuf$ÒT_hshused$ÜT_hshtahe"XA_blkend"šA_pexpr".?_pswitch"n?_forstmt">_hreg#†Q_areg#œQ_funchea"@pfloat"NEpscien"NEcerror"G_eb$ÞT_cp$¦n_isn#BG_swtab$¨n_swp$Èq_contlab$Êq_brklab$Ìq_retlab$Îq_deflab$Ðq_autolen$Òq_peeksym#DG_pnd$œx_brk"¤F__cleanu"G_ldivr$šx_lrem"0Geekc$Ôq_eof$Öq_line#FG_funcbas$Øq_curbase$Úq_coremax$Üq_maxdecl$Þq_maxauto$àq_defsym$âq_funcsym$äq_proflg$aaaraaaasaaaataaaauaaaavaaaawaaaaxaaaayaæq_csym$èq_cval$êq_lcval$ìq_nchstr$ðq_nerror$òq_paraml$ôq_parame$öq_strflg$øq_mosflg$úq_initflg$üq_inhdraaazaaabzaaaczaaadzaaaezaaafzaaagzaaahza$þq_obuf$r_sbuf$t_loregse#@Q_hiregse#BQ_bitoffs$ v_funcblk#HG_cvntab#¶P_numbuf$v_memlist$Nv_nmems$Pv_saaizaaajzaaakzaaalzaaamzaaanzaaaozaaapzatructh$Rv_blklev$hv_kwtab#TGcsv"ôF_error"ž_open"šE_fin$jv_fcreat"¸E_sbrk"|F_extdef"n1_outcode"aaqzaaarzaaaszaaatzaaauzaaavzaaawzaaaxza7 = AMAX) { shrunk++; if(maxa >= AMAX*2) { shrunk++; for(p = &a[0]; p < plim; p++) { p->re /= 4; p->im /= 4; } } else { for(p = &a[0]; p < plim; p++) { p->re /= 2; p->im /= 2; } } } for(i=0; ; ) #define complex struct cx #define cmove(a, b) (b)->re = (a)->re; (b)->im = (a)->im; #define AMAX (32767/3) /* if all element{ for(p = &a[i]; p < plim; p += s) { q = p + hs; v.re = smul(q->re,rbase->re) - smul(q->im,rbase->im); v.ims are < AMAX, overflow can't occur */ struct cx { int re, im; }; int scale; int oflow; fft(a, n, conjug) complex a[]; { sta = smul(q->re,rbase->im) + smul(q->im,rbase->re); q->re = p->re - v.re; q->im = p->im - v.im; p->re += v.re; p->itic complex v; int i, j, k; int s, hs; int t, maxa; int shrunk; register complex *p, *q; complex *plim, *rbase; static com += v.im; } k = i; if(++i >= hs) break; k ^= i; /* find changed bits */ p = q = rbase; while((k >>= 1) != 0)mplex wvec[15], rvec[15]; shrunk = 0; k = 0; plim = &a[n-2]; /* permute into reverse-binary order */ for(p = &a[0]; p <=  p--; cmul(p+(wvec-rvec), p); while(p < q) { cmove(p, q); q--; } } rbase++; hs = s; } while(s < n); plim; p++) { q = &a[k]; if(pre; p->re = q->re; q->re = t; t = p->im; p->im = q->im; q->im = t if(oflow>0) { printf("%d overflows\n", oflow); oflow = 0; } return(shrunk); } ; } j = n; while(k >= (j /= 2)) k -= j; k += j; } i = n; p = &wvec[0]; v.re = -scale; v.im = 0; /* build wvec[0..logn] : table of 2**k'th roots of unity */ /* wvec[k] = exp(+- i * pi / (2**k)) */ do { cmove(&v, p); p++; v.im = ssqwzzzart((scale - v.re)/2); if(conjug < 0) v.im = -v.im; v.re = ssqrt((scale + v.re)/2); } while((i /= 2) != 0); rbase = &rvec[0]; plim = &a[n]; hs = 1; do { s = hs*2; p = rbase; do { p->re = scale; p->im = 0; } while(--p >= &rvec[0]); /* f...Awft.cBfts3.cCwfts.cDarths.sEwft.diffFwfts.olook to see if anything needs scaling down */ /* this takes a lot of code, but not much time */ maxa = AMAX-1; for(p = &a[Gscale.sHtryIerfle0]; p < plim; p++) { if((t = abs(p->re)) > maxa) maxa = t; if((t = abs(p->im)) > maxa) maxa = t; } if(maxa >8 int n; int oflow; complex *a; float atof(); main(argc, argv) char **argv; { register int i, t; int flag, printing; long rssogn; int flag, printing; long rsse, isse; complex max; struct { int hi, lo; } ; flag = atoi(*++argv); n = abs(flag); e, isse; complex max; struct { int hi, lo; } ; if((flag=atoi(*++argv)) == 0) return; n = abs(flag); if(n<2 || (n&(n-1))if(n<2 || (n&(n-1)) != 0) return; a = sbrk(n * sizeof(*a)); /* allocate space for array */ t = n; for(i = 0; (t >>= 1) != 0;  != 0) return; a = alloc(n * sizeof(*a)); if(argc > 2) printing = atoi(*++argv); if(argc > 3) seed = atoi(*++argv); srand(sei++) ; logn = i; if(argc > 2) printing = atoi(*++argv); if(argc > 3) seed = atoi(*++argv); srand(seed); for(i=n; --i >= 0; ed); for(i=n; --i >= 0; ) { a[i].re = random(); if(flag < 0) a[i].im = random(); } if(printing&1) print("first:\n"); ff) { a[i].re = random(); a[i].im = (flag < 0) ? random() : 0; } if(printing&1) print("first:\n"); i = fft(a, n, -1); if(t(a, n, -1); if(printing&2) print("second:\n"); fft(a, n, 0); if(printing&4) print("third:\n"); rsse = isse = 0; max.re = mprinting&2) print("second:\n"); t = fft(a, n, 0); printf("shrunk %d + %d\n", i, t); shrink = logn - (i + t); if(printing&4) ax.im = 0; scale = 16; srand(seed); for(i=n; --i >= 0; ) { t = a[i].re - random(); rsse += smul(t, t); if(max.re < abs(print("third:\n"); rsse = isse = 0; max.re = max.im = 0; scale = 16; srand(seed); for(i=n; --i >= 0; ) { t = (a[i].re >> t)) max.re = abs(t); t = a[i].im; if(flag < 0) t -= random(); isse += smul(t, t); if(max.im < abs(t)) max.im = abs(t); shrink) - random(); rsse += smul(t, t); if(max.re < abs(t)) max.re = abs(t); t = (a[i].im >> shrink); if(flag < 0) t -= } t = n; for(i = 0; (t >>= 1) != 0; i++) ; /* printf("sse: (%s,", locv(rsse.hi, rsse.lo)); */ /* printf("%s)\n", locv(isse.hi,random(); isse += smul(t, t); if(max.im < abs(t)) max.im = abs(t); } /* printf("sse: (%s,", locv(rsse.hi, rsse.lo)); */ /*  isse.lo)); */ scale = 4; t = rsse >> i; printf("rms (%d,", ssqrt(t)); t = isse >> i; printf("%d)\n", ssqrt(t)); printf("mprintf("%s)\n", locv(isse.hi, isse.lo)); */ scale = 4; t = rsse >> logn; printf("rms (%d,", ssqrt(t)); t = isse >> logn; prax (%d,%d)\n", max.re, max.im); if(oflow > 0) printf("overflows:\n%d\n", oflow); } print(s) char s[]; { register int i; priintf("%d)\n", ssqrt(t)); printf("max (%d,%d)\n", max.re, max.im); if(oflow > 0) printf("overflows:\n%d\n", oflow); } print(s)ntf(s); for(i=0; i> 5); }  char s[]; { register int i; printf(s); for(i=0; i> 5); } #define complex struct cx #define pi 3.1415926 #define rads .01745 struct cx { int re, im; }; int scale 1000; int seed 1254;  int seed 1254; int n; int oflow; complex *a; float atof(); main(argc, argv) char **argv; { register int i, t; int shrink, l9 smul add r2,r0 / b.im*a.re + b.re*a.im bvc 2f inc _oflow 2: mov r0,(r3) / set b.im jmp cret _ssqrt: mov 2(sp),r0 ble r/ 1/2 : 26.56505 2555. / 1/4 : 14.03624 1297. / 1/8 : 7.12502 651. / 1/16 : 3.56733 326. / 1/32 : 1.78991 163. / 1/64 : .et mov r2,-(sp) mov r3,-(sp) mov r4,-(sp) mov $4,r4 mov _scale,r1 cmp r0,r1 ble 1f 2: asr r0 asl r1 cmp r0,r1 bhi 2b 895173 81. / 1/128 : .447614 41. / 1/256 : .223810 20. / 1/512 : .111906 10. / 1/1024: .0559528 5. / 1/2048: .0279764 3. / br 3f 1: asl r0 asr r1 cmp r0,r1 blo 1b mov r1,r0 3: mov 10(sp),r2 mul _scale,r2 div r0,r2 / N * scale / x bvc 4f inc _oflow 4: add r2,r0 ror r0 / ((N*scale/x) + x) / 2 sob r4,3b ret4: mov (sp)+,r4 ret3: mov (sp)+,r3 ret2: mov (sp)+,r2 .globl _smul, _sdiv, _ssqrt .globl _cadd, _csub, _cmul .globl _itoatn, _atntoi, _rotate, _polar .globl _rand, _srand .comm _scaret: rts pc _itoatn: / convert scaled int angle to atn representation mov r2,-(sp) mov 4(sp),r2 / r2 = angle mov $atans,r1le, 2 .globl _scale .comm _oflow, 2 .globl _oflow .text _smul: mov 2(sp),r0 mul 4(sp),r0 div _scale,r0 bvc 1f ovf: clr r0 / table of arctans sub (r1),r2 / subtract 90 degrees mov $1,r0 / prepare to loop 16 times 1: / (until the 1 is shifted in inc _oflow 1: rts pc _sdiv: mov 2(sp),r0 mul _scale,r0 div 4(sp),r0 bvs ovf rts pc _cadd: / cadd(a, b); struct cx *a,to carry) tst r2 / compare angle to zero bpl 2f add (r1)+,r2 / < 0 : add angle asl r0 / shift in 0 bit bcc 1b / loop bac *b; adds a to b mov 2(sp),r0 mov 4(sp),r1 add (r0)+,(r1)+ bvc 1f inc _oflow 1: add (r0),(r1) 3: bvc 2f inc _oflow 2: k br ret2 / unless all 16 done 2: sub (r1)+,r2 / > 0 : subtract angle sec rol r0 / shift in 1 bit bcc 1b / loop 3: mov rts pc _csub: / csub(a, b) mov 2(sp),r0 mov 4(sp),r1 sub (r0)+,(r1)+ bvc 1f inc _oflow 1: sub (r0),(r1) br 3b _cmul: (sp)+,r2 / yes, return rts pc _atntoi: mov $-18182.,r0 / 18182 = sum of all arctans, / so -18182 = sum of values of all 0 / cmul(a, b); multiplies a into b jsr r5,csv mov 4(r5),r4 mov 6(r5),r3 / dest mov (r3)+,-(sp) / save b.re mov (r3),-(sp) /bits mov $atans,r1 mov r2,-(sp) 1: mov (r1)+,r2 asl 2(sp) / test bit in atn representation bcc 2f / if off, leave angle s multiply b.im mov 2(r4),-(sp) / by a.im jsr pc,_smul mov r0,r2 mov -(r3),(sp) / and b.re mov (r4)+,-(sp) / by a.re jsr pcubtracted; asl r2 / else add it in (twice, add r2,r0 / to correct for subtraction) br 1b 2: bne 1b / if anything's left, ,_smul cmp (sp)+,(sp)+ sub r2,r0 / b.re*a.re - b.im*a.im bvc 1f inc _oflow 1: mov r0,(r3)+ / set b.re / now mult b.re (continue mov (sp)+,r2 rts pc / else return .data atans: / table of arctangents. / table[0] = 90 degrees, / table[i+1] left on stack) mov (r4),(sp) / by a.im jsr pc,_smul mov r0,r2 mov (r3),(sp) / mult b.im mov -(r4),-(sp) / by a.re jsr pc,_= arctan(1 / 2**i), / with angles scaled so 360 degrees = 65536. 16384. / 90. degrees 8192. / 1 : 45.00000 degrees 4836. : stuvwxyz|}~797.,r0 add r3,r0 / as above -- leave x in r0 rts pc _srand: / srand(seed); seeds random number generator mov r2,-(sp) mov $103.,r2 mov 4(sp),r1 mov r1,r0 bne 1f mov $31415.,r0 movb $271.,r1 br 2f _rand: / rand(); returns random signed int  / uses a 24-bit pseudorandom bit sequence mov r2,-(sp) mov lseed,r0 movb hseed,r1 2: mov $10.,r2 / ten shifts per call 1: mov r3,-(sp) 3: mov r1,r3 bic $!204,r3 / isolate bits 19 and 24 add $200-4,r3 / xor them aslb r3 / shift (19 xor 24) to cgrees to theta 1: clr r3 / n = 0 2: mov r1,r2 com r2 / use complement of y's sign jsr pc,stepxy / step by +/- atan(1/2**n)arry rol r0 / rotate it rolb r1 / through the shift register sob r2,3b mov r0,lseed mov r1,hseed mov (sp)+,r3 mov (sp)+ 1/4096: .0139881 1. / 1/8192: .0069940 1. / 1/16384 : .0034970 (not very significant) .text _rotate: / rotate(xy, theta);  dec r3 / bump n asl r2 / shift sign bit rol (sp) / into theta bcc 2b / loop 15 times jsr pc,xshrink mov 12(sp),r3 / rstruct cx *xy; int theta; mov r4,-(sp) / expects theta in atn form mov r3,-(sp) / alters xy in place mov r2,-(sp) / also retu3 = rtheta mov r0,(r3)+ / set r mov (sp)+,(r3) / and theta (in atn form) br ret4 stepxy: / x in r0, y in r1, sign in r2, (-rns x as func value mov 10(sp),r3 / r3 = xy mov (r3)+,r0 / r0 = x mov (r3),r1 / r1 = y mov 12(sp),r2 / r2 = theta bpl 1f n) in r3 / implements / x = x - sign * y * (2 ** (-n)) / y = y + sign * x * (2 ** (-n)) / thus rotating (x,y) by the angle +/ 180 degree bit set? neg r0 / yes, negate x & y neg r1 1: clr r3 / n = 0 2: asl r2 / next bit of theta for sign jsr pc, or - arctan(1 / 2**n) / Unfortunately, it also scales (x,y) up by cos(atan(1/2**n)) / -- routines xshrink and xyshrink correcstepxy / rotate (x,y) by +/-atn(1/2**n) dec r3 / bump n cmp r3,$-16. / loop while n <= 15 bne 2b jsr pc,xyshrink mov 10(spt for this. mov r1,r4 / y ash r3,r4 / y >> n tst r2 bmi 1f neg r4 / negate unless sign negative 1: add r0,r4 / new x ),r3 mov r0,(r3)+ / put in new x, y mov r2,(r3) br ret4 _polar: / polar(xy, rtheta); struct cx *xy, *rtheta; mov r4,-(sp) in r4 ash r3,r0 / x >> n tst r2 bpl 2f neg r0 / negate if sign negative 2: add r0,r1 / new y mov r4,r0 / new x rts pc/ also returns r as func value mov r3,-(sp) mov r2,-(sp) mov 10(sp),r3 / r3 = xy mov $2,-(sp) / prepare theta for 15 shifts  / multiply x and/or y by .60723, which is / the product of the cosines of all those arctangents. xyshrink: mov r1,r2 mul $ mov 2(r3),r1 / r1 = y mov (r3),r0 / r0 = x bpl 1f / if x < 0, neg r0 / negate x and y neg r1 inc (sp) / and add 180 de39797.,r2 / multiply by (39797/65536) add r1,r2 / correct for signed multiply / leave y in r2 xshrink: mov r0,r3 mul $39; ȹ‰È9YYȹ‰™¹üb„w üÿ_šõeNß 5ôÿNôÿß 7Úÿ÷%Ôÿ_–ÀÊÿÀ À=Äÿ_–Àºÿtß 7¬ÿèÿ ƒ „ ü5öÿõ% õe_scale#ü_scale2#þ_seed#_n _oflNß 5òÿõ% õeNß 7fÎbß ÄZÿÄ ÷ 8WtÁmHÿ õ ôÿ÷ " WtÁm.ÿ1çõ5òÿÎß ¢Îÿÿæÿow _a _main"~maincsv argcargvL1šL2itæ ÿß –%õ5òÿÎ ß ¢ æîþæêþß –%Î&æß –%@öÿÁ`@à5øÿõ5òÿÎ#ß ¢ À uìÿ5êÿ5îÿuðÿ 5èÿ5æÿ÷ŽÎshrinkøÿlognöÿflagôÿprintingòÿrsseîÿisseêÿmaxæÿ_atoi _abs L3–_sbrkŽß ĆþÄ R÷ d&tÀmrþAøÿ t€åÎæß Ö À 5`îÿu`ðÿu îÿÎß @-æÿÎß 5æÿtÀm*þAøÿ tõ ôÿ÷ øà L4ZL5bL6^L7€L8š_srand L9¦L10Ø_random"æL10000ÆL100Îæß Ö À 5`êÿu`ìÿu êÿÎß @-èÿÎß 5èÿ¬÷ÔAðÿ@îÿBöÿ vCÎß æ+ß Ö Aìÿ@êÿBöÿ vCÎß æ4ß Ö 01ÈL11èL12_print"¢_fft L13 L14 L15_printf L16JL17#Nèÿfæÿæ9ß –%÷ zýÎtýæFß Ö wfýÆå_w ZýNß  Ä-JýtÀm>ýtÀm0ý&æUß –%„ éwýáw ý÷ ýL18zL19"_smul L20ÌL21ðL22 _ssqrt L23+L244L259L26tûÿwýø@æfirst: second: shrunk %d + %d third: rms (%d,%d) max (%d,%d) overflows: %d (%d,%d) ‰–L27Fcret ~print¢sL28äL29¨iL31²L32àL34UL33,r2 rts pc .data lseed: 31415. hseed: .byte 271. .even .text hx99999˜Y9hhø9YY9Yˆ994,98c q = p + hs; cmove(q, &v); cmul(rbase, &v); cmove(p, q); csub(&v, q); cadd(&v, p); . YˆÈø9YxxYxxXÈXÈÈII< random bit sequence mov r2,-(sp) mov lseed,r0 movb hseed,r1 2: mov $10.,r2 / ten shifts per call 1: mov r3,-(sp) 3: mov rdíìëêéèçæåäãâáàßÞÝÜÛÚÙØ×ÖÕÔÓÒÑÐÏÎÍÌËÊÉÈÇÆÅÄÃÂÁÀ¿¾½¼»º¹¸·¶µ´³²±°.globl _smul, _ssqrt, _cmul .globl _srand, _rand .globl _cmul .globl _scale2 .text _smul: mov 2(sp),r0 mul 4(sp),r0 mov _s¯®­¬«ª©¨§¦¥¤£¢¡ Ÿž�œ›š™˜—–•”“’‘��Ž�Œ‹cale2,-(sp) neg (sp) ashc (sp)+,r0 mov r1,r0 rts pc _cmul: / cmul(a, b); multiplies a into b jsr r5,csv mov 4(r5),r4 mov 6(r5),r3 / dest mov (r3)+,-(sp) / save b.re mov (r3),-(sp) / multiply b.im mov 2(r4),-(sp) / by a.im jsr pc,_smul mov r0,r2 mov -(r3),(sp) / and b.re mov (r4)+,-(sp) / by a.re jsr pc,_smul cmp (sp)+,(sp)+ sub r2,r0 / b.re*a.re - b.im*a.im moecho >>tries wfts $1 $2 $3 erfle /bin/time wfts $1 $2 $3 >>tries v r0,(r3)+ / set b.re / now mult b.re (left on stack) mov (r4),(sp) / by a.im jsr pc,_smul mov r0,r2 mov (r3),(sp) / mult b.im mov -(r4),-(sp) / by a.re jsr pc,_smul add r2,r0 / b.im*a.re + b.re*a.im mov r0,(r3) / set b.im jmp cret _ssqrt: mov 2(sp),r0 ble ret mov r2,-(sp) mov r3,-(sp) mov r4,-(sp) mov $3,r4 mov $1,r1 ash _scale2,r1 cmp r0,r1 ble 1f 2: asr r0 asl r1 cmp r0,r1 bhi 2b br 3f 1: asl r0 asr r1 cmp r0,r1 blo 1b mov r1,r0 3: mov 10(sp),r3 clr r2 ashc _scale2,râ ð€&Ð 6÷ –%ß ª‰w šÎß XÎß n@À @m NÎe@&ß ‚Ö wnäf…@‰†wl …‡f2 div r0,r2 / N * scale / x add r2,r0 ror r0 / ((N*scale/x) + x) / 2 sob r4,3b ret4: mov (sp)+,r4 ret3: mov (sp)+,r3 re…@)‰†wV…‡f…wZwV÷ Tæð梉äw*f…÷ @‰@…&æ¦È B„ƒ‚F…‡‡7ÀÿÿF…‡ ‰ÜL30à~randomæL35úL36ì_rand L37öt2: mov (sp)+,r2 ret: rts pc _srand: / srand(seed); seeds random number generator mov r2,-(sp) mov $103.,r2 mov 4(sp),r1 mov r1,r0 bne 1f mov $31415.,r0 movb $271.,r1 br 2f _rand: / rand(); returns random signed int / uses a 24-bit pseudo= et screen ptr bne 1$ ; failed to allocate? .print #unable ; yes, print a message trap ; and give Fortran an error trapturns a pointer to it cmp r0,#20000 blo 1$ rts pc 1$: mov #9600.,r1 mov #20000,abase br allocb marg: ; function marg(i) mov @2(r5),r0 ; allows access to storage at address i sub #mem-2,r0 ; as though it were a asr r0 ; Fortran idóòñðïîíìëêéèçæåäãâáàßÞÝÜÛÚÙØ×ÖÕÔÓÒÑÐÏÎÍÌËÊÉÈÇÆÅÄÃÂÁÀ¿¾½¼»º¹¸·¶ÏþmainÊþrþmainÐþØþpØþn™iþþþþþ™þ þFþÖþþþ™Cþgþþþ™þ þ)þµ´³²±°¯®­¬«ª©¨§¦¥¤£¢¡ Ÿž�œ›š™˜—–•”“’‘ ¼ü‡ö " ü‡ß �Àetüÿ÷ ZÅEðÿWuÅe ºnþÖþoþpþþ™þþþ þ þþ þNþÖþ þ printfþþ$þ þdþÖþ þ™þĺT!ºü‡‡ÎeÀ ý· ý÷5àúÀ ºÎå‡& �ŠÀÀ ºõ÷ €À  ºîf Ìür f rvÐÁÔý‰r t@PÁ ÿÿÿ1þþþþ þ(þ$þ1þnþÖþ oþiþððpþÑþÛþþ!á ºáÿáÉ‹þ�‡Àpÿˆ È‹þÀÎ?ÀE€ÿ A‡ Z‚Àe  À ÷‹®?ý À ÷ ìÿÀŠ÷ äÿ ÷ ÞÿÀ ‡7ˆ?‡on /time/ dt, df, dtwant common /logger/ nrun, thresh, intrvl(8) common /header/ lhead, header(80) byte header common /gþraph/ nslots common /data/ mdata common /memory/ mem(1) byte cd(9) integer ivec(8) data dtwant/2000e-6/, thresh/.05/, nrun/0/, lhead/80/ * intrvl(1),intrvl(2),intrvl(3)/ 1, 1, 64/, * cd(1),cd(2),cd(3),cd(4),cd(5),cd(6),cd(7), * cd(8),cd(9)/'H','R','G','F','I','T','D','L','Q'/ 310 type 315 315 format(' Enter name of logging file') accept 20, (header(i), i=1,80) 325 call assign(3, header, 0, 'NEW', 'NC') c let header initially be whatever they type for file name. c command loop c ; and leave. remain: .word linep: .word cstep: .word getscrn: ; if scrnp not set yet, allocate a screen area for  .limit ; limit, limit+2 contain respectively the ; low and high memory limits. abase: 0 ; allocation base -- zero if it; mov scrnp,r0 ; in any case, return pointer to it in r0. bne 1$ jsr pc,newscrn ; allocate screen mov r0,scrnp ; and snot computed yet newscrn: ; FUNCTION NEWSCRN mov #9600.,r1 ; allocates a screen buffer for you jsr pc,allocb ; and re>  less important, e.g. calibration, channels, only a few c points need be kept. c For the K'th channel in the recorded bunch, ichans fast = (period .lt. 180) if(fast) period = 200 dt = period*nchans*1e-6 if(fast) type 8, 1./dt 8 format(' Sampling46 continue 15 type 17 17 format(' H)eader R)ate G)ather I)ntervals T)hreshold Q)uit ?help') 20 format(80a1) 18 accept 20,(cntrvl(K) tells c how many points to skip between each saved point. c Thus, since 512 points are recorded for every channel, cline(i), i=1,80) do 30 lengc=80,1,-1 if(cline(lengc) .ne. "40) goto 40 30 continue c if we got here, they didn't type adóòñðïîíìëêéèçæåäãâáàßÞÝÜÛÚÙØ×ÖÕÔÓÒÑÐÏÎÍÌËÊÉÈÇÆÅÄÃÂÁÀ¿¾½¼»º¹¸·¶nything goto 18 40 lengc = lengc+1 do 45 icmd=1,9 if(cline(1) .eq. cd(icmd)) goto 50 45 continue c unknown commandµ´³²±°¯®­¬«ª©¨§¦¥¤£¢¡ Ÿž�œ›š™˜—–•”“’‘ ¼ü‡ö " ü‡ß �Àetüÿ÷ ZÅEðÿWuÅe º, perhaps '?' -- give help c46 type 47 c47 format(' Commands have the form:'/ c *' Letter [arguments]'/ c *' whereĺT!ºü‡‡ÎeÀ ý· ý÷5àúÀ ºÎå‡& �ŠÀÀ ºõ÷ €À  ºîf Ìür f rvÐÁÔý‰r t@PÁ ÿ the arguments, depending on the command, may be:'/ c *' nothing, or a single real number, or one or more'/ c *' integers s!á ºáÿáÉ‹þ�‡Àpÿˆ È‹þÀÎ?ÀE€ÿ A‡ Z‚Àe  À ÷‹®?ý À ÷ ìÿÀŠ÷ äÿ ÷ ÞÿÀ ‡7ˆ?‡eparated by commas, or a string of text.'/ c *' The command letters are:'/ c *) c47 format(' No help') c goto 15 50 icurs file 180 if(icurs .ge. lengc) goto 15 call close(3) call assign(3, cline(icurs), lengc-icurs, 'NEW', 'NC') goto 15 c  = 3 goto (110,120,130,46,150,160,46,180,190) icmd c H -- set header for logging data 110 lhead = lengc-icurs do 112 i= Q -- quit 190 call close(3) call exit end subroutine gather integer nchans,nsampl,period,ichan(8),struct(11) e1,lhead 112 header(i) = cline(i+icurs-1) goto 15 c R -- set sampling rate-per-channel (in freq or period) 120 v = 0. quivalence (nchans,struct(1)), (nsampl,struct(2)), * (period,struct(3)), (ichan(1),struct(4)) logical fast common /header/ call getrea(v) if(v.eq.0.) goto 124 c normally expect frequency (in Hz) if(v.gt.0.) goto 122 c but if minus sign, then  lhead, header(80) byte header common /time/ dt, df, dtwant common /logger/ nrun, thresh, intrvl(8) common /graph/ nslotit's period in microseconds dtwant = -1e-6 * v goto 124 122 dtwant = 1./v 124 type 126, ifix(dtwant*1e6), 1./dtwant 126 fs common /data/ idata(1032) common /memory/ mem(1) data nchans/0/ c get channel numbers -- if none, use previous set ormat(' Sampling every',i6,' microseconds =',f8.2,' Hz') goto 15 c G -- gather data 130 call gather goto 15 c I --  call numbrs(ichan, i, 8) if(i .gt. 0) nchans = i if(nchans .eq. 0) return if(nchans .le. 2) goto 7 type 6 nchans = 2 set intervals for logging data for each channel c For important channels, every data point is saved in the log file; c but for 6 format(' Gathering only first two channels') c set up structure for collect routine 7 nsampl = 1 period = dtwant*1e6/n? f(cline(icurs).ge."60 .and. cline(icurs).le."71) goto 25 n = n+1 ivec(n) = k*sign if(cline(icurs).eq."54) icurs = icurs+1 chance of confusing names, ; a hash function combining all of the ; characters in the name is computed. ; Comparing names inv if(n .lt. maxn) goto 10 99 nnums = n return end subroutine getreal(x) common /cmd/ icurs, lengc, cline(80) byte colves testing both the four name bytes ; (with both name and length encoded in them) and ; the hash byte. .macro dent name,line if(lengc .le. icurs) return decode (lengc-icurs, 10, cline(icurs)) x 10 format(e12.8) return end  flags, code .nchr $leng, $pos = 0 $hash = 0 $leng = $leng*200 .irpc $c, $lastc = ''$c $pos = $posr0 = %0 r1 = %1 r2 = %2 r3 = %3 r4 = %4 r5 = %5 dsp = %5 ic = %4 sp = %6 pc = %7 thread = 4437 ; "jsr ic,@(pc)+" ne + 1 .if le, $pos-3 .byte <$leng&200> + $lastc $leng = $leng/2 .endc $hash = <<$hash*2> + <$hash/200> + $lastc> too fast -- rate reduced to ',f7.0,' Hz') call collec(idata, nchans*513+6, struct) nrun = nrun+1 c put out a form feed,xt = 12407 ; "mov (ic)+,pc" -- like jmp @(ic)+, but slightly faster hsize = 16. ; size of hash table for root vocabulary  run number, header; then date&time write(3,10) "14, nrun, (header(i), i=1,lhead) 10 format(a1,'Run',i3,2x,80a1) write(3,11 ; macro to generate a dictionary entry header, ; which has the form: ; [-8] NAME (four bytes) ; [-4] hash code byte ; [) 11 format('Write out date and time here') do 20 i=1,nchans if(intrvl(i).eq.0 .or. intrvl(i).ge.512) goto 20 istep =-3] flag byte ; [-2] link word ; [0] executable code begins here ; ; The fields, respectively, contain: ; name: ; The l intrvl(i) icount = 512/iabs(istep) if(istep .lt. 0) istep = 1 write(3, 25) ichan(i), dt*istep, icount istep = iength of the name is stored in the most-significant bits ; of these four bytes, with the LSB of the length ; in the first bytestep*nchans ipos = idata(2) + i - 1 write(3, 27) (idata(j), j=ipos,ipos+(icount-1)*istep,istep) 20 continue return 2. ; The remaining seven bits of each byte hold ASCII characters ; from the name. ; For names with <= 4 characters, the entire5 format(i4,' Data'/f9.6,' Seconds between points'/i4,' Points') 27 format(10i6) end subroutine numbrs(ivec, nnums, maxn) name is stored; ; otherwise, the first three bytes hold the first three ; characters of the name, and the fourth byte contain integer ivec(1) common /cmd/ icurs, lengc, cline(80) byte cline integer sign n = 0 10 if(cline(icurs) .ne. "40) gos the FINAL ; character. This unusual arrangement makes it convenient to ; use names which differ only in the last character,to 20 icurs = icurs+1 if(icurs.lt.lengc) goto 10 20 sign = 1 if(cline(icurs).ne."55) goto 22 sign = -1 icurs = icur e.g., ; "drop1" and "drop2". Also, in this system at least, ; many words have "suffixes" of one character such as #, !, or (s+1 22 if(cline(icurs).lt."60 .or. cline(icurs).gt."71) goto 99 k = 0 25 k = k*10 + cline(icurs) - "60 icurs = icurs+1 i, ; and this scheme allows this feature to show up on human-readable ; dictionary dumps. ; ; hash: ; To further reduce the @  ; graphic random walk program .mcall .regdef, .ttinr, .ttyin, .exit .regdef .globl screen, rand, ndots, dotlistcc estep ror r3 tst -(r2) br estep right: rol r3 bcc estep rol r3 tst (r2)+ estep: .iff ; if hurtle is , tkplot vcr = 177744 ; graphic control reg var = 177740 ; graphic address reg screen = 22000 ; address of screen buffer tundefinded, jmp @ytable(r0) ytable: .word noy,up,down,noy up: sub #40.,r2 cmp r2,#screen bhi noy down: add #40.ictime = 10. ; number of steps between sounds of the tick dots = 50. ; number of dots in motion jsw = 44 rawtty = 10100 reeo,r2 cmp r2,#screen+9600. bhis up noy: bic #^c14,r1 asr r1 jmp @xtable(r1) xtable: .word nox,left,right,nox left: k = 20000 hurtle = 1 ; if defined, every dot moves orthogonally at each step; ; if commented out, dots move independently in ror r3 bcc nox ror r3 tst -(r2) br nox right: rol r3 bcc nox rol r3 tst (r2)+ nox: .endc mov r2,-2(r5 X and Y, ; and need not move at each step. .csect walk br reent ; reentry point walker: mov #dotlist,r5 mov #2) mov r3,(r5)+ bis r3,(r2) sob r4,back mov fast,r0 add time,r0 10$: cmp r0,time ; wait for the clock to tick beq000,r4 ; initialize an awful lot of dots 1$: mov #screen+4820.,(r5)+ mov #1,(r5)+ sob r4,1$ reent: bis #rawtty+reeok 10$ ; but only if 'fast' flag was off 9$: dec (pc)+ ccount: tictime bgt again mov #tictime,ccount mov #400,r0 xor , @#jsw mov @#100,oldint mov #screen,r0 mov #4800.,r1 ; 4800 words in screen mov r0,@#var 2$: clr (r0)+ sob r1,2$ r0,@#vcr ; twiddle tick bit in vcr .ttinr bcs again bic #40,r0 ; capitalize ASCII letter cmpb r0,#'F ; "fast" bne 11 & 377 .endr .if lt, $pos-4 ; zero-fill name if < 4 chars .rept 4-$pos .byte 0 .endr .iff ; else stick final  again: mov #76,@#vcr ; turn on graphics ; mov #dotlist,r5 ; mov ndots,r4 ;1$: ; mov (r5)+,r0 ; bic (r5)+,(r0) ; sob r4char into name[4] .byte <$leng&200> + $lastc .endc .byte $hash ; hash byte .if nb, ; flag byte .byte flag,1$ ; mov #dotlist,r5 mov (pc)+,r4 ndots: dots back: movb rand,r1 movb r1,r0 bis #^c204,r0 add #4,r0 rolb r0 s .iff .byte 0 .endc $hash = & $hash .linkup \$hash ; link word (on whichever hash list) .iif nb,, jmp @#code .endm .macro .linkup hash .word ha$'hash ha$'hash = .-8. .endm .macro .linit hash ha$'hash = 0 .e^c3,r0 ; take low 2 bits as y motion asl r0 mov (r5)+,r2 ; fetch this dot's word address mov (r5),r3 ; and its mask bicndm $hash = 0 .rept hsize .linit \$hash $hash = $hash + 1 .endr  r3,(r2) ; clear the old bit .if df, hurtle jmp @table(r0) table: .word up, down, right, left up: sub #40.,r2 cmp r2,#screen ; too far up? bhi estep down: add #40.,r2 cmp r2,#screen+9600. blo estep br up left: ror r3 bA mdots: clr r1 1$: .ttyin sub #'0,r0 bmi 2$ mul #10.,r1 add r0,r1 br 1$ 2$: bic #176000,r1 beq 3$ mov r1, ; Terak screen dumper ; writes current contents of Terak screen onto Printronix. .mcall .regdef, ..v2.., .exit, .print, .ndots jmp reent 3$: jmp again rand: .word 12345, 65437 ; any nonzero numbers may go here clkint: inc (pc)+ time:csigen, .writw .regdef ..v2.. .csect tkplo .globl tkplot, dumprog txcs = 177524 ; if defined, this is serial out 0 jmp @(pc)+ oldint: .word fast: -1 dotlist: .blkw 200.*2 .blkb 21000 + 9600. ; allow space for screen buffer .eput to plotter .iif df,txcs, txdb = txcs+2 var = 177740 ; video address register high = 240. ; dimensions of screen -- hend walker ight (in rows) wide = 40. ; and width (in 8-bit bytes) outsize = /6. + 1 plotchn = 2 ; RT-11 channel on which plotter file is open. ; if necessary, this routine opens KB: on it. dumprog: ; if routine is started here, it acts as a 4et jk zj hk //b !b expands tabs, from . to z! dump jsr pc,tkplot ; program -- writes data to Printronix .exit ; and exits. tkplot: .if df, txcs ; if appropriate,  //c <.-z;8xu8k.utzxtzkguqtj zjzutgtqtj> !c converts upper to lower case, from . to z! //l [u0uu<-s ;%u>qu] ; write directly to serial port mov #lfs,r0 mov #2,r1 jsr pc,serio .iff ; otherwise, use KB: via RT-11 channelu !l returns line number of . ! //p 9i g* 10i13i10i10i j [b]m my zj12i ewkb:hpwef !p print buf on kb:, expanding tab .writw #area, #plotchn, #lfs, #1 bcc doplot mov sp,r1 .csigen #area,#ext,#kb mov r1,sp bcc tkplot .print #noopes! //v <-z;j8xu8khxthkgujmmhpwhkgt> !v write buf, executing mm, clear buf! //w 0utzj<-z;-8xt-8k%t> qt //x 0utn rts pc ; (if open failed, give up) doplot: .endc mov @#var,r2 mov #high,r5 ; r5 counts lines of screen 4$: mzj<-z;-8xt-8k%t> qt //y <.-z;8xu8k.utzxtzkguqtjmmzjzutgtqtj> !y executes mm on whole buffer! ov #buf,r1 mov #wide,r4 ; r4 counts bytes across screen mov #1,r0 ; r0 is input bit movb #100,(r1) ; set up first output $ mov r0,fast mov oldint,@#100 11$: cmpb r0,#'S ; "slow" bne 12$ clr fast mov #clkint,@#100 12$: cmpb r0,#'N beq numdots cmpb r0,#'Q ; quit, but do not blank screen beq 14$ cmpb r0,#15 ; return -- quit and blank screen beq 13$ cmpb r0,#'D bne again jsr pc,tkplot br again 13$: mov #7,@#vcr 14$: bic #rawtty,@#jsw mov oldint,@#100 .exit nuB byte mov #1,r3 ; r3 is output bit 3$: bitb r0,(r2) beq 1$ bisb r3,(r1) 1$: asl r3 bitb r3,(r1) ; has r3 reached hannel movb #15,(r1)+ ; add a pad byte, since ".writw" writes sub #plotxt,r1 ; whole words, not bytes asr r1 ; compute 100 yet? beq 2$ inc r1 ; yes, next output byte movb #100,(r1) mov #1,r3 2$: aslb r0 ; has r0 passed 200? bcc 3$ number of words .writw #area,#plotchn,#plotxt,r1 bcs 10$ ; die if error .endc sob r5,4$ rts pc lfs: .byte 12,12plotter file is open. ; if necessary, this routine opens KB: on it. dumprog: ; if routine is started here, it acts as a  ; two line feeds for header .if ndf, txcs 10$: .print #wfail ; die if error .exit ext: .word 0,0,0,0 kb: .asciz /,dump jsr pc,tkplot ; program -- writes data to Printronix .exit ; and exits. tkplot: .if df, txcs ; if appropriate, ,kb:=/ ; open KB: on channel 2 noopen: .asciz /cannot open kb:/ wfail: .asciz /error in writing/ .even area: .blkw 7  ; write directly to serial port mov #lfs,r0 mov #2,r1 jsr pc,serio .iff ; otherwise, use KB: via RT-11 channel .iff ; if direct output, here's the routine to do it serio: ; output string to Terak unit 1 (rxcs=177520) tstb @#txcs  .writw #area, #plotchn, #lfs, #1 bcc doplot mov sp,r1 .csigen #area,#ext,#kb mov r1,sp bcc tkplot .print #noope bpl serio 1$: tst @#txcs ; if device indicates not ready, wait bpl 1$ ; ("modem ready" bit) movb (r0)+,@#txdb bgt 4$ n rts pc ; (if open failed, give up) doplot: .endc mov @#var,r2 mov #high,r5 ; r5 counts lines of screen 4$: m tst r1 ; let string be terminated either by ble 2$ ; zero or negative byte or by 4$: ; byte counter reaching zero. sob ov #buf,r1 mov #wide,r4 ; r4 counts bytes across screen mov #1,r0 ; r0 is input bit movb #100,(r1) ; set up first output r1,serio 2$: ; Thus, to let a string be terminated by rts pc ; a special character, call with r1 = 0; ; if r1 > 0, exacbyte mov #1,r3 ; r3 is output bit 3$: bitb r0,(r2) beq 1$ bisb r3,(r1) 1$: asl r3 bitb r3,(r1) ; has r3 reached tly r1 bytes will be printed ; regardless of their contents. .endc plotxt: ; string of bytes to plot one line .b100 yet? beq 2$ inc r1 ; yes, next output byte movb #100,(r1) mov #1,r3 2$: aslb r0 ; has r0 passed 200? bcc 3$ yte 5 ; 005 is Printronix plot mode character buf: .blkb outsize+2 .even .end  rol r0 ; yes, set r0 = 1 inc r2 ; and next input byte sob r4,3$ inc r1 11$: ; search for last nonempty byte on line bitb #77,-(r1) beq 11$ inc r1 movb #12,(r1)+ ; stick line feed after it .if df, txcs ; if direct output, do it now movb #15,(r1)+ mov #plotxt,r0 ; r0 -> string sub r0,r1 ; r1 = length jsr pc,serio .iff ; otherwise write on cC  byte mov #1,r3 ; r3 is output bit 3$: bitb r0,(r2) beq 1$ bisb r3,(r1) 1$: asl r3 bitb r3,(r1) ; has r3 reached 100 yet? beq 2$ inc r1 ; yes, next output byte movb #100,(r1) mov #1,r3 2$: aslb r0 ; has r0 passed 200? bcc 3$  .mcall .regdef, ..v2.., .readw, .csigen, .gtim, .ttyin .mcall .print, .exit .globl start, time ..v2.. .regdef start:ƸN .csigen #area, #default, #disk bcs die 1$: .print #prompt jsr pc,nin mov r1,r2 ; input starting block number jsr p. ±Œ:¯”(È~XM(ÄUßfhÑÈ~lMh¯”÷È~XMû.÷ èˆÀnÁ÷ ^ÂàÿÅðÁà‹Ä(À) n ‹Æ.&É•@à °ÉÐà ɰ� É•@ÃÀŒó†@ ‚ ë.L� áµ?ý� Ñ• Ñ• ÀŠà÷ i‡ ß‹ò ŠL!rTÿý€ß Tÿý€”VÿÁ L~‡¥ó÷ èˆÀnÁ÷ ^ÂàÿÅðÁ‹Ä(ÀÉ•@à °ÉÐà ɰ� É•@ÃÀŒó†@ ‚ � áµ?ý� Ñ• Ñ• ÀŠà÷ i‡ ß‹Tÿý€ß Tÿý€”VÿÄÁ L~‡er .if ndf, txcs 10$: .print #wfail ; die if error ÅÄÕÔ6ÕßU@0$÷@0À$ÁÀàÿ B~ß>äÿÅÄÀ2Á�@�ÀU{ÿÀe@Œw öAŒw�î@ÀEüÿÀ BCÊ@x.6@VLÂå(— $‚Âe(— €I ‡õ † â C †C Ò µþÿÕÊP3ÀªÀm 7 œý× ¼÷ öÿÀxäÿàˆ³‡ÀE  F7zßt@ S7 jß@ N Q    D•÷ 8þ’ßäÿßE@$ß4@èˆ àˆþ‡Àå0�Wp `÷ÁEüwþþwÒþwêþåk— _ÿÿbyte count. 2$: tstb @#txcs bpl 2$ movb (r0)+,@#txdb sob r1,2$ 1$: rts pc .endc plotxt÷ èˆÀnÁ÷ ^ÂàÿÅðÁ‹Ä(ÀÉ•@à °ÉÐà ɰ� É•@ÃÀŒó†@ ‚ � áµ?ý� Ñ• Ñ• ÀŠà÷ i‡ ß‹Tÿý€ß Tÿý€”Vÿ: ; string of bytes to plot one line .byte 5 ; 005 is Printronix plot mode character buf: .blkb outsize+2 .even .enÁ L~‡ mov #wide,r4 ; r4 counts bytes across screen mov #1,r0 ; r0 is input bit movb #100,(r1) ; set up first outputd D  ; call with value in r1 mov #eos,r5 1$: clr r0 div #10.,r0 add #'0,r1 movb r1,-(r5) mov r0,r1 bne 1$ .print r5ond clr r0 mov (sp)+,r1 div (sp)+,r0 mov r0,r1 jsr pc,nout ; PRINT milliseconds per block .print #msg br 1$ di rts pc .blkb 5 eos: .byte ' ,200 prompt: .ascii /bno, bcount ? /<200> msg: .asciz * : ms total, bytes/sec, ms/blk* e: .exit time: default: 0, 0, 0, 0 area: .blkw 7 nin: clr r1 1$: .ttyin sub #'0,r0 bmi 2$ mul #10.,r1 adddisk: .asciz /dk:/ .even bufsiz = 40 * 512. buffer: .blkb bufsiz .end start  r0,r1 br 1$ 2$: cmpb r0,#15-'0 bne 3$ .ttyin ; if cr, skip inevitable lf 3$: rts pc ; return value in r1 nout: þþwÒþwêþåk— _ÿÿbyte count. 2$: tstb @#txcs bpl 2$ movb (r0)+,@#txdb sob r1,2$ 1$: rts pc .endc plotxt ; call with value in r1 mov #eos,r5 1$: clr r0 div #10.,r0 add #'0,r1 movb r1,-(r5) mov r0,r1 bne 1$ .print r5: ; string of bytes to plot one line .byte 5 ; 005 is Printronix plot mode character buf: .blkb outsize+2 .even .en rts pc .blkb 5 eos: .byte ' ,200 prompt: .ascii /bno, bcount ? /<200> msg: .asciz * : ms total, bytes/sec, ms/blk* d disk: .asciz /dk:/ .even bufsiz = 40 * 512. buffer: .blkb bufsiz .end start c,nin ; and block count mov r1,-(sp) mov r1,r3 swab r3 ; convert to word count cmp r1,#bufsiz/512 bhi die ; die if bigger than buffer size .gtim #area,#time mov time+2,-(sp) .readw #area,#3,#buffer,r3,r2 bcs die .gtim #area,#time mov  .mcall .regdef, ..v2.., .readw, .csigen, .gtim, .ttyin .mcall .print, .exit .globl start, time ..v2.. .regdef start:time+2,r0 sub (sp)+,r0 ; delta t mov r3,r2 mul #120.,r2 div r0,r2 mul #1000.,r0 div #60.,r0 mov r0,-(sp) ; total m .csigen #area, #default, #disk bcs die 1$: .print #prompt jsr pc,nin mov r1,r2 ; input starting block number jsr pilliseconds for transfer mov r0,r1 jsr pc,nout ; PRINT transfer time in ms mov r2,r1 jsr pc,nout ; PRINT bytes per secc,nin ; and block count mov r1,-(sp) mov r1,r3 swab r3 ; convert to word count cmp r1,#bufsiz/512 bhi die ; die if bigond clr r0 mov (sp)+,r1 div (sp)+,r0 mov r0,r1 jsr pc,nout ; PRINT milliseconds per block .print #msg br 1$ diger than buffer size .gtim #area,#time mov time+2,-(sp) .readw #area,#3,#buffer,r3,r2 bcs die .gtim #area,#time mov e: .exit time: default: 0, 0, 0, 0 area: .blkw 7 nin: clr r1 1$: .ttyin sub #'0,r0 bmi 2$ mul #10.,r1 addtime+2,r0 sub (sp)+,r0 ; delta t mov r3,r2 mul #120.,r2 div r0,r2 mul #1000.,r0 div #60.,r0 mov r0,-(sp) ; total m r0,r1 br 1$ 2$: cmpb r0,#15-'0 bne 3$ .ttyin ; if cr, skip inevitable lf 3$: rts pc ; return value in r1 nout: illiseconds for transfer mov r0,r1 jsr pc,nout ; PRINT transfer time in ms mov r2,r1 jsr pc,nout ; PRINT bytes per secE  .mcall .regdef, ..v2.., .readw, .csigen, .gtim, .ttyin .mcall .print, .exit .globl start, time ..v2.. .regdef start: mov #eos,r5 1$: clr r0 div #10.,r0 add #'0,r1 movb r1,-(r5) mov r0,r1 bne 1$ .print r5 rts pc .blkb 5 eos .csigen #area, #default, #disk bcs die 1$: .print #prompt jsr pc,nin mov r1,r2 ; input starting block number jsr p: .byte ' ,200 prompt: .ascii /bno, bcount ? /<200> msg: .asciz * : ms total, bytes/sec, ms/blk* disk: .asciz /dk:/ .evc,nin ; and block count mov r1,-(sp) mov r1,r3 swab r3 ; convert to word count cmp r1,#bufsiz/512 bhi die ; die if bigen bufsiz = 512. buffer: .blkb bufsiz .end start ger than buffer size .gtim #area,#time mov time+2,-(sp) .readw #area,#3,#buffer,r3,r2 bcs die .gtim #area,#time mov . ±Œ:¯”(Dáy shu~@hº3(Å÷æ.æÂæºæ?äˆT‡Àéˆ÷ ¶B÷ °fCtime+2,r0 sub (sp)+,r0 ; delta t mov r3,r2 mul #120.,r2 div r0,r2 mul #1000.,r0 div #60.,r0 mov r0,-(sp) ; total mÃ> º?ß.&ÀÂð•Šðºýˆæ~ÄÀÂð•ȕ˺ Âp.L°ðDððýˆ(‡illiseconds for transfer mov r0,r1 jsr pc,nout ; PRINT transfer time in ms mov r2,r1 jsr pc,nout ; PRINT bytes per sec‚ ÀÂð•å D&².rŠðºýˆÀ8€å—px€rpèr<&H  º*.˜÷ R�÷ L �r÷ @À 鈬èˆond clr r0 mov (sp)+,r1 div (sp)+,r0 mov r0,r1 jsr pc,nout ; PRINT milliseconds per block .print #msg br 1$ diù  ± ¾2 Ð.Ð àˆþ‡Àå0�Wp `÷ Ýÿàˆþ‡‡Å ƒ &ºör Áe0e�ø@鈇¸ e: .exit time: default: 0, 0, 0, 0 area: .blkw 7 nin: clr r1 1$: .ttyin sub #'0,r0 bmi 2$ mul #10.,r1 addÙ. €BNO, BCOUNT ? € : MS TOTAL, BYTES/SEÑ5C, MS/BLKDK:°ó r0,r1 br 1$ 2$: cmpb r0,#15-'0 bne 3$ .ttyin ; if cr, skip inevitable lf 3$: rts pc ; return value in r1 nout: þþwÒþwêþåk— _ÿÿbyte count. 2$: tstb @#txcs bpl 2$ movb (r0)+,@#txdb sob r1,2$ 1$: rts pc .endc plotxt ; call with value in r1 mov #eos,r5 1$: clr r0 div #10.,r0 add #'0,r1 movb r1,-(r5) mov r0,r1 bne 1$ .print r5: ; string of bytes to plot one line .byte 5 ; 005 is Printronix plot mode character buf: .blkb outsize+2 .even .en rts pc .blkb 5 eos: .byte ' ,200 prompt: .ascii /bno, bcount ? /<200> msg: .asciz * : ms total, bytes/sec, ms/blk* d disk: .asciz /dk:/ .even bufsiz = 40 * 512. buffer: .blkb bufsiz .end start  r0,#15-'0 bne 3$ .ttyin ; if cr, skip inevitable lf 3$: rts pc ; return value in r1 nout: ; call with value in r1 F . ±Œ:¯”(@áy shu~@h¶;(Å÷æ.æ¾æ¶æ;äˆR‡À éˆ÷ ²B÷ ¬fÀ .mcall .regdef, ..v2.., .readw, .csigen, .gtim, .ttyin .mcall .print, .exit .globl start, time ..v2.. .regdef start:¾Û¾ ¶; (¾.&ð•Šð¶ýˆæ~DÀ¾ð•È•°'¶¾M.Lð@ððýˆ(‡‚  .csigen #area, #default, #disk bcs die 1$: .print #prompt jsr pc,nin mov r1,r2 ; input starting block number jsr pÀ¾ð•ž@"¾Â.rŠð¶ýˆÀ8€åB—px€rpèr<&÷ Í ¶2.˜R�÷ L �r÷ @À鈮èˆc,nin ; and block count mov r1,-(sp) .gtim #area,#time mov time+2,-(sp) mov r1,r4 2$: .readw #area,#3,#buffer,#256.,r Ìá.Ì àˆþ‡Àå0�Wp `÷ Ýÿàˆþ‡‡Å  ‹ & ¾òr Áe0e�ø@鈇¼  Ý.  €BN2 bcs die inc r2 sob r4,2$ .gtim #area,#time mov time+2,r0 sub (sp)+,r0 ; delta t mov r1,r2 mul #120.,r2 div rO, BCOUNT ? € : MS TOTAL, BYTES/SEÕ1C, MS/BLKDK:´ó0,r2 mul #1000.,r0 div #60.,r0 mov r0,-(sp) ; total milliseconds for transfer mov r0,r1 jsr pc,nout ; PRINT transfer time in ms mov r2,r1 jsr pc,nout ; PRINT bytes per second clr r0 mov (sp)+,r1 div (sp)+,r0 mov r0,r1 jsr pc,nout  ; PRINT milliseconds per block .print #msg br 1$ die: .exit time: default: 0, 0, 0, 0 area: .blkw 7 nin: clr r1 1$: .ttyin sub #'0,r0 bmi 2$ mul #10.,r1 add r0,r1 br 1$ 2$: cmpb r0,#15-'0 bne 3$ .ttyin ; if cr, skipæÀæ¸æ=äˆS‡Àéˆ÷ ´B÷ ®fCÃW 1E‚ÀÀð•Šð¸ýˆævÀÀð•È•°ðBððýˆ&‡ÀÀð•Šð¸ýˆÁ inevitable lf 3$: rts pc ; return value in r1 nout: ; call with value in r1 mov #eos,r5 1$: clr r0 div #10.,r0 8�å —px�rpèr<&÷ R�÷ L �r÷ @À鈭èˆ àˆþ‡Àå0�Wp `÷ Ýÿàˆþ‡‡Å  r Áe0e�add #'0,r1 movb r1,-(r5) mov r0,r1 bne 1$ .print r5 rts pc .blkb 5 eos: .byte ' ,200 prompt: .ascii /bno, bcouø@鈇 €BNO, BCOUNT ? € : MS TOTAL, BYTES/SEC, MS/BLKDK:nt ? /<200> msg: .asciz * : ms total, bytes/sec, ms/blk* disk: .asciz /dk:/ .even bufsiz = 512. buffer: .blkb bufsiz .end start G blk* disk: .asciz /dk:/ .even bufsiz = 40 * 512. buffer: .blkb bufsiz .end start æÂæºæ?äˆT‡Àéˆ÷ ¶B÷ °fCÃW 1F‚ÀÂð•ŠðºýˆæxÀÂð•È•°ðDððýˆ'‡ÀÂð•ŠðºýˆÁ. ±Œ:¯”(DAáy shu~@hºõ(Å÷æ.æÂæºæ?äˆT‡Àéˆ÷ ¶B÷ °fC:�å —px�r pèr<&÷ R�÷ L �r÷ @À 鈬èˆ àˆþ‡Àå0�Wp `÷ Ýÿàˆþ‡‡Å r Áe0e� .mcall .regdef, ..v2.., .readw, .csigen, .gtim, .ttyin .mcall .print, .exit .globl start, time ..v2.. .regdef start:Ã> º?ß.&W 1F‚ÀÂð•ŠðºýˆæxÀÂ𕓠º$Â`.LÈ•°ðDððýˆ .csigen #area, #default, #disk bcs die 1$: .print #prompt jsr pc,nin mov r1,r2 ; input starting block number jsr p'‡ÀÂð•žD$°.rŠðºýˆÁ:�å —px�r pèr<&  º,.˜÷ R�÷ L �r÷ @À 鈬èˆc,nin ; and block count mov r1,-(sp) mov r1,r3 swab r3 ; convert to word count cmp r1,#bufsiz/512 bhi die ; die if bigù  ± ¾2 Ð.Ð àˆþ‡Àå0�Wp `÷ Ýÿàˆþ‡‡Å ƒ &ºör Áe0e�ø@鈇¸ ger than buffer size .gtim #area,#time mov time+2,-(sp) .readw #area,#3,#buffer,r3,r2 bcs die .gtim #area,#time mov Ù. €BNO, BCOUNT ? € : MS TOTAL, BYTES/SEÑ5C, MS/BLKDK:°ótime+2,r1 sub (sp)+,r1 ; delta t clr r2 mul #120.,r2 div r1,r2 clr r0 mul #1000.,r0 div #60.,r0 mov r0,-(sp) ; total milliseconds for transfer mov r0,r1 jsr pc,nout ; PRINT transfer time in ms mov r2,r1 jsr pc,nout ; PRINT bytes per second clr r0 mov (sp)+,r1 div (sp)+,r0 mov r0,r1 jsr pc,nout ; PRINT milliseconds per block .print #msg br 1$ die: .exit time: default: 0, 0, 0, 0 area: .blkw 7 nin: clr r1 1$: .ttyin sub #'0,r0 bmi 2$ mul #10.,r1DC add r0,r1 br 1$ 2$: cmpb r0,#15-'0 bne 3$ .ttyin ; if cr, skip inevitable lf 3$: rts pc ; return value in r1 Ànout: ; call with value in r1 mov #eos,r5 1$: clr r0 div #10.,r0 add #'0,r1 movb r1,-(r5) mov r0,r1 bne 1$ .print r5 rts pc .blkb 5 eos: .byte ' ,200 prompt: .ascii /bno, bcount ? /<200> msg: .asciz * : ms total, bytes/sec, ms/H ˜† â C †C Ò µþÿÕÊP;÷ tÀl7 .¾hý× ³÷ öÿÀxäÿàˆª‡ÀE  Fç.ä7 Bß:@ S72ß @ D÷ ’ &È~lM†*   � $ß@èˆåk· _ÄóV R3,(R5)+ BIS R3,(R2) SOB R4,BACK TST FAST BEQ 9$ MOV TIME,R0 10$: CMP R0,TIME BEQ 10$ ; WAIT FOR THE CLOCK TO TICK 9$: DEC (PC)+ CCOUNT: TICTIME BGT AGAIN MOV #TICTIME,CCOUNT MOV #400,R0 XOR R0,@#VCR ; TWIDDLE TICK BIT IN VCR  .TTINR BCS AGAIN BIC #40,R0 CMPB R0,#'F ; "FAST" BNE 11$ CLR FAST MOV OLDINT,@#100 11$: CMPB R0,#'S BNE 12$ ø@鈇 €BNO, BCOUNT ? € : MS TOTAL, BYTES/SEC, MS/BLKDK:MOV R0,FAST MOV #CLKINT,@#100 12$: CMPB R0,#'D ; DUMP TERAK SCREEN TO PRINTRONIX BNE 13$ JSR PC,TKPLOT BR AGAIN 13$: CMPB R0,#15 ; RETURN -- QUIT BNE AGAIN CLR @#44 MOV OLDINT,@#100 .EXIT RAND: .WORD 12345, 65437 ; ANY OLD TRASH HERE S. ±Œ:¯”(BAáy shu~@h¸ù(Å÷æ.æÀæ¸æ=äˆS‡Àéˆ÷ ´B÷ ®fCO LONG AS IT'S NONZERO CLKINT: INC TIME JMP @(PC)+ OLDINT: .WORD TIME: .WORD 0 FAST: .WORD 0 DOTLIST: .BLKW 200.*ÃKÀ ¸=ç.&W 1E‚ÀÀð•Šð¸ýˆævÀÀ𕜠À¸$Àf.LÈ•°ðBððýˆ2 .BLKB 21000 + 9600. ; ALLOW SPACE FOR SCREEN BUFFER .END WALKER &‡ÀÀð•£B$À´.rŠð¸ýˆÀ8€å—px€rpèr<&J  ¸..˜÷ R�÷ L �r÷ @À鈭èˆ  µ ¾4 Î.Î àˆþ‡Àå0�Wp `÷ Ýÿàˆþ‡‡Å  ‡ & ¼ôr Áe0e�ø@鈇º . ±Œ:¯”Jw H$È~lM@(!.ô�ÀD(ÌKl{Lh,/Xøh¶phô�ÀD(<÷ô�ÀD_.Ä2 Û.  €BNO, BCOUNT ? € : MS TOTAL, BYTES/SEÓ3C, MS/BLKDK:²óß@$÷@Å,ÕÔ6ÕÀ$ÁÀë ,­.&àÿ B~ß>äÿÅ,ÄÆÿÁ�Ü@�ÀU{ÿÀe@Œp ,¯.Lw ÎAŒw�Æ@ÀEüÿÀ BCÊ@xh„pz„ÂåKh „"p$z&„Ø.r(— $‚Âe(— €Iö†ÁEóÿ� yލ– ¨ fŽ ¨"–$ &¨.I e ; low and high memory limits. abase: 0 ; allocation base -- zero if not computed yet newscrn: ; FUNCTION NEWSCRîÿÃýÃæŒ:À ±æÀ÷ X€÷ RÃJ÷ ÄÿÀÚüÀ•?áˆþ‡÷ ÀJ鈇& € Îå üÎe:À ÷ èÿ€•áˆþ‡‡ ƒ ë‚ƒà€ ûÂ(÷ êÿæN mov #9600.,r1 ; allocates a screen buffer for you jsr pc,allocb ; and returns a pointer to it cmp r0,#20000 blo 1$ r÷ äÿæÃœÑIáˆþ‡Ã Ø€øÿ‰þ‡Æ%@†ý‰Æ"À¸IéˆwÖ÷œI?ERR 60 STACK OVERFLOWED ABCDEFGHIJKLMNOPQRSTUVWXYZ$. 0123456789FROMINts pc 1$: mov #9600.,r1 mov #20000,abase br allocb marg: ; function marg(i) mov @2(r5),r0 ; allows access to st ROUTINE "" LINE ?ERR |ÿ|ÿ| 11 FLOATING UNDERFLOW6 OUTPorage at address i sub #mem-2,r0 ; as though it were a asr r0 ; Fortran integer variable. rts pc ; common /memory/ meUT CONVERSION ERROR4 COMPUTED GOTO OUT OF RANGE 12 FLOATING ZERO DIVIDE2 INTEGER ZERO DIVIDE3 COMPILER GENERATED ERROR1m(1) ; Then mem(marg(i)) refers to the word ; at address i. It may be used in an expression, ; assigned to, or pa6 WRONG NUMBER OF ARGUMENTS 13 SQRT OF NEGATIVE NUMBER1 INTEGER OVERFLOW 10 FLOATING OVERFLOW5 INPUT CONVERSION ERROR14 ssed as a parameter. .csect memory mem: .end UNDEFINED EXPONENTIATION OPERATION15 LOG OF NEGATIVE NUMBER=61 ILLEGAL MEMORY REFERENCE20 INVALID LOGICAL UNIT NUMBER21 OUT OF AVAILABLE LOGICAL UNITS22 INPUT RECORD TOO LONG23 HARDWARE I/O ERROR?63 ILLEGAL INSTRUCTION TRAP24 ATTEMPT TO READ/Âí&ñöfEA$͉"æ� Áe@ & f& f& f„ xFäYÞ‹�ƒ‚€�Ã<ý ³‹ÃùI÷ ÷ ïwšøÀ”)áˆþ‡ûÃJ÷ J AD PAST END OF RECORD"34 UNFMTD I/O TO TTY OR LPT%37 RANDOM ACCESS READ/WRITE BEFORE DEFINE FILE&38 RANDOM I/O NOT ALLOWED TOÎ÷ ‚Âå€÷ ÿ÷ Î ‚ ù÷ DÿŽ ÷ ô ù÷ àþ‚ ü‚6Œ‡‚c6Œ†‚#ƒ‚m  �÷ öþ ‡÷ ÿŽ ‚ ¶Œ †¶#‚¶ã 6 öÞ TTY OR LPT'39 RECORD LARGER THAN RECORD SIZE IN DEFINE FILE(40 REQUEST FOR BLOCK LARGER THAN 65535)41 DEFINE FILE ATTEMPTED Žà¶Œ‡Â ‚cƒÃƒí¦‚ƒmƒíc€÷ `ö €Ò•-Î 9÷ fþ÷ XþÃEÿÀ@à ƒ ƒ ƒ Ãe0Ò�Î î(ö ê€Ö …Ö ƒƒŒ†ƒŒ(†÷ €„ON OPEN UNIT#35 ATTEMPT TO OUTPUT TO READ ONLY FILE30 NO ROOM FOR BUFFERS*42 MEMORY OVERFLOW COMPILING OBJECT TIME FORMAT.4…ÆeC HÒ• ƒŠü�‡÷ þ À%ú‚À%ö‚÷ æý‚ ùÒ•0Ò•.Î ÔÒ•0Ž ö øÐÃÒ�Ã+-Å € ÃÒ�Ê•/ŠŠÅå ü€Åe:r‘ÆC ÆeÖ öe 6 INFINITE FORMAT LOOP+43 SYNTAX ERROR IN OBJECT TIME FORMAT149 ENDFILE ON RANDOM FILE048 UNIT ALREADY OPEN0 NON-FORTRAN ERÒ•*ö û¸¶¶ ‚ �N A f C�ŠÁÁå�Á%ʃÝ�v … ‡ Ž\ ü‡æ Á‰ õ€“\Áeffff& & & &&¦ROR CALL & & & & & D&&€D&&�À ŠÀÁ ŠÁ@àÀ%„ xFJPý  öIAöÛ ý öe€Î ÆeÀÉ@ÁÛý Àe¦¦¦„ €Y–V¦ ¦ ¦¦„ €YäY°V¦¦¦¦„ €YÈV¦¦¦¦„ €YüYâV€Àe����„Æe\€&&€‡& & & & & D&&Îe€¶ —#€@‡ö öÉÀöÛö ¦¦ö€@6 „ xFÚP¦¦6 6 —#‰?%‡‚—-£0 ƒö@  \¦¦6 6 & � f Â�6ŠA ‡Â üv�Š�ÐÁ  6ŒN\ÁeffffÁeffff& & & & & & & &ö’ €�æ׳æÝÀf&& æ€@æ׳æÝ@f&„ €YüYrQüYxF:Q€�f&f&„ €Y|Q€YäY€YäY€YäY€YäY€YäYäY˜QäYÂQnQÖ ‡¶ ¶ \€�Îe€öe€¦¦¦ ¦ 6„ äY¦W¶¶¶¶¶ „ äYÈW€�„N&\D& &&æÛæÉ@„ äYüWD& &&Î 6 ¸QÃf&¦¦à ú\ö Îe€\Å>Â:¿L]L?ÛÆª¿¤ª€@€�‚ƒ\€�\€Áƒ€ †ÁÀ Ãp‡€ ü†Cp‡À øf\Á‰üÎ Î\ æÛæÉA„ xFNXÎXüYXXNXÎXbXüYhXNXNX€Y�X€YäY€YäY€YäY€YäY€Y@X€�Ö Àe€‡¦¦\Î ò¶Š\¶S\ö‹ Îe€& æ€@„ äY€XÎ Î ø \Îeû€ † \Ή\€&f$&Ð  ÷ h÷ ¤ýÂ% Â% ÎU@÷ ŽÂå— ‚ Ë ƒ¶ ÷ <÷ .…`D A @ Π耎 æ— Ä$X¶Œ†Îe€\€�ÂÀXÃf&¦¦à ú\:º×™¼c&£>X4%Àá]É@ÛD €�C ŠÃÃå˜ Ã%èÿ  æv v ‡f&þÿÂå‚ ‚  Âe ÃxSæ    ‡Îe€õ‡ŠÍà ¶ &f€Â €÷ ë‚�€ä‡ ”ÂE€ÿÂå ‡ö ÷€Ö ‚ CPQCQBƒ“æ¾Âà‚m\€ &€¶Ž€ff&&z�ˆ\ ��€&&¦fz�ˆ\€&ffz�ˆ\ff& &— Æÿ†Ö Å‚ ÷ Ð÷ vŽ  ˜ú‚÷ €— &î‚ õ€  À5@éÃ%P‚Ãe°E ÷ Tà Πò÷ <À5þûÎÕ€eš‡N N ÷ (E D A @ ‘‡�… ‚Âebz\& &ff&&z�ˆ\ ‚ƒ&&æ¦z�ˆ\&&ffz�ˆ\& &z\ffz\& &z\27 ATTEMPT TO USE DEVICE NOT IN SYSTEM31 NO AVAILABLE I/O CHANNEL28 OPEN FAILED FOR FILE29 NO ROOM FOR DEVICE HANDLER$36"Ö …„b" ‡¡    ‡Å D A @ ‡&f&f÷ êÿ÷ æÿ…eD A @ „eA @ �e@ €e‡&f&f À ì÷ ûC r &@Ár&@r BAD FILE SPECIFICATION STRING,44 2ND RECORD REQUEST IN ENCODE/DECODE 32 FMTD-UNFMTD-RANDOM I/O TO SAME FILE!33 ATTEMPT TO RE(&DsPA r „C�Å wA `€×t ‡ÂE ÂEÂDƒÓ ÀÁ&fÄÅ£££Ž& @ Ž & ‚Œ†öåÀ  ¶�6±Œ&Š€CK  .csect wdio ; common /wdio/ ifile, ihigh, ilow file: .word ; RT-11 channel number (returned by ILUN) fhigh: .word ; hiuffer bpl eofchk ; else if moving forward, test for eof br rbuf ; else just read without checking 1$: cmp r1,bwords ; iffz\&&&�À r†Â‰ \‰ \ffz\&&&�À r†Â‰ \åååååååååååååååååååååååååååååååååååågh-order file position pointer flow: .word ; low-order file position pointer ; (note: file pointer is in WORDS, not bytes!å) .csect wxfer ; information about the contents of the buffer bfile: -1 ; which file it is loaded from bwords: 0 å ; how many valid words it contains bloaded:0 ; flag, nonzero if buffer has been loaded at all ; (if loaded and not full, åwe know that ; we are at end of file.) bhigh: 0 ; buffer pointers, indicating from where in the blow: 0 ; file the buffe ; FORTRAN SUBROUTINE ; FREAD(bufferarray, nwords, offset, highorder) ; all arguments are integers ; ; bufferarray -- (nr is loaded .globl fread ; entry point to FREAD routine fread: cmp file,bfile ; changed file since last time? beq pareed not really be an array) ; place into which the file data is read ; nwords -- ; number of 16-bit (two byte) words to bems frinit: mov file,bfile ; yes -- initialize all buffer info clr bwords clr bloaded clr fhigh ; also reset file point read ; (an integer occupies one word, a real two, and ; a character half a word) ; offset -or- loworder [optional] ; er clr flow parms: cmpb (r5),#3 ; how many parameters? blt doit ; (buffer,nwords) -- use current file pos'n beq 3$ ; if not used, data is r ÅöÄÕÔ6ÕßU@$÷@0À$ÁÀàÿ B~ß>äÿÅöÄ2Á�@�ÀU{ÿÀe@Œw öAŒw�î@ÀEüÿÀ BCÊ@xN(buffer,nwords,offset) -- offset from cur pos'n mov @high(r5),r2 ; all four -- absolute file pos'n bmi 4$ ; unless high<0, NN(NNÂå(— $‚Âe(— €I ‡õ † â C †C Ò µþÿÕÊP3ÀªÀm 7 œý× ¼÷ öÿÀxäÿàˆ³‡ÀE  F7zßt@ S7 jßin which case offset mov @low(r5),flow mov r2,fhigh br doit 4$: mov @offset(r5),r1 br 5$ 3$: mov @offset(r5),r1 àN@ N Q    D•÷ ®³’ßäÿßE@$ß4@èˆ àˆþ‡Àå0�Wp `÷ÁEüwþþwÒþwêþåk— _ÿÿ beginning of the filesxt r2 5$: add @offset(r5),flow adc r2 add r2,fhigh doit: mov ubuf(r5),r3 ; r3 points to user's buffer mov @nwords(r) .mcall ..v2.., .regdef, .readw, .writw ..v2.. .regdef ; parameter offsets (from r5) ubuf = 2 nwords = 4 offse5),r4 ; r4 is number of words left to read ble done ; if <= 0, don't try to read any mov flow,r1 ; compute (file pos - buft = 6 low = 6 high = 10 error = 52 ; RT-11 error code byte bufsiz = 4*256. ; buffer size in words (1 block = 256 words) fer pos) mov fhigh,r0 ; in double precision sub blow,r1 sbc r0 sub bhigh,r0 beq 1$ ; if high order = 0, might be in bL d transfer into user's buffer mov (r1)+,(r3)+ sob r2,1$ tst r4 ; do we need more? bgt eofchk ; yes -- go check for eåof, refill buffer done: clr r4 eof: mov @nwords(r5),r0 ; return the number of sub r4,r0 ; words successfully read rtså pc ; as function value area: .blkw 7 ; RT-11 i/o parameter area buffer: .blkw bufsiz ; file buffer .csect fileså .globl ilun ilun: ; given a Fortran logical unit number, ; returns its RT-11 channel number. .globl $AOTS, $FCHNås (file-buffer) > words available? blo readem ; no, there's something usable in buffer eofchk: ; else think about reading L mov @2(r5),r2 mov $AOTS,r3 jsr pc,$FCHNL mov r0,r1 mov #-1,r0 bit #4000,(r1) beq 1$ dec r0 tstb (r1) bmi tst bloaded beq rbuf cmp bwords,#bufsiz ; buffer loaded and not full? blt eof ; yes, hit end of file already rbuf:  2$ movb 21(r1),r0 br 2$ 1$: mov 4(r3),r1 3$: cmpb r2,(r1)+ bne 3$ clrb -(r1) 2$: rts pc .end  ; otherwise, fill the buffer mov fhigh,r2 ; compute which block to read bmi frinit ; (if < 0, reinitialize and try again)  mov r2,bhigh ; set new bpointers while we're at it swab r2 clrb r2 bisb flow+1,r2 movb r2,blow+1 clrb blow .readw #area,file,#buffer,#bufsiz,r2 mov r0,bwords ; # words successfully read bcc 1$ movb @#error,r0 ; if an error (1 or 2) beq 1$ neg r0 ; then return function value rts pc ; of -1 or -2 1$: mov sp,bloaded ; set 'bloaded' flag nonzero mov floåw,r1 sub blow,r1 ; ensure r1 is offset within buffer readem: mov bwords,r2 beq eof sub r2,r4 ; update #-words-left-toå-transfer bge 2$ add r4,r2 ; also r2 := r2 min r4 2$: ; so r2 is # words to xfer within buffer add r2,flow ; use it åto update file pointer adc fhigh asl r1 ; convert r1 from buffer offset add #buffer,r1 ; to absolute address 1$: ; anå