From facbded856036a978a7874e1b392f74a9baea252 Mon Sep 17 00:00:00 2001 From: Nick Burch Date: Sat, 18 Apr 2015 04:16:28 +0000 Subject: [PATCH] Patch from Jon Scharff from bug #57820 - Avoid NPE on HSLF Tables with a top position of -1 git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1674441 13f79535-47bb-0310-9956-ffa450edef68 --- .../src/org/apache/poi/hslf/model/Table.java | 2 +- .../org/apache/poi/hslf/model/TestTable.java | 32 ++++++++++++++++++ ...ug57820-initTableNullRefrenceException.ppt | Bin 0 -> 110592 bytes 3 files changed, 33 insertions(+), 1 deletion(-) create mode 100644 test-data/slideshow/bug57820-initTableNullRefrenceException.ppt diff --git a/src/scratchpad/src/org/apache/poi/hslf/model/Table.java b/src/scratchpad/src/org/apache/poi/hslf/model/Table.java index c494789917..bafc851824 100644 --- a/src/scratchpad/src/org/apache/poi/hslf/model/Table.java +++ b/src/scratchpad/src/org/apache/poi/hslf/model/Table.java @@ -159,7 +159,7 @@ public final class Table extends ShapeGroup { return delta; } }); - int y0 = -1; + int y0 = (sh.length > 0) ? sh[0].getAnchor().y - 1 : -1; int maxrowlen = 0; ArrayList lst = new ArrayList(); ArrayList row = null; diff --git a/src/scratchpad/testcases/org/apache/poi/hslf/model/TestTable.java b/src/scratchpad/testcases/org/apache/poi/hslf/model/TestTable.java index e8f246bbd6..1740b46b40 100644 --- a/src/scratchpad/testcases/org/apache/poi/hslf/model/TestTable.java +++ b/src/scratchpad/testcases/org/apache/poi/hslf/model/TestTable.java @@ -19,11 +19,16 @@ package org.apache.poi.hslf.model; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; +import java.io.IOException; import junit.framework.TestCase; +import org.apache.poi.POIDataSamples; +import org.apache.poi.hslf.HSLFSlideShow; +import org.apache.poi.hslf.extractor.PowerPointExtractor; import org.apache.poi.hslf.record.TextHeaderAtom; import org.apache.poi.hslf.usermodel.SlideShow; +import org.junit.Test; /** * Test Table object. @@ -31,6 +36,7 @@ import org.apache.poi.hslf.usermodel.SlideShow; * @author Yegor Kozlov */ public final class TestTable extends TestCase { + private static POIDataSamples _slTests = POIDataSamples.getSlideShowInstance(); /** * Test that ShapeFactory works properly and returns Table @@ -100,4 +106,30 @@ public final class TestTable extends TestCase { } } + + /** + * Bug 57820: initTable throws NullPointerException + * when the table is positioned with its top at -1 + */ + @Test + public void test57820() throws Exception { + SlideShow ppt = new SlideShow(new HSLFSlideShow(_slTests.openResourceAsStream("bug57820-initTableNullRefrenceException.ppt"))); + + Slide[] slides = ppt.getSlides(); + assertEquals(1, slides.length); + + Shape[] shapes = slides[0].getShapes(); //throws NullPointerException + + Table tbl = null; + for(int idx = 0; idx < shapes.length; idx++) { + if(shapes[idx] instanceof Table) { + tbl = (Table)shapes[idx]; + break; + } + } + + assertNotNull(tbl); + + assertEquals(-1, tbl.getAnchor().y); + } } diff --git a/test-data/slideshow/bug57820-initTableNullRefrenceException.ppt b/test-data/slideshow/bug57820-initTableNullRefrenceException.ppt new file mode 100644 index 0000000000000000000000000000000000000000..e7525f94562996735656bf7724a5389e3f81a949 GIT binary patch literal 110592 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≺A7(WNrr+mDi9dF%m}unQvC>=(_Ari4vBiAQq*+ZsqOfL5LUvH@ zRr)!PI&>%~0*;)Yrq|8KtNe`unk<1^mULAAioOlkC2wj%{LqROldr92{lQ9xH5^&b zpRDTI85?5W-ddxX9>4Up%!M`c!s3xk+;A)bc6U4f)7Y4}O60njPktZ$^VJIxH4^%; z9`Fonw8b3SzGylSe3$2QW!!W++cUVI{T)WA`M&G^t9S|3leF~gNIwTG_u(~PE7AN& z^*N;1g1ha9X}8&>Y7Icg{!vq3|9~kEv0Vl*UNFFT`9-PxXPo>$GZg;AiiSiFpud2| z2~Zoq+N%lQlNr^Q+$`FKn{Yh}w!(|kSes5W!MM{sW%PWCxoFU`BTbwlU88Kk8OOBR z26>vfZgP15PSUgri_Ai{O%k`rxtXQZG)9f-Yj8B}OtY^*8QAuFi+o;ufh0s(PEG#!DM=RFmDU*)TTi+^*3x%>Tfc;ci4pGm*5q=ZJ;z(gJaO`EVzb zrsRHzyqKP^n29f+=YE#5xAn_MPcf7pb)l~?(SF7y9(<_tMS=V4(p9>x%-bs2Cm5y# zc=;l^DJwTjpX7$kROy!ZanmUnei&`-d?s*d`ZM3FSSLs43I{&BZl2I9g*L8&?eB+k zx5}?sQ#E%5lhrI0kP2-DO!IqqN{eUoMYB@{Jok%dFc|&dliH-rE<#OC%A`1#-&=U~ zAW`36iTzm&(!IX=53XE`fu9vMW4yoO%49291tzyRJN1M_w)*3CT6bJ>RjP|9O!u^S zP4Q)5wsmwCdkRWjCuE2k*Fxhmd|3#-Iwxjw1uSac%} z>DrtvHsx*JDJpK)@1aJWEP_+DThl#HE06-}27HnT%is%Yw;Gu*mn}+0i+lMw=RAqX zhq2myMc?>jyEI6~ueqvm zLdk=^m^jA2JhhfoSQqUn(`EIe=MU@N_*3Z9HI{A*_`knfT9hV6$UftHq%k<#_VeZZ z{c7Lusmu8x`6oo?{HovY=ki}O-~a^bmzn*1!t(>;XHp8l&d&{#9}9j6fNnzTCiTBD z%uf(W15|P!K_LiY(;EmRAPkW;ICvDaA2bxY2OdyUL)az?HSnJ@RdD{iHV>nc^@Aw~ zHN#p}6rn4yK=23Fda$p9BitW!AGk9e2wa2xTiu5hx(JGZ19I^N-ZKpf;hY8qF?vYT z5j|A_pu_JqC~6P`@L(Mn3OB-V zkOEJsEA@Y<#a)D+0UVUqnLhRVGC*1tR0bHxllrs-XMWMsr=R%^|3r)X&*+Yj7Wez7 z{#SKJ6;M~zvqHh(07r*EEjow*=O1Bes5a1*->#q49N}N#GmRASU*WS>Gz2;S&@iF& zkaGla&^rQ}<~IlR&S~}_4E4-uqn`Q+PL(9+Hh8dj`$MOI{DFUx3&}6J5d4x0-Y>b} z{E`c#^ISr_1sd}AT1o82!1fWi)(8p(?F9VEVD^pah1h85Z)`NfSrnCiC1|nBnF*W2 znc@CjUay%VKOY9GSQd4@2j<7$57Kt$1k2kMctSNx)vq8SWz$6-?n>)HKiL>_p=R| zG*TRTO1)md)s)^_7EX$m;}VEl*y7`>)InqBx5+9~ZN@lemvf_Kn!9aoS#jT9J9LZ~ z&1Ko4)oLT7q_^hA7F>N(kOgVOU|z4&7UAPEm*rl$FYJ+1=-jV5A>oOL@^~Fli93y?!tCosrj~dP z_^mX!fji6sxzz3j@J@bVGk}R4%~=b0A1C+b117>~^D#1=$(*$-C=MR~U|RcLQO}VW zPxb9@cF?Q&$7(vYyR9>U_wORpnOV!}ri`tXshOgYi>n#5L-RAh3DJ|aR7Lw~K7#H& zByW_U=^z{V#4DZmZqqSWFg0*6WFQQ2QC`kw3d$R;drB)T?!a-BgU}DFOfFtxibwc> zzOzqr!@Zd93PCGd2rKPsaDjio_SP{~^T{Ds{wt(;+FtFD87;~WI7AllAsNyiYxlZK zaQMZIdD^a;(1~Nv4z14j5g#3h>Sy*K(Z2{{NG5rQI*`|ovR-q~g06ExBM~3$5RxjF zheUs?5}w~jxSBCiGr96*npugYVsNKW=#gTftiqh>mJq!{sx)7=w)kErYp>L>&i8}~ zXC=g|xsUW$MpT;hX_ad@UDoct2ybEOue>EUJHg99POku_GhY|)3&xZB4UT;HWT=2PNa zGsqk^bxv0)n%2;Xx%5(z_(Oh#E#pfM=D_~gh;#)fOqP?l%<9ML9t&`7HpHkr#Kz_B zG(So}c_V#%T{ zXR1%@yOYzaA{hYorQaLs50931meZa(u|MkvpT8V=-wZ2zRrw;<9mk|YG2IQ@csZd@A;u?$oHc!jq}=z77gAh z-WNpLi@ssnXzY_tc;`IgL`TX}c~%@l{1x8KxSQZ`yG%SY3Q4zgsNo71dVT3z4T7P9G;ImGDmX_hdi+L1H$NivGw`6ssFe%;Z zde4W*&3t7Pv>OHX@HedEqh4^4W^>PY3s!tS{G4b^Je;S>v6!?}RugOJ7)4{= z*dEV}t2#>bjTDs`HPnrDcnWdIt8(IB?pJ)5w%~wYtGS?g*DSC}mDq?(=W-Pb-j+YR zcF7J8T1fbI-DzSX!e4%-q1=hAefklmQ>Ige$x<~abT#YJFw72WH6s%!w@zR zPp>0xf~ge{rAR3CPY3_o&MhRpA>sh-=x&4aj~!ij5D%?q|6xaWX%g}8@94I0 z(~zy9&7H$6huJ)Vu|R|7sVzi=zaTsOL}X%mqF4H`{1R80s{S`?+|}^ zYk%!K!@psN0BuE_*&!^Ny;l081p+s?4p|^jgC=>>P6m#@C%ON>SRhR7qFLm7zX#4`9E`8)N@-^8x_3@Ii zIeO@wdK zP%pC+P&sYulY5ZBwkI;?3l!r&^1t)8J-^JOc`9mXiWuQJX3Osl->v#;`vu0` z8J_Qm#hj5feB0czu5{Jt$qlYUx+2va5)ygYM>-Ld%vo2{nI;qm`3;|#Tyz!pX$$&N zU{@<}VlG;1Sd_~h6K#+1$ya&&TNq{20P9Rrm-Eof-rVyX>+VU>!kDcNNbt{_T;=c&xt<@;xrM3 zyO&Viz<35PUp-1BPA&NgA+qka%_X*aYGw`Rn^})9(!x1^e&QFD<3~>D7j+@PRQEc; zUAwF#*o)7O{2zS3Ev03@(zmk~o4B1O*PC9zjwe@VTJ-pXo6=i7y&8R0W7Zz{kT{`2 zUHgwu=aUT5uccU_vL!OuI5(8l^uDocCu&085x;hO;r0_(ETXW(hFMGdx++6Xl`C%; zWk(z)Rb&M^NYoDspY8b?QzZ9z2ncL z{(Gzbd-xY*!)o5YC_|wxyKgLyKin1|re(Q*G1?a~Qf61@{gf(k)_OLjiX7s~9Ucth zS}bE$))Cj>SkVN6c?V~2yd)%p+W{Uj@3Aqa3dVNTZeAFqRx^|3Fs}6ouTrfTuxc4? zH&~z+?cz=32xD4zJ$x0EeWUQLyt4O26WD?fx!sygX(ncP-2>+${>o&79z$WyiE>Zk z7iwhpEV&vUiAsPu^cYACZ*`jh7inmpAm7g+imhIv{qwjzI=tJvte5?Eqzhp5K+(O0aY2lPxFe}gO!>V2KO8VW(XyG&Ae)az`Kt&c|$BAHn<6|gkow%>T^ zNLpxr$-ZI9Ue*dP9LY99!@Rs~Z)WfXs2dQ^J+ruuEeSN0aprQq*JBB&r>Qyh`m^WJ^`6RR(UBp%Dv^D{B_=xV~m zE5kH-4NS>{$&p=>oEFoORBOr~dB2cQKP2x)5xaPV5^s7HjrtPa#x3&I zIr(E-^?sC>b+IpQmeAbY9TQMq)C+I5G0jn$U6NeZ-KftBz>^@D8eP5dso zOYXq_w5d=*ZetmVvVOFs(dP};i)(ytMH*ebXeuh{kr+iTS!%av{x&=WitGSjvu zEtVJVa1s2&Bx8$&i#aVJ%$dm#A5lkRyoAR-=JBgQY|1;}woy^J(^K-o>x#P@f$#uY zxo_W&U$jBd11X7z&tD_vv!@>HmUu}wH0h;}cH-QoU^TXpAiGRxHl)mV{{R!yv%Dm= zsQ8NpDbr2YrAULeIVx^zj>Q6_D^44uLa#=c`lLQw7fOq~M8C@$&#Xm9HMV2uR1??r z)xxLoB7CuWe#_)N-!bl7w|P6|TJaOf^?WL9ythI_PIa69 zVj?{`SqF6{&r*yB?cZ1KeZ}`iRyCr!7GLJaJv)Bs>P^ML#(DXIl4yUx4F4zzncR;& zC%_o|_jc0O@Q|JK-R}~fcRyPf+)*u%j=fW(=gK)D)#$_RrG(7LE)h4pzlX)Pw(ZQm z>`e63)W?aIN}wA(lMxAZp=%{d7wKqYU=-sXPVBX>QL=4!;foXZJTO?R1zn^H^=zd= z9hq(h-FITj$9zB&VYGm}FhiMMOXBjSWbEP~sl5;XmGJti*G~Q%d_!s3OLgQWcc?_t zCU^ZaipZY6-_R;2jbC}_?JKjYb!sR5{$0)c<&vhH>s5D1@3kN0f6XZ6klaSE(B&CO zq)rO>7a91yf_k1eg4=#^e?vh%Po;jQ{tGkd^Hbr^gn!3O`h4g8OkE8WN@!aB#pL~m zGW)|!y6#k&{hvoqJn>I5={&4KT}2OIaYuQ-OFL^wx{+- zmE;<@4^l}uPgRo3|EMJYs3iY2m89Vhj7T6tA8T&$@aNKDA70k@GNDh4vcrXptE6Wf z><{otP`11#xKmuuQy+)+Ak&R$KJLlYBrP;QKd(7&rTgX7YB+M+A@=pz>|Kun+;4Xk z(Ct@TbxIk^uQr>pC$IT{lx$J-0dJ2hAET^pOlw`$r9B@h;y(KDXLo^icewgI6HNNa z9p{3KPPPed#qF!v5^{6|$rb)5<#We6EhqVNekXg;Eyug3Kp-7a#lggV4VJ92!a8Bees z{*1Lb>O?}lL@rMv;F_!N@R5SV`%7r><5hlJ6uMWHV_nZbd>Vdy4q-Vq_n6D-w^Kphtqy=^3)>=Y| zg6#|Lqhb}f=R4$5?y6g6QWS5ut#|rsvVZoV>KKx?pdzb!>RAHQ^QkbZy!-qALb5c-JP&nJ@9fE z34f*3Fgz^lF-9frP|lqelzM5BPn8mZ>}f?&c$12QvvQ&6bG$=j9fQF#&bt|h*OE#m zcQ}HBvxu{;zu%%)r#1AbT=Bj8BHsG*6*I4j17u ziR&AQ%NW>;e$ToIF-ESmxvVD)Q+cn&8CV+rtFB70DGU7ZWbrO8&usZ)# zePQP-J4R{&#mS$pz=Xo7PyEN^3)+yC+>rSeTrD&6SR!AV$yHZF28oSA)tjkSvFU+? ziD1R-*s%}m1xJd3j}PXYGy16+zGiz6%{yrZ8cqw0PhT)PsrU1Q$ECd`6bfiA6aHlQ%e>Sc(~Imq)~s z>_E!J=S>FIi#GO`1yc^HvnqavhfFogc_#D3kvv~`#a?8eCPd03w|>IFsr{HU({zz=I1wR zIEI9OBwrAJLH)l*z8p_W_$&GP^&2&49Uodd1`g0LctEwzLO*HP>;K|cYC<5(AFIQs z-<|{O2@|lgPY2?IAXW!V=>c6uJu{+*KIcS*AtC@C2fj}O#u`8x{yjq-$d;TBr26}& z;j3(bufZt6C;owt@U6i|1&EZOY`&=K{%t|-(v+EW-&7k^AmWXn3my_YHY-np3yrMf*iy-@Diw)kbb zRq`8p`EPlZr%E*M2a%Bo8RcUqe`$E$#KapGD0@FuHQ#5+(L$j@I4Z`ODkg8_kPp7^ znma?_ao~jkx0^F0tM_C1-uFsOE+W*FQECf+UOY&qTZpM@5aCfOmXkmYu567PTYG#U z-Ag3S_OhOFmo4w|{p^8TFVqi6%RcIxT^qjkc#e7-BNDH@4D-IhpanJQm8BNJ%=>H8 z6Sr)eW}_;ie0lWymD)}S40lC7;*a(R=mvlm`J+OaKT){c3fhYY^y43lCkCNa<*<#r zU{%@g=14mUy*qn;j0AhGA8ei}z>=1HntXLyxf>b15j7-lWABOZ_tJ=i`GjR^qSPYf z_5}%%KFfJ`;g*0qy?65p=}~n(9Yb?{rmGE_REBef1~|#{WokGc;$h#LQf^W$6*nF3 z#Tk*4n!ajG7f=}MWH3pUoJsnQM`3iANOh9eur&H{?@47lM}MYrTfj5cMJYsk-UJ1! z560P#+25-*$2>MG8oM}DU3V~X465?SirRQ35(R^bhC?q0fUBjMof-QtM@1uhBMUQU z$Z`U+UlF~X8b@^AFWVz#ir1u(Ny@mQue9+iOd_33tUGJu(e&iv`(WNzZwbcJqttKIZvEhK;ZMuwu3)pov{aB0Ppq_^q;{#)4|mz#c<#$)c5RL@dRR9_ya z*+YaAxpvOWA>3 zilF7v7NxY0g9)QM*$ua%*X87vqtfNNWA8mZngj>dURj%`kJT2%)~Sn&6LcVTJV1bF zsm4p%G(#m2i#;Ut#p~p48gHf6GvRxr0@UKFnN`h)i>YBU z3p;@fM$?VlYX&+yG3tD19PiPreAH;0ZOAvCyAVEmdanbq?NGAxeGM`5!&3GuvQ(kv zP5o+dtux6HB$qu2=2fXTX@(w5jX0OoG!U4idNQ?f#xx6GRC|>5=;HOzmiSz3<)|p- zsOMjJoOy(ioABs&0|z@qxoKYM1Y><&C8H^<=tC4}EnbJ~4y3x!i?B!&nt$hhjTSeR zgVp;_c>04xoYjVQR(fxJE8M2;7zRvj63jm~)Y;(G(W*f|L~b1uDxF+)^Vz+V31|2g zMX`j{EcL;6o#yya)}XaPuQ#(gl@pFz^oN&SxM~G5lqw(g8s8_2Ii5;xe>Sd3p4N9^ zE|B#(f0%NQNU9%k?3Dkz9Szu5>%C7n88(ntkuM z2_z+O^-?>N8Le*?ckW*&_Jdhcw}&&xD5`OFUGH!q<`%$H=Wbm^Ofp}KVP6it%1-Ae zrZ)a{PMPyVSLEE&_YMY>A`;J{9%Tx7`)_{?i_guCzwuUA=hX|l^pM57>@DB-quDR! zynW=iyWLwj?s=>0WPA4gqkwODWT>Q9<3DyvH4w64Y< zMYRUYD5x(v->4+Nxd!v#v!G;SDRGq8VM+1glYL>mWUSh?Zse=d*%*P}-O?yk7tIUhqONh937hxVjwQdo|%@w1A7V{bS5Z0_S=t9;o|*AJ4Tw!=IR+So@~ z;M(3s*|~qtxnQB8;}DBLjCL#N*4<5s7Zlw3-S~Ikv&2bIR93V(7!zus@h79VM6Svr zWnMsg|Cktu`RT+AQI|Y>Rrzn z_h=+J-z*lPKX0GK93Fg!lFsV7rzc0@@kkHr^Ux5k6%nzNht*^Kbf4>=xBrnoRME16m$inuW# zAfOPV+fGoojiabb1)~-YwN45v(j}0tsN^Kb^YNw5%e^7P4uhFRXDIqnmp_y+u5L#V zY|07Sak(MZB}16nZuiPk3ZIX?^5JFDn?vi0$>Y^3%S)QPIVm|G9WSd-Fz}$ba(HEv zVG>P*d`1>iM%2{5n+6*oyKp@@R&;vykjW!r>xEQH~3!g~|# z$ideoGmWb8Y7-fbi0d-CWzF0lAgwuX922rH;tK8HsR(97u`)9<$`2V$+gwXZySVN2 z=4+RudFUf2bp51;><-qD%S;An`|ax-602|m`JN|MomqMbA(Hx>*6$LaOL~teB4(rOO%F%;;+mQ z*+ z28Jbt!g`=(P@{fwXx1GYo1H5?LEmfmEv%BOLPzu7oqPb~d0UmZZQfX<=a9JU<8TXCnA4_`%u5qiIiflAa^yRfl;=Rn zgk~}SgQT>2$9J7x4~)tz@2S=)h#yj|1*q>wCUZ=Xe~Q@(Vi{)d4V8=` zgnYP$#Uny@b8Q`~logdN%;ySlX~QB@+P`%{9Z zWrla69C+6WEn?-F6dCALnb{LX0-*1Y!Ox;Cd%IWHVcPXt%0r917Lqo?~P_aK# zrOtCzaN95LZ>(dVCvQJfbAa~z#X#V^q1AaZ^fMtTV2OWV7r!+B`JB!(lb<(? zJmq{I=U;-Kc{~GZ#jmCL4_=8M>*YwmI7<)Iz6h9NK@J;H0EC1@0Ij2T2WGNX4)(&d zoNOGl)MoZ34yIQ27Q(a|>e5&EXsKOXjqFX0Y#r>)glWCZTxdnEW1$Nf37FVAD;hac zgAD9l1dN1fEnQt51=!hLOaOy4a$$3DG_wcS%pIKVj9fv`*@E5F*~kNAY-h{P#lgYD zZf9g=PfKlV!6{5@>&i(>?dl19rZ&K5Y{3P^aY1pwXKDj{MkXfUM_#}kzj=Pdfa_;5 z|GJ0!M-2Cmd#?V7x%wmK+K-rPKVo=(#PHBkTiROL+khHDCt7NA2V0r5h#x*$_UmP^ zi-@-X_58h>r5LsI4f>^;|Ij|YPpN|g6H>Dz60TT}7zN>23u0WnjK~^_U4~ctphw8;tC&@!bg(*Yz3o;_wtPJVhqwYUX%#Attftac@+Wr&Ke{|jqHMCc zSQgf6{?(IdF*iOWk*`tY0$XvSMC1fhPv?^vpW_JC4AdN^Nm4S!yr;&&eU%~kJG{`> zlFwwNFZl!~7_<_St1`x!%5RY_aV%2xN`Gtl8o4pFC!Kx4+If+YmLU&s583B_i)_goB7XJs8f659S71+)wJ=TO)-7l7#P0u&WU7cKww1R^z3Fc>V*Km;Pmp4~&E^J_w6h zvt*^=xkrCTt{A6Ca@sAHWs6gj`B7U&dB#<%BIGwkv-_Ofdo%UR={Cx4PnOlj=xM*e zYjSVz@FU&*1$ybuyi-xRJmO1O_@cr;e!To1m;jV85fN~XVVSt}eSgql8i z-G~bgH^dn22wU(XHuu%*7-YnBh$NK4&*`U@Rj%M%(#^~>O{p)*4Eo|dd^e@(CJK5w zgBx!9bxaB>-;-uP90$L9C@l+ZwS3-GH$)anG8#R+`}U;chZ{Z1h_U@&G)bd+$>Zdd zY44T4Q=G#g^DLRh>2cA>xf*0tfWN|Z{L+wAC>eh~jTEoO$8LV|>1*T#m1pLG&;8u) zQrpI7N-A-EjFirJb(m1Cv^<|MZk`Bp=TJbOcqc1W*jHZRES-@44r4J)gCUzFOA}#P zJ{ph52eCVw~8ZalouQCDL>!O8H;Ell^d6R2BexCCXSR;0 z@R&WqyMhrDX2*oaR+el$9?rfs6CWDH@$l(kMp^v>hN=Q~EvB}ih9`Ly7jGCmYzZ9y zi1Q%LiHgG8b$@H{)!gv+Bo<4?HUTS^7c^QG&Djy*s{@3K zxBbg=mY%&NG}M%AbYRnDbotuR&^Ie? z1K&db9ytk_jL9WNEbNa>tGA8N~U*k7$S@G zzl-R7oBA#7*4rkpON}0ThI^}n5A-U(zxv?NZ#a$lyuC?Y-B?!Dn#S``J3Pu#KCCvT zhCW<8!eGJpSvphu%;hi+&rRtOEf%^33q4Za)ee+Qm5Ekri?{kT_xG=kGBF_sw-0C4 z@-gsy6sEvm*T4`(YL{w5%lY_m(A`=?@P?K6X!}w)COm2hoo7Cda+Y47_^?@7jAn9; zTVwdgY;kf*E9t&E8`6aCnRVj)rYW^EpA!*3GpIE*U76Rh0Y`G%e3(U90x=MYsK|OC27y5 z4sD3DBNs_?C8f)%!-YfIrVX3qCMtW(M3e%>dtK_LKXu(l(YcgZkhD)j> z$;_C7Inygs&t;sdY*{NGC|oFA3{hf;z4R4T*(sWAHo^PKad?@xrCZ_Gbx z$LSX*G_dn>{+9)TKm9QFf2i8Q8~(E`;va*g=A;{JB7B5fJx_1_<9*)yv9H%gPV8X?;Dr z%90X6P^*~x&UML0Q$dmQ<}S9=jv-T5rYR=_kygN!Qh%NPN9;>2-;S5}A}rprW;T28 zEbv|~998S&Uym7$)(}uYd1)__av_2E0otp!eZtyz9cxcRNRS`eOb?>dO=R3^f<&d2nw#xoL3k4PF_oaD=S3ZIylD0f#Rqt7GA-2_*{} zNlASk9MoUp-`)1%YIEyFKe!ScZxtk~Rj4*{Kgs8Xq_iVr61z?%!Sv3sY(|cNZZwh%vjde-|MIlL1Xe zFo&}EausPR2Aqe95TSBs4?9{ev%5n1{`7`KcRtDtD8~Lp3 z2|a5!QeJ)pfD zR?*d#&(rp_KHD$uL4O#lmHr%7y4n zxRU5Jf=CZrAESXJ)E@>DuiDq0Jwh7A_Ii5>x z^XWP)YRk7MI(y@Lbk=H8&7L|aDXSY8H~X0j8_*)$EPR^d@{u7voAO|eUu%q5jcprV zZd@s*g0X-Jjtf_BTY2sBfsEuB<8*b9T-;Dp-}n@l>WCTxHZ9HVo@vsIdzK3E6R*ak zU9`D9vQrk_FfTC4Z*hDGV#a*9o6qej&0%kQOReG0Q`^92D*T7X91JRpTf1dlU9qO5M+GctszgU68I*Oh(l+F+9S&dS&_=@_@i$ zXOq$G>S>z{F$=0=GyfiB%6zwO!O4M7I(j)gV|ezf4OaCVd<_u|vMD`Vmb`8|S&_BD z74@OD!9~y^2Rfuehq(Gs51&rg-C?}9BVT4kT;xa>YX;M6{Tg1gCx3fNDRDSd`{c&s z!CQxp)@~glN4Kl)qA|$M5!OPIqrY_-os`6iE!fJhw-u{{iknMA**x!soCGrZGs6C0#ZWzciSb# z6k~aJBYD-tAn8~3sU1mZO%E9Nl!?e<%Uq-2^vK&>JSaTra%hml$Ei9$b<+lDe-Jr2 zII8Uoein|RJm+h&^;Ng?Qxa|W+obKoyXndFjLar?Xj21X7~X&2d+2*(=Y7I{=DTN} z)k?b(Nb%9QhIK1d1&>%5KCu>9@d;#Icp*t7fz?<~prw#=LDz91G5B-mW5LEoxYbv4 z(}ABKBN?`N-=q^)_5Nbufw`z8tRQJ1sP!t#kS}spnG3JeQA;xW%ZPC5Wu^HBZTgg0 zXPde~1kL%ERA$-)*WH;d%#Rvf?6 z{zArU-SAeWO{$|Cmpq6r-Dfnb3yzFF;A*v3V@yU7z@)v(C-o4i2kDci?ICAq#b79z z!W~8Y#eK5qk}kgoC_x1m76LH}kktuR{2KP=%aN`9nI7G$@^FaE!8*tYyveF{&~roT zyF~e+qOH{TgfS09=A+46gGa*0hmRgz6!F<^)_&Mmy{O8%9c3kVw>+tYsU}jO4Cg4z zICz?iKl2eSYE4m|baM>tNkPw`QBfIxK*%A>_Tb&cuHBLDJrx9&cK1Pw(a+Pg>304@h60({xC-RflAH8C!uiN< z#qcm2`&OOPvt4Vry54jato6-w89L0?fm{7@ zzDMY3?K2Ob$ z7f*lT`X4F%kCgrkDQ%h9|4k8?8#sYQ>c6!V5veK<*&@$gazg3z`ILwxelwnJ-!4$o zn!oiOpJGS=StAX<+(ujC&KEL;kx=w8Dc<4z0iVGgp_Er-xwlF<)L#|&a*??d6uWwv zO)>}Q3hU206Vbk=sH$XHEJ628)YDh+!*l(PSu!mteUXPQW}8d;5h||f6U>mzMZ6DR`q< zVicc!7gV(s&i9)%6yaO7(#GeQC#6r4&)~)g4V?Yzvsb-7{7&n!`ef}c{$aj>p|XDo zaZgbbK9%Hc3NjR(fGWvc@o(|ZP#9%W;T3uAhRg+CV=mOFo=uXBdCb67kFtpSaPb?W zRw6dzYvZ~=hW+M*Pc%di^*;MMKVW~id~Go}gou)GZa1cI{4;mYrTiTd|A%XULjU(# z5cXCC^Cc}SQjEC|v|55SA__vRrrMTapC=%*vOqg|OLocoyqSKtwR_oqPbS}VZ@Ct6vOd#%K(NQ3XdN#k6oQqYRs{PeChDx2|}gKdIBtZ zIBOP6CCl(nQ>vzt;`f8xU8d}>*G_w^f3@*(pUc!k4jJzbb%}mB&Yhd&Z6v;MvzjBX zN9d-qXzur{u)8IaBy2e?Ba;aD9lI|RRtSv0gp8qe4qy8oA&ax~26qB!N-<$^N4JbM zz!^h;4BZfAQp)L5gW8v8>BnNPN~!+8_Ra#Xi)MZFOGu|6q9`c{Qa?cfMM_jaQjit_ z2}K%_FsL6XNC=360V17BH;96C2`VKLf*{=?+*#D~dN{u4^`7&&pZosrorU?$?#^s| zXZD$Ap52|t*p4^74l%yRwNSM^NhRGeMy)0=*}YAEQQcn2;ZyTKVWmNxTizwhsrvSy zvmH)fGp3k4s7S}|rc)nV^5~Hc7+k90BAR-;b~xY>KPS#dQ^TgA5o5o%rS?7^c;f!O zY7x0z%HyAW-sY7s7YW#Yk&tjHD|FfztIJE7rBplA^zqAz>N!(V%+!p;juJ{LBOgvH z6%YAIr=_cJi6ho0ycpQ(Ntxh>*L(VM1edl?Y>OT3_=Wo=w>7=Ym@QFGRv3ZqfrE4Q`+sNh& zeV;l9G}ce3X7B3^c)%=9g)zRhvNZms{!5-W?VBE1!+K?0$EV=B=`b z+~74HoYjFAkpOmGEic}HZu(0jpHn#4XQ@o19uV%&3Z3n4~ylyRB`&l7GCBfzSCy zZS0%c*f8-%I{xPJIlnt`P0#0WzdW66VzJR)5sOSK^Pe)roRxKcEwgL<4(F2;&DKtg zC^J=9SLAzv!)aa|yn@}Ab}Ocl_Io<_T8%q&8VfFY(}XBHiOUJs%&FY74#HK5!b#xq zK5u+Wz_3L;E$!K)n`9q*pty)AvSXjL6D!xWqnNsIbF2FUQoO4u%p(6Yev2**j*X)-Xa4j__?~r%3vPMK( z@|#^PA?4_Pp)Yp_W3ZNJwa z$$aFc6!Vzf!`K#U{-AA#3zZo2LXNRT6u;8fCUFh=JX>wo&gSQSQ_o7yy1*=kHsGEx zZDjR4(W31P*Lhk;zJT)upFZnUk2utuAIiuvznpo8>deVG*{oY<^txywRI9j1k^Hb) zwJ@=B)<-mO5$^e?;5FNtXWJ1iuI(pz;%x%Mk@DJb{aa`>bZ#>`tg{(;X`<0g`#y7u z8Gf$I;(0|S-HG*Xlm#O+xo3#rNtxIe% zAJfcY_T(?;lwS@%zsPmo3|mDuIKl7JfAqjcVe^5FBv2Wu;k%0PUB$nC zS8@KyGm$XR{W=c5LjSEU*cYuHr7jF@>Emq2Ogl=mw(PJ(-qv?PhYsqbO(7h%X7^{= zs>2*KWAAfJI2^H*E$Y9}>K4^wvAva%<3g9wmv?^hx-Up@@k0;9^yNPeYFci5JW#9J z6qhKk^=`T(`R?N;Ghe6NN&Di4A7 zV>L~qnj`4u^)7ZsWlzlUgM?oz9rhE2XZH!T;+{HA#ikjQ@^TeNtIlz4rRuKtzQC)7 z92xE9_C<1g2Mu>}kkL*uzAUPq?$g~<@j-O?2DhPMW)%@NY4L<0-61SNXo_YLx%bh) z;Jc?==H`58IrPQcDkL9kl_u>oOnH03D$Rq}VB381ZjlWBN0~&rPpd;7Ds*1VawvM_ zp3|i)&|KJw9HO@(aiQGq-xy`Yd8NOi$;pOF=DO|Njv=2ac5aNU*7Ue0%ghaoW@fOK zS%yQnf??r1_DivEX!a_}-I8|+%jUd6^yYM<(`3lxoYz-|DSf32{@%qkt6{R|C9hk! z+c>%HoVx0CsW*wvcb&K+S~qgpt*|I!-;B6t1O z56a5D8_Ra~*VdA72W_YH3U^FDATV7T3fsGl@*OUDg@_3;8BG=crxKg0RV}I~A}drf zKGDg|M>+|uU$!vB6xfPA_RL@@!dRM7y`s8M>%LRul#Lj5lBq4ujJ~&dX;_`#Gy6ai z9YIab%3|*mBatU#^R*7hPIAlL3Ey{$_RM|0o!8s=8tUFu-j&vQL3rFX_JIY7XAoj= z$=IOb40yzn8|>b2`@#++^OLiMivr;`#KLyB1`eVd>8*~G^C^HwECzLL;F-(2S7z_< zne&ydoDn${&kDwEH@s&g92TkKODH4oWpO<`Qm#-jnH6tkw|f8LN0!J$gvK;(hpCor zD@oWH+W@XR>8eH1v^P9iG4VP=c+VxfX$VLhU$~_TFM8t4D$!#?BacxRLrB_O*Q^w*Obj?DYzJSFn(*7GOxDIybf2?*ad+q};;7yqyC?c0 z6^nGw&GvO*JNbJxXIsU|kH!o^{-fq>Wb-9U3~0_s;rj=$Is5D8?9$y`N8W+v>@^s1 z<+qx%`iP#ut`oG?lOaxob&Fl^8hx@lIKnw;J@1a+vSc#ocw|8~@a(W4!=3XjS{|oM zMoicb*m@zvI(+$kDcdQHct?$R@Om67?>k`Msh2G|?*@gm!tPwW``SKmC13%mxj`q!#rFhROAxvQ}yZ2d$ z=;3(ZqkH!%J6Fx!F7DfYCG?yL`j+L@?XODRCKT*(n;7f`?w-!m&dAk%tju9n|DkDM zHb7pD`^-5Eo{N|wY0qWu+!hVa^q8vj(g0(+ZN=@!)_t>HUQLaTG<@w?JtZbi?Z>9= z?S6S#GiNPMXI&#);_Ofcf0?WO^!(#??0yZUosK((vyV55pM51~oBCxY_Wd)vR?jzw zFLx^mw)no+BtCe|{=BwJ$K?wxH=aD7#_^}xc~RUhq;%WY3)KEg-6FPP^cgY(pC57? z4}2!nly%g>W7gVr@{@mO>_#C?_Qct`vXmi5_2tY1u6AqTSLR6w$bFpG3LK0n9Jxqx zBBonX+vU_Ue01Y%@I zX<5odiHb9=Z)ZmuJk`)UVY+_)5fA6{ge4i=`vD0@YCD=q=!h+q>W?$`I6Wd}Izd5m zafI9bg29;=`yXGB{lHX!A&yEA+BhhUe~;?+dsFu3F4}At8d*K@B~)1H506~5m>e+L zd8$4JedV&3c(;&X9{xp4x0895`m$xt8uqzrsf|#mnwZmiQ`-mr^T%A42eSN!KLo2A zS?a2t18>wGeBly$vX;?b()Uu%ndk1YWTmA#!4dI3wHe7ng19_PN7a{~9&jZ{xaoQe zH@TLdSTvd_X0emiIYr>fn}SPXb0>ALTB|EolnN7_(H5GuOwdb@FCAX4%#<_lN$fh? zW|lUae7W}C(QL&>wfL)aVyaRP9x)kS$=%0r*qc1}QAdGnXjc-|KJ!IW7kSQ$RrseJ zl^Ay0JvyxxNA7p<&m#|3Xab|yGy+HqJg^kx066tNF z^dq-$T5^a!Un-NV+W6ZwiCaa|f7vARY(DH~22J8;_>c`YiGSTBDkuyj<$}8+{`bE| zQ?zcwY<_pZ^Py&&Y1%I}12Xi)q41TDH?Y$Fuq&tH- zrj4H9NMPS8wWh~q#!y(Q4plXdRZq?q2km|PmVib2VE6%FCp=A!TKY2+Ctb>~lNXoF zC)!i8#St$O`-@oiv8X$xIj?Hy<=}|=3rdVS;01~M7MBFuJ#O}$gC(Hw<_~_D_SDR%+Lw zO9q^M&Dj{geEaB-2=Z%fXEMqPm^;QK&QXoil1dVUo{U*wHJTHBcv)(=SSV3|C8B}Z zt@&2*Fv&F0$nG5icY9BrGuS<9x}!x#`>=iVu7-i<5gK<{&%0-92#V!1ElXFr60VOk z+um>8D`xy=6!$&N&hi-d1DFf-rShkhJL#$8b#s-S&5H0oQO+NY#TSxEPqK=y@v)z4 zpORNmoWhs7CKr`?w$_)ivm0NNwKt^zzHEwvz_0zbZ5EaWwF}|Avm+K+#T` zHc`(X_i&b?l`n3}+b89t?x2IM8j)$n2v9*eqcl7S_p6}GLK5qB4pxlpvFj&ME zVYw!an*_Q)JErODzjWHFf)8e83!WB@y`Q%JB$3tY;BfKael?CPPHMfn-gI40KW1XK zgQGh8t5uqFKedl;jNt@i)03Sm8M+&q!OsunJZ+CNtujJ^^1!yZ| zjqfwTeMC;POKqFlkz}ts;)EX#W*nKnRz%k(tM$soIrM9d4gIz+F549@aD>^i?n)q8 z%CZeJjmw+k=vA!|u!(idU`ui)X-Sr~HKn%XNXRtM74tntKNU>0yYjfp0-MBYF#q{a z{!RNNRv+<;e_rOcycbt}=U_K$Jf+D|*;Um^i3bbpe#hrDm!4gIg?*u*yzO2^w1dfN z;@pX^?^UWwDCSvsjXQEAOOC9+;26!i&+4vCmfUV|!~V7<#>M9L)wCNpR6P15FA_MO zNL1R^+H|yD;KvGzayp5~dR*K^P3-BfjX6W$)7HA*JJ4FL`lT#2r*mpMCyhtbRnuDD z`;At9#r1Ms=FV3`>8q{YL@AkziKUMnRXkL_@4aH)d11Pg3Wm2y8K#SOYyxYA^i@TC3JhMvKKg`5zV^t|p608wnRN?!j##B3*8>x}E__?i zEDs!z8n!YfW;4P0l8zKLRCzD#QKc(Czbzn}q0?Sg8<|W+@^sV1SA{dYLsXgChsbe0 zThDvg%wJzC%OGA6G)vFMyfn`&&9Pg)7cZlhM$x^xBXlanBaYT;Whs1HTP^<0u#F>g zF5r&*d$m(r<-~v4PE~BSQ()B6O!uPY8T!qplHO?nj5<#hoe!ar1ZAh(Mu5PzT(oYs9CU z>A&e35p08=Eb3$qbqn!h7-3wno*8J$csQg}Rv>-z^_zeAcZdf59o!L&2@c|c+Q?_kjq)v`HA8D7XUhDe=ub-v(gb>>DC6 zl&I%#v;@$J1Tg$Dk2?25kB=?`gDRMQI7%b}Fn@5s`-y`c$n(z}+|nffk^{QuUvWTP zF#h1M9pw4OAqUd|96kPUC@BEeqrNW&!3ic+_JZGkev@>oTa{nD`4kq?aQY<%G-w`^ zRG$u5CKFPd6%wY%?9gK}kd3!|Cq#T-%ke|6y#!xB3FF028`Eq_nq6kJf+ur(x$^nA zsRlvk2D;<>AMcLuo$kvpCvek=gDQlImd$~GE*aXGfMM{^;gg@L19yB!$V&M$Cz(eI zWyKu!h#nN+x`VuDqIW-2^iEJF)-Rz$R>yCk^9VW`o6()j- z1?~l8eK|%?^qgL)=~Tthv-ec};^Mo%kU0v+cN0!}xcCK}m|2uQ-Q)Gr$2RD}O?%0a zl`)d%`y)kdeu2Mlir?QN;pYkte7dr!?fE6P}B(pC;_iDM$%FtsciH)4ypXU$90xN{@M+e_|%NVb>j?j4ZuzG5e5X-TwaeGbaNtXtPa{9|Z*AL8Y zFDY61hiMiMpY|WGX0kR5oO}!J&Odb(c1FGuL+kZn+lF+$2YEY$YB$jI&$qA55wXtf*{DvCZr@Ak zI>bMEl4X#2v}d_4FZn6ed$xUf#*sWy>3{ac_|`@Z0QqV9MH9F6i}C;1SJ+l5`Nv^@ z$6dwN()(lUCZJ*cg}aKjZ|cf-cNM|J26)UgedNE=d#HZWdw@jW)O$2GkM&LO`KEft zY-*c7be%u+9(=^l&u{(Ly3emYe&J1>1+UPe`r$Uvc>Hj+O$UyMYGHK1{p$#r|KVyI zALvUspmIwC_Y=%u{U7?$N1*S4#P52}C0}L)bv7&rw3~k_qE#X>}3F1+W%)fIpVEqhNhge{F!K|!VYa!;iLUl72vtv*4H9OCoxTXC- z)L2jG-HTzWR|~=E${aX^cl$qQi)0-j?xoa_R*1jMI*YyYkl6V&pJ=yklcSt;vOe+b z;L*MZ*X5LHQl+LzSi~#u9SS2(wHe=?Fk2>SS`#ApHdn)_7r&P;$-gbfYM_*}Z|=hk z$E#kO!t9hG?5H(>@~v0(vrG~B%CdoazzGAmws?#9Cm+N&Z6hn`W0m-0o6SEnmcP4Y zv|IO-!26X2L2QM15B>Himb1j})?Xd0G$Vy6j0bk+@d!*>3HZB2|Rt&@>-N=>-)L)%MZb&_uxcgtgJ8 z+H+RkstbI}w{v7K(Zr6LJE^rEam?#aPO8u^?=j$M$=!a7R+i(L?i{9P{*u@!pX~ml z?mJJGw2-+@mMoh&6^aYPYzudwxLbcnx2| zdHOh|oyHdCja7Wq$A}5!s0`S`e3{s>hZKv-^Bf@1 zPFV?RR3`|i59}=h{zOpA%&;hF--i zbA^rG9VFruf>*q?O+r7vl*O9!ay#9=K=m@bo%bzC;Lw5z&I@Pb+Ye1tr(`Ie&sSP_ zCFSlEZ`NAU!6z!B-EpXQF)1wl^6O}S3*|k_!u3>?j~qL zer2B7DtW<0|1|wZ!@N}%{joJakWN31b+)xd-+CASu_1bI|MNZlFWYV@r$4s!1u|hv zsr?x56m5EDK~AS{t?Bn>88mkY9p%VoW5@|oei#Y1fp!fSv|OQ}(Gvn&p_&ao;)b|I zO5%DT48UcQC&C8IB;O1n?x>5VO!N=-miz0*xN<{Uci}J;;4oO@!IAb3*bX5z%czbnNbqqi6QiE-XCl%4hByk&tkG ze9n4d_9@-1{$s*6dK%HbxAOvh2zv9BU+v|Tdrh~$=}oyizR>v4$r3UA?cr@a z*VA4F90H#@Pz}pX4g_#T*f!%dP!P5Xt6xpIJ$&N9t?XX6+=;~MAg-k9n^un%SQT+c zKW67Y-(60{aS>ypR+9NuimTC6V1JOPKq0fHHr`x@=hYcu(Bjo(_%+_S_Uhgv+s56U zr&>B(?ViT1ZM?pGME>Jy@2&$yoO*#JEi;yJLCO{=!hdb#bmn+;(Ucwk+Q?ZnRiG}B z2>MnHCJpTM!zNU!eA{$m-nNRnJqv%ylN(_Ce181mwae9kca|jNDnIT|Gi7Ue{r*Mz zScS^Mo(qq7&+%91QDSuTD6EDQ=&YXF(Ch1a3#OJ<~jG&`+9DxWq)bLQ*u8nbFI zyC?;ons$xafLF`>!Zf9eUm1s5+@@;|B^XF484`Z7BO7W5 zryRxGI%xL`s*_61_0o10I_&8a>1z`l;Q!@ya%K^}Y6mHQ+Ch+#uaumS6>kx;Dp4^#tsyBKmjCp5q^0{Szs)^;Q5lewuzm z3T>?{e{9Y4@1@XI`hRRl_+1M9!Wl3+a&jKXNeu33bfTO>?Jrx^XH?NwLQ{c@ZJ>EDIirg;>|rcKq`9aZnw0T2WSm{{HM(IvFofSO^^JfJTCCSrVQd^FFuCDefW z>rMpzlo&`kjzcnqb^!>!%gZZ3ULF9;-{hhz*bxp=27alKa&)IebvO@zHFyJu9-;p( zBiVqA>;fcFxhV-GWfPQ?P*VP?ML5>c^0pDwp)Vl(Qah`#dVxCr3}2z_&=^e{27={xCEw-ozR%#>mgdlVK_S-q z>4KBur`!l@?c88G@&r#h!WFBe(ZGu-eFj29hsH-Uvi8o|jVbl4-+aV1zjnyQ#m)Cn zmFx7^>lr(q&dgh_%%6&&XI<{%s9?tgk4b=w`<0^he@{ei#STvJ`}7+k68G0466|0E z1k?iYvk)PKLIkQ?|7X>$t+jbeXW>K;6e9X(oo!66=%L1xtsSrbSkKyu{f7tvYQ|sd zSzCk%ko`ZKDYps{A}BHwoje&=bFtJ%tI7J1{0(Gp4G*XnMl)BzPtMJv&IqY zgYhkIRj+>uEwCK2ysP;1WF=QjMIa-?fuJt_l)mxR%;^$sru`?ss))IEH}&@nD%^Cj2$S4RMA^LrDOXWMQxIT8-ZTmU8#0J*(O@=n7E+={q@RsK z2N5*Ip9WozAY*($Bq4j9nsJax_R9#uiawSF#+7dYLF{&-`EWM30jc1@m_ra)fy{53 zchI>p24J@WQ$Mg>q1&MgI0zYf8gTl5ngBX53<3HGf6Ii{0^Ih7_6K|nRG|?>2sh7i zI$G!GLDp}z>DzmbXiW(Q0kyhhg8&*zq#Ojafqe}EYAS370j-hmKtSJI?E?Wcpqu@C zFhVgh1p@l8dIM$h;&aB#{9V$?`E99H!C z;gbRPl%ZhX0gs>o_ox96e`d}@M+Lby^PuM?C9Squvl;V$)bM|fL6&c~!N0^5o9Bn7 zqvwfETVqCW;;3O2y-sOE3$qJ$W(az1lf`M1#aYag#hC*h*#jPV16b^UN5&=|DLXSm zi_J{Rrlw{_Cd~bA{@{NA>pg%i9>6}@^tY^H?Py}BVr^z+&pd#Q7{I0uc!0F5@0rm3 zC4fbQ3>+Rsj^bbiVX&lZI4p6%J$%3;V8A_oz}*wz7{G$Xq|L2;H!l z9l>g%E5K?jNCc+tf43ezSJbSI=0WR@qM4DM^%ZMVd*<&2@y9_CNswOd>%0J>&H3o7 z`!A!Cc5}VqT^mL)4^DSeYRZ7v_v5C7-$2(9A%0XB!3Bf2Xh6j(wgIbkN_kA2|xmn03-kjKmw2eBmfCO0+0YC00}?>kN_kA2|xmn03-kjKmw2eBmfCO z0+0YC00}?>kN_kA2|xmn03-kjKmw2eBmfCO0+0YC00}?>kN_kA2|xmn03-kjKmw2e zBmfCO0+0YC00}?>kN_kA2|xmn03-kjKmw2eBmfCO0+0YC00}?>kN_kA2|xmn03-kj zKmw2eBmfCO0+0YC00}?>kN_kA2|xmn03-kjKmw2eBmfCO0+0YC00}?>kN_kA2|xmn z03-kjKmw2eBmfCO0+0YC00}?>kN_kA2|xmn03-kjKmw2eBmfCO0+0YC00}?>kN_kA z2|xmn03-kjKmw2eBmfCO0+0YC00}?>kN_kA2|xmn03-kjKmw2eBmfCO0+0YC00}?> zkN_kA2|xmn03-kjKmw2eBmfCO0+0YC00}?>kN_kA2|xmn03-kjKmw2eBmfCO0+0YC z015mFfvPa0ssPn0PxQY8{KEO)=Fs@S{7<0%jaD~?nWM#uUexLDMGWV^74ctj0Jp~9 zs38C3R6zM|bOeCJjt&q48cTX7I|8a6q`^D-FQplZ?r%T!hM7-pRBa6R4i9f^3|BR# zRe{BlFtmK(9sTbmTUCJ0-@bS^VEg+YORE17?eB17PH$D(a8+7wNgVnM=YN|6K=(Jl zfAJ7F{U!lMkdFj}0j&1`ws-*h2tncDfPkj#MpHZr2Czv39#03be#`?NWt(%p1K5;* z