From aadc8477b9773a5d2f22310cad5833e81c15c4bd Mon Sep 17 00:00:00 2001 From: gingerBill Date: Thu, 3 Aug 2023 13:42:14 +0100 Subject: [PATCH] Generate equal proc for unions --- src/tilde/tb.lib | Bin 4177320 -> 4173944 bytes src/tilde_proc.cpp | 46 ++++++++++++++++++++++++++++++++++++++++++++- 2 files changed, 45 insertions(+), 1 deletion(-) diff --git a/src/tilde/tb.lib b/src/tilde/tb.lib index b0886ebfbb62fcc48fc47b8dc8fe03dc569f9566..1dc4f3557cbaecabe692f6abc170e98e3c92826c 100644 GIT binary patch delta 83910 zcmeFa30PHC+djU}VK^wr48l2E1Vltd#d$)+DRIUrXT=#66=zcO;EaI^PLE^atf`3& zVrGUzNoA%snOS01YFc5bX*vAwXRWzUTP_S)<0gFF9t zWV%=M$dnyxuU{t=KS^a3rQBG>-0a)`@@03(aPwWo{NKLp|LqK)$j|;?uW{)D*#G-Y zUaA20f1uAD3-Gl6|JecfwErDP;FI50#E1v)A|2T zw!qW-|I_>bKiL9*asOZL;Z5Z)UG~2k;4k{y|5EAyV&=%({@0rCFBic67yIw87T{_B z|FZ+|Y5)J#5&YNupU(e(b^&_2{{OQ#pr`Bq)Aj$KY=Niq|NpJ|AN^k{}&@M{x4`q(L?XnsEu>#n&e)y*f@U;K`*#Y>p|Np6xFY|pm|Nq$q=>Ny-fAsQj z<^TM$|2H!EU-Gd3pV#nz$sBpx|L>dle=UIhztG43TLGT-|35nbpZ5R%Hah?Bbx-I2 zKf3@uUH|{t8_@rg>wn{)B9y=Bvj1Iy{=+!-zpWSUsL`^1+f23{rDecj=cZ# z{*R07tNiuL{%;1EwOxt(J1_g+8SFoZW&b;C(|pux%D;I<|2qyed$V~xCHk2xb2m1~ z-`K#kpaTWW44IyPbD?RPD>a%C(vuRpnX>53aUpeS&Hmsil+wg>Zu#oF^JwYJkPq|I z=b1K`E4GbK=+wS_>$cByj&B~(qQxlwHI9D`<6pxmcTsS4s(3EggRV{s*_8i$wyEY` zbFEsmznQuE!Y`VcaXH~~#^r*`6_*8<8?G|A%Hndz<$B!uxV&-s;PS=ghsz&V z0Ion><#7e&f6**>__m;!I(2Ky@5BvT@L2g{!w16-s?JJ|6NP5Q1^N!IZ&GenQIt*t zObY)@cBbqt=D@O{NPfD=q}+LdUc3_A-qJ41q~v6osOwg91@~AOZh_zu1hu!D!z{Ou zXuMd{Hix#uVw3U$1hp5(RdDriR+RON>4k5DBP}~~Ov;TM6U|;67iM{g#PMY&I?FLG zEi)-sk&pqAXuRA+VM}1vVYx{;gaphgxW9_%pFyx_g(esV!L}79rOZkbJ=`8$q3lhI zqEudKQhYYh>F*FcCu~O>^_64 zgO;G|1tHE(VOvbJX;*Y*r)oN>1#;^kB=wlQ4ANRBok2wA6%ePlmZ0=@$YKgoq9{R7 z9oG_6+!m@Yk?P6;Z|OD>uz9Q}o<*Y4R?V9=&*=%S$ObJTEApPMstnbABt&VpA`!Ap zMxeY{WO)oJp-PA9x~6hrr%`n4yWmPLO+c4Wi|>OgkvAMng+fd*-NCO(c~L9yXDJ6Z zF4bT@T2Lx(hWIOX$oMW?-d$30raA0C6x@$>{@UY(@2I&E_I-PUeZX=eUftYPfMsD`CNys71FMPTH-;+yrh-4CK9`)$t$2= z2uisvQK!t^TEFM$WD`i&W9Yd3AV>Fr6oAy;4e~AsH?U|urw@@5gXl+)oR^^g1!VRi zkh>sf^FZ$Dl0S5thakesv_~VZAR-@ko%raayiO{Bh$2+dNi`6ZrLt3PNy4Zo0bS9U zHvJG>$>M}+j)y|Tod_aIlcq~%fQS;$1_?WWDD!ny4v44&>5?@dU3s!>1QAnX4~VG4 z0T2=AO`W{0ljAx$sgn5bi0L zcr?UA(I&Eeno)}z7%9Ubo+K!x^9cT2a7zfpRbSRz*CWxEF0*+W=oLXNJofwT(@YAH zu+!|D+Bj`X6ModJpA*#L41-&FT5H__5$*T8Moi9hxfny;lWzSC2&ALz&OT}h4K1M& zB{ZspM$`VE;2k5Oeu<)qq&yblN~A4Hq-{#12_@2wCDJY>w0ns`uM*m~#9%;)ba07u zScx>bL^`H~jxRBoBx^8Lw#E#Znk`ccWGYLhawL!xZji893U|oVUYUADrVh%~TM~{- z;d?T5ng(IcTX1V2p^1bz2`wc&BcVOJRxx#!sjd=wO6VhDfP}#^llV9kYq$d+P5XZh z?m$95$w8hbxv0kT4t$;i&vf9+9QYbp$6N{9WdZg`1Cddl1Akpw9gnT zv6V@A_Z5@kd)JJyswnC1RBUw$w9H$iD37K)Q8}Aan2(36qEy4=XyDEhL{a8a4OeS< zOEPvji8f~%U~{VMv@Xj;Eef$fr}n_we!Wzx74|YEx)r5Tcd(r?bXW`~xLT_?wZeYI z5IUVMmD+%fe3J}a zv&KBmNvSp-3D#^L@1(q&>O}il6E^`q6Omxevy+^ZnvV*~3LM>tS_PlB`-{77{P$iJeHirYFuJ@wJ|KfP@=*h4XQZv^gtvZ26Jy z)^jeV>G}7)t;No!S@}N%Slzu$CusIj&%k_-%GNPv+IY@8w1TtOJl+E(WVVh-^E#l+ zz31XJ&jvw97SN@0-hp1 zXvc`;rY*d^<_DK39+W8jz2@EezNQP&U#aXLn%CM@ouC9ktg{1O=?WGbTQ*IPV({5T=AM?{*i7oOP(vrlBe`nXrc z)(Xwq;A72yzM6GkJ=03rRILVC&zkbTO}1X?LA^Sf%hA?j){pZ~zGaOw<=6kfddxy} z(i%@o?|HeK|NJZKJ8q^cwBdVe1=Gv) z=J(bSwcCo4w~k0i$V|@@ykkU6!qLml38q4{s^YaIRI_L#x~2jRy=txD@58m2d!qO8 z5jDLk&Vz-bjL6?|)q28>K0j$qq(Lh@UC85-HJVlzTWipFvDS+Ine!r&Fi4TnK@PcS zUPNybUFhs&9d$Ckm?KC#GNQ4YIKW3f)uG{jOkTAC( zl!L}IhrW@6UdS+dD5ipsHTD}V2TdB3keMZ{6Ed9(IRZ!K2vH6ZSmu=;lF>S%3)SA{6-dROd3xHrynr;9$s6AMlaRSWmeXj}3?4#qBqA3#E)9Y) zVx}C&I?IhJ#F_DKTup^dAY&8_o#-`B^uR35I7!4fhyn+4jQWVwadDR6mt>+^pIIwX z_KTi2YF^9RVwZDAi;Nt&G$=E7F83PfZH;o#*jn*gyc56mVq_*biyE|8RKOLKCCn1T zM#vG9gC#81OD}Z^nK|65t_djJd4;-;v8wj-T3AtuMH#F|Hw$m0$LW-H`9YnLIdj~$lw%+VBx4^`QeopYFF~^u5#}DugM-89(|uS=Zy&Q(T-Dwh zY;PUWh)c+}33Kl$URj@tZ1iGiOIwySa9rJXYIYn}p9CwOl$pHdr9UYP^_rJr$OdW7 zu3q!`#>MrQ<>aM7#>GvpnS)B?72-9o>XWjHUi0LNu|f;ML!4TC>g7ibooqgl*M~fk z>mQe#e|Rc!kD`q*O|=fDO}#xU(Th91g327zh4lGIYnZ7wS(B|*04q=#1j{2sqpCpqU=DYSYz*=OHejcicu z0suN98_;o4RzwD{HPU>GNLa*oy+wSN#6V+B$t`fvQ4IFl1yu_%u2Wj$PKsaB3#J?_ zVe$WPpXHn9YHwIL-ioq!Y&~i<<$rS5n$z9BOjVTMv7|XG^>Co$h3%2E(hBUpkc|WL z7P9Zad;}Yd$3kB1oRvpl-v~SZig+Rfb64WPt_s<4ux|zX)?hB7x-3#MJHm_v{Y@Bd z2J;k|{Aw813R9G~70#{!SSP_+fL#4_F!D;Sr^0R~t-bHvlX^XumhK z?sg1uscr=pDAc2>>&{ESq&BLCqLdff7r}xAy99P!6zd?4bforEFj<6QwG<^-*qs2g z3ickDO|Z-u*>!ejWfQ3EyO+UakEPYcL$@$o3|2v~PW5oYCYWmjoh<{CZS)YVqR_5u zsJG0gV4*^$G*Xl>!OGy&EnKicV3q8Gz5ps4b0b)UkWFujLr=lBgGCC~IaX1s2uH3f5TsVKFW*_A|4=`!D7?;Fge zl^$j-Sd4J4)mmr6z@+b8Lsq?w?h*ftqSO{1i@@p#_9a+d!920Kt>a|piPaxe3YUY` z6YA|?^#ywy?22fG6JWAs0umIZfzZx1*g7!jQ3xip3v8!HZV4tm<`}Z8?G(F~u}gd1 zr8}4`%o2lL0Q+7P;S!iEf~AAr+x}n;MPZhL-7<5PPJsO)Se=gg>hda>hp>AL<|dfk zuM?gI1#N7w(_qrDW@kldEVLaAwgOCQhjh^gVJ_GhQNSHw$%4HCrmZB2`b3=q)gAcMUOCX0F+OjhY3m|Pv3 zcGC;k5)Ac227ome z+9_c1g6#*B%lznG*nJ7v1UqO;LBHywD6Ir*+84J)!4kpbjc7iYbiUJ1XF2_K_8V9m z;gLN+4^3b)veO_%c}8f1z_c41SX;=j{w)TTB`g9<5QcXQLu-<*9Rt=*Xw$)DnB!oR z6>iM;!7vBGJ_VDl^$<)(-aJ@Q+6&*Wz&Z%_3)p?T7^78(U_&5;abQ}F!KR6TSzt0W zfyvO{gUQfkhheQVbH??-??4NPXT zeuSRMNidnoMKGDkV=$RXlaYERUBIMv8kmf-4ovPQz6I;d#j-2+4a4dfZPKs{m^9oD zCJdD~!DPU@U|7~sW0z4ns}3fM(8G`oHP}Rh%{JH$uugLQ`wUcO>^)j9e`PS4U1u<< zod_n2wb5Xwz`BSA4#WbGC|Gqc>DwBttB{QVlTns|brZ6~V=({aB>DnE8M-Pq&fSGN z4orqg0+ZUs2Kx$3X7`I>=QUQ(q%N5BNHW;VVAA6_n2c;M0+r=@Y_LjLjihrQupXi? z8DMf!ZUB?chYY)44Li^AiqcbfR05NB-N0lgjx=NhhIqXG?JCc_NbbB4@sqF(%XgG~pUE=JF6Fnen`#X#klZ#zk^`vNdo>UCf;lY@r# zA($*`CoBNcZU~sPTLUIr;blWs2==UKnXe3)r+tb(^DBW#=OJJ+;50*)3D!$E=Nhut z4B2~z>@t`vR;#Ic8}$a0ktcxl7EzXiu^raGw?X>|;dL-M99^;U$Pw@?m>iB{z+{-k zhW3!bioxVashFl`Tn|io%m9-^FWZpq1&f#azi&b1`gh+@dp@U6tj1t{MFBg5$$;a) zWIdOG$)dh(Ff%&1pYR9;lNr|slfF~Ho)_Idb2`>PIRX|!C`Z66U^4WNU@~;;8G4uW z0h3|YfTfEtxnMHNZZH|;V=x)zH!vBc-b_78J1`N&uFM8qAi`vT$uP^oWSBR>WSC1} zGE5W-FT11}m@G_RFljdnOxj&G?Cu(NwpqGeTd@9e{hJ8tDVl2`m<;$aSe7W(1u$8x z@4#fSe9>+)lbT=ygzr$Wfr2dplVhO}Os*PVfyv0f8+H}aG5@7uf3&1DoB$>b*Mbca z0bd1660FeBJ_M6Bt~whpJ_v0OFj^V6v!1V6v#{97P!-JnU^jrAvP>>2eoL zhPKYt*Xmd>IXC>~>G$%^VDer*6ih2Lm>kOc44Do6D|blk!2CqU)4>pr*T0RRvixs= z4HfDeV6s@sLOrw7lZDB)gUZ|IeXxfW?a<^aYb6V7#F{0G24U9~iPlU`cZQ>tqPmfh7y) zM_{rr;W_%+-w;gJX(QMuVRzhM@yqmSH{M`Xm+J$#1DG7ZJHX_uyR;m0Q8w3Y2xaK* zEAXC+2%QWjWplt}VcM_MC+Z+Dsof4XP8Axe;Hd%Wx7*x^py` zbRG&O2WA?Wbp9GlI{#|O%BV06c2q(Z~5k3QxbK`~~b6KZ*JPRh_;%! zmNnO7{>ypXYQ65V2TVQ(T>+CtxMygCHt5she;PapR>nzW{IafHwofmXHBUdn8wMsb-U%ij z)uZ;qL#}@jujtPFskO{x(rY?f{<_YB59k@s1Cw>Hny)CB=%{-Pn5=tKFj@EEU~!^= z%fVz9pD>u$LA$0T0ZNGOg|5HR`e(;VieD7U7JIhJE35SEp(Z3K(w$?F2`z_d55k)D) zNt$4dz+@*b1e2Y!9!xg>0YhuQ0xAQl@9FDzZ7^y0444cv4ouqRgUOC~&#=2^*bRMO zFX~P(X?GP&9!7TlKp(bmgCR1ne?3m?%{mpVzbOA^FxgK>z~or){74TS3nn|F511_A zF+*EyXkE_8Q!ZzvE0}CSJDBu624LN`EVnE120;U%!PqA)S%^jq&hFzGxMOt!~H zFj?sLz+|ECfXPC)_*nOy1}1&?fXVImbvvlcxXCBF;S8`HVmQtL+bY;%FgYAQ02?og z^$l36V3D8dqi5@9`c}2p=Zb=9g!XL!)=97yU^2=iFzynpfA>J;QZoF!zVJQ|CTsTw zm|VH)f1ztTfl2LFFub3{a|leXgySygyP7e!Y_fd*?emlVDb_r&DZ+Ul7{(VeJ^+TP0Cp5iW^DOcQKkyJ#$e%sJr5=; zG7n5vWGR^RH~}VSM9*TJxeAYNw=n!dDQnvUmPC$f*{V3=xL6`leJGZ@ui6LaWz@+vw zFjdHIfK?D|*aN*W_k+0z+2>%cf?Wn1F52yTuTKwT3HBdJ<@k` zZNTJit_zsl%@u&jCxB1EWMiIEOz1^!k6%qDZH03;n>1~AFu6M%1t#N70+aDBfZ64u z_%o;snC+yyYzLDrd0^7T$JwN9*dxKD$5}A>G2271bWs>@7hTrCV1vMB3++ThcE@he zP*>fhhr#j;_7F@9ZPD!-7;F%j7TS<)GT6sp()W8q=7D!pxX@Vt>Vrz>1Wo9yOf#6d zjP4u&ChOVMU;_=d2uwyP0C#1(iK9? z52&9t)T6AyZ07?uNiY>mt^swx)$CsIpEI*v-;`%Sp!V=`v8NT0h2@OiXkiGuiMoElVhQ!A)8>ZEnw33fWOJEg}!L0 z%>lY|0GQ0UwZSqB<{zkQn;UGB!S)&KoWYbJlM*bt!~!O7XLesu**i7B7K%n{2Br$b zmSD1h2Y^)+vLS|SCRn(T%{FA~z$yz_t|8kGmLVb^1(O5wU8&{u?>eZ=_&!*aaDF7! z&_SEkw3XdjW(xVNS^tb{hGxm_+-2?(}e@Uq~ThF zeQB_o81Pb?WUzH$nWB$P(RwGkfyn~;fyn|!gUL=j1SY%b44Ah5`P9%urx|Pym@NM> zL$(p~OFF*}CJS@dV6|)MvV1V<`=KFg5TnaFf=S;cF~<7$sUds@6IQA-40gg`<~q8z znZafl?0~@@g2|R?R#*418*I11B4V)?$VZRCV1A-8=YnMk_L^XHCB+8b^NOh zCG`t)&i`nVt*R3(D(C7>PSb3OmU3pLoXO9bYEHKWQ>@k1gAzSm-Ke;{{wv7}CS-!; zZ};&gUFPg+F)J1mzOysU7DAV{__)#1UHBDW4n9R5uHMX?sY9AAfiC4jk%*-9sYQdg z_ykgc2lNkuV1CBS)rC%^*{aaux8vL>7Yb?VN0-?$Ho(<;6-SF-}(gQ?^|MP?nHB!*!;<~*j9~x%CXI$ z%~yO>`f7=-Y<}0pwmK%iQFyaw7`DM_N~jWtw-!QiN;P7cEy~B9>W1AowiFY9zQBpV zTEI!bc;FOZU*J?=3J_m65KnT?0r}x#IuQF(#SX+0pv(rg0L}sS0nP)C1kMMh0v7_O z05gEoO^Q`ykOjdD5Nrc-0S*Ee=U3TkJ8tT8+=7QIWOM=;34900`}q%n&jCLI&HUQPZAa4phDfa`(hfE$3n0&{^D7e(0woC@3wTn5|< z+ymSOECg-`-UjXfmUETq%C30w-UUH52pF3KcLS5O^l%^t9u3?FoD0kY767>hUjq*U zebK6K0J{UZcH@C>0zUvA0S2H~-v&ki3xEm0 z!1sVBfgb?R08arQ0Y3x=VGwgV26zTI5O@xlrlqriUm$%1cmepambTvjxd=fq@N3{5 z4V}x%beM*bz)R3q*RY9(y)^6(EP{TphN&7Z)^Hi{GW4Y3c8NH7)dYpWZ(wj4_${!! zJKjbGMgp$`n*e_Rb_U)64guZ-P6Pf3%miXUDI0-5178Ie15W~f0iFl`3cL@z4RrHh z^uj~0AQ%I{J7hm#v*icwv(0m9!B0h=m=fv0ion^x7Qi{cMBsejG~fatPdQF+2lDj5 zp@9-hXFZ$x(fWRMJo0~k&DPq~@(eV7(3}O<2A%^p0DcA>0OSMNDO!3V@B-3V8eRc@ zX{Pi8w#{WaLXLh?I^|c-x83GaFz^KME#RlXBfzhLZv*+UtN`eXMd2v0Jn%RWTlBiZ05@6X1O!RIcY*VO?*X?0 zxc~=%r+}XTKQvRk$u~0p&>OZ>W*TzN&)?kCMC%XRBI&aMek#4ZN)2-BqasUe?dj2B zThO31a9!f5#QA*Ujqm6y;fG-=e3A{_ zhm`$lnP7WUlr08AZp@ju_~$2-IT-jeuqm(@$c=g%n5rR`5#=t@`+9qfcudNYdu%45#p?_K(PnS2Fqg1-M5E11Y#X+dr7hM{RkgO7!YcTL<%wkX6TQRsgBTY~hUY z#}EjZq^0Kp-FAeqe%&*MKcAgtC3AD|c=L-;0$|<0fgH z8-#2e^_7Kw?2sX_;`Z?tdI~y$xQN&2ge}~z+dJm}DQ*}Y!Z|kk#rZ^vI3tIT6X}*d z_fR#d|J1oeKW0=)ip;0jLGKv17vvQqL|73Q#ilP#*nG?tBj_d<3h40;`e15him&Mx z=w1Yesg>E`2-Pm<8xV57M1Zfdl?>lrFnPN&&3p$zfTy?Awz{T6mJ>;5F4#g`3*iS| z^o}jusaF++d`1TZn|oEE(06U&RtWGj*2ytoC9Hkxt5Eh%o7KJ(&g+FuB`2O6QKC5} ziYCo<&~Z~d+2pGo^u9(@ri_|8e9$PpIn(}UoAFa7D;-2eye-lT@vquE`CsZw`YcK4 zDgGqJ-ry)PEZwsq8_aV;c`TYYE~7+Hs(JHZLc&lE2wBTXQ-%(e9i9$9ilS2|(foN; zIe7W95am_n*k082jxCUPRa&~#SU(JlAF5J(A?E52!u~LsF8Wt+fg@l)@&JJtM|EgD_;19dd_b{=5tu;*6FiXR{ z_t01ms>{Z5gUwvf{%i+`Yt^eH}rOyT2w7MVuZ zrs%Us13PNzO&PG@WKJPpsB#f**SZGp0+jAI`6AvsWoJkHsy)&q4|f4|fi{s59o zbtoQsGqC?TIMPI?qspT+_gz$@oNC?gUzO3&(cB0hKba5fy!c@&F&O{lG@~>Zi79PUfpk zDB(P^0H&OW0Wjk{0$t_PY~>km$3UGC=(i?Ra2_24yaqc)w=ZNm<_nv($)H&FlZ(WY zcc()5OMR-RW86B}M$C_;d0(I$z@1+pF0fEb-$dFvU&O6b%Fh|`*2an@x@CdjoU^lu zCp>QtahDuF3BP&f9Cpx~71vS&BMiD%n^F1&)E~GWXnnOA`-he4uq;Sg#qsP2x3r35 zeHP_R#Pt2LITcUzEzbiRH0Dc`ADH+h;x%qXDVzpoX}E{wr-j_={u-j3ZpE?Qr<^Zs z0bxAtG=cJDL61VWn#O!-v$=CwR=374<*4v;%@6`gvZ#TsT={ivDE*?%YFXEYji&JO z9&Cp2@I_k_`_FhDD-Uroknd}^fxKtC0~`aq3!DbL4_ps?06YSG1iTD<47>|eEcl07 zI{|T!s5k?02&1?FI{;mQi9idG?_Xtrc&x{N69=*s0&n2!Kp)`yKz=~{8t4bS1@s3l z#hM-n zG(jaG2Z{n#12zFx2Mz#61BYlh8CU~pe(YxX8ej}?6R$ryE3UR}mW57PZ;lN?Q5x`NvQNVN{$J_u+0saIWYeE0t2N?$eKbKDc2H-Jm zBCrl{GH@<%3h*FsD)2aP8n6&J9e4>i1NZ>=Jg_aEhGzkv1KNS}fa$ zpudJyfh&-14_pb%1`?NWB@^Hl;A-GW;2PjP;9B5A4c*IOE+ZWbTn}sq+yLwhd=Z!k z%mwz;a42vS(hGr`f%(8Kz{9|8z$-xeb`Wgbl^wwLz+J$pz?XnCfV+VQfO~;&0$&Ce zXm}d959y1*JfIC{1N(uYz*m4RfUg1<0$&Fn1Lgxy0uKV;^TGid2Rsb{m;7TO*Z4e; zTjVPsH{mzHL%^#*Z{TC#TR=bTKaK#K0t%eEQjX&or`8?3It-rr!GFs%bG zQqPpy*ms9yPX|gLs#?SO7P?2+bpO+0I}SSMj&$Z5tlq$4#C6K=sLNU@st-tv8U*JsCFw`vA9U$VU_XkmgNre;_}V4Fb*v zCIPnqhXVPYISlv>a0KudU<%Nc--I0tQUzBku7p5I}uEO{b*K}Nsuu^ln8E_`BC6Ei&6Zkyv7AkNMR~D)D&e;=+bpI&VQ^0Pf- zO(1^?-WIq8m;~GgOa*QS&I9fMuGZumfG;7v1GpQ=HIJsQZn1vU?YgbEc}rK?bKPcr zc1u?%lt;!;F)4DW@Q~DXydA=WHhzW-8$VWVhj@tSddIEU`;ZrQeL18UE* zA8d8H@x7SqmII6gE(7wgTn^;AtpKh9t^}S067YKsZvgom#EfCYe!Ov5XQuTjzL8Y+ zhAkoFNHiQOLte+@a5~Z3vUg(2_p0?h#g;$et zTDS$mZnCf&nL2S$>fnik$4-**Tl%<3`{KK{YG$<;slQ1~_zgn^=@bpKHTmJ+@F-Cd zx8(T94=c?1Uh+Bm8YV6Cd#Eok<{m2S*_#qL4NSg=*uX3e^X{Q1kUpj9Z)$Sy`|wNY zLs9o}BTDJRB_3R=hj>o*=qnpC6?yjH575w%eE1QL551H{{a7G}##Gr*qLF&Tcu_wp zypPIAo9U$j&xFt6eye^*c@Oua(BDzMr2c%EXmf!lXn&~6Ef^qz|gKs3229oz5$N?Dr2MSbaAcyrWRUlpodJd#v zf1u@n8Nl$K!tSIPC1XV8CQTd)JAPQZ7b5I&qw}YtKWx5z2Mpq%a!ARgtmMgV4~(UL z*Prg;necHwR7FkiZdGdjcm&-0g6dLfl8XPhY2hm92XKAT3s~%{@$3y5$Sruz8Y`|k5qD8w8 zquvi~A(grhW1m@~a81NkVWcQPv5MQi)KS+*z5%ZMfy>v!Xx74}L7^>uc0&ENP|x{O zb~(dkc1f@S_jqKpR{CxPXCvFmF`FRRNZmM@&1M)Sjig*Sg@0mW&TgCk)cAWLEuYMG zA!c9!?9Jzr=_1g6E}4D$ml`GQAo*3uF@7*8=ZlUQGG)Yw;S<@KM@9_tlQ!-ClphzP z>nOIA{tNzvzc>70;|!CLvNpeiHW|G#SG5i~Wo63lzaumKra3X0R~yc}@Cki}$Y3as zTA@GTpnq~CoJ1$r8?(||4KV{^RI9b#81_3^stLA2vSkbxCVVo2Z4oA0|5Vd`Fl(Cv zvk)_&Ktd7VkCas=0TilXyh*j1PmQJiCN-Qfo#nt>4GT0Z0*0Kz?f@HqamJk~DwirM zmL7zUq{fnJmcFq-t8VMK9`MvOr}CEB<_Z^cszQTz`v-`Vsu`)2$Ns=GjB_SXu^D9o z`a4N%uV>k|S#%IKO}EYBJU=ZpM+lNGc9zSA(mHVL*cjQe{C*1bbor=Xfa_8i zeQ&22HwWLuM0a(;iL(Pic5lLyt029$f}@!{<-}r-8|3Pyt|;hIwVw zNXzg!TqIx0@l^v{ov~2E;GX6XR2D;4GjMSnvg5qorwnT zviOHz!(*>5d9r_UVK-_4w_k`ESd3eUxy(ZHa7P*#%{Xl#x4q2;kL#c*?l5^XLw>GR zP!5mx8JtluRSPzCwWNRM4c~9tXiaS%uCqg?N^o|vd##C(o0!L9O z%tH-+RwklL-J^JBO_N6dax(NsaH$V99{#Xh76s!2k!debwg)N-+`~wjROq3GSco?S z$_2S7eCdRz)GShA;Cj$q@ThWVFvt=#Ox7?%!=2^SYSyV)9OTPVhYI|8)T1oQtL0a| zEJ8gJCXLASDL(fqNtYVO*Ab-NVv6@fmcS$p(-~VYp!YWKBtuaZFqPur5G>7115T@)y(~}X(rN5`ek!GU$Gvn6dgM$l_lJ<*k>rZ z-m&BMLcb$hZjtYm5xkgVv&h&@!qJ%f`}UFTS-WXRVnqhcR4HqgTt83AK_QK7GwQGzcj2ux-55Jj6a&R>sq?WX`n}dYOOSP9USn(-BW5Wjst3`>q8YE;^ua79VG>* zkxm!a;cviR!64d#$vSZZFXUF&j_5S-!T>}DUenMm5S@f{bfA=X)G$TEtU%RjpU5XG z$`+?5S5khfEnpMtxRvy6!Nf_UM7pKV9z(y&$w5C%*YEt-`k{PB=T_&}>=2(fp1Y`A zpc?GHy2OKO2dV+?{H-Wigk98?1bfT@=M3Es zTdAl#mWm&EkEuA9T5cah61I&Bo>#3+PGL}nZDX6qr9LDpgrvKW%kJCnkT-v@*L@qM z2B8C@cZet2%Bhe=@8CF-#lZJe2KuZO%Yuu7dMP1_o6mS!^JCLW`FDfVY+u@(;_FYH zulRb9`a&&ts#;rZRw-l`2PioS#fwa$H5+jNsiWDWeS^h&J-Q(5Ti;-Mx3=nC=PT43 zw>{-+;27W~AaBx&fU|*DfSZB*g62u!cX)5Cx;in$iD#bTX53ozY?C2%dWpQFu^rNE zXn!X)zzktxG?t7uFHun^Gy*UyT7BQ_zneB*w^%8!Y&~Zx_g$PfEvSKS*fb)aS8Ms1 z@yb?qWt>X3YpS*jN!ZPKmi?D`ChVrXrfPT<-9{gPCM9{)IP8CTfblj+)5|i!$vYNh zdSSOL6R=~fI?=S3-i}qfm>2FL?`D`Nz!(h^o2dg$`)FS?wR=c+Uhb72#Y}ZPTI~&K z_q`Mv2UlQxoEq3b+R9Y z6?!}EZyyjqkK)t}(<`*Fx!S=z_hs^Eg+c&3w!)&&15V&6%z2oBXE9$b`5y4dT*2{6 zIfXWpliZ|~Jm7J`;CHH(T9b~&t1&dAPlP)ycaIIARbl?2^mTRBKVl$1eJO+fWk=~c zaiEsoLUnDTOB`=H@4^3uh$7dT*L^u+%J`v!Q$$xL3OyCHK=p3yqoNk*#n?P~P{boY zHjnN5Q|;br1!~e#oo9NJ-foFDaoR821Q^Y21MH|_iiTMl?$Pj6EA;shs@@vzkM~pd zGjIduNnAAwEtreUAS!-FwbC!G)d&h7t@_i;Z`eFc1+=sQ#?t*)sHg#!d*Fix>N6DB zMh!I`r-p6R4wgZ$a$yU|rmwkrP{V5)x;0Qk+*cIn-h%UhwQz zSG{ODL$&Im==G1%%zB6kT(99_4KHf=pq?6s4+waDHr1dBp*a5kq9c~)F2^`G&p#EF zZwXzFQ9M@taNWjXX&F9}y|m>ScJn%^k!IkYPFVYNd&k~C4*Q&AV#T)Ph&+!|PBgZ? z;hohUrq5_vXN>aa*-B|7KiBxWv)bD91y$;T3Vw5(QoEpn!0av<k0Xv8$49#sDD>= zE$t4i>`ta`YHb@2c9T+aG{(!;F%h9DnPy?W$2thae4o=zZEY^{rOs7it@KSdwO(BP zcVVN<#~b#gM@KRSlCCRh>S6p2tZZtbrykug+UvhdX&SEAu%J7-0P<_y@oWL~?;$b1 z2ak+*DX9l;X^TbPf39sjVoTlkrCMkO^1kpc?co@}QySi6tXL>^R<6Qs|C!bG`Eu{UVkOKo8}{XVxuAkFTj23xg6sV4<~Px|!x z;xp}#c$i8XpHenwA%E~b#s6drbm#7PAcCHy{b&3tSo8$nQU*jI8qcG$xccMbACnU| zF3$9T+;>jE_CO2pD6kChHjuyL!e8|90J;Io0m}i|kKYjTq}{#MDzrA%*PXuVtu`~8 zPm$UOEdh+xuzw$QoasCIppV+NN}p2*s_;Xc{t?#jal;_tIpqe_^b{6{#_HTx?MQ1A zF|@b!Roj>^pQ4+6F$=Czhkm$A-Tn~YF+ke`5B5_-?6*JU&;!Iy+Hp5~0#aR9lI`GO z!zRjXd7*XG^SHxl*x*USrM`!Q-f?Pw0(q;`Y|D0W^hH_KM;wi|I!!74QLySC$tP$I zSp6e5%ca@=0l}`k$UuqXoj}(a;Fmt4YyEMYaY-1>piLjx0z$@}VGlWE9iOdwLpJVA ze*6HnrOEUI%^j$Av9II7pyY{HV{3WyR2?R2!L7>GbJWX)xup7ePw3eZUt%;qyeW3j z^VD^0T7LFGZ0b5ltzcevmQn{{YjgT6WemdU^J!72F@JhYeh8;d=fqvheZAoLh5r~X z?4d0noNL$VoDlrUF%{y0A5&-&hS$K4^W&4$Y9`Z;Lx&Ga89Zq++0NLS+U>&o zf<+&EXx-r{_;iMQhZjFx&mWS=-WfG=-1vzYe$s{?y&P>8i(FHaM-7@fIAxNw>Fr?S zI7so|^9)x$76lNa)CUK>_!%{B*l>A9o(M;&pDVUCTmZZ#VywQrZ_xGJfR1O1yn5<7 zdih6NP(^PCiDNN>Ab?__a3Mw5Fa$`lD!~$@tT8Uy9!eWza>A7fyq5b`+9ZA}EysKdq--q?lVaYn3$NunSey zt6nmGRtP)%!Z`_l)L_pp5r`SihZ|<4i_b5R7osHk&wZRf#URlD7r(j0Ki+)T0r~)0 z&fgs#1oQ`DB8dOtf}b`6ktkOSres{n5Rqkw+^s{(6c6jcMZ1Xc$=t0BLlRnrN@<8O=A zg5n2Y4Ddd%HjsnV!Np(otc#1kfmsjNd${;js(ZK^<4SOrFU39!j79n#AirYu1&|AH z3)mcZ7uW(=6>Am0desd0%qWm|LD~Xm?6%E0g68>{He7D!TNd-HdfC?;7QXnx>J*~w~WbA=)* zO2%!jLJ=O>87Op=I*?L)VsVmICLk{SGQ#0I-TEy}e@`q3(h#YWxjY($IzQ&e`tsCw zwAv_Sl+acYp57b;uNCqVg)UP@U8cOz>InLyTWxpp-C5p`a)W#uIIX;_P*JZk!L(ou zo;RBI!9zitH+-8}-VvevWkxkqaFQ_OIh-VPuCIES&3=^BNbMGKP1wYU=d3`HpL}sB z8rfaDOlKOY+s!V1l-3xPu5pD58)MT9yxAE0C!kvsJb~7@!o_@3etzb`on=TS9J2V+ zkS6M3sFXV;f0c^gvAU<|DS6Aq z?GzGj3GP}=Pn$42s?RGCI5?E-khp7g2Odw=vr7cRftPtKP!op^nksTgDbdr}P~QO4 zJgQy25#C;uU&7A-c819!Aa4&}a1~Pto4qAJSOTeW4Cc{}?M;Btsnf<{qjdj!KIaLcZ^o(# zWNU{0tv?QV#9gJC6YEE0=+a|&7$kSVnVk_RohfbzQ(a%6T{OF9f_T+Xfp0~O-HkH z(8lp40;7%bwNc|?qIHR$T1273k5bhv{D0OD+s0O;mnNw7%#E&7(FD9f(C9i$@i$s{ z4dL&>VJ;0}36F)|K-j4hQG8%5(5l-z-pIK}Gq3Y^vs}5Pnb#?MB3kUX>+)-lF_8Tx zvU#0m2lxkDwM41y%Lo|N`~fkn=9)i{I!XP>q*7Q16t~)B6!-iOlr$N|0H$l0t6{-p z>~fVG@W+q7B=F0qT!l~;3SAExyb8Nq-zn(%iZpGC+F{^0p=c+ZUdHrvTt{>rw@a9q zQ-cR{EDq`h{IkBK-Pms24GNvAj-%0ou=uZ;iUD>01{F=^D%@B#O#p>z7_VW{G}Inu zGlACgqHr}!jkA^r{Ps<}&<20tnQ7`PrU;swhEW{yBb`Zu7+9R9TAf0ERLJCqBcsUY z)c&R_H1|2Rd!;2ma?$1+tz^ zcTBjMI20ZDGo{VM1R3}<=aMSc2I~K)sT&=dsdhBgBFpn?hbCVLZIl?VmDo_3lrnzu zB+)Ni4PEazKGCttPe0S9jg|Z<_j%RT`jZHvlxo{g;A|=8!;KI#u;_X9h^Y>3oTYZR zRJg_Yd`#oZqB*?ns;j3aQNr;)Y+XOvG)oPnCU!N*9CeF|qWsEZi=lv~+7S$xZC5wr z|5mP>u6Bs7!dpG%yzBqeh(*xqHdNF-7JpwQ9f!45exbs2v>)(hI-&wSW=o8ojbVdy z!fc!c0aG@ zVwd?H31ztWBLZ}8p}N%+N7FLYUgl%J)0qqy91{lnsYM?(ph5&}H9@J;zQ}T_J)@2v zd0GS9G^ZEoY=UpFO**_-%7K@mo4@0mmW$M2Cng&fsT)l3)bs_lm)qh$pv8xjtGdMc zcThof0k30AV4F=&>hwiy&BbnT5vigm_#)o~ii5*}MnTJlPyV?H8-BnVzA?i`5QJ`yMLPX^9#p$b=>;S#k**DP#5Dk8fjz}mp2K;Dk51oEfu{M7IPa5bjY}Ye2l$pu7%Lfd_zffce1o zX57K}@oWGDZ_v6GY86vAI=%vn#1bb8T8ZKUV^^X&!2TM})Ns9~FIb6cLw|9lTC>HQ zh*lHDd<)3cI08%q76AEZ`6!S#;>UozL>ve5N$?3^DDWNXunOJV(~m~@G!3C6JFsV2 z<4lFCPzK<&RalyV-Xzm8qy{=Ib}^9;zQ}3;K}hjO3xY$m#GlUpl3??a8~#dHls`Q_ zXK^(nahT8(-{9e;4E(PEs{wBV`FP+Cun+Jaa2=436!_Du-+_Dz`3T58!q@`%7}$vm zf;BE3Xadd$nt?lkPQXh*7vQ%*_Pfqse`WFj0yiiE&?9Al{EjNWo6{Ot4#3Vg3fK!+6*vS~9XJxm@umZ7xY5kF@k!Iyv-~{p zAJdLsqc$(~2U@UYRO*(cf;H$=V9^?UNLrT<_>>jckHq;*0mEb1l!+7Ndh3Cdu6Mi- zH->ytS&ChYIKcjE)wQO6^xImsp)bGpWK!fS^3gE6R+i$|;ZuMCv~eBoV$tqYybi+{ z=&@d{S^gx3Bj-{GV@y2ko2R>HpvH^=~p}UDv$D4!czy{m`_PkNYom^g2 zTR5S`R!xT3b0eNir@pAh;0r@LUW7yU5=Cp%Nb0^(?e4U^MCMPQZG`b?vgE3*M#$>R zZ-LcA3BKpQrGvjs%Qpt8lkW@hO~X;wLNuG)6~;cHV3jI#l$VR+h3T_=JxSf9 zHYo4-M|h%OQIlu7a+n6=(JO>EnVO)~Z8-z-4&`Y5CcHe`K{#Yk&Uk#*`OPLgdQGJ9 zo7Ltu$BSLF{5wP#WXdC9xJ=YX>SSGcWIZZJ7dPY6v#C^daIB5SZBau@jXo~fZcobH zqK35G?a3vqFK)P#L>?t)klZ$Z)|WiM#|!%sF6J;K#s`z)yiofu8|+$bAmn2K)l}2JixqSJ5wld}ehK$XoDBKwkTbfR%xl zfz^QD0NVq<1!5TE!*?~zG=u!MVMaK14p;3LFY3Py69+gG82*bF9F-K&6tmD2eB7@; zpm5*8?(jDCWt=*koq}dvR8S`LPaQsuKY~=Aqq8sg21N3>(*$Bx%l0j4KQ6>HAG)_4 z_hQ{KXD@b3b#T_w_EGMX{Xe!&P|uL{I#Zy>ql{awvS z;mMk>?Q)&1G@q@0lNV&1G@vAamVNZj0g4vjtBMvP6qY`E(Z1k<^cx*`S0K{ zD!4%;0X>{i#laxWAs7N|4IBy_3FJQw@FH*oa0`$fcLI}vuL1c_27C@o0samgOABAZ zCMARRy@b73V0n7*5_$`$?v@ybgxNrus5!wO6fcreI3ji|(i3 z{Pla)=_b=kD!=cE8P^*jezH>1KD>ARla;esB(iZ_*ph|KlRCMu@q!EggYXa6{rOh; z>pc&+nLZeX&8S$SwOr1xle3K*~F=XmQ4f&W?l zn=<&}a&SE`Muzi;R~$bcDX9-pXh{|Sp!}Bmv8krOeX2K|enpKcwH~Fx`lS$Zdljwo z68_9FKDjKzo#5Cy8N%jCoot7NAuaNYl3wGIl$`Q*aR3@p&F=vA}=($25pzy%od zni?ME7$+2d7|h0p`~8s8^)z!ttQBuy_Z2c)|C)?_7%@0j(Q9g?Q76Y1vtBW`hI{><0aiDuIp`Z-^1>MPqv4pPh*rEwI+9>gtqbPgVZwjER( zmulriSj>r{;)8hYVNMk1Tw9F6wc^GnZ>~wgM(P|(>w?wc58)&Gn>P`TEy8C9Qtu+( zCy@HmPp=O8hCaO0!0ruiJIX)W*ZPS7yxZUb%U?;*2h<-?bm9#>5CCt!f#&!lD&OOf z+RbFjr9p2#G2wW)d|#b*zNv-`{GLCw!=D`~8B+4EwyhR6QpdxEKWcD%31aIL`X?t_ zy3kX^VRSX}N;r%%0h57!^*kLLk(bu{H8{V2-H1F5q~2M)UjAewa+}<*K}DR;{Ti#@ z5y7x9~!jX%lUETW#LZaf#y*@+<#g9`XJ(w%NF4;^pDtgNMl`M(uSy zoyD6pacYS`O!6o91my)uzBe!#uo4%RxQ5_3YfLMUOU=dqQnMMVn&%sr@^uN+GAz>{aVyad&C?GNQHUw_l_L_GGl%wEv$skLzWca8XAhp{s4M&5&JTAF z;xNJ88hV$h`iJ6I_+~Vs~A3TEbkw3ptYkKfa{`^*bR)2HzXn|MI7}p4dCm&5mZA?|NUw zPwMdu_=}!N&-g;y_Or3$V5#!{_!YfRPb5x8_+IFJ7*1un8FH${8m&7PAWv`!lGSL14Fq9 zrBz@(1gvTyztu$7OxH!%O*cX}N;gY4m!jtOXD6zN4-DKzn0tJl@z7gR_#2uw1J{g$ZvJhbnXZMdo34j$h;Eo}%1{+%&NO9os@IqpA-|PImrhqq zS3*}!S3}oK*Pu>Yc!OPN}4F!8Q4MBPd7j}PB)=${5zJMIK6qt5U_&kwgVWg zQi^gRzg0(9PuD`%O4m)-LpMY>OgBY0O&6t4JmXLSEr~XWX_qP#u+r!XL8ebE62h9j z&74FHSfxVfnLv67Se-(CYk+Q$Zjx>aq%N+>wzHx$y}U6(ek++Sg)WyaKU3ZNL~3H$ z5t=$iwbHfG_0aXvjnhrg&C^->6pU&Q?OYYk*N7ot6$oJx(3R5F(jB2|qHCt>r0b#^ zq8p~0G8Bc1r&ZZAxsKZQF>aTA@P+u)%>HbzO#?!HYm9E3ZkBFNP0cTMGE?yJW4yp$XU8My5M%NmINWJ<8*%9Rdm&KjUb%1 zKNrnzGKj^s@C=-=bT`*ULVl|Sq=$gjDuk;xbp0-=r~bV-A!(L&j*&5Edb#6N_;9wP z)_l4+m{~_#FXXpc>DuV}==xRlnw?HymSRr*1I2}N^m$e1^iD4&MhJZl$jrnvA-|PVfWvzn?_n|t`K?Bf96+-e=(_0!L8gI2LVm0CB6CA?z$zE= zTkRk{U`h-5t$v})0@eWK1Oq4OW3}sSvDv!%Ma4GXa}rfA-`1t(zk&JtSTWKLW0bQG=tP<>atg>%Ojm&c$^6nLRbyy z+-qRShXqMr4a0yvT_H4xE{AS6T`64+T`gU+p)?fOLfOf{F1jJQVfAWVwsS@BQno}0 zEuqVy+f7$WS5MbK*G1Q@PPrlb+@zw*yb6ki{8lwxje0H0$w(TY7-Y~G-MGp)$#Jq0 zOT3bjh5S}NT>)JwU3rO`8_!KlYNzR7R3BZxN_sihNt&gYV^HvOUX=-I7lJZ(QPxocsLU5|AI95@{lRd|=e;uHgs|15%cU!&E2nFuYocqX>!9nW8=xCE zq<17H)B~@@JLL&q@LJ+MwbF0p(&Y=Gr=csSYoKeS>!9m&Nxk=4d_s7fc7l;}bn|pU zeXR%s)(IhWu5?*+yXi{lYUz&9wHVUtL@Q+%1H0*l=|)T-5mc$78trWUc zx&pdF^}|I@Mxc$NUHxT|<0Oqzj4{_N-JE**PpM8g{c^9mEFr&DOlKa9sXL8ox*Enc z(lybw({<1d(hbo~7+Qr1G)WnCh1ZzqD^$;`x#{YXKc}W9wNrNp;SiB-P_0_*IOVex za|{ZWdgUbuVXo3;(G}B`(ACh@x}^5jMXD#(pOMo}(ZQfWx*@trx+#}b{f*fP zNy+72wJAdA4(W2${eO+m2((bNs!JwuG(CD_cAB~-#>r7%e=|Oq)U?Mdq*(|%b#y&y z>o;*g_`ni>Fc5d87m25jzmM&(m+Yo*F zGtMC9YMKzvrO_4A7134G)zCH2HPUs^b*fXBIA09pR(PYIuWn!BWE8ehvD7U2obG@_K)NP%U?~nphA4&^G(k5>hv(Y4L%@m> z!U{o`N>@NvNLNl*L04}`J^ohw8dcSh9aOvD#-*=Ic4*Zk%q8 zZk{e-zgI<~5JrkFm(G2d7ecY0OIK$|?=sY@v)_)-xMGAkM;SFkH%k}y6|dHy5IS1A zEV?4PV)fM9@lK$DqEUU}7&gWO6obq)K{rVkbG27vocdsylc9psIO$bS+aQGF7rG9* zKDvIoF}iWOc{=w^uc#8o%hg`ZDMIL;4e2xG1(X#GtWs(k%R>)EpIRKmUgEXO{XwB`l{_i$L( zO3}uk9=bldF}iWO8M;}zgo9o~5{1wZx_r7)L;09?<&+H!Y^3X?>!KT`8&Um1e}?+y zvG`OKAMX$Ds;lwpuNU%LZFKE)eRTbFqjY2Hw)Zh{60Y?MOBBLtMVCvro351Z2wfdr zD_t91KivS`xFPlH#_ZUbc?RHzis>`CiRzmxo!oHCA+K$%LVl}UAubVZ|IyyB^;N# zg>WLF(cDOg6A3~%Z3i-iwF+S$g|3Hglx~b}hHjQF`WCl1y+0abQ13tpVF!Y)0Hp6~ z3|NIiIQ?|5->LO2`*o#W;$2c4|ZZ*>7p=5F=1Ptdnb zQ_QIELWEPl>qVpqp_`;DpsS#(qN@X$D(i*();OrZZN`KU_E(!&hY&6`7}85X5oHwv ztLf@Mroeh3oN5G}>sB%%gtJMvdX*%rdt0z$Insi?o*LR(A)F_oYgUcPekU+MF{rlO ziK`0p6xR1lsVE<0>P!~G`~sclwxd%B_ey~D5U^&1Fu!i|T$~V=3A%K;B13xnR7_dT zz#8@IPjj7JT@>968UUG=3<~+JxMuT+1Y8;w@>}H~Jp`|Rx_ z$Z-O56!Ui;%*#kAy4@?dSP1hSRA}bAOLtD^C4>vU@6}c)gfn+^Rdfw>jdUG!opghA zLv)jLQ*?76G)A9fm^X-Zq3{me+~c;eNXTzBgYruWn*z1^tKxrs!N(ko={}Zoba$SxPE{=mt1@%JcPU+fJ=opSq`&w~7#*E|% zShGUtD->?%c1tV}!eIr-l-MMMyJP6O=!WQq>89wW>E=PGL-(or85+7ebmpK-+=`2Z z(3yiw#jQf<%;|dQM(M`rX6feWf@6Skl&gG z=|{ZaN{A4yfZgNORw#r%j;?~Pp00teovwp!z>w~N2PwxGIIg~XPqvd8bFbHuI3ctS zbeU(fLg*ss2IxjWro>Sp9M#;18#LWoQiRY$fb@Vf zU_#i&(KXX`8&Y4mFFRKK?)}tY%p9ZU?^9j(WhVyGe&m&vuBuc0PI(oCsjyneZw-O; z`_BT_un;yj|K(*23SnslnYdIT+z@WY=&8mBrT!ZLYN`$a)N>@vFgszFM znXZ$ri*5j9DjpQV#^}GzK13Fnhi3r^n(2Pl|y6b~f=ZYal4GZB)=}++6R(CWK zg|JNpnT%CJ*h{8splhe=P@na!aMb5E>q{SAL8;=?3YB z=q3#5b8VB9a}1oPOSs=_V4@J_99=HmZn{#sBXo5t$&a3;hoX-`qjY0*b9D1`aX@Dp0+Dw>2z$y8;-^%u zOBO<(3^H|8fWjIv=_nh7unvGs=2ju>QiICf0%wFU|9|e5hl+EBuuA|kam7OD2|#e^HN34war2DS74Y$wo1(XTpB^=Bj{ zJmi(1D1^0)E=Mg|g5A$UX-;am1J*RTQ^;?PK8)YDxT7&9gazgiuf!A~bdYofbmepv zboF!%bZv(8wy&MCpMe8v*U~&EbCzO`L2*4^OM*f;uSl1r^6V8(Q8h&kgPQ1?={i7W zR6B*RdHe-_SniJgfJ^G-t^R~viNEx0vJkc}puKM75h3IT=>ZF=5GE+ym^%6Zj`^Z{ zy^JwJ*s_8u+`?*wP#8!G6Y^Ulj2mTKavz>5;^s{e!nHz>$y+0YEwv$iAlyvZ&A=YI zQMxg@X}TG@nE&xAiBnsa;TW%wqDTlWp{r3(%%wVkc8U&lWAq9qX^di=xn}9+)RVgC zv|o93r3+y#q$^gZeT-v=l;zmz>7?yqs7LdoulL;SSnPA?(_MzT!sC31QdvamyV7R=yA>16?^? z9bG+L8(lkHzah2#;q2J(I0GgaFi&Uw)>Mt1PLOF>PzYNZ&<3}$6+)OKAUy=EE+MSP zj2mEF%DuVJKqwFucMIXpBhY%+S%ZeqZG%i5 z1t2vNv%(IS(v=ILLjsw+wL&-u168}_4GQ6e)9=0V;)HMzMwdpH3o?20g|Gz%9WWE2 z)gUIqB*-*yN(g5rB^4)G7+3fQ{GQKkOpy?JIFQNPEQHe}jO$?B4CtVncNP@Zh$(Z_ z%UmFY<&3VJt_EZ>*9zfKbO=u%a|?_S!p=R&G-kID<|bVoT}zm z3*k5cqzBwYE`+nv(G7u6o}S&q2KCzX7xQ#%tW84b zH$bM61|jr+bnSHAAjfTBj}T7Lyl9@vjh_b!VYdWi%Bui{HKMblY!t%UL)S?+NH;_` zLpMtoe95f?BbOkAV@$dny296tGN^;$}5PI!#ufPp01s)gRYORpKjcc?k^@N zXF;aoIU($mzGx$MZM+ajRuAF7wj)mCJSLBNta7k zN>@%-3rcaP))66WN2V<6I@hHNp?3x8Az;-BVZjJfwo~@g4bY9!jnU1}&CID}=Ba0)5pTlW8Gr#NP2L$ya;Mah$k1ih7sSyPwf_E`v?h z9wAKBV|W^vTU@RX79)@zutzL}O%~%?7&igB-pxBHgd_TCFK@aKIs`*{(JH2_W?&6n zBV7|+J6#9eAl(q%DBT#{G{`h?2DC#X?i6_!PfK)L-7SRUevlq;!A%I;w)Z@jr~-pn zGm9xogm4m$?g(8Y$W+iIgw4zQcpR%+X^If?g7kn3L_*lhWLy*D#z1vuOFnK8W05-J zWlj^qVgN!Q3d|S6At~qv*EI{FBM0dL9k~!r3V-0aXd$dLbg3Yfb)K_2P(fFvUWwV{ z>}r896|@Rr?fuZQzTsAyEQCWKkREUdB!sc0Yf{I4k4Zd4G0dPzx+%J-kG#U7g)l|v z(&+N(3g{~6s^}UG?MLgHDBD41EINd6T4EMmlsjg%LfGPh^neSgLO2|uo1%;Qn->@T zH#PnTT!Sp2DOB(O0eABJXqOXAX@xa)veid$k}5cwowlnFtOx9=3t{Jm zZk%q0Zk8_QA70)#bx|SiSB+e{3BOl{HTBdBVQzkG-gXkOl7(<31*8XDNl|&{J5IQZ zqFV?zFVT(AP0~%#Mg7w&ELsSaf>O;QB!nGC&}P?l3ZXj$VbFaGo-OST*tcPz^)HhJ zoe*e~o4HsB`_dpi1gth8?B3D!(G7u2-eDnh5A)`QG1%Dvg}0z+EaX5_V3iQ|ujv}- zT0lAnu2>17(IEX;*#Lg7ZV1QaAX8qU5H|dhiVZ*GIxhsC>Spc|!ewQU$vi8B)%@RH zT(l5Q6oF22^X_&@P5%*hP;}Gw2>J2MUGpv++z2Uz9a@m7r9=pmfpJxg>j9;^we$(0 zHFyq|$r~+%CEbv|i8IATb=QSX`c{**21XN3YJxJ{;s%6pF3{%{7pLysn&$)xC<@iF zC(yq%K$u*OLRiuweC~^Uuy_k$@dlZORSV$|hOUvW6|~K5MVk;N65ha<>AEN(Tm%PU z&`W8NL5xC`5Y{2OM!F`tPP#6-A-Z9@G0->NipPb}m?$;|6xQuRhXu@X0|$jLEA(?s zG2odVLg@eLQt1ll3h657s_2e@OdWMXSY?*lKI?S1;zXC!eHZ!jcMX6|)q_H~XvN4e zA*{iReAae1cd-!m*FYw3yLxOJE;THQ-xLf-MSC_{2qQz6N|#HQPq&+{l&+TU2wgK> z3tf*PJ)8R|he4*Z#3v4T?{5S z&{TqlrMZM<4s@eiakUV7JdmllPYBbWZcJ^-&U1D}<4MLQV~h}bBG654VWmPC3y>+S zQwYl&-JtqnvE!u7Ks34;XNCM$vioRZy#S`Tq?T-1k+7>2Y^o?1!bHKtgB#r3Lqa%0 za-X8BbH@l_hk!0kjTHNxq;iT12G!FwsG}qJLGm!g2!p2SX6WMd+w(BsWTgY2r`Z95yEMCL;9lk zDCIN*XH?v!e&>qR|v!-Kr54#LQFRIYytZ+LV}75cH}n z6v7sSu1ejz1J_@>DS8+*L^rJ7M^GRt-YY3uZ8-zeIv2uBn|vX38Fm4VpMx5`WQ3}GR++k!bTELkNvhg3UNZ%hJ(x~ln7x@m#&ts ziLRNh%aFSJ1>9>Fk+A|d&oXM3QE`c04M8ECU!lvQE2Jx;tD>u>You$U>olZ$-!94_ z1`gBB(9P1tIc%U1IuMYVRB1w(RConJlRNoJgs?<`%;aka;oM)Ioz+h_AcQ-|=_csr z>8xb+;O8AY4=>p(EmsJ&f}~ae$ZB*l^tnCWAY_y?0s#w^T#FXiK`O>y}#J!yx{YFulKwAotrO@_gfKh z-#!^nY(^in%NQp=oh=*s9O!z5Vyj^(U=bVnxT*>caHku5oL&=v|k?|F3`*Y5jvHPHX)`zaDQsL*E z_wm5~vwxSj(tRlZ!x)v-$fPq|t<>|*;rIi{5M%ADIds_iV6$~n{7J}vjY=AIHfA40 z(gVnG6P(}j#f_l7x@HE4`_ky#|SEpWkEib6HEJ_G0*3Tc+Q{ydl`?0)ab=wP0z!z2-<9V6! zHzFz8!rQDW4&$9pC+W9XSl={R4?emw;JZmh{>gdCce6W^i}kw}^+?96+uuP!Nq@$K z|Bl-FXH<({!@i!kZt<;B)$dJJ;pb7tZR)<)^0vg^?pAem<@J~pURB@MRVDfEP^XMJ zr$kgOQ^^;sOj55NUAfe!)V?uiD;|`5_A7bIeRr8QJvN4>->se;!-W5#+oqU%q)ltk za`otoPQs>knCtKwXK#r*3E%bG{`BlWz8FMWKT^m3;#{Ue<4#Jb6EWW6c0ai0y4tde z%B#w%_Fq$5S)uA*bhan!*9yAxJ~~b>sMtTZezYLlgX*Sn=bSa&P~O7z5LiEizwE#v zmR_dLpUgWmq6d#~{f-k-XT&B1eZMqg_ta!w0MB3j+RIqd{%1ikzfzCA>})OQU!Z>D zmAp?cpV4vYZi9T*yY3=r7VXCnbJhOZ!(|wUgZjVBZI-fMaZ+L*M~b&5{Z?&%#mPK( za6#d}_X^){ec+7>-62zZXB`0Ckdq}CS+_$HC|JP4w>kDe-YtALvx~+Nv@Y?wizI%h7KF|%Q^T)0r!D#C0{5?FD*AP2L&PV`RQl`A3g`bUPdU~HA?ZdR zQ%gHnu3qhSsdFf!_R6xWuEL7$jo*9fnU|ccNs-Hsk8%{)8!^3fqJ=8&MQ2l{jRbEL z7J>OX&&uO-u*(~@0|&oaX?>_}ecj3M1=M4&JL_U&7vx`}-hUm-NZbN-vfB8Dv(dL) zUGj#r@}l5^lz1@SkY0vIDeps}dU076g}JXgkY~_=tjAydDlt91O%D)dtwbJgBoovl zZ#dgyS1(YfsEjxBmMj0HlNjqP@FA5s>8x9m3>AakU6-ggH~J+EI=eUeYt`2#u~@BN zkaL4NI_YdVU%!U%Nwj4v+O#nDCU|c?Zw6O>b^qSl6MC%(YvI&LQ)m7a%ksi$cADDz zS7%FJ`hrR`z<7}K!M$Zy9jdG>J5=d*JCX5+QM+z;4mOim6qeawJ+)HRlYe!RVzZFV z8;%&A+f74mI zR5#6A@^&t_)U%g{maB<3oz<((Mv7VXPS0AnW(U;rx17vv1xWU$&bi>jHT&^+Y`r}{ z-i7M^#H)4Ja`hj#C9d*wIp3x3e#_Yzd%=PRT&Ui93mx`F3yQv2ZJok8Ukv3f8=qAN zr<^SpU$#J%fGZE|uPv)Nbg=s1zU%ZNhsK$`AT&Zh-u*gE(Bq3+r1g2^@y7fM%hkod z&I^4}?;z-y?f9#A6~2fVZzL}V<4w3_*aLB6uoPp6u=Eu4=1eL0Q03u+)nBdD+q~mm zmA#EcLr)K{xH5I~+t|6-qke`zv3nO3QlVaY+u7(`CG}PBxw2AESZ@{5ZM<3~z2mH0 zQiTw26!tGyOWPAyY+i!V*1H}K!u0awj1M@XF<&@`bTKDpkF>5wtT(y7uD*K=JFaz5-X7cy>gX|NA9laCPCKW3PCrpy?@)aO zg?p1qw@+_<{%_l&tZyRTYuim=-MeRC`O)2{H<~5t-f8qg-$pVftJ@>rtlpS*Hpbqv zAoq9F%6FYD=Qcrkt-TfO7IoE$WBGp@5^3FrSg*onbu)_MboFM#i4*1|>y8Drx2RX& zbykL3p!6u{Z9aB&-BSoB&OsanEvTtg#~*fI?Oa)Qpz?rT!}ad6yCf_;hQK6D#w5H8 z@yBOvq;)sGdy8Hh`iiUz{!2YOg}vJj^}$r$DG@(ju97cYxz^XI7R@+GSKW_TZ%94<2z_)# z_6q#~{X8s|zrq2WKA7;j*#tQn@xCL(Jrqemv-R>>FW+xKe*L}NR=&P132LM~VVSR6 zt$8PJt9oT}*MG`K zkbhK{eS{6}lT!RgD1KPo`w>cdTIIcql17%Rb{j`9&#F^qoxH`*%aj@I-81W4?~6Fo zr^f&0d~eBk30|0mvC_i}mOAoxXKi?`KE%}@3@_soEvy|D2zStD+T@&wbpV{az~eyH z9rT%wbm2^x9AR80wep2^8HK|79)V*0rY1d%E;6ro(yTLR2U!-bEb z?;RJ`4Vn}_2RyyN&kBEx5uVqq$Nz`;MCs03|AmYZ9>Vva@KUgTnWY}|d9f7XB79F1 zP6uZRuLb7{uLA40De6H_-6G*3aJWRiG$655_#JSCa6PzMSkKp5Vcpf#2@k_J2;UCh zBzzZqi?E)eZNldvro(X9x)KRpl5hvOM_4aR{ledX9~91j9~Pc~9~EATNjffk4g92V z7UHLce+NG+d?R>1!YqH5gD+8-pL*Dh3^Bs@gY{j&dbk`PeOsU&>hRGww&>xH_~@&J zdZ7am@-OG^h`1WzTx;=;?J=^rD zph$O-)oqBha^Z5-`Ts`vS+3CigrN$CSAp`~)M`!Y@qatZ!#iD}y9`5h4A)(UZg8a4 zKx$-a6R5yV)m@397N+VhNQtCRwB~vjLugNeTs3sz!hUiGBnQc3DAXZ>Lh83sneh$H+6nh3hoO-&}HFf|o)nVXuX>CXE?%flt^ zcm0M~L%EF32Yt>>Eg%&#wFvZiH?^2l!qnZMFSx0tq;jTKfWGLaR_ReRSk2@b(B*D& zE$IkT>p-P$YCWlesf{50YuQM*$NZAI-G_1fvMXAVWT=hd?VvI@wS&~j)GkoDo7zq4 zVQL>}kDJ<08er-mNdNpX(i+m^XmFUxBcSDO@+fJHspFu%Zt4VSlBrXm3O99Hle#ei z<5=m6IS51Z3`Y~(AB{!2-SJg!Tr~bSt5ghVpX>DL14BWk>bvK^;-)5&l9`$U+Tf<9 z>IrKwjmhbttKH-*QVvsf|Fhmr%_r&Jz%)y*sMT(&UXQBPwUMEWUHTVEk?yD)s={{@ zu0!?Dh9ceH>lmtKs=hn8#!ao$q~4AUT@uhE8ELiS|DZZ2Ds*(yVOPxJe?xO1Q~Eqe zk3at5)JtM-=1HMQUqIix7-?0*T&K>qQKG&BFVbp;xL)0DhmHm|x?&PyqdKq%Be2;O z^ALtCY%5F^Q6PO24%T{73{&Gk`i`1NE2ydWuZu!!d;xv40hV)^)78m~Lm7d3S9Czs ztBbVI7ndWgeu$gYEsN1aeQ7Y#nt-@Py@80W-*&|ugrRwmX_19P-6l6RiWJ?u#~-Tn zh5PJAyUG5J{Xh2i?OW_$+26H)ZTH)^+PB%w_M`TI{h0kbd(i&9{RjJ~J!JpUe!_mz z9=4ydpSGW|N9^b9=j~DZ1^Z9-pY6ZcFWTew%l0ewtM-Kbn*F+chy8{<`2C?RIvHeW(4Owz6C8AJ})>ciA7=ZT1iCd+dAd zcKbg2NA`c&9roYszuW(?KeqpA|I41YKe7L9e`^24?zDeu-*5lS?y?`SAGCjNciRuy z58IE}J@zl{Ub}wLjf>8>X;H(XZ!NlI(RUVochR>OH7&Zy{;mDE{j5D^zhu8{r_R~G zu)n#eana3-POGgvq7RJqfNtH2^zF&^S+$tMXD*-0P#LWe3B7h~sM{A41E+`H)cNOC z_m_5_);qH#v>__ul?=7y>Kz+;&srWz^hK1WtNJ}LA@%iOs3>A}x_Y#FM<^l1rYbyk0yi?J}=*IJh1u5I;K96t>P+n9?yHvnx8$A!qm)7s{8;-*84|# z*!;P~PuDYbMXG9#4}}u+o|GQOw|)M9HZb+UO=?)@U2hWcKG(aS*vQnRB`SSyOemp4 zQvZBbYELRt-#uCRQqn>R8zuFDil?vM#MCCgYSVe^CG{KaPgQJYYQ$nyGl22+>iu}> z`)_Yy>Yw7&zpp{7&XBzK96kG+X-s{7tvag$B_~Vj$DNUjPi1OmyeeLa@zwjddMLPa z>F(2*`Uk%%d>r)#O`}NH!k0t$<)M?)z%FtIaN}>7%J|{V(PBV z>b**|>MTk98qNx2GxhJMsqWumjJ(tzeEH|gPG{=#Y3i(N(W;9jZ`aPazinsgX<4fI zDwK@Fes>uA@N>~QOr2b=wroVJyu2B67Yy%U>US2YJv!Ar|AXA0IdaLCGno3jt!l~Y z&{rZpI#u1XFDBI6x;m8N^Hr$doD#~8_;-f7VN+U2ElUioh1H z5pZ^fO4^J7yeV}>L{f&D*^jkoqIO60(v16OA1h=nk1C%Nx-TMWn>uw1!hh=^ylk5q zxen#c;R`NVE)Ai)A7`j%5YSr@3T=ysSed5QoQ7||Ob#_fMU0?+|5+h*`Fh0ns%zIH z{(?-Ek%Bs&b?~+gsQvYAD*qd( zy(n;2w5r(eChq_#!#~_;s>Xz+fPT*hE3=u zj&4(*=r7;j6nZaWew(WK8m3QCdl;L*Ln#|zTC3pF&jUbpX>vg>N%URxORBy#Cr zKON7t8M&IHd<)Fu+bt^@H{>0UxdW9Y<32iLywmw3{;;QXi@v8P=Ltc$nrd~QVD?;j z7$*l7=F+!$=AU5nj$Zu<<_gTZffLN2ZcwZ*dqErDN46QO5tj~YYGdiXpAN_co z<6}~W_6&5NVD@1#ddM?6*PWP;GwUDrlw0)v)3eeaInh{Fa*wJi#AxOJf+<+t%Jv?p zN&h8{ZrGtiR@|eiyD$_A{}_cAKXzj3e#?5?Gr9qHVP#MMt!Lc&ae1fwcPE(ZFe3lU z9Ii|s^kQ^5&!Mh%{Efp0Qwu{)3Y30K!tpt{ZV`e`FgK`c&kx0itv`5SS5;oKw-UMa zPwP!aeRqW}ZwBjyF?j!Y?e%3>URgZs8MobEIZ!h|qjTJkaT|Ebi_zw;lQ3(a^^A96 zx%+(fR5}RDtv+|WpxsRnrcC(> z>-<5iKFu_8VcZ&^(M{5~8%~^H=3$fH@LHi`lF+W1^;oNpPjr2Bqko`x+&rY$)nh8+ z!qD1{-Tz#e@+h*`<3|T3*1JX;H*cv6FAS{-r=voXWUh&#&7XKi*Zx_IY5u1R%?`|h z_7lv#XihRpG36YptUkD>0&S+z<*Y$WIqoX=VvcBu<8z!9HcEff$Ew9E)xR+oIn7Mb zvtrxf!<8eey;#>Ez8McI6jdbioA$yUx2fe`m_sXYbelU8Dc2(EnAc_FGnM zQAy9Ois>!AA=JOf=f64OTOoXs@JYsJ4L)n}S%*&wKI`$>fX_yJQt{b@&t`nK;FE^W zsra0R&sKcW@yWnv8$Ox%WZ{#I&*}JV$0rA$9r&Dq&zbn-;**EZS-lD0+S#1*{{SRz BpT7VA delta 86433 zcmeFa2Xs``_Q!u`5)v?hR6;Uy2}$S}As{GH1ENHT7z7cOUIe6t4hjxcK%z9|pdx}; z@QD}|4FY1o0wM}1cBENRR6qrk_W$g2?ww5Fy|@1F>F@dfujQGbO3;fSZTsi}R z|9zF0%0S>RX!Fnv{N4V4Z3q0j{X=`>|DOLn{{Pwu=f2{ica0UW@u>JmM z2L5jUzqSMZ-Tr^H2mi77e~!O4gaMt4zbJ9i4w!2A%Q6sf+TpLtz~Alv*LJ|a+yAfX`6k`J$NyhD0sVh? z{?A-?z4d>71^yR_{F^ia|K}zAH;I#W;Qzjg|7`{W|ARLEcNzG*{r}ny_;>sNyWaVK zulsxa|Fsj)-}C=py8!+Fa{j;KRA=i?x&nWeqyN%R;7=>bf0u#4pI4RtRR#ioQak=v ziIet!-~KHwz1#ZZSKvQ%GUr39#h-Zv{!C~8g|EP$S(=t(zqJ0tEAu~zFzs}sqSK8$ zwR6i}dv%BQdAaTL)TV){$tv&dlv~uWO(}ELO}C}aP-TawZdYFpNqwhi?meEJ9+f=X z(@D)4mO8QMk*S_>5k)6vdnR~_UYzUM@l2Riub!IU+*?&GYwnGjxu&_7D~v0gs|;5J zS0qTot*JxGHfa7p-ZY(&zEyOB-F**nHuw z-(Badf;V65H>-BIwIEDouka?tPif+@4%f7-p?y4-d;;OB$Jz2pacKnm&h=Q+<{5d0 zn!CbVNi{oGCQ%ihEuS3u(R`0pWr0T>c-)&FS$~1Y8cN`~K#TOq0D&z8>OXcICYRaLL1@R`P>8YcG}S_k^Fp|zl2s40h2YT{~_xN3pq8cj_KGmThM_&}xqfLERH z55}bMvMS+WO`rCt=2NI#N#i;<(1pM#Hz1m~+{YMI(!7vtpB#(2@y)Ino4)1P%pRD(b#Hy~9rAv93r27G9KbpmCw3B;%oC#cN2 z(CbvX(C49(G*$VHNUffVJ4u$(E`~P>;a3@+cRBJKgxB=+Q_If+w;7F;jt2JphG@R( zEe4B>rnn872i5%F5iJQ3Jz}hun>ddf_=oZRtbrE|tT(X9B)G-EyCSTrVl(mnf#HR8 ztgz3Ya~ds-q9xqF%U9Erqz;^;tRk?rpo&WOAg`|Fs(5^A`29P5wJ5OIDV^b_+OWBi z?7x&mt~7j}@I2)S!@qwE=_+S3KDYw$KaKH&g_Cr#7hW# z?`p;qn7PL3Y|U2(MX^C-VI2c$}c$@De(OS^knh?L{A+{U9u8_yXs-j zL*_pMSqJI;Fr?Teue)TcOSZdYCq#SR?UGMi)m}*4bND&vO1^R>hg`{FS8~La{Opnw zuIiLa&blg3k>j}xL}#_ED~Wa`F)m4PRh1w*t3HS>X%$ye-IdgFC0VYdkxQDos#Y$! z+Euj|@>pgKuPf-{nsjp|yTcfT-7p{JmIQV zxsn%L$;+;!*pcRrx6bP4>Fvpi91X$#*XK5u)4pm@E0!CBM1kj7vOg z9nWPTx+TiFq=KtTa3z&oVncNGq`Rb+OX|7gGM6-m=%#Jsl6DYXoIHq5w6jZYa&3CJ zq#vYJ?H1|r;W-}bwzVE>m?blnWvz`;`=_@^id-_=vhJQ4rp`=nkzOx3!m{3t3%9 z+`u*hA3A}EUkF&Wiq2l-d#{YAplDaD?+6QH(dLT2s2Fc}m})h$Wu>C8tN8|b)vH@$ zss&HqDtcz1mt(%gV$|mq|I-k-55@IoZiMb7FJm6jUoj{Vi889=h0^ z+0(176xp;58m*Y=pF1WZo;JR$H)h6aM^b17ENjl>lR8+S?VGlWjhRs;s2BC=QtHH* z>4P1$IGmG1UZ(53%${W&nGDRyNi0zq7sjlO>rsNFG-sZUc291#flg^m(Q@wTTy3Db z?x~n$RlYDLDv)^Y+&Q-vbPXlP%*dn3r7EP>Oyt>Zs`bj5BY&n9r{xgpnzN-%wLJ6~ zN=VmHn`$`{%FAgAi@7IUyD?g7Hy6d6@U0R%TVgks*y@3IV|<>~YR$Vbbv!lIzIS6P zm8p4mn`$-Hsdr=QrI;$iw$<$7oH?C|=(Lc^+YytR)|$*8ax;-f-aO(x@6h41My{r8 zi%E)_mow${tysMlQ$_Wz5#cL(yq53ThTadns^cZG6^jOU_wDjT=S(>~ko>lxq5G-W z>TwmDPp{Th3ZM%-y&4k?MV(&F)Xik68tD|-+GK-9Iz>ehW0kG)=EtN28l#m@&Yb&< zv!H`nvk*IVJH48WeCb+(cxmc2UbJ{lc3DZNmY5J-P`6WF%=9u?A3E+RbjGHw6~IL! z{^pjyryv+F&!h65^R)`d&7A8;{KgXAGQC=!t>wN1L zxzF)mpzB4;@hQ%7?s4;MbUAb8OV%QC$dko=+!sDOV2PbuC9`LVp61oDUFn?3B9;0p zE4b+(GyTrlIb{#ka#biT8p`VkH-|%St!Y`6Me+g2p1&-Ou63vP3pV_Y$FpUOIE`+?&&@ zogjHDhkDkvC7gPebZNCD3A#ycsvcKWO_?8))Z}sP$;lllOH8MbP68i05d~vjDqHB8 z_FLYpHq~0H-tSaM3iPBu>D1~Mi;&^fQc^LIvXk-Hj})eD^5pb=D`#4>t>nav-G61n zFn0RjjL$++mRYp4Ga2u50y4K+IZe%gikb0LNR;z>lgU!)-n2W!TQndhg2Ew7~Rg#bQIfi@nr_gk$bG?nq4+EHGNrgPq1* z>sS~(zlu$JE%?`7rj3s#nZSsDZ80aOER|Njxb{}M{hCs#nMELH&OfQ{HWbAe-=|lK ze^$%E%G-LCxOGN|RKTHMsJ-K6ICx^FUn^alx?G7$KL4UF)zO17>1xBQnB;Qbij|BN zHTxT1dWKtl;=majy5I#fgLY4U!$vM!z5k6bH&(hs&OM#0<%t{Xkfo;l5Sv`rTe6;* z$wCs)rn6`1+Mn|JKq9_&YfP0kmQ~cOr|*l-Md#M|T6h9e4(CV@n_ev+pc*AVxw8xO z%pi+OL&7<;o%s@ZnuIZznM04I%VTEz5+aka#8p;0ik|al?7Bdkr{^K@^esD%5`QLc zp5D%gHkY|rW_4ZGm7bUxdf}MxZ(?XmawoCcFf=6hj2HnuyxwY6`z>jIDW%NlAA2md zXO=G|Qy1$VGww{)PXCw5s7-hJ66(v4#goAQo0R66gc`UB%_E-EhLR8^)pIeK)fQ&e zkt|MDgHOI8hv|?}lw`y++Dod80SrVsY>A8`h)3NU>No~;wzQooO z+sw(W#vkL6ip$m&lv}N_&Z7(wlkv`uMD`}qaoC$kMOoI91xI`ymAS_Eeo@bDzWv^! zDsTC+J?h*mzHIgCK3`tZPltUK!it)|Om8Wbp);j7 zHEpV8Nhr(7;zf=&J7?Nj*@P3J9)EN1$u)M_Dt5lFvg**%?^l5}zKa4Ut(bxpPF^YX zWQio(%v!({Cv)A1jlgi8g9*i{ibDGVHauHF3y``HA`bh9H-g+uz1ZXlMC7Jgr2hI>uO7qGsK>v&zD=;IAs^zk7uyQ)ahT3ix4!}%mtE9Clm$=#% zFr)pLli*~n?LaS0(QGd4kj~b?ELS@NX0nh-_wi}F(J((O5N=I?+FIC@BM8%W9bu;J zdcaJj*P?+dYrE#KRL#!7s%ZAo*d%Yd7q3t^EXMqC~Z_to>RR3p28|usS-C8(|k~_8}}& zv!1P8*(njnXK{ZV$2-Va83nt1PR&jRVPrE!?PuB8$Gpm0byIq_tgOmuWT}_Jyv6 z(J)gBZ@@0s+DqHHtUb)c7!SKtYu|*K)Q+{|n8HM9(B2iQAbSyJqJ-tT+7>}}H|%Sj zg}E@3g(8?~?bl(Ab#g5k!$);%kA@x7>>$j{E`h!sEGt?YJ_{?W*=sN}>m3TRJFj!? z_QINIyHi2dCePKzcXT^p9!w_saO+0cK+XEVoS6j1K$ZEg`t>{@)DE*@5t_Aw4bxGs zgI%myXIP}xZiF?{?4uw%1#7NlF`Zo217@;%C(IP-8JHO*-@^hXhsU7Q37I(qGdaAk zvupSs%-DSbGbQ;FX6(lCP|j5AX_#?6hz&{$otY`HmYTf+GnIaIS9gSs4%}o}qjkb} zz)TkIf*IFUSQm|(%VEaNTv)btSfQKCuJ6wMw3hXQnWgI`SZgiY3%gRYDm~l`-qX`C z=D*LOCXruZCXxER+`N7VYoj9{gTq)?UlTz>M94LGAajT&=ZkbG28( z=IWYm2V)AMv2VDI@o%bn5<*k<44V2{9l1NKgJvUPCXuIL*J;_tpsdUg%UYlvM#GHj zN-*R3R+#a8_fV!_Jpf;X=|w$YZG#%uXJC2Sbz{1|$^W%5qrDGi5_t$_5_tk<5;*}g ziP-sWB5h%2=g}i6Y(nlKZk3(O=u4`%Aa!L^r{V!>3?fw00xR zc-bG+mLKcdb%&YcM#7BUTo`G{{P#l8aDR~19p^^55@w?Gf|+auf@}rMWabmtjXE=B z$Gd~FGR(wn0yB1_V8-rVSfHzpvLa~s9;~C5eG`;bn&3Ljgc*ljVJ0)>w-(mOb?&F#0_W5X->GNA)rc4o&+)VpnCXvQ4 zqn!jZS$!vHchIq8{!6*jvP>=1g_+1Xu$y!(bPvkzg_)7RA}BiuGqrUhD2rlFxmm|e zgBgDfgR*Oavfi+k0d4pi)Kt>PLG@ACEn1r}+0B1TST`*j1T)?7E|@9jhcMF}zlWKG z%TIB&O@b^RW_rLQQ-TSvL1?0!f|=eLJJpq40y9242b05h(K!b~l^4(k{u zF+PDAFDWxD>mltW4c11pi(z}blt0|+1T}8P!HkXVndl%#181|m&8jgh-!-rtT;TBj=U8Z9&Gp9$+a_u_7 zp48d88D_H8A7-+(0A|uy4eO=7d;#mNS)kl(w=?9xOegFPGg-JDW(*$=+U*J29Sz#~ z?zXHx+95AxT75Okff+B8V5T5X!TM?KZWslT`R`EBu<0B(uf1R-s^MnW{Iy%-C3XkGqt=3+tf0d;v3YefKi|nZ8^PYJ?B5M@Z0yZ^05Z`yFN+ zR+;DK{|eZxT00nKvNaiIygUdqmHr8=qqh4osEwWPYV!h6Q#JEo#_(~NakDw7Jqk08 z6S2V6R)!7Gt{VhpZD3}f`!>vEdOyt6%k;xHu0liChlxlO`X*um^o#6XF22F9J9QK@LR7; z#@DW}tY<7?ondA+>j^Wn*+H18>d433Zd(s#vd{)*lIsE+5GGy*2W2y0rlWrdGj$pG zKB#W-IJcZSN++0cGZbc$TMg@|wXX%WnNPU)L49E+3*%uX?&6?!M^O7^P#edLO%2NY z*UC`Xh#6=v)P!HnIVuz)dq zC}_AYXlVVzHLM6Tb~Rz9T5pG$S+5|dErOX|@lB9bdfJs$gP9^Vftez;2|!Jm%CBMCf_57nJLbQgP*bL=tKBj+ zf*CitFr)1qlud;h*ZW}R-uVQ~Of+Mjb#G1Yh8ZuP!_2CZUg(}B)Pl7M=$?Kl)b#JE zFyrQPnAuF9dEPxPSo(sS!Mru@3^4{~*1bo9vI8(P6CQ_|EF{0^X8Jamne+lLlD<*D zjL;;P`jTsS4Xl;!^S8i^-3FLh_i~He8_h>yrgZDpS{C;qbmdL3HkxgRnZiwY*`2B% zhv^9}V6|K4Ivlj#vI=yRe3*%R2h2oX12YM?+u$a=9yVNO@I6?*W-+f=*6rF$63lo> zhZ!$ZV3V|Vmex}KaBE>uy$?27tH0K2(H;$I2X5rqo7N788P~VNjO($l^3+jlC&7$% z7R+cz7Q2mDag*DK6E`vbO_|OiG)DuoHoJ!7Uvo>`=XJM&zk}7#qfa0W}@W7Ob?zBlsySE!|o@TNhExS8>7rl zSKA3@#?Xzs+``k^bk;v;t)j0-?bnLdD-6Ri_4lm7-EyV}mMk=ji@Y?NjzgW3}? zQ(MuWxS6g2GoCxajK2byS@)JZcFcb-1r7HG4Qqbt*1{DqQwsxO#^L)glhx$UT)P`# z<`i@zEJ0^5dygAq_g=Tp9EbJP+KheFRzTAhP*bhJ3Tn>QpZ(A~4_g&Eh!VW#4$eBtK$8klM0F))+q zO)#_HIRP_qGrx3iTL!^Q!s}qh?i7p}OP+stzv9alLap*JGsL>UOy_zLW~$Zx+O5_@ zFyrw0Z(Lc%Avascg6!Gv@fs$cuQ=@bn*?J*KsFur2ICJp7itoI~_rptAfHauyif__=KC>8Q2|K*5jmQ@p3QOlDA4HX*TsYSNkEXoR-c0-A(v3%*dWO zWm$J>?E#qS^3R{vab^A+aK^GGYxP?&qdpF+tYuMW-G`0SJszhrcfrbN?Fm?fW*)D{ z>aS}d0(P-xQLsp@Z3Htt>NKo|mR%R-u>xjC)*otiWW!-*L$)7gdh4$+Q<;a$c$`*D zi1avv=wg`Bj)EC~vth>HLYVRQJIoBbn6hq+!T{7nc@t)$?1Y&p^~-sjP50F>lgLq6 z1D*fMysj`svn-gAbqTTnjJK+(-vvQg#VFS<+hNRqql3boK~|Ypt{vAf$90eeV2f%DZthgX{*Fi91karnOa2ol(J!+z4h8z9q=+46>(S#?6MH>~N6Pjdfc) zD$ZpM;$1cZ7O!jO-uQq=zemF!2w@Z5X+DRUsy>+Dah_hDgfU4_nP*_;VPn-qzK^Kg zTn1x8K-&~%w7D<_KeCQNS%27c9b*KHaVhiP*r59Epn4IEQAXs4g4$iM89MTD*j<{{ zspzrBdc>|iY?NlrU}g@u9(I|w8xJ#e`Am@gs+peuGLu|&k04tOGm&41J?fQ2-h!FZ zeGW4vIRrCV{V}MGsN}I`>V#i_nZEEQ%w*wkki{f>0*oP6t^a!{2dj{FUAlngS$AT=a zvd1DF>a8ZMjc(2cFw;2K!e*KMUw5dyV!!x1s15KBd0=5!fk@;n}TdO>|$*=gJ1djO2!0` zinU-SgO|cg26JJi5kG~QW;y~h*{a{bWs4gG=fCX;O}-8W)vsRaM*aY1A}2AH4C@$V zAHhuAAA+(jja=Cfn2E7E$bJp7z^#|L>XkwEWsqesOikqOLH1CPeHdhw8@n~r9cE%Y z5@c@&S+^@Z&b`qT7*7}CY2y{pdvvw#7FKj*i2wR{_1L9F<#!E z7jbDtEob^K4^wOI_TN$TaDl&iTwrQhHqtB~)4+Ie zI#>^!0cL|U!JENZ;1KX`un?RB%6&lr7{+Lt4>DO;3&B?4ec(;tB5(kxz!T8EJ5%%C>dA_K2mhcQvYk7n?8u-Zis|F1Z#jFfwC3f2TlMFfK$PP;Jx6N z;6m^#kQ)N)2QUVIKZ2}N)=^NV{bNPrmieD86Og-&me|QX#Py(T8fDDQ1vi89z&JX? z0`N-k0dN-hASmxHJ_26EwTvs1>rpOwr1m(M9GX4BC2^nRdWLHy*E+6MTtCVhEyByg zEo(J69()$O4}2bc#*se{zC?HQ;1+yF+Fv8-3XvEW8<0ay&K0ylwM!Oh?= z;A>#{2otUz!5sAlf;tEUTY_7_UQW0_D2{If-v+0F+reT`O0XB)4aQTeAAp^}55eK! zN8sDwr(i`|^)s*gt6}Scb2HXjL3!ViJ zfys1Y31@+a!5$#hYmIlp^T1yTZv>Bn?>phZ_mGnaj)1>|zd9IxkqM_eSOYwT{$dB4 zIC!Ij-N4i6dpnr#;5`m50MDRT4nAQpV7=xDwt{CdH~=znS(T!gfxsG|{7gU-FaqoV zMuL67vfwzd95@HO2z&&L0$%{5!7X3~@MACr{0)o+%SH>v^7^YL^Z_s~yeR7_|I#w8 zUZrbSAS1t;S3fv6lfp380z&Ak|ZW4Y1+zK8Ao2liVrU`0DhX&C_b)WUO@wASm zYzb)ObfrER4_*c)f!)DM;20-76Z8=-aPSMzAEt^2$NSW~h5lLP3P^^AVnXlvoWIBu z_<^uw_a`t1l$SE)gymPT3wRuy1fBrJso;E2PTw8@Ul8Ir!s3c zj4t}|1^;%hXSAB%wtj;52d~=slD~!;`%OZcN?qrV4aj`k)0WiV^~PH*;&#($9;@&0 zVWUS5AA+=k)jDo%h)so{&9MICM;m={h(5^*iz8@0);?Fl(D_Be zdKh7aM$9APtCiKfjecK~UKqSuSU z(&jRT>Va*+EO0Q`5R@fLa2a?RD4p$ckh3xUj&Us2)P(RgU^B1-DE6Hk91ON3EPMS{ zvYgC^v_|jozP?5 zIyAKHa;m7^YyBBs@Z?&5YNTVYj%FlQR1IGCukqAU-@NQ^pL%1OIJ!1Yy4wyt9&Xi% z$b5BUn#x<}&&Y6Xq@#Rj`t`{E!<@ct?C!(Pi~U*$_ZVEX-k;<>o2Gkb)M8A}>g2}i z&Y3!|L{O@8a_eI?OjkqJ`%`@l(_oz zR?@pO)VJ&X8LjWmkjVKFlJVMlEDahaU0iB0nTVnKI$A%pPak54K33~h?goFV7k@)G zP(X0r27l7cr>cryv1<``v5q&O|1ceH9e0w<8~q32CHldGhA_j3-yMG5_>{t9gZ;hII!0pGPMomd~qnZ*HUorLL5<#gEcOxdlYpO!=0qzuRRZAUt z#h($`N`{*?+0@lg`dege(>k(OjI1rnq3XamJ0-QSL=YC5(W*qstt}H)Y9Lofs2XdMT8484vF*Hx?hcN3uy~WdVob1Ul8q6< z48Q9vG{GV0S6yPMqlXhyA|ZT+m?3W&jR;DWH3j+Cm#DnW)D4)wnR%l@UES@EVBDat z_}FT?{kJ88Qq|uX`K-EX&t|_ba+Z$JS#A0?p?X9|oIh00H0Dl>9+Dd~tE0)$))GOf z97Pc6oqB5CKszb57@K!=q=-^Bl45d}DtwJxgF9cNAx31$Kue8~&M+dYDE4*#?cv@X z^;N-El;Fy()GWB&!6RG!NntzcTdMab2}wKzu;6^Q>NPdJBy63(ak!U#+nxrh*IOhG zPJRpj;F7oeHCpd!AU^IbCoRlS;WK*B(Eg?ua&t~Rk%j6<(npPcJBXj~ZT<|OYZuzM zJVml@ZK$%h`F)q&+E8NsR;n4^Mlx5+%}!{(-Xje*lb_b9dE3bI$VRHr!JQ5s*+#R^ zZ)9dWOy@V^kF`oSd(_7vf;fLd#faw-Tz9!R@zq$XIe)C@^{l*0CpvVbNMzQP*1+~i z89OP$M+J;)tcu_E`+VbMF|~Z9T6HCoHyTSOB9>{YVz-muHyW!f!MCqadE042aI}Mq z9o*pP_kjMluOPBjrPN5|+}Wzo#JYceVv4sy6P5K2{wg#n%6rFOC(Nswsfjyr3@+PA zV}cuYGNe^AaddTTXd}q><;iC1m!19^UeMl!Be2;ne~qvwn_23)ODa~Zkzau+rG-S6 zO1N+d+=`Q!7HZipYQ0elwRRVYgL}joc-jf4y=TJN?_t-j#iBEQe;H!7YoW%YY0^%o z5PreNR{Cz=mL_#~cR|lF&7pN_=X*4Pu}Lr01O-I)Gr}%8&Rvp>xZxZluKVJ#C7nCJE z0&EIKg0iJ83(9R_6u1Pe0B!_h!2@6%cpQ}Tf=J3-5v&3xft)W|mB993GMERZfU;Kl zL5_|1hZc~z2r|GI!K&akuo}1*tPUOpYk+fEKWc%`fVIK5z>C3m!Aww|h+YE9&0t+n z_SspWyaCb(JO^F|hI6-kIheu|HLEcs)e%$$#ZfJ=8Q27D4t57yfPEYs4YnjK$2uZ^ z0Bj8|2d@NQ0Na44z^lM8j%ls|qri6H6<~XCaKI7BPvcyNU@n*kZUnCf-vZ?b=3TH0 z7{;dZMlc=h3f2H`0egepz#(9Fa0J*3TnF|B-vIl7+ra){7}u>_fpq>1;F9XSjjJcu zV22L@<=jWE$GGyjKH(a{C8u&DxejrS;YuybVHJ22I1cOwjt2*UcYu?@iQvQFo#2mP zAd>d~4Kf*locl}zE3%qQ2OEHQfz!a5;977N_!>AH+zJ+e`@nm^)8JgNEvGH>zzN`d za5}gEoDJRw&H)uz3@(nO{ojT>fZ!fsg6qLzu-L(O!A*qsfSW;o49x?kfv4V_ z{C!YL{4pps@;N9~co5tUegkHJ=fE9cLM-QoU{mlt@CNXG@F){fGqtOEvjkP)Q-3dS z&1+Tur%a$=!KbV(VBx2%A>FQ3^Hwm~j>jH8`BqliVemD`xu?q*s5yW5cJ2AQp0mtJ z13IYe&+rR&`-}y0KnJlsTWST_gx&lOD(|4**CG$?d~LJIBkQ1?`_Pg4$Y0qU3u#Z)A~X%8&qH} zD7V70j0rvhJ^()Epd5=mL|As>OF+3Xl*5B5;4*LpxB}b&J_a5Hp8$`6tH22P!m>=& zHMt78F6WX{hml+_aE;@7iAxd{T*_6%^{jKP0bdTe&84(Tl+Ree|MZ9n~xeAM04OYM(#Cle+MFNpESei9F8nTP>suuU9+w z(`CTJ`~7u0?j^r+h`JA~;$U4+Uh`=S%97R#lpi<92fqfVgYpX*iyisH;CFiO7Cx{sOJy* z6R($JA<5`2um<=ZD1GjIP%^q3Tm*gqN`L(b{My0q!H)@h=@}AFHVU74)&ADDPo23q zGFr9x!k?2mtTSeO^Gx<=q0JC;6^jkQe|*Sbo2!??QoxIQ_GEJLn7=xV9-*AkOhc!l#RnEkPj@ut13r$>}P&T?rm!{>%*fhF{KUP7hsrxA;3G%FzPsk1IP#K3ZUGE0btMu;@ zDo1v~;im-VALV8M1)NV8wJA_BCAGLjP%4GbkvF+T=in)8QW5ed!d2qepI5qW4X zN>0evAUFCErb=?iNsDfl8gVcoB@)6X$7Ev})De`*#t!65yXkCHU935OtR1DYF%!uF z?aWfITyLjDn!rqT;3t2@sChvx0$F{0qvE3jGRmYIHsD%9uHdqxAN)J$8r|k(Ag1x~@+1K|0<$j;BK%# zxCa~{Uza@q5l6p+w}Ce^7s&zrL~tm$36#Ni2pkSJV1GUWyc`t!Ja9DF0~`Zx1jmB= z!SSGn8lC{w25$#Df^zULJLO5~5ZM|_MA>=X3ChNDGAR4CDNMm%`fGUls>rYWZN2Yw zS9xEtW`IM!;H4G7IEd=53cq5_0C!?v-nCD%qT>dt zb6@!@c^nv|>U~XUh-&+_|KilIdx&3iCKLK#saF~+Mh`XbYu41?d#JSJgi047`dynp ztXdWOlPZ^lOLbs5g~;luiVv}w%fSY2f5VatW`BdbT|HITZ&?0z^|bh`EY-1P8nSxH zG?eNE3%~K#X}zSE2+epiSsXRG_ee9(rlrxDdx^GHS*e;ax@z)A4j(;S&kD&}uk3HB z64x#XyK$=hw|>8ONiQ|hF2+_s@eMW z9W!#IX^>ta`q0@!zFW|>x0xR=!UoPKL8Xu2+vWKNdrNhudcpmN$R8N~ zoj;?+z1qR+dY0E!XN}dx-i|LLW2@XYZsc)-ZbIiK5Cih5BHH+ zy-PK*q_w-RUM(W>@dc-;lGM)W4Wl!7@x&@e*OZSeKNC!w=!CmsT&};${+_~sy}qYE zH0!S&MP{RG)}J3!{FY-pnP~SLMN}4w{o3IOeby8A9w|f&&xbNXJViUfgZ!^bbrFVDgWg`+?a%65cUbb^DP~ zwqvlwom*=6&>5eBA!_o~wl6xH2g89OV$<29mW^nd=zV{v+DS~oBjO2+{)uppVXDLJ zO_S4F$E~!P1oeh#>IHt|hHJkWy|9Us-2#5kzg?54{qxnbpYRTD5byg5du(6CZaE}4Vu`S8q&j?r%&r@y(vCB|ZTE2#G)iS2^{2L2Ckv+a zyY3=$bbNWjW5(O-+Ro_DFTfTGux7N{{wt6ACt|lo59BTS2FZ+Rvv(aIq6;0XkKwlJ z7?YpT*ub-oQyI@9-(uuZnaH=u;iL7es(+L%Lah*i9G{lih3*bj<+$G;^<@fltQhao z#*zDtfS;95tQhqYb6Bn%LeeBLeVbNNM~?X;yt(7l$zxOunEbQB#twD`1182x`jOzh zx^nV$51yRtdV49XWTG0P`;D~H#DA(EsK=4$$A{=cD@7`9>I9ujX%O|mH~zSYff!Gn zprU`FYn_^)C!MIS$WCd)@p^8F*vIC;dxu(fhn=V<{^GCTB~b7SGXYrm3q=EWI(Wpv z*k6r2%fUPc^M7S}>pe-$`qiHi)_W5B(Nzg45sjJ94+NyaQ@!9}8s2vxAbD+EYBWj1 z=1rD{P4$8_s?Yn24*MePio9+%SxpojxWvH?U`EQ+V7cSY?})jH99d0Or^VMtQ+20_ z3P<*lj`NLf?+mL%aKUh^MsM9XO`SZ!!>qLlnlC;Io+@ z2fLXw`K8f8EFT|`&FZsM)^99e)n|#f4@yn(3dxRHYRGS74J`PLtlc_WrA6Als10!( z$BJibuIUoXp&jp5-(uXi* z*h}#E{gMlf%N#6raKFJt=Zre-oWG9m`2FJSvr;?8#$@!)MJm5eLZvd?hC?Sy6mZ!& zT6WDMwN}F5$6(}|MdIR+X_EcKeO<-Psb8^t>$ri$eqDx&wO<~KCsi&9ml{p-R@Cq6 z{vmdT7no-!dFL&@f2ExoId8EtO!o(6%1QNt z#UAqh1K~UD)XXP|^MiI$CR#ev13Dx9`j28gmy9kB(W}_LO_R#Dj=N9GRIb;qBYwtv zjlU&cyM}~cFA1l_1W$?N84k+WFgqjFO;CFFLps5}I-fXeb!BY7_nKvD2)2Ur1ixD@-Jnt# z>J_@P45bEnzVGucdDQffJakJQ6;BIv4+-Ry2rih_S75eF{_rWOu3=-`>S{<_qhE1B z+?$9K_PCC!Z-Yv0_&G5!x|`Il2U-2PJ+3|-*))xgWTWc#_@YR%e(VWZkThmH*vrAm zk#ndKUA}_WD@M=;6w+Pl%+|K7dzqo1{akx=4s_<7Ksjq-L{(76DB2APMypwL4Z$q zsoD1&lI5#ac1zorx*eP4+U8uTLA@25_gAa!IE;K>>$mDtIJIni({S&qLcQgyE>FBy z6-o-`c(a1lBhF`ryG6-(xwLHD$fEWa*)PPav{OwJRa98jXjM1W&h@T%UQJB3ePvfX zFVV|-RQ4G?`emgg(3r?35o+E?N~t zH;7WTE8ESh4lBYm+lO}eQI((_!!rN)B%52Cq0p>JhL(yq1 zw(QGWtxQM};VgugIl@wXW-4aazAVP3pM@TqNbkA!WwocF{k!Ky^-&|cePs1@Vt7); z)v_x_4TQRa`Uo!WS0ebQwZ5!Gui_TsVP%NGRP$w2^Gl8FL~mn{Dy&5*Lk#Zua$6PioUFy~RypdT_V6^4!nSsov9hZrh`~U7&8hBtA<0+TFg& z+kB&H)`Nus?A3#&1t<2P?BEgyH}tSScrc z?TX&yVpW)CXVi3rddn!4;jsn|;whZ25DB}HHaU@E)7hWiT&yQ!!Q6Cvq-V2wHQm0> zd*db*n?YW{EC=&4>>lc(i|LRrXV}-IR^2RF_(4~_nKaF?=!&%JW|dZz*kE>5JLxiG zYx-a4H$P;yF}iO{HH7q<+|8<>DyvAYPN($YxSSE>Z&t-sSw-@-o_}L1&v(vNwP&fM zOgmOBs%AIyc6v=k*CHQaZY_?~Iuj2*MEE?z3xvz&9Qi7Ejb)ni$J!p!#Y-j*$s4xY zYuRQuX7WZl;#Vo%*J!GJu(Zz0v>TlpM@; zaEOBi4z6-=do8<%=RI|CZASl&H*slwr$>LpKKxnObx#&9vL7E?3a*4KAVG&%UMdFQN3{JO>LM+<6J5{Y=%X zOJ#kuO--!JCg!7UlIGM%we!vfatkA0E}j$a+U@$FJZKCmfw+r&h^&N78w< z)Q<3WB=^26at?juP;(ECjo^0kO$PZ&ShJmK79PCdN`pmPv+Q*qb?`Fg)H@QYN2#{q z%_^FX{OWt+t%B~zWu1W851)98ga;rY(MWUlnfQYj+#3r7zXEf^qewy73A+#Pz!+MjNvrNso60 zy6fz{g0AzGs@en>n|G`HCbaI?YDW{Mu!SF}w5HS~*sLjwnY!eG~CZ&)wh-1zDbMEL{KyMav8ri(0|CSrv7A~ z=ITR>k%5~QpP6?*vV%4mrRL6q$cKC;F9`S|hv+m8s#dM-%27^0wzl^#k5B0?d6K;j z=O$J+F8Oo~lMI-j2yX`7Ot>A`1Kb4m0_8pK-e4lw7nHAI^aE2t`Dt-^DW$*K*V?Y> z`AJ1yX}9%G-J|lZqF<+0q+s|D=LwWAH4 zw)f{M?JD~4F%`Iq;OM<-=T+1?c=#&Zg3&yy60CK#3Fm;m(R;;T_fm&nGHzbmD`%6b zUT~SjdwQQfTaFlw4!-AVTJGt6oLTz3J@+fSt(_Xyb3aEbPbXBYDbLw|+|M6Aa^o9% z+ujwK(REk(RiaXg7PPgic|5}ZeoWV~87F1~~JlP}eg_H03a{iQ{sTG|-Z zZ>rO^6!+S%f>T#DPiKAWnsFyR!~OiO)6t<@`w#2ezvqzNoL;N6fAAGX`QmM#Y;-HW z5`)42bd2PL=u5tsJ7~bL;UhW3C>cktkI-7Xm5i+T%8VnKtBlR9rN+@E*lhbszi1OB z!(^Mz%O(2l!i6{fP z7ASqBHYhh(b-=}7CJt|~Yk1D8$S(GEH9yoo_UayR{$!quxuZ8Xg$uf{yqr@Xbzvbo z^DSCyPRT;#3OdTIQbTmEV1x*yx4DA(A{ZYccusDnCYK0wZe&n;tdgDPtP;J+&Dk66 zHePRnYSYzj=e_@sn%9*b`FGvfk^k0}`-yiB$xexJa7gxP8rdB6P@jCuo#dgL?B-$b zerKsx2tH4?Jb+29=qA@kec$nXlm*aA1l#ENBLGrLhS4biqoWmnp%iR7uIu$pQ=FG;-HFl3k z`A+gM*|yIjbfbGlZ`Xi&FPdiqGR7T2 zseJ)!wAJA!apLoWs|MOXdMc}<&B^e(L1g&kPwL1ZG6KflW-!aayxZ)gs%b|g5wm<$ z)yzEXPJi)L-Zi?;SJMlr09}R2#B+60IT5xU{>U6s>%?imXk+R{t(If5jD@jLI-y`cw`90M;|?u z4em*uwYsIcS8LqvJF2pW;s@+C)PCMmT_p@-Puk*`>NN~8IC&Uuz$L@jCe>02!?}-N zeN3`6LwQ=oR}2Qyo6tFy4!65`GS#N+W|d?|o>eCg!<&8<^GY6B1ZwNPIBxjJ!9xbQ zU)q+=ansLgNIofo1rDytX9r36<9wET@U$bhN7zd}b=CS2Wc1EoRN0a2Oz!+elE^pj zGG`ubT2{3i$@U~msgdmDe$(1ox@VdO9W`Y5=ux`zvxw*FLwh2vXI1!BjaX1MQDu#? zBYYKpl_acERk#~L&0kgCC~^+wkFqzaay6r()D@%cYa*K;mk95xmS=d)V%carqJkr_ zGI*=6VS=hZ+D=m2M%&5Woa3t3YM#pG9A7jBUj);}*pGTHSFeq++h?{tA&x$d_*WIU zAFXSn3a@UKr1Hjcx6}57>N=LX11FBfE4akL4P$9l!XJ<2E~xE^MdLK6TH}ma&Nw^6 z=XwmSmDSukUVlk&V%sf&p zfE!)QQn!ciAz%NS`P%Jd!}G`E_VeFW!Fb$)g<$08zoWEnP;q?|Qi_g^w@-RJP1N_d z+nu}(&Z_J?ur!#c#@}IA@HIFq=G{t77`aHApOuG)8IjGkKG&R}9lV3?++4Ms$dFrl zR?VA8^?-#A?wrWbTB;+|DAg}ye^dLM{+^%=?%L;6+9Z6}mWLp0z4P0aW&N6DKjvwv zBJZ?s^d3B?dfjPfG(D&do}*)$Z}_sV_8&kLnI)=$u0FKNmm0ZwLoR5uR8NsrBy|&M zX{i#++!JkiR9wJL2@`Tjz<$`%O1&MhZ!G(a^nD(#sGY5vCAPQWu0--RS8sv&rH`>C zv)6_ClKm;s-T3OLoSZJ5Y)@1-dCNwr>Qn6Ik&Qf(TCz%?#G*cRikE2cZD?$hl{IxdYc?`1Co>x)}Z z9%MWTJ`An|-v<8y%5RrE4a%-^6*wMz2D}$s4K4?tRi90_YpQiK*fg#Fv~nd?ZH9eW zSpRU3>ORBn?rEpi&#*g%y+JtcF1x#Ws|=Mp;V%1HZ}&24>s<^1@bF!9UNCy5!Au8p zXR?>+F87RlCtEkr)S31~Po6qAlL_|n2$eev2VnjzMju$xc;zP<^Dd3h!Q+Td2O0r(c!&dbs)U)q$H$lq2M-^~qhC)Me0ri#^N z)ylicF1Y<}iUS^YFnW#&XU;MDyg5_@`XO`dx~<;9TV1lb1C(Oy1jmE#fpR?eKKKQ= z8 z%Mtz+tOG_cWn2bEf^yDu5%>@o1#SeRLAia61*KsGTY<8RxfYBECxZ##3@{N~3CeGr z?E@=;UxE_vkbGxZ$Y}&Vup$lP2j$tCdH+rgG)RaRC-pE`VfgJ_i!#gHsF*KQOa`lCN=60J@# zDsL{$4d&0aGcM^ALuK$JQ|8(+Fb-UTFQ!Kma`k!*P&=a&A|tLqyf8*>7dPPHx%Pve zZffQ{`|@~s+1bOhPgy}SF)JIZcFyDO>i79}f@(FN+nU^1HF-W=8eB5pu6xlZbWKU; z(+E{%UxZKnIG;0vp6b+m*1(CeDt7_X#YFiUlGRq}J>S#?c4EfoPOQCPC3J$V!F`~d zPwkITr?24T{kvoF(VpIF-vXx8Z(}_w_E1EMx_Tk^t9{j+h1@({8Yix+s^w!7d4jc& zTeR=);1sjfeRiwJQRnGm)${jp7zb#}3xR;uesuHH^iSr6E$t>4yu8tIjGv`(Ys8&Ogz z7wSviG{`o7=HaKjYbV>=3F@93xZ(Qr0lQY9eXH(>Nbc4|g^MI!P$HZuGI)CEUE!C#k>dj;%rAL2fHhFU(5dabb} zKJ9|mR!QPxf;v#ld+E~S9D&)_=?X5XK*@wkQnQwD8{D4zszTatL_Cn<#Gd)3hZ=m zN+q@ZVX6W=4Eh{pnb6&)EF`y7(hCW{o%3{-+UMq{um7sKlYe3QGg6+X;!Cqho@GkH=P<8`(;4ZK;_zQRgD8=Xk zb_H()XMtV8h2YKLVo>}&4R!~MWU=W1c^5%XumX!mFR(t?8XDKzSlMa-0PslnlX}abT~yE1!;+3G}s1|U-TRR zjs=&37oByA>&Ihil^6>xX0v_>RP?W3Q z^qvbUDJm+6B-$mZC}~kqqs5XXCL|UnDHUt3OT`*BYP6__iWLi2oh^PG>^cfa%U%KN^bzvns6dCuQ^&IA7Vm6O+#Of>ncel!~% z&?pB@HAbi#g|h81(fk0`e<#jjtpB%*0}uF9!`cHP@e_;Lecv;L%b}^HOyAnIj55v@OC&yo;&wdE2uao}2t-iS`UiCx%Wyi#m zt2Gw&cDWwO?c~|=Z@lPx2=&I_asAi-Fq#bCgZgg){%&x}o4k$$kp750A2Pp_X3F`% z5-*m&b(Q&NGCUxj_y9+(?>>wjZkG_}H2`}A;zSlj9Gcowvh3|=z^NB|~tTbD8 z7ppnjgl|r`$oXk-9(Fb_w4F$LOy!;Pn98&4G5=!D)8y8Z<3ggm#*FE|wO%27;$qSJ z81`9WlEjG2Hzuh)>T&*2$Ua|a1|Eb4p19B1k zzzR|Mq(2aPKweV7PNZz&d+cFaZEFkdI4W#%Ri|KNn7{I9Rprjah!yC~E{A+wH+pr86xv|Zj*?ewJiD@EQ@I84CbJx`%6=C5pT zc*=jCORT>g`%T}p`d1t?zp}fSDI)!8f8Zih9#I*eg_lxOfCX>dk}VZ zEk$a6G5b!qxMIVs*(dpr3Y7rgC-0|YfOZlbvzNC5K6$;E_yZaSf8(FSh*%@; zdCvc->v8eHZ-SS#f8OrD)FmQb@%x1P)}T*ZG&jvHGH(r@a@^XyQ#PNRC40nlW2)*2 zm041Vl$Y>ai6?(O+bv3Oob3|>H-gUY@~>&{y)}4}OY}eQ-z6@3!M{v2yx#XGVGhXt~bm6FS(_a4~*OTp`z5aHWxV{TFG(6MguNA>NgYNbPyMY!U{kq3iw)t^}Lzga4VAiACDKkves!eZc~a9XYdBY&d`vwc>&UIJCZV)}4>do^#2aM-!g1 zYs=+ZOVEz82KOHIr*6U1JpY@MwU#%$qqXb;-aMKn$G+nUdC7v`M3tYOJ?Gr(Fm#-O zoyIKt7YC}G|K=W-@lHkiY_y*(C-ZF+zkC=i+$Mg}=U?u6Uc4;7=|6kL5&2F3 zc~vZU1mEmGu~X(DZMQi0k>GsXnv6elu_qTf^DS||jHCa&EA~GUjI{%7oGadb&%ZwL zjIXEPGJMkoTc#UX4K+v1Th-2GjO&4W+OPZReV^SiYvGd%Z#{U{1?|ZP{ojST4z{oQ z!2fAfsDA;P0+YuW(BwA8=_csB3!QjAO>QHJE}1TyE{Cp!u9U7)(P=2Sin5Uro9H^| zI_di8`fU=?|C;6#V=n}~o01ke^-R{}Hu6BZyJ}5tqX#4>kI}2i zZH&;3ipZ!9mN?~8zc(T4cqetXCbto>82k2ij*&Kr%FdwAQvz0bmWppX5>Ja7qZnT- zt{L|G#lqg%-iiZ=1@y+KR-WCYs<-yehCjY)E2W~WcqcllKCR(Ze6a$PjL1&+0MNw|UD^Ip!^5BBOtA%MPaU~R`n%sC?tP`n5{O8@- zDI$MMnpZTT(s41XoFK0zw~Ck998GQ`ALk2jTGNMFEKrEqZUV{4V>FAex29Pl;gw*b`0jJu-yOae{i#09 z32zY7_a<7K1}FwKxs3@r`vfmixDCHN)r-kv#A`x(&}Gr((-jC&gbK9267+_eX!XS*CtZlg|~-?R&;*W@-j=sM~8==$l#=*H=y zGVJWcIor~rJ!{k#R3crR^BM+`JHPaMczu7_?=(F!CUqO>1iXJ;6((au>8Gnz2W zY!u(Wn&=PZ(-bgPIb8)^9bG+L3tcN+4_z8fmBX@O>UzVB;U>9!IMB0;g|pZJtZKR%x)!=tx_uy3lWt9Jqu?C%=u2!#G`WpNkeob5 zlP0&(sVD^5MLEcbLv&*x`7BM3F|G-R47qrMt?lwPp%9QRM3dX-qT5H;2U2PKLF**C zjf8V?0oBehQ4{v>K`O&CO>U!xuJ+DIx8>>O_dapk;n`Nmcb=2TugPr$=`!i^=00P|6eXdVdMSq)afHtJu~R`@vG~?+#RVxcHMxyKx*~DcxBis4eH7h{ zG(a~fK0{79F?mkbUQOt5bZhAH={} zX+qWVo$4lP!j2(7N+o>?1Z&HZx*3T@PJ9D9!s_X8>Jf)`@h41Y!T)y zE=Qi*#)QLcO>U!zu0-s77b8|HMH?ga()H1e(v8u1 z2Uv0d`*pSWFI4_Br|b$%Zlj*Afv%OVjjorjk8Yf9g3f!9Q-)6yw#bU)zIQrh4kPB$ zmC}{bRnyhbHPf|-k6e}&H%2keNWRTZP5j~)?**;Y0*XRSZli*34_!T7gRuUF_i62q zc6+17X(u*|(t|<&#>_&efGkZI9_fnc_Rv+*)zdYIxc7rrTrWi*BaP6Fil2sCr+G@Y z8204B+hBh7cN}exmE&mpfxpl8#^L^F9TcGn>ndG>IOobV%ac!0AWr-MedD|c%bVIt z+s355bbWN{>4tI@92Iv(Sk}hGtxlOqn%qVfT{c|-T_Ig1U6uI7hp5WDDORpXKZL$| z?G!69RA1!e-Jl7(H*{@uy>xwaBXpy5QMha-Cyx=M35Rub$#gl2rXXT&vFJP$^m}R; ztyW~1mKD=O(QA|Fyb5QVmd3b)sU?><#mJwp$qD;sp!)F zZ7MzX<27MCqRSNDy@f%cilUm4n&_J8_R)2V=cigJn-WT#+!Hln(a~ko70?yZRnk?_ zHPSVSTZU&_sRI;)j5J0!PUqe3RKzFNeiXDe=2GNoavNoI<#e@lb#$$CZQ`3q^w1HC zQAUco)G0AW6M6z&GF>)Zj`-O$%MxF|o#@@zO54VmJ#@WvqjY0*F_$?dd&PUxuoOxt zN;RRk(AChj(6!Qa)Ai5|(~XF0-jU}zOPvyv#7%BANFha$CbzMNu9B{Su92>ju1kD? z%;Lr=CK$=L!zs}(uKNcD&-B5d*Hb~eM_e|Dwf)0?%=U`wJ(gGOL-@vo%biq-n$R8T zvgwNGO6aQSs)gqh>;-gEbTQH(-4LCz(jdV?PU3B~C2IvOq z#_1;LyjM6C@@c{bUy*EybjmzN%%>}-tDvi+tEX$D>!9nS>!%x|8wbslHN$3bms7(8 zkv82rEmT8MtI2J&(6!R_(Dl-d(2deX?sf`@(u8wDbV+oXisXKBmUwJG&bj?=WVScd zz^ILk+D+F(H%vD|7g^4tHDP|~66k_-nREq;}iCdOZ>vcTyXO}K7BmrGYhS58+?*Fe`v*F`r(H%u3Km0hlE=qQmm*KKVIDg%+J z38ysa3h4IGRnpbb)zh`nb%@LU7CbGKe6=&HYc%0p1YJH|8C^MD9bG+L3tcN+A6-A) zxFWf~GI6ztxi-z8npxpgB})?ymFP<7s_AOPy$5gxdmlwNBMs6G(M{0V?_fb`7&w3K z6dJDy=RoO#boq1zbmfZVa8W^7%ZPP!Ep)APeRTbFV|3$m-fNr+`ZQsjqDu#fdp`}% z+gL%jhwUWoGp&|g;S_k6Gm&gHFUXjd30rT<#cs)^>l4?9dvz) zgf%)lIyA-z5VKf`!1$XG*+Wxov@ zmGKx6zf^T{8!?(ZhLP>Gqwj0NnUPv&&ayP&09#Qe3Mr(lWW*}E z2D(PNHo6Wm(`#9wQ3&~_V~;VW$!+A`h967YE>9Cq?StfmD~XzL5`^(O887m8>PA-# zR+=z$fK=LiO}JvLNF4eq7@c0n2=$E6M%O{tN7rwY*mDz(RffO9PFdpZP8mt!^_$RJ z3n_{;Vds#plCFWSk*)(I@7DDgotoT6WgUL6V!J9$IN1$SGuEpKw`wSo8=_Ils5_j9 zF`BSt1E~xXG~w6)bgErQxhA*K22zD|h?D1Fk&RJ|Yr@&BJDr44nowiV`Krd6+(s`* zW!9$&HKrS-ixN(}7)@BE6v>e-nKFkFbLoocO6V%-s_5!Ls)7xgQ0aQyovkXZ$!&Cl zRHb`BA&G8dm~uoDTH!7`9x5263HvT|Np#tCIdlaeRdAsu>_>s*Tev+&t0uQGwi+lW zoT%4?YY=xk&Zi0EFLROenNtxprSv~)r7Vl7tXa*7H@s-vr?YX+$T zS~R(h+WYWU8@tdtO=w_{oNz%-6WWT-XtV>-R`H62_+47GNdE?BbFQCfc|GMi0ygmC z``@Km8(Se%8Eu*{>fevM7434pnlN&M7pKV@{7@g1xdGtE*FF<$$=nGAsVY6 zbVj(GxdBaRz$Pcd1Wnka(PhyU(iPEF(pAwl(lvoXGIPu^@Tx z2~zc_(u5xL2!7jQ*UhU5d-)(a;T|7NIO|Kdhpt|ch+5{3_H-~pCw>lw^=X`9f+>8> zPR@Q!7<53Y2FaSxUqLx`ttvI)f;31@xFD^`Z4A*3(?vXLN0a>~QXv*!f+mlVNS6*$ zg#R1)ZHyWkp4*qVXlLK&p^zP3RAxbL@ia zHMxxekeocmpeBqUbjIT<6bBNTaNd(HC{ADQjt%8PsBH5z;o2_fT)U_yP1w$X2!H?`E=!U6(BMF``|oJD_xsd|0%YS!xST$Ft<-Sg+^(@+|nh{Wzl7e+9bCXQ$zWF?uv% zp*`!Q^=iUe2U778HDQ+=^iw-+g(lp-0Ky~>d%DD``!INnGS(PlWwxmY%HdRyCakX@ zIpO{wO>U!s@fsO#1XN&`I;shK0Do}O1~uUzLXo)1oD&@?XM_qysG+N+Yo=?V>jJ3) z_i4gK-{<7xdQ-}6qPeoa_1bV0g&MfRPilogD)M?7^u`b`@}2P5^-_0x^hP0+=>;IyV!6I$*? z{0h@<;VMn&{UAA^_iMuVsYoue5lW-ei5Q^?t1VpuT{>NmE{`r>>|bnI33U*vCiR-I ze!Ya>hT64Dv`HjCi2FRM!E(Ynp~-DD)3wlbf>i1*P1uy|#V^F{9OE^i3xHI9MVinq zbX9b9Af%OJe!W7B`6HmMc7~&xuz3IIWEj+hbDSU*FIN**WRQF^q{nE~goXyG%8Y2j zyX_ zE}brqE}yQ9uAHuhu9mI|q*|d_liTQf1wZ-?H)MC~SBR#Lf7Pi>f+ox|T^3y-T@hU+ zU6oi7HOETmr08O#KDvIJM8iYqZZZ3uV!fKMKTo%YE|)Hku9U8fu7<9bt_g(s#q2g~ z!bamYJibG9w=RWfgUCNQm5I`XJ`F-dB#zgFtq^FN?J6{37at@ikFie^8k+I?886{= z^@m`1(-neb z*&d@v6Lw2M+if>ylNfviODO-(PL2hdu!l`oNmmO}sp~Z1d?DykJI4u4sLdNre%YF^ z*`X_;s{kRbyzy&~LNru2XosC)k0$Ipyy;}<75=quD>auQPZL_0uAHuxu1@^vNMcH8 z2twsPtO+Y*51xo(mzb^zvk#J!$EehV#l?7aj5i39581>)ye1s5yyc`-&yALgKSw$F zbDCTm#fM3jKctdY!AQcc7-+GbU7seLoOs*G&Zi0M58WENERaf@tqFS%peyYB>NVlK z14vG&a!4Z%8z}LvUwcBUgH&R#ChYBjcG(%0YQhOvkeqOyQWMTeGF~s^`Fru>U^{KR zrVutBK$W;i6IMP(tk8s`JJ4)9aknO{%=?|RQJSzzPM1WNMVC#N51JjaGc1q@Lf-?; zv0aZQw8FbiAzn?`u7Xs&L`~>1pt*M1N=?WQBq!_%Xu<}HZsgsqDi~X+1B!4+stI#K zmqeFImqk}VS4g*qu2Q@>Dh2&31b{cPS}>%B+ibV zgJJzW$9grPThgte%L1t!vo+yB2XvfW%Ah8!H3yyik~Lw6m@bE|M3G#RN^KNRCR<6O z>WMV(#sS73Wc+cu2|DllPFX%p7zOCk#hXuHSFwbml#!}Hs^Zm}a6YXcPhzrXrce`( zWI=MmDO*igCFpwTM(9TAqCT*b%H5eBPIYsAc z!rk9=Wpp)kwRA0Xt>WXa6H~-38E$XLKj7pTuL+A2q{>d$gpLfd?E3U;!p8q2rqzUd z!ss&T^63ibN(Yeb z;;@rnBxs%dg7JbfNfTBex*WO^x>E5}E6y@>P;@dhCp6)t;U{9Rc2fhex5Rf z=YfUGm7rP^h60eB@bdxC@e(m7lw+E(?f;t$lM#I)|77g=GzJ$~KT%IvtuYcz>o|428j46ZVfla`NCcDT;7B zr3ts<&}GqOi(ArhI;4`KijnF;33iug(B#I`!q5?H7oiDbFGx<iTLHStu11e043YnIsu8aVs~BAtT_If&T?O49 zx;jN-_*8dvsErXi7@>!*mu{GDgf8N9r?Qcn@S7pf)%Fb3YQlC1BqwZ#G@-q}u$8>Y zC*li{*`DSPWhw=er3vTzKq|X@P1t(@RoF!gYC>NawX;Lo1WnikfmFP7O&AS8*Vt*R zHDRY8geen=`xMI2KojnWpo=-;6ynu{HG(c#EI1Jzu7skLkt*o+(A9!eP3kn^mWwa( zs4ly9d7AKR29TVv{%XQDiLQ&TUy(fjHb6PXh~syxUuq>JedQF8tO-8P9U zPIvo4Nn?&p)`X1>=$CfPN=+C_L8^Many|bXZ;0`d{})dmv(v88goOc8X{$BiM3^GE zO>d#>X2c%4VY(5z$bUH*Mrp#fpDvLu9i%D~)P%DOppad`eV~~VafI_VGZgn{SSg`W ziZV^uXQ!*7Yo=?V>!ItV8=@PgiyUX6n$XP@$v&D)nFUf+&enu2);ESxY0rjF6Sln| zIpOzR;<%I0N1G{HG-2eS>!BN_8=;H(*2yeJ6E<3ONpwMwsz|0LbTv?7xV@%zD?}T6 z|LtVx(}Y!*E}gD`u22Nez$KAu7tKi&Rq+|#&$8MhOtgM?)lN!gBwQ zdV2=WDrs^XQQtXfV>Dq2&?VF5Dw3TwkFtyr%jv4=YUrBjTIjk!OI0V-gnh{G4P&|O zax`I-1C$3d&?#1opZT?}^$&eDW!2uQ`t*Mu9{K*@I6W}C#}DNFG??g+<5 zX~KRpD8-Ihpb51Bso87MguYGJO*cq4L^nZaKYSF~;Ajw!Aw?PTM4VS4WFcs^U2u^m z+<^d61-FT-6RsHFsBsf$jcQa)xV`{VH69g*kH?j)>(0gzV@{-Fb2VYlimr@q59kIv$4X5o1*A*S zgb{9<%Sf~1m1x330;!T)G+~faBsY>hl*5cTBDTGZeRaRv$t_+J))CNJyM!)HI1KbS zB}8h%=7uhjE{iUku86LLt^$NI?DMe-(Ws-Kbi3d&P3YxOPQh8??rBS{xN3?TO_+bW z7V#Y-#Sc;pG13H`5iKfTN%MQw$OnvLl8@VX@s%`dQyGM+K)ELDz2Pa-*V&bd(1dZy ze)61DOGEeN_YC?P9QOUouU8yD} zp$96GM;?jd$VP1L%NVPiv1;k+=-TKy==$jf=*H?5c`?%vc)jDNtXKQK3jaAE!WSDe5#~yF}MU*GtzYLdlq&n1Is)UQOsCbV0g& zx&pc~kg8_6CKQSn2>jZvdYdNPt^`v3WLy(=Fyqzi+;yfE9ZFVTFgt5B;joJ?kFJca zoUV?pp016qgRYORpKe5v+*KT zFF@6Fy_(Q;i(K|YsBx#4CiJWXr-E6UuwOz~L{~{yCFb|w0bjRWfUW!h?I2^0fo`!E z+PEfMuUzahZna&uCfvY)2jiY*yDClC@`JK$*Q^O!^wln-+IBsfa0)opWtiW5&g zG&kd5EzHex7{K z6Q%?q+O1X5i=pOdwL~0fw^G|b?yxGRi0N-xz6>Yf=1H*%!DS`eHy0OeD>lCR@`x;; zT;^!tZG;FzCF}w&Zr{1ry4?&bnkBCNK7Ed>Sj>OTnm=BJ4 zIx+fEXqO>#3!i zWSKE#_7tSQLach-T9UR4K~EsX4RCJ571N8Rl6lLfDwoO7RMKCr%ar~q;kr3JUOcgQ z-Hfn`Sz_8L6|Y5ENhg>(?^Egeu z_fXE`Y_a7dWc0-r-wf9+V#6CK_O~MAy^KZEYIRYssiOY)hULLS&9CUoSU$VXF6y%4 zpQ9z5qVAAI#o>|U%ipx-hg~-7&JJsl_~^}a51u1^^_$izSA&?jKO@%ldsU^lZq)o< zap+And!t>YB3!wD&ie)C~r zHy0IOvRS^>y|~CY;$+=|FuSs{Juv@H#)V@3+t#TI_957ruh*QYJ9e@Bi$&;d>qI=* z_Qkic{NGSZ==blV)4VBWyn}V+tw|ZYEuuRz=8DTP`*V6H`Tb7D+eG0z)*SKiJ625e z0Z6Bked6EmSgCmjC#8AcNweKJ;#81smt0*VV`NWt)^sPU4`n*ML3s04JO>^lf|#@4 zN{k+Wb>{pdaprz&dGui@C()p|0cyctpq#S)D)W&G`O2ehiMw6*TXTzl&_~kMz~h=F zS1Va1IRMG(-HIM7tM}=ol7^jZcNdp$-Ku6o#Y1nN6z?D6%y+F*qyGuz)aY|@50vX4 z;_$mxYV=o=B9Do<1J;tI|AKO6@@w$rrJHwbDcihxYf16e%O)-QK_L!U=cLK1POj#} zq#XYPw&(s*R1&S|)ZsNTzt37UUB1iJX**Y}$mz3IP7j~tB4R~#pS3v5j1{eY)||lq zSr^icBLO`$x6cxxP5#+lmf=E1ChD?EF9s*|GI*!CmxGJ1+P<|MOYdl%!;H!Ey+Z8lx8@(yI;(`}N9&|a zDs;7Yr{9`;+*K${7L<++9u~kX6FdcOsrbI%ii=J|3a92Lh~*zxtEQ(<%4A)vxc9M) zdE)vHEbj>?PKp}@Zz(F;yk%?oc8s!iU7;|A8#051dRd_VhUhaVWuGJFAHt}0_M{BY5nB&og*q3?=?CYD2M?hE^CqeD#i2vi{Kax_Mn1Rx zN|btZiG&*$Oe!NkRs^2R2!!M&UB+39zjDOCa8jY0z}Pr##y*1`$KEJltdLFNEPXGNf{vgYz5UzFgCW@;`XjO|F{EUZgo#eH|+<(jvCWJNBNO(Xl3-7K4?sg#5@n)PfB&uE2L^!R!(ztsT&KJJLj3V#?3(@( z%Bl3V;@=-z+rlbi#oK?%n0LN>=DgfFxfHoO4Ja!p8}9#BF2cA0@tw+5f#o=xvbk)R z+`2pSdA>Ms7z5F-5jrXE_|(GEN4sl6@8b? zXScnpc53nF9mP9jW^y;!?i@cjl88rU_aMR1r5$cG;Jec!e;+IEzaDR9-TR3ZnK5~8 zj-8VT<31#E8m&>*KrRK;*lCb_5&jqJ2KOTfl67g06=gq~`y*GAxc?CLWgikRAIg|N zJTZ1vGf1uk1}RVdmh1Z=l^~2$wwKhTrY~5A7?BIdnr~FM)?*_+p9wl$^G@^VO_Bz z*YtVs9GE-H^@@1vZ#b-YRlM^zYpv@w5q%grzbP_7V%L7L>QiL)t~lpYE5qG~NOF2FRxG%GLx(tf*y;-VXBgf^XWcse zjj4E9ogHi#19_t5Giza}UhY82-h$~L_~5LyJ-vtj(GBeB0sPgciVXQ0nRxBf@i$R( zDq<#UJ{2s(J%6`|C{RIJqI+8pYTcUXf{+3Ph6`JMA zr%KJZ;%>hyOXlN)tJNNNZ`kk5lD-d((5U?i7s_weU(QEhtL96<9h&>WU7BmbaxUcb zGkkhAzkmU}UvnD%4r#ssaYi(kg2yz=i+&T5<^10kjvW}e7%=@0{zhq*74lAE`OZ%{ zU5kVXntzY)Ntz?z*J#EK+(uCI46uCLq@3hw#vIK#_#VpBUy|{qK=VRyk>=yTrJ5_j z<(lR4-lJKLHdUH?;A=GB24AQ7ZukbxvQ?TChm6w^sYM4|jDR-Hw}U%1CnL^2&DX;B zXikCe(>w@2pm_$C@sQ@r;YT#DLHsezufk7+ss3kNhc6LW405vYiPD^p1YXULg8iB= zM4SZ8d%*ItqnvP;yM6gbaxn@DYM+R-^5l@5s&P^xNAn}H+4J-lxjf{rzT}jIPm$&y zgG)7^A+G+XwJ3A~RE<`J;5yB3fEzS7f}1qwqWl)kvir1Ymi@U?vwWZ4J|{kWkLK0j zKFxA|2EvWgq436Ed>PUKk4{4?YtBU2nC4UQcS5rlaU$fN4yNnyiE97x=hi)8p7jV1 zH{`XR_2QdR>zt*slyG}AQ6v|eJo$tDT97;^6>bD2i7Sp+=Y(e3LXH`ViWpsv9UJV> zQc@X1%RwjEp%tV(43%R_rX5;Es%B^n=wv&zR*qx}>lj=QlCzHOq$IKBODi^XzAc&| z6tysVE9fV7Xd9`6p`D-~+o5t8QnZhu-JrAV&>m7RL;FCN*rELw5eFDN2-;}}50Qo$ zIs%dpD+o76Nn;Eh2c2$*PDm2xeua75Xp2a6eMM0qwdi6%*>ts&Jiv<@VH_!@51%Xw7Tz~DyEg?4Zg zshOcIpaMIzmDI-24$#l+&`wDr<$p1cn{Ckzp{R$^dqIVEXdkJcp#z{TcIY5!h@r!v zi|x=6(kMg6KwIt5aXF6)Cm4)*w}-@Vd!&|wBhI4Zf7QLBK*hF`Cm9rZ8R`ScZ{hX` z?iCCEWyKb6vxU6nMo|(-WtI#ou|wC8-%0=11mXbI|<6{EPWlbIAOgS!aG~4x68u|1kf@ z{HOVd`MLS9dBprOWPWA-&P=<*ywenBy?K{;x7lFcV~&}>H}5s?GaJqO%?Hc}%_j39 z^IzuI=D7K-`EPT={Ezva`Mp^=wb^{seB6A@Y%!lOpERE`Tg|7#L^zYU+(sZ=U*_sWnr7J@uBUH<+)P`^-M`komE>Y{dM=e9pXK>P=Itr>-n7 zcAiOSV1zfqUDx47f+6&QuUFoH+hU*d`Tj6H(CUivLdj|BoT#%zW$uQR?c=V%;)t** ztJ~wvz$vb<8|MmrhZ05d#ZduYq7MCOAh#ufp&OTpXxR|+ze^Z;{us(V^GvSXPn5 z&?9N$?axswC+)op9)ETPLsOTE!!l>N2Pvmz=lj23$xz&s82>WnSMGPpX<+qFo?pe# zCzpz{FOc)`DiH4?zUPf(hQ>`7*ZGihlMa3Vq{OxqhW>M=NcLcUm*~(Zir&6#HA8FM z;=*FgQKb&Ow(+f^RECC46SXqbDfgQhUwpQPp$B8cwWFxjdY$&(*H6AajiCn?iV2xE zUWb0u96s#?hNjLIdtbr)%A)`|W!*6&e=S4*u)q!_QnRPBEr5-7NZl$`(hs=ew-`{b|F>0{BlLA za4k*>h_~gJ3sOb53~BvOMx=;34pqoV72ip-{x}3rOBFF!U`ER1m%i2F1DWt)`Q?Sx zV#X4D88{9#O-K_@<4gOs^8&T5u&xutmZb<<=|_`&zFNE`zu@)dpNB0<6^E7~Ub7Xz zElow@~$pvV<59JvCoHck%2CocZ(@&C*)uz4_678PH7 z<+g-8xs*P}C*0L=lVlva{QO;(4~k+Q6ES z{FRW3i_2S^w-uKg@`oPE$atqd?lI;NnyL&xoj9868Eh{z@q>t?Mz)ar zO~X+mk9R6vqvE->frX*uFDD0?$gq({T~0xUUpaAPRprIevN6ZVs>;LK(PNB!pLp`W zoH(VsH}5Vh-CiDp+tH6!BL#8dL*GqSa?hid1{ZR-UB3CsvM!w9I-2ZF6juA$WU~yZ zT5-SS(Ky3vQE8loI%;l5VVNNBvs`JDGWr6^VsIPY(X5A1DR~2*GV-*my#bglZeABy z=&hXNgviRLqw+CxMHfQC%5udJ{uaph(de{AJ9o%fg;=AG=AVw9(E6-n^ks3Q_8G^> z6miJ6mvN+#yOU+liFxZ$QenHecs+Wv(KR^@&hQ(_FHbhRdN#W6ut* zO!bBi9HXv8OZ6RVb{99&$c(;0VU75Ew0Hqi`JR(X##w|@XE6sSn&-&`QnRvY3%v9bVr%|746ZE^eE<4{`mE% zxf|VP@Ds;4w`DYT;$3VgVvw{C6yRK#bX-*pW; zAu_c*#A`feY>>BwjmS_xs5~dr{>^L{*Vh@)Oo1yIkVrlL8Auxh^M2U7JPM40DXEp*%fN7%|zbL-TeW zW9~!KW#aC9Rm861(w*|n;PNj0qcvQBIPw;ECr*XT+=!3$J4$|)2bE=hF?Ld5VR|b= zWHZZaRin7!Q6;wx;y2@U%(G5E`^?;&GjqkuB>|tvee<|Y?TMvurB;m6HpOyHm!Y3J@6ns|WlZww8 jeA4ha0iU(_q~o&=pY`~hh))oo417*%AHI4+ZTkNMTR9zi diff --git a/src/tilde_proc.cpp b/src/tilde_proc.cpp index 26c70b508..00062d708 100644 --- a/src/tilde_proc.cpp +++ b/src/tilde_proc.cpp @@ -1061,7 +1061,51 @@ gb_internal cgProcedure *cg_equal_proc_for_type(cgModule *m, Type *type) { tb_inst_ret(p->func, 1, &node_false); } else if (type->kind == Type_Union) { - GB_PANIC("TODO(bill): union comparison"); + if (type_size_of(type) == 0) { + tb_inst_ret(p->func, 1, &node_true); + } else if (is_type_union_maybe_pointer(type)) { + Type *v = type->Union.variants[0]; + Type *pv = alloc_type_pointer(v); + + cgValue left = cg_emit_load(p, cg_emit_conv(p, lhs, pv)); + cgValue right = cg_emit_load(p, cg_emit_conv(p, rhs, pv)); + cgValue ok = cg_emit_comp(p, Token_CmpEq, left, right); + cg_build_return_stmt_internal_single(p, ok); + } else { + TB_Node *false_region = cg_control_region(p, "bfalse"); + TB_Node *switch_region = cg_control_region(p, "bswitch"); + + cgValue lhs_tag = cg_emit_load(p, cg_emit_union_tag_ptr(p, lhs)); + cgValue rhs_tag = cg_emit_load(p, cg_emit_union_tag_ptr(p, rhs)); + + cgValue tag_eq = cg_emit_comp(p, Token_CmpEq, lhs_tag, rhs_tag); + cg_emit_if(p, tag_eq, switch_region, false_region); + + size_t entry_count = type->Union.variants.count; + TB_SwitchEntry *keys = gb_alloc_array(temporary_allocator(), TB_SwitchEntry, entry_count); + for (size_t i = 0; i < entry_count; i++) { + TB_Node *region = cg_control_region(p, "bcase"); + Type *variant = type->Union.variants[i]; + keys[i].key = union_variant_index(type, variant); + keys[i].value = region; + + tb_inst_set_control(p->func, region); + Type *vp = alloc_type_pointer(variant); + cgValue left = cg_emit_load(p, cg_emit_conv(p, lhs, vp)); + cgValue right = cg_emit_load(p, cg_emit_conv(p, rhs, vp)); + cgValue ok = cg_emit_comp(p, Token_CmpEq, left, right); + cg_build_return_stmt_internal_single(p, ok); + } + + + tb_inst_set_control(p->func, switch_region); + TB_DataType tag_dt = cg_data_type(lhs_tag.type); + GB_ASSERT(lhs_tag.kind == cgValue_Value); + tb_inst_branch(p->func, tag_dt, lhs_tag.node, false_region, entry_count, keys); + + tb_inst_set_control(p->func, false_region); + tb_inst_ret(p->func, 1, &node_false); + } } else { cgValue left = cg_lvalue_addr(x, type); cgValue right = cg_lvalue_addr(y, type);