From 037fc870a5261fb3e55bf52a7acd38d9f33af0b8 Mon Sep 17 00:00:00 2001 From: burniouf Date: Sun, 4 Sep 2022 22:12:49 +0200 Subject: [PATCH] CC stuff, new LIBTUI, some .h to complete.... --- .Docs/LIBBLKDEV.md | 24 ++- .Docs/LIBTUI.md | 46 +++++ .Floppies/A2OSX.BUILD.po | Bin 33553920 -> 33553920 bytes .Floppies/A2OSX.TEST.po | Bin 819200 -> 819200 bytes .Tools/docgen.cmd | 7 +- BIN/CC.S.CODE.txt | 103 +++++++--- BIN/CC.S.CORE.txt | 109 ++++------- BIN/CC.S.DECL.txt | 9 +- BIN/CC.S.EXEC.txt | 150 --------------- BIN/CC.S.EXP.txt | 287 ++++++++++++++++++---------- BIN/CC.S.F.txt | 49 ++--- BIN/CC.S.FIO.txt | 81 +++++++- BIN/CC.S.KW.txt | 148 +++++++++++++-- BIN/CC.S.LINK.txt | 126 ++++++++----- BIN/CC.S.PCC.txt | 191 ++++++++++++++++--- BIN/CC.S.STMT.txt | 72 ++++++- BIN/CC.S.SYM.txt | 97 +++++----- BIN/CC.S.txt | 395 ++++++++++++++++++++++----------------- BIN/TUITEST.S.txt | 93 ++++----- INC/IO.D2.I.txt | 8 +- INC/LIBTUI.I.txt | 78 ++++---- INCLUDE/SYS/stat.h.txt | 31 +++ INCLUDE/SYS/types.h.txt | 7 + INCLUDE/libtui.h.txt | 55 +++++- INCLUDE/time.h.txt | 23 +++ LIB/LIBBLKDEV.S.D2.txt | 14 +- LIB/LIBTUI.O.S .txt | 54 ++++++ LIB/LIBTUI.S.BUT.txt | 10 +- LIB/LIBTUI.S.CBOX.txt | 12 +- LIB/LIBTUI.S.CTX.txt | 23 ++- LIB/LIBTUI.S.DLG.txt | 9 +- LIB/LIBTUI.S.LABEL.txt | 12 +- LIB/LIBTUI.S.LB.txt | 12 +- LIB/LIBTUI.S.LBOX.txt | 37 ++-- LIB/LIBTUI.S.OBJ.txt | 59 ++++-- LIB/LIBTUI.S.RADIO.txt | 55 +++--- LIB/LIBTUI.S.SCRN.txt | 9 +- LIB/LIBTUI.S.TBOX.txt | 45 ++--- LIB/LIBTUI.S.TLINE.txt | 39 ++-- LIB/LIBTUI.S.txt | 36 ++-- LIB/string.o.s.txt | 73 -------- 41 files changed, 1657 insertions(+), 1031 deletions(-) create mode 100644 .Docs/LIBTUI.md delete mode 100644 BIN/CC.S.EXEC.txt create mode 100644 INCLUDE/SYS/stat.h.txt create mode 100644 INCLUDE/SYS/types.h.txt create mode 100644 INCLUDE/time.h.txt create mode 100644 LIB/LIBTUI.O.S .txt delete mode 100644 LIB/string.o.s.txt diff --git a/.Docs/LIBBLKDEV.md b/.Docs/LIBBLKDEV.md index d7d3edad..70228d20 100644 --- a/.Docs/LIBBLKDEV.md +++ b/.Docs/LIBBLKDEV.md @@ -3,11 +3,22 @@ ## Copyright Copyright 2015 - 2020, Remy Gibert and the A2osX contributors. +# D2TrkFmt16s +Write a track (16 sectors) + PUSHB DSSS0000 + PUSHB VolNum + PUSHB HeadNum (0,1) + PUSHB TrackNum + +## RETURN VALUE + CC : success + CS : A = Error + # D2TrkRead16s Write a track (16 sectors) - PUSHB = DSSS0000 - PUSHB = TrackNum * 4 : 0->136+ - PUSHW = Ptr to 16*256 buffer + PUSHB DSSS0000 + PUSHB TrackNum + PUSHW Ptr to 16*256 buffer ## RETURN VALUE CC : success, A = VolNum @@ -15,10 +26,9 @@ Write a track (16 sectors) # D2TrkWrite16s Write a track (16 sectors) - PUSHB = DSSS0000 - PUSHB = VolNum - PUSHB = HeadNum (0,1) - PUSHB = TrackNum * 4 : 0->136+ + PUSHB DSSS0000 + PUSHB VolNum + PUSHB TrackNum PUSHW = Ptr to 16*256 buffer ## RETURN VALUE diff --git a/.Docs/LIBTUI.md b/.Docs/LIBTUI.md new file mode 100644 index 00000000..d13e08e4 --- /dev/null +++ b/.Docs/LIBTUI.md @@ -0,0 +1,46 @@ +*** Auto generated by docgen.cmd *** + +## Copyright +Copyright 2015 - 2020, Remy Gibert and the A2osX contributors. + +# tuiInit +Initialize screen & create a new context + +## C +`short int hCTX tuiInit();` + +## ASM +`>LIBCALL hLIBTUI,LIBTUI.Init` + +## RETURN VALUE +CC = success, A = hCTX + +# tuiClose +destroy context and all sub objects + +## C +`void fastcall tuiClose(short int hCTX);` + +## ASM +`lda hCTX` +`>LIBCALL hLIBTUI,LIBTUI.Close` + +## RETURN VALUE +CC = success + +## License +A2osX is licensed under the GNU General Public License. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + +The full A2osX license can be found **[Here](../LICENSE)**. + +*** End of Auto generated file *** diff --git a/.Floppies/A2OSX.BUILD.po b/.Floppies/A2OSX.BUILD.po index 4bce420cb2400940f6326081754dc4fba978f73a..3b6fc3816fdb4c33c3a4808638f617bf45465d1a 100644 GIT binary patch delta 127548 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 delta 127008 zcmbTe3tZGy_5gmr0}KPhdmi86{pI~0hlhyxWOz8E2nhJ@F$gFm0s`hE+kp}@N*8qV z>h_vgF)?Td+tsWrYpWHvw#naaTg0|L%IxKiW@S|RKlk46d;x9$|Ig>2!S~*C&pr2? zbI*OAb7}wirhhy9*o)oWxine8o-+4+?&`G2fIVNk&vy?>^Y!18>k;F|r5W~EJYoR_ z1?<`3@g$%`1nfzY$57lC%H;hV$L$&OOmV-Eny7doNpZu|>+a8ykH+)n&6_V60D??tHy0wj9KG*w zogEU^m!sPw?6MGh?oNW?@BoVKiWOs|?B(eG1<(dmg<6i0`HZ`6cOBqB+L9y(ZVnyq z5Zj-|8qS&6zFx6uFvqadga)S>cAAlG?D({}{WrNCjvt;+H=Njc^2DB><_g(jO(v#0 zRM1h0I_DDUJM*XxZl}IyQJyM!is6ZDgAEB~v9>b!CEOJ&JP>PhJ3iGQptv0YKM426 z+T^6*o;|zr!eW0LdohoI0swS5+c21I7!Gi}(2sT-h2Ur*Fiv3_oU-Tdc_G=17i2Ld zHSbI}%!mKHPIea76!f~il3*Ar_;-rI5qdh{+dA)lRNu9ZbP788eEOaU;~axEUQm#x zEjHQl2PULDU1<<-;WWd-Y{Sl}2Fnvu_v|!AS$D^qh66G<3*!Gb}@fPz>%)A*9{ zZR0hgTmJm~w)|cBL-`x0?U{Cb+RM{UOnYtG>(l-+?alm@?Dg5lvKyu~Ogoc*GvB}9 z&VuTKdkTJA@KnK{3jVLaGkHVurzz`GYf?|8#-usuzkj5CnszNMO`on0PaU$R)}?-! zdNOThitFFIQ{JEAoN{$ah#|v}Z7>?<8%p3i+fZc4rMa&Qek@pS8aACVePH^J>5}QP z=_iw$+20&yjx`(1v&;qNV)NbRX7d*FL+0J)r_Ilrhs>{9P1Lnui zPn|z&{u20CKz>=~H_YEU|IztR%|9~#?fDB!mPG)J(F8#>$T_V0## zr^o4l>+PAZH0Sr<>=|i4W6K{JaVYvO+VUayrmX;STF4bZ?kFj9DhSLe)8Q(mECjdj zc60a6u?RC@)W+Ku;}_4mMXMJKjf5N;8hLwk_vjAxu`R`y&${j8?#5fsxdq292MWHn zl|v(@Q$r(LwmCbm*o;FX1~=ip=sstTZON69!?q>(rE_j(Yu^_;TTD4$2s>Aq`Y!FP zGVNS%8cY)i>A_U?S!JTRD*EaBie&n}q`$u*zjxM{`o5-#YE!?QBzg-#LzbE^Yrd-a z+1A`IY`fI?g-zX$wte0CP5<4tR_MGuTXWCIsh$y?)nY3IW<7c{ppMRBz8NCC7;E<$ zcv~3!t594JXAuTS_LML-M#uiZ372wjQoH$jGc zx3t&yACXWl(p38r_;kU~zV>3mbWpzl8N0F{k&k=-EA3OMFcRF0z*9*jp9OG~+{vv633Viw!hVOTH3$aPUu@t+m{o~;oEO#iy?%n>b z5RzbbYkym38CW6=E)|4V6YPpE+p?aKt@j86cL{@cQ;=Knh2-M7Dg7sNEHyWT&}_SP z<-uQs=4tjy(qysFo77z>{58RDJc}GR`feCvon5=SYuXbMTmR|vx!&&8_l58>{?|pfRN3c=*yD4zXzS6W?(g?mYzUZgdI)dQoUkFu z?l06Pb$f$kb`MC|zqb(J7)g2$`|2D{0ebW+=q39_lJ$UW_Z5ocH7r0jHmTca>Cgp9C*nsrUE$84M&0fypS+ZDGV-VcCdA|K)8Uh zW>_UuB-yKl;UxRYUT>HD}?K38~bioK#2 z#r_cB`LHaiUjhPz zchl{D#j06?F~Kf}FR5!=4<-b*5p8Q`iQvBPNInQ=H~1*K$ZwDS`-@*rv`JK*k*x6X<#~x`cnrzzSh-B{jsEM6PKddnS=xPh?LO?wrEt zNc>YeYJ%zyDxfyu_9E+P0-Oo;a|A0@C807t-^qmw$=z~`FgFE;C}6Gy6InxAS_LeE zly{K^mxHqHmB1{hY$0X6zk;OmU`2C}Bh|8?nt@bHVL~Jjg3+WT1o$Cc1n5ClS6v`1 z7rUw7LKe1hO^~jGmTu_5dWwtP<7hsAa{jKx+K8B z7Iu&BvvED6WNd>#fiT8=Ndhd`@dG4uroK;dJ4fju>ytW*FnfkQ!M1@7f(Tn1OK8|= z@MELF)3$7A1V)0@BIGC8RX~xfQg&ZDJo;xq36av&cTHFCen^yHg>3_ymg|bw&G?^1 z-7`%Gu5G(`;G#1Y#5P1q8aTD>;+Am|CZhh4I;*9Qj*O!@htF~juYuFT;NQqvbXEqL zcZ9)rNrvsO{w@r@M{*Xyh3pUp-8lde9pQ%@iS+*cq{a|dN|pk zCXDFn=h{7?F<5!Nruu=IUN=x94AxT8z68h1jUw3pqq97G(&6#y#|5ySz^YR7o$!Z5 zdtq<8ur=A3f{;9e7+DxuLcE2Vbh{>r87*75OEy11Z(iwSzuYPA%0`v4Po#vMCnJI!+J*u ztPHT=#z8XbG#qDugryTDePSmFE(D=Y}GF(ZfJS4gRCi&T3vt8HOpjO=}UVHzj@XU(kn4(1>m+NZPU z96UR6@Z8A3^CJf@j1ZNqJ_mau!4yk4y~D=!op*R28S6YhG?w&pd%!T~bU!oZxR2!C zy5MN-v|gw=+pnIk;Yx-*IQE=DOOypgT~6<_ZryU>r`XeuF%aBy zXl&Tc?kYX&W>=ERe;IC>ivs%u_Y1}D zxb&(U&+Wi#uDa=o{bs|YK9%S%ZDJR%%d&^JM^KJHIYHF?0ND%VqkF4+iVL%(<$n8T zMD{XbmwG{;*nNns{jp^2Pm+PoPENIF394D`>6F}=bbCA{2avlXVf$ncJaFD2w|Q(k zUvojooND)K_Zp6Nn1mBq_Ci8;HrXwwklkw5K)EnjK{psl+dmyM_<#Cow~`Xwk=5|w=@-)tA=i~#s$Eye(NS!WKk#FqQLfFaV5HRn@<-U7UE%B z-S_3euY}*n+Gh-m2!kKf-MB$G6K79>`z{zFQE+MqAC7h^g!|*{{HgY@V8lVnSFph< z1PHKbzMg}B{MPMGZarRl4OD%hz~I@t1uVbaqjwX0>;l;9g`|@X&x7Yrd|Z%wXlN9S zXh*h*X;^1fG{NsZ8-ChIV3xhw9$%3S>3xhwB^uU-f_!CKh!2d5)tP{xm zEDZkQB6C9+yh+KRs6mc&1|dURH#kddilMPnfn!d&@Yb~MKnvk+SOJ9_r^lM*_ZVulg}bz(1pV*9WzK`CeSM$OENffNR4cp62=LP6{toli4-De zhSd)u)#Uv`=MCDCRAV*|=wlcRybyx_`@LIuZZ@cma7rfrfS$3~8_gcTr`@x^z4Hdt zpk)uAbcW=7F}G)o@U9wg3WHaGcWnB>Ez=g^o_Gl|3}!r*`YH;J>t;5jI@#tobo1~2?C8kdB@ zFa9@;FNMLcNa?`W!r(WQgmgId8n`A5e#gjycIff-VW-0rY^WE3I%T~m#{x3|zW=(L z58NzuU3Uvri}OG1mTY&6S5KSq(?7X|V4H;x!QWhWQv|@S>iZS8aZK#-qg&)k7}Sk0 zg(+=Zzbx>2&-LQR4bbl^L1EXE-s`yz^SxWob&}K72lQMg{W@d#PDdauKk1wzu9fY9 zf^4ciN?c-t0Yf9iV(X7?`q<7{!arx3Z1TRZd#<1A`=;l5ov!xl&ab;_zv=u2P9d}y zzyG6~#tKOj>{~RB%p%t?|hCuF$p~d;H`kB(}gATI@Qq2WX*t z0J25iM}GBQB2(T$=svvgC%2@ev$F_t@x>W1gdhRO)c~CZe#>KjFpz`m_Y;l4z%^k9 z*h2o@&Ku%Q(A(c%gggE&IPCu3Ij8S?(!?RyGgl;b2Ob$6hD)N{-J|W_TpaChg6q}M z6}E@i{=(LU(=2>cz^%;UyDU5(D4Lc_4B*vefe9g`sV-*>G(v6-Ua^Og#&dfBh|gJg zRV^%V-9J%tU{^F=(iM%xwC~JyhqBJbExMlcGdVfekqMY|x9Q0BLv@xFa89^hxBL1y z2xbjA8z&DNq=5sQMSNcszf5-b(9xgW{%Q*kuFNkpm+4E33sxiYpZgLShq@7U6P!Hu z=@agGkAsiQ;CC!3$K!jB%fdpgM>;nRm*;w9aT)lbT#qzaX2!9jxgOJw2YlpB>$Tsw zkWf$j499-?)+4*Xs+OZ-v$1lqSzl7Su}fdLs3QkyJzcQEO|{j#2r%7%f)y@kL2YYW zOVj4*d%yj%t48yYEz^em+Hb^!}osx~qj*(g})g3haLD{EKO(U;_E8Nt8S~mx2mnSleC+Wfx`S;B?YxrV%dYVEDI_8QS!<7G^7c@XQ#{6 zGXhbCKEHCAzAnF^zS-DPL#RKHjsk;3_|o09A_`QA022jdqF^{&NCJkKT2@35HCpJ z%3^a#Aq8h6ZPYl}Sh|c7&Ov-MHq4T1m&Qni`L4qB45W>fz{bUuv{~qIU7Q3h&nqyO z(gxDAQDD3XFQO8qqp$@0sM8@Rkdwsr4|%tFr=UKFrcVpd~KFo z;8L(=HhfZX_H211mxhBtE+FQX{97HGmwXgj0`g?qjr^* zgB0^w9rXf$!w4v$Ezv=O6va>`z%W-WghJOC5X(wfy@*mAnI{j=D+Aj6B0!^~f*J)y zOo72y&QQZDpqP#heY0!8G8_X6t;AJ%plm=7T`Zv$*EWu`lah%dmPkblt2RL?ohBHK zEEKs^Dm7J9w=^|0(5Z|S!&I`2u(;fXGl9iyq*%dNTp7BOl*4G$*8z(Y8V42M0rey9 zbd^JKMg5lA2^;|HcezRnnyQygsGWsE@5Wd1Gz$qeuF{Iy24n4-`o;-z!xRxwJE0sV%ZastiPiXZ zU?QIw(Hf$mIuUyU`x)s-QO`6Kat{<269t)THc?x4bz#I>9FZ>%iwqCob)*cxpD)+OHbP_CCJ}c+W6>tgZ0%cneSrX#pfML+T5c& zg=I?llY14Mq9(_K5y=v=glwT%I3D$JR8e$r^jpz>F&Qx*!@seFv81t-u`~oH6B_Cg z$0BIr*(Zj5Vhw{a2Hhbimope^c-SAl3KEr)7!tBB9yhF#MKi-ToU>PWn6E-{!1~Uxa{X4`M8c_wTD19K^0O3V6 zI;!8M*p!=VS}{h#lG2XW$Q4=E7B$oDc>zV4qmM>kiv1xjDt<})OYx5<4kf;q$R%A( zN>1LK{9^L5)Z>Pp^!AL5%*5o4$w!mFOMWQzg5l%zH!`|2?~A=J_Gt1C$q%P~X83pd zn;E+^KZ^Y*_UYt@Q+he2{WLzbpOzj47E-Spc!#0vbpiNIeZd z1F56%b0W<@Z6Gx}tvGEY%?|lr(r!YY{NwbGL5kN8q{hR~_`gG0r?dW%6*2WUSqKfb zWWkj#f*m-7fSkAcKH8SGb3@jy)~w4dSvt$#p;R%rur-Su1kS_#tt+-iOc^`#Edy;? zgB!B86+qNdQO!KdiBGcN4r46pQu}w7zC!9ZC?LP#pie&^;=A|Db&2mpO)C7D6^_u) z5#!+#d$S1k35=iKFV{w6n(LPlSn)eiy=a@M(@b25CfXLb`0+pY%cCQ%M%5+xdl`mv zyJhwA-31p59J1n)(y~S66_tyZEQKJG@Ag{dO04)o{vGyyN*`F-OZ;r^BPYLHLX!3jk*8sa+L9%FhWnqE zPgeltc4+rA{N>Z~8t!XcYLlmF?u)w!F>V%O_QPI|N;r{?3L4yFlg}>Yk}i(c5n{rZ zi5ExVOb>S!HlHEmVenOr!QD7q%pTsFESL_zvMsA0F+0(1gRbAcxNf(RL3i{RcQ}6P zTWlG#;K*m>KKb*8{7QDK8|Q?Fdd{R!{rl}B((@U!r-mQbAv-^JUf2oEOM zlLcj>J+7YuS*0lOxRBO_m*VZ-M@B<-j}99gpX#VCkBky#xFKUwxAUqH6J>J;o!LBw zjE98T46cAX({)jB*Oo!^0W*62NRsFltijlci~k^3n#Q6a($3`c1ZAHBOYU+iT#E0F z1oU=a)*0(rXV3;k!U<4Z>=jKJ5w_u{{{W{m7ay{rQNjnb&uS=WfKW!1;E~un1L`Hh zC5wVEGL8rVL{RP(ZRe?^q$H#V!lOoWdqy1x1ryi_6C8AF5yr(gIKP&}w|d4<;C{u}X?6zn`-617L8kcXQ! zaIH`6ir72|zzm*rqio3N)!t(ieo8DhB@yFk5r|c7OClvn)*d5)Z4(U&$Yu1&jfJ3V z?;)ek=C>a7s3a->^|beU5z{1@1E}PjGnfzxP(92!{mmRS6cg3!N%_Xd`{dDjNf$Nc zM@-JpPs^Q}i{*5NbNsX~r`FVI>i+zqxgBn_b1cHGV_Nt+7UGWr1a+JcgI67tXQdS1 z7ia4C5bxGuG5`eLChMOI!_fd}HqU;-LuOp@{5br#gYvLausz533{g)MXv-2&x09Kc z>-PW+5U{+*c#71u`MK(w`aPv~sEiunqZB;lSvhab8Zz24-#0pAhm0XTMw2ZAq%48d zmK{T;Q$3~~Z__bxq(z$#On7T^b8Q*A zD@J=FX*D-Dx3h%c<$PAst*}k)G4_?T%li>Yg%EY-tftd4wa*6=E{@t|{fPFQV9S6$ zqv|)XZt&vZ9t~_Lj&-4_-wWFg!Qg)~wL8+Xb+0gNb@&Je^};h#+WpCNPSWL5AS!HM z8W|;06QJXnFbBX$vE}s`yI>Y?50D`F3<6<~M%&!?jSyK0SXYd;f_`+5X^}BNUI$8l zeM%h=nKfkG5omN;!-Qi=(AJUp;4)I!vLFWtwruhpNn>pMMSsb`g$VEH?IlpqpVaOT z6>QTOff=O!U-VEaWKZcV*@2Pf#qF@il731ONeI zq9I@Da#%fqugNPnv0t`pgK=!y2O_OEcFwOm1-})w9sN^|x6!jQw)4KpmZIj?c^K?WN*`|xQ zWK?x?muy)us!kE~3_7x4T)|WWqR&yZU7g_cPU8UP&95R7oJQkaWF zZCSx&8kWZO#L@XCRwxixj}iF2U`Hn56W}qkQs+={dyA#bwvP7pmhEO&5Fx( zuW-Z!;AI5do0JGiI#1Hw3SR!aJT%_5gZZBfWD=3_6VJ<&#kL*K%X7*yqQ)m}+9r|d z^y&Y(AGm#*Cc?pF;Sz4eALU_IY2kzkdtV6o&nAE0*e&ZZUOHlOjM_ZGx}^DY@)A}K zyJW$kB332JPP%ZnsXckv8^DkbvH3zrzzl86hDlR3taL;Wu*0321p!)bnQ6&9d}Q=6 zC;&Qg10_8l%(ZiYj%hqVNeGmWI^23!<|v37j*Om}@9^vQgCxX!!7qOZvLJhMP=5DB z<}uPWAq^Mwn*Z@sFBp-+__`ubG`{CL5S zH~c8!#|M6V;l~et{NX16egfeq2!2%XqlO>Nv9Dj%Zmyl~g&y>0w;*3#xW7i7mhEeC zPs-2N!_`u0c_BNCj~!74p%(-f+QJHTnofzIisgCh(`D?YsTT{6%@o zv;Bvk8^GMMSw9{8M$7H}-sp}!%J~n}L9ux4Qqy_(`l8@l3aL)=}qh3YOTRZgAk)lTAu$DBYR(r1@YHw+4MT$DH zYCXP8s@}t@t{tzs4ytYf;TmaGEIXVOqzY`2xHLaPJEWC~S^Gz=Mx)#?UVEb`*I`F@r)rNBq zP*n#7JSd_!gRiK1Ez)jdU7+2Ld(2=U4~b|yZb5sPD&4C~B>D*c&k|_+QCHhpIorxi z(DqJRJzlj7?U%ZuY;kdM9t!-e3wK)HwzA^oNZXA|2Z7HXMpD>~S1;uwxjiBSzq^Hj z#|T{GwU=Q>V|;okAI0qxvG?DC{d-3HafY4y1TI*?=Xfig6uagrM(k;^lWh$98Bw@i zY*@yJNB=?U6psU7e}R220Wu8R=2w&>?Lpf0KF>;cd_R8uk6JBvm=-L0ZoFWS)t!=; z(bT$3U$ML*Kd-nLX`crS*YGM_SKnsb+*XS`{s^rp?V`bLLy94huOs+0;p+v7tjC`S zUw^)pucM5wV-g;J95+1=e7!^qtS^rjoS4K{QQ2a~*Q>wAm-6H|ORqDQgg2O37Ze&7 z&+D2^=7Nr5JxpO<(HzURStg`Y9 z6gAd%=+lw+KcwONPm!Y!@ZVPQQJMb&ocgwoRb^GJtr^MnOMH$AJ4Cw(oZVW_=`!Sxuc@6 zaDl#}uo9^P04VintEskjE%FZH^f_!LP>Is0nKT8Hq|r>4MmsKz&LvH-*d$036f%)D zqEbaDx1aQGSQxjzs;0Vw45}hi3j65Ir1y~`oP*)A8L1;~sSV1Ai2R@Rh^hpxoariR zg06gGM2=t?(Zv3mLgFVWgz6(v(nk`Gn(F-^{$~{*qo^kVtPm!&_W^!-eG&xfUEdLS z9pd|cJG)yU_|NG-mD8>wFCzmyAZJ&QXw>2#XTh7XmxRHWrAJsJj-OWaq9a$GwRNU5 zR~?HE4PD*w{)of8&+$Eda0N$>tEL@8SGPd8_84m|0((8ks{+LrS?pOB9?P-dPc)t( zIQv1qB1VkC8a&Q!$X}$N-Y-ea(h?E{E3!Q|1|kNpp9;M0^clLo^CYx$edlW?%Ya@O zoFYIFBzlELlIIU8+{8J>9YH6Ny{6vWSl_nem}V7!f}0VYB7qle05Dw`p)<{;`l9@X zrq)`dNoB()f9Qoj{rTvz7mvU6@+&7^eeL8j%+=0u?ycnmu*@H>qeSA1HXL2eui)In z7oz>xvWC|r<~1}R4Q#4l2F}yZ>i{n5*z)eX2IO z&V!fYch>MaZaKcPz(<|8LY$kM%PNv!stsB>VNxh6EGx8 zq^ZJzCzDheDrrB}X`WKrQQOjjf?!`&y{@?hG=Xn1ht}0}fkx{H?GP0)e6V0&_X??;w*W)j-0O1f+XFM9k={Zd$jl zwy~`>v_r4gBlR|^8VE%TP~>*}c|9ND^N?646GcCa1MlIZ@*fd*TX58=Tv(~kFRN%< z*QPHlDL_itp^4IX?1Z(H-v#+e+9^uX;%rk8{7|lidv{;S@d!Ss&P{ zk+T-eGYNmgmjL4Xj*AKe|NI??zN`xgdk_7N42)zH2%9t_g2amE3|{oIPMz})w7;sg z0R?>kmDkmG=%;n&)i;(^mLmo1%}9y*Be5jAGq0(UO>?@B5q`#3r_!Y(CG68E9}pt; z2|F=`o<-Q}@q4l-K zNHgrq$V91dlI88*6|aw4v(Lq2JF;`^$=9A8z`C1e3>`J@j~Yr94P2i zIBFfQ3PrF5A(J(ks(d)u!H_v^I>Z#Zakz9HADQOC-PV|#?ZFhD96PNl*d{63i^Gqv z;{_}1(ZmVK4|ZmhJegjR8a8KyK8%Zswe=8S17ltRn=(4$1EC$Z=L%xvqEs9px<>CV z7^ZDq*W7E@5iePKg7`+*(?eUsu(Fl+lvNzOboc8l9DZ zlyOXAa@a`V=+VVHiEO6G)ksh>6tan0WYrr2Gnf*h^i+79*2ITur$`NgoTX(%&fs(o z-_^wPu^D7rxTzz?fOJ`ec{1Q8AGo5Y;s%FrROB>{-T`TH;9FO<9Y}Q;;d-Ehkc*nm z;g6d5NKLNDF9ZkAWE;kZQZ6&KRnPB*0NsklED6gg_uNmf)C9E@`r~H?ZUZ7fyEh<8a0YMj-=N9V4QM5`d-dZIlk>j*`!*izpa}zy1t_AB zwYa;54~||3x`qp_;6^$|TpP@S+SLpd@y+;3yO$<~Uq4|Gjg#?ibs4UrjVVRgfR(Lq z*8@AQR=7gjh`B)>&uzkiEn2?TXS0j1=}3JaP^72p&IPrb%>{as87a0hb5h@bOIdL# z3bc-k3X{k(r0EcmmagcmYG`PxCaa$I0S=#g!l;%#$l;D}d^OxQ{C~)h9h%}%v9EWMzAoF)T35N~kqPUG zZWo8`y*iD%{+8!aD^S=T4!`!6F*qdPcTmXY0*b77 zjI|fG7Z-2fL#_B0TKjIN75IDCI1#TM6pu3+!B4n&-c2~prxMZe_asM`Ddkf@jqT5a zY{V`nB58X8Vg*x$!IaPHk^_U{4{Y969AIh-KF9_Q+zl7P7Ii`ClEU($;?ku^@hlq! zszWX=h~&Gd756g+Lk`oTrsm~&k51-L`5fa+4o3&=Acyl>jjBk+^K=G73Ok!oeTH1@ z!%Kh{7}8wDpIKqh(OU&lyhz3~Nbr&t2Q4Z1>i#e2ww0I4Ro3 z>x^N|8zRHI#DxGRQxx)bOJskoRHOY*`s6t2Ylqp=RHbV){IDV&-iH7 ze9Ylzyu4JtqtH6r&+(sd_;oKYP3BqYsDF;Npgm70x)z>Y)aDJy`%`J9{EV!Wy26X1 zBsoZZNix>)1@a5ADVW8+axH+0uSK2%OlR%ZR7PaS~F_Wi;SGrZCFr9d>Ym%yoGJ zlVZc$JWac#)M4zN>_mv)#AUI#QGY zl?K>!Eh68|NL3CEuqDhjw!AB4uwfyEev4)FEEq!%0^Uny;z3`rOol(*#xI#!1b=m{ zXXH>9yq_e0fQ_WdAM!Z`fB(w1M0{;Y|I`|k!t+BYcgW!dCVXv0_})%_O45DN78_6* zE^>yF_le|Bo{@YmyiP2FkRzy<3u%k30AKIq?+7pKp?~OW@C3Udgm_*OG>ho(X1sno z-+oN>5MRJ~)E88>RpC2!@C5;Rc}AnTB)@oZK_Pinhw!^Q_)+|)hxuac^$|S3O8Jma zwaT~^9@Ta0nrdX6%wsid^4esayF2^JJ=U#-TO=8$fJ7rf@s_V!ySjdLlZ^9mZ?12y zm2rNaP0h896f3~9rM9YuCW92!ipl%8oCwLNf1sIZyi*{dA+g1&KThEhxDJY(zwaU0ecR+)0vd3yDghZ-*LnA}i zd#q;d8sw|RhBG`?vzD{ut2egLmaWmu?*Owt(S2vBvNExDJa0Jh1K!Ztv1ivmPxXs&7l z&bP|p$Y0e6D*X*XZ6MliC#mY@%`)x*nj-zWjihQeG|RZ{B(GZ3fG}?Y6FFs*F4337>kntd?=7y&$=vxdwK~ zGVUEEWMF?^)c_BmWZd5s&`k5j4fPY>_I{$s#@Su`W~Y}>_$bJ6%!XqSt@BajP$_o|dw(c+SPMhlpOH*H~YIPkY{0)ZE*P+pNw zpJc(y$pkSEoBg~>b3T;_UfU+RzEzd7Xlgjg0ufgj&4Lo#(Mqu?K5BeyV(E0Gd zm9z|y($!+4LGZ>EU~ukl5!*{k$HCovD!gk=Mt+&3bT4_33BoI~m_;T`#p|C*innI7 zta2LKuP<1PqZRM~vof!|5(VU<6=iVDO5de7R&->bfEg^G z;mXfs`Ajh%Gz;amtT8u&Q~Xg`0QI(=q#LGsU=(OR2 zbfhXn(lxbT~Od~pdSPmS2 z?}xIzc=dih!U~?h@utC|*fvdFG&4+sTu&5n#{$8NCmFI zaiqfHib53l#6%D<76d-Rah#&kax2n2H4#*?)LfZwLaL`H0`v2Lmew{A1j|R>;^IoA zer6)nSYDX70P(#OVfm#cmFAMgg-8QoVdHI=7gjDVFF}!t158p4xE9AtE6gj1w_I}& zKl6KD<*j&@Aqj`@XTRqotHH-Oj!UJdK3g8VjN@>k0SeYUHxXP=N`cyei9pZur(Kj9Krv6oDX(;0nNvk!PvYY zyrHC`5(WPWr#`{!-2M!3|NXoU-~9ydm2p&}Le^&e;*tvUyb_oVwZ|qGRG3O(4UBvd zDjW9m8vMs6c+X_;VTw%B%4C;@)Gtj2!u|+pUdCsi;MM#qlZ)uy3q_s4$|re23x3Us z#1@l^+ShR2lMv!~5-$Z5EBG}hqEt|nH*NuvU7i%h7W^g~EDQ6@C9aW1(kS>XRshF7 z*yb?{CuzjL4FxP@=TQP@NfPG9Zs@~L;i#uz6b<9q%T~LwqOse1sn$pAq~l`FxDuvGGxHF{2{0E??tz7t1aHiu*Ud>lvu=34V}#{(}#Z z&sqHLGr;IM?0g31?eo~bmyb(`yC6~{SJq3az;)T_A}2vm=%@I(UOpu3GZEL^Se?=3 zLL(UzdJ&%k4DNIMGkoS;5)lh(Cm@mx3jJcdC`+ONMc}Ral8w8lukhkOK+l77*42g) zCTjhv0`n52{pMEa!qNhyf!Ml9xOoKt1W)cHV8vo1(tulcGSF0vG~naC1z3)(D)948 zf)*ncMCMHb%|mMN08awJqEJnB z%-sT|I+oo6q&jxH6-adKj?evpS6d-oa1w1$D)^!&fk3I?mYxJ6N`Rh%TH2 zBT5C=^&}WkDufy`Sn(vKf@^ycDpe|YxF-RrQXvF!5|Aj>AD=wHtHT1=-LiKeLxJ6# z=>3jUarmqvFh-^ZXKNZnv1%Bmzm^mCbGym)qKbEA$t5lGs_4Xf?_hl8APm+J9Plik z;vLGMQDGcj7_N=v!g2bNBz1rvIJl|%4T2&wkUA2d`!Y#o70CT}t83>-?|*~9#Z3cJ z>PYMraUZE;pehTX8Ha(xn_`i(1^kT@f~Tbsg*4D+0@ObdY7>Vfv^zB$sgnpX7Bt;~ z8&-QOti(Nj3ln@QZE`trP>!EokRpw_FV*^Sj>KZ5Hi#Yry6e^FmCvg{>h#-5YceIT z1q<&>g_8$TXWfn&lr3VCs19;ILAo6LpF=z!KK*uNMK05O%nYpRhtRWGVsya5VzV9= zeG+Il8*0(03#6SZ@h~xTQ1r92eY-v%E>6nezL(L}%RzX0t%<5Hoi4^TBt5Q{GkAA6)RTb9IGI^Cc1~#vWXl z!Dia0bi78;A`wN>jZgV_sjiafNgLt=o_JRqiX}{t;H8{C1LLTEUL6S@cY5VMK}q0z zcPZ%({N7=B$#JI$fj>=jmuTB?np*2ER9Zx@9r)9Uo6)+c0ck+Jja3mXj*gj-?fA|?KG^&a6cKBMKi~x(b28Q?ZRonB;RoxFxsgm1P>9rz z+)gfZCw^^^4=LFtk|S=N?px>u_e`W$x}i-Xxchd3A-^LIK+7Pn@%MQQim8VN+(DSb zvtKr91s~!v7lDf3GZ(A(S>i1Dmw;@|?WV1N8aiV7p)!bsCE4JgILSxn?uvfG7oo`aX|2y|>zECvuauKrtjXcZ4+;_yR{~h02zy>RMvx+CLFN zz^p3tuqA@<;Tq5>;{S~2+IejjILb+HCW;Zk%44D`@(_PqOfH3&9}6qy=_|{L*G>B} zhv)vmsIGX0I=+$O1Pj;+deueAWlu`*ql+&nh%23j#=U+U(i;+z?l1U?o#*|*qweYr z`1@;b;pW)^>cGE>Ql4T`#t!3|Lwt<&ZxWBLD>9^c=N1?Vx>vtD2}oE({@`*avXhWW z66^tJz41<$pv2fFPlBq6$e>yr9+SrBa+{Y$`6W z=m+hmEU4ga#b<;c@WXvheCt%H@Bkq23r4|pa|hdKX4~qo;7guYz&Ng>rL9Q$wIquF zWfzC$j`XQW{a>8E*jE+qkJ9fSR&rUpk-Noq%SP)gA1dlzPJ2H{dn>aFI3>n}Jis;iM zvv;Vk43;lCjZS2PhRXQKXyl*5U&iKUaOBe|6sBwN-jfC*Le(;euKU&MaOZ~|vjVhJ zdDfgXKy|<~dzQopi%Hi2Ei5mGO{NZf(2uS6QU?;Zy=x%BO?eo2$Y%$r(!p&{C$I?7 z?;Rn%=X48sbChd*#N0%(EY zxt~Z1g~u}#Z-xSY>r%|K7cap{vi-Q}Pkx#u0=V!g+e>eG8Y5QJq)Fv$%#-o0nlj!T z8Qf%y8brK21ipPLL?XQ85!nNGzKcCN87MO)?C>mxJ&$1{zihDxHp{SOod!AAmX&I* z2>Im5qz#o~x~Sh=QNJ_r>qmK=XEk{f7CFZ|rz!1B59wzoDQ9G^bMhshSoaQZS|-QE}Z7+Hx7_dMVo zE-RJcj%B{uKz|4a(C4k_h`yucj>c%DUxXidkx%2w@o~WBAn5!>z7%fV(~k3cZZW>& zIG+!HYRPt-&lHx*q&4LcN+E7)!R(H>Rz@gq8UFS-KR0|i#iEAIupWwQy^EpTu>zO9 z#Al11`bS=Z8_bn>;3a-)%pFXK;5%id&29BfjU+a*OP^QK5nWJI*%pm5?vi2KHgAL1 z-3&3@g6F)61tHGR}Z^qmsM1jcSO&MM*j80d}uC(Wbcu(X(YQ=$|jR+gOr^@vg@R59ApC; zrR>a^B;UmH^P#2Lvk88)gb+`%>!s{nB-|pT2l}H zqYiT89B%vNRw`%HUkW%9Pe|=G#SXJ7mcn zWpM4@QQBPF0^a|Y*4&Pil#aACqZNlnkx!mfD*Fxjj-Y4sySfav+4?V^S^+ z_}nYyX3m5xma?;fZNGg|c4o8{`R^akf^GQyUdjTl|KsC1VnoBIK6)!4EB_!VR&jvoC!`O$xV*Ntw&h-Umr>w) znbn$$6bD6&XNd-ho5ZET8XC?Vjns!E>R@3F8)|ByiGJ3Em5hPIjDqgDiES*X-Mq1> zrG~UHz{=Hwq=f}be=82^`qj}W=y{3uM)%sx~yhWES*i3APG`#@cA4IVwS_n;P5d8#h2z z)iDX!Qrotn1tx3NixOyID>xgQKoHe&2?h}+;EVzty(D!*$jeN0;%|CH6rV|_d__VE zJ%QhOgAcL3DnS&liG6dDRA-(FSM{n5ZJ-U!>r%5V@JDc4+iF{Ymp3FJY?0dPs{!;E z2?XJowL}W_n-ZvPb8{`|1z3Jdwm;A{wY|+6kNPXV_b=c;I3=Oq+tdJ5NoS=F@BI&!kNBqyzxO5|ru{&cyw4@czgSu9hce8) z#Yf9NlHs_wctIFpaP7xLy~J<9)~|I{^`M`!Q5mj%i!YJ=TZaGq795#AVc5a{A=t#3 z;TkB_b)dj#6nqxA1D8fjMrurYY7A_3AR4oBb2AD$Cka9$-2nCcub?h$szE^)B-GWU z?*R2v5!E_Qwx|M%P~c}0E<@E_yp1YF4EkI`r15k>^wMpZ3m3qwfP%i5fC>?JfcoX_ z?JrzV0=%lent)4!@}g15*S|uy$Xo>P5WbO+N!(sE(p|m{wG0a2bR;2?@HvR!i$Wtuxq#B=acY3QX%j=v4XWD znlJ>Me}5Y`VFm^LFqt&y?)q(*lr9SVQ9>n51I@A9FbT&f=qCx$N+Sk==+C#IE+w&q zDCidnmqs%J>W$k_^Xp1C0;@MAR2uIHsL1VB<1H%N(3TGYVQy>}2J%DH8XLQzvfHo; zGK^~!=qBQKL_^3MOg%dH+i>SWFga3tOhTk{La6*#aS7cZtEYrdcy0xr6}Mp%o-0tG zmxRhNb>6pOQp6yogh=Bzfu_%Gm_@*D1yWgkC0rKb3Fhv18}ecj{h5z~{3T=>1qy@% zZo@62W}^xmN2MkSbc1fk&9~Br@jf4d2?Wi>4sG{wJXm7`5#-rlLk!d_C zaG{%oY$X#~Q4xt%MM1&i*d%5Z#0!~(OmQp7Uqc8A9Y-Zmt$-SKJ8C7Apuq5PRJy3@ zA|_y3*_29O+p8iaOcogn+zJzL8EQEVnnkLp3CJV>6Of~S1(_5fRg8q(Oyg?-IhG<@ zCr<3*`Bfb!VT&=iF!{vaM!U#`o*cpG|!h#r(Qj$U15{eLKX5BR8#;}3lA z#KDtJ?fN_Qt|uXc3e^}JNpu7fNHpUnKolDg27z(o5Fo(axM?DpGaSTr4xW!I! zFNx#0#U)O0`Pn$`vCaQGv-{rNN#y_k{GCre;`Yt%&d$!x&d$uvZomc|tsV-EFyHAS zFw%il;l9ATW(e%`4h1~Q0ag*g0InSZ+@XMdqf@G{hRzbBV_DhQI&92!C`s7qV2iF- zFbbprAPqx68WTar0A$P%kg?^%8tAg2!o49tiFZeFu?6`?kBFpz&%9H?v4>aBp8 zodiQB+t8e3ps8D+_xM|r-~bkx8wUesNOQ4%GbwcQ1_S!q93oQ?IyQ^;Ap~yf?3pfn z^HXBBF@VC<0lDC4kh6rZBe6+{8?*ChfbfMcbO52TbMHBehJYfnjQS5Oj`z>dXgFud z(V<&KaA|VWTL7JV!qK4@!e7740f$KEn0n|WCk}#-!6S>W?TEM+fs>pXD)JuKoID5~ zhAIxq7lBh8V4#lRd;p(11Q-LQtIdI~L}0}419&+DC&@oRw`{~EmK90Rq_5_zJX+H& z&{qT9iNLr90N_+&pcih$;#->tjmrdR`n00~x1I^$(-VQ= zIR)^#qXD<9-zXyMZD1LFA(By4u;HkXIAs!aPLG`OLd1;uHxB0XoHLS^#LDiiq_b~< z7USPE7&fpu4hx07o7Q6Q5TGq_ptU_Kdck7;tr{q%k04mEXU3s$hFZC9?Q+0v8{Amr ztT@<~4ROG;2Lp!Ai31YY%1wmaxr4xBB6waLZtaH63T*ozFz9qPaZC7y2llreL&!_- zg<-Y!#Tz78>UQVg_I$fkdok=(bW;S2fA^5~rsIR~^*cS&RT2R183H&5A4GU>yk8pd zDn9r6_YLkkdVT_25deF)^=jA)2E&>c%A%LxMe$!WRIpD4w++6soWH4N3qP=NgFkC=7 zU+Dr)}6O0@pau>b?%3uN@3si;z18zRm%rt%aMuehBak1suA; z0k-b~L9*Vc!0lB+y6Qr@DMZctZgOhSwIDFY%|jaR#0L?&#Q_BU`AQL*zI6yNB;|Cj zVBQv|9jxo?yL0*C5y9h?%uo^&K5AjLxUM1=QnZC5sAM z7y|moL7?mS3JpM?8VnkFS{``?3&H=);4k542Q{Ju;B$lF0?#}1qHfwjw!AQ8Vldrv zyVr~0iw-a;Vn~jGrSekBHL--l4oM5r!|+i=UXCLHeuB8(*o&F>|7kE5zCSw+E0LM| z$`Bl;LzWT}k-x+n#h^&7kFs9>>flz*zotl6ff=XI3G9j9f0c5e*+XugRO zJ>!Iqb8>hq5z_T3U8kjSx?P_QBRIF~%ao0{sOkPi3LH{y_ra9SXW-X^DbPXP?q8*> z=-KRcKa{e0?FP5|;gsGk{CRX(4Oj{PczpOebzRl{oOt!z?4mB05J&Kz7$$K0uAnFn z|2uL-=5!w4DqkMaJZfNO^ZkZ#;Enxn@5}y1zB03Uwj4LBIcw}F5&VXY;dD<8M=xj~ zh|DlxKBJVRLDN`1X-szt7pB5E#ZGZjKI|m6DjP3b~e%2`@zl>WQp#Q{tE) zf!2BQ?TyVjvF$0>;GQf(ih$pIeRIGIEl9_s<@AA1TH`rm!I!gWh=@YiiQXt{9z_ar z(%6<3k+(YqQ51tJEYuaC;S8x@rR`0z(*{6=q5D|D^HX5X=3HlXSh^^_Kt6wZbJ6Gv zY3NA(agiFj|Kg+(Q+}>X>;X>{IhV=o*P0{4L}-5s=i`cAo`URJSD-^39SC)TdNi*Z zc)dAdLTTXpVAAd%gT;Nej)Au#mAQGtDFGMXiMdE84Z)9Q+=rZZXzE*$hg|-7t)CqJ z>_4A>@#R-ve`6LDm5dpO8=#*Kyo1b;BfQOr52d^tDNk_~%BuGx`G;n{ANjRAH}87g z=+w3$jTZeY;vNp;^HqiquqD@K#yKHHc_U z%A{rNP%&u5ee$g-%|)S|I{XWdG`Wa#hBsqT}XH5bk1+a!V!V+ z%!8jJRtS9c&w;Ptm3BXH{67zV9Z4CMnYBqJVCKlw1{wG+QkU&J6G`QI&sNc^4I}I2 z!tWx-3@_X+Y8%GL559}!fk!Z^mqPDRSX@0hGYQMI2Yr`mn;s&lnHJXOT3H?X~M`=K_ z29W!6<2E(^M$w21a7_Bf3G(KrC|+GYg+K0wYo+^0q&|c5TdqI@jl#S^PB{{ZxNee5 zj(`le$djH9nyy>rB}d@*|B<}&NTf9Nc14t`JLD@zaQElO^2m{hIU4uHl=M>*u?y)O z``~fIahb5nn*oBow_xy(S#uT^U*j2T-?7A|VhE~N^D z_cx#v#Ry~5c|=ZenK`b<IyFH<3WON>WKN_#y*IDq)p@e5^v4_un*e zCW@kWDEDeazVN%?h~o|95$7mgh1cjweM%3Iv{v^pazY4mP0)nsh8(LxA{0)j zX=_61k$BZ`RKAdAhVpXaMczEZfWuIu1+>#h-`SBs2B)dy4#mh~S>rXU8%i-);yq5h z<1IrI90V^Ao1~et1WZ|}%kgk|mCQ~zL!+wWof$PMn%IkLHq1QrB4ae&*5D~c(zQCS zGP*uqC2ZfOA;Q}^;6?hFI7GoX`C_UWoUxOVm-QjMZi1c_T%uwApOmoqD*iuKZ*-HL zjm|huOj@}I-Z3cP)i=`qb%Q$lz$OhL^QV63ke!Ftiz0~0l6szhulJzHT+(|hX- zrw9-6asEXe5S}$V=_h5Tb+#1%{b8b=51LoZ}*si7QPjO{h(f?&&RNd>h;J@ z+oAQK#D$RBi9~U5bsjnZP;9Ylg2@NU|3*uHx@-Pr?dIBnHHOqUVW{EL) z0tMAozAH-&f#Q$@rzG$h1r8(8BCg6%G=4g1Yy2nzqS&FS9oOF0-iO!Cp_s8uf-dIc z5wB7s&RLBPuG*Lya!1!N$vf9F?K);6G8WRtJY9_v>xpjq(jDPZ^+3V94*k$B3;iD| zSn_aaR&ZrTi>L4zF8S#5!C)p*OEyY9#?mcv`3SRQ{Z`ey+9a{~qENgNjv?*sI$etJ zZbO6Wx=I#wFSTePryGQcypzPg4vHsC1Bysz1$_*$g~HgbxFWPe9v)!^=k*OG9&|Dy zo|kkoBHmcx?boy$BU1O+$^S?%Q&~IrDeC2(?~=ZIn@xA*0(n`w8BRs2Nm7ssE|T}A zoB6IwSTwklE!PExzdBsZs+8@4fnSgD5;8U)W=Y*Z1*f5&Zd4pzn8}eGjP5il26O z3hzODBet0+LJ!)K&gQmV^F`LLh?;uO#9c%ICqJJ~1$YcFxYTXBl5!js3S*sEbq~kJ->UM(gd_*()u@VjDCoXx})y<*N z#;2IB%}4`%m>?nZ8-(XG0EYepagea*r92+g^q4*o`ksNtj}Vk#PXydZJ~+Y76s|VW6rJ~QSUm5cN5uga z4wvJ7Wk4-=^)jVN8_IZK$i^3toD z!=sHn7|n>TxZq+>M*-j{FJ&UlrgqbG6v?J1ngjKee-auERV&riFdb!74HsAjRl{^t zP_+szJ!m%2GR;O6H@#p)jhcu zoe_tf3E0M2@{)n(hK$)xad9iIH=W*G;2t?wemu}zT`7M|n@j7K+9lwf6M#_0GRlEWz~<*C&xYS#)Ldu;Nn^s-B9kSzQUF#wM^_&&mp#m2mn>+~}G(ptS9Q zuz5~aAWh)BfERvh8<3{$5_x{u+=1+CX%RC&NF`#FPh3fc`LaicP4BPnlkYr_^z)^1 zu>%kdBm?wE%-(=EBeT4s(yFQ+SySK8c*?tg9kyYeWq+C+bVo}}K**3MU?-<->>{{8n zc6lG)Ysx~Lu^J?2kjgEM!!6vfE|v%yF0(=PrP)2aO_r;}pjC;Qh@gJYIc`X19W*R-7ai@j7WE=_E;4zWp_HKG({BQ;e@@kJ5)*tm4tm z=^ajx&RRaf8}(!iz?rfEf6;`|s9vQ&GB_49fpOaW5wGGOPj-XEE7YNhgMrA*Fy$Ea zewlyLV0dG)?({f*TT6J42a=>fAz^Y8EN;l6+9k?bU^?t|Wz1vnu_Q=1F+lxj{Ns70*|%gsB6_?u}d4t?NrfRu~KP z@xMdOc=ORUNfjpz_O`S8ryV?IuQSVCWoP^omrSSFQgGFZg0_pM&|9oJinNDdpKR?)O z{>zo?0VfMTxE1HZJ|`og@PKdSH(Si9!#s<{HHVJfYW~$d%meeY44!3vHq3J){^dE_ z96ii~)MK*oY;)mq-%lJXZhOy095j3|`09fj70egWxSf}D9`d2`{cGX53rG~*O>*OG z=K}ezUisL&k-)tBlr1ss0ND`v;Qn*P+A#c*RE5;$G>njU z!u*A(-m|o(sc$kV(eZa~4E;<|^+8#7j#)Jp7GZWwJgC~v`X#mo%vEz;e{%~m(fx`{ zy3=c0;9y;VXNdNaIivg`x$_*eEEV=($~Rs3uzc+CU?h7v0SMy}Ra)|xJp6btBtJaI zOizV@m>|o3J8-U9TK|OlMfTtX8!M8J!VZk&9opWEbC7DW;*YZPT(d0C^OV>tLQmVm zfapjrL`;3&GxE}N&0Hkh`q{Z=z598=sz+%A_F$d`Qe8FxmM`cF&x;^=`Ad+#bp!G- zx0$oF61!6R%X<5Oog?edByAnVEaMeNVD1w+uoBaWTOaDMgf(r|6O_t6?t%GOjC@T! zK2(nDkl5dlcN~K9j4im+hV+rItDQo%B68nkP%~Bwn=)HG%2u`PUb}ij53WSgKXv22kBiah% zM`cW@2S#pDg&bb&s*>B!GmHH&aP7EVR_&@cp?5HpE=JgbA2ukpJ$GAeJS&| zo6+>IbT?y!^^I)aZdRtkVok@1n(ySM?ST71z4vrPPy571QG~}XAK7jexZN)Kx9w&m zJj^*YPp796I_C@11OHI*b~BjX2-CDOLDluktT!_%(uG0hX;`f*@nX`+F|&Mf8jLG= z0Fud2FN$HHcE(u08~jL1d^sMDg^qPm4mUOAQNV?n3=aSOW6UuFilfar47RG zQ_aNlxoq-5 z`WDC=GVGjudHm}^(_L67FWF%hj4pQJi8Iw0d>`p0x-n#X36u?~Tv;yfemz)`0%J6j zF2}SS`2O{45mdBcHEDsus+J9XW@YC{-2^RLWzfWpb9g?rM2(Lyy%r7ekp;u6vxi3* z)jK_il18#&&_WOK7@Of09Gie7iM9rjJ`OcFolc_&On`AE`CWl@n6K4mm>4I?%r}D( zIK14>y_zZ)C;(kY(dzYh_Y>;EcF)QU?c9|1htE6u??4zq0pJUdjMdX9& zS>avZzqM!WN)d$dnf$h;jr~pJcE{c((#h~lIwef-IU8hbw;8R5t(nKO5uaEZLuH1? zAEJ!TA@L`TCT@|B?>5J$jyRK6j|gs)u6{G%I*X}SN-lk7aCnGeQsyyD=*PYGzAgyl zj?qvK<;neK9B^N*AL*`_{XI!1A?w9}WH>=Y3pon;G zf*8F|7VI%=>n~k{5jvCvIm z1nd+X&7+T7BI6dCcm{3|Y!N14oVtFL0Bn2Z0(d}3dz8wiH5t3-!IvNYF61OaQF-a|%mMR)V@8NQY2xXcu^E6qd#!5J;zp5DO|>b$ zZ7cSOzo*W2zj6=rN=GVC~2g`L$ML|x6Ry&Q>z+VQR*-|g_Z6hn8wg54>&i3?1SlqoPLQ@Hy+7kgt3dO)Ijz) zvJ;9Gmdh|`AC=NOo(i6U(R+Y_JG)jZ%;2mIa!CiJd(v6N8^fxIl9+E+osV>$Ef^R! zB@#9X01vOun#yBn=x=HgIZ-)k*pz5f&M>y32Xj>;oZwuKz@JBD(46dgBAoA(5UxC9 z2M?N;yZkwYcoMX3K<{6a3ryZ}$Xu3^wd|xT4*aMM!F>0+)A?xfL(GCEzXVD<#grj` zOO;aa!_}mRC%zFoZyLgcM?!;k9uDR)&_M{c5#1F(I+ku5MiAG4%=v?Bi0rxqcpq*} zro&QVFH5sg?s%*@5`&Q>sm-x*5VDf+a;)puAxYWDo}UB_tBKv90UHS^N!iB^f`O&P zhRJ}Hgj=jUuTo@B0pKbULh6M!;cbowO0+2Q1gARWp)~TG`X&q36paKl2H~Bq+n*pZ zU_nvJ3!3-NLOJb^6GZtOdG2w|rSo%PJ|Ve0h~jXbinMw5vz@{Al0CZm4Ke(#c_rZ<-?`vc%`VDrL@qzx#6rHXWHJ66_LG5@@@z6Ge0p$d`7hit?@F7ADStn9;EjlEBy-qWVXjf^IJKd6E}qDl ziCgov9n;{eUkkW(fICecz|&5*5BJu3F$lPy2#2zkEt~MXPVaomo_0DebD>l6?9|KY zt4n>Zjq;7Fr~QUrY}X#y zbnTQ;X?qp#SM3w>#63-wNR@N*wNvu5FG{j26u}vO?UaK0=w<30JY-Pb%k4o4?-lqb zsTgC$aaYOWIpsk)YHw4OdqBwI{ZoRjtK}KjO+m6U1QYFTs&HK=AG&Tzh3f|DHqTvg zlgyi4UhcjHZ}0A(5*{{Pl-?$NQ_DlLbzf7uJNI_EV|IDYf;*H%02-Y*iFDhf_5N6Q zjesebbl^tX)6&tmc2(b!nx%a`c&}BPbx?0{*V~hpdx1Em&6KmPrZFj z+lHn4*hDZ+_Jtf} z;y=n8TFZ+@BIu9B9eQuTqaEBEj6Dg3Q#WnxSck-x&&r#omxo6`M?@ue)kI;upw}8K zJG9pPu;u8bqFXZmBuC9HkBof9`GD~g)+Wq3BwLms`{kVJc!FJ*=l)gp%q`DBhV={Z zXWSbKs;qw1Do8`)P4y787uFiBDf?l6A*U8ilbVX?J3{W5Q5qVCEGk0Ix61IZ-1mfB zUs7hqGGJ(-&8ZBAcR>+=ECOI;VP6T%Cp2l%4@ng8MyOKeE?&^tzM!oWo@!lz>?0)K zKXG=%)KB$92M@<58uvg}@=Sk*GRmVMZ<|+c&is!viS~pebGgj}&b$_Vq05l2uXhuf zEb7NqgVXz#Z&|gfdy@!#$@A_m_)3~><@u|>KFVZ&qbIxYTjFDoSYx!8r<}56vWte| z3FAzlX99`J6AEo6_<@)pwASmGZ-n2aHkLU17;d$d4o|_E0NKV}NquwrYXkNiULV6< zYJG%8Ac{h-56(EjbTeG?hI!=$C#Je=^4Jvfr#VHM)q-B9#GzqHx-MHx^7E)v%#dgF zjl$~51Z48+$)b`$s|N|jdG!?ex z=w$3AQxS!E!T#JRKV48Bj=(y^+EM~ec%@(*V;sw!kk}xlmL#OON#8Mw18s|k@J`Z- z%y^M8SvOiXc0A_>XAgLT$T(irDJ`2gP6V1LhKN-ib^5OoS_ak*6SM+oQzd+&GYLffj_!469;pSKQeL{FdHt!`MnoiQV=zjQRuow7pkXs> zc!expSROiIC7DKGIq9aq(92e934xs9yo09VY6`DC-)RW~Wggy*Og-HeBI^bT5&D|9 zUS77aJhyZMzExMx+Hg#DwFvb%vSPBc>(*?P&n+w;iFcStA_Q?=Ww1opEQ=T6C4pW! zc2Rj{8ZN6SS+G^ET2x*bKJzFmy!tG8-J35PsaI@UMq}*({MFGxgt3@jd zXvG11@Wb0_u$v*fJs2?rYuVwHXrK9sp6cwWx>+&XcdAd z39aPb(qJW1ffNSJW7JFd7xL7lViAumPrdD5F|ZKB&JTPT*JahNb0^ z*sm2TX?SCMf@I_n70HULKGg;vCDuvSjlDSG+Eo3m{kdK#&P{#fC-gt5W*Nrb`icEk zLzT$16!Lz`>Qw@9EDoVtcG{ zxQwNPBf~FJ?~r;OXKh$PTLX)V3>;h;y|VGx!Tv;;Buiu*V71tdkqGp@qC0F5zE_=3 z_(Br-HR4N_$T-7lRnd4;)95X|y#A)qAaAC#nRwqOG~k1TkbPH?13CGpPF=v8AlN(d zo=e`ktUR>r?|ORPM-LqA4TVzo@GsrNzjY5u+m-i&cn=@hJxqmn-|69FdCRi$@Vx)i z9efh+;IQsMCjyWDM|WUv42TA0)O}yr4RNgF?Ci%7I8#LQfQygv~!Si3)uJ(80oYyhFZwgA!`%x z_-Q_+9H#-;?@@s2Uc^cAnGyN`q9y65A1G481WA@G!JD8YgNo^Patym8LM7uZurT!^ zWYTT{fs<@3sGt|3A)qQL^pJ^LSBJKSaa$I(g{G<#n;JuM**h}cRE=(Gly0ilea&dy z7TQ^|gheS{@a7JK4Q_j?Z4FNZ8|C~{$^(AHN)pD?TN>uAU5>Gs>9JV;qTz{?i_lf1a#;%cU@z}>ilGL<4k~VIT#VIkF>$cXL99xsd7OLmp=Hzd+*Lrm1~^J%?rs1^X8E)}&Stxc~ys!yRGjFAP7ZI4OZOEzJU3RfC zMHz6SO?XGKZTV?Hm!FgCXjw3ianEj6^`^GY;NSih^}DsHd0ML~nW{=UTW8IiMkS{T zA57cS8PSFNaSr;m@VnX9&rPg%6n>&Xp{Wib z80YTORiQ#MUc64;x5x@FS+Bk_J31f38+08)IbI55H8syjI;EkFs+16Q3L|I8g2h%C zhHO5CRBo1&7h4sxdljhS%PxDNMYrhQc!CpFV05ecU~{Ka!#q>oz1WIGx9N(CCF7sZ zl5gU(dA9n@B#f`?=s7ZdiDjmqt8gnhPmWq*6}z^}7f-Ol?&6qSy~HYV?Vz6_dBYMb z)zzmy74DReEU^k)yZC2A-foQ@^W4IDwHmT&3xkKdb;U-7#>}+Zl z!M%e3TBnQPzCmS+Iz`_3^0cK^E?vAQ((^PSs=BrXZ;4#UcogQ7c|P%5`;3L{3K6^} zd$D|esg;KdY#2_&b*cJunXb8iP|cY=>$_D=yv};LoPUB9zyq{Qm!d1>c_&zf@&z=L zn>R41B3?~X^_I#XPO!S%=5?y0>$!58af4n+H_8|O9f%%RcoUwD?3gycc1Bxg+mfaH zXm9+d$iG>CZfV17ef&NyedS*w{}%b^GK}a}`Q|dKWa@1S6If#PW3Z9i1@@!b*0!dp z7t!{PICwb6g%@rD-f<_0te?Ot*~;(Sjjc!Q!%yXl{kg#t?zD~4!haV4*gi(Cb+U%} z?j|Ghw)m@0KE!cOKt6{RcKgQ9wGZfi+XsZ}`^@~&2jqbhEpzEX2La!M%9L$8;6?bC z)S(KAZ|JkL^rZdTc32t@X`jMxG|xWFW5ib1(z)aUS$|qZsO%9NXIz2q-G<|kFdo&l z;2j`yeaYj}d$Ltr_S-llwl#))LPI{OAd7z|&p6r2^Q>DgN`6oOEOz~Y{^ZO1PPROF zIF-H*M=DTJ`V{|r#O4*7Hi(j^)rXbqR*SM{_}|95uI1h9MA@^l=@hFJ@2TQX{_y2J z+eGQ}s^&WW@dEwGPr<+ChLf$r;mh$1R@qAo5!=+Ya&3<=URJoJ{fS=l<_A)A4uI@e zgqmbKc;YX@rmPNa@VyEMo=FZqhJOB6)mZ2?F|C6_H7-$4kTf?TQETPvT!@GaemGfP zc&ZgmeM42qdsE(hs+F7imijsWZ}P=ct@hNn)z89rWObKSu=riYl%*3JYf8tA+YNaq zLhmJ%)$L|!EFynTD6Fp=vx_C22*blbE1K(bF+_|A|3lu?Wrbq!I5;2cc9Sp`A$T8D z86|M9tJ?*UCqi&VBmnZZ;k?Qk`B2c3qF2ay_btW6rj8bo^%3gOV=OC5`Vpj`1!n~} zp}y9_XHhE~ms{1@pCo-K`&6!9Zk1*qPAZLlCU0JDnG^q$T>3eFQWsTqCA(MQ4TQeU z$^@8&v<3;C6@Ll0-*T(a_f=AH-q&y)uCQ|K7gXs^z_*I}1^*SYeT9`b^*i-D|9c)I ziw*Ta&57O1%2!S*U%4Ka+ka3%nMVky<1)T>gD0xg0oFt!mlamTa^n$D!gbm44P)1o z?Cx08b7mhrxSQbx^QNc=LV-YZnEYggWx71FXoZ#Ais(`v2QY(2f>vJGa1phen-(xf zX<`Rb?bhqpm+Wpvh60h5rt2z#hrP0Ar4<^Lo>c13uzx$l;_G_kv0r}xds~{ad1&u8Hs-bSHY+TqWDU2wz+ZIfnwxGF{#WZm5Xsao$ zT(1IA?YdFfgSzQCPTlfcc@s)9@?6z+2W9#4g>I`fy}$v=DU?ULt!O8F4T{X;X)wjk z_h<bX61Op|iKOwk~YntKLKE zo?0TREqMSCt}6NZDk~?oT2K5)`NJwJk_YdEUI!v;lx|(kNl~q=Uu_k-MjtwGuVnX(Zh#0=<@%&yC0!gC}d{Eo-bG?q?4ANbetsa3+6E^JYUd zbKr>lY8Fv%i#n82!J>8v@Fk8 z44z%UxH)>fQK&tYMH&wG#)wCwCGy#|VB%6)e})zCd&{t0kx2?y3d`Zvj#S84Syd=M zvl7+OKPCbyi`UYd8bZaY#Wi=FX1NDmDDY(Hq0d^0gdZcR!C*~|x{h~c0l{7VG_uo;2+ z{xu+i2;gwUmXCNQ3NKDa;Jl8RO(KkQ5c!LU!|0Sz+uXAfQADTk`0Z<72F^lcEKXbQ z=qNbmP)SC&KNlS3Z;E6(v z>6y5t;=`drgAxTgMEP0r*{Z6t$v91D8*R?H1Of}U+CmpiThK9W6zw9yf1aXUYcsrN zXV6=op6zJUjLH4qK>gmqqYd_{k$89Mo?wmYm%ihxg3I=x58{SKk&VLu%>r6#p>~Y( ziT;RRz)65&lD!vdv>Qa)#mJwB zb5WCh$P3(Jiy`}%78T)JF-9%R;+$sOCU2=3o;PrZ6_wFVRvt-Lvbh|BblvGHW%G+R zChX&o3y3H7TU2O4Rw=W$TIL8uW0G9Eqt|k~bE{k@P4+1Xeyd{f@szN0*Yo^!G?X?>GzXK04?SvC*xT+5P7>=ZW zjv1H!d|1=q_6AVm#Ri~6ya;7FoW`KkJUv5B@~6ZK)pcItWXUhSj0oHHwi`8Vhw}6k~fG_ z(J7x_YlU59#6$tNSuS5V%Zj97N6^ybjD4Pn+v$q@l!B$9%#i@+`j#Hz~IbKnQnw-U#x;T6?%*chC$&K`7MFAAs23Flb_;h71asO{+;xCSv>t~<|)#;_+07SFA5@jOq} z93-BxThM7#2~OdkA4hD$1-weIbMPwZP~!@9#v$N?Z^p}B8$@Iw^(=>NxBPetk|c!> z#y55tU?(B*6I#l1U*f?QB66{5Xi>?Ov)h3UJ9Hv%$3E;OB!6K^N!8s8)A(dbsUF#Pyj>=gfNxM#vX zKykQ9S_XC!VV))D?SMjw-Gk&uqsFXu^YSM5H006JFtUUGl$|hobJXeKMsF=k4>E zm@(cnKnLs@oxT*6+vtz4jb!b(p< z%X@{h(qWtOUa1?!oD7Iy64|EqtXLu$a{AA^cqD}TWE8Q5@+f>G#(gle>U zrnR+-w3|r4v9fWq=Ji_?YZcxqm+ge%?nmw7~XOCg~&_Rw35raSt!ysO_bv)_$NNMeA! za^uWkM1I(B<-7hVQ}2DV!vcjRMYl5ox^7z^EdQ>p$w)!@M3 zGr41r6|DV_;vpO&GQLo>VG$AfQem7#rqEZ6_3*EG=(1;2RXA5=apbe6P0ytw`aS7y z(j~1xSM-SDpCM8s%|&q^yfeVa!8=2WIs!+Axg5raNt+*?CWom! zf`TU?U<~>hNcF(7A@X3$kk9P0qAstjzr+fS@W6~AA{p}2y;e9M77LPx#6K;&u`|L9 z+1J(EhYm>vqDG@IVNj#lFkU#IG<$yT#PT3UQbb|DII2`MLTWTtSYEi#s&qvdhm?F+ zc7E7p<#-L4DmWA>&m~>hhSCfKMe-S>KxUqAA|JRjY<@EGAOTjKaEb^a0eW0fa`!r-Ll}dwI?f0m*Y# zuYnq*?*i=Bjk(}L?8*++s%cyTdS?@1A)c64H8;^$=J zSdBCyAoOIw{2QQ9^xGp z$IRl{a_7&MCtYaeEkn?wvjHict!YV%@U(&f5Cs{hA8iFJhUckHqIln$P9bWGn66kE zxrBw$t|Gr8^SPsPl>>6nI?6-{q|JD)V&L)I{>F1~_5FL^8hzjA1?cg4YU>qxuW=U?m z(F&%JdPAc!5qL;sO-JA%Ya?*Xu5?`7Oo>VDN#?iI4&Qh0SKgixKiGY1k|_DbhN_BDzDA66ir378F8NM0H&o_3loUx01?ZPbtQx<b5f$Fob_-*1Sw92k0@zsJgPbBG5P6bR?pt%4XL4k^N(nx2KxL|=>l<}DF7H2T_B zZ5G*xKePc`0GN&2a}-FccF$QN^DPxL$2cOJwZoIy?<9+->~|9YM`Cq&-vcc1{sa+t zKRFB+m&CmP&|fEt{C_F=74!ZZWpp13X5kNrxj&@&-YATZ)VyaR;E>F%yg!OegdI{C zl=?+E8F>#qoB%`P`78m7ruB0@{a?`EjUwwS1&stW59#y6^2-?t7J zpwN!*zlm@t$V3Dp9g>;i!ux|J6fh7f1dBfa(2JNuHl862GzED8)v02b`zdd@sZyC|}dZ;=M2so_O{A&VrK=yLGchxo$yXN;}g zgItUv8=;2u9)Uem6lKWOkY^83h9VmwhR#>i@*uuYc#)8C0wpinEsRn%VzUgn0{6iy z=|f~8v7|x+H4F+d#PQZZG$GN-%h7~bEXe7AC_>gppjD1isVI{}9uZ2YhnR`@LC!9w zH0XN$0rr_jLJ$#&V;J#SBy;kX!&s2kht! zdENlF@0nb8Ne-e3k5U&D3n2yL5F>(j4#vV^{~~v;o6H$1K38ku=$WD$B5iIt9|wxl z!}E!rjU< zk(AM%%2VVm(h9~-MGU2#Ij4bBGCGSDA*{<0Q;AK|w;~Y=gZHgWm7+| zcd|B_Um7?n^)$^EV}!9Trukw$^98d-k75hoM*5p@>Be_PLIL-=$zhzdUW(i$Z6a+e zMdgwmDX>jbjM;^|4xLS5q;aY>R!xR~$v6k2#O~)kS0jOeZ&w5N0zX@2=+nzd7&|pl zcgat$w!&4ro$(s|>Pu*kk}S6N%cp?+y>j$5R^GIIiKK(4K$G}_!6d#g5spZFu|wj} zrSh_CFnO0HvjE28-4BG-9${ReX?vv}1Ey_Y5D9%Up@8D(y;lR691)PE*E$2fP7Nz~ zy&9ISiRP0*D{_NIE8(PxhC(;;0`eO-VSG>(jhlHnh|n!u?ly0eJvUmRB18gV5aa~A z9e)QK~$shc{IQ{0}Mu8oyK>gns3g2gXzd8Xi)N zRa)1-xx2Ry5eAe-0txgU*0gJY+3*oXviwJ}0+9Xej2q!ldQ2nmxJKZ&8i6Ocd{+2( z4kgK^H*3R&?oEsFc88M4p+6`FNs?CSf26@uI6UO((}eCeam=&w#p|t!CqBpZ_RtxU z=HvOJkk@!YkMKo3!k3N$$$yrsZm^DZy~22>8GoU1tPr`c%13Xo za>B1U!(a)n-&Ii9h05NOb8du< z^nIG7sQVvkiYou9NND^^58&UZ0A(YINEIKt<;c3KvfPj3^ON}r=A}VpcCHgSpQ=_5 zt5yp>(-ZTbqqG+JLblz6(8DhkZ28xK!GQ1x8K=}kCcTYF!1e3*%+$mD@rtN<2;J4G#u6#N~sC_K`-8T^d2F)v$zVL67X z7EUu#@jMsAb!D2o_-3pGuYQZG(OC%@@^@4-QyzW^Q3FPne#tCbJ?9njarrP4Ps%eQ zIPe9jlb{bT$FpH2ta=DVxNo-^l{;>+A|X8K&QfCxMKq`!lll4bu3HfKSD^bU)O{7{ zzKXd#C0v>!>(^U>G@~p!>3LlS4ReYWN( zG&1m@IU`)F5gvUMAUs>HM8z0~vm4~!ZUtvIGIGZlV+dJr_E^-`n(^Y@7O%{ieWUuI z;DyH9&$>A_QXF0;aDB^|hB5(v)U3 z4-sfGJPT75?Tl%9P}9{cRLqpe{>UoNpBf!Ch|ZM)3ayP*L~tb52I8 zvfu{2%Jxby9kWiDMt2mw>B`IuLWVLpS~LdVtyaqd+3?Nj+tg|=5gs30G8uklf9H@3 zBdEMNfsiuM$HfWm3h9o`p&fgoXvhm^F53c-f+CkZLwVww2GU17`S=wnAj9zx5k+A> z1mi6NqHGJ1KizEQPbycg5jbt3(9!KW!_v+Yovz5NX7Z3fnH)e%)jj_visPXGo4gu@ zEyeM${td6K?av;~5c!DP;mK)G^v-Q`8l1WKf`OmFBAa#4|G|LIipWBr_0AP<8wLdp zg*s}9<};zv$D16>O_Fn$2Qwl5Wg>r>Hc5AOte)J-PG?K&m(;Im@1krgxV7z6^dGOt z4BI+&w-g)M6ly9^;6sQHdfB5sEP?9M;?xRFWth_N^h6k^c?A2|M3~8V<GtY9=qKgd)$bn$SO6|LW_jX9oRcMv+{UQ=bgxARS`>f!s0DE$in?8-2 zh6gvHX-tx_PB*>&XiaZmqMy>Eh@HQYi4CQ4NyE|x+l)oCO_PccAvzzy=i=WyxEF7) z^U=38=_7(J&QxyWoNe;$yRB%+S(@I+_jXPas3u$JT=w#%o=1}bZFD>1=-Z*@#y}7d zt)G%z@}zsLV&87!E8Gz7SARo$nBR&r_Nl3c@g8^SFG%VKC|#&fs=7%2$aSq6#&voa z*YhxnZ-f|tVqn~?hjWYmdz+f353%+dU$a|pv6NP%@r?U1woFnhl z{Z0_!yHvk-tA6j%{obp{cR=^^bM?367eu~-bUap_Z5BEDUNnU@#+ z$c(y6e;aYQ+B-|J4hB@n|##UnxEIYCNI24(`z*3~j(y%5w%^DNSV% z?os@;s@-tzG#U?Fpe&PLS1ZJPgI5UMxVuP&{UI{2 zdA10^6-tYPZcxB>Kt-OnupT3SllN{ynYX|cdNNnp5yAUy8^Ebtz2D>Z;3YM@1U z|Bi`O_6yJZ1o9716eg0=X^UzX;2EkDrg07(vJj=)?o^}&^86dH%BhMy>_g2QSiK)Z zOpZ~3irN3Cu%Lxa*R`_XZKd|D6Bi>xgch4}gyuu&L?-3*1oG6}vF2$V_8wrmA zz_e7d>=ILCr7eUJo*x#Zy$@HPwJ{fnXK0%%{IZO5miBlgFhVvO^THXcrKbV^E7{P( zK~BCg8FAyJPXr=lbxo#@y#*@?r(bG#@QQCuBxr^-a$Kt8hii zIByoaXt!c8E3qeF`5 zjQ=%GxPJ9GvuCMs>KPWs9O52u@7&}u&rAC0Z3ikb(ryrpu|N&q+hGr1fb(H#=S8q6 zc?~SqFfdOob!k&SWlYu@ciM?AwiSb^PD< z+nu-p?L7@cQ=&J#PTuk$%zNJTPLbIYC$kQ|?d|PBVy2A_NO+SbgThiXgm<$uRT*29 zpA!2zR?^nNb1MR8sy^)PBnLvrcUCf(FwUmgk{Op+xiMy@@xr$~88?w0vyqx80)6BO zWrb9+JC1fcnHPj_7tI6IN&7<<+{wJ#Xbrd@&Cp?JoG|t(f299>O!~wDwHw4Jc2)Q; zBtA&kAA%Po$AoFTYAj>y z;SanBFqO90i5GZDHJ1LeZmh9Reh zXC55V#9tY2>Rv0)s1*Lck%ZOrtFA1(t+9VccQ_Ubq9ZW$tcuXzHG{pc7%b+voyUvd zzY_4W8SDeYU!%KdchG^*L zW9U*5@K8xyCW7^h;RKB3KSH?$^KEA!F}GOP9YM~xleaahJ5BxD|%ukIeM|( zWWg9t%0Pq2@llneIa;Kr$e+*wUy#WQlB12L&5>_3A+@vT;uWZ{YHqATy<77sQP8eKkmtsYFk#J>qY=sCQ)lOp9B(LmrJN3dpSq;lx1sjkGk^IAa z1rh0Xo7~A$$@#ULwMV^0J2a;b0;2g2z<<7O{~rge(_tYYI>Wy`f56U=Cms|8j5@N0(%=!-d>to&gs+FT=%25M&5g!Vsg3rJA))aN4xD-V>ARV4a<$5Y0K6)|pxC zJw@|5cHSe*1!X}VI^HvrBP#xwQWRe zoh21MozSw^a+57;*A4C^yuqz@Usn&KU2MSJPPB+@N*dQj-9>0KgGIA?6|31B@D}Z` z+sdC~zB3a)L+AEx)2LwsKAT#0Hefj2^}y8ze4g$X8*q$Y5+y09x?zLq4yU2)oyk>= zT?z?fH|We8a6e%62E3QT0m$~1zRzv|8!(*hHY#cZz6fB0Hek5hsj>7+bYrvuUnWQX z9vkp}2LXEnz8pY$1HO_(hT4FyVyd(maJ%yke6{YDcVM{J2kpSuY4oqxJz@vGks^zd zHPD;5QFqSGn$K?0?9WO41peX#8r?XXh>0sS?pp7ELrKrmj{=)IwZ_?t|9r{3PdqTK&C zO%bu}v)4o<67k=ZGJD#!fPyCh?Fc>KQOEr@%Z{O)p2n-lR z%&>4gv`h-y0+|Afp*sbNCm9z*DeOqj83sQvsdfk|^Z>vZo`N2`glXU@NR9(WoIry2 z3i2>5sr3#~>XoNHYn8;((Goo&1)Ea_wUmjLU_?yIPJ!&8rE2(;4?D{bpL~L?5)lN- zk10GsR7?$}R9{V=@N@(au%Lul%o8E(%@iHoXGE!SG?}9U0X(@W?J#@g;d|Wx+bZ+n zY93^(ETB3t=^(lw@sscrrCf*t?ZaBR7-0WEejX4&C}-t z1SIH9+`d4M&;*e+-6`fv^)pbGF_Y$*H(kVt%u?7Gh*)5OJ_i%z!F`6@R(Z(_R*q|~ zo}qa>L#1ub40+nomT!L2ATUh})HF3>nmQ7uY2p8vrbSMB<`OygMTBN8Re=zm6VQA% z;uZ9$cxs|2$xC0f%=srf#r9xNp~0St;`lD=>7v0dPaNzDJ=m3cu-%FqOIOLSU&OWc z)wF`(30uP`6nfVJIZ|G*=1xOf#_4K>dDh_v?#5E&PMWbnSL)$P)oEu?hfK;%s`c>Z z6k?94&c#rE96HoX^@HhKoKTa{R%#)bxlQ+S7WHzrf;uM-buL5s&eKEKt~x1;$%8Lj zrJ)_P`fRg{F#5PH`F}5A5Ay9w{05ECvl~5R_EV{jrWc+)C<^Q)F~&zbt@R1-K0Qwp zMdk${BJSqtVDJl_3CzAYh5aRVoOs5inm6d;P}=?&VprIZ9JrjylU2$qG^NJ~<0`N| zLO_iH-~}<2B~#*Iv2eg&oj3^Ly#^JPYu4Ly2#8VA5#a}r_8BUw#j%okGSNgvmTrOx=Ofo3 z>1F}M#SErf01iIlP)uf!JZFfKVd5b)hB(=XsJ}iPA|q=zTU7zV9MK|(hG8LqQ&>K` zeha;bebL&JzbI)K(-w(PF^3^kmY^SRsRM|o&(RDYk!ZX#dwS>Kq#P<&F$)y{&a0%< z3gJ6mwcN`orX)}Wx1Lrc>>LYtk#*WX zTdzP08srVHS^1I1qarm%B`z83xXeA{(3KBCG6|v{%FzV&*805@0Z97{+^WX_Ffxf# z`Hc4+t6j179V72#Jq-Xn4uHYql?&aW3XyLL`=dLXm1EpMhztpdjA=A-o(BkH1j!K3 z8wiVG2{KcUYL*%}xi1oEt$8b?QsP9j<|HzcFj|#IJ2Y4JePso^=Ouon)!&8$D>>~n zcD6&`Sj^I3222+MwkufT{(rRR&}ZlJXo&cE(}D_(23Bq60Lg?G{aQEd380X zgNd!tGmLaFrzJOUAV7vq#0ZPw1L}G`b+8ckIKdnnb$w*RIYV41e4D5TbzWAPUV14m zBN1(5i*66mFU#v`NsghkI1r}WD2WWy*rD6mgXwk-Gu*87b5WTX4q?k4gujT4?Ka^~ z0^wpb*d2&VsT*L*ArdAL1Kb_4ijJRc*vX0yp03go*TU zk3}Pp)OzW0ZCkFZ1Z2~)AhHwXdiLPO=A*fT0N3I*0KuKu90`aZi%cIxIPNMrkdcU- z{~jVpO#V7Iimw?tx-#z%NKd2phkPnd-d77WcVi(!whIGNo%e@g-WTL!?^(qqJ_u=z z3+)Vxk=$Hi?}Sm@@pq&rn^5J+hvZIx#2!+ux`Y=K9(~t;K(A4pM`zk-@a7;HU+>6x zh{*@s;2XY5YRMH!gn2%IY$|j)^62=KQ zL3&Tt(i@W4mfi?mge#t0iYCOT1+8r{6WJ_d(UWbufn?=*(r5pgvxIj6&o^fggOs(|GM?Kh ztCJ_pw!;{U^zO05-aXuF-qPKN7&-V^#6;n#npuWDQtba6rSYB@O7+)s6_IE_V}p(I zYLz$b8oijXQ6f$;k!Z&CdZWBSwcx!GpxTmqv$Ij&qU$4X+HLr!w!7XQ&zp7!qZ#{& zLeuk8pb@xpXy&xLhGb5=TX%bp?iPCCy{MdaA1z!~{SIg)>E}v#`0iJXZ*Oq;2mZ$~>7XbN|n3%%~V4R8ny41sBSuW2(x`1od5gO3Xr;xC`j7iD@XC z{=asCgbg4Va5zJ?q;~+sQo6Ws_Xx6yq8%-fmu zng&+>uKNP)1AH(QAkWh+Aq=<;&s!kROKym8-imN!LNEY>g47oTG&I8cK-8s5hZkix z$`^Qei$&(y-VrVD1=1|Y^Yk#%oqxvjPuL?cU7aBHk?%i=bfx!zJ%YBCEa;MHcP&bY zUWSKAP&1`=?i2*&;9Y|C1oj1o#SW}EVUNH`3|j-;qcZ3om1qHu@3Kc_IqXr29L`_^ z7=!5sl9jN-#lmJlh4WmN>^GP*5f~l8f=eem_5*ezcvXOg1O-XlwiD$84;u>TP80?b zIP71rJMie2JklF%4}5I&#U$f8T#=XXg-3*uGrDeet8^WmWtx+~BwI#kIbkGX>wj>D;+$ijn8 zqJtPenHPpfL||8-QZxj%s6tNR#B!*K#T)CVs<9(84c8J*APf(RI{_k-Cg|uM&=naL zbIcRA0|wVy(9dEB&8AcgQO?2T2knn_AY$K-12s3-sC_}u?iBr#Oj_<4JXX(FcpPDe z?HSg2oC<757nERp&KIdC`9{6Wwo$`ORXhd6$79~poRgL_PKsPXez+DLVP44=O9QOs zozUYEJJ-;NogT2V(@O_1{BCA!LO7eOb6^B;YJfGKvdOb_*sK%M-R512e1ZMs-sW}`G5-{hoB;=zk+8GKe7S9VNZ1!D&V5WkfKJ0~kLS;>ntSVd3}!$3mO@C1WVXaV`{m#XnE*&#(Dj`yZ?rCKL?qcT7I`9?--4 z3y=?f?A(arBx5V~E-biuo#MoXgLJzjADrgpK|VMOU%7nni(NiAPcgLq#xT_Ue!pmN z=|0im5037iyu}nj*&$81%Y073v#%JI$M-5+>dN7CYW^k5i4iu%N82cyFsE_7;oGL?2lIAI1sMptKA^t{8j5*<{J zh%#D<^{0g1&C<5=^;4prMjM0%HVCA|0nr`pP5@(vyK0 zlPL%q6z-`pfIZaTz!;t3D$35s63ZMXi=RGvp z9x6K!vXX7wZI5Mm@%7o8vJAcXMxBmI%|-)@W|!0bFL=YYf0(xcnpX=pPe5tfIc6LBQa=iKKsVUQSMtpa!mTgb_S| zqgel7{Rx3{A6?6UTY-;kfbbMzmf!&_WCPShqWI&$W=tW%In0iw6v7=YE4#72N_!E? zzbIj-fp2K{aFglqNE_6_0HZ8g^5oKGM5cGSwS8}l ztocm1b8II%c_i}+l9C0VUUWGIA1b5}FnVut+$TmO4@o5kb&NR?q+>Rr7f!~}QKYj? zU)2ZrH?0}D7L?fWX{oU1mI=YIUJ-wFOu)d5&c*bZIR0JVTT#F|hIi2lSiGoQ11lGu z2RV!-A$0Es-1$*=%)TJ zAZ=rKc=dr8ja4xU65+BN1HwCAb|d`5EK5x#Y`al`pm>Cr8EY%UcnQml<7G-aX9@c8 zj4wOU0q8t|ZI{N0h%Q}M5n_B!eR+P(1PG@y3DdjGDv!xF{)g@TQBtIh(Hg59nI^ZI zg_Fdq%>#ZhT5}DI0|wy)t^I2bf2GgT8~0N*F5BAiDF#Wz?y=5yr0Jj`by_N;sndJ2apz+77lc_@8g41*=C2A?NE zOi5^_HRM{L{8Cn4AKx=o@BtYeW-zM&UUUgqPW<#S{)1OC%Ayp%iX*m~BesTB3n6@= z0;)7ptYsjec!}@HW|@L8D8F^Ys*f?5)bViJQT|F!MHhs2eT-JW z`2k}a+(MLwm>}8nBnCgWl0k+Tv*!z}KUg?vJDF~XNwn;M^K%*%OOat57E&)z$|T!~ z{xa{|E4**7GOQzCBflDABCM}-tifV=7iU3y4hV#y?(A70Sl#hqCluT@Z{ZS+Cpeac z>P`^9X}2I86$st9)~i6?W^28m+5=yiq^Q`-+Ewp^nDX!l&8%6o`plj^+hdrZ;4eBQ z?I*+-lj!k2l)+ z8g$eSs{XVS%m~5nGYT{5b32UbOa2|~&yyD##GNe_qzP`MydZOU@ z6%%c#sHg(Tn|2YN==g@6GiOoq00n_Qrf`a_V9`h4P@r#MJJ)ji+ zGnwoc6V|K!0o>pLQa5wn5e3y5P8jg+I>#h--7j={ThDW-l7e`64bd_JJe+^E17G04 zzdxV>>Q{=?hD!h7a3GA|zvTSIn}8io)d6)Qr^95tg0NP&PlI$NIF-UpAQ;LhK=!5w z)$0$aN_E4I+D#63>j7{cw|SGWC#vr7CX)n@dki)Vk~K2wRpMn|IAObVA_w1&*ZBFk zpz8(t5##)Ta5!$@v4NT+1mDK%HI|je@0)p)D=s z7@8M#d%7S5)mqIwRAUJ9<0@N|Q)!_HZ^nh%e65xd(YLld)KA>n~ zBJE$QCRzlPbA%O`~b8{LuExLx}Ki&kAs6pe&NbyPWNC z`f?n2h!M%U3~Kn=h!`z|g~aElJmC01MF|j)sJdP2o`<6g+TDCSyK93ALAHi74a9!2 z@dc|El!StA7_HOj1@b?#Gmi=drvO^RaC+x%Maf?=0!8%M;OmUr6-q49V^I8(5~cvk z{Y*gdKbu zJFDvIsIEiq*MPMe1C(%~%9YqNd0n%3U9-t1tm`pamqGXVgDA@$=kSOQh4Kp;nX zLbZmM1|2vE;y5shX7;HfkVW;kf&m_Fl8*a~Ghmq!boS^i^s0bHZ_#LV&#_r=pFCnQ zvF=p*X9aJyO=wWgEWK|os<$DLK=`w%h}ADjRKs-&p3B-npUX;a1=Og5UGRLFmqD{B z<*QUq0$If8H8$66ie=MIf!yf z$jGzZV`4CXBRK2JO$u_mM~qSCP7Cz%gE%it81EEb6sq(9fuAlQV5tWoVCe7#c*#(m zN$&QD(aXHa(D)c_wpx;_aLlO}0URpe1b}O_PQ%1zQ0g&hlWr7RJb}Ohu4A962GSZI zlhPYP!9bZsKqc%EoC)shzS@s>FO>%e?F&zIOxgtRv-Rx(`(+??LH7&d)d%xWI1^xV z{vk4Qa8tBN58{6(%F|&9r)3Rr0zl$>!3h9cXM0#!6#2eKOenkuN=es^y}b|_N4h1% zMEG~N)5)s`&_@b{Xi8x4i4;Br;{vx==;i@V?U_?5N)bX5*Tr$RM6`J9hz%xJ^hC?Dt^iAT4(!#6Y zS1a0N$kB*7dEj|bX1m{mdzJOns<6#1&S$g?-%4C;N{@lRZtxcie{t~F9sc6suLt}k zz+WQ#CBa`$_)CVrUTvoI-aYrpWQ+5!^@hI`_)CSqw6^?f>0@OsvhL14bBHWAz381A z>9dCTbvM6wp|wRZD?NSC=$qyZ7g{mly~YEr-O1{#KDn|XZ6~w(#6T#58(8SyMfrW+ z$?qExC7ZQ4vY{{h^@G3uZIKNbKaELQ7eI|3^<* z*+mF)rC`Fnvw|7H+R~3_eCHArmvA|#@-;6 zb!p~5_LRgVY(@#P4M5Um4+}L4vb2!qK{9 zPf1LrX#HVN0kr;f{AB`Jj+Vy(Lwo1Mcs5|h4ieIlp*QM5!s~<=0tx0THngsCw7Bs^ z_&;Q7M@Cp7sBF8Sb={r7$tv)j9klVl6Ueq80ot12sL1Upi75<~ zp@J5~LK_^QG89%*!RXA>kY3RIP);uPm|IuWTmhJrTnEO4tzU3;0}(+mC}hA`=n{pV zi?|3ar0bYF6BZ+tp^FFU zwG)n6W!2>sRf3M|v%{E3#)s6LOGNofkECL0GsNy657m#-aZ_sID z&-v*r0(5jRDE^X!;*$u1Fi5Jfld^h}C_o%W6%|}S+bt-QQOcy|Z=mf)^_3TByX_^y zQ?P_TY5zMzfwHjRmBzE_)*O%9d!U3l+*t@JP;FBPu%L(FgF@(F+L2g#WiPmZ zQd{uNqn9n%SLRkEs6eI7kClc(8M&O|uJa#?qB~Vv4dbX3GgSOaNFGQOvf<=%qq|O{ z290#59XwzpS$-|U--^0t)Meu&p~3{4B)$(LStP?FG$ne()&tu%j;DgLyf|EcjH9lli-ZHu=w5oD^!}Q8fK|NK*$+#L+u}yHYuV(P0 zYsiP!Ge*G+y+JoJLfxma)bKizdm|$ZuIQ)U$cV5uuvGu)G86=02dJ!XSW4^9ZK#;q zlnC|Dkgc~TBtgPV$Aq4cFv~F^84_kYCiDsw%#S%H^lq9_Q8&A(s-}99wW$i;c7hUf z905`w;c>@=R7jZXn2;7K_|9`oNKAkfxJV?|0ie?DY}`V z)6R$Q*%rKNQ!HSliCjo#-vml6Vn6*B%lOufq*_jav*OX#z;_9+`r)+1slzHJgbLnI z^4b`HcBurAG<9HIMMX7$Eb9cKc}fE5Jyool4x~{%O(DD}PCQUz&kWt~~r zx6|qA!{Mc`91h>&YV`WpcUmS_uzp*x$9kcZ&fxW^B(3Zh~joe zxJRoqEsmJ?A-!*B#Ccd~t*)%ry4x99ZmmA-#~%8_gZ+@-$w=^M^^!{WCVlT@#JTYl zGW8BtE|;=TkPUY-;vEZ&CMWJ>bk98LP=|TjFId0_vC(d8$M2N9G!?0<7{nluij1B< zYx`#!-2u=Ql3qQ$c3kFA?48frw=x%61zf7kN$jI1`$%RVz1T-@Gp;yhTye~};IPyb z_L0gy(%1(q+O#^*akEceZz8WaG1**IR^MQ*fm(!;$(8kH(k9E)>fr(RG(M~GE1SJS zTe~b%FK?b9X0~N2GN&uYX1WP`Z_a4hcO(H1jVB3UX zZFDb$llLfcdR&CY3c=Y>N*R!qR8ToS4q})+3?OjPlAQ#m#|`4_h6*@%!!5%Y7Kumu zh}@o&oXqmZV(1;PCWNSM_}sgyl!f2{!x4N04FwwS2^e??Ut|vpx4@oV!Q=W&v^rFW zl`TRkl5O zDrd8BRpE&fCxS?#fDmnXzonYPk%aRMjmtI*X<1xV(@+h*6IMo=@T3GVuxSEFZb<=Q z*ihh8Ea35?APO4_cuEMtmPWRJV38Z(Dz^}>`ilqU!CClcwgQK@%gDxoVyN{r6>ReI zfV5}O1_SQW&Pqa?%Q+D1)W0yXMzVNS{z~O4FyB`Eh8krkazT=m=!=)?i%h7Oinv^Y zid-SkXsQtTr>rPTLW%UN7EQ{(7*ggA87Zw6gRGY&q|{eHHiP?UsV3D`Xo`ifR{g^e zgH0VHiqi47d59>kGqKC%1~lyXFH;u-4}qfLW*5+qTXuv%!?7ejhuov; zP$LEv-L)fiuPagzbCiqE^jS}Kq&c_yo(f2oxM+L!I5CY6W z<^cHrw>aWgl94ArXKwrHlqC!diF%7}WcgK?#X(mrU~J!0)RMM#i_W*jdDqER?Mrul0=!J;EK+AYzt1tjFOWq@@|-I!`&Vq(9Dia2xqw7Teti81hYbMOTqn_IEktECx5#); z$(Ls>iOngnn7wkrq9Q|jiYC(iyhZOW(Si&;Z|M=|!sdXBs~iU34W~D*R5^^ii#sXbv{bz(p-oO|Usz*00<_)4R>LK`sBzFpc-XgE4r zL`Ua{j=l?Mm_d${!P@5aJb=3HoNKCw;TjMxwATpkd(@CyLU*ocO%O@g(!O=<6QAaf&1l9~VQ+Q8t|D zz9S8YjXAZ9Id`46ti7Le;UWn+x9(R<$^DthG*k8)DLZe`lInJghWI6k!}{IVgt$d8 zPBof8K8YgG(y1nM%Xg3an9F2>PzDim94A>>1e;`MLRS=P&@l9?AQPm*3|fej6j z;@Ee7w;Yto;QIT5MFSr`$)cg{kBb(KvwGhfC(obsg})ugobsNCYyB59gUPlIOOd=K zw(WX{#a-6yEKYZAk*zw}I+>hy5{=~d4vVsF(-lj(jO1Lk^d>)FwJ1pco0gP!{CvB!Qh50TE59p(eyI#l6XYDovM1Rg;LdVx$o^L%|ngON7CWd+bLp@Jhp-S(JXcgnl3f&3-L-j7mS|Oyj_ek!oDc@!ft5K zv`m;F#Las-?9Xf+FKTX5`4>IeETD@uM;`hTXZLz zuUcH&eA2}ZS#yVFy6c;;AH=;y#3ja9>)Z66RZzbpnLlP_p-nx$*v)iOSuDY2Ht zm+w4j5I13u>={9`m)$0UZ6O5%S;A!>07Cfl_%tv!N7J1Bd>eWn(sc(QJ&_r^=fn>f z9$Ju{GXTsfpfOMeK`eBedxqi=+j=5CBsZ5B!`(k(#*xv7Nz{|ZDD@GhCQ=+_>I?r* z$gxF6KlP`m`2lI-Gp=y>oP_jJKDQ-9_Kv&gDqC}0akE(kE2ryb@n-Wii@HtiA^zo7 zL|H6*`qWy%H;Su;5jTcfG~9w9YH*Q9Z@|+8EktkXP2eI1b=~7pI)a#(agdG16)A!) zo>;UZ_^S8dES)BRXB0TsGG`E*G?v6}Ev|*pv>t4te4U}S;E?}g5n!eapLH~gv}n8lBrV* zT0i*>B_6c~W09g5EnfgNuvB9k5mJKMXb!g*8UYtu_?YfUo|Gi$NAs?XE|U5kBXob5 zylE7>nFQ@4oB~OUil7!8jIfbbM+JS}pZbLBYI~HEt~9IVuI%t|6P5CJ5x% zE{LI^n1~6p1mk3qxKY&m8!NfCe*{;GE&y`nW($T#1=8}SQRh9yej5Oav?_9ZlTiyR z@atQQdM{Nq&jbtp8i5qP>Sah$)Ux{sWt}Y`fTA8RmLc5Y^aplv2JfPN)`PMWXJdAF z`h<#!m7uM!tbsv%45-FT#FURC7h-=Da~bn1=JD$gE5ABxB-wsqMDHfJkI+5QrLXg$ zqb~Cy2Ytu6mXfm4{DQKn6+-YLve{1z@>s%YpD2Vpi79&Wv!AGRU&ijsL!Xk;+&n=6 zrC83=qgL3{m9SjX=d|^!NXH9Ct=xY#&Gf|c#2Pke{?E`P6C`QD7*1O0VNFHD5`SVZ zv5uEmPm{Dz!h3^#n7~#{yOA_aQfVSLabi5jh@smoO~0(k73EX%;SpBB*n*s3Fg!1j zfKJDJOKyQ++9HtCZ+q**X$%o|gfW18;7{>S_Whl9E2iXPH$y+J^Xyy8s zNc%=nCx2NWO@DamWUr9M&3aQXT$-}IElu!!y-RNe<4&^TMWexe7o(){4bt?SQSYgG z6AGc)J54aYO*v2=_znr#BWlACTOg9nXT`W%;w8Wi^jm=F_5e{SH>Z=+YPaAv^BLLC zvSww!z_!3>@vK`WtR{=-Tk3f=)}E6nu&txIT`7nEgHf$+rjnE!*Pdu@S#YWmxI@Kx-DeY zD@IL}Vk_IBd|r@2-jEUW70|)~g3mU7B+H4NP*x2hE zQ0O`<35q82agrE%zeEX9@=)B=_7tDIKXVexJla!CAydvJ%{u z;8ENpEh(bLmJVf2OnEc5!(wbs6^$T`LaqKJIaN$!-*qH2N`$9}Q^gR61eNT)wqvPc zf{dtpiGRHb@}R5;HYR>NoMr4$6&M$N-VY#+IIk zY$fJ`0m_HGM4}M-F;*WK2dVhf3kp+SN2!F=pRuCi6E5d`%2+Y%GZ_i5gu~J2_R0n95y#~q5CctDXP!RPBPMZU2YF@DRKp3d|l^3*|5 zW&N%T`1f{j-yiuLNmw|(80=sw1fP>#pnpOO{HVvGU;#3&pa-=@Sy@e$6X9-UW<_0j zS$zcrSw;O0N@x1ja_C%ceO^TaxTL}5^P;*24_I*4!1*kyyI^{T#QiB61J8F9v_^d|726i}9Y;4=LI-pPn#|h^F_73QO?nI)g6N<}b zKquOv6M#41LW!z6Lr05VHlF43>^U$}tP;b*L8HXaA)de5h94M41?nUwYYCyh)8V%w z8-X%O;+8)+?V^A$eE#g*qIZYwzAr4Q4`hQD$q^yntAG$w1hCafQ2fnB?|g4TlLjq4z^54t%wcG%V{aI9gyg$2|B zD?8wj5csHvDrPzBlybnglS)Igho!lmAuVxaaxH6@67puM1o`7*>nVL=ho zQpDUrOM!?%c*57~M7@S(hQP(dj*U7H^$N3_EOnD|t5IpF z31;dsha?qfCHQ`<4W%ftJ+w~~7=X@&+kLE*Os^At;=LmP6oaIvEu0t~Be+DuX;1+= z2<(O;nt#UdZpE_R#_`^E=gILjIj#r$>5>3ds1v(j>5_yM_v8dgrUbF}W&}~BunGYk2Z31=))Q zMIV+E-j{4>7sKNF*(>kQog~OJ>D~KHNY1^#US^|Ot1~ABrEd8Kv2$tXi6ha1WzHm5r8|{ z1WhGB13)kwSWslC6>(8k)Zh^h&JJ*7!4VCbM*IuJK<_$cO~`m5 z&VF8%Hyl}z7x>SJ1thgl40m71%63~sDhkDz0k#7Q+&e7AQ!N~2@QT0}PAH6#5CLk! z4tAn+$~}!I2)GG=vkG6rV^@-|3&n2kt60^MtBG5Y7@>v339k)bR>s9BU@gfk68&X_ zj42W$-PdvW^<){qCqFB}tKmq37eNvac!Tk$gE==wx1#ku$Leco9tzbx&#T))dJGjK zaBO?_wjbu|}d_C%+99qjWnZ zoE325pzv=9@4y_C_72rF zg7^8(82xI;=mNvY=XVEqZ2qFXd9eF*T(`0HKLzYDN?61393P*z5JLrZ>t00qKO}l7 z|Kdn>2;`xM#PA|8^`xTn72XIXx#lXXcQjbTmc-+cTkrwj9^8)T5(QZ3{^<$=iBZ=D z^2tNc^&7mEe+BX{v|_!<$LH4nPFz8AyKAk~%ZCmO*mok?{-?1;obGikjX23!ZF@5cj*zFokEz{fLMKRUVSRrHUX+n<71glzMde4b?YN>fTr(#b*jL2 zlXH)*KUSlaWs=?%Vt6t)+BA!FxUwtiDkdf^mH2`EMzJOf2@a-^iGm@UEUyst?m6s8 z0zt12erVBj(+s+=Rb4J7&9+Ys3>Xfz3n+tI3ZGkDp7@l62mZo|H5Lh` zbsvZNH*n)CC9C!uwUK2~iTJ#wd;x~3f`!0xg;!fnKHYEhmrYoOTHjVdLY8Xl!%rkuh`fPE<0^$}e7PX#cyY9xu^QUl)uYssAVjR7_b(11G9@;Aph6_{tzV+$0U2gMXt z1b`6$3ruP=3!zt<>^%XKOTleEngPR$Gl=3s()ghzAc7lN1}vs@%dT*wH2y+LFJX8; z$($4+Fg8+JTqc$1L}@I9I#uS4`Lqov$v%Jpk%ZMQr`4)g;1L|mWLEO(S5dM=Pz5WP zbeJMj#XXRSmYLo*u=!b%#}vEk6H$G$$xhGPTv6%?%Be`N9Z*u=4V4zOxIXEDk) zQxvoj7n}paA769j#aGqXjxvE}*--jy>4PMr#-L;0+nMbk5>$eUtS-{T8Jwz4;%H_q*_1 zH1peg$DUD6Gun8@ZhOY~?A(XI$DC*Ev1gRijJ-T#pFLxIej%tM-39b3!w%ibzBY3$7dVv)%KoUeLiL0X97O4f+NRyfgcBm(URnTxN8|z(2}TO- zo<)XO#W?qD_7g0AzIaUR9t>wpY5)aCOByK*gt0+@1Tz8m8%)aPh-ooR>t z%$Ug(HE@4{H%AN5jyFj#g>=dRVUSwx!u?^WJp-aiKMmk6V1*tMMlL&Nn!O{O9qoD} z+se*~lVr`ul+NVCc}8O&1z7e`T8^{RvQ(m_KN$BpUM@)e0OFQ&;#N2kccMgG|H)*} zJUB;HQn0?-DGwkn*er1MqJQ=O&=63&hEsc*MD03G?Rv%?4eY0WI%%}RebY=iNmyXi zWx?C3C}a45u>xHgQy0#tshl9_!FrD>fpCyPG^g5NK{*$>73CS_JgFTk0k!JDC}x(2 znvTWxErd?C!eQ`O8*4p$FnQ%PXkdoeRUvs@)jRoJR3Q-s$(MtZ_KT6~5WUvMHT*NOVR+xWY6U~K;)e}!!adu>bilI^*%u%v}Nh?<~! zS%MFEmGnCYx~-&_Q#dohZOda|Qr+mXWfodigL&At zvoQybxoto5-oTmZJ9eEkFB`eU=fQpJD03ur!u#yNrfQ+rmP6 zjIXTjQ9s$Uyxcswq6&2WHFZ@J;vIjO!xPQnNuE^>`E7|F;!zp7b=4{Gk$3;AL>k&t z)R3_~Mc05PM0iWH*?r%A##r|IF%M4AvHwk^T3v{xrx-@jBJ0~NJ@3D`7bo0qsckhc_-)~Z7HzAr;L^fBTF152ulk|Y(o(zXha;vio}c-HkvrXAIac!O@shkjqe{*1jNIwD#j{0t<*SlcPhe7P>7b?N zIU{%Wm^`Sp)jYOUKsvU{C^fqwHEjlud2Ufez1Pys`d>k#3l_K0YMgd^vb&GqL+#O( z!pi9@8%nMJeVTMZhLJ>0NfK^ub`o{*|7SEHvcH`S|K*vG*++c#|H^VPH3f_e3g=dyl{D@QF0h5J1`nQw+e|IT94P7=l-mDMk)B3N(p>&((@&8RGMb6lg)SM2sQ!N+3^mBE(xJP!EovjyYN=r;K~vb%VjU0C+>g7$@{mx8d+jw=k^gq#xOz($7dHsKt$K2}S*nA%Z^E zbyO3P6c?5lhX=)Imu~C&7ZsNbYYMGzsGCt;F%x_qV<53JShvn#^%V^O7JDC9TxT#a zJOZ%pj$l@7RUh9OZX)kEK!npIxPZcnA_vBr71c9B1;0cW=5Wb+0Iss=6qHjv zL(n8iz_x67ckDTjc>M_kj<`Oe~;Il?pUe zPKCZ1(>U-{JKiObBk0m4NTB~j1|87nzN(8G>ITpP#=dsi)gpKjE92X*EA`;wzxite zynUC^yi&{qFE8--Dq1P_hi8vqP||&b184C|AD?t0yV&<0aL4%Vt3`PboMY9m;6V`0 zy`bIcoe21AMz~k=F7R$q@-Icp-CmY4Py!Jh;CevP9P3mD46PG$3HTF>}a+TsecH?c> zFDKL96m>!G+fHl?r`FU}G&M{vt8VJnt()L~5RW!w*GYpeOMM7{DjS+|X5rl>n9Zm@ zgoGK?)yDX-bOVpnKqVsHjtCxyZ55{pfk)-UYq#j1_z62MN%a^$lXqJON3=y)q^YL5 z32q3=rwEGAS+@*dk{*XdU8MUl0HX?p<93C@SFFqaCwP~$$ia`bTJj|kT_UWuwo?Vo z6F~5i!t6q@WPbP&{9kYZ$1Ndn0Xeu`3>dJm3rdQ`j6jMd3IGXoSZtQ)dzsV5MrrZDV;Z0F(eJE<>a!~sIdy#HOxAL8rne=pxgp@ZRr`w zAVJ&QiJH`uPz6Rq{7|i1FJ;5Tv)S=IYs&}6r;UI;HDP)L%y%|H2DJi96}&fN8!B|t zXGhN#$`4_R=NZnrE%1q|F`6B388*x^O7PzbiHrwCmlseIw2c#IJ15SL`-#)aiSUv{ zgqMK`pqC`IYmM++>SqoF08?7Q_&F*2$w{wMeL>IJRI~ggvkNgEqghtfaVbl6f)@t^ z_HX3yycNAX{SR~$jY;9{tncLTb{RDVXZP&%-sO9Sw&n+Bj^l7sqxliLXusJ86}S2) zHXJr6!KyyhxtyT>xpOH&(T>g{>Esj zxWF0ucVJjJh1O8xdrRENI1=}RL78-sWos`XzvC#uI*r<-!ij?R4+om^G~=IOTeiul z_v>JmGKwpVri!afiDLYlVg%i7HjB+M-TEs}J3tXPsf-Zof>mfl4 z@4LcPaBgAzfWq2}>LoO!v;u7~$^?^=U$tVKi2UM#@xyW~*|`M+1%(QYDZuE-g8_PY za==j*!OM$(hsZKu^z7}>U{M`eK1t;osOF`8@e}+5H1^W)tZSpcmsX}DO;xdanVwvJ zUesC*4wXC4WZ+iOb27LO;r#_ZmV=+ZkzETY!21KM#HUWUU6L=jeK4-Xt8B`` z-LN?LBE)vhQFh0C|97eJbU8Kkc87rexU6FQe(GyxdLM1;ZF)Z(l7d1C=?k_B(!hcQ zQ7`x$p@($ zilMRul6X5>C)X#DjIE;1+LLwGH<>l#K-pfLK)t*6P?ci0jY#8UNWZUmA6~p~*W&vA z)Q*M?agu$EGdL!hU8_=AfG8N}#3C58g!OBuxoh+BohX_Hk-?IB^%68W4ul&3i!sFY zA0Y9T?;yzS?5UFrnRw+356KN79q|UOpKCri;0Ve>iEu@1&V>vm&%7X-t;67IAD40o zV^uNKfy-PfeJ=%h#`mGF$ZJPBBF19GXh%!vNR?p}MB5ZSVS`Riu&-$4rtO9MUCDo z#U=1?4Ugy(Fon$CEBgCXK{|^%!!k(Wlcq4OFBp1tN=B2f!oRu)8tZrlEF{ISLd8R@ zA#i{2uO~jAiGJkoycpkb6}YePWxz0#HfytThluRB2nhbONhyF2dQ561FP`0p3%WVB zwA?0sMV=>UAIEBVSegOUfgSYD($HG*QPd+cE%^Gu%`uNT%QoV#=|5)~IZoTbiKwj_s|6@8zUpx2SW0{fzI=PR5gR^1P=}KNxl|)-{NZ1>2Nu z(j%tqnp)7oW+my%bEZ}{K%U@%I~QFU!E^Bp?DeLza4*79|Sd^vbwAa+qyN?f|3?K!=f zOaBL)f=3%tR0;@TfcHvZc}@;m^ct1o1|)z_pZ;GNDSB0}Ro-MJLT|~)@jQcBe%l6k zhnEC zCEr<2G4OR^oE+*Zr&pQa_e=6$*Bj+-th`F0U}Bx#UCuB;!*uk#moQN=NGF4boYcOi z*ZF(mDnJ8Rz)=Ucc*T=k1Y9cJUTt{iHPK5JXq=1_2!&2|kvRa=5f%s(9q=e#6^@%^ zFosXTV5@ilJ$)SZ)-KZg9U^jg#pyZ!SSNT-p(|B;sB3tZcD~O zp1?Q)!I1FEnNrh0B{~$dS=0K*SkugLrLZo$auTdXI@>*JR=hR0o~A+U9s_m!E=NQh zJYB#^lhbydV^y5C{gMq%_iwB! zBV5z6BZsdaUbpfyIMtH)`?E@uJp-Jm=RjCEJcFhPbYf?PAcy)uoCMAfmMZfP!8Q$j z!O$iYz>rn&{#)A5!vVX2d4(dNr;lWJzYZ+}as8v%?Xzz*-ZF#fd^aa*o#-FSaMEkK zcWxf7C*qy9za`4!;E70EV;F8o0H15R-0#mRVcKH912RJa6BB_^N>1`a?&!! zU>X|55Z6Vsl^5xY7SHr48Er8$wyheVAr z-3cs*`oLUcr-Z(Is`Vq|eli5f``hMN2AgBSnbI8dwK#NxO&*a!_wvkgoIKfl^5k^p zUSQq<(&X_Q&!&#GfKQzwoH`TavSaR4)I!NgF8j&_ zSh04dT=q4lGJ!`f`;U_SU@+ey%%nQG><8DWWngenE|+zAjC>HwjIy)L!^D4@ zXwr{)09^ydlEKqN|LAcK$WxX{EHR$5L^*kS8U!(!U}K32&Jq*tEHTLeMaB}78MM{2 z(vc+|uy5wGK>D*M&)%jE+V&^ASrLs3Kq? zGqPF4jcgXTfsu_FubsB0=9i$GY{S$B8lu!2Voq?!Hb6u$4QB^d*yoB%0FuIC$n}U3 zBqT!&>#iS($84I%Ybh!$5N>e%5}4;6`EB!2hNLZF?yUW^;!^ZKm!XG2FzKz zq{mRfYaXOAl`I^VO;&lgrCG&sP3X&=6JL^_Tbyqx$r>am8d(*7O(+$iz)XWPl+3QJ z7-fks%mX7!5Q3=VCtO0{8KXqMfC)DcKu?Nq5W|EbI&uQuNTAl#8^m)-dKfAgK`5#K z=gdy!Kob}b@(~#)Gj_A8;C_OQJ_NFWMo=LLR}@qeA&D7LaZ;|sQyLHu{5HC$Jq2;mLa6^@j9k*U5DcCe=Ocx8ci z0G&oa@e)S>uP;DyF}@-vvL8jgl3(-%ye22@+l(f)_v@W&-^n_-i*+#I4cbA!Cy*IR z@Xn8Q^DWl4|2uNB@sMcDG3{oe#QpjoxZ|VyF$4$L%g4&Wf^Q!tvBd?h^!lF@{kp%; z5H}q}VZlMCWU;Vo9n}Y%FW`CM56Oykq9O1jsTRdy&M8M&Eq2Se0~}Hz9B4^ymY^Nzkd`wNzzRT_65)_oGO8#CBS>k6bX{?X zS?*@zEGZ-J(1mjHj z$@Io1k&2Fbt49`>8Aps3G}(+LY*H;WqsU>C*K+`T;*}n#00h-QNzPOc>Rd!no1)IW8EWrMv8^{H zyh-Sd?{G)dP`Xt-#Mm)l1iOM`3fIoQhl-JGPH9JVDGkI38vQ?(LsC5~w^9c39OFPM z4>bvx_`30BGNO#DW= zkf8q<3AoR$6uwz}wN@!z> z@3^j6rqV9efSt>firG+0*?pknyMR{F;9dY)-WAj^!KL|IgVyR>(KSauu}dY)u4YnK zIL%~9xyR&VFmS27PrC;jPJYEyLHno#%tdI>y-smiuXZri0X~i&R`LJaa!F5~i-IVi zF&&l+D>qbP_K_^|CyN{$^kE-$X|HcWcCPv%!TCVQYlmj^d|TLhvqirn(xhln{MC5k zy{GFw@NMVzoR-f=t%jB z%CI*N3bV}K3g@N2{8Hikt(bDg!m)_ecpR<1I!k-ng(ScVElzr*uvW6UNns)nw*|644u5sOT{lyc4+YO7k zaLT*6hu1u_?vMZceYti(PK|ZzeD!0g7d-F$9h@t~y%4f~8{JMDQ0rj6vAN22^ zRXWM~w$uE!M;iNo=XCh<34i|b%lieJ9xDqX-VZMv9eg99?5}HXKP`Xm4ex^oZ`8i- zk{Ev}?9hvoyf!`Op6>~b;*ZbZ2xiX=L=EqZ+^ZUm2F0j7t?r!bKPH%nVmY2*} zKRsvY(+icYfN zffbJ&XRD_f#l z%MVRX?0M4m(L6Q_udPO?luexx%k@)1-D9_PYV4Doc3PvDIE|#q~_0%%g*^h zrIy2+eTpv}x#2smx2s3^T($o{n&Ga?{fiH`uP*)KGYE5kb4lRiv(xUv!Rf=yyj<7) zwU3{l91t+|P|ahq_Vzgm=5dEU9J^>qe6P#a?}Ek(s$bfBoZIop_g@>%9C$2k_r+@; zW}Mp`{F3nauOxW0aPjP~M?Y|nE>8!~Q2i+^*uO(Dye(y|+U-+Uq~;|1BZruSBoo6lb# zEo`0|c1~~$dRaES|F{tO(mO>ZH^!g3t@^fc-ViU@+;RPPtM7feVns_w=o zCOz|1b?>0k3BRW`tovfoRWhQ`{NiWgGq*qNu}Xd}eMA0s&8lAyXC5Bf`X8U=`&NCs z=8#k(W`43l|%w{2M%eD@m((Vgeos^X=ukPG+=7KD> zqPC%N-?{S_U9zi!yE}P@j}QMW%in3MTI*UXALJPlzG&F5#ABB(E?s(Y!slZXWd9r(Af_hPzOvC{qo32%cT>mcPE`FEdf_3(vi>Qa z2cJ5bo08%=D>ZIw`+-S6pFfb)x9+Ee!QtKBEjT$hcJPddF?YJ{Nq_0si-7~buD^Mp zN348ZM^SRatj3)m`H%i+=zvrEH>y577@P3S2P>^#?pU{1JvHFf^gE5}XEn<{ow!0for!FQNWaEt_TlZf7_|B$m!(K z$Puc$2ZE1ypAXIOnK^j#NW0bSMNKS3D>{Y+&&RJTJ^=|e`Xz+z4X2Q9Av|{ryaiTFZh~L_DzwWOi0Qq zo|*RTmcW3+%a;WAO%B;mJSkbVzrXXhPU8~KyHIX@syx^kCi?B3Mg6_0Ym> zWFj}}2~#nlvA6t(7v#V|rPhjt+m1D!={WDxDi1B&VhqXMx$Ee;-(+Z81Z-rV9&EgD zqWu6c#VnVVORugpk*RMV{nqJyU(1I0@fB}>74~G--eqf^u2`HhFLdedD$UDJEVt?+ zb(h5Y;!Yh;hLFT6DN{SU@?7fu%ze6Z=ceL`S$u)(Qd`R)rR4z4&Xa|%h?y2;~0 z^WrDOw|c^H@zv8Ewc{rGJbA9g)9J|x?Jv)7{N}vXocY{3*8v6Jkc`AHKDf6~_T|7S zVPtc_cdz}}@5&#q*QDfc`fcF!pXO zKkxCF7yGvP;+ee})`OXoJ==dgAxu_w)Q(B&9us(EMT)bs`>d5=Cqi#LwD+{k$%ALqntgy6Z<@4~Q81)STU}V+-W3ZFU!~ z{nMWHq_1bd#MP}|*7t2sZ^~Pm-Bk1bQ+u7(?K}PMu?zjT*1rGJB&Uhz)2tgNR;R1l z`-b`DuL(A!FI)6iUSrMgSIy2zl|KKTKiqd8tk9(KY|jl(-zjeLuHSfjj7KJNk~?zJ ztg^aE^^I#}M?)wtZCeR_n8gzdWPbdD`#L^mA9rQ+)G}zI)p^<~fgmn)VM?%y<3Z zNY3mJT$_}wt{c~fe__@qwm&25b^6y))85E=cge3me)QI@m>*s^yLra)!D+RBJ~w8- zmtG!Dy-p_<$EE-C{)oWWeyaI4AvSjA$IgEbjZJ#=ANibnV92_;rH{>i zJYZa1fi*(5^@%Z?)?C{4@@Jy+KgT{jEMIqJn$P3L%)*`-8KqE@-PoXfoY_1}x<-T>)M_txcWF=_qk=KbCy$T}l+*6z2jmp-vS-S3ZYzTI>q zqVJpX?<#(Ie)^3;uqXuGbB~JK9X=>oS1{MLKF+Nu&S!9T-A0dzS1a3EPEKg-_^h(G zY2ZhPR@MHb$UIedMesSg@7FKGM=W2Iump$66^E&2LgPi*ky;$1W7|s4w{8hN+A+Ct zp*&>5IhoZbyJhEJPA-0_{j&zWS{0nyUUufGIWwM`^+DotAK%RRO*QlKR5xl%t3F8d zC~o@kz@Lk&J2DQf+jQVU`}ErM^M9;-@frQD%5iU~$JS4ODcrDo!~a**oySAjg^dHh zXJN*%jU{AXOO&;qD8|^LC|XHkq?F3OjU_Xd+a5|qB}N}wbN_YDxz2sfxvqQey7=Q6yDT1A1mgF8*-an+mF4E!vbDdl`j)Ty z4CZG{%>^0fER9Z)M_UvtDeG$V=q)D)8jfY|3b_s)h^8??Y`Ud=x7;G0JHTvIDz#=-uLdZ&np4i$NqiWPax$8m1J=YK;rhogK%WO~n_2OY=)|2Dg*VCAL+xwO0IhjHSD}687nz@C8rTQ94IE9-kmt}6b z3GK`G*2%~{wUKhkz68GU ztaE8td&l1>ApHDW-L#ZiCtV_6Ct+9aKZ>+)XF2xp_E1VBwt92%Z%ZAmFc(FuXpw07 z>%TplbdRvU!bRg(E&e7cN!j{3CtUmcG4RCl z|4qK{dB#Od^8iL!c?7wqLcQI=If)jxOkqh3W@+`nPdbKA#)xcXYyWs0MrcgpjRS)m zN?-UMl9+jj#V6_K=l56bw!2+Xr5`%@C?p1Cnpq}gXXu!6hi^U|$RoMDx#wGCmyvX~ zsKTwz4~V%jOz?m3Q^cE(F0Zw8hgSax^RACJZme@qR;0-lv+6ouES=W5!IIdga=A6j z+!wRHkv{xsqk50OP-jx%6`FjmNvopW?y4qxp_7Cs!- zb??_UHFYKBUN?gC-Yrb47?!CrI+eezbU_8DB7fc3u`ObR_G?P$zYJw(rHTBr>^R}d z4nPB8AM8?&S{?7UWPd{);z-K1otA})4I^%o%$RtZNN4o*+Xu7s!^ZL~` zlXd&NB#f`&iX^J2fA`b`w<5VVN0qFI_V}s)?#!82&UFhQ|2I3HbWcV;-*<$ltjsi` ze!E><+JP`GZRY5-Y$5H~X&Zm93{8>IFt%rpz|f?6AcIMn27XO4o~bD!wt-2Rbt)S@ zl%A2_IC-|0t$nR+Fd5L{8W>$4v`P9<-tcpPKY%er$kd@M^55N<*=rRpck<|E{@upA zj$D3gSHq8;G5>vqUS-r`a%Oc~p`7T&XN|l;*A%8UyJLSrjn$LnSHxv}v?v~7YjBi| z4A@)7f;t9opEg$__?J{Tu^Ea){mXyc@TbhFiOM`_3BT_QF9|W~TrAZwlkXwE<4AJimFVq{J11-`>?>HKu; zG`#S19P(frZgyeuC?R~}M@wy=;@$!@rjFPtMG%~nt7GMB2=4iy)QCxXttVW=X6>Ek z$42q=BnD?G)%$UE$PqUoK5m^9K2k>i=iHfm!!^hAduzN7P7UEi!&F9s_h?98T<3oK zaA%S3Z$~4;V1xC}oD&7pJI&leKo0$t2* z;0BOwfY(9Tei2VM(m58cC+k^@m>d#?dAWAKvI1EgGmPX(VsP%que#Y{8##_rqp^&; z)tZ7$$o?OpL!1s#BF6OO?x(HIwN=ZSf-2>Oj3rGGmxwP)sf_wsia8lztDCh4`g3>{ z;&xRvRfu$CLI^!9Dpk~V&-KnaR{ef0p7SObjq^X>PH_*3D2>Od&MX8QMV#%< z_)}Psfhe6lfB5ABvQ_DJUN`3nq3i&KFEHiVHPD-6KELs09@g}U{}WXkI#EF!dkuG% z!Bm&+asNqY81`lC-!)o|c}>Fv=89UL`yI;itC)8dtG30*@s;)xJT5jm>IzQyjopKs9Kus|zLII>=y2qu zM>G*6EP@L}ez^>P5sIx=h5Of9tXmsacm@$wq$9uCh(?a$E%OPMXvqwMSt1b*Emz=H z8OVjo zrf75g1*2vkp;>ExQxi>$Kx=9rdBr$jY?R|j5CTU%3{TtWv0Hy+gjSoRzZ^N#c}Db& zm{39f_`aK!c1Les-l@9dlp>Fxdhg>*UTb;?Mc#g47Jt)Cgr9D#n~*d`#~C}VG_ig7bqeK z%mlZ7LZprxpnboE*DEd2r7Dc0c{oGgo8rcEUw-r08w2y^D&8DTs_u8wH>+HN|G*TbwB=zuF^RQmnly6 zTbsp}pU)dh5A43gSgez1s%1Q!_bx0MQ2W!RLy+cXE-V!ho-sPFYm^toI9u;GO}wnA z9XR(~-zF~RcsZNpR>{Yz<~C@FmeC_QA|Ed-Vff6?JN-8IR(SaZFW}Tg`M8tD!e*U& z!G246(`VLzbkh?www(Z=ONoo|Z%BJ&VSX$lAx4<3CT$f|`%XP9e&+`h11W!hmhHBr z+k}GWR-uZ`#zS{iinb(hb_$&kkD>V~exdkQ)Sb!qf{C&&9;qt-2H%7_jEf zFqQt84*>WibowpGWfyoHfn$Rhfj$|Gt@#rTZpX$E-M(D>`o&VD<~<{9hAOI$5&uI|J~v6h zc5T>{zsIJpA*M#Bf3AoyI)ptCor4*+asyb&B`S$Nfv#jKHJ0LDjth2XQU&d)-s6YP z&MY2LjE<(i^ytj|J$G_joUQMJ7~XDSx>ep;Lg)gsARwX4kNOkq*))R~dmUa;H;TGJ zXkbL}iS{7z=OeTI;u-T7uH*XZD0=G0t9LYAJk`|Flp0y`&NL&&APW=MG0O z_x$k}y#xB2>Wj$axM7AJb}aVwA6#1I)4@X_%Ty0;I0y~!?-0nrt2GTX6cbn?M^u=P zEmyVGa9rm^+5WGCRFyX;R6&=+#Ta~qQOM-juO#*TLoA^&CD}|#dZeaVOHA!8WKSG9 zI0@GvTPR9$x#bF<@HdL-qGP$(;=VV16tmZi(8yjw5s7b0b!`3tT+H1Vl362zE{}Wm ziBi3a<2#`Ry4)Ycgf1!*H$H5p-0qv(#gAt^obnj$Wkt(lE`7&K?br9h6cTN&s zAt*o5Fw#osWycJ&@qRxUYUcNKlW~I`sh&#V7?~v^F&d*^9d>|DezLUGsJGUumrzjA ztKzPXnViiO`7UTWa`D0p%Xs#}K?0KzQOXzn9#P=e{5JJY*pyc#l-{SuG;KZ4`V)8? zYx0!1CN89;M(?L?PNo|D-YVrha8Bo@;9c4I4u#d1jN>YTS`H3-F+!IEGo7|CuY}5r zVr2gBK0@!{Q0M<_+J3K?!Mu&OATqYBCG4d#J`JOU%x^fnv`seoSH+)Vky>@>?$|$^ z6BpCcdu9EbitTxm2g#9#K2IJD3@zAFu5x{bL^wkjeX{(DamFv6IAEzZAo{&2Mew}j z=N$cHZ-sSE(fZ-)KGxw35z6Dd%&lo&dj{#PRXTJ&>rq^3qlWF)(!;b0LJ9*b=DNYD zu{~|6r`^Wzqv*~C&x)s%l7k4BBVh1MY&x8)(*pfPmLA)ec1lv4bDDGi9H}X*V1Dip#xhI*iFM?}eJRVVqk|GLZ zuP=VPAN}Wpl*6j-H;kOGW@dL+lJ$cIb^5w03;9@D4Ey?etDQNK!<6b}hQmAioSGgz7c7@bA}R&1)sK@h#17W_Qc&`h$c|L?6ZV=e$+R(QOQnr5sN1RN9Rd zPE*}5m#Hg`h}NoWC0XzG#ylUhaBgYAWVR{i*6vKY_l7X`R^8nPqeLmv`n8VLLDx$9 z;Jh{V`8i@(iduB}a00TRHd`t^&an5$J~<#g`DU@f-YV_9o&c{%yK^i_<{zS2#IrH3 zo}yexjn61W>7=#2&xaP}6K|`IO|U|T`U@{3SzGI{`oR`8U*sm#g%lrX^En<#StSyl zWjn1Mo6DK4QHrvbk9vj=Sg_aVZ>CGSU1V0*fs%{rZr7OATX_Bk+VL~f3J+dCPu)ip z;M>2>S2*WpfaD+JT>G>iU;TrO$^w>L_;qyo5c`nzuE&h3j9uHzw2%chSduD-M)3ifTTlOm~Vyo|xlm z8A=Dc^BAW;6c5(2)Pxc8SWJ`hjvKAL81~Qo(%*uvzya}*zqB&M=$+Z`4ASCkb~ zC{a>T2%&%}w81h_uamwnt->@4A2Nei+tT_}`obRJWmR1Ax)~OK1|I3!J>DRjQZ0!& z<-QL)9vm;~-cyUzB7_-pn#zmhxtY$xo_1z&6RvCN}P5Kua<w)=io1Mj^55cxNIaiPD zD_Z9_!xAakzzk7jF4lLSQ4qp?wi>@tcbNaXfDa(imoZYmVVSyjT_%&H;Dw zU*PCm8|vPZJw1=fF&}roy!is#Bme&0#kq;_wcXOcNVoru2xk+9NS%&5KKt9dnZ9G9 z-l^}JXFt~Vht^NfsaABs^u3>UCYEeOxbwP|wX>PZX32;u!tmj1bt5QaF{cpt?yVp% zUp$|OGQX#P;Ca)NAvglLN8_{)(d3Nnt27bc%%)g`LxIOOdQX1_1#{-^R&Pe={pRa3 z>{{=s4JhOIMWwM1XrYfP&F$~UaWy&zFfDG%3im!{zCUOtj1*@i^V7^d2I4NuPm4+_ z4Au9pr)BC2V-GAMisHmm{VEo2;?j+^=PJ^U{)3p$UnJ^Dz8~p0aa{Ar%++f2=d?w6 znxZV>uKtFZf<1kX4(}*;kG)GcNH_l#AEn~1S@5yo1kW=9!Bfnq2aqU++F&!bXhRu? z?H4;L5F}1~+r9a$Wmlqa8{pa{x;-%ubJ}Ky6CiW~8|O{!CZ?Ps$sM0;i|AC#KOxblii1e*daQ z3l3>{jG(k%`Dh7>G|q8KPww4Rh~hSN?tLFEMa(&<8SpzSb(;#0B2JljSaauLO)VqB zR;Qp?;?8G;M%9_ZN@f4nLw$^*)Jb>h7%3NQ-EFe5OC+T;xOPPPwe6-I-;$TMK2eRa z&382p=v!q>v~1Q+d&$>HSI z3mysG)FwRe~AI>k!%i9G=Q;vNw;`)anVTuJcKS%2o-Wbc=c6*H~A>knopDwG`T zdYsT*D5^7;=Mwnw2ff;0;_**iGtAyi$LB8%)>Ay&E!*+0zTju)DAI-A-+J6ka4BvH zxRUS9p)-U1%Cj{WD!ea!`!v)VyN60W<8T zW>)NrU)%a!w-DnD*d_P^QkZFlMn)Ev7{uEo;vk3@pX^KN&Q8FBQ$rLF(u-(KASQHb z81W!|J{>LF*+3zXiG1m+yAabndHLtPV%_<5$QnYlvd(s`wkKx6PrMwJ?OCzas+z5J zn3QMrO%yuK7UR`Zu}ISorA1cgCwz%ynO~ztHtXO264_z?;)}$*SYEb;fpk6nYMgA4!)wL`06ca@foxe0gG#<0SlAN_7ZzWFlQ$g|A1Di$qj$#rMa30v|0m8`yH+kWU@4q&0i$5yADuS)(o}d`Skfm_haaj%- zs_*!CXG9}B3Z-*PNZgqdI+=1s&b?F;EwhyuV75b$LQ!x|$?1>q@EmWt3 zxEYF1hB~f$Rax#>DD9Xa?KUB?qkzsS_1j#nPsl9>ow$#D`8;ZaJn@XVS@M9y7 z;9~nzK^;HGF?=K$Z{PTqp3$-MO2++#o9}MJ>~REpENsP;$@DU8y{jZoThEF8yzanQ zvoW#CK%`EmC$1y4MtND4^Ols_s%@dW9j6MW%m#AD!tm%jU}BRk#2H}LDmV`E}QjI_(yl+{hBfwnEP znS7&Zv{C07P2rtT(+Xs>3jpruUFt*VKu}&eiYj z9~cN*lG`x!r}Wru8Yj$VeRtgJZ45QO*h*R%jfWn5D4mtG`(^akcKN7y=SAX2VxJ0W zW3v@*hO~EdVjw(XY144b$oK5%^QL(sd!oiqx3KF5XFi-p_Ha*qZ{RQSi3}=?Biu&a z6oi&Z3KaT%YfaV*ub(v{rCa8H%S;{DVSOzWx!0P#qkt%A+cCc5CQbLFXG~6CkZ+#e ziCm+Q8i)OP@+Jgf-TU{Kcpvs;cE^tN<~`oV<%a83`x|f^oA>PI#5AXQZQ@+r7E<}6 zZ8Wvv??Ms!uU_us0srml)G5X~O!E;~kwd7b=*1@LfkcwIISFIC za>>8!x4OVjYk%m%4Ss5>E_Rp7pH1!!b8=8VDZDnXm;Ayo zqae8{3b#trTX=pWDrHNuRf^yNnUdq;pYO+8YKJ8z*gUJ(7=mR@=lFb0Kw9OBAyASd8pJD*MBOQ6W-yi8r*>L&D?W66V0zN6!V?ag38iI8M~S>M%9j08 z>=7<$CVQ)nzXd5V7E5Z)sej)S#K~MIx>3ZwD$P;-lEFwP8E1A$=JEG}cCsSz)b)uM z3h}BQn-7ku(9=v0kw0sG8O3N^l+Pm)olpGpR!T-_(YhDN?5Y<_49iZ9%dGFms{Sk# z$y5kWilXdNd!5iG(!+}=oA@TysGsIpGjQr&%k6K>;vw%+wrwEeQW?Ej{UkbqQQ2@_2}{zOZ`_W(K0p%KWy+B> z=l1-W3OO9m`(WB>VYv6*befM&(-ECV?;TTS<6p!NO!z;lcq;YoT#28V6!o9U30s5v zydw$!t(BDTG@~uB3o1x8JV!VKm#n)}yIjjlfB0B%Wg|l4vvM^YK0NWM{q7&hT)J}w zm0yfgvUt!O<6xhsd4@Il`0-T+CI{;0h9xE}o$(i;PdLVRPKOr&Vb(v_P7!y62D_~^P| z_i#y|qi+HCx7+VHSxDf+8inCLCzn{&Xf-g&q3&x}!n<-gB=ayASLHX^Ds})ZQTEYfj8H=b0GlikRb;%m>#Nu^5f3GfEwT1kDs` zbh?vnGJIr=CaQw0n}H)IhkWPiiS%YDW9P?)PkeJB-xnS2Qv(#?OVjcA-En(njvl{L zU8VbnB7aW1wJkN8WLAlfT4HW?n6yagYI_)*J z6xgA_9tC?*unz?eC~!o-M?nAz0#Oizf?yPc zpdb_lVJM)XARGk|D2PNs6bde&AQ}a96fjT_gMwHT#GxP_1t_g%Borj0AO!`f zC`dyA?B-5KK?VvkQE&+bmr;;~f-5Mvih^q>$VNd93a+Ez1`2MXAQuI

_d$d=xNI zP=JElD7b@yyC}Gag8L{aL_ra34@bcR6g))1BNRMF!4njepr8~5Whi)xf@dgrj)H$t z@B#(pD5yZeOB7V1pb7=mD0qc}*C?n#0Sg7SD5yh0Jqj97@CF5qC}=`KGYVQz@D>HF zD0qj0_b6yXK|2aMQ1Af-A5qYWf-V$%LcwPgbfe%43cjM?8w$Ropa%s%P|%BlJ`}J~ z(2s%v6bzzZ2nE9^7(u}(3dT_I69wZam_WfV6ilLE3I)?B;Glquf*BOdqF@dMzfmxc zf&~=tP_T%CKPXs2!7>U~P_T-EwPb*~2rv*9!a;b558{Ui5D^l9{$3{t2|>b;2qX%T zATdZBl7J+kb&wP!4aq?3Az4Tcl7|!^MMw!!hEyO`NDWelG@uR8Mo1Id1ZhFq&}L{0 zqyy5DV(00fOGKO|QJ0TOu6e2@r5Ct-aEFeqB3bKZFK{k*rv>Vz3 z*+KTuUT7cW069YYp##uC=n!-mIs!RC&d^cF1v&<~LdPLD$Q`0W9?%KM6FLc6@ZIt!hH&O<(sFXRXLLjh1A6a)oBAy6n32GO8!C<2OvqM!>yy@1N03g{(N2~|PW&@1RQ zR0FY~TBr`HhZ>+aP$Sd?HA5}XTc{O!2fc^dpmwMO`T%`|I-xG;6Z9GChQ2^wp>NQ4 zs0aE1^+J6R8|sG!ph0K|8iq!oQD_YM35`P&&@X5bnu4Yw4#b6Kpjl`R`VGxP3lI-l Vg#JKF&@!|Ftzuq*HO&0V{{Zc@{b>LI diff --git a/.Floppies/A2OSX.TEST.po b/.Floppies/A2OSX.TEST.po index 8ba6098a2532c96fc56536ae0ecb3098b8ac9ae7..1b214564ff85770d8ea883726b6973a184e62106 100644 GIT binary patch delta 40984 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.G CC.hOutFile beq .8 @@ -59,13 +59,7 @@ CODE.PUSHAXI pha pla *-------------------------------------- -CODE.PUSHI pha - lda #$A9 LDA #imm - jsr CODE.EmitByte - bcs CODE.LDAXI.RTS - - pla - jsr CODE.EmitByte +CODE.PUSHI jsr CODE.LDAI bcs CODE.LDAXI.RTS bra CODE.PUSHA @@ -153,25 +147,13 @@ CODE.INCPSTACK lda #$E6 INC zp lda #pStack bra CODE.EmitByte *-------------------------------------- -CODE.TOABSYX jsr CODE.EmitByte A=opcode : JMP, JSR ..... - txa - jsr CODE.EmitByte - tya - bra CODE.EmitByte -*-------------------------------------- CODE.SYSCALL jsr CODE.LDXI bcs .9 lda #$20 JSR - jsr CODE.EmitByte - bcs .9 - - lda #A2osX.SYSCALL - jsr CODE.EmitByte - bcs .9 - - lda /A2osX.SYSCALL - bra CODE.EmitByte + ldx #A2osX.SYSCALL + ldy /A2osX.SYSCALL + bra CODE.TOABSYX .9 rts *-------------------------------------- @@ -179,14 +161,40 @@ CODE.FPUCALL jsr CODE.LDXI bcs .9 lda #$20 JSR + ldx #A2osX.FPUCALL + ldy /A2osX.FPUCALL + bra CODE.TOABSYX + +.9 rts +*-------------------------------------- +CODE.LIBCALL jsr CODE.LDXI + bcs .9 + + tya + dec + dec + dec + asl + asl + clc + adc #PCC.PH.JMPLIBs + tax + lda #0 + adc /PCC.PH.JMPLIBs + tay + lda #$20 JSR + bra CODE.TOABSYX + +.9 rts +*-------------------------------------- +CODE.TOABSYX jsr CODE.EmitByte A=opcode : JMP, JSR ..... + bcs .9 + + txa jsr CODE.EmitByte bcs .9 - lda #A2osX.FPUCALL - jsr CODE.EmitByte - bcs .9 - - lda /A2osX.FPUCALL + tya bra CODE.EmitByte .9 rts @@ -256,6 +264,41 @@ CODE.EmitDATA clc .8 rts CC/CS from fputc *-------------------------------------- +CODE.EmitTail jsr CODE.DSSelect + bcs .99 + + stz ArgIndex + +.1 lda ArgIndex + >CMP.G LibCount + beq .8 + + clc + adc #hLibNs + tay + lda (pData),y + pha + + >PUSHB.G CC.hOutFile + pla + >SYSCALL ArgV + >PUSHYA + >SYSCALL fputs + bcs .99 + + jsr .8 + bcs .99 + + inc ArgIndex + bra .1 + +.8 >PUSHB.G CC.hOutFile + lda #0 + >PUSHA + >SYSCALL fputc + +.99 rts +*-------------------------------------- CODE.CSSelect clc bit bPass2 bpl .8 @@ -281,10 +324,10 @@ CODE.DSSelect clc >PUSHWZ lda ZPCCConst clc - adc PCC.FH+PCC.FH.IDATA + adc PCC.FH+PCC.FH.CONST tay lda ZPCCConst+1 - adc PCC.FH+PCC.FH.IDATA+1 + adc PCC.FH+PCC.FH.CONST+1 sec sbc #$20 diff --git a/BIN/CC.S.CORE.txt b/BIN/CC.S.CORE.txt index 72f1b44b..59da5e0d 100644 --- a/BIN/CC.S.CORE.txt +++ b/BIN/CC.S.CORE.txt @@ -1,7 +1,7 @@ NEW AUTO 3,1 *-------------------------------------- -CC.CORE.Init >SYSCALL SListNew +CORE.Init >SYSCALL SListNew bcs .9 >STA.G CC.hDefines @@ -40,8 +40,8 @@ CC.CORE.Init >SYSCALL SListNew * clc .9 rts *-------------------------------------- -CC.CORE.Quit jsr CC.FIO.FClose - bne CC.CORE.Quit +CORE.Quit jsr CC.FIO.FClose + bne CORE.Quit ldy ScopeIdx beq .1 @@ -74,7 +74,8 @@ CC.CORE.Quit jsr CC.FIO.FClose >LDA.G CC.hSymBuf jsr .7 - jsr CC.SYM.LookupFreeAll +.5 jsr CC.SYM.LookupFree + bcc .5 >LDA.G CC.hStack @@ -185,73 +186,6 @@ CC.CompileStmt >LDYA L.CC.KW sec .9 rts *-------------------------------------- -CC.CORE.SetVar stz ExpState - - jsr CC.EXP.POSTOPS var++, var[0]... ? - bcs .99 - - ldx StmtPreOp - jsr CC.EXP.PREOPS apply ++var, .... - bcs .99 - - jsr CC.GetCharNB - bcs .90 - - jsr CC.IsEndArg var++; or ++var; ? - bcc .8 - - jsr CC.LookupAOP var=, var+= ... ? - bcs .90 - - cpx #0 TOTO : all AOPS - bne * - - lda ExpState - bmi .90 VonStack - - asl - - bmi .7 AinPTR - - asl - bmi .6 AonStack - - jsr CC.EXP.GetAddr1 - bcc .7 - - rts - -.6 >LDYA L.PCC.PopAddr1 - jsr CODE.EmitPCC - bcs .99 - -.7 ldy #SYM.Q - lda (ZPLookupSymPtr),y - pha - lda (ZPLookupSymPtr) - tay - pla get expected T/Q - - jsr CC.EXP.Eval - bcs .99 - - jsr CC.EXP.GetSymSizeOfInAXC - tay - dey - jsr CODE.LDYI - bcs .99 - - >LDYA L.PCC.SetValue - jmp CODE.EmitPCC - -.8 clc - rts - -.90 lda #E.CSYN - sec - -.99 rts -**-------------------------------------- CC.Comments jsr CC.GetNextChar TODO : /* ... */ cmp #'/' bne .90 @@ -567,6 +501,36 @@ CC.CheckCharNB cmp #C.SPACE clc .9 rts *-------------------------------------- +CC.GetNextCharEsc + jsr CC.GetNextChar + bcs .9 + + cmp #'\' + bne .8 + + jsr CC.GetNextChar + bcs .8 + + ldx #CC.EscChars.Cnt-1 + +.1 cmp CC.EscChars,x + beq .6 + + dex + bpl .1 + + sec + rts + +.6 lda CC.EscCodes,x + bit .9 + clc + rts + +.8 clc + clv +.9 rts +*-------------------------------------- CC.GetNextChar inc ZPLineBufPtr bne CC.GetChar @@ -608,6 +572,9 @@ CC.IsEndArg cmp #']' cmp #';' beq .8 + cmp #':' + beq .8 + cmp #')' beq .8 diff --git a/BIN/CC.S.DECL.txt b/BIN/CC.S.DECL.txt index 9a407789..db550dde 100644 --- a/BIN/CC.S.DECL.txt +++ b/BIN/CC.S.DECL.txt @@ -48,7 +48,8 @@ CC.DECL jsr CC.TYPE.Decl jsr CC.SYM.GetAddr1 bcs .9 - jsr CC.SYM.SetValue Y,A = T/Q, Set value to this var + jsr CC.SYM.GetTypeInYA Y,A = T/Q + jsr CC.SYM.PopValue Set value to this var .29 bcs .9 .28 jsr CC.SYM.Store @@ -69,8 +70,12 @@ CC.SCSPEC.AUTO CC.SCSPEC.REGISTER CC.SCSPEC.STATIC CC.SCSPEC.EXTERN +.98 lda #E.CSYN + sec +.99 rts +*-------------------------------------- CC.SCSPEC.TYPEDEF - + >DEBUG .98 lda #E.CSYN sec diff --git a/BIN/CC.S.EXEC.txt b/BIN/CC.S.EXEC.txt deleted file mode 100644 index e5acec3b..00000000 --- a/BIN/CC.S.EXEC.txt +++ /dev/null @@ -1,150 +0,0 @@ -NEW - AUTO 3,1 -*-------------------------------------- -CC.BOPS.bMUL -CC.BOPS.cMUL - inc pStack - clc - rts -*-------------------------------------- -CC.BOPS.bDIV -CC.BOPS.cDIV - inc pStack - clc - rts -*-------------------------------------- -CC.BOPS.bMOD -CC.BOPS.cMOD - inc pStack - clc - rts -*-------------------------------------- -CC.BOPS.ADD clc - >PULLA - adc (pStack) - sta (pStack) - clc - rts -*-------------------------------------- -CC.BOPS.SUB sec - ldy #1 - lda (pStack),y - sbc (pStack) - sta (pStack),y - inc pStack - clc - rts -*-------------------------------------- -CC.BOPS.SHL >PULLA - tax - beq .8 - - lda (pStack) - -.1 asl - dex - bne .1 - - sta (pStack) - -.8 rts -*-------------------------------------- -CC.BOPS.SHR >PULLA - tax - beq .8 - - lda (pStack) - -.1 lsr - dex - bne .1 - - sta (pStack) - -.8 rts -*-------------------------------------- -CC.BOPS.L >PULLA - cmp (pStack) - bcc .8 - - lda #0 - sta (pStack) - rts - -.8 lda #1 - sta (pStack) - rts -*-------------------------------------- -CC.BOPS.G >PULLA - cmp (pStack) - beq .1 - bcs .8 - -.1 lda #0 - sta (pStack) - rts - -.8 lda #1 - sta (pStack) - rts -*-------------------------------------- -CC.BOPS.LE >PULLA - cmp (pStack) - bcc .8 - beq .8 - - lda #0 - sta (pStack) - rts - -.8 lda #1 - sta (pStack) - rts -*-------------------------------------- -CC.BOPS.GE >PULLA - cmp (pStack) - bcs .8 - - lda #0 - sta (pStack) - rts - -.8 lda #1 - sta (pStack) - rts -*-------------------------------------- -CC.BOPS.EQ >PULLA - cmp (pStack) - beq .8 - - lda #0 - sta (pStack) - -.8 rts -*-------------------------------------- -CC.BOPS.NE >PULLA - eor (pStack) - sta (pStack) - rts -*-------------------------------------- -CC.BOPS.LAND -CC.BOPS.AND >PULLA - and (pStack) - sta (pStack) - rts -*-------------------------------------- -CC.BOPS.LOR -CC.BOPS.OR >PULLA - ora (pStack) - sta (pStack) - rts -*-------------------------------------- -CC.BOPS.EOR >PULLA - eor (pStack) - sta (pStack) - rts -*-------------------------------------- -MAN -SAVE usr/src/bin/cc.s.exec -LOAD usr/src/bin/cc.s -ASM diff --git a/BIN/CC.S.EXP.txt b/BIN/CC.S.EXP.txt index e8a52361..0cdd1534 100644 --- a/BIN/CC.S.EXP.txt +++ b/BIN/CC.S.EXP.txt @@ -111,19 +111,27 @@ CC.EXP.Eval ldx ZPPtr1 local : returned T/Q .22 jsr CC.IsDigit10 number ? bcs .24 - ldy ZPPtr2 + ldy ZPPtr2 T bne .23 ldy #SYM.T.SINT sty ZPPtr2 - stz ZPPtr2+1 + stz ZPPtr2+1 Q .23 jsr CC.EXP.GetNum bcs .29 bra .30 *-------------------------------------- -.24 cmp #'"' String literal +.24 cmp #''' + bne .25 + + jsr CC.EXP.GetChar + bcs .29 + + bra .30 + +.25 cmp #'"' String literal bne CC.EXP.Eval.ESYN jsr CC.EXP.AddConstCharP @@ -132,7 +140,7 @@ CC.EXP.Eval ldx ZPPtr1 local : returned T/Q .30 jsr CC.GetCharNB bcs CC.EXP.Eval.ESYN -.31 jsr CC.IsEndArg , ; ) ? +.31 jsr CC.IsEndArg , ; ) ? : bcc CC.EXP.Eval.End jsr CC.IsOPChar @@ -267,55 +275,6 @@ CC.EXP.BOPS bit #SYM.Q.PPPOINTER clc rts *-------------------------------------- -CC.EXP.AddConstCharP - lda ZPCCConst - ldx ZPCCConst+1 - - jsr CODE.LDAXI - bcs .99 - - >LDYA L.PCC.PushIAddr - jsr CODE.EmitPCC - bcs .99 - - jsr CODE.DSSelect - bcs .99 - - ldy #0 - -.1 jsr CC.GetNextChar - bcs .9 - -* TODO : add support for \ to next line - - cmp #C.CR - beq .9 - - cmp #'"' - beq .2 - - jsr CODE.EmitData - bcs .99 - - iny - bra .1 - -.2 lda #0 - jsr CODE.EmitData - bcs .99 - - jsr CODE.CSSelect - bcs .99 - - jsr CC.GetNextChar Skip " - - clc - rts - -.9 lda #E.ESYN - sec -.99 rts -*-------------------------------------- CC.EXP.IntConst >PUSHW ZPLineBufPtr >PUSHWI ZPLineBufPtr >PUSHBI 10 @@ -336,14 +295,14 @@ CC.EXP.GetNum cpy #SYM.T.FLOAT beq .11 - lda #E.TMISMATCH +.90 lda #E.TMISMATCH * sec rts .11 >PUSHW ZPLineBufPtr >PUSHWI ZPLineBufPtr >SYSCALL StrToF -* bcs .9 +* bcs .99 ldy #4 @@ -368,7 +327,7 @@ CC.EXP.GetNum cpy #SYM.T.FLOAT .2 >SYSCALL StrToL -.3 bcs .9 +.3 bcs .99 ldy #1 anticipate 2 bytes if * lda ZPPtr2+1 @@ -388,7 +347,89 @@ CC.EXP.GetNum cpy #SYM.T.FLOAT >POP 4 * clc -.9 rts +.99 rts +*-------------------------------------- +* https://riptutorial.com/c/example/16255/character-literals +* 'c', '\n', '\123', '\xAB' +*-------------------------------------- +CC.EXP.GetChar ldy ZPPtr2+1 + bne .9 + + lda ZPPtr2 + cmp #SYM.T.UCHAR + beq .1 + + cmp #SYM.T.SCHAR + bne .9 + +.1 jsr CC.GetNextCharEsc + bcs .9 + + jsr CODE.PUSHI + bcs .99 + + jsr CC.GetNextChar + bcs .9 + + cmp #''' + bne .9 + + jsr CC.GetNextCharNB skip ' + + + clc + rts + +.9 lda #E.ESYN + sec +.99 rts +*-------------------------------------- +CC.EXP.AddConstCharP + lda ZPCCConst + ldx ZPCCConst+1 + + jsr CODE.LDAXI + bcs .99 + + >LDYA L.PCC.PushIAddr + jsr CODE.EmitPCC + bcs .99 + + jsr CODE.DSSelect + bcs .99 + +.1 jsr CC.GetNextCharEsc + bcs .9 + + bvs .2 ESCaped +* TODO : add support for \ to next line + + cmp #C.CR + beq .9 + + cmp #'"' + beq .3 + +.2 jsr CODE.EmitData + bcs .99 + + bra .1 + +.3 jsr CC.GetNextCharNBNL Skip " + bcs .8 + + cmp #'"' + beq .1 + +.8 lda #0 + jsr CODE.EmitData + bcs .99 + + jmp CODE.CSSelect + +.9 lda #E.ESYN + sec +.99 rts *-------------------------------------- * ZPPtr2 = expected T/Q * ZPPtr3+1 = PREOPS @@ -424,40 +465,8 @@ CC.EXP.GetVar stz ExpState .7 jsr CC.EXP.PushValue bcs .99 -.8 lda ZPPtr2 target T - beq .3 +.8 jmp CC.SYM.LookupCheckTQ - cmp #SYM.T.VOID - beq .2 - - lda (ZPLookupSymPtr) SYM.T - cmp #SYM.T.VOID - beq .2 - - cmp ZPPtr2 T - bne .9 - -.2 lda ZPPtr2+1 Q - - ldy #SYM.Q - cmp (ZPLookupSymPtr),y - bne .9 - - clc - rts - -.3 lda (ZPLookupSymPtr) SYM.T - sta ZPPtr2 T - - ldy #SYM.Q - lda (ZPLookupSymPtr),y - sta ZPPtr2+1 Q - - clc - rts - -.9 lda #E.TMISMATCH - sec .99 rts *-------------------------------------- * POSTOPS @@ -559,17 +568,76 @@ CC.EXP.postdec lda ExpState sec .99 rts *-------------------------------------- -CC.EXP.array ldy #SYM.Q +CC.EXP.Idx ldy #SYM.Q lda (ZPLookupSymPtr),y - and #SYM.Q.AAARRAY - beq .39 - ldy #SYM.Def + bit #SYM.Q.AAARRAY + bne CC.EXP.array + + and #SYM.Q.PPPOINTER + cmp #SYM.Q.POINTER + bne .98 + + lda (ZPLookupSymPtr),y + eor #SYM.Q.POINTER+SYM.Q.ARRAY + sta (ZPLookupSymPtr),y convert from *type to type[] + + jsr CC.EXP.GetAddr2 + bcs .99 + + >LDYA L.PCC.PushDeref2 + jsr CODE.EmitPCC + bcs .99 + + jsr CC.EXP.array.getIdx ...int16 on stack... + bcs .99 + + jsr CC.EXP.GetSymSizeOfInAXC + cmp #1 + bne .1 + + cpx #0 + beq .2 sizeof=1, no MUL required + +.1 jsr CODE.PUSHAXI ...sizeof on stack... + bcs .99 + + ldx #FPU.wMUL + jsr CODE.FPUCALL ...sizeof*int16... + bcs .99 + +.2 ldx #FPU.wAdd + jsr CODE.FPUCALL ...add to base address + bcs .99 + + jsr CC.GetCharNB + bcs .97 + + cmp #']' + bne .97 + + jsr CC.GetNextCharNB skip ']' + + lda #ExpState.AonStack + sta ExpState + + clc + rts + +.97 lda #E.ESYN + sec + rts + +.98 lda #E.TMISMATCH + sec +.99 rts +*-------------------------------------- +CC.EXP.array ldy #SYM.Def lda (ZPLookupSymPtr),y iny ora (ZPLookupSymPtr),y beq .1 - +* jsr CODE.DEBUG jsr CC.EXP.PushAddr array[int]... bcc .2 @@ -581,7 +649,7 @@ CC.EXP.array ldy #SYM.Q >LDYA L.PCC.PushDeref2 jsr CODE.EmitPCC bcs .9 - + .2 jsr CC.EXP.array.getIdx ...int16 on stack... bcs .9 @@ -589,11 +657,11 @@ CC.EXP.array ldy #SYM.Q jsr CODE.PUSHAXI ...sizeof on stack... bcs .9 - ldx #FPU.iMUL + ldx #FPU.wMUL jsr CODE.FPUCALL ...sizeof*int16... bcs .9 - ldx #FPU.iAdd + ldx #FPU.wAdd jsr CODE.FPUCALL ...add to base address bcs .9 @@ -621,17 +689,17 @@ CC.EXP.array ldy #SYM.Q lda (ZPLookupSymPtr),y jsr CODE.PUSHAXI [][SIZE] on stack - ldx #FPU.iMUL + ldx #FPU.wMUL jsr CODE.FPUCALL [][SIZE] * int16 on stack jsr CC.EXP.GetSymSizeOfInAXC jsr CODE.PUSHAXI ...sizeof on stack... bcs .9 - ldx #FPU.iMUL + ldx #FPU.wMUL jsr CODE.FPUCALL ...sizeof*int16... - ldx #FPU.iAdd + ldx #FPU.wAdd jsr CODE.FPUCALL ...add to base address bcs .9 @@ -698,10 +766,12 @@ CC.EXP.PREOPS bmi .8 *-------------------------------------- CC.EXP.Ref ldy #SYM.Q lda (ZPLookupSymPtr),y + clc adc #SYM.Q.POINTER bcs .9 more than *** + and #%11001111 sta (ZPLookupSymPtr),y bit ExpState @@ -906,10 +976,21 @@ CC.EXP.PushValue jsr CC.EXP.GetSymSizeOfInAXC tay dey - jsr CODE.LDYI + bne .1 + + >LDYA L.PCC.PushValue1 + jmp CODE.EmitPCC + +.1 cpy #1 + bne .2 + + >LDYA L.PCC.PushValue2 + jmp CODE.EmitPCC + +.2 jsr CODE.LDYI bcs .99 - >LDYA L.PCC.PushValue + >LDYA L.PCC.PushValueY jmp CODE.EmitPCC .99 rts diff --git a/BIN/CC.S.F.txt b/BIN/CC.S.F.txt index f3519348..c4e401f9 100644 --- a/BIN/CC.S.F.txt +++ b/BIN/CC.S.F.txt @@ -165,9 +165,6 @@ CC.F.Def.END >LDYA L.PCC.LEAVE jsr CODE.EmitPCC bcs .9 - jsr CC.Pop T - jsr CC.Pop Q - jsr CC.SYM.FreeScope stz LocalPtr back to global @@ -208,33 +205,11 @@ CC.F.CallRetV sec jsr CODE.nAddLocal .20 jsr CC.GetNextCharNB skip '(' - bcs .10 + bcs .90 - ldy #SYM.Q -* >DEBUG - lda ZPPtr2 expected T - bne .1 - - lda (ZPLookupSymPtr) no check required - sta ZPPtr2 - - lda (ZPLookupSymPtr),y - and #$fC ignore SYM.Q.FUNC,SYM.Q.FASTCALL - bra .2 - -.1 cmp #SYM.T.VOID - beq .11 - - cmp (ZPLookupSymPtr) - bne .91 - -.11 lda (ZPLookupSymPtr),y - and #$fC ignore SYM.Q.FUNC,SYM.Q.FASTCALL - cmp ZPPtr2+1 expected Q - bne .91 + jsr CC.SYM.LookupCheckTQ + bcs .93 *-------------------------------------- -.2 sta ZPPtr2+1 - stz ZPPtr1 Reset VARIADIC byte count lda #SYM.Def @@ -274,12 +249,12 @@ CC.F.CallRetV sec .5 jsr CC.GetCharNB -.10 bcs .90 + bcs .90 cmp #',' bne .6 - jsr CC.GetNextCharNB Skip ',' + jsr CC.GetNextCharNBNL Skip ',' jsr CC.F.GetTQ bne .3 Another ARG.... @@ -310,9 +285,6 @@ CC.F.CallRetV sec bra .93 .90 lda #E.CSYN - bra .92 - -.91 lda #E.TMISMATCH .92 sec @@ -375,8 +347,8 @@ CC.F.Call2 ldy #SYM.Q .5 ldy #SYM.Addr+1 lda (ZPLookupSymPtr),y - cmp #3 - bcs .8 not a SYS/FPU call...Ret value on stack + cmp #3+LIBS.MAX + bcs .8 not a SYS/FPU/LIB call...Ret value on stack >LDYA ZPPtr2 function T/Q jsr CC.TYPE.SizeOf @@ -419,7 +391,12 @@ CC.F.Call3 ldy #SYM.Addr+1 jmp CODE.FPUCALL -.2 lda #$EA NOP +.2 cpy #3+LIBS.MAX + bcs .3 + + jmp CODE.LIBCALL + +.3 lda #$EA NOP jsr CODE.EmitByte bcs .99 diff --git a/BIN/CC.S.FIO.txt b/BIN/CC.S.FIO.txt index bdf9fcfb..2809b965 100644 --- a/BIN/CC.S.FIO.txt +++ b/BIN/CC.S.FIO.txt @@ -1,6 +1,62 @@ NEW AUTO 3,1 *-------------------------------------- +CC.FIO.LoadLIB.o + >LDA.G LibCount + cmp #LIBS.MAX + bne .1 + + lda #E.OOH + sec +.9 rts + +.1 clc + adc #hLibNs + tay + + lda ArgIndex + sta (pData),y + + >PUSHW L.ENV.LIB + >PUSHW pData >PUSHEA.G PathBuf + >SYSCALL GetEnv + bcs .9 + + >PUSHW pData + + lda ArgIndex + >SYSCALL ArgV + >PUSHYA + >SYSCALL strcat + + >PUSHW pData + >PUSHW L.LIB.O + >SYSCALL strcat + + >PUSHW L.MSG.READING + >PUSHW pData + >PUSHBI 2 + >SYSCALL PrintF + + >PUSHW pData + >PUSHBI O.RDONLY + >PUSHBI S.FI.T.BIN + >PUSHWZ Aux type + >SYSCALL loadfile + bcs .99 + + >LDA.G LibCount + clc + adc #hLibOs + tay + txa + sta (pData),y + + >INC.G LibCount + clc + +.99 rts +*-------------------------------------- CC.FIO.FOpen1st >LDA.G CC.InFileArg >SYSCALL ArgV @@ -100,7 +156,30 @@ CC.FIO.FClose >LDA.G hFilePtr .8 rts *-------------------------------------- -CC.FIO.FCreate >LDA.G CC.OutFileArg +CC.FIO.FCreate lda ZPCCCode+1 + sta PCC.FH+PCC.FH.CONST+1 + sec + sbc #$20 + sta PCC.FH+PCC.FH.CSSIZE+1 + + lda ZPCCCode + sta PCC.FH+PCC.FH.CSSIZE + sta PCC.FH+PCC.FH.CONST + clc + adc ZPCCConst + sta PCC.FH+PCC.FH.LIBS + + lda ZPCCCode+1 + adc ZPCCConst+1 + sta PCC.FH+PCC.FH.LIBS+1 + + lda ZPCCData + sta PCC.FH+PCC.FH.DSSIZE + + lda ZPCCData+1 + sta PCC.FH+PCC.FH.DSSIZE+1 + + >LDA.G CC.OutFileArg >SYSCALL ArgV >STYA ZPPtr1 diff --git a/BIN/CC.S.KW.txt b/BIN/CC.S.KW.txt index 496da9d8..c8006d2d 100644 --- a/BIN/CC.S.KW.txt +++ b/BIN/CC.S.KW.txt @@ -3,7 +3,7 @@ NEW *-------------------------------------- * Built in Keywords *-------------------------------------- -CC.KW.IF jsr CC.KW.BEGIN +CC.KW.IF jsr CC.KW.BEGIN00 bcs .99 jsr CC.GetCharNB @@ -96,7 +96,7 @@ CC.KW.ELSE.END lda #'X' define EXIT Label clv pop context .99 rts *-------------------------------------- -CC.KW.WHILE jsr CC.KW.BEGIN +CC.KW.WHILE jsr CC.KW.BEGIN00 bcs .99 lda #'C' define CONT Label @@ -153,7 +153,7 @@ CC.KW.WHILE.END lda #'C' .99 rts *-------------------------------------- -CC.KW.DO jsr CC.KW.BEGIN +CC.KW.DO jsr CC.KW.BEGIN00 bcs .99 lda #'C' define CONT Label @@ -233,7 +233,7 @@ CC.KW.FOR jsr CC.GetCharNB cmp #'(' bne .29 - jsr CC.KW.BEGIN + jsr CC.KW.BEGIN00 bcs .29 jsr CC.GetNextCharNB skip '(' @@ -340,12 +340,123 @@ CC.KW.FOR.END lda #$60 .99 rts *-------------------------------------- -CC.KW.SWITCH -CC.KW.CASE -CC.KW.DEFAULT - lda #E.CSYN +CC.KW.SWITCH jsr CC.GetCharNB + bcs .98 + + cmp #'(' + bne .98 + + jsr CC.GetNextCharNB + bcs .98 + + jsr CC.EXP.Eval00 Any var type + bcs .99 Y,A=T/Q + + tax + bne .97 + + cpy #SYM.T.UCHAR + bcc .97 + + cpy #SYM.T.FLOAT + bcs .97 + + phy + tya + jsr CC.Push push integral type + ply + bcs .99 + + lda CC.TYPESIZE-1,y + + jsr CC.Push push SizeOf(type) + bcs .99 + + jsr CC.KW.BEGIN + bcs .99 + + jsr CC.GetCharNB + bcs .99 + + cmp #')' + bne .98 + + jmp CC.KW.STMT + +.97 lda #E.TMISMATCH sec + rts + +.98 lda #E.CSYN + sec +.99 rts +*-------------------------------------- +CC.KW.SWITCH.END + lda #'B' define BREAK Label + jsr CC.KW.NewLabel + bcs .99 + + clv pop context + +.99 rts +*-------------------------------------- +CC.KW.CASE ldy CStackPtr + beq .9 + + iny skip ; or } + lda (ZPCCStack),y + cmp #10 SWITCH ?? + bne .9 + + lda CStackPtr + clc + adc #7 + tay + + lda (ZPCCStack),y type + tay + lda #0 for integral type + + jsr CC.EXP.Eval + bcs .99 + + jsr CC.GetCharNB + bcs .9 + + cmp #':' + bne .9 + + jsr CC.GetNextCharNB skip ':' + + clc rts + +.9 lda #E.CSYN + sec +.99 rts +*-------------------------------------- +CC.KW.DEFAULT ldy CStackPtr + beq .9 + + iny skip ; or } + lda (ZPCCStack),y + cmp #10 SWITCH ?? + bne .9 + + jsr CC.GetCharNB + bcs .9 + + cmp #':' + bne .9 + + jsr CC.GetNextCharNB skip ':' + + clc + rts + +.9 lda #E.CSYN + sec +.99 rts *-------------------------------------- CC.KW.BREAK lda #'B' @@ -375,8 +486,6 @@ CC.KW.RETURN ldy CStackPtr beq .9 .1 iny skip ; or } - beq .9 - lda (ZPCCStack),y bmi .7 f() @@ -457,6 +566,19 @@ CC.KW.STRUCT >ENTER 4 .99 >LEAVE rts *-------------------------------------- +CC.KW.UNION +CC.KW.ENUM + lda #E.CSYN + sec + rts +*-------------------------------------- +CC.KW.BEGIN00 lda #0 + jsr CC.Push no T/Q + bcs CC.KW.BEGIN.RTS + + jsr CC.Push + bcs CC.KW.BEGIN.RTS + CC.KW.BEGIN jsr CC.SYM.NewCPSID bcs .99 @@ -479,7 +601,8 @@ CC.KW.BEGIN jsr CC.SYM.NewCPSID >LDA.G CC.CmdSave jmp CC.Push -.99 rts +.99 +CC.KW.BEGIN.RTS rts *-------------------------------------- CC.KW.STMT jsr CC.GetNextCharNBNL bcs .9 @@ -558,6 +681,9 @@ CC.KW.LookupLabel lda (ZPCCStack),y iny + iny + iny + sty ArgIndex ply diff --git a/BIN/CC.S.LINK.txt b/BIN/CC.S.LINK.txt index a289f01c..7497f4c7 100644 --- a/BIN/CC.S.LINK.txt +++ b/BIN/CC.S.LINK.txt @@ -24,7 +24,7 @@ CC.Link >LDYA L.MSG.LINKING >PUSHWI $ffff All >PUSHWZ from Start >SYSCALL SListGetData - bcs .9 + bcs .99 ldy #SYM.Addr+1 lda (ZPSymBufPtr),y @@ -32,74 +32,124 @@ CC.Link >LDYA L.MSG.LINKING ora (ZPSymBufPtr),y bne .6 - jsr CC.Link.LIBC - bcc .6 - - jsr CC.Link.Dump - lda #E.FUNDEF - sec - bra .9 + jsr CC.Link.Lookup + bcs .9 + + jsr CC.Link.Update + bcs .99 .6 >LDA.G bTrace bpl .7 jsr CC.Link.Dump - bcs .9 + bcs .99 .7 >LDYA ZPPtr2 jmp .1 .8 clc + rts -.9 rts +.9 jsr CC.Link.Dump + lda #E.FUNDEF + sec +.99 rts *-------------------------------------- * Input : pData = Symbol *-------------------------------------- -CC.Link.LIBC >LDYA L.CC.LIBC +CC.Link.Lookup >LDYA L.CC.SYSCALL + jsr CC.Link.LookupYA + ldx #1 + bcc .99 + + >LDYA L.CC.FPUCALL + jsr CC.Link.LookupYA + ldx #2 + bcc .99 + + >LDA.G LibCount +* sec + beq .99 + + lda #0 + sta ArgIndex + clc + +.1 adc #hLibOs + tay + lda (pData),y + + >SYSCALL GetMemPtr + jsr CC.Link.LookupYA + bcs .2 + + ldx ArgIndex + inx + inx + inx + rts + +.2 inc ArgIndex + lda ArgIndex + >CMP.G LibCount + bcc .1 + +.99 rts +*-------------------------------------- +CC.Link.LookupYA >STYA ZPLookupPtr ldy #$ff -.10 iny +.1 iny lda (pData),y - bne .10 + bne .1 - phy Symbol Len + tya + tax Symbol Len - ldx #0 - -.1 lda (ZPLookupPtr) +.2 lda (ZPLookupPtr) beq .9 Ending 0, not found.... - pla - pha Get Back Len + txa Get Back Len cmp (ZPLookupPtr) Same Len ? bne .4 tay -.2 lda (ZPLookupPtr),y +.3 lda (ZPLookupPtr),y dey cmp (pData),y bne .4 tya - bne .2 + bne .3 lda (ZPLookupPtr) - jsr CC.ZPLookupPtrAddAp1 Skip LEN\Symbol + tay + iny + lda (ZPLookupPtr),y get fID + + clc + rts - ldy #2 Skip LEN - lda (ZPLookupPtr),y - pha - dey - lda (ZPLookupPtr),y - ply +.4 lda (ZPLookupPtr) + inc + jsr CC.ZPLookupPtrAddAp1 Skip LEN\Symbol\ID + bra .2 - jsr CC.SYM.SetAddrYA - - plx +.9 sec + rts +*-------------------------------------- +* A=ID X=SYS|FPU|LIB +*-------------------------------------- +CC.Link.Update ldy #SYM.Addr + sta (ZPSymBufPtr),y + + iny + txa + sta (ZPSymBufPtr),y >PUSHB.G CC.hScopes >PUSHW ZPPtr1 SymID @@ -110,20 +160,6 @@ CC.Link.LIBC >LDYA L.CC.LIBC >PUSHA >SYSCALL SListSetData rts - -.4 inx - inx - - lda (ZPLookupPtr) - jsr CC.ZPLookupPtrAddAp1 Skip LEN\Symbol - - lda (ZPLookupPtr) - jsr CC.ZPLookupPtrAddAp1 Skip LEN\definition - bra .1 - -.9 plx - sec - rts *-------------------------------------- CC.Link.Dump >PUSHW L.MSG.LINKING2 diff --git a/BIN/CC.S.PCC.txt b/BIN/CC.S.PCC.txt index c0b94675..1e997589 100644 --- a/BIN/CC.S.PCC.txt +++ b/BIN/CC.S.PCC.txt @@ -7,16 +7,16 @@ ZS.RT.Ptr1 .EQ ZPBIN ZS.RT.Ptr2 .EQ ZPBIN+2 *-------------------------------------- PCC.FH .PH $2000 -PCC.FH.2000 cld +PCC.FH.ORG cld jmp (PCC.FH.JMP,x) .DA #$61 6502,Level 1 (65c02) .DA #1 BIN Layout Version 1 .DA #0 S.PS.F.EVENT .DA #0 -PCC.FH.CSSIZE .EQ *-PCC.FH.2000 - .DA $FFFF * Code Size (without Constants) -PCC.FH.DSSIZE .EQ *-PCC.FH.2000 - .DA $FFFF * Data Size +PCC.FH.CSSIZE .EQ *-PCC.FH.ORG + .DA $FFFF Code Size (without Constants) +PCC.FH.DSSIZE .EQ *-PCC.FH.ORG + .DA $FFFF Data Size .DA #256 Stack Size .DA #4 ZP Size .DA 0 @@ -25,15 +25,83 @@ PCC.FH.JMP .DA PCC.FH.INIT .DA PCC.FH.RUN .DA PCC.FH.DOEVENT .DA PCC.FH.QUIT -PCC.FH.IDATA .EQ *-PCC.FH.2000 +PCC.FH.CONST .EQ *-PCC.FH.ORG + .DA $FFFF +PCC.FH.LIBS .EQ *-PCC.FH.ORG .DA $FFFF .DA 0 -PCC.FH.INIT -* TODO : LoadLib code -PCC.FH.QUIT -* TODO : UnloadLib code -PCC.FH.DOEVENT clc +PCC.FH.INIT >LDYA PCC.FH.ORG+PCC.FH.LIBS + >STYA ZS.RT.Ptr1 + + ldx #0 + +.1 lda (ZS.RT.Ptr1) + beq .8 + + phx + + >LDYA ZS.RT.Ptr1 + >SYSCALL LoadLib + plx + bcs .9 + + sta PCC.PH.hLIBs,x + phx + >SYSCALL GetMemPtr + plx + >STYA PCC.PH.JMPLIBs+1,x + inx + inx + inx + inx + + ldy #0 + +.2 iny + lda (ZS.RT.Ptr1),y + bne .2 + + tya + sec + adc ZS.RT.Ptr1 + sta ZS.RT.Ptr1 + bcc .1 + + inc ZS.RT.Ptr1+1 + bra .1 + +.8 clc +.9 rts + +PCC.FH.QUIT ldx #12 + +.1 lda PCC.PH.hLIBs,x + beq .2 + + phx + >SYSCALL UnloadLib + plx + +.2 dex + dex + dex + dex + bpl .1 + + clc + rts + +PCC.PH.hLIBs .DA #0 +PCC.PH.JMPLIBs jmp $FFFF + .DA #0 + jmp $FFFF + .DA #0 + jmp $FFFF + .DA #0 + jmp $FFFF + +PCC.FH.DOEVENT sec do not discard TIMER event rts * int main(int argc, char *argv[]) ; @@ -66,17 +134,20 @@ PCC.FH.RUN lda #0 jsr PCC.FH.CS Execute INIT code - >PUSHWZ returned int=0 - lda #0 + >PUSHA returned int=0 >PUSHA + + >PUSHA int ARGC (hi byte) + ldy #S.PS.ARGC lda (pPS),y - >PUSHA int ARGC + >PUSHA int ARGC (lo byte) + >PUSHW pData *char[] ARGV * >DEBUG -PCC.FH.MAIN .EQ *-PCC.FH.2000+1 - jsr $FFFF * jsr main +PCC.FH.MAIN .EQ *-PCC.FH.ORG+1 + jsr $FFFF jsr main >PULLA inc pStack pull returned int sec @@ -213,12 +284,12 @@ PCC.PushLAddrL.L .EQ *-PCC.PushLAddrL *-------------------------------------- PCC.PushIAddr .DA #PCC.PushIAddr.L clc - adc PCC.FH.2000+PCC.FH.IDATA + adc PCC.FH.ORG+PCC.FH.CONST dec pStack >PUSHA txa - adc PCC.FH.2000+PCC.FH.IDATA+1 + adc PCC.FH.ORG+PCC.FH.CONST+1 ldy #1 sta (pStack),y @@ -248,10 +319,10 @@ PCC.GetLAddr1.L .EQ *-PCC.GetLAddr1 *-------------------------------------- PCC.GetIAddr1 .DA #PCC.GetIAddr1.L clc - adc PCC.FH.2000+PCC.FH.IDATA + adc PCC.FH.ORG+PCC.FH.CONST sta ZS.RT.Ptr1 txa - adc PCC.FH.2000+PCC.FH.IDATA+1 + adc PCC.FH.ORG+PCC.FH.CONST+1 sta ZS.RT.Ptr1+1 PCC.GetIAddr1.L .EQ *-PCC.GetIAddr1 @@ -274,13 +345,32 @@ PCC.PopAddr1 .DA #PCC.PopAddr1.L PCC.PopAddr1.L .EQ *-PCC.PopAddr1 *-------------------------------------- -PCC.SetValue .DA #PCC.SetValue.L -.1 lda (pStack),y +PCC.PopValue1 .DA #PCC.PopValue1.L + >PULLA + sta (ZS.RT.Ptr1) + +PCC.PopValue1.L .EQ *-PCC.PopValue1 +*-------------------------------------- +PCC.PopValue2 .DA #PCC.PopValue2.L + >PULLA + sta (ZS.RT.Ptr1) + >PULLA + ldy #1 sta (ZS.RT.Ptr1),y - dey + +PCC.PopValue2.L .EQ *-PCC.PopValue2 +*-------------------------------------- +PCC.PopValueX .DA #PCC.PopValueX.L + + ldy #0 + +.1 >PULLA + sta (ZS.RT.Ptr1),y + iny + dex bpl .1 -PCC.SetValue.L .EQ *-PCC.SetValue +PCC.PopValueX.L .EQ *-PCC.PopValueX *-------------------------------------- PCC.GetLAddr2 .DA #PCC.GetLAddr2.L clc @@ -293,10 +383,10 @@ PCC.GetLAddr2.L .EQ *-PCC.GetLAddr2 *-------------------------------------- PCC.GetIAddr2 .DA #PCC.GetIAddr2.L clc - adc PCC.FH.2000+PCC.FH.IDATA + adc PCC.FH.ORG+PCC.FH.CONST sta ZS.RT.Ptr2 txa - adc PCC.FH.2000+PCC.FH.IDATA+1 + adc PCC.FH.ORG+PCC.FH.CONST+1 sta ZS.RT.Ptr2+1 PCC.GetIAddr2.L .EQ *-PCC.GetIAddr2 @@ -337,14 +427,31 @@ PCC.PushDeref2 .DA #PCC.PushDeref2.L PCC.PushDeref2.L .EQ *-PCC.PushDeref2 *-------------------------------------- -PCC.PushValue .DA #PCC.PushValue.L +PCC.PushValue1 .DA #PCC.PushValue1.L + + lda (ZS.RT.Ptr2) + >PUSHA + +PCC.PushValue1.L .EQ *-PCC.PushValue1 +*-------------------------------------- +PCC.PushValue2 .DA #PCC.PushValue2.L + + ldy #1 + lda (ZS.RT.Ptr2),y + >PUSHA + lda (ZS.RT.Ptr2) + >PUSHA + +PCC.PushValue2.L .EQ *-PCC.PushValue2 +*-------------------------------------- +PCC.PushValueY .DA #PCC.PushValueY.L .1 lda (ZS.RT.Ptr2),y >PUSHA dey bpl .1 -PCC.PushValue.L .EQ *-PCC.PushValue +PCC.PushValueY.L .EQ *-PCC.PushValueY *-------------------------------------- PCC.Inc1 .DA #PCC.Inc1.L lda (ZS.RT.Ptr2) @@ -433,7 +540,33 @@ PCC.Dec4 .DA #PCC.Dec4.L PCC.Dec4.L .EQ *-PCC.Dec4 *-------------------------------------- -PCC.BOPS.bMUL +PCC.BOPS.bMUL .DA #PCC.BOPS.bMUL.L + ldx #0 result + + >PULLA + tay b2 + +.1 tya + beq .8 + + lsr + tay + bcc .2 + + clc + txa + adc (pStack) b1 + tax + +.2 lda (pStack) b1*2 + asl + sta (pStack) + bne .1 + +.8 txa + sta (pStack) + +PCC.BOPS.bMUL.L .EQ *-PCC.BOPS.bMUL *-------------------------------------- PCC.BOPS.cMUL *-------------------------------------- diff --git a/BIN/CC.S.STMT.txt b/BIN/CC.S.STMT.txt index c3e550cc..a229cb4a 100644 --- a/BIN/CC.S.STMT.txt +++ b/BIN/CC.S.STMT.txt @@ -28,7 +28,7 @@ CC.STMT jsr CC.GetCharNB jmp CC.SYM.LookupFree -.60 jsr CC.CORE.SetVar +.60 jsr STMT.SetVar bcs .99 jmp CC.SYM.LookupFree @@ -36,6 +36,68 @@ CC.STMT jsr CC.GetCharNB .9 lda #E.CSYN sec .99 rts +*-------------------------------------- +STMT.SetVar stz ExpState + + jsr CC.EXP.POSTOPS var++, var[0]... ? + bcs .99 + + ldx StmtPreOp + jsr CC.EXP.PREOPS apply ++var, .... + bcs .99 + + jsr CC.GetCharNB + bcs .90 + + jsr CC.IsEndArg var++; or ++var; ? + bcc .8 + + jsr CC.LookupAOP var=, var+= ... ? + bcs .90 + + cpx #0 TOTO : all AOPS + bne * + + lda ExpState + bmi .90 VonStack + + asl + + bmi .7 AinPTR + + asl + bmi .6 AonStack + + jsr CC.EXP.GetAddr1 + bcc .7 + + rts + +.6 >LDYA L.PCC.PopAddr1 + jsr CODE.EmitPCC + bcs .99 + +.7 ldy #SYM.Q + lda (ZPLookupSymPtr),y + pha + lda (ZPLookupSymPtr) + tay + pla get expected T/Q + + jsr CC.EXP.Eval + bcs .99 + + jmp CC.SYM.PopValue + +.8 clc + rts + +.90 lda #E.CSYN + sec + +.99 rts +*-------------------------------------- + *-------------------------------------- * X = KW.ID *-------------------------------------- @@ -73,7 +135,7 @@ CC.STMT.Stmt.END beq .8 cmp #';' must be ';' on stack.... - bra CC.STMT.CPStmt.POP + bra CC.STMT.POP .8 clc @@ -85,8 +147,8 @@ CC.STMT.CPStmt.END bcs CC.STMT.Stmt.RTS cmp #'}' must be '}' on stack.... -CC.STMT.CPStmt.POP - bne .98 + +CC.STMT.POP bne .98 iny lda (ZPCCStack),y @@ -98,7 +160,7 @@ CC.STMT.CPStmt.POP lda CStackPtr * clc - adc #5 + adc #7 sta CStackPtr jsr CC.Pop Locals diff --git a/BIN/CC.S.SYM.txt b/BIN/CC.S.SYM.txt index 5a800a49..2ba6fe00 100644 --- a/BIN/CC.S.SYM.txt +++ b/BIN/CC.S.SYM.txt @@ -613,53 +613,72 @@ CC.SYM.LookupFree .99 rts *-------------------------------------- -CC.SYM.LookupFreeAll +* ZPPtr2 = expected T/Q +* ZPLookupSymPtr +*-------------------------------------- +CC.SYM.LookupCheckTQ + lda ZPPtr2 target T + bne .1 -.1 jsr CC.SYM.LookupFree - bcc .1 + lda (ZPLookupSymPtr) SYM.T + sta ZPPtr2 T + + ldy #SYM.Q + lda (ZPLookupSymPtr),y + and #$F8 ignore VOLATILE|FUNC|FASTCALL + sta ZPPtr2+1 Q clc rts + +.1 cmp #SYM.T.VOID + beq .2 + + lda (ZPLookupSymPtr) SYM.T + cmp #SYM.T.VOID + beq .2 + + cmp ZPPtr2 T + bne .9 + +.2 lda ZPPtr2+1 Q + + ldy #SYM.Q + eor (ZPLookupSymPtr),y + and #$F8 ignore VOLATILE|FUNC|FASTCALL + bne .9 + + clc + rts + +.9 lda #E.TMISMATCH + sec +.99 rts *-------------------------------------- * on RT stack : Addr,value *-------------------------------------- -CC.SYM.SetValue jsr CC.SYM.GetSymSizeOfInAXC - tay - dey - jsr CODE.LDYI +CC.SYM.PopValue jsr CC.SYM.GetYASizeOfInAXC + tax + dex + bne .1 + + >LDYA L.PCC.PopValue1 + jmp CODE.EmitPCC + +.1 cpx #1 + bne .2 + + >LDYA L.PCC.PopValue2 + jmp CODE.EmitPCC + +.2 jsr CODE.LDXI bcs .9 - >LDYA L.PCC.SetValue + >LDYA L.PCC.PopValueX jmp CODE.EmitPCC .9 rts *-------------------------------------- -* in : Y,A = T/Q -* out : CC -* CS, A = E.TMISMATCH -*-------------------------------------- -CC.SYM.CheckTypeYA.OLD - pha - tya - cmp (ZPSymBufPtr) - bne .9 - - pla - - ldy #SYM.Q - eor (ZPSymBufPtr),y - and #$FC ignore SYM.Q.FUNC+SYM.Q.FASTCALL - bne .9 - - clc - rts - -.9 pla - - lda #E.TMISMATCH - sec - rts -*-------------------------------------- * out : Y,A = T/Q *-------------------------------------- CC.SYM.GetTypeInYA @@ -671,16 +690,6 @@ CC.SYM.GetTypeInYA pla rts *-------------------------------------- -* in : Y,A = T/Q -*-------------------------------------- -CC.SYM.SetTypeYA.OLD - phy - ldy #SYM.Q - sta (ZPSymBufPtr),y - pla - sta (ZPSymBufPtr) - rts -*-------------------------------------- * out : A,X,C = size *-------------------------------------- CC.SYM.GetSymSizeOfInAXC diff --git a/BIN/CC.S.txt b/BIN/CC.S.txt index 6c1a8916..88a98f53 100644 --- a/BIN/CC.S.txt +++ b/BIN/CC.S.txt @@ -11,6 +11,7 @@ NEW .INB inc/mli.e.i *-------------------------------------- FILES.MAX .EQ 4 +LIBS.MAX .EQ 4 SCOPE.MAX .EQ 16 LOOKUP.MAX .EQ 16 *-------------------------------------- @@ -23,6 +24,9 @@ SYM.T.SINT .EQ 5 SYM.T.ULONG .EQ 6 SYM.T.SLONG .EQ 7 SYM.T.FLOAT .EQ 8 +SYM.T.STRUCT .EQ 9 +SYM.T.UNION .EQ 10 +SYM.T.ENUM .EQ 11 SYM.T.VARIADIC .EQ $FF SYM.Q .EQ 1 SYM.Q.POINTER .EQ %01000000 @@ -50,6 +54,12 @@ SYM.Def .EQ 8 Funtions : fTQ,a1TQ,a2TQ.... * SYM .EQ 10 *-------------------------------------- +STRUCTF.T .EQ 0 +STRUCTF.Q .EQ 1 +STRUCTF.BitOfs .EQ 2 +STRUCTF.BitWidth .EQ 3 +STRUCTF.Name .EQ 4 +*-------------------------------------- * Zero Page Segment, up to 32 bytes *-------------------------------------- .DUMMY @@ -120,6 +130,8 @@ L.MSG.ERROR .DA MSG.ERROR L.MSG.SUMMARY .DA MSG.SUMMARY L.MSG.NOMAIN .DA MSG.NOMAIN L.ENV.INCLUDE .DA ENV.INCLUDE +L.ENV.LIB .DA ENV.LIB +L.LIB.O .DA LIB.O *-------------------------------------- L.CC.AOPS .DA CC.AOPS L.CC.PREOPS .DA CC.PREOPS @@ -134,7 +146,7 @@ J.CC.PREOPS .DA CC.EXP.Ref L.CC.POSTOPS .DA CC.POSTOPS J.CC.POSTOPS .DA CC.EXP.postinc .DA CC.EXP.postdec - .DA CC.EXP.array + .DA CC.EXP.idx .DA CC.EXP.Struct .DA CC.EXP.pStruct L.CC.BOPS .DA CC.BOPS @@ -164,12 +176,15 @@ J.CC.KW .DA CC.KW.IF *-------------------------------------- .DA CC.KW.SIZEOF .DA CC.KW.STRUCT + .DA CC.KW.UNION + .DA CC.KW.ENUM *-------------------------------------- J.CC.KW.END .DA CC.KW.IF.END .DA CC.KW.WHILE.END .DA CC.KW.ELSE.END .DA CC.KW.DO.END .DA CC.KW.FOR.END + .DA CC.KW.SWITCH.END *-------------------------------------- J.CC.SCSPEC .DA CC.SCSPEC.AUTO .DA CC.SCSPEC.REGISTER @@ -194,7 +209,8 @@ J.CC.STYPES .DA CC.TYPE.SCHAR .DA CC.TYPE.SLONG *-------------------------------------- L.CC.MAIN .DA CC.MAIN -L.CC.LIBC .DA CC.LIBC +L.CC.SYSCALL .DA CC.SYSCALL +L.CC.FPUCALL .DA CC.FPUCALL L.PCC.FH .DA PCC.FH *-------------------------------------- L.PCC.DEBUG .DA PCC.DEBUG @@ -217,14 +233,18 @@ L.PCC.GetLAddr1 .DA PCC.GetLAddr1 L.PCC.GetIAddr1 .DA PCC.GetIAddr1 L.PCC.GetUAddr1 .DA PCC.GetUAddr1 L.PCC.PopAddr1 .DA PCC.PopAddr1 -L.PCC.SetValue .DA PCC.SetValue +L.PCC.PopValue1 .DA PCC.PopValue1 +L.PCC.PopValue2 .DA PCC.PopValue2 +L.PCC.PopValueX .DA PCC.PopValueX L.PCC.GetLAddr2 .DA PCC.GetLAddr2 L.PCC.GetIAddr2 .DA PCC.GetIAddr2 L.PCC.GetUAddr2 .DA PCC.GetUAddr2 L.PCC.PopAddr2 .DA PCC.PopAddr2 L.PCC.Deref2 .DA PCC.Deref2 L.PCC.PushDeref2 .DA PCC.PushDeref2 -L.PCC.PushValue .DA PCC.PushValue +L.PCC.PushValue1 .DA PCC.PushValue1 +L.PCC.PushValue2 .DA PCC.PushValue2 +L.PCC.PushValueY .DA PCC.PushValueY L.PCC.Inc1 .DA PCC.Inc1 L.PCC.Inc2 .DA PCC.Inc2 L.PCC.Inc4 .DA PCC.Inc4 @@ -304,10 +324,11 @@ CS.RUN >PUSHW L.MSG.GREETINGS jsr CS.RUN.ARGS bcs CS.INIT.RTS - jsr CC.CORE.Init + jsr CORE.Init bcs CS.INIT.RTS jsr CODE.Init + bcs CS.INIT.RTS jsr CC.FIO.FOpen1st bcs CS.INIT.RTS @@ -344,6 +365,9 @@ CS.RUN.CLOOP jsr CC.CompileFile cmp #MLI.E.EOF bne .9 + + jsr CODE.EmitTail + bcs .9 jsr CC.FIO.FClose bne .2 @@ -371,6 +395,7 @@ CS.RUN.ARGS inc ArgIndex ldy #1 lda (ZPPtr1),y + beq .90 ldx #OptionVars-OptionList-1 @@ -382,7 +407,21 @@ CS.RUN.ARGS inc ArgIndex bra .90 -.2 ldy OptionVars,x +.2 cpx #4 + bcc .3 + + inc ArgIndex + + lda ArgIndex + >SYSCALL ArgV + bcs .90 + + jsr CC.FIO.LoadLIB.o + bcc CS.RUN.ARGS + + rts + +.3 ldy OptionVars,x lda #$ff sta (pData),y bra CS.RUN.ARGS @@ -422,9 +461,22 @@ CS.DOEVENT sec rts *-------------------------------------- CS.QUIT jsr CODE.Quit - jsr CC.CORE.Quit + jsr CORE.Quit + +.1 >LDA.G LibCount + beq .6 + + dec + sta (pData),y - >LDA.G hLineBuf + clc + adc #hLibOs + tay + lda (pData),y + >SYSCALL FreeMem + bra .1 + +.6 >LDA.G hLineBuf beq .8 >SYSCALL FreeMem @@ -540,29 +592,14 @@ PrintErrorMsg >LDA.G CC.hDefineBuf >SYSCALL FPrintF rts *-------------------------------------- -PrintSummary lda ZPCCCode+1 - sta PCC.FH+PCC.FH.IDATA+1 +PrintSummary >PUSHW L.MSG.SUMMARY + lda ZPCCCode+1 sec sbc #$20 - sta PCC.FH+PCC.FH.CSSIZE+1 - - lda ZPCCCode - sta PCC.FH+PCC.FH.CSSIZE - sta PCC.FH+PCC.FH.IDATA - - >PUSHW L.MSG.SUMMARY - - >PUSHW PCC.FH+PCC.FH.CSSIZE - + >PUSHA + >PUSHB ZPCCCode >PUSHW ZPCCConst - - lda ZPCCData+1 - >PUSHA - sta PCC.FH+PCC.FH.DSSIZE+1 - lda ZPCCData - >PUSHA - sta PCC.FH+PCC.FH.DSSIZE - + >PUSHW ZPCCData >PUSHBI 6 >SYSCALL PrintF * >DEBUG @@ -588,8 +625,8 @@ CS.END MSG.GREETINGS .AZ "\r\nA2osX C Compiler %d.%d\r\n\r\n" MSG.USAGE .AS "Usage : CC