From dd73f58eae67e3d2414ec4cc37759ce877e04d80 Mon Sep 17 00:00:00 2001 From: BuildTools Date: Mon, 30 Sep 2024 14:51:00 +0200 Subject: [PATCH] division fix --- MiniC/TP03/MiniCInterpretVisitor.py | 8 ++------ TP03/tp3.pdf | Bin 229785 -> 229668 bytes 2 files changed, 2 insertions(+), 6 deletions(-) diff --git a/MiniC/TP03/MiniCInterpretVisitor.py b/MiniC/TP03/MiniCInterpretVisitor.py index c9716f6..f1571d8 100644 --- a/MiniC/TP03/MiniCInterpretVisitor.py +++ b/MiniC/TP03/MiniCInterpretVisitor.py @@ -114,12 +114,8 @@ class MiniCInterpretVisitor(MiniCVisitor): if ctx.myop.type == MiniCParser.MULT: return lval * rval elif ctx.myop.type == MiniCParser.DIV: - if rval == 0: - raise MiniCRuntimeError("Division by 0") - if isinstance(lval, int): - return lval // rval - else: - return lval / rval + # TODO : interpret division + raise NotImplementedError() elif ctx.myop.type == MiniCParser.MOD: # TODO : interpret modulo raise NotImplementedError() diff --git a/TP03/tp3.pdf b/TP03/tp3.pdf index 84a6c461c870f8d0fbc7485cf4971529156d4dab..01f65757fa64ccd72f99957086372ec3c4e22420 100644 GIT binary patch delta 9385 zcmai&Q*a#)wDn^)w(S#Jjcwbujnf#X4cgdfY+H?O+fGjGfcb*+J8{MWDdknc#w$P!2LyKQ^s=+F zVhhf=yOYkVu5SHCY#SWzb;4CW9i^ig&R@L$6qPK`D&=DfMwl^)=*rm8Q7BBs@JG^P zkD(3FQAB@_B>%wPNq>Fg;NiFbw{jxPmL|PD|19JG+1G^v1pRzepoklvsJTN)lfg|y zEpfx3R4e9GTY*2NoR^EXqs54sVihN3W9MO|;sRJnL3-B4*jXI|ARK8?zQu8_C+;D% zoz&gek--OD2ASJKuuED%J1B9Dk3wr{CeU4H5v&CsC@0W2-EviqTXeGO$O*K_AW59t zINS47a$_z6DTAb7`Y>#P0u6E*$Yr5O&D;Z(-!9I4x2|n`<_Zwv++>R3uwu{<40-HR z_1jgO@^v%&x8O+o!#JmzKHxv%!f4`%$aoXa%Fo9{dAmQf#w<;|0zD)WT^c1Xjeq$1 zs`7fwX_m=GuDE|FpYg-7tCj84u&9a{qF@#-h#k}b&x=2Uy}4z95X7NRe`-p|?}%rH z1}Lk$*gSDB!;~J30d&C6UJ*CX^g zBsN334#;Y_x6=2KpC#LX=NtiKkbb*RS>t72FDd#)X?d%#)83inea zjEOlTLM>MkEZBem5x`0nhC`t?v5krCtp+ARc`w#Juw9-~&H7RHu2`a@&Xq0x!1r+~ zT(#K`yW4ynflfk?iOQ)TklFX$+)}<0ak5_mj?zRvldKQiytE1@pS=4b8)%le3y#%O zg(G&H!0g3HEa;b78CvqZLQ+b5*@`8q%$8$EjrY5m)WAPu(bbDWL?yQFbqF?gcg=He zX~eGHG=M_jN}R}p9BL#IX9h-Ys`pV9?@20T|Nt+QVnpQP>-TmA^Hz{ zt7d11M}a6#wq_`Suej?gRj~^!n>Yq4a^xQxtX0HN_`9k8UXS-}tSwaG!F)*r%z>H8 zZbBp2Qe(Fl@Ei)p$@C(c0O739Q`vDKC2}?%k^Y zrYK2bN$>GbJicmf`j|2=UIVfMgnuqCX47bHtujQj9Pv3_eR|8^%y8h81KS0bSqkQ> zmSKZeH+ix5zN0w2#zv58YI3#)_V^@)so)q2ql|N3!C8lzmy#CfkJPmH6AN?z2h#@z zOyYmU%1`iFXK_qDv20K?Mk*3dih9l4;$aaKhhyoLErC1{<7rgm#0xVs zvfzyEW67X1iSDB%_uvY%L9kcaAz&Xw|rNG+);{SL@ zDWqehXye&LsSX|OzA&0ydngPA?g+uemN8X~;0zpM2%C%K^Cpvm=w;bPrPTfE!Z+l8 zN}N=!=$iIrX@|=U;|e)MJg{t;>5UiS&KD-aP_AJ}_xU7g{4!_r^>z?>gXqrVE610r zkC-m0k2?0bAPZ=j+dUc7Ct)7))jT7o*h|-%M9HUCUierxj@<%#6c}w{I zSv6NHN+@TM#0eb6dqxvPjK?)lrYLL6>p>HC`M6|fLrf&+)(?;PF zdrMl>i-ftw;s2vy{h^y0XJT=b<6y0;+9!&?gsgLjh^ZVnKIF$etf+?IbXgk0jtps$ zEoXKqg$VXuHfQR>Fhj=oW;Ur2k6McYH#Y4_JaCUu|B$Qa*e9sOA1jI3cx8 zP85)&ND1oPhb+=bjVMIDooV>>DsNJ8H=<^K_#_yXz>P(L3?JZu(%n(Fh5fzT!2vHY z7Y`Ueco-$NOc^#GQPG^f2kD#W*aL~D%d)frup>FnqBh}T zbl+wRjZ3tWZLBiOPli^AB7nLF&6Bxs9G8sR2p!RV~##)(`KN26}o(d%+sI%T4dxa~w zT|K8&TC_NKm<|C^Nl2_Z3a;!~Y2|8ENLLVb9 z$CB2Yb{~Re(NindB=_@>qNk5<x>P?(t|J=~saV1u8qY!8RzVc!UQ7-t1XYJ8RC!_4GXPiuFZB zgZs_-zi@zhvI;fVJ&q)GZ#7|g1e);B2oj{SgZ@RF~Sx#!M% zryFY)NF$86v5u&)&pB=Gw)U}vHl8GJMa?hvjwrW7iz~_hN)NYnmpEb@b!JgtXL15j z3$ZXvGoEh4x;i&%lwI*n9Z1UW6a+Lus=Boc2LkEc5xB7uRqQ>mHsch2yVFC6=kJ<* zk|=V_4zu*mu9`ml>5w*{*z~d7q?p#y|2;p!MU%6@wR;3>6;B zgy=JUD>oGU_D6wEd9T>LL1IVxtkbX0H}m$%b|RnNm3f?tySmJO`j5QNmbl4P`3(sq zuoXDfRNK@TFWISfjy1mjd)c-$clQ;9G~hH3Lh$A+hr`%|dJ=^9e)7D4Z(@esMt2v7 zoGNHP@4Tcr=^tciq=DTG&jrs;XCATATjb zp^oCvSsOQzG6gcsRuZKp(jno7RftGvdRWB|k&XYbl|mhyJ_wh=%V11%-B?twsg@|E7XoXnhyyRt4 z)r{Og3tqZi)1srMG#``<+K7Bq*b5P|N<7~!{%N2J6~I5m7$VmP-MU9Bqo*<_IG55$7muq1jxNL78eu$Xw)4VK~-$X--1%#T# z%Pr@|ve>@YH{9>};QeZ?5Lp_w*GMf8cB%nijfo8cLvJaTxf-ml!s5_B&6(Qnv!GhP z{$0n=LNfL>Xk{LJDt?3z^(exWH5d|pI>As%``kbJ$9N$x)S<=#r&-JXQIB&eu09J3-%0PuIiq#b<;^YgMs41NUKpU~@}&Y-Yol$K`{NG%db z_SAemX!=xdCP-T3rcA}>r#F&S=MJaT5+=x1pac{RmI8I6JTwioqaAh?rzV1Vw0ZRsWV>Eg$*WRtOp_X;5zp1KVjK%{SUXS>e14 zF7CXLs``bHY>OGSYk7%vxW9hVOk$Y5!%Bp6PYheL z0kvxhe&PT^D6Cy2S4?4LOm&sOFg)ZZh>8ZgocJ)%YCM+l1m8m0!^GGy@uhL<18d6@ zqB*#5>jT-6>GLu0X$aXMU==`^_VAOke6SU`w_RZ(1hq@k1%GNB<&i0Q}^Hi)NB$r?JsNDZw~sLzTT? zuhVX^;<=q!yH4Oyhf0z5t|>pkszX0wi$}f{9$ZF{*-XHYDzH%iT4!ZCTPaQe%3Lmo zrccj}S|0=$jIAFv7^_8V5D^(R9kx1S_ZYgAJr7O@Jz5|G=bP=vq$^K{;wr1!@ZY+T zQO=c6dhDokoKwr}7rf_jOROvoBZ(c50L>jU1va^{K(65XxY&5j6&daCiPjd~H7uoX zSeeag%pKd|ygss=dq#=ei`qGG^-p0b&iE-yE$31}L=JTAoj=$UZ{R2h?~`^S;k?TO z8{i1m%NaXsJ}^MDL}TCQP3L!Xxh{4y=5k=UyMJm9*mA1$i)CuCBunQbUbJaE+S(G$ z+E7BG{r;^cHpJH;?%W(`sN%LrwIdn`C_Z%ZGFCjz$PC!R!zoK|MWEs-C*da$<`hs5!P|me$m6R(HhZ8XcHi6d>#*n+f&jr!qzg@ z&yLw1O!Nhz8Jx1x=TY6n!SX2!lwJMy&kwj1XTjbEW6ijI_V9zn!<24hc3`mvH&SH4dB} z4%!{Wi@JCk(l%(>V8M`7AC&*oPJL&C{0`KYjid)^Xb=C{_3N`%BTy5}gv!KvevtWC zcN4BeP6_)?6fHp=*%=gtbi>fpI#3fLr(?^wrp_mG%AJV<%Ae zd{Xs!3-a`Au+M=xSq6Pxo`H%6;(8o3$(~vnw3?E5-?8VuP?qj~5T2q2eX|snO5oYdh{EK!VFvF*ZKpE8OCqJY&U9*38YtGeO@ML=iL000b zz7dMfEpE)*MzOy!3i zFd8T3;iyH}&!h;wF=V!#TwB8UnsSSmh?ub2aaP9DcUil`d_ghe!HfV*);Ce6P9|j) z5G+|MYp+Sq+3S(D>DUB&7Q1kE>8Z$$rz_l7a_Mnk*`fWU%Q<2?XrBIP@CLF>Yk#w; z%S3=E93O|mRVH<_&u;C`G{m!DXDCT?6UCrQJ_YVZ}rm*!t+J(nazS!*znoI z6Y15W72Ig52cs3GH=t&ktt8kNI zPG;LQ>XhG%2*XX-d48IG8gYY~!c9^nY!hhZ+sMAB%0dE#J~cqvCbp|uo!$&b2lW7+ zb%~;zG4g}?uwCh=S*v}UmLuW=ADfA9@-;2?@VH{q?X3K|t4+-F2kxMMgBuUAl`^6^oY3lZ^J(iU($Lf?7HRJLIdfv!_@`wyw2>4AhW4) z&O#HC`(R_~leS7zGc!^FOxc%>tKjNpwfw!5!|O8`a{ek@rl% zLv!-;{g34XtMmDlv;_g zRYn)UZ4V-2OY2OiH*=KHwk-bR%xlA;E%OF2u83h^OM9z-S(s@eBT2e#UAxJ^CnZk^ zhcv79%bpFL>Xo`6#yfY8n{l`Q-Fs8V{m015C!q+iGx*`@+<=#BN(IaV_Ppq|A>o_u z={L^DGNmIV7O2_U>HqJ2M(K(eT3HV3y^gjO4P zS37{IagRCF^24W;OZrkn;Lq(aOX^UPmS;aZ@fFkcluW{A)g_`N0WSgH72J(#!VR;A z;}Xob!$GRD5kLA4=D2=RZf{v)e>L!Nd465Mr+Als4sC_0eip>N`a$Z7ks!g(N{=gW zE%R9-py=nib%5^%p4Xe^Ogx*8Hi;XK-yh)akn5bd^<<_v+>%mMxh^&1;~&@+*&=PF zL+9KoGtJ>*;uJPi=WgF5wAv2gma%HS)-{j%YDeAr8NX|S8gacbG>+#>L^8YfVsEU= zz*Bqtg#uz7)_s`DRO#<}Ds<8`iD=T4F;|(;y{LGLnU6SboYXtG{49HwXYSD*eI7>0U4u>PhIgD-6rNnie~OnD z9MBzui6dpF!mG$CKoEwc{R=t^pdAwfOCJ(f6>UMPtcm_e6jUc^q?5w^9l-$TTjrtS z3)S`J%2*3+T9GYr&!L>`<8505sUL62XO52b4L`)&ib98qgbjkXz8*1ssB|CMcNFTj zE+YP^S{C*)Rubw4-4E~21nfYF;)XC_H26a1FP}>}L!Pm>k|flKt{$xMWW0v9dGorC6wn{? z5!Qz+mwyhCLCZFfFYj_WmyZT3RPaw39UpbWt-(j-J8htLut9K9;@{`_o)`F1Ww&#Y z2IL0~8BPt6x64e`zHJxan>^EGrR8ZSo**Xqhid|GWe2DG)f6J4!=2X-^Hcyb|j z|BE@=V7JeaYbdgMBG04m6-Z*8Jk+#_KrBo%U2}cPBFBi=&&(hI5A1Hfk|1@?T>(2~ z%pxX@aKF9BqR-P$CW{C}rfaw1CqxK{$TR;nc{acZZ?Qd_IN^Z`jh@809xcJ`yF6X= zK#mkL5;{%wc+XHbEP1h;OXbZebK#$|qO`+M)>7*H3?#zN3Qv=0OR1Sb`!gvxzIy zk)$-OtiL+Zy&z~E;aa-eJN`}>&coq&O;9iErQck{B!VHG>KR}KFcl^|9* zK9omXZFpg`QHx7YcRORdg>fTN!8%Pb0mON+_ES^^|0e5OdLZ~XN7w#vh=MUnMp0Wj zlpyYkMdB+`a~TpiK0QGeS*nplnU6oFwPpxt-+oV(u(XmSM~h-l!Ev``3=& zbAVQTI{P6+uZQJ#HaR&&`6OV0FJ(TFlP>i!$ZGF1ZTtQH=w-6$jOQ!k4{9i->sYhP zGFaS+f?SdT-R_(@a^wAGVMSN`QS6}SPmPU0{|uqJnu!V!t^XIuIVCjjDd$+{H{Yh- z<6fF=Z-sYvFE4R>|2qYBMVZV&Ji!7FmXqvvsXzG}g0)Df8;QVzLbk%%l`zLr6&&Z9 zTp-Y+Yrw*Pg$(Jr!uzEYIfO)NSJ$tT#j(^}jrw2c5@H-y%bBB&EFbm&7SaAmz!XjN z7K1c_j0_!6yDayaQGQx;Z37grYf9re^Yp``{Q%&J3<;8kmkT2N6mDL?g93m{F}Ggo zl5rGahB247Wi#rxcn;fZ?UYZF>aDeNH&%Qs%SKa7-SG#1{5CvJbSDp-HQ%Byj0CKp zXD|Myf7(YN9!5b5#|J}!Lc$QlboJH;$9I2ZMHvA*EI=4Afwa1ffv7hG|7Jg7_8M%( z8?t2yjK*`(jR&+V&V874-ljTO0gFR%BqGzq0+2fCk3S5$9zvOZBCS>6rq^B_SwN1c zLI25NmkWO(Aph5Y5~CHj9{krmMCo{UvhFC&=pbWVsiV*q^p8)1t(ie#R(~giihEWw zlVliZk%!2^Shi$)+(IS8jagx#Y2vz1+M)L8M{G!L1>bE+tgq_mdCgqaQ3oH^^B6vx z$O-^Vd~1MUeq;ln-Hr%kkrI&xl9oS0Sf|=kJGI8mKPNkKB_a9pm(ZWJs^mOAG z98v#FU<>es@05>768k3J6w@CJ*km2KnIr=p1e$i9f2jHL`-^LMmjt!Zy6Tj)2`FHf zkzZwFnqMzB3%<)o6zW$U@1%;$76nY?jBE1pTniX5A|%HZ-pCvC^@x^gL75fbW0ybm zCsEODthViBiId1y1J{D~Y2Zs?)&hfbsss476D0WVHcB z1J%@TS4!Gf6UGX1av+T$tD~9oIcW$_Sl!a4jX8Ge*!eRM{ZK#an{4uYyur8MnJN_i zN=%z!)NAjg>t46Hl%_49+&x`<3mQ=(Zly!rw2)?5$?ZGcoTXhKAnsFziD)hwHwCZj zbu-aVN{9ZNZzAEqJ|T!ZB#0ZQ=%sN8B%1vV#Pjah7<`(gNx7~8h(qY$8T{3N!g3Q$VSX^DM z%1J0%?HQWRPrb08S7W3P+3mV8AvZIif)w?78FOkr!*IKb{&($cuwZ2$;9mx?kzTW* zX;HPvjBj%RJwa>?tQz;{QE)VY*N}M%nSq}t=tIbJWZ8GaWjo39=j(4QIFPy?Y>SP; z$)0g>L@MlzsOk5b-xW5?e`Va+Y;cyFm>)=28qce7BW@A`J`c+Wb~}ZBG-mPcvs9J~ zXX_d8HcK&DhbZp>+F5F`FcHdufz&2?z!RyNDU(D2){?h};+W+UZ1V)ny%?6AM9;*Z zjAr0CFR`dzK6hl%Zq^uGnWqiXq{IOUw}8ABSFH$B*$$FIaY}VLYT)(My!c| z@?`7wnZn8|L6F*aewhSGKL~RKi_xuLyRJ#{o@<$x*WG4>x{olzFp)qqlx2lldWmQ| z0yTL63zI=Jq0Q9*kp8&)~i=&5hbSJXFuF<@a|NR zhx8pqI`^Lr>}&+9sX=LAT`VQ%=y^@^X0<*qSla6fBsw{ZhTa(uak8=XJ2GU*fV5heH?v|ja zcq@KsqcCPx+1VrJsG{J-I}Z)ZE?*r+~KZi59C*169TAxMc`DGW6}Fh^t{Fl zG9xu>d=smUFVQg3_ zF=4$kH|%GY+`GFS{FExsZi3K@5pf5|H8U^&E=E~ilrfjd>s6KJ#$8&>oPNgs6rya* zk?pUMc?|R1b53Jp6}eqR#wZ^8LLi@?wzV#!IOMYN>d^a;oQXYVwV$dHfjY^2K5iki zBMiFTwzd8=c7i*)ffnFy+&g#FOgDS~fDprVC&N8@20~LGhq&;v90`&b@vTr9AY8f3 z_+eaUZ%{YVeZm9Mtb9J4aDOE@?xu88xM2n@J@(KG5K%JO;}i9m*j*cneZdmA?KS*Q z_Z2SqH;`sQ z!Q-15_R!6fCsATT1-dmlfh6WZWZH<7B4wf+rF$j<1&fv%P5?l+bSxJ3zlM>jv>pr# z$o<7^CB|SiteuQ={k8Ib)M?Wm;Jx)Y>$v%=-!dP4h?mj~sB$_N2} zSpO2;B?;&*g?r`t4a8sf)~65k8?YUxMn%j0^@xu%21U!0?yQ!2gr0R1ecxBm;PVJj z#gU0aJ0l#2p03$E^%0u7g`lboS<#|)=(~8zalvCMf^fsTFv2GFH0=_HK;W8B=eW31 zvdJgc@Qcec?%S5n{M|1w^J$%HEjFMLo9d+@Q53Ptj6t(wF<|VcY%_?d6E#A=(TP)W{Kc}) zjDP>a^t%B>OGeY_ZQd~WA8!9m&91A`8y_O~7iE_!4OD1o2;bI4( zq#;B*7_E~vFM$@QS6>K#?18xeB4aI4PRB6$($LFV=<<9x`+U^1$sDc0=@yfB#$P~d zvTeVn@r!kv8gGNS&$$X(1yb#Rrs3bbRmPW12j|c=^(pVwH;guRpJh640A@fy)An5c zm(F+7(`S(B>A|0o`Wb*OT;rgr>zb9PV1wQmO|y;n9g2cwv9gYRQle6o&3W z%waHOKM&-7AlxW?`r&61ahuvbkl-m4T-$t53V-ix{Q*izzZanmTO2LF!c0&`%7)Ij z!o}0gr_)^oxy7GS4RR%hNgm^pBd6hIrlJ$1)aQcNHnA}+MDNqSxcONZ=RsTEY&>y#mRkDR>R zgi8eBw!rvqiohMXM$zn5s>u)yG3a#yGc6boccJU&20tAN* z%SLztkxzZa-mEE@J>*-bk4Jlxvbav#R~;!bj4em$6n;(kRr}pYwljYgZ^}H)lPY33 ze^oYx&>?zJdP{uQoPIO9tUPlm?GhFU@1=8EI+anS-QRZCkhM;RDFANH;;aOyVydiq z(t$1q`IPCHDwkV-79u!obbs)?>G10NrqtV=$BJCYQM>$5twh)#U>RQ0wo^tsVz;59 zDR<;6<+%)Vfn>78!ivT~;9KaYgAKR3S4CLS99SA?EQyso4hQ>{D8?sSq6KNT(G+c& z8;v^Uc}|I{B2Go(J%&LVz3=WL*!JC6rVFG^#oP0=!yG=|f6~am-)FW{%^tg?8;?Pw zxyZ*1qeW2#?miAK!6iT??qf+&AdG+Ejs~o z$Y{PFtRk35R8ZWIZQxJjn076cQ%mfS-eQR?iK)Xh86XA^{mXs>Tuig%XM!0aoPYv? zWUa)e|03pwGjPjA$TNuQk><9=9Gt0#3@^Lou^`sLc3Dhzqc-!D`e5%rIH04&!OD|Y z+pAX3iKcp25KcY>yE`PH>y)$ji=zUVz?8ZgUEoZDjn5WW=a0KLV$j}pRWMp^>;;By z$<(pv#~VmTn7lOeKUC@-oZd<(nSqf^Zbo)DzOF~F=1@ER!*>h2(fubW2Rb?Q^aUP} z?vgnWxtvBjtxJEYikCL+{K6>UdJaQ{MF)3D>?OyAyq{pK3^{`}@%U~}&kQ=klv<2% zUo1SgRl?r6Do+`4yj4^uckVv7R8d4UogTTEmRkwa;3M+9!)(cW&QM%WE`T^z7??m| z2nGiB{WL?cu_p5A&!~=C!~DcaX)pRD1XYr=An*0o3po5%Fv@J0zp$$_(vt>Af83)d z>0mmnb9~8RG6N=Nk#dAf`H81UQnPlz3>*k*EPa>2$;@A$^2Ri>90NlPet(;S-SI}{ zlm;KHx$(9l(7e}sN&%K*5rBdBXmrKZl@!`&sWJ~?pTS!i-c0#qeN?zV4~H;ZXxUNn zTFicdpk4LQNr?4tDzTS3eur8x$LcA>N@Ijs%iuw8t159v^zE!xeO^Gm1n!lZVU6O5 z%A3HQELL(E*R}syEk>cNHxo zrIN+V+tD;{h>dqdFQ|m{?0&{$4ShE)$XUuWBezY{41MP>1jis|emj%y;j>XRH#8Ma(FeW-#!;?; zQ)+r;#3i9Hh{28|oNU&T^wMUl+%FKs8qC6KMLW2K~bQ)9Hz{%JmW<|AJyp?w)B zjJ2GGbGy!DzL!panMlA!0^~7@NO@J@P>wIt`fnhMdgGrK1Dv7T{!Mq64xJc!3oKYt8~^$f_R42N8QV8}5sB z*?a%aw=4`Gi&DE(#;Rabww^g<&pJ{B-dE{9J$-we!I)iby0(%3{4gP=HT{xpeRPwI zm=An_aWr7OL?YQq&TvkQSl3AhH1*@2*WURLGrS;t|n4>{q003FOD`71&kqbVsk zvFm?$w1DR1%w65z_3ndLiKlg7f~axfM+wKO=k?0yvW+x*SBRyTG1pxK`uk1cv!MI? ze_c*2O2{rV{~V%VI!xup2i9^kgggSwWDe=49DT2}W>wDGtaNw&xMKMW{?G;(a&yvZ zP)DJt3FkOvw)vCL46|Lze|jA>K7RVqH;$E{e*yDG$QKkOMam`>-2_>Fj^%;Dh5QM9 z^<*2BB<%o`u?kw`yuvuz;%2A@k#Kh*4LF{B`8TYk-tcC&nx>tLWgIN(KoOsCAwJPL zLO=ywR=8ZUDX?Vog=daUqJRj??vJ4N?Z>tY*hBMso0#SoT8qzwl^Hg@5dGRJ{&_-u z>;eUr`}kH{g&{Ez=i__@pk+JO?DnVZ zg0em=Rx@^Fw2TE)GffD1>}j)EUyX|oqsSHJ7$rM=YEY3i_X4XrxMy9%f!BS`C1Iqm z#Nt343~ml4?>)vdj9ou$jRQbXNij5b^7($O&jqJ7mc=}__gu)Ev%Fl5=MdQIAOJ~U zhawu4R`Ut6Rg8`t8Zp4IfJ7sR*eJS5qIf0ekrwES>!HG^1JS?SRXvSUn#RO+0ixeQ zi9}-tHmpEw&}WfkgM*254xJ8C^%s)rWU?>;kO?v$n;%Ow5tGEwy4jq?WxA-EM8<1cS~vyIDaf zOZds?+W#^#H5a*U$hBAfr9)bwXc+O-*wx>`2#fsbyim>yA z*h8BERSGq&WuNfQ`3URqp@301ty}v6K;SA+vFV>r zm1kh2xhxnP+I)UMiH=jKb0)}dAetccxqy*SQl@k-I zDNM-%x#5!nWyfq&WC!8IQ79OgkkGm8iJzu|hQL*yQGDrcP9U2VKtD;DP1)$B&%hT8 z%fO?ll%wHhskwU_8?8;$1F6_nQ03l1a|Fl%WlO<}Fws#>*5*t$F>w2=codbUB0NFB zy1+@3N)vb__8`iB7)Cyb0oy>@T5vIClQo3gJ~F(pdUBr$6SOFNq`>%Iw(_{cAk7fT zq`bQSmNH5B=w73)c$g6KFlcOAWlC6uS9 zG(O9{mb*gpy?`#h9ulQ;v$09}r*R-_5N@vG%?n~~QId>CR9R^$U1^#cdzrq}_(@d6 z^qgFID0g(^;}s^um93uF-Nhk}Yr|eALGmw$)-}uPzd5hb5eX5?=aEE7NF&`=)Ag)+Cde%2Sq@Pq(`YvW6t$%D;~8XjHf1kiR!&%a%-wDnN2o(nE#qQTzNLM z)^P;9C^Fwx8W!7BHD?y{ArmsT9IU9A%wCC)=lC&vslLw&GKi>|lI8`6c2-F}h@M5a z8z*(NAA5}BvjRx8#PZi}b54OgH7hmvj*$=p#h?`Z_N|mVzxgKD^GkspL)Yc%jOrxO z$k0Z|EA;%n>}i2qTJ~a?Q8jUdx_SLPXO%t)ELs>hdhHnXl&9hpawV zUIXgm-bd=m_jo=l2?f>&0uJzn4N664K1uEISdo^UMpcWa#9he`!41Gc2^O)Y#n9Q)%P6imMn=8a~P zSY(k3b=}3J&c`25Xq^6;=>tbk4ur>2T}KScK*#pu&83WzRu1{6`0xQ$cWJ=YCGz0t zW}(U6z)d+`Sj%B6!$066lD04e%HXh>)|S$AB)*}m>-77c8JDm6mq`f*F$;e+WVN=| zZQ2yfUruOnoK2!GQIb?L&oQT;CCSb*)5)3I{zgMy*e=-S)l)FYUmSU$-|9-N5jIA8 z+2Pwm@xLQc4Nj)QmhU678F1SMiKku%Pp>KxkEdoB#rI~Rc48nMdo)r%Si$ju3MJe2xPLliTcHTS8pt;_Zph!9LGmUn zv`x29Sn@{UWx+WQw9w!FP)4S4*;vU|+c?qU@$X?8M~K9Zlwf&(+B587 zmiNNfTWLiaX)S8~!F9qFg7>E^(d@LzvoSu2eH34kJZ$Q4`U)j49nl!~{L+r(UlNhG z%NwY6#@N54$Ud!-m>%E!Hi)oaLJFmXC3>F#L|SKvm`y%ZLilo66d*e93Q6k^*lrQN zmBI@UCl;MJ?UdBWt|l*vb^w+cs=?k`D+%9F(={k)^?U)+iU_5qnXrU@os5~53$y7zjT_r~+D@H9fm#L0#S9U#-C9oxG^Gl{i!sxq^XhWd`@Y&)>jL?u8 zYrb;&{yegOrI?pR*uVv}ZDjv9en;tfo2!;bQ$~g#wVkcrWq!aEI^qncW`k)8M;v@( z`~s_SyQhl%idS(#@(=E6XQOWa_m4^6U9Y_ReQsd)@B6po^XL0szMda7*JmT3lMt7k4-Uc@LZBP{WbEWg&5;Sfe2 z4;i43XJX&hzRoFKx|CkU4Bpna%uJLqAZpv;0Z>9>iLOspm-0Gp0rfVUz zCqWFB%I$d#8m+wi&$Q;`m@c=ArWyi{hT&SF~Fw<H%A6)WfWB~;uF9W8b-fg@(O;<4-SKsc*3V}dqD}v}3XY|!u0E>s z=*|J8E&L_XW-Y)|VucqL5GE$X4kaPNuxYGD-SKFR`_TCCk*!dSL8LF*kpYh9{{!ay z-BbyQ$6m}XmPT$Ocpre+FajYUBDep}bx19b zZSiF)7Q6tHv8{I*H!37v@iHe?5X>C5n&a2~n=P-KoTU*{>7dI6s3*(wyobXgx1Vzj~21CY6Qy(MlFJe^m{FhVRp;c|NC z>V#8)lenf)CJ?~wXg3gMd0SoPH;Z3t_0Uk z_U`3fMZ5|&1%X!6-?O(fWhRRwGN$nnic~Rs=Og8OgS$GfVlA_{h>h+xs=)okzag1? zfIHgS4%ik5*Z@avb&{?yjKdtmHGoqUtN@=l+WxZ$#N}MOL5Nc?N^5+wVlSICr11}0 z#*t+lqw3>)>_&Mt_yq|WMD*^Pz zKmzw6R`m{A@oj7$4q42&Kp<{_n+FDXj$b(1aSSu`%y?e-4={8_X7X|`)qZIO&v%Y% z2i8`7&~!kY`kk$>-$U07IP>kD*<<~P!lcRnq2H{=;?^-NJp+fte!X2Z?FY= zhfhzJJS8_i^0!seZD@oq|LoTevrd+t=NZ_F4)OeefGU;@O zIqsB;9j>P<@(eF6RgkNoq8At3lW&o5F7&r62?1h;?+RWlUhNn-L@|UtEnmwUo%PQE z25tJl_aXF%U)O_&!Dxlz_7{&E$Dzg2sDX<#SdW+%81}HJ&K{apZT6SPJFK)GgaWg+ zLzbY9RQORiurI<5Dd52H4L-B!u8t?245n$#4+gCjCS^Mpz6<^K1l@mJVA(EagsOkv zPTq=YuR_7W(!VWwbA(`?!UBX}0KE>y0fx#D9k+%>?l<4y9%)4e``^$eKqZs9HN8-o zlXUSjY7iWemTHq5^V3CZ7#Gjo-gykNI3ap-BqrZUW6Quy5AX^-p>Gotf%d|L4^h=N z2++9xLFPb{AZP>uF{&MN_ajYSUT(Ntgd~GV`0d;)4XqBe_3kBp<=)YfXOSqnD~U&d)&1hdx}&_fW6&FPSl$!0E-^r zlxC#tebDwy1)BLvlmfsHX%ApQXE8Xh#n-RqiST`O9L~qryi%H-X&5JB^U*$X`j)?g zsZz=)dCYHIC+sp`Vs$2@w(q|MUXxb|}ky*_&Hk|`;o`oWW z>zdr}->zM~0Phu2mzN5URW~>gaY*0H?@kuGQgh8_{vlUV)=iyXwON4a*PG;!wUN5}l6Z+>G={{f-IQyCZvqySZLF*+f1MZ3&iFXXPtH&(BmUl8{1!tB|!of~GrL!&u7PJry z`~_&981BVzD>c_E$QF&6unn%Dte9@A`)8U2BzZ@ZT?NtNhvKmEv`41!Y^+4~ISTe# z)8ia1O(GS5F?(#YqP~p?WRVc&_$p}%!XCxhQrWk-Xz>Ki`A(&k-RwWL#^ZK@UUgMs z$nC~x@#)>nM}o$Mu-*Ss9x9?A4q9OW?`v5ju{ZVLd;{n@iG+7mn@jxaD2`c_)!kFr zH2fE!sUNzwGoNk*v11sTGF*C~=#sB|pA1UMo4uA-)%^duVWDWd1f4=dRGIxv=TQ5* zg@|FP)Y_mK{k~zU_wu49r3dm+8uTh$SC^y!lM-4cEK!6&W*4VUWPFJnmAudevc*n| zlX+kz33-$`td-PTmso*m?`Q|7u%%%jN2RtZFlS%ftl$|=rcuE5tgZ>pKntE2lt_7n zJDmtrim!$F{NwSy0x-}tb$y^@n<9mTL&gr4`Am!qJ=137b)4PO$ zjQBc98rE1lY7Uc1_?Mh-=_XLYtBgKL*oBT~a~Hv|-+i=pv?OG%FpSMqqPsV0s;w|V zPhTXA=_4mmsBG4Bdgbu1ME`rhovW+kti=IxyK>=8 zU47nWDF$hf)^8j?mRg8WApDr!Ut?9jGmV+4ZFB+F;dl4p@MU!v_K_;?G7U}`IF#4g z?e;xm0ES&nnC8|ba&gU1ZG*yHI+Mu}UWSD@q%zPArg|BhNg-`pA^0XcV}`n-_xPa< z7q+d>`f2_8x}f;ccx$c~T*#dgZaYC@`-KNUn=PEWia7&|#$4LSj{iqUV zG^Bvu#flMY;;b<`mTqh<1zubMx}?4fXK0r2P=CZ4{66*FgQqUdk~%L+5d|L%tGGOlUEStH5!D5C z8ur{4v$>Mt%DoIkAlpiz8fSYF;3qH=HE*7%Lx^cOUV~$(KIKWKJK~5+IfVadowWHJ zVcear84^RFf+8`QlSC$2-)==Yg3n@D3Y-^<#>S$W6qR{iUvRE$=%#-=mW*yNiQu=8Q6w~pUmCSQLlgNYMjA}H3 zIIQByMZczDc-ki)z5qb%2a?r#6hM4WT#9&uU<7srj1?nbwKkWvL&=ogFUnCV*L@#t zR0f)z2El+=@)&=`CNBT>c9uo%ruKO!91Y85I)|Uxu3wF5`gv+<=zjgZv3VmydXeHV zWc%AzO zzTSM++5HlJ^m<5_Fya37vM`zmY2Q~{(w`+B*>|49XU!{C%Plkm)0n6F20yBc>>FPyl_+$_?FTylZ#a)Q$8<=Q}Tq7^;q z{d}4Po}8oEGmlqPH)E=}C-qdAwp(Q5CE3npH@1f*t)6(SrgpvbU`-vNcnz2U(Jopx zybF;%QKytcAGR?m$QiF*Fmarb?3q>+bu9D9-FdyU+LYI5gSEJj&5m>911wHf1ivGa zsCE;-W4LawWyoN~$+igeZWRSeo$9{3AeMT6QdO0|0-2~hgFSg=sYj6CfvjUg*N$-{ z=vUcC&L)l@j7&nsEt}e68RWXlKHj0dKW}tbzol*L%kxT2?MU2;HeDellU$toqsmsYjMyFw+L#ANkVL`^h z#=*rZ=JLz>Kk4B9o1P5dWa?(^YGF#|Vd3IxH8%yJdqS5^>0E;8@WOqs|L*qb~t~ zkz1PZmz9|r)59le=62TeM3?7P=W!cvFxnSQ9~10cEh9WRv8X-+geGK{5knAE#z}U8 zoEQq%{CS>Ska1DumTtMh$bV++y{XYbPFg*Cp1%g^LwQ!XJX#NiaQgZCi;N4Q*7<|26T(;v zqrF96u%`}vS;1qkm!e_#e$`q`L!LPmm8KJqDZ}DNPTPu z!RR+F&v-94G$t4<|M}=R+46RC!;bQuMOrAdPB0TwA4jFm+0^*&M1B2TQe({qywvvq SNKyn|PEG`BYAI!Dg#Q7c4M}