From 74004cbf39504c55f04991591a2c1122a8cfefae Mon Sep 17 00:00:00 2001 From: kenstir Date: Wed, 2 Dec 2015 22:45:15 -0500 Subject: [PATCH] First use of volley library to fetch libraries JSON --- Open-ILS/src/Android/core/core.iml | 9 ++ Open-ILS/src/Android/core/libs/volley.jar | Bin 0 -> 91059 bytes .../evergreen_ils/auth/AuthenticatorActivity.java | 123 +++++++++++++-------- .../core/src/org/evergreen_ils/globals/Utils.java | 2 +- .../src/org/evergreen_ils/net/VolleyWrangler.java | 67 +++++++++++ 5 files changed, 155 insertions(+), 46 deletions(-) create mode 100644 Open-ILS/src/Android/core/libs/volley.jar create mode 100644 Open-ILS/src/Android/core/src/org/evergreen_ils/net/VolleyWrangler.java diff --git a/Open-ILS/src/Android/core/core.iml b/Open-ILS/src/Android/core/core.iml index bb3df034db..df63485834 100644 --- a/Open-ILS/src/Android/core/core.iml +++ b/Open-ILS/src/Android/core/core.iml @@ -46,6 +46,15 @@ + + + + + + + + + diff --git a/Open-ILS/src/Android/core/libs/volley.jar b/Open-ILS/src/Android/core/libs/volley.jar new file mode 100644 index 0000000000000000000000000000000000000000..8f3934c4eeecac2ecfd0152330503f59e273334d GIT binary patch literal 91059 zcma&NV{mTWmIj(+$F^}~0N)qTKW^U_#P^aBQ5K+)kQJr-0U-Yu!A3uzORR4J zjPHf~KLuq3WF@MDJuKC#0olXlG%hXeg&AXPOl07npVq_YQ&n_GjPE|My#g zzkeIq+5E2;{!ba`f5{lw8avuq82_KLNPm-cwX?Q1@%Uel1YVp~*?fPwGzb6y#lL?< zz{S~I)WE{p#nD8>(b3M4*2vnx$tfmD&kj)lzRxURtKWkr6?Iru%d#IA>`*#-M0kEE zowcICC;r#l<4WJ^e(E_+jc-+^xw!ZBEEr$1!{bV8Fm3}KQ`6w2-KT@!=jS^J09_vg zKG-6*@oq-5YjJ&Xxk-O&XRVM>m=4fHP#pEaC;6?rJ-RS;IC!!q^9kgo3r^Z7t=a7a z7SNg&-E|=kkVVxJLA=LIS2Ta`A;`HqGrP%NaPI2~MRU8<2P{giHG4HcoiM#XBlI{Vagw~?KdQkZLWW}>?&;1-$AMR&d$w_Sjf}vP6)`z)2$fcZ~qn-z%4=L%IotaQ=!u z$Hqa{F#9K5 zeGW7^+VhaD@aBEL5avp@VRi8cXr9gNLMZ4(3W`s0Agk zW5sM$VbxOYaWzu`hk7h>M-8Rw?wy7HarhuNzd~RvX){r~(PE3a$m|L+4z=$5XW8N$ zp;7jsvjQvmEQJ!T$=NA$Y0 z*MN&~K66~+&9wjwc$e$4A7k(`l=mW2uFrA`ov20m2Cki3-D}x-^C?_VZMVE8E8C6g zLY7HGIEmoy7c2EUk5JDYc^AQ(p^QT@#iu!V1%Ia^v^%nWG{wnclDZf+1g~A91ti50 zbLnWdL2kwlwUce&-DFcb)*biVK%N_K<5tiZro! zko@wlDn`n}2t-3|d`kd0Df)z{Dd`60>1k_E&xkiZZqKK^VPT@19k^>TjH)n+zI^P? z%FfPLm!9R#pT1wu5c;Tb+R!_lQCRI9;9x3Nmb8D`O^ViGO|hSWO5`yq)IEo#=c2zzMT2pfwN`9-l5skmm6NScb;n|e!DPH>ex5k`x#q^U_{V7+>)n}%a^vmp;=;}w-|!n!wF>8sfVXA70jzPOy?E> zX{fqROwE~6)5DtBk9TUryxOk}kjr?Y^;i0hi0C8hMD_jGaOU?-K`0m38s0bp7tTvU*R)ZcTS`}|t5|C)$s2DO9DL#Szs{hP z-nT%XWjOWwcN~fBA$5A9-&7;q6@|tCWc(Inc_IeR=ggr;2(UD zdkdaPs<>yCOyHR12duQ~Rlr)>!y}+yAW5CFO==sgQeM@PA7`I-iL&R&k|XmtG$#9A zn*yhZ_*1aWBgOC_56j-E>>u*dKgbMvc`%y%tuTr#w5Qo`&<1g|2X^rOibAN|iMX$C z#u)i#58Qvx9RDv0|B1hlxGBjW49FpJ)@CEIDra(0RBE(qF&gS>I;bE8JB2#~I+MW+ zBr?QFunS^NyFZ@g_j2&tF<9cg?b(kHw&G^m+yKN25~8LD&XTy)n9553L*HZKpzLy5~Xaau_Tpjs0eb87N4~$CCG*GEf(h9R@xQomTE~y>uszViRZ|7D{N0$bt|=O#C_~LXZ9Ik{IdF^EoWiMub4&-DaaE8_-rqeGdR(iNIoHJBprh zi3pAs77EryuAu&^x=word!}y(#{CXdDE|-D30pYX8#sS^vLi9Wzaj-CEjc6s5$?-1^ELBT^L2H2@~eq_ zgwwW)Sfl_7xe%{f<{t8UuS;Ka;Mblm2j^FDed5zM2P2LA8$NBZ%3j~2(H|N12qw>? zy*Ei@KsiVBux223HjwH$^<^NGxpwyx&UR8_b_c5bQd3YV(5xm0W^YDCDI`R>wc;I?))U_5V2W2=m!%7f$Z?1}+g@c)1@^*1X^l38 zD>q#@#**}_KqNQmW0HL@%_J7(hBbbnYs^(D2%x{2dg+jT)SDU2_M>RK?C4JlK$w8- zuRh|YTDQZdHW1SLxN>%v8bG3y=U#WOt<6RT$#XH-6pvuLIA3~mrc$NMF_al+INchS zd)eVUu*kgksT3$!AX_B0%LU0_G?LUQ{_H$g>9f!P+f!wg+J~QKweyt;~w-$B@+Py;mH>{-@1ULF+^Bz zxjT$9a|xRbAzj$P^XV&~`0fb;>KS-|b!es75=EyZEa@xw7GE&c zmg1%si}S0<0_q+FnVcCyUf0IGWx?WnK}PEt!qoo@F!U3Y=_3P=G5D&McpV|}!r%|a z_AjkBVq+&k*8Rqe@TP`?6Jz8g%3B9y{n6e0 zl|YJin(LkKNRI($R5UwrN*cMTk&h;ePO?R;=s9uW-4Pq?CWXA0k|a*VL3DVZftH6L zi)?=-piW|Zx#&4`!MhSfZa;%OH)fZ^TWPp$ul>h%YSc{Cvuw1qY~^!pb!8}{(a3K-}M99P-vIh$uwc8r+X?yFUgU*3Rryh^d z^yc#${wgT}>mkfGm!AiYQeT{{&TyEr1ZC@`XX>W5Yvaem)|d6^ln^slvQN$r@J%iB z#P3S6Tp9&)+N7oWT0K(%(u@@6NFG+2?M;xjb#}v4oULS)mK#VE*pwQ)G|pPBhfn10 zoGrL*%O&&ie>&SQI4kitj??cw_w!An3KR{b+r{o1xYZDYVhfJr{?w8jrwrHg8F<`o zU}9{Ud5CNt_mvzw7!7M!J-Xb)q959eO_liDc5LlgH&{N@ok6Uug?;w>djk;ULEaK1 zCnm*fHKLT;u7(C)RME$e3;(*TjznWWPZI*UfT1Ay0dpDIiGmC1S}mGX85tigP<-3T zle=#BHsB&9qL==`6iWV@YNS+S6T{Dvufn3NYJqd(Vsz`T3q76ThW4R&?_!>*aL=d zC{FoZeNYNr{ssw#Z+ONXh9#EnCU9?DRwAykmzRS19sB3+YeroIjFgaOyOY`s7Uy+% z4+G0~d==jaJ&R`+U!|I9>;7AAn4iN{n7T>pcI0$&>b|Oz$TVt~?>M^0n{CAMzZJrC z4tZ;E8$vm>7p_5R$H%6u)cX!eju3mwyK;g3km}0S7p_rj$yYk5-G(7bFNBv+2arkc z1P9j{N5)%}2s*^pyu}QAtMrfmtZHv(VGf;5UylV-IVbg1q2&f@sZs!fE>t!etS--T zV>$;-vsXE43Q)EbQj2+~QEakss%L5R!z7gxa_HKwxEK@M==1ERWx#c%?rZWwgetw2 zd@hN`(n}eqsC#a4PDzZefsk&4lM+i2w4C{k&suCU!<}3fL!ZjHa3?zNr7o+DukB*{lY+Vuu3G^y2*0HN{&~C>2O@VI&tIe*%b&C^9j^0)t<1ap$9eT6Nzd>P?X||J4J{C8wK}KTeN$!)JV`602<%;l1u3_8 z8AGlV?SVL>oOA|cU+c6*K7ehoCWtu6_MsW;E|8r~po z*ivS+L@nVu27yn|jy%q&yB$!=m&G$&>EK`dnKu|vo&ih(U&NoN_q+I+X1}Lh)A{yb z4VYr>mmPkIW`yS%CHmx|>){7R5M1&_Be|m^4K=Y-;lp9k`e{t(i)T|1rd>mqzJxFi z9&k<7g^0a0^N!@__Ty1}K;;%*+%-q=sP9MG+}>V#9IgcwQ0`&fT`0mRQT7ZmpMKjQ}d97|zJQ*lYtu?C*(?!3LiL z<>=ty1=fEL;27;{{K9(k30^@o&)4RBG!$L!=gP z`@Ebq`crq(%xI#y9`x(zs?eKDFgvq0a46?u7< zkciFa!ia$y$KOvxAwfN%zK&(vN$FOs#Am6OpUBnK%&)o!wO+Ll5Oufuy^1+qYIZGJ zEutp7x>cLzl+h_a{D|g!n~QsTB>*#yA;a95u$;Er(5PyLHA}{c$U_D$XKOlcFG4I^ zHg`r|AI)$LotGXqPf7(V*?WrhQ-Vy2=ylzEgaUDpTAfFYj0Sug#~nJuR(LqSf?CKMIO=LthoJ{xv-t8*J@C$lFSpDTU^}o*EH(+$UNY( zlSax zGbqMRabymQho3emz_8DrJeclIqOF+jS*NwDBR-s1_OUo8Xg1|cu^vJ2+b7)s;s@rA z(kCtkZyogBvd87i&|dc71{&xio+ICQ_vQzJsxl+T#b~s4 zhzQ&m=gXuM)f4icEB34Op?09Ou>;1~`H2hTJ*4b-J|SW0O83d;cGT=Lbca|QqC@QM z&_ijPL0=s^MAi!yQ(dzujA;g`UbelpX;|J0nyrdry#UJtLsAg$5edcU+>wl8r-&-! z)oDKQkB((aX4q-C->pyPaxfrqy%4odkFQXhN7Bf4krl#HKI_jdI&Uv!kEpvvBTUhd)_cnJzwAub#Cj%6pgk@E`=+*o?y zvz6g9r(+>{#fMaKq7{gw(szYF_|DvlYxwks14}_iG;z?W@|-*1SA4D+-Cq@NQN#LDM$RsYluO~%rk>qGSlLcgRt=>wOq9l*18U4B3oFSfl&EE@9}yBnPdlr)kU1p zk$Sj!*6c92gGepE)CBjPw zGm`oca-K0!4ML`tJn!n{Miy*}xV}(e(@_@z@SraVHPU0dU=o%myBwD+As(9w?LUI$ zA5Y!bC%s{#fI!Yb&*`xCC`zg^+|{7rvn8u?3qOS3vggCL0B58^Ma(KC36iv{x*0>O zZtWNcZ-IZ?5~fvG;I29y`O#e*MA80|D(eU%@yw7}OApiRvgranDMk2wRx^vYgXvM1 zbf10CxmnZh1&vyVQ-qpV_&EjAdeThKAKog}5Y1@^})h^}sOIzRypesu zbu88U^?r-eC&4X|k2g%*n4Y}mKp`vcz!;&#Ub7#~JwxgMdyGU(D}GnFP+IINVL8u9 zE43dPTg651Z{?sJSA;xT4cgN>w!P4SXTGAu+M_vZPqVwK>agg9{aK6N+fz;;ko##h z^Ux96lcSSWm(}aC%#wS$m*N5=C(_Cb7CMrZ@HL3-CwhoD{3BlE@5-OP<$ z)qZeDRrE=Fs5^&b3{?72dn`Bf%RSsdLQ3eT8~=jHFy%$pAGDSmjWPacn&9ZT2Dzmc z9<-+((W5u&g9~5Ll0uz5yIfKe8^sAGpSqo)yM9XHqNZ<51llZ%WWuv(!U|s~2IDsP z3MBBYZ;A@$PpI8Rbt8{dF7pSx4Fy@C@@~dPhf`B?l}fwz>kWR&&>zOb=x75-n4+8w zRh6-c_xZ)t(wdf{(XQ{4tf6D?*85A$=FB0%1{zSI>bs2Ntf(OfuQ?_H=c3nGJ@v&w!YgA}ntlV55Q)T|=ub5EMVt5t0Nc!xaAsrsRo7LP+u` zv)V8-W*#3;2ssBqpD33w#1wd!9ojBD$e;i`N39|JyNNzk7)Pp_}%1$NX2RLe)wM zNdlP%2Pg@e$Q<&wio+fkaesAVSEm$kN?0KR0<+4SgSe-`ib3ebr2ItP$_JI|MWAHL zKZ;}?U1p4c(uBNHI3A__kK0`f(z-)uK!P+@>sxCSch+SqjyhWS!7pD+I(~Z4T=OuD|5j_&SV4P)q`eL>u^V)98>PjJXEGJm~dduxL>wO zbZSw&W0jH_vYBysmYrPRfWEOhBS0FI=kg7e>X|xvQlb>!uYMlIn zbRW#K{)zfZsV@_p3VqzQ8xMq_6zeKtg3f{6np0zXGD(Yk_>SCR+9eQ1dWzyT)$+~{ zzY}Dem3EXDltiHZ`U)PJ;Y96LvrxTGuR~b7SK!JDy=bSh6~Rd}VI&K#K{>D2-BjsG z?iR8%AynMz!D0TM(!u_#tj;~4{Ki8o)b{zrp_AarS|2#>^c`paS*L>{CJ!Bbpgtgq z+_D_qopMudj6R0VYORkjcUFTF*0c;tN|DCG-Burisu@Wnf1qqPBtXl3-2Md}7@AD0 z!l$*f-^$l(v`7%$(~&Xs!Y){@wp6xlcXe8$xZXx{Zw5SYxnix_^MgWW{LO~lEuU1) z+n~z|lAgUZ_sR!ctV_4b`60xOQmrl&7X7#r-i=c)%(An}k#Zc+GfZ*hG%rC#l5R=& zPuvc3i1Yu=1@vF|aHko+&?2qT zdJr4L2>$$fV?7BHC@>M~LZ=CtD9)?cQqd+lJ7Xx*o*1?=Vop<&go^A!clZ)ok?_n6 z(YZ%qT%)ach8y=OrZ6AA;W@GUoyRYwD4LO0(Ia(RO3ptosmU80QIgTX%#=v#wcjql zPLp6tJ;zPlDD1?iNG_D{B}&*75-k7}Rp(&XP~w>FqR0`%J6V{=nmlOhu|^}X+! zeaC3{|9=0KHF0*cbF}(b1zfJnc7Pu~n*}s1O(ciVC4UShSr}PdHiRFD;$xV4Z0I@r z;m55N#Vz0q`A`74%n&PA6I15wCyt*lAoQ-6xz`E&d$Ng*aobK^U{f}|M{cNTnR6o| zQjN03Ui!~P72JoaA&g@$qCBW+#Ux{H!sbAsF$-LcKLt|ev_&$7cY^8g?`qea=-ZnO z-<181I?USaw5ZqGxez?M4iUVyT4b1Gz3^@{QQ-4hG4SQ95fGjL8nCm&eSm0bPgA9J zwC43AR|FQ9+E!Qo4EV3AAcSIJn*s*_Q2U-Y_z!J?f2rdCYYhBTDJ^Oq&dQ58pIg-3 z8RJC31_|MU!TtvN=voam62b()5E}f5<>58Frn-q@rdwEBUP$6CHHua3MKw^GS~abw zrc{zZ=8Lv#mKVKOHJh=1PuaQiPS*2RTN;dg#)+S^gS(qtPoKWqS6x3Zwz@y_j`e`- z89s6QMON@cfnuNA_x2;?WW7U)-m$^=@kI&ChrtNj0og>a1-!`v;r2^0H=>0oc?EZBg>p1=*=b)p1jJb*Bp?-=LK>yAoYV z3$!RkS(PFTxN=xU5xJs2I0hdyjn1@|keHHB8M=S8G8ON1OYVhiqV~7S$idFtccdH~ zyRH_;T8qitHYf4%Rqs1@!yFV5X6;VOOBQHOR9Dy`BtK~c<-W~=f#*a>&K znhDcui6j6gy`zOKk(AYT?<`5Mo?S~~a`=5uasBnU*(SdDIMPI&bS(t~G<2-CmvPP(XN2x0TSu&1B@PK3Hm{ zXcuI%dSG|k44LYT((*9pSSaTP3T-E}glvGjG|w?OBdaPU#?BFyAv+KAa$VwLg+FWH z5xRfSn44h9m(JV>6qM-%8KH1reS)kMRz*%yxkh1;tw*DbTr*DB!WDY~u830XCL<|t zAb@e@*vL{_#-)q*u^>}Nu2lv=m5Dl?5_65Zn)S1I&!SaHXe^f}5MG=_U_2dRH=A=py`))jeTn9#P5m%kQ&Ub05{8a;H$Z7 z+itPJ67!{N6X!~I(LpEnS_9~PN?CLE2qntgeYjSy2BW$`o`)duO|91`t~vK%+xc#E3#j!Vfw~wUq3GvmF~7Z=Y$dzqfA!C{~~Uk z$1LWZS=UEa!&0TMI3pcyyVx`%=7IT%cK?~bYx%Aq{33_BC9FA^cY}s{CVd$&FaHLL zBP7>ABcpdnokY1f9JN9nsynQQLQM&|W@~6PEnSA`)^c@nv9dJysF`VjlWM|lW3lN1 zgR6G2x!|EACWlwm5hO7f>Z*EYs&_^H!^|D=kP-5zb0M)TQyG%k<-jgTLUJ94%c8w( z+|Erp>jp(lKSTd2{0t+5)nT-O57UC@46_0!G#3>{^VVQrgY{#W+}5hJC-6n4s&g8; z%6;^@^3PHZ0YW~Aj0s{-u28i1X_jqPH8c?kP1LazUmo41{vi-ePqSrH=)4_QhT^d5 zg)mK(>C(NGy3u9`qLTe|{-y1#l9~1|L$luMwx+p?8p1H9Ddhu2*#Vqpr&HzK3iJe* zHCvDA@W`JHcfU@N*@6}?qMkh_Z@|=qlhlPpzYVPfyc7 zn(%7z20g)^ky&+Z6^m(o9cNk2O&!RODw4PVbgu%mu`H#?pgK$}gTs+~A`G&wvr z(^&-@>MA?5E<5Mw0uL?`NqHDnRmX0%C!3*>t9Z0*JF{3mzK@IPWLj4}eAGqd)$ZdP zpxrZ~3NLTBF1Ush?+bHzpYlq(D{uEa99vJ@7jbD25w(uB9@J8RJi-&lo z^^XJVq+)W@3*zIXrm5oNv?eN&E!63jzy(r6^mJh9gj!oa%u&~;b@_xiA{ zQr#gQIdiLj+S_7SNmrv%F0yqFhq2m{Hc12z_GD%+?jA|utqnY*$c%AhKue-82p^~V$|P( zQROM&`9eZ?nZfpEoyb-3*keV+7~=LG6yLQeKGnN<>0^hd`rYrlxmRAq8oGJiv88l} z4F`Zbnw39!LqPfVW}$8kC)(Mlbn&=D4t=8ywVd*K`A4K;9IC?+?txWf_Y@m2Z6LeD zRk}U~$0F+VHl-T{3XUW#lDmwM!_9{Ot3QClt;c}f1wFnwrEtQdMf%cS{< zNuJ|;nBENz{spwX9f7DFBFupax1WGJR_g}YwrGmT*eN}3b^V6%a;NDATw`N=bVtXV zaWkgP9_};1iy`36_)=SnH7Wy0&4?|-l}N(Yi`_|sZ#hvbUfgN?inF#yWXTYfc#YFi zd!~i{b3EzXWQ6*lcZ}=jSh^ssErqceE{()g_kycrg!Z{GF?+w}LxngrPyR)8#f(VpIN*zhmmkr0no<_&npn!MC zE(eKzW?0a5<qYAK?JiPdjzO=A( zc8C--R#6oM6v_F-Z*iCOOxUz%^;&W5?}}aWO>@0`U>fVo%;~sa?_=>5UY#8Pt^5>z zL}5Z=!Uyv&3uSc0G{)q8R-tZ(H6wBDiU56kZj8uj;{~+Ni8nwM$lP0x-}{=Gca7=j za3(|YPu?t!9_+s*VK*uufo{%Shull=_gj`E+t7c(Tm{H=U|nBtUBI?vVhB%cWZb_H z6KXot1nm~zKz*qS%TY$75|h2_8nb`OQ3)N%$~4p27H3d?J)9mN$!HYEvnDb%4%$DD z_CdF>#OA^*`Ew%P!U->9hOsEhH{-;%2@)n2T={Vh5j1tAS9 z`!<6A_jK!jm>l?5boyWAv46&HC;o{@@ zK}iMO{m~{g3))+xmJOc6yq^sEpTB_~$C&HI#i>t>s5kwOk$~P~C)@dLKi_xY`fxQ$ z|c4wSq4Id$=Ukf62j^YYadaO|`I8wT=NoK@(#Sx%wXg%%t( zYkK1ev&Rk_7NR=KioOhOV}xsb!eWd+$#|)=)sYt*;ktQ!HYdWfzkKX#^bK8skH{I z%k@!}U(l&Rkvcr}LUDQP5+s}t;$Dr~5SFPITn0NFOCItyooGw8++RWK1}1vMJ|_N(X<}9zUwKyW$bpUPl2ZD4s1N1077lJ zR=I4a=p#}%n9evpC(8-L{;^=_a|vPrYIvm$5#I(nwc_3^Bl z*usfLbeY5?ojgdKBAmgLP=u&&p@1wXdNc7YAQDsmaa$7o<8RK!KLRoatO467f#3ae zdvbUA-0l9C8uc7Ysz_!Nu{z|W9N=&nw8L{*wTU+-=EPl2iA@5Y)pNzU|G_;CI*-NJ z)=7S)^M1V+uMZzL5Ie9Bklfhp6)6ttBMALJ)ig_V1RGpDJi2faIm>Vh>2UF$HzC)Z~XOQPr-4d-d{MwJsiZkFq<%s}= zKq|-=78J2tvhTd1zb(#SBvWqJ3{NS?&DP+pY-_&{_p#&xLf-F&2w(eoM>;S}nkAiP zt;+;PtI+&)s0w)StU9r3m$=Da(F4?DwydQ}#R^2$dWgKv3bjP4wcRia7>ND5MfUh% zosA0F7iqfsj+=;isWyA3QRm!buu5a*6Yj5iE^4$mlla!L&o{9U{d;zoH*j?N%dot{ zgzNx6GLMjlIYfMD~= zhA5}2>|Cd#t;x~jbuNFX^OdoDVR_P(Uj>PStU`~B;eiH8{gpYc=yPg~Wa!v*;lftm zv+;{ZoAOK|aeD)TWC=mt;@}U#^ zg~kSWaX<~qN9KX6aR3epYz6)1M>}C3fBn-a5@842;sfAbLm#=;K_X9EC!;pw75Q9+ zje^>060;FV%gC3sFY;1t;KAHIN7Yy1IVSyesb8et(f}E zOjX4U=QFV-ws3rnK6mPG`z#WPjUfNG6`a0j5()pkB@|5@Tuhvt|GPb=Z1ay(3%;pE z*gLC)iqYQ#x(x#@kLEsYF?yI;%>|a4gHMOHAyvy=m* zST{)mJ4RzGvhG2cur8T>_IsPQj;VZ+Wg0zut8GJlFzASS6R;A>LBpwgS(r=BUNbGx zQ73E%Q|yQ*8-!rv%#{WmF7J_gmE2Nx+=qNcv+yg=RQ>d-)mryiUK{W)7CUyq($kEM z3a9PV;{bYECqn>|?yJs$Z5MZV@I>U&U|Ji+)R(Bs=`9!?*`|&7)W~huh*Xo-Q=__z zEW?@9)HQi2LL%@Po%tIeL09sDRI>_tX61$of*>kPX6+^VC=M76WM=E#-pDXa+}(yy zGIvRn+)#f4rpoP!kqCMr%2{#e1=mg9+z`L60^ObhT@aekms@u}LjMhB5q_IG#eJo) z4L_>)OfjVeM z--)XijwY3AbOMtkCBOiME5#AY>J%-b7NrcU%>A0ZL_wZ}pEw}ZLA?ts6P#fD*AKSw(4%9-ZCrR`dq%{IrCQ4_Z6#uH)0sJse^!wZS9ohh$ z3z}~xIQd>=|2O_*Oq|W_jQ<&3xXes_vjIHV^_RRkh`LD$ zMT4UFwUO5NXG>gf06fVY8|Kw0uk@VlqrCC+{@5` ztT=E^G`&pfnn)0CpKt$usiDqm!mztpZWgnkbYhE$5=0HI%`_x)cr|{DgW{lp2>Kem zF$~6}TNK6v{Zk$KN+R7_;t{jCuwhtdW!uD+$+nV}*>z4cwSJB>)pgD@)l+$?_5dK} z-IniqvH#op^KTk&%ukH){r32-Z;$^E4VM4%czH()J4XxW{~k%Pk(<{?=7GCdvUTpZ zb3(caX@g0Q@DI;21}>wfn3Nx)_N6SEPOOd55fj{tOH2r#HGe*@yS{Kkzf!6U2shPn zl$*KaIo>+HTs_Xa;sZ<{3<4M4h~7grB`zl3h%JO`;@(J@#Va|$u1iltIBv%$>c6Rt zCLR@mctQtmxs4X^-OG%%@&tpHTy2GMTb#?1DH^A*UCI`fZFAEZ-I%)IN;SbgV2x3u zDLRe$P(8#Lz)G2VKuHnMrsC5z3Qt~MmV%q0(jo!1u=W!1(VRmk&2_VEtJ9*{;!7HL ztwd1E(FrP0W3e$RT3lh+pz#?kv?JcGz6~^>D7rj-^PHZ$@RYsNp07P_!dZhWmz8O2 zby+^B4QMexg9$qRY%F0ymR`S4#Xv-JrZH=ixaeU%jYgQNUhiCX9G4io4%RN$2ynlN zZZ&Sh42d1lDg9KKvglyhPZ$SN2~5PeEZsr;NlyVH)lL^+DaJ*wLLV3ys1OZOfF}gG z$4%@mZWvy0{N4;*ka@Vm+$T@!bwr$!!&7vmuz&v(i-|g0C)Ec6$Opi}((@U8ckpYBB>HZZ zVRu%A!mSn&Q8h2as#;t?n59PG$KlpviViUO~UVXRG@5`hC6S?TBB zK)krfx<85l0Dw*RAKM520`WijqC^A2Tlpd9>w`3@d;9=ojK2@SkiU;!2s)4qA6}3? zfEXJ>c*rR1fCM9hXu8|poXT>svPNyORkNjRj?xB!#J_n_b$AoEYkj@d%h|1KUB~9> z+|{jS)YtFp$@FL{i_M_Yd*|zG=IeR$cz^wh`wNCpb40JI)VCJO5FEq;Os=L>GPm^R z9{;GqkyR*^$=E#JpcJ~vIGtuN19JvqjyRVRemb#0q4oF|J>8hu-8(+rP6%T*QgO=$ zF<4X}_E9)=6o^dIc@EYAsxIQeoqGlJ1T!z6c#LxG zW(j5;K zZuLP>xJCKwFpyPoc&`QkJt{s|sG1u9GN5c|drAEmOYa=)5|(LmYfJ7C8_kp$(U@rEXXjEw+C! z#Yr>^$NQZrSyvj#P~x!Ov|6hmj_;h<02QT-#{Wt~gQ|x(jmSAs+1}=63kp{F z>o8cDd=&U|lg;JIlum2aN0|H4M&9^U`cajJpx#u8m>~CJUO>{+z~OpET#Q5=0p6uu z=r=Q%V+>r1SQ}JqjVEc0LhX5$v3x%vw@xCq5*F0G>uEUY1IfHY@GYZ&q&5KR3WQU0 zT|~KCN5v;fV`Z3n{G2FpvHXuPdu9)80iI-tv|QYJI~xRrYk>bO z+?DDqWBwqWu2daKWN<>6&nz`$dL}CFGUvK(E&(M77}seio@Gj1F)4m4?Ai;}mxU4D zUoSdMe{W^`I1;BGWcC6=2O7ZcbQU%ns&tb@91uZNk zFEBV$pNl4mzG#q!hSy9QM~G(tD_!QvZ>Uy2M-G#l=~v?(atA z*f))!Z6Guln(>epSt@d!UKwpbDMD*OxpYuCA3mELw%F6KYrKFhC8Ry^DUMGyNZ40t zkQHhn6V*Lw0XeP1ySAYWWDP+F0|DtqpU#0S1)Ca){D50Z1#}lz%vj1;fUcyYmg-+@ z&}uC;>Tiiithp0j#XXoYk0eKQoY{<|ef9=qCeh8w$!;z(ix?d#Ai&u$34YFn5JU1N zIwy*(%0x5jKsi4b;G#XwreAp{8!?ErQzHpFo!{08yck>VhDmX93gmCKjmIwq%aYH8 z*E?hRhZ_baK>G5wJA!WgIxOdUcv{7mviVNiGkKkI%$7O-crE&4B6fVs^Z@!-8A0z{ zJ%9(6e1|{vh-Da5MAq>|TnI&xB|iy0il@GQzdC8&Y<&ne8t@A2Nzh+}_|?rdo1JJ*uw4AJwS_-Ht|HW9`1C_AsdqXzIOWQO+X*pQypS64 zTDD~w4k8M2u}Tr|14+>eZ~+Cyhk>Oet#=YXCV>HNzT|Ct8h7 zt(}=uME54n+KwL8%;KfZom{|m~5;)5#m4 z)<;*%;HR)d&SDVFN{c!FE)vcGeK3v29o)#0yqeBsYVi;yUT#rT80R(lRajZU%H-DZ! z<^;J&hx4M8IQbNCf;JWBvTh#fzF0P|VCIi=4Zt)0X8DZ_=k{cq`8z?5-Ql`(Z%*#= z%iw*ytQSPi7!K$5xZCMF!e{xk+Z_+5j@ZfY)#9l|uiXBd%O^Tt{$0>Jz^$f34@Bt; z0ka1Z`nreX@jjT61jlgm4qx$~&{? zCe(>{j?eB9z27eozK9(%$3gdz(|W~X8Ks`Yk~u$##gsOT&7qHSkA#3;COG{y zywPj5WM#$DQozigMq&q<8sRW!$=HtisO^wHc#7^29Y6?5#OyZj;lN36oP1w$hJe?I$dI zS$uOX6jnc~M#wUbq_uUukd`@3W2@sv_ROa*tmU=xJ=)bA7DF2wddggE)ZRGl@FqZz zkw;gF=2y&G?+sQ!#mR}A)k}F8DCg1-p{H%?=c?DM;{*K~tNcQ_$``)REI~n1#<^-q zZon=kg2}r^tLsH!Q%ZH2YjP!F0n{#AjLVO!;m?Dnm-iHSDna`QR~Vg_H?;9%l?FbS}DD%7@gY zyJi~9N5nyn=hH1+=*$N%4`Wwn(CH;%T|;gU;z9;L!O?dgcoyp_8Wi);Hz}a4C^I)- z<+=%3@r$<2wW6Gqv7!-(d45<|PjF%fl--Q2MP`hIyxxRzqUBA7Xy2x(5)VR78XTLT zWm&OlA()R6ui%b$zhf7ic<1va&p>PNzi~v!54JjKI2-Gumf0v$prQ zzGF3;m#-W(O_T=GkTP+WBEbS*+N%W^gN{IwIjM*R+R_i@qEqCJ3*4qNUgzHjPcs!>4Q}@Cts0RXh@_T(XO*fQ`p7Pa1qF%nhK33E+nQp??hA z)ex&7?S3Xd-90K&#^RMox;DIJmpO%_Vf)npJ=kKLqof=eE-D7o@jky5X-tM3&x_1Ggh+3Qx3 z`;NIein&=gI|_d1a|LM;%Y(Os$>VU{lZ@D|Bkcr8AK6f4Dejg9Sx!IX&q*){XpG_j`xH*8x_fG75y*pf*s~{d^k=_+8*gYEZc1|{fPMFX^RHdz z;$-S$UqJ2Tv^RgpX9_pIl3VudatL+Pxmk~_W1P~)oV?-0#WvtdLuS|Z-ag-i<0}YJ ztk}7=1Loc@Okrmth!jvgYK+og_w|`#tSCOvjukV;4;-bB0FwpXIiNq9oUuNTRDW2i zi&xBvx_@q*wYJOI<1Wn+{9#mSH0SUR?x}danz`H19klHY)E(>_vz=4;%49}04L!r8 z>z<~azqlbt{G!NTArgZve)>Z_>J9g7nt#?fhu?r(>KLPth>Z*YGTVE|0P2_)P`4Wo zB-IBbHR5;XHVqjn)SQNm|6Za>vP!p(C~zCwg^zvE^eUH+n%}+HmT}%Tyq546{DNI5nGs5X&xeiKPo?Vg&&ib2*1HQXKV5Yra2gwsZsYh&QN3hw zb>?Y@F*-autCTGA)HZpz^gW2rPJRMj$WzCfIMehaB?U-;yL4x7Elh_q*OS>F z0H#PdK!dh(R?$9c#BT!WU*x7Dl~(but2D8mIQO@xV*_mdh#&0eQYss>R08N7eSFsd zy7C}Bgr;|VV}KXU*$%_v9T1>*L-~@!=Iv=vCH5M7BDX=neNluUOb!q}P*=YrnpXDn zyGe4^xqz;CpsxswAKW0Xx>^07bu#5Vd4IQ<&yA?+)k;{+qVdCzYEqQ%Dv*|g$jnlP zU@cErGz*QeOi*QFQ_9L!zN`oK$ z)Z=OGozQ(>IYQU&n4SiwYY$*Eofj#X3@(QEs>#7yY!pkaG>n*8kyhC*c@=}QLf3eST=bD+uY|PE-qCP@_eU_}qF<6^&)@(%qBR|EaUyeSrTW(eoZmcsZ?NL8nRt*ec2f-cO zk3(BlYoT4%><0Y>3p@KZ%6^zSfIzV$$LR<91jL-=~?AL9oQ6Dz0 zoQ_;q&%iRyHck<~mRLKP%ztnO^>3eBgubGWnx=g>!cTnMLmsQ%L^!YYdQ(nr@qtqK z1+oTaT7gv##G{w{X3@I((yE>26>^e2TR2e!>q=J8aF&3mooHaYMGiPB)jXmCwtRr> z+9-z6kVx&1S>y<)>g&YBwIfR(CR<|tvfuY_u#|4=ai`uK>p#S0dFh@rV0 zud_X8vf3R_MsB_v#j6Z?LSfLJ54)fRUAvS&-oZ*A5zx9^eL?4&q+gsM^ol z=rlw7BiS$-?)>qTRWOgSb?goumf(PUubzP@gm=7Ywn+#hbV&#iIo%dieY%Ej%QzYS zT$(g{gBfy}L4$SfQPpSSGz+zjXeyZ5`;Q#)!h2iCW`&@Q0DxTtD-dp`a7Tc+qmfzb zsuQ(iZeNY_3c6>lN3Ua3DzGzS*hE7clYh`P?tD-+bCcRGtQ9Pln@o1Ma&>WykFtEk z?As$D>0p$~m0HICHi-+$al5{_+#g%0In_{9&ZUqAi?8M6BIJcwCrzQIHXIVbO{LKi zm<|A48LS9q;V$CJRTB>BKl3zF%SmEo6f>t5;QUR|$xV=JabSN0`CCaMWbOQSbyCf_ z{j~w@`ASUKi_^u7lBKD*T`I10O2&jxh1~2BpjnB=+Li$6fw7QGX9s*7uS>R3NIKKm?4;t3mB~n zn2re8@?bzfmV^kHJ8bUZyVl2GS5m?IB+5s_dsfz>#7Ev@|NP=UlI0Y+2-x)Q}>AFRZqJ2g%3;#VtlhKTeSR1pngl;&Ko5aO3bx7_TUpj<#sPN+o{> zzmTLNGzP}of;)HahkJ#{EJvisNX1A@Ob~vsixcAG;)^#j<6_cO03MNFV5}lwB4DIo z2zo~PMtUZCfcNVD+@xTv_$J_u>=;kG-SYR*kpfWV#)VlR*t`6$@zwd=l=&D z8*@i9VH5xLO{UZ#lYxH4vm{0KfVH5fuu+b0;@jrP)Q3@ zbI_jT6APHn4=>nGptPW$=4N}Vb7rRY1s)(3W0*b4UJ66~;a6>rHj}DIyJ-!CX<}Cs zoj^uKO9hf;B};F3G&PqmF)?&AbHg1A^004tsc`&MN5WWB+q9|!O>l|{#dVH~7VFxj zYgim@Rjp(W)sOX9*6eE@&mOZS1{ny|PE(ihyJh8e2UzSH$Wkt*KuzRZ5y_KP#E^~3 z;F)(O7D5CMv*Fi;Q9oyl64=tanxs!tSj|hR%u`BeEEk$E=1~L|nwZTE`KuSk zEE$a$kxg_oBA_D*3dn83c4G{L5h++9t&7Q%1N`1<+Wdj`!3Zf)HNHG|GHJ3&&G|mo zzXyf8PjWu8Jaz6z>w!Z7vPddF)Ix#5;Qs9O`3p21Sb|+Y5bdbrFxvIv@tWQ_1Ml1x zj;eF#g$#i8oQ)Wnp8RCNkslBQ!&P}`UAztR7lq|M9%;S%!Dq7H=`;E3<(>O?50+0} z2p-mJJf7p7q4ORY)Sq%Z#XBaJcO@F%n!H>pOkepR-Tgblcc@;K0b7{&7Kk6O*?3EC z{l5}<-?w9nUjzM1-_>GDQGc5*?%^#BnJ(SSTKqP}`z$#A?(emgs5V7?)I!V|*;%>` z@b|@Vn~PQ5<42_Z)oAgM8~lp?c{Lyj7V`)4Qxws=9in#E9(W|e4l)K=dKY=`$K5N5 zY!@-@Z>SS>mM$wXe}a%aw?^lqyyUu-V4@aO^fa2eGF00L5M)Ryg0y(fm=NS{6<14k zeNFjbh@a-Zot)7jRgsH2voZF)9ZwOv(|TKZKVlYx4d!O`xNU^5IB}mt1)ZZkEW+1S zVo`NT(&l$CVK(;6VkbhW$xIPe5peJo^gY|iu$sURQuHLB%>x^wKni)BuUxW%RE+Vp zIL%-+V5{@he6{JT~CG6@4eM-?&FP1=X$K)8RNw2nRJ<>bVO zUi`3AS2c*#4J2BQQgl^j@kgPee^jZ_tGG3??MGR4{bpfz{Vj2N$q&`pU)rA0dYVUL z)jTQQnxsZ^B$}YxC2Fn30em>k>tJuKns+g~&k(K>nuhs$MwaxrDweJbmM=<$x?}nQCaXlgL8i52+Vk)|L?Qf(s z^`kW9Zi{KqR4iXl!+03F&i)NmWpugYXsr(ywUG?xo_ux7y8%G*JZs_BJW$FY?on;) zthK=Cv9i!27w+|G`PzzO(=>vY>nYXZQp)o56hFpe?M_qh-RcKODvQ%%u2~R^A;nD` z<^&L2$a6QPiqq=qa1ozZywXYCeUl`?#C*-%Re#1paf(vGXA_N3vk60r%sL@UmViRc zywjM9i$lP)VyZO|CsiNSzKX9^sk6e`$5nlw+o(YeBc3FqIi2!-+G_9xh$QLeMfz#K zaZyr_ojv{BM2FeFL)UQ-u!|~b%idE!MR+SeX$z52zkryX$R7c5^Fk;LeE~S=8MO@pfmOk0&&AB)h>~*YX0C$~*a}7w6hlp!QVIh` z#(kBGcGcmoRGQOxy6ePr^yI_JP8H~~;jm#O0f+iUXq>UH_ zWU;77eu#B*`)liWvLV0- zfkQTuQpO+GNkpUPPN42Z`DmQW+~u#zHIF2^kCl>eZLG>V~! zOqMZ~C?=4UDktnwl7zMFFJl}prEGkOc;>LTmZ+v?DVk0)ZqTx;p_0`TrN$LgIbVuI z@~8h21?D2$%hBm1rKdNm^gs?12JWsGdr@HZEPR+tLUl-?FrDxcoJP!Y&1g3tZ+~qd z6iiOBX(3dh&&QxUhihY@+vQyepChDWIpRM0e2`YBcq*w%082TvA4FKpnfIKkn~hZPA+9x-(3%nC9vcj$qIor659R4A8jsHt3!sSa*a zbC&3;di?1!{yCU|Fip{%z~OmrNk%$}k$v{X4{?(msNdp|I53A`$+yNP(n;6QrkM34 zKT*n=b${)|No=}e`Ur+>y{s&gJK1p^eLl2E?Bg<$jE92}c8S|6jh_uv+7NYqv6&)n zZhzfoyHl|VyLT95Y&!AJ++S%8BfEIUvD1@b(fZ6X&EOD^&*V8!AsD?40SP_~WDw|IDS8f|E-@ z8vO=zOlSK8)geLdLrVps*wRn84v{!E5V}6E08l}Ch(8c$aDB3MVR;-u`^@a&yG8+u zA#w`JJVEmn83bAK%Jz6AaQYg`>8=n9FBZqDj#@tx{eV2{aT4n@ELaQ?X@?n`3{a=) zVl1jk2{X%vE6YbO%7(Gs4y;6_x)5!Fm>*3l=&(9M9=WkRprw;a^IH=_R4YBID=UHp zt^tgdmsn828454(ORAjqI^{-`8J!xNWZ_IE}Ega%T=- z@NHL=1cwA;0hX3(CAPb;x^Xbl8$_YBWG^{QcaCW-JJ14PNWB{Ln~=sTM-$Agc}#8} zu~&-DZ=B-;7bRq!7&cA6ElS-RLla@KCUz4uu0BwH{>O!j{fT1s;!^P+xl7V zrsK(=9$&Q5>rUFo2q;~tE{@kL?Jp0>OEmO=_ZJ-YjN{~G<=N`7s>8^Yh+?!9y@{8*{BY3qOUErU8-ZKV_f4|(2FaSSI z^4yln&uqgS@QmI;INlQ+9}cjC$L@M@M>M-pCqqS=^}z2221(eF@(O)b>RHKv+A2F;AH4cFBKD&YPkNX{EptX=F( zq~^jW=jO=dWpC+Yntj=*ozI30{w8c@ZifjF_pscps4b1~D$OFF4(D_=K%ApehhdK4pU zo`iYh3vboMc%^kOI{HbSKjDm-zZ;08$W#PQ+C?b_p_2OMI}X^lSvwHkX9lucvc4jr zmFRJPRzJH4pM`i`S)&452YA-kcTZGm*Lqbacqo<%cKHoLr_F;V`B0k31!6jNW}xT6 zraJVXXg+oYV(k<|FY$P|Z2Cebf-}N~NQstD^0!Y80#OJSP8NhT&QTt@HBa`jrbqrj z;?JENSYpIm83ocJgZ^#a1L7*i5>lkn=?+U`ZUoo`txFK9!HXf|etHmoa9gPkb+i1F z-?CJTFKf@^DU6-@*@6P~^NQAo69Q|GPexc4CP0;bh=Nv>VWgU7q>dI9jV_;F-9C%I zEfl0T!dnKvPQZ=1G6KeQAwSgwG(b_H@#;!Cl~7&8leUycbvDP;IH@2asRwmk;0)>P z^3vHk6H->AH6Lb6D?T)wjWK65Q&#*i8Kpgku(n_n_6t3pC(01?YD8ta@$?Xmbxacq z3Nz^H^sr0oq3`c*PQ2Fw4Ncz_F4A|U``vc*UsmJ)Z6p3KYw-Ubfgt{`&hWq1w%$?o zQ2q2M!Z!=+>lLThWr5n0yQkz(0r=!jvDR@ZX<`bXzEgehw}pdEyM+7L+urck95X8) zfO;W1elC7+`L#>)7}hTRIn50L^chwP-UeF6A}5%g78FC#B+iRV?pX*0-92eaRSsuy z+o3sV@8iHukazGSr7SfpnVTsBkO#N5y`3tw=n0xs)cSJb>4)c|EujKMB>Jx-*T@jC zN`kogkTcq_P3Koc4w(7pAP^t7uz#&o^L&^y#=l=&_#1$K(;fdm0r=ayOLIYeH*aU1 zkTKkCsI6%X4%1vJS%LgS0D*nB)FN)UmSBa_nd%32BeyRM%iFa)9_UKn_;3K76&w&= z6OP`sY(_ZFOGXSbq2IVeHchCc$*grHlmO30?b96A99l3mV3I)yk!8XN`Pg|qU1=ba z^p+xI2rs57>v`!=pBK)ajd{$mZx(mz(kG)SW^Z(@;E9x`OcH}AhOd@N9;!bah7dIK zibc}!<@^Ce5PDh0KU%2gJXe8(Q>im4d=`#df#z+*$4eRW@;CBheiOh2=-aHq_1jvL z;6I1NzxvRWH)N3IQM5}JT+$eiDzre`!;3*HRJ!odkbuH95X=M#!{G<)fC7y}CZ)t* zf%t~d@#yOb<_1-f`NrF3&QQjig>;^`PbM?Emvu}%{+!&z>H;vPDc-Szg^&>%F+<53 z&eD@qm=bcM?*&JsQkG!uL)ToiaZEh4PicdFL`%E(n7QG;D0LZ_v3p}Ux2sbAfw6Aa zKKLbu4(rMF;p3Q^$qU%r)ohLJGj;?ck^E7@ns}q;=W>)Ipo5BqO)g;C+34M>BC7o?%U2rZdLee!@^iN-I%4 z!s~*m7w!2Lb7fBmGsC4Rw3yXs)uXk(acI-GO6{N@X^1uCJkUJIxq8Xo>E5R6eQRGr z?=7#z`g3_pVh@I8G+}a0i09@Uw!=QSU-PMYe1V!ymxqLeL8KJz*_B%3aY>%VDe?NQ z%Qh`HCF+bI2TaHZ)-9#fD(n;L)|+8~k4q)u@Y;_@U!>5_4|!~7*MyFxUK#zxmJ) z;_NiteIJ~JZyNvKHY5Mlb?Ki6>3>nGfG%LXE?_<)U^xNr`w4lA`vLD=``=tC_J3qn zFC7rNmoxOEV6yts&)maFiiP4DP^Rl zrX>N}8)6h+_Z!obk&|mjM%+hYU|x#5xMHLMS%PPZsNCjb_oHU%Y9wWyr=$Z%A;_nZ zX(>1|PAEiDKJnw~8_5kH=%y)%fB^>8ek3+1BucJgU}9jVVetE<2gm!T`-6^}g5IZL ztp4(HVb28~Ju%u1cxd;h#-)!$|J%hQWt<854^o=?`zj{>cNfp!ECsD)r6mP_!elko zdTaDjx;^g~cejDZ;!1-4l&g6B+ze?j?u>7%ef`V;_x0nGn4}8eVMZVwFbX+*J9&Wq z1v@Q)lgdtzMaLm)p)B*8q)Po<>NIBfB`DI@cvw9%d~s|rrzOaa#pAZYMOmXPD0o9G zYP0P(T1iDg>j8&8{m1QlN?_3oQt5DRvC51q0i%A~ly?G#mt%JYE9#zu?D2Gp`#KML zWs_5EE!DGoujxq)um9{%&8_|%K|qY>&$`(8M_@(h0l^FZsUJ8WKz~h5;VZwJvA(f* z`1g1y8asTuy!~ZlYf55(A0>FE$-IDJS;LpVuK-_-Dor>w*+xh;ADU{dbj+{NyhLg~ zEcU2kw;%jAe~@c|S}B4(lF9KJr^mA$FW2@4;Loa~zP_g9Mqf;zHrShlQ2_>HmUEz* z%m=w-5=yx4IP($RXBhg70?*c+7inV_{Inq0g$8MsJ{1Bc-c%`a&2^!;M6wJ10XZxY zNmFfv${oH#$bs@BgDQzCn}j$EzTR^q=D?Y+h(Vd_liIb~wDP2F@b&tikRGq7@liqG zmK0LKlN)&zZ~@1302#T`ALoj|3wjEnn{i&zHl42Z0G=#gmPIw?xN`Rh7mw?@C1pMO z+SsFk+dv!^t2Z_%6u&p!h1Q}UsNC7H*T(f^9AaQS58(szt;d}I4>MsbzQ zt&MG+o&Gm)gJtV&`uSnJL*n=$W*h4KS2aRR^g!zKTq4vW8t}%%yD7)SS3tsN3@QeH zfj<@^Oeg0Hl31Os-TYol@TDzf^5ekuVxD`LeWAy1lTMzUK5h{I`(+x6DI^{+YwrG+V=$>YDhiIit?V!|+o-_G*yW?z( z^ts{x^;Fu_;wn_dGzvVM5r^ABZ$f<^X z5Ub&>B|mtN_Kk+B9q3xYKf-YD6doCI zNRga^8E_D*-vPc>xC9T1eR&=d6bJwJRjtxzy)SGDz8-p>uOMH9`v<_gtfCQn1w_9B zmys)H^8NUs_4Da%L>Ay}l?Ffd501mC!deRy7o}Ro@@U_5{+QgoyBpDADHE<1B;PK~ zlZtE<&dQDC-cz zPOk1w114fT8H&aYBp)~RSCVr)Vj|LS=ZR!!%)M3dL=~XKD_yI;;>%DDjo&pUR4xiV zuQ&x)@YqlCAK(3LC>~~bd{905`Hp_>!Zme)XT!Mkze^Q6e*atbK!jx>b_L#BSROm;)^v$|4in7PIsYBTvsutrwt{CylEOj)D%w2x=5{{6u5$k6Z#os(xg?) zd!gGn0$NPb%O9p

l#FEU)u>kq0O0nYj>WNx71g1!){>m=e)^38`|)7NWTE#G_$` zdUzThp~;+$Oq@)TswkQ!a~lsZ&G0N?jy_31jmRuhhGJsL)@C+-qL}qBKj{T&>1ydW z!wO7!<>xFI33DG7aVJ*9UeSUdNFRR?=PW^#U!Cu*pm?H$u%Cx%qPTQ^&RiqkOuXTG&cW)OEdw)wXaf+gto^Yu04++v` zsVXK6-W%u;uj&!e&8M~<`-}VppOZ8KOqb+cYcLfO19BDycS3K>97bvtpBAM`PgsK- zP-_Ddi+Oa_0UyOO?CnRw#Jr(yFja-z-UyM^WME|DkVO*JR)M7exIpi{H-T(-FM0%E zhmS4;JIm_48;9O%pfwj!|C8|gjWDFAD=E|-1fKp1aKR;{6NStv>GDtyH*8i`>$J4` z_yA)f*vP$IT{M`r8{amYXCW%)`k}fvHq;O|VPB0iHqP;;24Whfn5>)>IT?7IBc~*D z@y9gv2uG)LWW@*QX{NMBzMqp6vIwpb!yv=R+JkZVYQ*ZhaA4QsHd58_YQKmYl$^^X zfQ;lo2#ccCgPNSF1=ct5yD-dY<=NuMl19Le!*lVK{GR^i5$tq)-Mrsh(LLdw&XsJ@Z1dFJ*XajbumqHHYwyfoM-1bl}DtgfCMy0F41V7lWQ&1ZHkc z?Uxkh1c5ayIEp{P{D(7Z5Tp|m@NktiajOb|H2tX@z^Y|M-*XFJ+#StDV$dA0k9R3& z_A)3L5r0Tpv5^aA$(~u%uQv|~-{q;bnXH2o6k-I#>N@fz)&&>W3OfS+G1dhhCWaKu z!(;!u$=6$aeU2)xYk={GD$ADs(x{~|`6ndAAr$SHyYYSzXYufTjm;oZ$3Y81Qc(_r zGMlX>(7H-FJh6fbZApgt#{5D(#RPp*`YOFI!sAsjafE^-)kEsVvh>!Nh57gqK)6jM zKrPY_wB3ukc@$%B0k-B(FB_@G&_#wom3~O7VyuCR>c*G-f|;pv5cPIZ7?kzO5(+aR z3M2h86VenX>#fPA$NSrojDx;w1!Pg1<>f`EtjmeSnv9H7MY2ft_XBP`Kky~VrK-_;^0GFts5L{U_ooPxQOd+uyvBgfzrCX(t$gHg+gi#r!Z9x=R z9+`p&7Fn|AN!Lh42Vs`D3)=-#DzUOjG%3MZq}JMOxM=SLszqae`6tO!tCE`^T_r77 zH@;Iz)VVU+A>j_#0Ai>3x2&~r4y+6J7n&v1L34pD(kP;mJw#a`RM)8Vlj=zlIHyOH z6dSK3j6`}9VXK4)yKC?-c-NEfM+G&W8V=KiyQ%jhvy&0@sp#}oBIyJQJd`Z5T}e-H zkWsEQ#;bvG(z_@~wiD{4+To%LbrI}IYbDu1+9Hl2Z4YxHZ4VhUDqy82mU(sgxc&k8 z9ZwG}EWlKzu@tyo-gVs8U_5T4Qs_i2nm9X-bWTAkO))M>A~{j&%w~DCMF=dRWRvh< zA~9v!P*Wv+QNwM1Mp{mz*#g}|(lrv-9ScwF74`$^9P^CpI+`}azjMQ?yeKO?zsfqB zw#nCMEca+Ifhnf)h!cj2<)>j4=6O+JF*wVTo%_p56^pyqBju-OO;tuQ&<%||=W*9! zl@xaDcD1P}P^@Bom4q5;F_BC?k*!{qgPez|1|!Rw^>03%)5oH6)#YD4Ua(PC+fPWw zh$J1)gAwXWXDcPzyp|)YYXiC!$t(}|=rVW${nI?5u?%ZN<|163>+mo9CAu+`oRi*V z#>u4S$hiIjp`J-b@K^{YjiNVPzdfUBw7qh3X|dGiFA2)QbrSrdVIL5%u75Ex!r#E( zvdmUn#bjO=dxBa6!$7&hU6?!Jma>)Wg?X>a&QvpN$f9NE2>ZDJNeoygX$$`T@haNC z&kfW&A8-Q~KoorsB=Dft3NaQ)L>-el0_oWKfMD-G-zi3+yLP0B#`>QF|c5{l{L&Z3$jIN7s-fCf#n|QuAAYo>#boS1?46 z`WzXHF#8avFgetPjz5Cus=t<1cC1;ncX<<9nXec=*mwY&YU%~PCb{)pv1-|R>#{kU zWFFz>Mk~lZDa)N}*#J)SbTz8!Eba zBVpGpWGLU5eD7ZY2pQAjrj}S&Lxr`_k(fx7F;^OMngQ@_80^i@Qm}8u^y649sf5)z zcs~)=g4$}Za4+Pnt;X^M3#=+QXD*K_Ki!+sn;Np}Q8aCeWvH5&h9FMZfIV=DiLoYF zN^*<^i;Yw{(WXo!$OgqUK5_SoWocGOF1x`yrT^W2E7`ovb}}p%@ny=gCC3meii`^E zfWt7Rfskmd3>VHKJP0d)DBBW-Mso~>RQF_=l8y>ve(B+a1jTq%Llq^t;N5vPbPUAt zoEery=pZvB^%o((5}inG-s&ieCMCTfiN$6c3751XUET zpx8Aznz2HW3MuOFRwrQq`%!gQUY>snIaQeDfBliu9Zxr0{f3} z<5+4_nF~DvNshuv+eGG{Xr}IYxhmL+T1?wV=SRF8X)F^a*O>))u9~iJ@d&cV&u+BS z3^38X>cD}i+P`}HphOEhwh=WiVbB=lp75@&qRmW7iumN7%AOq*hita@N!lK)FXm;) zlzHl{M5a3@DXp}I0Kf;ieOfswJXqpb#=Ruce$>~ww1hs4A)X?r&qxxBB0XbM5Kv_n zNM>iu8{lL+uaUk&rF?8&DS@&$Qsc^S9kU)l-`I;guq2;u%gxhc%)GmQ+#|(N@#=wG zL1^w&$xNpThu5?Lq?9W2l!rq^0%xZK>~~;lzGBWCf%Ad88>M()3 z<~W3fTGfJX`4!QONDK5@Mu{)EV1W}3q;Q!rCorp>l5$v>ybMZp)q;9M*kfwv&Z%*F zTmxfu1JtrI+%q`W1!eRJHM$kF`5-pB#d=5}5Wx=(p{^)7dd@*kMgJn-y4C+!T5PUg z8?3IEFS#s}cY@IUEfRK9{n9NM_z`Q@X003wt)k~5&(- z;fea*)-cw1J|9ktwKhsgQs^)hk zgYpR`KpF(8hY)1O(xhWRTcV^%C5IpvgmnwF9y9hvq-jI^fhhVK2VgnUg{I1OX+wMRr&7D zYWXn5cxEqip@=<8c?{V(CkxUMtsjkRVw^YrmV!6&mIGdQR}%6YucJ~g?Yf~A8PaT; z>s@TXjpfiPzS=X)nx||sDJrW&=k72zZt)K4ad%U-{?=ES{+H9e>Jg!L{5{c_8TC!n zIIn3i!4YHW(eg)U<$QxEZtFya3!WJzPZDZSSJ2D#K_z~cY}tyNao8#cJT=b|CDAst z8p4{x^9i@ zH1o2Sg~#p61qa}U{IaB9FxvKyMpL8NO6XKL8V!(fMGK5SG`nZD4UX)FbZY&@ub!jZ z9oC5^3|&9_^Q8 z@U$1@cYnrdqIjo)wo9%tu~2%J=mOQ0)@&7YQH zf;=ML8fyqc^E>UL{`w|c3D!eYYmtuE36|1;DQBESeU^J>UZQ&WtlxyP_+HYurvjvnR`HNnd?Cq)-Tlq zY@>NV=%RU=1nI*0B0L`RAwM3qIpm5+4=W(!$9Y;Z;wt~~$YBBEl)oXLSd@OpG6#OU z?HbZMmwn=F(jLWx8&xy+>`*$~d--gZEw z(-#y^yAY~ZdX6?pZjC&yQBfRekN_3xLRx^#f%W9-=Sy5_=h;l3{J0iN{(Dk4U?<@< zJA-*2cg!9;L+F?T0vS2)k3m)=Q|r}meZVKuYMJ?LdW%mI3S~kCLJ|Bh4DSF=#L}ER z!9jCdu4#k_rXP7b>QNk!*abh@NwHK7KLI)oCLn5SUpSa|L#lg={amT4=9Y)d@mj5? zKfwP=iHpFmar{G;qWq>OY5yO&;Qvel)>8~JzzhhWvwQ?b1Rz03?0{1xeV`<$!U_b% z5CyJXg+qOAap~H@mGX7~aKUv{{Pa_&v7ZZGUOnBwZT;fGg;2=-MaJD{k9#t>97xmW zzps{`mqD;K8rR#e4pS?sbnM}w)qJNzhq%4Qh-Vu_B69MV_ zF$NOo!w+P=I8u5h(V@aQd|L>B4gak|Be}YTDEl_7f%sNXX#O)Y0{V{ThJP`?&sKx> zN?J<($~7|SNgopxKmv;KlajMbKoF4sDZnodL7E0`1cW7LpY}T;O3GxP+s&-fyKLzX zTD7v0mvYm(_D=%6il%Fo>P}79jcb=qZOu;0&g!d{jjQ!)f#NSuQ^xc-f|4WA9?zTh zlN`_OlTG)B!c-kVyBM#fUtF}0`(!o{p952Cz8&=tH(n(wxVKA~TVjW0{XH?Z%$*hjB{&?|d^gkE8W-)V~AU7ohnGLx|>a*a}5* z#N{R-hvKxt$VvH;S2OnpLat)PrUDHMRNF6#<|Gj`&f=JYF~a88AcDv(vsA|{hZ@c4 zL=qYGiqS0F(FVfu)FYeM;-6D0amXY^qY|xJ_~;eU%I6DZE}2;k8doe-qgaBp4tMKl zY&A*Cgz8l2m9m+UL8h4VHe#W_dOF(e2ZVvvh;LsvIO*2rm%4le8+$z^T_wM-+u}y+ zrxX{y7fsOO%FLCj_1WcaV{KE@4K&}25)%!*Jd$*rM>60(>ww?ZeXIQ1_*fAm{rMeN z^nIA_-jL@hT_2PnX$Jk$Q@;F@+f12 zwv?!iA|*8i7pjO_=vAWLz*$8jC@iBvgArl_-_>cD`n4GOviCug8d1eTfOAzH#;9q9 z@1Nr(@9>EalhQS#>C0VIxXnhq4DSPLFE3G0#iKAEchfX>bJxOPwsckv>QQIZC6QE_ zG4@QvIcKp}mjAMf7O8eqB#skPQwm|j%P--t+u@YN!$&OKfeNZ}6FB=_@#~pin-Vi- zu^Ak!{X~WscuYy)Oqafr2JNO28m3~wS;F4=^YWV9X4vSiiP(BihYAxHKWG|yPc6NN z*n;HZy?&RKYHjLDjdHDv$qbfspq^Zu2FF#A9xZyA<<1cF;m2(Zk~O?gQbF}>NKK1Y zQo^a)6XbM8Rsz+0(?EU4^0Zb!iGfwpI_80!&Da{*=c1d53_}7l4ysOFyL=@jtSx4J zAR^vff;ut>r1~iSJe<9OEFLy$CzvSVL05feiBtA;-#WkOm_>X;$NOFn`3I>CYbIF)r1K8( zKmjq*#e=8;7bBVbgv8EzICFcuJ>g2ty4fh0;A^)~orQoz#8@m5X&Ry!X|;c!QR)!H zWt7Phf!fW4VFo0|Olzw={M4Nrb&c&rCXhqC83?77_U1Y4jZ(QY4!BUAh&y!zRm;i{ z;ofeIqTCJEkX$$c8li}3)orXpU(oljLB}9jGxd%w?~Sz?4ugm`Yw;)81KR5>=#iy@iL&nbE|M7 zWD8R4?Uh_5=Lr>HJze4z>V`D63TtKfI6o5a3j!%hQrl25lN`5-%4Il{6^|X?49neSHIP-pJD6Mf)XN}d zQAsy!)57#J!z+&%ed;8=w^^{n8x-uw;(U>|8kHO8QL5ZG9Iz zc4}b6JF*E?X9osp65NOx?!h*YJxoKpk2SdB78;+ElVxkx5;hR5q&ZZ3&Bw{6w+Yu6 zsz4Scd;~B(Xmv+$Spw}rSh_qPUzBHYm-$dl(@z~Xd4Y|yONPks^^?{BW!^o}Y;9eL zfXYRgdSs)*J|IzbXA-3kI}CNr9zl0yBJWwUOP85*r}>|8E)_ARtTP-gNDR)%HJMQ& zF&s4t#C9zvVJAuMkgudWBxZQ)*i6$&%G49|cL`ZDUQsuD?_H@_%yx1#%ILQAC21Z) zmuynDGUOs@Ix>NcC2iQpiFY)&wh*B;TWkQ2>Ge{$j%Jr^f;z}^x4e?`>`c{>_;^yI zT*GSSYxuHb8ErVnQgj~akh)d39M{xL)9!Q$B{%%$@6U{KFR#+$v$h@g9`BI+>i3#_ zw;V?|jx;#(QS2dxPrJ{%)Hh*0B5+?#5;dx&h#fa9;f`qqWzo>yR-+d)g>-j))Rd>w zR1(gW!IUlnW1n~&DB&iM&A2yqrX^!>9-)aWA4@7V%I$bI7tCQeqM{VYNxlkbB>TN? zXqU781>;WJJLf3j!lqA)e^ZpX*OIE79YrD@$czt3RX0^+MUcssUTpio_+j zOC&19^l5bh+A8=7KHv@KcO+^I6)~hky7Uh?b`?EtsmpTZwq8d$^QI)t;*4nN7ZY#9 z7;nF(Qh7&sEm! zz{eLko#R@qHX9?LTA?eR7~lz zQ+YR8;R3TJIgL@xBA8pK00-z!JTP4-%ykOG?F`PW6_J1>P0C8ti+qF^0Y}i|NZe5`sgX zOB6a5l%rURPBvWGn%x&xn-Jwk$0Et9mt6b$L*0GOm84opQO323SaYQj3&QK;+ouKp zgR*xFt}Sf4bdw$1wrz6aO#>Rj0eok2Pz}pL5ou zd5>|AORsQ$4%U2ry;L_SE|uDTAw%^oqovX1HG}7~YO4w-qs7Uk%H~?JN9qXh;om2~ z8@t%ULl?aZH+RETtJp8?jKqegd2i?mz4ui&qatJKK4axln;RJs>&4OlXzqn z>q>YW3QG(G#guUNKviqH)%zVRo~Ij#&j6#s=Gj3u{|iJTEW2Cs`B4nfsiuod?&|P( zfcQ2f-t)_@$K|hxWQj)N&xuwmEaCeVx^@X874l7L?>eG)p6v2qhHfqQw;$_h@8V(Y z**bzRG3Hl<18S(r@7VKI$;Qd?nmy8~a3Jq6OqpP4_g*pOXq=H-X=DAgGB+?-91(6az zB+Avjib&dX`@jbY4Sxhlnn3`d=MOM*gU6=IA$Nm2T1q=Z+#Ga@fab5`C`*dvZFV3g|IrsN3-&JYH@F;Ko9xCqST z0(Yq0#vJa@W<>YAtTAW;%y0#Fd8h?7C|_?&X>eZqprVUaNmb4WBQcjN)$6dR#>3G_23LeZ>kUhpBQe}Ep3r0e2A^4E#MN%tvJxH}*u5M>~wRHZ9dXe2u6r2c+vH_DzbE1D~@25C=Z|M4Zt#5I6PgK3%L~lzSOo zGTS{YJf@kv#82%|xi}P#wl64tDR|iXPiF^vlFUP|&`v9(%&zdF!&AUM-T>9 z$dt{I6@0-B`sVPOMfDOCMOzzI%K?1r=nmdyS3)A3JBaI^jm4yl>~)__aV+v%`#Tya zJX#dV+{BvqD>2D3`OfgaLS;V&6GPsq6Oh7W{x^Z+LvOd(SI^KSp)>ncD+rCAHTV+9d5peKa>Oh=#z+s+rHN-9gc z^WIVu`AM!wv@iUQaIys>&!D(^gy;ICFZ_^^>Hx`+Xa!G54BWn;vm=Ab^%@3Me2q%S zT_2Auq#>U;ZP6O}s-)~Jw2P#S z2wx@I6DH@sa{r!vU#>nDimP=oSGdoo%t)8)5}GTD3~oFr15uuL+lAIa)s9`r zbm&@yq^IZf`eUcB(&BXGVCBCxT!9h1&joBIbZ;-u2`R+O5zy(RRXJ~sn5SDVUI9G5 z6J56UFBz$QxE+wTySSZU?4Mc78yRNbfy#VgXlN-R|7bvbW=nvZZ+`u&@#LjVXW_$K0B`87s6?)bs;zyUDGI? zTVhSUfyMOtCJPr(42*r`>2>YLGK~SV8-)lWC#S_k=VkoicGlt2l1URM5L^4Fn8UA* z!$;5C-H*U;nuc|RTHN1@nx*8!Lc?zg7BcRV!pkw(PR)pXN?3)2V*B8DdFEkPl#MBB zfIsixV_o4rV~g*WV}X5j@fyBmT~=Mf8Fj&cOq-g<`Mz4e;Y;kQFLQ)%q_VG6pI6!F z5H$c-MWG3T1wXaUz@%u z;ni7sJnh;$#iDO#6~&ZVOkD?MgQRt{Zz&#Lc2Q%w8D!5sT~vlry2@ID{$g(mpSE2@ z_7xttcji0{jD}8KU2!O?816|HHAJI`kvp$0N7S(-f-(2R^oNF7?csZ+ya6mLyXt~{ zQ-^M)8knYV_PUv0+a{79SWLdt^)E2#Pkib3YMcl?#Q|Tz^lw`8ZaI(qq(eImX5PKB zx0oND2ZfJ3^PV}4ze%5V7Dfpen+S}``Kp(;L@IRp1SCry*9z~*g@=dzxCngZR$3nZ zc&LGGWLIiD*VcMx0H{jdck(yTVmmT!<)nGf4h{R>kjmk_#7?4a+GC8s7bKWqvkZGu zw)AT+RgfMMwXW73T+v>0eJw0 z4J@_xeq0qbyzsU%PnAPrh=&teQAA7orFQLk0?%1)CC6`8$}(!%l};6~W7f60i=i+>gpk=z;O@5ZF|dyo>$N1idh6Up4(Tq4aI zI7L4@=Y9fJV#w=hI=zC?GGvuACqUzlL1mhtdUHus6UGskEB+oXVafXEJU>Q0_(bvF zi(xoVdxw)hg)o+%1`)>pOUcLG$wbh>!Qcl0Z)^3xa%!R!e-Q9Yh~C>)E*oTdXAnDj zLFjSCNE_is6_Q(se?%z7MY;|TFEztxRz#!vrV@> zd7dw0a(2jpba%}Inel_vqj!zi1`iPBgesXpI}|6pV)B%CI03g>{ISB|jLPth=*>m1c9fJ0mxafy$J`B~fV(sW$;g9E%q5l+ zd*a< z-Hu!bh1+k*mamFaD$Q8OF~)iiUWeT)pE)O#DbzM-)_0q$TQ>D#@28`YR@Ay<`x0O6 zqmC2>DV7(?X?ctPT8If!X$L*Ph>odC4dU|bpIi+}r=Evv?`w`R&()fS(5HH&L10c> zDChE*Pg&(Ci^UuMwB4ayvH&9>T?xin9bjK2!TcHmYb{$yD&9{SbaClBF60{HpDNYE zIA4MpR=%1=PLA;KLle@q&cU^n#@j*MxT}boy17kn?9OGi-2577ecxye&uCRytZ0=P zE#TRqN_4fa3H{*>=f{LJ>Xo1&Z7?)C{%3mi3HwT$*pF*i=cjGx|57Fu`hSm%|I*5$ zRQ^jVlO>OZ84&r?9$2cbAgma{9o>2(k0-s;PG63aI}@jKFU^vu&Ew_40DnWqN<#v(o~cIWWbzEzIm!$LJ*< zJR5Nb#E(z_hBBX;NK7Wu4yU)9kE#TmnKZ*t)JiHMs@sY?tTrm?$Sv(i?zhJ1@q?rS zQUfK-1xPEkERaL0k*k?Da@nJu7>n4II&V~5+2k`K7EIVcm zQlW{>)$C(}E8~s`069`0*X0@_Nl{mO>|3HuD0ar60BbAN{k^z93=Wqw*<0;+wzd01 z_+FjT7D0a+52z*wJiI*q-OS)viQ%hgg&EGaA3}xyvx`^~w}nHUGPFFg+)mHXd4=CT zY*(dT==#!)q}#_to3Nnp5L~v_p9V9(WJM|hbKkGRTY&Sg zYp{K>!Y3K(FbJ0kEwX2{0G@$=4kOW%IG#2CCzLb5t>arPGo0?Xn4Mb(Wt`i!3qiHw z6T-@zp!4e*Nsill`}VikEtVrS{kRgOf-Xfrj@6V5`#yTb4!LgB&H!)m>4cCg(n#nL zWE1E#^LoexCXwM7@rrTWKnQ(=>%`VC}@jrwN4_t!11MnK|12le?yPn+P7AWRN zmQNgHtIlXy1Xsc@n0B85|GH5WP?G2#&g1+2AR93Hjn`-EF&7vJj`To7$POjT5o~V# z14io1V&PR4&?B$x?k`V>+7^nPe7GH?%NN=Y5F%bf0s@YgL&hQq zsjmljc{19zbP`b4JgBok7)Ucue|($sJiR$GDX13Zii}<28n5H(GfI?zfBP7-aM1rr zX>iQNL7OXfG*2HwS@#C8C2g zCkzKlL30*LM1g?w2=w_1C6o7{5xE#)oNc7TCFa&AF^9zqKUM7&>4k8IuR3j z!(?M^AC|%*dX;|NM+v$`WAi8bM-ROzx-#DQ$Q^FOeV9?f)8b}TWagP8;=+2T1t*(X zg0{UIhn{KjB$x!wVd^&^G({wVGjc^cr>3a|N1I=fJJ?Bvv-xE;xw>7f->vls9M&;l zKTyaG?k->bxs}d&*7>V*Dj=3Jnlnoofvd|{(MG=6JH)ed3~}Pf*O;*da{fTkWE~7c z@J?1tlF3e*IF(G!u^!Vk`Mp=F?%G=(B(#=u^U zWYd=SNLF1lpYlNFx{XKsE9J(xdPk8>x?OM5&OT=yJ}h+|(faIGMUBt6xW@cAF(HWL zb^31*6HEw`jp159bT&-g(A)VkgxigjY;k`7*Og;gav{Ho< z)k4(zV{oDu72%r0@{aLZB*~Q>+N&4YwQu0laRMCnO^a@2Vvp$2+tcdv#XvKvUq-Cd z&Kpl1FB0h?{45^H(l&nTKPm|5o@6U^5W)8Mn?Xhk)wQzCu4@p0OQULqrlp)Fh8p$+ zp4FZF9QF+)CD6cwK+6m4Ndg?UQ004;s!B8T8Hv#%uAs5_>=|W0l**cDc-6DEf073? zXw5aWYi?W5Y=*PSJ(Uu18TM`3@Gq$;cXsL@@Yxco@WID3%pvAeFILH@HWwg=OoH3P>I z$|Rp+l|64gA)zm6k!0oCl zZxsB!q>!n>ADz(}QuOEkKSaf4;aAm3u50cXB8;~I5*@O6o1*vliUX(F5RvUXjsx{aFg&@Tq5kVi!6EY$qs)VM0>$@iLDZ-tp%!;+0;!>%G7$GLo2cdpEMFdNre@gr;wMl|{ zE^@hxM3F5VSm#aCJRBO+T+EZXsR>J19VJyl8ctnl*1SEAYn>K=+05^}JXfFAD5*&m3H5(-Fp*+WBtla>*;iRyCo@NnjzFm=|n z#Yva^l=;)6;_6f;B!vX~h1r8RDw4R_=s&ar;;=XiaqxU>+r`C=tyg*cGYCbh?R4g8 z%Jap+zl@_KC16RH-Ud zp-;lu-P{V&0jOF7Cy=WtTf<{O%VClnvNde3!LYwMT-#;b$_pf+vq&N%ZO#Px{)sj_JU7dAh>cy4)8U z;ACg6Bjy0*eJW*M|9I}|7aA_$ zzn48r$?7NC2NpThIK@#}C`}##giPaDub4@&g4v;dvN!7c>&pps|ex=(I)?J=OcxQ_`&rbN zQid#6WIS~_oqEq!M9XOhTW&*d5|9 z*H?Ful8oF>atEI)_tmUoVRIui7+Lr_LLT8DT&V=GOhS1WCi1}W*`tc+IBZ%P@+;UE z>^Be&3S1aWK^XmDtHMDI)9{C`CGbK};Lv8r24dx`pUO@QOlqm_m${FDCHGgO&K%Mobv!zCm(k*+=N9v!>P z4#uWaiA7rm*+Q9TwGM-I$5inu9a!~7WgAZs*~SiKMt3Pg`f_{fsXvF@tW`+tHC0xT zo5hSgJp;#6;En}&pnp=Arb@f4G)}W(4iUehGO5i0 z2TqSsU^QM5c9YPrc5|Z@#frT^d)cMfL?1YTBK-(VdIGuoHxtVgSnTO zSV!|Cg|nBLqz#T3LB9RqEP)s{7FInt0IEe+L>BYwg3J-3pT{NT{Qa}`V+?W#B~@hf z+m&PZjf0u+cO7}l5$z;a%_N0=^|gJ`T}O}nrdTPW2Z+Z|Q7~|{DdPTE4CDgD;3>+A zK=D?zASrNC5#yjfDcvCtl;#1~S`yWzu->Qz1CzYlJ$B)5lh;f9oj_C{WbOlBz$eJ? z_g|uSk3f=zJ;(#v={l#cuC{PLAA6Euu9Y{dKTM`PlMJu4lQ(rj_D)s=dl?>@rtd7_ z{8g_D?>)b|i6nQJ#D6mi{Z8_0V;6TFV~V^NrtaufWKGgJq#c}zjV~b>$KfJo0CxFM z9JwOPh8?3nYj!bn`eV4@ImEYped-`)r-4P=0Hy7pd^(__eL{8_ZBbrEYz%a@}HAM2jwW|x19kG|KQX<*<|S1)fYH(Q=NU8cXk z9j{LpZ24U>LjezRUaY|rPV}z2Zb)%4tkt*k`1lktlJ1cyVo3qZ<12i;ePT53`Mkft zyx?;#_9VFFp6^hzsUOU_)h3$HxFMY3&$JH;6sw;Upk{6rm{#6KXIPG2Y16VPJWVIo zanq)k+_OVwQf3~!QFmbu9lNA4Mvd}9FrZ3?ba7kd@iE4N$%MSCBa=POh-_j}noOSaY8)A+_X&c;&YCF~O>6o)F_Eh?7q{%DzIz^`|pKf^$yQanXHmPIS-78Z@ zz_U2sOBLW*?|Dp$bVM;uy}}?p$}kjlkM|}-)@As&C)Gmj`@uScc%WMoWZa$3I-C5~ z-7=(!r(rtU+j+f;Vp<#*N49ViNbKDoM-O!PW$oq%s0|8ZmK)I7k|dlk%XQ_$Qr7X}D$j6DL}H}?;;-uSq8 zjtlsGYAQGBL$*sEevm}#hqOrO zwBSGKtXjNi(aoYR{wOuZ*jrun_;Pd+q?6IgymKL75qhM$E2v@VoQj)W)SXImaY|El zMcz~je>2j?Q`p$)Gzdk}9T(z*o7pY|@+Bf03k^gLj#Z?RIXF0fk->8$cp8wROV9!C)lSCedA&gr z8i=;d!{JDn9Gz`n&{^itw~>d!d&sttqHQ24h?!e3vdXNHAaS@o69f+w!n6}2ucl4? z@|6lv_O$U7SYSw z1eGt&Sx&4Y<}riNgTLd(3X`1auKoNSpo_V=@X zi4--Ajk7THQpH(Bgvw`&k4p!}T>y2^rcXUnizgo&O6ko&c5BDU1%GReZpVog27T{X zVUR%a2U@@#5SClbnsZIW^1;CG|CZxjH&>#s?Vrz%k}RjRiP#Y5p$}+WGhgS`@f%+v zswJevo)BzScVTZWaN%ulRwu>dix=r;eK*)2)CE;@_W>+q1O+X2(Zzn2g9;UEtOCZ8 z6a1-#*bEfYeL*M%^>tFIg?`-gWcV8%fP9*ywZqV+8|nJ|Y79z;NvAe_xBeXQwY0xm9q6k*m;w1X6ewm_hJoj*YeyJ1(z(XdZNh!8b@W(HS`| zxCUo3p31g|l+g;~Td%q_IErw#!A0Jt{WhG9YMjZ%8h|3nhSRkXp#Y(z!vvM>RUEzhrvsqbijRK`flbzU_l&r({(bPioD}56d#&R2vLZyR41B6Oa2!OFP!^UbDRVd<6>D+*81Pq5jsNwLNVCe|ac@^O2WkW|wmW zuaT2jhA1Y5^9dzje?{Uwx(_&wm7SE50Xkd7)o1cIlZ@mD3unui36OFTqh zm>#*tE1KVScH$9QS~3RnQ={@u@a>kB&uG^4ELU)+BqepYM2;Sd%oCX*bP_$sc|7$j2tRTx@owul;2>tX5N?fTj@SBYt936GU#H_Es3lgB%SP~w~PC);J%$h z+rF4jT*_NM?%%evmY=`MVLX&cQOv>|c0{A_@ir?%Qg&X6pCKUsto zI5?UXKLQH=715RKSC*@CWqpmlpGlcs^9mF&eV6zaC}b9$mckn!t|Tm(Qajmxylc?u z#4}XVOC*?1WsWsAzW@G7e2pM zFjtSLcyQ6kR`x37a?IdCVhTlfeR0w6+I)?_t5(*chNe@xujCYdp-^ppA4Fowv8N!O zDstJUqqdeuw@UU@zDX{mlQ4I7bo4QAA&RQnv36RTtvrjzG5eajwv&s&65d?SUTRtx zw!+PH8b@G$%g|b>A1=B`Az^V5*hMNCOmMF99!p%?^7}Yp6^=ymId#3A!43=>(W*RKC0N)q|P*^Xyh{8HwvJGmoA zAU?xk=p(lLf}n^se42gt$*AfQn}O>l2M>=75fitptA6Ur2{Gm#s4aMdekh1o>47$T`L1m=lIEfUO;8-b^w$ zW{p`pa0`1oTYvNhk5n%>My{%*5BmabOVLsQkI>^zF{5e6l=AjSzrOzYf8yBN;;kviZQEMZs z-c^w%k_?vO0ZZ21L9I*uDbw#YMFBGzMjnmWnP=OzcOByL&0F4@r;_wWZlS;l@#3ZL z?@LiveD0l_sKEi|JrR5W8DfS+=5>*K=v9ytT2)?FZWBgkHCPQ!?-loX{)J#$OuIRT zgB1t!xy9`o%=OCOYq;25?!mLC-A0Ve8n7Fj-hbSiPStAo*MHYKcIU*-SY{323VZ1w zy1RM0mSr4I5k=`U>y}A_FBGE5}%)h;nav>a%p7PTOB1w_h zYwgwl!k9Y}on5{_Yai4(LQ2Q4oJByv4?r!q%ORBu^7ONKHy7;MmV2n3bB^y+EjRVW zXULgAOxCch_F(v{2;6@yJnMjg_)0#g4I|pJ*F{kG;>YKUnZ6y2=KdR6k1zNsgvo;w zFQX&&1=Q*p*ge93YynYcsdp=_b{Y3FHDY1v)&?dYfZ}EQYhb_jnEtjk_`UB#aQC0^ zt^-5qCd6Sk0R?_05-3O{0zn}Vf2rNQB!^c^LUr5Xk$IUFc^mJb3=ruol za-&Q@gq)GA>$#QhUMQW^JFFY_(L(e~9nz(Hp8--erY%T6LOx0q@v;zaDPIG;PgQA; z)gue`)?KL|0rDA~t&H$}T=CBg^Cy#nzw$Py?E{Z&v#4NQgPTh&bg2QhQn`AbAIgt#vD?BWeFiw1;{?CG%cKQ8O#t>$C z>u9hNfI#>qm{6Q}eh9NlUxn*A;aDr!Tl(_z`cxyb*?4_923l_La{|R8DN&2kv9y1y$yl&8^v&4P!Asjg{OGtEt6bQ_dD8YEU9ty7EN<}iS_+O`TNlbSA-%d0fAa)2dB1>?J{TG;G$Fxc&>1YI%D#$7 zzgc=`a*t+!!+QLle8RkZxGGl4WG|GhFAhaky_ABYMsLV{vWl4i486h0yc}x^yg2)` z_97TTxCansXFzPQbIgHKB%fQL1oQ|7?m)lho`ET zY9c_%xMA*);&%sgq>!zWpKXnQ=1+V9Cc{iO&kgvwZ?xuf!k(T7i>wifdEK*TkBvW{L4dCfr#Y zafCD4V%yt7kuOVdT2rr&n9olfJVHl+NodX@v_^TgtGJJ2F!vtM@3wi74LgOw+ltHe8|GMzid%w0e-y`kKuUM5cbOZ zPDNXNy5)k+b>o(PZD$5YjS^f}SLcr_n)Ve|3Okn3^Cs}?sS=vb5_^d4@7U%0Sg8Bl zm~QB75AJ8MP(;38IOGnL^0-WsII>6 zl6$?w@coC|YehFn61@%}`4&0P6*t;%uaQIb^TK$E?domtyDY9Vh3 zC$Oq@8iJQfMLdlDZy9QR5SAp}>xf2ruqc(d z1k_#!FcUdV8i#&m3!ZZ-I5M`BJAiPt#W~sJLv`X}u0+b~O5m)uLr?oN9+;v2i?P5V zME?hGCSvhe4*i?rhh`^0YL?p!fBK}0a}VcGI=pAUALjf>aReM}?sczJS9OWz1_Ojf za>aw8YVo4j$Hbf`vJy5fHt#?kd8oIi`pEqDikAAZqOq$Y?W=&?ChzrCPAUn~oYU~? zaVQ4JupRHNpN3WCc0rrF-3DIAuB3f5j)G|zJ|a1oTv~SczA5$dMWA#`BEKUjjs8w0 zTakW;_*YZEDE+8Ftkz6xTWB5IXadEBt_mJvmSJ?#w46JefR9!zcEs!v=wNdXtN4i# zdap*k*F%K-ExYhWpphSFg<{Ui7ei?~UrRSmQAaMTi<5b}>i7Wh=PfKK`>~Xfk6JF~ z*O`K|2P+F-x@{CQKS!-lkwls?-D&-oPqN8 znLpE?(p)uY-o5-LQ>rFvvMX9m1bBZ3)`#Y$p#DS=pIorQi#!u3hs@5H)%Y;~;n~|$ z;9YO-r#Z_R3O+3lN`e^W`NQ)8M*p!+17W^GJ+e=Y8eaC=>FHNp?HUcM&4xA&ouZ;` z>$Ge038DgAzmzRVUll#x^nh5>P^Os?;FKu^!=zW9mGdQ0i7ifJG8u;71OzvIqGD1i znqj08Y+{bvjc6U?)|_cE`*|4vd00g2lQTbciahbTE27+I43k9&CoCnK}}s!wOd>)0X-q6Y6!?P%pDD>nJ4 zSgM52Ma{V>v6YE~KrI#%wgA-0YuhImxAN+~B@&ils=7`QZpE->XmJL|gP0N~N77ug zy=T@Q4o=Rn{6;7>#P`dCK&v%cqjAhDi|uHF*n-~xO*)?c&ab9b8^-0$Iu9T=pIa|C z=&m~Id&XibD6!1wokKiH`eMC~CDnTLLzCFKVei7v6`b<+BuKp9a>lR zx-F*_7^@*{dSlDXyLu*?SoBAii%@-r4g?8L&&>xEgfk|xYc{jJb9v=(*EOkXD)`rr zHHI967U`z4UM^5z-?V9?wxsf|I6R+ZjOf|#b%H;0FkmN&dQjNzrS(pWXF-;XD3jR% zDgzc}aW|pXE5=H^CntICu|Yv^v^GXmK~J>TyY#|_t`$0EMRqZJW8Z}%x7u&s88?om zgqOfU))b3t1G6@W{8f@y=L6+VylAl-e0K(u~uPmPZ7xmq+!ox!hIyn0U;mR>W}1+iZzJP+=dP2#Fgl{ z(Dwg=CR*%Q1YIRBn$rZA@BT(}?4fcWG~*{8XY&4%5^v{J6(en+G2~)3nA=L#h)Hc@ zdH}7%T1Dyip?Et(W#{NShRlGkOR?kX=MQy=LfaQZQD=tDk}<)GAaqpbX3^_2JWarc z;;;v%`A-+_T!KpQAk+`f0rUUr&;E~b_g|x}OAX2m*96PQv|)_2VS&Uvo!q)8jPA@O z;i~yDmo=|ZVu74JMP?m4JaG(=F5R&P)zDBR2rAf%4ywRa*^-MIv6LUns+e9`iM7Mh7b8t6wAtbn$KguoonOYUno-lb3Se$gO?dd!Rs@ zmeq~It%R2(>jYC&K2CnWXK*ue>ZjTSRPyH41BuGokbh*>DG(H z+Cve;xH*vgGk=xGG8Qxgw%*gHc*--dwJfoVguc8ad%h?(fNvCQk}en_md zR7(I}1510)3UsM+cw+NYevI{9=3z*Q|cXUu8;xfS`pX9i5d!Oz9JW= zrAtllTf}kBC8%{;Egh55fx_kyCRWP~a_3MT#3p`))`P@wnlU8a!!})Ne`nMQiF`+$ zv#PYxtu+tv5Ce6fk%<$GB~F}+j{CO5E%vAJTcvSILH2OA0h zR02Dtgm03iCHF{eY!9WQk#W5~8!^EVW{6io{9)#5 zo~z1`=%nEcb+0(>A2A8*Z7Jb6+<03kcz|u?5&zT1ObphMO5?$p`kX*gyaW!kz zeR$c)qLfvACvn6l>9k+ZEUSXhFEo@N&o;g##o`VAH zcas<|FaGhkMB)k9cE`|VJ}$>+&L&Uxohg|Uk4Z^;RurJKxMSp6M&o=Q3X42Q3ngZF z64b;FO3fU$cmXVm(g!1p%$q;qD!Op}TV8Pwn&{GrW!vg((q+r>+daXX92Bo;NLo|D zJAi1r<`YS&6iRt9TF@y?oeDnxR~^;QRMXMhFO+!(0T4Sgr& z4g~G@Ak;HQ08-<0eWR{Il*%XM3>5r~6l7Flx0W1fqb#3L2IicBil%<%Zbj}s*r$3> zP+&MX>-cL}c+S4*PcvN0acH0-t7YV}`%_2FPG?^MYu3T5k^--2fH})+fyyt+xC^xdt zw}3u;4isqRf~k9x`iqLx1EM+$(;YoAY)z2&kI}0I>}c^KNPjpx@UE&<1oN+y90@Q- zK4x3Suk+B=vLQ&*i*2Rh{d%%)9vfXG1{Z?e{Y20RmCnB@CZ7==GMV4Cezq1nMPlZC zUUb(9r zEujMAaPU_VZpuustNvr`ymQdO{s`s`NAy1^&6_5?V2p-e!&x#u*gm25kXdt7r^(=A zJ5f;h*~(l-IRh;uOB76r0VwWynGAV>_C?pDGs~j{m5$vEt8R5T_)_xJTpx=^X<$t( zbbkyB)0FfOxbjC_K3W_D3iL+nxH*$Js{&-S*UatIllM^*^Wp*Vat*NA?Z&t;Q8Vjx z!IHn|ibK?yuQA9Egmx;#64fKt0!lPh? zZ!X-AG3$sPX)%Q+tFH4~6AE7bQ4_JWc1Z%AxJ5zJ%$VVYJbM1(jwuw2OWG2K!pK(X z@k3V5MJ5FyxF3>&(`PT2pK5s0{;-2LuC}c8KM>8f+D(gTKt2yarS^pEhQMvrj8=;4 zyYqUjgXU@la^6HM%)KMG`jx4|*T%R$)G)y#_~2vs%EiEdBM=-2{7S}}h(M^+51eQh zN4Cd#I4s{v%j;*AvkFT{0Ro}tDQNe?v-yCFos=qOovaU+yhkkd7jfo<2t#I(8iX1> zAIsLIP&0bU%>L)9YL%y~)uzf-BHL{LgkBADn-xf1aHW#CZz#5PrM!#Wxumj-Wz03n zffq23jx8V{^n3Ar7W14ITe;*Cv$!!xI9u{xDz~3GzZK8xdV`4=Zx?jzSY7(EPE74V z7~G;|L5UWoNVQD^(w);rpj27h?O4#N|Ah7ybZ3Y4cGj^47h3nXesiRY*xXQczQVSP z0EKhjDO9$xy{?w359$KW0IuVJiTCIMF7%55c+yx(?fOhZ8VyUtXB*2io`_(aFW^{V z5}FT^02taEaovP-J&9SdSAEow6|{5&)bA9_udhkuIDhY9vF-&@i=Wh-6uzyjM)g_3@9p;iWITxE_Ru0kLQUe;C*6Q0KA^T{mOMs$ho@)!4>yVKFSz zPS~~-lYo??ZIjh5?MdfB9fm!RvJU>33zKV)H$s0jeE%eC_mdZ+r2^f;VWyA+lS!Yf zxTXa6ZHXD^k88ukt7Cf6oWZz4otmI1t=bSQd$8+1-OUhP+}iVtt^CPoYY z{Pa+g8;)9yoiiHOTcB7L<==+$`*Hz)*OjZSq63VUZPjB7}&kJZiAApl?ud z(K(jt#H%75X^uFi3dGQ9SQw$4qcWbI3Z&ELecZ|8FB@FjeVeTb&R6u4`RHd}GY3(# zKe#)gbKfkK$RHbfW9ESEvr|6x3Fs{|jCxaH?l28h@5Ig($B`O>mclB#>C#ty_Zf%K zExy7^DP3ww z;eR=Zq%2FipZB?w}g)7@wJPC?Y`*dWWnFZ-`n`>ZUT_%Ic*yAOe@d+DUHxksUrk z-OV81IVP!fjSj50H4gGivSG^zIUZcVqIJqg_cGs%b-l#JP7=(}BOKwADMA z1kqA%9mJkwE1{_>`!zR9GHt+qrCDj~S-x}0nWd_D&Is^=tuZobgPNKWr`-^D$@0Ln zxMwTTv1S0=MVH0iFhwk_=bCzA-@b5#K!l(q#@nBp?DEmuOj_wAPm1EPV zACq;TiewAN7E3Z6Yo&f+^P$6~CoP$Od;P|#LA6~Czwy=DD3_NgU3pDKTzWzli$wlI zLK@J!@Jv;{O_uvCBbLWo!+oMz_G&{STt+C&ZU!J=*0xy2LU(Q1GQw+_#P^^7)SZwY z9v{~S!~1B>$bm}4ZJ8If@KEK|hqb;TQ#xuD9p_y&Et>Q`&W)@0;GH`14n6>@Tm$r8 zqQdbI%d^KiZmtE z2TXWO9*EK(O;gfKFv~@@!e$HPE}YBY*vJCfE3R3PU(x%bq2_q?ii-uiOZuV>f66(#1a%eS?axdabzVyc$JT@H;AN$HM2bxiO-CFf|OjDm#$t6P(5 z&{;~XA^}_@@>heZca380o54y-@9OyX_yRUd@mw}bMEEIn1yhNR`izVpE@kKd+Sf=O z^d)eN_s`oo#?U6`_J9hm%>fzwu6Uy)(yXL?h*hQa`5Wr?qTMAfp8$4n72noeJ#3bv z9qh3^#bG`PiiLd^p8)F&{2F-N#h*xRvcaKy-^=(0aG5Al@HZ&NNtHJp|5lDQPxKsU z$-!|~a&|9Kri_^wo2!E!+E6FN(&G_|vO(%rv3Nh9FUE9vAvhEzE+c11jqduP2YE>M zhzb!2!j_)Gs0h@!GnwY6uca>4gNquuxZI9*7<9KA`Xcp|SVgcq=&k$ln@O$016jdR8T9h&S90D-jr7crLDv7eCo5BVKSxMv({ zVMS${{C0R>6bpgSp!ycvqxeBN7CacKAIoSrtSZ4}c`<28H*PE_ zl{(yhv4yE-(qdV^PN)H7svnjJxJEDmc`lr31^NvI7DO;L=M5IjR1*12u9^CV5nNI0Ll~c~;anFX0KYp-dDI!=(Pvfp8Z{>J1CpM=4>}Bj&ZsF?;ap^( z#|#ICD9KEzJx!W0m3N9<$)Ye)T$XNTa@w4u=3#p9^DQT)k>S~bg=|L zr|>h3e3onSG-VCKgd6BkE)p^gh04SVHuk;O7@4^9l`QO#pk-?WJ~m2Yi(yp5a-?pd$M;zvN@}k;}I0a`?|}*eBGf zPi)9*cD(*Ad#F#5r0MGrz(8Iu%uv6=eaHdB0M6sIirVgvmjT9nAw(<2-w{~-;x}Nm z24GQc7?m91=~x5V&4EOS6NK4eY~RwVvE?^;COGRoVBd@V{O0bBxl2#RpeoEogbdO@ zzE)q5F;8Y>RDS*Tc)sj~)Yke#4`ZlCH#uS&{x&pU2jo{q4+y#qO9IP!ecjj6?O4_Rn%Vz(gb@j!y(@XH@E(9m%yR# zZ#Du=6uSPT-oH&LJf+IQ2rln<^CQ}i3Gu=?UFL&TWK^dvfq!c%h?J&uszuF}dL<$< zeh|P?*CGe1j9~0Uzu3O$3M$WEY2sR3OQ?pwBs8dsqG4QJscI*L-bIv~;{3+MYOI5M z<|KdS(SIlI@$u{S2|e*i8R3`;)V{}C7I54J`y$qCo7QO_@eA&>h}_#tx32H>d?PTO z;r+ndo`iM~X8!WIz|VB(_}+=gxFtC(KhvF^w`JKuNsk4p*kg8h4BoSL(ls!}Ay!D1?`lcbt{xb)Z@p?bwX`o+6f>+$>imjdV9z33eNOOjyh>qqtPN3H)D zvi|3=D^jjUrjG&68#~V!bd;121fkmxkHaOkUmrCjSNsgqNZX9LmMi~+#U~P!uv?U9 z)(;4V+6%ch)%ceA{`heVvklXM1WAN|O-ynDx-uZdw@~W<=V~f00!ufVLdLo$Ijg~U zSLKpEKA>>DN;z>A6gq`k%ZVvs6to}Y2;6dGk4ea>jb#*cZ63|HAMHbu4d zuS!7t#Z><^xDKfLgl+&hW^$E{@_cAxzX>W!G)(M^nO6~6q?Vwr>>1aE?>L2%isl#9 z@205(H`(vpxRO#nH*Q+{RC)dgjRtmMwv2+}aaCkk@hsx!EDOmhz}oZq9AG zmET^9p8?OsNZ(aNqcSwA$?I3=B6-Ae3e>}=?X4CACa5K=Z8EObK+(i z({lJq19gmC1ya%1+{h4AES)hXH9G1kZU)mzoIYlmb8cCcDFy)q7Ad4uL@a!=)o?}b6z|{<;X_<9C zW%0hILK`)7nz9Oz)4`suxR5x2u&sxK($*(2rj0;XfhcFdf`f>VUk&_pB|FonmN9!B zn{l0bp8V^B|I_o5ISbsbpnWQw$V)k?P6uv}6EUaiSTx=?PUoD zZ;&1SEzJ+JqqyJE#!J$-t75FnQ-7BXbnC`|Ku00>Gsm@4)9-5M75z!Jy?hK2?oF=g zb1a)el8XfGb4*hyw+`j3`u(pqlJZYMh1K(`oo5UDmB2VlNiY#bd( zXjd{B*+||O>RtRL#91C-?O;h z~ z!qi;=DG|Wdwlx?Aw+b&!QjD4=SP4+)SMbWhryt;{a~PrO_=Y6!D!CNvgbhm3Pro=? zf2M~VyPC`yBZ?M3pGw9ijk7`c_)aL5hShl8-FG5TVKN6gq@<tY-AY~?po_E?gplkr1=t9^NzXREuRIdX0+JPcMrKx3|j?}~0`EQg;2{(dmj`+~gOz5{Vn!O`CEI?D1bTN&9jxg1P zK{?-hmxh~ZZX{DScmOUsz_S#CL`3m1zS&U()t;LVDf+UAW-0(qfWTyp(d_o zAJ>8PHI69qTma7h@CL+EsUw|5h@_C42`%p(wLYF#^RUFCO0p`v@Hl{qkW0TFJ zQAJp^M$OwR?cC**iWi;0nxUvj`BU;nrW4g&LF|HA3)BI+_}HYi6A+bVjHYLV_eQ7@ z(<)=3uC8>zMp2>#T(TBn8Nadbb?`hLQ_V(XPn;Xyi44*Oy0J?K7}dMa8JwVX(m-HA zV2Ylzp!NR7at-HL#m$$9RsASbPor$ycFc8P);nmgeYt2n-Vd;0kNH-2kE7W5MUy~b zE)AgMHY%cQ%O8o~=#@9qi2-2Hq-G|x4HC;2`8}8DO8Y8t-|9(!)}#s*rm!z2*NRp$ z7YJ7t@MsKAcrB&5!N{gLbeyy1PsF>N=p`^3XE~+bikuk8$(ou=G~Fl9Qol-j5$Nh+ zcZhN4>}Ys+a3#FL7p?=m{b{9dYL4}!X>1hb6dIy5SQRgFO@7lB9U@T+M(#BUu^cry z`?JClhJU)pRgPM zdX#A?sU}HbDh6t@ax0p0FbpWnm-Ye+F!=Ig&)JQ|D3TYFRBEI`hxHYsj!_bj6%EjI zcYBXpGaCN{)~CiQh1mZZ8pCot?G-oJy}D6XjG~I+Hd>E2Y+a`ul5UZVs%tC*h$~*I zg#8`vz{`P!6fH=mA*Hm9Wly`sa4(~@Rm7>B^xl9gd`)jAB`D%<cvh~SVeA1q8hlX8!yy3;{# zd{iL6@Q+ws@=XS|3`=V;Iy$~zagW|nGC9%|&e8KUGunhRtZ?B6HgX897jp`T$^invS$Ea_r;R4QfK! zcuC%i8+Y~CGeOAU1GeoSehn2}h|#@hbgW(mFywdxXb~h5JV-fzn)Mv z%BExCDn=ufXDkMA!URVRUf#eq@b0HPxJus!lL&Z_?MByn1sin`^0u?TI9vrq^pFpF zN4QD7Z=kv1#NLJ35bRJM^SmK9h>i~iA>X!fde(k>%-?=!TXcZ; z!Kq|k&i)BsBroqj$mF|{RBeS~vPDYeUNp*15!3?zmL%{1<|X?)CT6Xp+Xr^Yo(TSK z{D7)9t#;{JP<_pUaT8pZx zN|)7N%eUo_Wci)7T`RLUO!^Z1G8QpMVc@z#sWMJ&;YgP7RDs)%oyCK^rgiEnr8`xG zz5(Wmw@9AC4W$RQ_}=sVK-PcF50w)&1$G7hoc`B z_PC2A5s}BD6c8tyf;{-UToJF>^AvVizM&*f41%x75Uyc8@2+r1%n|9B;t$3OpR9wz zc12)zT5Q{NEy%88{Oi>3POT8beZ}O_%5Kb8Nii0zn*zhqRQ&DewgEl35SM*x^5QsY zHwf*hg-?L!Ock?gDR9gj*BuaeI)SS}Pb@8C2i#3bkAmV@+-tr!5Y|rNb+?}cq)mbx z(LehM8Bqyx&V3_(5*4BC{2a)V_s0~!0Q*Sad1Dg1r!OwSB>a)~LknA+Z}?u)kvHYw zg~&nr&LgCqPwLJ3I$f~HFBh^9O`$uW zMev4UEi_P+eoseK6nwKJ)A|m7u>DFMmlE8Z_uS?YYL7yFgh2NW)h=0fGcKssomG`C zv@mO-?u!CEL(?iiM6H{@ac_wWMBG>Yz2Fw%(dRe+eOF93NH^s>$r>4t`^-I_P0R$libTIIqPKIM72>c~cMzt(AdBAM9f z4_WpKZE@VGf`&5ltDyR8h1JGH6>UjR9pTWyIfCDbVX}MBMeSA&?NFP#qMtQ7u@d-- zrz{T&_!xQnJfVpk7@u(c-TP$#W~?$g?Gg;zNcRs)inL`J_YbtY2}(0Je#1XqZT_UKZ2>^@&3y~C?$){?^(sq%bWVYvT-lXJ z?zwc%1sFzkeL@Dma^IYpDnn2dP^+=hM99ArQ1nRt@F2f8F#qUq+7`=YoiD=;=xLr4 z!Mjv9cQwve7IQ2JRBGg0q$aD7e!_ddbjV#FH^>-Qn*jwLBdjv$t~iN(fKFVydl6OC z^Ta?$*J*6=om>wbP2T-1YAKe}+xf-~B1Rzdcdpwr7Fkhc5pp(6D z8vWkcu`QU)4W+|7qTn61IVaB#qa((-^9l_jpffGR6$aA36BJ=Op=HFu`;PJ);l*ae z+ZyJ@#`zD9e`f%K9Pa(b;Wx>EPCJB{gZ8c|b_TzmB7(8jZ33Dj4+za`W37NHJ&MU% z!kU6~Z8I$jA#J zj#i|&0P%DooWYqBXw=STWK@k-PHoiG8(KWVR1-g$=(92$sPBGWEIQu@6kMvu*++97 zP6y$|F@H@Qps#UAZt({Arl>~7jckh(P+Y#&xW&{}YF5h)_LG!NwM8{maqu z-^c@sTkD$|OWFR1lFdIgeKM3aWl{ODc;_%Y^eGRh9FWlht@&ZT=VHhcC9_bbLYc$a z&Rxo3G;vQ{et$XKy2gBxB2IqV&O`hF?6C`m|N7+@Jn6;k*y%XQo^(;QwdMOQc|Zb> zQL5NPffW%Y#E{C5rVtgYHzJHcgb{Z@3+)ar!*d-QJ(HrtD?znibLWT_BGELYB!O4+ zocSKT+0uQsvG%o58JS$;Z-5eU& z=zkHm)V2_N&E__elM>}m<5)Dzs~LF~7o)fKh~2HXudV7vjqul-pE*T9U8N4bg!hDF z*O2YcEaeE|P%QWe?M~$6p9{8=%F@~qYw1?Lo2X>W15D?l9L|FVaa)YO>(6euiZc-U zF5SI`)|)^lTnl*`2GWKi^b?457>ddDAOyP7Z7UNSMb2<{iUOMTKfyTzk9P~D)m8*Z zh-;)vXAVo$;i`>PM9x(17Qt8ctHa7o=VDtf)Rx4{i7IH(@H{<=ptKBd^~C1c(!!Mc zxoTgvz9dBEUXWjsnh8Udhgp6lS{;Hb^$L3dzB~ffVWpy3&m(A#YwN?h+lR>O0E0^d zPp!<-NBSY~IodQvR`(1Fx7^8JUr`&lIaWLpMlVB9%BSI>Q0NnEFF?1(pRk1WGI1Z; z5jJGG=CU$HKp!hs+cWbUF*zxBPFQL#2_S>W=4VG$a0&j4R~vq#sf4ljUNR>`4j+w{ zC=lvFJLN;Ldi=|PFQrE?ka-J0T|Ub9jQ|s-DiEj(6WilCFE^- zNWE-IS^`^g4J8e!p(an(;72PYpF^st_=s1uK&d<*4ML1RuU;O|%iXN0`Yfa;tS^I? z^Gvat5C#*C^zLti6Z9z&JSFxwJ9L#wyp5DhJQry1w%U8mcoYhb`j;V>nw2r^HNRwB z2aroMt%5NMr+%_o@vTA zaz3oAcWIH1y7;hJ141t54#zL=oJ~)c&d;}7^ll~9jT08xcGvICR%%f+np?^wzn0-Yw5zo?_Eo!*MFtn* zOX$HWfC9}#NR^z)vRr_>@Dr8Ez)iYcq<+Iuc6iB=3)U`fEiu-t@DS=%>O<{ylluyK zSZRGrTc5Y+yDj!!7!_!7wf_;cZ{Gp`kKx#}n4lJ+eZ|=|6n;Su5Plisa8rHdEOv`1 zd^P%v>PcMWuKcY>ysOjUFSR$-&DYz?>OKIEOZAiMlBO%1$4H3>kJU?HIt>>;pqKzS zE4(FBka5F4MXcHytEq^dWHi?_KrPD3=vYYzONHCuJ6ETTJuSBxR!vTgg8{!j1PTiA z0-tZU(EW`7$1QLOE>Bwl8*2b-q^vWzjpfP=$mFL+=Y-ybFDt8`68)Y^ByY{v53cyb>tj8 zqQsy4Z-`=4t#9A~yXe!yC62IS8H0=Shl^26;#gM7;rq9dnLh=xWWI!5jO3pEB2R$YZm8Wp~Gy zZtVXcyP5x)-R8D)zmUAs#z>n+l}PX+oR`-$?YvY|i~6c1hpvB~J7nwDiG zd@vMXQ3#(v-T?jOaSB49kz}5a$?kV1o0YzAZ;$xD@E>Sqn=5|0It*tg_erm_R-5Q; zbn}8Zl6J(BWbk$5)O4eJ>PF=sh9qna>kF zsFEMQB%f7&`0H_4rB>1}%Kh-g=3Zd?d7a->QFZlu3H}0^U;D+&y$#2)Tr~wZfqCg@ zjE*KmWu`2qVruEP=IX*L#p=B;(?^|>$&p+o(_8lgcK=`CZD<65pGNBsDa!SRsBME< zbNRvF2kz3r9cWqM@H`GI7K465S)I@^1OczysP^gF3yP~+AuiJZc_zfc;pB8bEPMM4 zLm`(9^bcvH95Y;=y-l;yhkujFrGVHecvBu)wdo73%lid&9pc`R9nFJ2`|T!Zzi{OL zQT&NE+^8n9ic4rm@^VlYoV`*n+l{zk6P*ifwpP$Ldo`^dY?=r)*H81SwjABCKvxkB zl#P6qHU$03kSmgA*3(RW#Frf>SSB0;RrHk2!YTkCSV*zMroiI z%kba7FBI!RJHaxu-{k?H&BIkQC?-wZOGYoRmA<(;!l=A83v!)J=7Eq{9yXHiVJoFi z`d5!o{wqXbiLdOFh4~+4Aj^MdV1de-ES@sfXU2vxq)BkCoQ7nBv}QG36WweOm1MX8 zWr23F7FfaNt+H^l09U(lLn$j`%| zKXyYlhwtMuz><#-FU3}#lVpt8skInP2&9%+REEcfN5vt>&h_cJUG>01!B(WBXo+(y zNRX_QSi@+F?TmL(*_4W+ziS^B%S5$Fb%UTCx}|4uQkj_N8$!a4;q00IQ-jB-t~Ckc znrLdB%VL~Aa>042VbLiV0qDc(){EedvJQH4r0@++|M=V!_^%Wvg zCGt;l_s;XrHszSpD`gM|Xv>gNFgC-Scw*TShU4SMpXdh2-Z@fon6!@yDS4_Ynu1|o zy&i-$68n={RI~SUg)G+v^HKE@)`XQKL{Sc;NF*9hG-ruA4<(#{8fQc%!G!vB)VLMh z9pd(Lh*YkAliw+lS*|YW!{uA|FVqh%tQs~|Agaa*xC#@6=nTOZ7PUfk6fzV_&zcJ6 z{Gp=I)Eg*2ITTkvF}ErOYHQi(-{hB+mop`l;+Zg=dNP^zJ>sA5qC?l|3^xy`!N=}n z`x3kGjHWA7J2Q2F1@F1HRWKit&K5t#Vh3g^mCZc5FzAaltp3P+a~0RI6m~y|k@sRP zq;1yxUZv~DuI)@~`k1M8@+cvcp6xnF)M|nlFtB%ukbNW?@_~Uzb{fYbF{34aA2li4 z&BZ5tEK_|%X^|)AdY{B0Vkj7yv&SJLpuJu+-Ad~RPaJ`hyK(u1Wd*w9EW{??_vd6? zD1Jv!jb$2(PxL})3F34yN7m(vM*Ct@Jq%t*gBX|LlBl)u!E=f0^lC>tf?oN;Ufdq$L0pWwusj8W=u3?CG0OKQV zW%U)qKcPiJ%?qVxzM!u-xFrBKkF*3 zTx;e80(eZ>lp!`(zvhKM#mx|rmZsk+qAWNB10XpniQISjPCtJg^VI-nP`BS{JW8Uc zVd;eBL3eO-maTmmbNQruElaMlI}GR3W?H-cGc=_e1c=x4e?D=?j<*V}s zt%qYt>9iwAX(P^9m5U1w-lW_w|0j`Kp^dsBI{&c-O&C3ETM_&(+E-IziP*2I+53P6 zlmu$ewJ5t-)s@?>EtD?L1k7Or=VR4tnwt)wzCxyD>gc$?A=qrQ(Wu2}>%ppHibccv zPK{7yn+z;tj~eEdZ`|?-yXy2vpgnZ5{L$?~+D>z zF+$M>4~N?rz^MvJWDiiOH=|W*IfDt)hKtOA&)Z&cao+GLe+?l^OA2Ck$MP0Y$+%{d za%GzObAlu^IG&n#GQsFIXFn~D=`8WMf(}&cp_@B+l%wzORk7CQ81w3oNZgFIzCML< zm1;qZU{t3T+~WBg0Wbe}qfs|+k1Cj3LJ>9xCV>sPX6NZF$CnUAQTd&BmHDw?7m%GHS0C*! z_DdhY@|a(v&(tk@hX;a%M%)@Zi&|}_I_wpuGuw~D8(U~_t(25vj~n3y~^i?Yr`-&!J#ftG=rzDZ+!!kZu$`)4s9ntxuSGd zeloNRv_V}E*PeCCY~(kn>Ik2CabzT73V6g?nXgh=(r0;(#fP4j^eB^yuiN-RLWtjBo1*7_d+(dKj+5Xy#{wJ@}0+7nd+6}FBp#bmr(rj-0>XAgbzQbPHyyj6wxCja7EYp zSw!Pm#NTV_-Ha_=W*2`Q3T5icBaXVIB-k?q@1oDuIs|4D9tpi&RB-_6m>lG-DT4;D za7Bg?=x=)CBX-S*hX6kJoKF9<`|LwWlpzEKI9wFI$d3Gs`QMA}Q>WFb%`Y&q`J!~N z|Nn!^KhWeK;==z`bw^D|fHI;5$y#LC55C+X5xeLIG@noU%VF8c+xe!oTmGOIwu0Nr1p@u!}IgCev1h@INhgd3^Wwn z^pGCF?l;k&Q=(d*0I#HI28jkCU(Ia}YQBHzzLP+HQ!sy3hgx4a{BP8l|4$tL&yd;L zIO&_){F4fkp`xk!9}p~q!X%Dm2IB@@0lrob6qo!Sq|l-yX+g^-M+Sms{b1w(2O0;L zf&J%YJMWX9@a42jdrU70kuJ-L_A{!AF6nigRBNu1h5o44)c5H8{o*Q})A#f5+SRwp z08x90CZoGdtIcSls5J)``ZO&#*K2+_*P9%FPe!4d9~6Y*cix;6L)9T<;D~5md9s0*IgP$yYNEL_hL+Gsf)K7sqra7b3x#k9Pm=^O#QkNXP z`pq#*6&8gptChy7yW)clG<8N7#$Lq(W4$s2nuBZPLl5xwx;*;FW45>2nT+lgv6Rh? z@@0PnU7gi=zJ%o34AS8AUHj}})qzTBxU(=j>Uk#3O<0+Y@E%0;MI=`GCm~@m%0RhE zDp(-1dmeeBODUN?ruzt5EVks)AypGRr!AIXEG$sRHX~ixv1KR0aZr%^I(a;xo`ea~O-1f__oBFk%bnvVkE?k?ZPO8mS>uMBW;W$! zrvKPOg>dHuqrfT!uX5m8{NI-OVM(w}!A#Kt)?b^n_n3RFba)h;F=Pws7gWcjO(Yqa z(cL{nW9`m+hUI3JF3ku zXI3O=bX(#aJ#}FaVQ^|Hm6}0@4fhFUudpelazp8XBS7iXcSLj^g&VR?gXHrN%+cfO zb3}(XP#yxeh=Wpaw=`ik1Uh0|kvOcY5;+OGJ4>>(So z!)m|X2!^ud-#_td4GxpsBe1&k(AbnsCr`4jG`_8{y&o9CEzzdYVy~^~XlpuM3*L6| zc&+?RLh2a6FBK=_qSrabPV~)zhTlym>^Mcb)|lTFCRk46{2x6~YL*a3`3RD5irldx z0)6~eiBi2~n;9PZG+LvwAE^aa7r2sLDx&CUkxNO+$y!gLcu2Co0ZZ`XKdi9jResS^ z=Vn#>=uu(pUj*Rj`5WXs*ddE|<7yXTecwEW5k|Qexta#-M=GFMV+u2WuRxyrxlh~C z*r1E_1e;?z51A#HL)RWXOc-)F=W76{xFBJ3{eZm3f8FeOM74Rrc;ML04OWxqcpso}a@$S{# zUXHiSzKKwJHLaF3$xE*JyG_QwiyJ;l)DBdUw%admd&O`&4gR{VKM^rAr`)(PEK#Q_ z3t>ID>$2_1&Xz^+Hv1K)F7p%5T`bohD_eEjQvX?|JwS3FxxfeQ|Drjbo*&OVf5G*Tea+io7cM0YdqlI(6bpPD0**4&f z$DD|nEoZt8dkD9qQHo#%Xo*jW;*4$&Qv%&Reci$BfS^H90n#Js$&i#1qGO78>moFir#_c8=;%7{8vO&km)WdMZEBS=tHL zgO+R#W)8fRamY!jPv=r}%z}7(pLMU*PpB)0&MOZ_P?B-1i%uSl2EQ~(WwE?KKef7i zPtu#wcQt%&syd*Dy3R=O-Wjxnez5pk2NLF!=Y&=uu_7&*!csl;$!!SXA}5}*waVk! zG}fRF{0qhLmmh{3D%`hktVG|w(fohkhyQsAHmJe6;VGkkTy>hbGKtUCo3}}?+RV{P zvqej<)yI`$W?Ud;iBt`bj$5h&{i0$3zW6Zy{!qrrm0 zW<&Zi8xz5d&|9&Lgj;mIBI|wNThu#z*yv9Px*wGhUo5}32S~4rkib{6H#re>0=pgl zH?dwpro=rEY{?sjq&LIP3ySoeqV!MG^p}=EQKR`iOuW-PynA}Gx6#lcqw@Ye6d&3> zXdcQuXj#r1+>bX}LZ74lIhi*da@>#Ztxv!XHuMzJ_)0c8Xn;mFNiKq!_NqH2ZH$o| zSFSv5Cu2D|iiUrVP`OQnaGXWRA=z7Kj@r005Jg;Cig)P8*_u-9(6?0-MzG9`Sp}Ac zdS;~Xrv)rD$*2rkc-Msbex_$91h-Ol2Q4vZ zu=BB8tviIS7@)D91|pPeD$13c)|=zklb;jUKY6lVajE=XVgxwfDkq0%Di*AtTfoN& zDIHNtcLFEBGFvF>wQ%a*%7_Tg1*Hx8KDu|2$mTbphRvQ{%}J6bZlD&T8 zenDidD=8{E0jP;9HyT#}gs{X#-SXciZ|Fj{_S{=+JoZb?c2d83S)J%$4oRTpXieIGO$}w4u z&1h+ggPPP~?2>M#XQHWqmzw;Iy(_2~1|}Yx#1(u{7fUAdt2GqTvJ(Vg%LikvlOOsu zbFpB-kiNa3SkppF>zVx7-E-AGODoxkuadXUa<^5HQ8YBaY7YgE@iIdjXy;>i(kNmn zs}SzJn|G9p;|FKVy__N6+znu+1BrXS&2%2D^@6_nlw-|cE-odnH=5+7!hxdNUBG`U zb(qsXSnKAFSgAS29?Y1{fB~xqn_%4^D=tB@1D|XrN<8%y(c$ib##%&6&RQD~WPr|b zkv{s1XUm)r_+{Z9x^vDhk8(S}9n4J6i4}cuw%ov)xQ?+Q@I23qwWQQKU%ueg5+dV~ z=Z@|)`Gzy<`d3}?O(R~}o^LZDG7_!`V_jl?-};fJFA_Vn45vEYFB`b#^K`f+dU|LbK!GBKKcjaaLcUiQ zz5O>P=h+sTQ=Vv#i4)+sAH$*>Cc-}<{hbWlcj%A5b_mrI9Haw&rRp_ed-;!0eZF+r z8{RyD$%C%k?JT#1aQDa@_rsf#ZQZ9Pf5e?Wl#je^ES;m-ExBvm7ys_CJ!m#+)0|0l z;a%*wWMzGqLqNJM>k+j=vOhJtO2iVHO7E9<14NdJ8fBVxb2d3$v6Q~!vQ|*So-mLs z<@ec-Mi5r12{i>vLWHjoy&TPGHIw9TidYF!-uF}rv<=*~JaFE&-I@>z&SH0BCk~0$U1IgVk_i{jqHI`H)`hK3#enR0R(?Y!A2}cRT z9e|dJs_Efs@w*e7H1mns@G0s?bIdXduyjwg6dK?>^rxz@nGE1r$JD@#fxEjMCeBio zzjt-8z?u=)cmt8kHN`^TDp^`oSwg#eO1-(<*-+GBX*#rc88x?70-nda_viEu?IhK_ zwFDQYDpV1A#F4f`Sr@{n953ADvO7^==FlaXySX^7);n)#JFwJ7N}jzGB0wG9#KMh)X*#-3;#j~eHSt~Ps$rstAfJeu>dVU!#Njo(k{S&w9o!6j~sOo7$qOIvx zHjKNHqee{0hxkO#23va9;9z=7D48Dfp3<8^KRaxyPs`QqTa!bO@)=u#0B=6Ct(4#z z=9wr}nSYgRo>-v9gB4afPs|-xb5mw!<{w_83w1be)7NOAUmy+O)>R#}$?XT^HU#vJo0w*-nRCN6q1zl?7=$jg;ya@ziG?g&h#Bs97n`}XXp4#! zj$KIQ#U^{TvUPSAs~1*;Y04PdS52}2VP?tOGV;`7fkjDJPzBO%dZ-0IuAw@3!_?j2 z65P^f-=JA`#YcY^0W34gxwCSlJfi%cr_gFeDN8ep?!2HecZ^@cJi)Vu%6bEi1c~^- zuLi)0UlCF}dCXpJvronX3h5DXI``3{vABs^G=w4ouJO8G?TFkTX-1dB1NVJK_rmR= z@t=g%fRgsu1M{z;nnds~;|DB#hSqd6Re1>p(!G95Go(A9D12h6$7^v6*WX%_o86>5 zhpOwVT;P=VDPIAJH+U^^Q*=udGB^Wa>&={r38*@ADplrXOXJX0DX2Om6dVOdfjT%p z1@H(5&_$LTXW)(;pQwr1^)k~&%Ww(q^UA7H#$Ct0|wakZG!|olt7kJ<- z&k*u75DQmXEC7j(i-bMpFRg;t4=)yHqVk@>>L3^nW68L}sgr>IUQ7~@69yA;OgMLS^JK=c=AEn$lCy|(#o)fCXu{7$;aRxPPJx5Qcq zKsj=O75eB3POq~AMy3R+Y(Z!dN>+anRJ8xB77sdJbdc`?t{VbY(x0qrHH$O1UZjD` z;9#4K7rxO8ATmQL)$ZKAZ5I!`uPt3awhBV#?;d6DC>Z97yq^-bXcA^(>hVXAD z2N)Vpwj2%8mO-1BP}61DAVz-VHEO*fI(rIgbMk4Z*Od3Z>tL{M)GaaOYpqXtb=ZTQzzD-c^U4I}j-jY;KAKlu28`lr0L%S(0 zpnq&x*_zx6B>xg42Z=yop_Z>d_gB|vAxZ{gn3f=9rXLAV-%Vo=RMRYL@YiT)ten@T zwvL365JM9#Q>oB6(^#{>Y|~g;yiB|AvP}e&5~zQ)?4G?(K$n>1_o#Lc-zkPpw z1m)04-5t0YPRPu7^##P;NcY^*B081AR5{c0J$=(d5uJXW0-13o-7#iBxY z#b%u(kG$lmLj%{)^oQGRx$X)qvZ06OL>HbqJONj*F;gZxLOe$UcW(TH;RZ*NI#NA? zOg=yMjG^N|Cs@aD+3F!vaWzz$Y|U)qet?r2Ee+(_D@LYT&f5vpfj%ygJ;k<9uohXH zS)19yv((#zutB$s1g)mFDr(^1va?j#SQI6T42f$cZilj**eixx03!$`?21HD;(x_^ zYpX>LH8cn2rTN#0HQ>NwGx92RkYONLdM{LHvsD^!6S5=ACm&bJx8iTP8DO9BWiO~qpci&4#0nkp9r zO`5=}vQ^DIRGTOvtod2X8~#3+G3g+C6a}M5FgbWW$R(MmKoVOdHHs{GNHS@~XQ0cL zE~3HO6y~I{m1xeNR^wch+N?B-!=@V9)6V3zwkQpjwTlPn_ebc%{!NNno-x7ksJFc7 zFUNzD66)#0HeIhnn02;a!GVtA(oq(Wi6dB0At%OV&C}k%TI?S%~eE?9Rlf(7Dc!1STr=_Uzis_v3VxceA<&= z*-8yb^$6q(I|CDuX2D@rR-|b9HgydSv?UjS)NUJ{HU!!{jyyr@XAp>U6gthT#(4n9 z%ta(p1SsdFek#H)CDv_?qo+IQsUGC zS1hKbig(5xWE^<>1=(Ut|1?b~1*D}dWX>z5tmfg^TNju-4n|CvD@qho<6mS3SJM*o zVU;LT$%xO14sHgn%&wFR8;E2b&>-_gjHi&Ha?VP0|1_5GKK(T~MVkJxWy$4}7$;bx z+$$m^GFw@KR75Iz0vH;`Sc0dG*O-ujXXc!kC*~C|=|4z@Wa0`|QcTd()U||0o~bRM z2vX-1Oo$@OiP4y8C!>^!Ibzd*Wuh}m={EpAL7D4&hnv8)dA=mymb=EUm52&92)U)< zoIqPz2cjg@RMXg5oEaZCI@iU7+_cXknrIUBH$JGfdWthx6=)yED=>2VrvGK>)NQw} z2}GX9aRxEm8V+O?O|QxZ|Cz+#iFWg#QIraG=bkFERjQ_j_y~Qtg!cBmOQ{-+g0fgJ z&;NjfzXxUpY&w5iHP@WK%wKnp9mawSxLC9%E%-8*Y?D7EH`Z)-c|ae8f^X1oxn7$2yPI!wm%czqN3Y=Xslu_02&p<@`ZS3P&PZ7q>BWqa7=_~@S{;GzGG}b;qTM(82wa5!Qm65IfdB>;CN_B0qDs|N z4*q%t&T(NSDH@z=XsR%x!Rc}!u{O}@o4JQS5m=rWtl#y$U_r46GaRJCsAjftW69Xw1+3;IES`*$Vs3^a}p-!(FotYkzHWJ;qsz!|S zwE(=xsNaub@{;CnM80-96Z5s8b5zirtdbndlP-352mv42kntcQc!I{`dme!aRgNpG zyr|IAneC=MBvpQ&txG)^YD_IvXBt!pWa$fAy|0=o9XXxXYf97#8H2RCDN;{<@Rp!slj-qGIb1n?CKZ?gn%FrZZS*I@KH2(Pq@CIV8`{#?&@2BGA>1 zDU;0bbx~~y!$CxMImW@a`H7;2p#NM$-!x&4@40=1+|uG$7;z%+HM}iS#lUp z{q0l<_%iqlT38dZ@9va~2RZLp?<4lRv&QRy!dyQ;N?4s{^qbY8_>2dTdW zJG6Q``oAhW3#hKLt%1|h-6=?SNeL+3-QDr0I|M`!kS^(NK{`YvrMtURLb{|xzU$2R zeDX2OyrXwrSd07H`|cC>#6J6gbM;=AfY>T z>bIW;-&eBd}V#*kusJTdmiTMBeZ&t8bMV*;t=@;A>6HF>)sHlLHx}&4LU-7+SBCOxa zf5dSrL`PX|+T^hMEtkN@LN-Mr8lr}*9f`eI3vRklYs|fuZ_OX1j9y*GyzwHafG<`s zc$w^0gH=MZ-nU_{>scMnQ*Any9=rLXi0c;8{D`C3^F(^0mIiyAJo)_*V2=^t zc0&{*q+rveK*zo2tG%FPI@DGbJly^~*Q^vY7mgt#A02r!^+8d27@A~}b|rpRdR%U| zj+U_n3aGGd6+E~SVDm~c!$rzXhgF?%vfu#2rVL-KSvSLgrVFP7PZ9}ZDQ??ZkC;nw zU%xZ|OB$lD!F&m|-mvc0MBzsb2@@QC-@K?d^YQ(>Vg1*%*YZ8v_T3@{b-Gp*_`gnj zPOnT|s5ZU)Lf?g3IwW}EY-RhfGpwswhPtzVt!A86kmbVRyrp_1f5oAf^_h++hIfD{ zs@hSj%gfna)`93l4ZQSM4i9){}(3p#iud><#C3u5-nwWc#f+Hl=eSlZM zBfxHq*HVyv?c-6(mV|3;D(gEay|k1K;+7)t7-QtabH0eomi_6FY4;cyR+%%ae8&M7lvVmndL)#`PJn1pX72&NMR%ZMe2&~^d89vKV z>0*&+I;n6xIur3Ecd@u4B9yqhF50x_U)aWpIP&1tT)zdJv+{H;b7%rFR^*THgwQ3V$_!3)2=x~WJ2E&pHKmQn!4GlVT#4N{7d?jU+!8_1 zo19aP5`j(rp7s4|$H+phb%?3^VO?B~4BM?)15(g|ALCA~v7H;S9vUkzNd`ba$c<$l zYun8A#MH=ak?Dr6N#dTe)ZkI8FBGit=iYUB(k`8-E%!?2P3>Y3%`5jFI^vd;hJ0cU zHP#n{_y)9c9m>Qz`d={fF7Zobf|5)QheEG#&0y?z_`0U8DS{0Q1g~;tOIlA=y&gE&($UsNz`?=5{kQQ(gQ~R}fe7XcN;r)QE3M#qY_0cX0rBjbTGmMD zJ}}^rRepwOi*fzWu;WslTp>RLaZ1$A$J18P!udLFiTS=$Z>N&#zl0Vnc0f*?PJD94 zKgf1A(3kFgeMI;2tSomGYt4zAxn%hb6eTl_cOL#>K{#)ovoK4xfvVNKQC)MMl9uQIAF+!9=x-m{>z4GOE;!sau;8BK1nKX-W^er2+JS#RdOwWazx%lHx- z*U%`d3y<-$b^M?*N8CqFTgE5sBhffvnvu2WA0ZTidF8uhs&-1V4?zS+IB> zCZ6{ezLG5%WSa1e68`HuOBk#OZLhPeSy$gPN1HDny1OIKNz-oL#01+OWRM3VT196{ zh!&Yb2wCF7&I}3aYi^I4YV1Od6Jz0xBdWlh;x&2~IO&GB6`PD6Um&7X`+aD%?PQKa zJa%lOA9dAa9ubP){OT4RtQ{AyVjFTIG+7$c+k)W6vZ0wJPWh1vo9RKd9mvEutmp{} zTT!a*33A5Qu~*8e))BbaH+-cS2xjL+qd7_ZR6IinSt}Zzb8#wjE+^kUlIF4v1v4Re z`j_G*MXW~$*divVbLjhwRA-_WN*{@DOVO3w{%2naz(M%2O(APg4aH zl7{a0`Y8rc5nPKr}GRh1JPp4}K)M>Yy41Y=h|qy#;V z0*`592Vk=d-Ym~-alv&-z_>v&oGit7E6BfCfhXI{D@9)kR46f=4nC{vaYlPGrAS^yXDo zXTk2~KC$#Qa@aK(!zmk?PI*ZHZHzin%oFp@*YG_D3l)&mL{Rqf{@d~yWbfizkbKEJ z&~>Fx$?F5~-H70I5kX%TMb@~JP$Sro_RZbYT4ll(z9^htr)U$U2B|dJs!Y#QitVqy zqODt`jzmoN3fNrvBo{dBEhOcMGlPu(Hl4Jbs|M0bA4jH+`9+RTh{MtdV-kutH3#|` z^!P&C=Pxii3be+<0cc4?k5tdhImAA7#7cgEeMXQZ!C4^A#L_5rDPq3x3`VHO_Up4& zdVVsUL`C0|yblT-rOT_d@6m!kP7>sbS2T#tNFXW%v%LQ529Y}EqEHtOhK%lgE8q%E z6j@(B(5UGnfq}8!KY{Y2QIj*YFfnratyODRwFI0VabL*VAoQwIpM?}_K0+clcwepQ zj}4s(1vF||FF#OlQy>^{&d=N7U1MDilMIzQcc66)oc9kOiUsX+!-?y|3D}djrnwG& z_DbL2-giIycDOOv1m;FiN2@IT&b$*6%Q`_Z(xQ!>A3MSc(p0(6P*wyMaN*AIaOc4|#&9*^}i`uV2IHiUqW6 zCN1_>8~b>RZHimYM!iD_0q^t7csr{m0!FJV^GfTgbLGs|O*d30-6sfS&30wx%N)Y3 z*H0MgTq>w)ieDaJp5z=`g%(>T3l? z#SsN$g}liAp#+vm`c^t_%rAAlGBK6RI?UdU;n(TYSG&2QP2>_YApxsL8hh5W10Bn} z0f!0c=@_E{4=kXw{S=_y)pe-W1g7c z;EH4Ca-wOJ??xo`qy3A3(M}dKH<;AQSQZ$H!7xHs?L(7TRH-zLp@IR7C^w|Ux4flX z6!AU9*qpE$G9AY&5+jR2sRyo_;CiREhIB^!NX5j?xb_wAd%h)$52;7*oS||(!yrS;(--$CS(5RGfcbm{{*i|p{ayWH))Q{( zP3!JGS^xPnC{}6fS$*Fc=yX!dV5(@oOg<<%RsvDFJqgnfy;9)`?4ZoRCEZ6GoziD>owxt3w|=srsrjR}A(&))1jIn+a7j_$H9~T1+$6i+v~4 zejR!&w~aVyD` z^cBU{o(u^RkXDzaQ#Z(sK$!#EsNl%Ig%eA#NrIRqbKaQXZLMDjXg0sbvM|D|v4s0{f}mV{|Wb?d-u_XUekBvB_-a_Wum@L)K0;e9FfEG zER=mCiF)c_F^SDR(K5o;_;bm2NhrO-8k|9fJZ4JWVj_v8BXca~j@ZTAO0GJ4tf81aE{_YfusS(tr^Tv4N4q=du9j=B(`|Gg4Gw3O z8*J&$la?Cs=_FCdc2I5Qsp_ntY|ovV?(}d7xwVub+A50pw{$-V-`#oX5&Z?RHYAU# z>nd&Lv#Y05qCodF7W}SwbJ@9PLv2TDbfc+5)PuUB}SocPxsKZVWy~!K|y(KfOCVSfE%2xigy>6Keai^n3$8x3b1hy=(a7sqk(M{uw z%Vc9~wpXW^&M>h#5OHRQ?O=b)3^tR; zk#QS{D9AM}gO&UYQzsbPo>yU%D1Oj!zkHW>syuC5bIKz;EMgA_+CA}lUp2{@yR5lE zq;8m#9U=%%PMI4z5`UM2>S|^{=|i6Aem^Q{&JJ_NrQ~pCN{A12Kc36ilFt*Ck7qM= zyR=N|1mlk7dg|BlswqV6hevx+_BJ0+ThMOW`k$v$Cp$DoHN@zj9|>=1nvqe~J!q)I z32~XHIo1j=U;AEd%16});tD!mDKA;(Bb>B@fI}jv$uWT8WM5-0HUNVQke}BY)K(}j zX#RxVx}^(YoM7XTYSk#mzd+6CljdM@*#jz}n1zmB-q=8G01-EQF@;t4@KK+}eHwT}{*o^{*+3IxYt`(5 zkS(e>3T-K>w3)8Jv;gi~rB9EAnZsKX9@3Ub<-7^2W5|K?6eLNNmZTv82^u0xO6aTR zkTbuYVW!edz(B8D$!>TyBC?X};}WZiXK+ac)%ikz`eg&V>?qHp=H1BQoI}{1$dXrAF2Jt`17rzh%Y6$WX*NGaNj1qYJ29$%;8$H?a;Y<27{29HP(m5hr< z^J^!~x1NcDN=B4$Q;))Enb4*!9drBhMhuh=tyx(zyetR1-sm$3tF z0-X8T&BI~?WvtOlEQk^Qu#Fd=o zKamOE^xI&tpmyF26{N$8f#fusl++<4aOb3{ zM@65D)Qsdh0OQ3ptPfLOLX9e^V*5IEeB1|IlV>Dg#AHdGgf?9EmBH{6@6!%oFz?px|G{>CWF6(oCI!R4#oBQ;U_ZH{603(mLa=y zb$h-**Q*C)-87R*qYL7e@r4l#0b*wF=vuE6eY2k9HgLM0-Vv1Y{PdpgrZ zz8UR_v{wv1lA7F0cC7fzcfvPhaptEGVQE8ik8~pTh+m1Eg)0O%HeV@P)r*f9yo^w% z#KT^iHCrgAuklJwe=2GWCW?Wya_tEtMt>hlFdhlb1oJU=D5Vd6LyP z%oW~l&l|1)!;DKYi1A_=*f9 zg6;WGW_GY{p*&;jP?IknPpSW0BWJfIQVHBvv1!OExlp{Ra*S?Qfocokb)h!TOmsc{ zx3QU2=jEAi`?-WVRLDXP9t*yw?LkJtTD5do_|Oh5HoSkM(s}KA0YOF4$u}G8v#LTV z!bR0Nn=C`HHd7t7Aw1Cf?lumSw>@+b99W|C86 zur*EMYNW-p85G4azO=td19U{hx=2d5e#Dvfyj0xZl4X>->m^X7$BRw?8fk(h9)lbNG!b4B-u zK;y+slf*c(DQON-pHD(oq?YDQ1X?Vxr!T3>i@_a}vmUYAbT@)~L~NpSP?xf332avk z6oJ(_HHwKZvGk{#FUg$tBk6y(?nL$_9;ur$b#Nsc?>dDq#y2GU=tpi6NS~=kaTz$( zZ?#9XLT6rAo}wjiwZVh%x#Zy?;VWl;BFib~A_LA)jtaS9A2a0z1lj`%iWmNn>K(Yc ztE>y=9YW6Vi+FPSoT62{7*j&e#n@fRYKv`O3XWhtGS#uUb+de>`tsYqt%ck?6&F#~lrHr~RJU=sw2lE7b8oKP& zC1JQt{w6wQ(*Dtal!k7!ZwwZNJ$YjEnt{X|uH*qZ&2~aZsB+qPR9lL+m#{;`7dONR zOE*C=2)QrkxM|UrB=Kt?&^n$(TI?D(&6Quk#$!)KFbL6F^{Tn%dJS3)3Lm@WoMaqx z;w1LB{mKjUvN@u>lZ>(_aO_yfnyaSV`?(0~ez61afmP3hmLs=$Y*b7!F`uj@X!K%j z683QU$7uA`hNsHNJh`ZU9DhVe^>n>2&w?GR@i~c8a2jZo28july(9*1u3Yp}cq~B> zNkcE=jBe92tqpk-?|^O9VJQhd%Zcr6o_0b+9*vMaMEga%kIbeYsrt(6DJoZt`@YeP zzW?m;5YdA>IcV0A;X?p}ZHN6JU4-oP1Y+tiYomxyTp>@Ze(4^_IdfLxupT;<+r&$mqm~HSNgj#t*A9#$mGv(4_z#*Xjr0&FUf0US(RB9 znzJ#CVK3Sjl3Oy&6=<_mJeK06q-B~k&UmM#0=InBc1q{sIn|?{8@)9kQKJAiX&yh) zPU<*7Oh~BVj{QZW>t=E+04VjX##SKDt#2I<`ZtQR|9G}QXGG^ zpKrl(QI0p6!n51@CAx{}rA@We>)wlRbD$oWYa@e3gmtS7!be)ekAo+qWn9@q-AvcN zDL6{1y#3{6}3_w)^B$ocr;%Ac>BOn&IPYOpR-wJb(Ti>Ujw_;le1p zP6~%}C13AD4~jtkm6-WZ=c%~Z1oeh3RgGX69=l2(o#-8bQt~UrolmlmA2LQi2@tX# z(0I;#G9$mB=QmqAKFN1CJJ%(br!P($>D)8iQOpNCnu@Aw3gU|do`(qlPL@eEU1 z;#t|6q9eMf4VXmqgk0n}AVS1FXT(NKY0vj@M4yjY^Wb_kpP2-WV@_55TCT0XW;a$awUiYf97@a!X>$4k6 zS6r+rsu~_3A(FW%7&)+cHMWRxG-`IJt}-em$&TUka&Ul5cug$!Pfw%p9qJ}jp?O6w zi!oNJ?-4y&gUm8W`*4orWPjXA0vtfeT* zA(QYExY^IX(vnc}tRo;T0n@C|q9;A6Roo#Rk3Dx09u8?(t3J1Ids>E?1uU6HiAcg+k1W45ppy`DwCnVb?0R2`Dfivx<%TMBR8+f3BJA-YKW4zjj6ZC(>XeX!C%>Lgkh)$ z`?wi`Zz()1Y)mXl#-oR3ZjCcE^a8xx&&B6)lqcjc=P-MOs>5Ngd31z`m2_~3^bLBF z-q~jfy~Zup>IW%v9|QZ3`2%N!oI$b(!-`tA4HdK(Ul(vy*gvjrh^NR@Ga5)`@uOM7 zF|7n#Kd%sZ%aT|TDLGAE9krgon!J^~HvBoU8e&Fat+v(AoxX(?gC~rIw`aWbJpGG3 zuP@aB`3);y*xLidwDw-NaFXSX@|QS=MhoySS_(f=c!Jw5V|~N0U0FOY;EASrIz9f# z{lRN{KQXlCrnOw32YIU`N9)gSR?eRgY*Y8zVl0>*5@k+ce}nGq64@H(4LO7*SVBiR zBHhb>`#zORmQgerUv%n}=k!xr#7(?TE{Kc9Z^%xv3>K!X1Dq5erpRffy<)WezJ0XFn0`3q(ge?`R`^ChRkF&Nd&auwWFL2Te`|)s zP1M^s)LW3?yEcZihs+ouuNG*yNOMQY3#lz|uH%J;9?_0o!FP_qQ`^UZEF>(tgU|b* zo)v&m3#M09#3_!v0E>R$E#V@}=}fW|4>Hg2 zPd!5Sco<--_`TSC$NTq=fsUx@-U=|@QwPR-)c??VxBagj&;HT9zz`2Jz?(`Y0NF=3 zBXe#PT^>GAz_)_NS45dSC!apJVsjudVXW9lEga)9FIG{c`j64w$`qb|Fk+vf=MLNV zCdcDJJs|9yn~xYv&s1<3(XxOarO@g7v5^J?>JKiph*H+0IEZva1?|mlQy5<#?b86h zU(!7)@mgDhiH_Ywy=X#}Z;}jJoEPz@s+TDrC{HkkdFdG~p>TAcOm5RZ?9JKO0l8}e)RNt10Nf?Y1((mB263eMOqxsh4 z^c2g^x?MzdEu+j7OL4YQFE1{YzWGDCApr>QQw z27;Oq2{P|Isl!aXS>^gSFQDERH4WC61i-&ToNZs#SHH&C6xtWg8O!MR9`Cf9e>hj@hke?$9?NFba-r!DUP?-ES^NDsk;hP$0giihY ztwEl(FSJc6Fvwd5LKX7eUryw0ZLL5yW`gccCVwoe%Q-vQIRoeTI+z$(|J9jPo>e3e zL*>h+i&oXQ+tEgyT3ZoE5S8!@0jG;%=Bl6&ChL18L8}pjR#Z8oQmo3+)3ipTxAbnR z=4c6}ODxyHR2=~;wk9RUVq=8QOZIFF@A_hrq!dhBh%HP)TgnK2Qb~JWe3jBB_mIM- za5q@9n07yDWBZ}!e#W*kZ$0P;)u%bTjm_Y?c(!xBf-z{nR)#w?eiR-YYw)nQ(H3cZTE(X=X?I3I zV#(tBZYz8pM7guA9=!Cpm6{DwEyLEnI>YO@#H7jU6rJ7=H6FZ*Q)_%T;G*h9P`QU8;b6CB4$}M)>ld!;L(W|Sk)Im=DMYz+2 zL5xJYE1P&2FJbbqC9gkLPU}_pGviXh(`29V?;mYWTUJ)&yq+wj^zEy>Su&AK*o!BuaI#xH@LyG-XpO;9Spv@Sho`hHw`J>DU% z=Obb5On;W4{=rwsV)%V{zGj-{A>+nkb*l35GZ?IKm=0`Zs;pWX8a)`uMI=5CtZ^T= zS%R9e>p2>C$0-!@N@)%F^4-$_Pr8elEg#YCa;pc0PX#Ts}07f;_PZe<|47 z|JshI4HkB-&q%nheIqbweLrwL@EW}wC-AA*N{m6k+wnzt#K|C+S6!TsM?YhPqA4*N zD;7%8)3!XeMKx=`c((6@5FDhp0v(eJRx?$w!qpM(t*;z?Gec~@&4~Qk-FCbQ_;e=~sr8lF1}l@F#qu=`mP}I15~-E9H|@d{&Jtr(vZGh}$(=UTwCSZ4hkY7z zGYtNG1RhZE{TW`2zJ}u-E}kPxXE#@|yJGfUS=#F&CpET2D)2{n^o}&<3>E4V)=GtB zY6>!^nz0@y)OsDEH1DR3j0e&A$cBmizrWa_G!+%b^URY%KiBT`I=mH)PHM3s(-f%l zg}^x<{}7GtuVoieXD4R|lRqnZtg59W2C&>*Em1kYD>&jnr5_cNLxTz}ob%o{*WZvj zK0s0-YS%>zdt|<1ItE(->d+Tw437ztgs|z*A7xW~yDQZ54c<-QP0Jy7@-Ag&W=x;) z;I!kyG5?_Z;)a*m&BZ>j^1Sm&25-M0(oVFUHbsGJwB1O&2#+?vAb2`3Q~}RSCBF52DHFD{l^UK3!*De#R02|po(8c@Q7 zA2+=K4}}1-Dh0dQ;1`Fqf2&SbO);*y{c?lrg4E0*&agX4EL&%QS+2b@&iX4>XMi;4Ta?cq9Wt^#2DJlH z2bUTiP0lkyplz2~^=_|yRxE~GSqRVEc;GaN{tR4m?1?27c}}|j<&lM$(rV=Z>)%nsml@ejx=MUVs>ghey4627ZudT|nv#9BaaXkW5`sdU+=2|ZXPBl})A*+@;72~%3v zI?7gi;d|~QwL6ST1j`z;6pGc+81&35@1)g~n;q{>e8V4IS6jn=*~eq(}# zDy^zkqX)bbmg*rJ?1ZffcqA563~?ySGCh_8(4++8CEdoet z_A(uv_$8|tNKE={mL-&eXE`8DFRDu1mf^Sf9QxS-g9jf22+jptyIS3uXqNg;7w_fhovTR#T{5P^&BCO2dn+BOHi9UjX$~vNe8%7A}m^vZgJET}umT(Jx`t|ou)3CPK| z0{+GzoyUBy#CaS@hV?G64+k06VRs%?ss&Y{;5C9MEb9Z~xok=`rwp-NeTVQu7>qc}+>@X*~PxkY@ z{Vu!aPuLAVWCopqx`ykb>gK{P$yG!rOeyrP z#)0+W_}*2K(u(%(C(HVrhpP^l#ONRp4ANNzN(ORuf5u^^cXisPrlK3J_Ar^T~oc7LGDBgOExsmbok$1gTG~K3%g8t@oJ*N89(IvC&Ok& zX&DLH+ChWVK{_P*V@=BI_KdVPTNw&=6x@3NfvAP!iakPvY?CGt(S4p?SY- z%Saf=*dp!RWMH>5Z=C!J8wN7Lm)g?@&9cYQF5dJ(v#icw3@nJQLQ-SiRJ?ACV4kik z3milXaKe;2ziz_ckQgx4;hrOTYs$ndP28%I14YU5k|w3&GdwA-0WP93O}r#2E>?m0 zGb;%rqbzs(e)*H(G#%cdZBY1%r;A-KJw0(~gK!BGM10n8{jb z7+p{R(mFF&)l-XO)Of3cz?BpBwCQ}j^lJ*O`rzUD^y1o~n^}bftRH(uC(3lD37+be~_4wp48{4-}oGbv7(5V{) zt`l~;;I9QA`nM+Y7)?zS!cnp{_MrC6K=@28Dp|K3_ zjjuUN-Q~61>Fdz)A+hTX{a_?M>0_@jAMI=KmPErQSG$@h0>>fF1}9L)Mr*@lu#CZh zcpEBeuZmpSm8W(EbXh4qMYV#E#K;iDwcHwkAGoHctAEReHr`b|DJ86{YS zkrf`pMs@}3*gNr?b@2}=4^FnhU~L@8w}Vo!D$%ea?B0;NFvt0-U_~4z22-7DHzx%% z9pp|OVr|WJyTdM)s(3=`2naxTDq+z`Gq*jleu~&CW+q3^Qve@u7%ug4d7#{*Zy7&$ zN;MmnvEe(Vf*zxJn&=08>i_{7`{GYTYV6M4IV*UkNhQ>&Ruy4($7yP5@ml*Ky$s*U zJ~Ir)wY?duC47o%TdzVu5?tC}#dyy6{87i~cv+I}iVClqK#=YR{ou4g!V~wyt^^}i zWEMP7Hc$7Os#9tm`RFU`$EUTMyUF1YuMDcZU;`Y*xR=PhTG}?10^i9g!vgXf{NbEtOzoM$gX-`S_^5r4Drwm z$37@4c-kaX!I-5^FkgVXF8Bi+g{dwWjXDdm5D5PN$Pm@W^Da7+$2u;3OlX4oBn-&^mYzcWvR;|popXJID zJNK&g^`>0(I#_$ec@T_`NwAHhpr54)`u%0L>BA{R3y!KlZ@> zHAGg`a2!gWB=n>X_NO2UM>>iLvo{M)NgL5&g z8f~(=7>N3k8lfDa*Z9@3e$9Mn#AFK1VnW!#2X{uHj<}m$P`*67)xEW5ccf|YTsc{P zQ+#oB!+CsU*Ei`@dz2B8#Y&FHrF+!cR`Nqn3aLYPmCQb?kYko>Flmg_QJb|)GRI)d zhH1@{fCooe{Rpq41%O5oPhjHf=bUZCp=AG4rU_fzA9l+ z!_VlhuMv!W`ex@mHfx|7ny{TH&*^yGP{($^ zO%^2uJ{KvuATj!8eu3F_mh{VC!hN0(1YMh=O!yUcyB^l0Mf|6Badz?amXkFM|!{Qi05c6eVvP$k1W{FjVbAo_RK@|L))b|f& zGw2Njt}<$dd}haXSjUzA`Zgs*Tu;;@CnA==s(iF?WhQ(y93UfHD~1nWd@OWKwJ_ag z%31aN>pLUnES!+J0k)JP@G|bIFS4ZVuTC>*R*&ZxhGAf33G;?wCCyJ!v(qrj$a&4C zDt-53l=bpFXdg$7+ZdbY7r!tOE0wcMlnBVCTVX#K)3AVc=F%^+!E*=-r|y4BjO4H- z*dIu+8d=B}RJDq&+(6Aki^}%R+tMX}k*OhwA;D9m4zT||A~xJ+@}3X{)y=c@)^Uc>y;4lKvB}1-!*KBc>=FGyb9Q12T|p~mZJ!jaj%qh^ zILS^Ivcm&ga}B|5^chwrRAR)_o1pBbtZas_Y?`!F0wYgGnT9l*OXj-OrW!&AoS;1% zu6qMf0%)g_3-$H(+E~AKc7O3{w&Sh$dv$mqnOzoH6#rNF*Sa?O8m2P+WGb(d4yxr!6+S(Cy*~g2 z%~(>bw?x^2V9sx{_?Ms<3j`d^qxrblp7y5Ypbm{=~ zB>qju4ZsuP?}&G^YVBC;*Z}Q_fefepjYS5Oy}x4#gB488-lZ z186Mxo5m%${|>BZ;%H}U<7o0zlA^PXje()nUlWnH=2btSz8PSnhrhiBBk=1ThX2di=587p!eh>USTHa(Ak%&?bljx((S8-XySeXd zv}{EI4POHVn&LMtWdSjNujM`MK_@ij>$d>zB~Vv?EF=C*IX;s>Ir)3!&s@7((bGK+ ztcQT2i@^1}0os7M=)0)4KoesFY&tQz-nOg=^cvxHRtem)q&ARXO{s`a1*$G3>to>93Kw$dwDV@ zPUg18cU!X}BRc2>pky7OGh89VG9gDL9)roBW+Qcb?V{4FER$k>_kbZ3*0Se5R!T8TxZw z17!7|Gu&@CC)CS`lj{I54G{2Sb@XS-@i~+E9|YKd9D$<>eh*B0Thsy=tG+3)59S+i z==$%KmrL#+Mcr+4{yo8pDnMm)Kzkq)|C4fjmbL!|`Da^8{zo0VU*C)u>`6TUQUrki zUWZq7?uXyc9hn1jfdE=?SK#YO`X7~l+Ez7Qk7ta=EoUUoj@)A{k0EG??nDN^>Gi;kF6!a3s5i= zp#ENkL7;nx(za&gG6oKoCJw)Tx;v+wwsASGfUj3D{GWTwer8sV52xk76>vA1_HddC z9O&270$qQypIG3Y317Ev)h5s1kgGTVE@=6{xjwHG{)b{ z7P2xiaQI_P_1k*L?J_eV^vSLifSv&t%TG9P&+&0gzLyVlN-Y7yn;8E&ZezJy{cLnW zvKF97)*<|PxWrEhIX?C&{|o*PA>t-Kj!V5;5Gfic`~y&n0s&z{Kc)Qf9-&$PlOS7X zpa$5ON!Z--ak_1|vNtbT#DPK5XP~J5{*lee{T~G0{Wd1d(Zvsex0wZU{zn}ApDD+O zyZ&CdxRaBekQE51#Y#>FMwaA1ewY6-WW8I?@EetYHaMWC01V20uNUQw|BIZv>8@~P z_|d?4X94AQ*=p_jNBW-U~W&hS6t|1i(pYMZY0VgObK zBLTP^KP?a3fhm@e`?<~zR)3mZ#lcF^#1-gc|6Osdd5yV!feehVfL`D4y2FkAI~jND ze)|OCpX%rMNUq+?{qN%x{-!S9KBn~-+Xv_?-!b0!`JMW2HtXGb-##Ss7h7-ZU$g%@ zGV^v#y?y-QFZS~Gzh?h+7~*aA?L*9dv0V@THT!RmG`lVB_UT5yr1hQrYiWPv#vkqJ z-C1$_JfL4fZchJ4A-|sv^#9)G)?pvN1chAwZ-VY0S=>GYp{=J5| zy`lLRdH&J8 libraries = new ArrayList(); public String libraries_directory_json_url; + private long start_ms; + + private void handleLibrariesJSON(String result) { + // parse the response + parseLibrariesJSON(result); + + // if the user has any existing accounts, then we can select a reasonable default library + Library default_library = null; + Location last_location = null; + Account[] existing_accounts = AccountUtils.getAccountsByType(AuthenticatorActivity.this); + Log.d(Const.AUTH_TAG, "there are " + existing_accounts.length + " existing accounts"); + if (existing_accounts.length > 0) { + default_library = AccountUtils.getLibraryForAccount(AuthenticatorActivity.this, existing_accounts[0]); + Log.d(Const.AUTH_TAG, "default_library=" + default_library); + } else { + LocationManager lm = (LocationManager) getSystemService(Context.LOCATION_SERVICE); + if (lm != null) last_location = lm.getLastKnownLocation(LocationManager.NETWORK_PROVIDER); + } + + // Build a List for use in the spinner adapter + // While we're at it choose a default library; first by prior account, second by proximity + Integer default_library_index = null; + float min_distance = Float.MAX_VALUE; + ArrayList l = new ArrayList(libraries.size()); + for (Library library : libraries) { + if (default_library != null && TextUtils.equals(default_library.url, library.url)) { + default_library_index = l.size(); + } else if (last_location != null && library.location != null) { + float distance = last_location.distanceTo(library.location); + if (distance < min_distance) { + default_library_index = l.size(); + min_distance = distance; + } + } + l.add(library.directory_name); + } + ArrayAdapter adapter = new ArrayAdapter(context, android.R.layout.simple_spinner_dropdown_item, l); + librarySpinner.setAdapter(adapter); + if (default_library_index != null) { + librarySpinner.setSelection(default_library_index); + } + } private class FetchConsortiumsTask extends AsyncTask { protected String doInBackground(String... params) { @@ -62,7 +110,7 @@ public class AuthenticatorActivity extends AccountAuthenticatorActivity { String result = null; try { Log.d(TAG, "fetching " + url); - result = Utils.getNetPageContent(url); + result = Utils.fetchUrl(url); //todo move json parsing to doInBackground } catch (Exception e) { Log.d(TAG, "error fetching", e); @@ -71,46 +119,35 @@ public class AuthenticatorActivity extends AccountAuthenticatorActivity { } protected void onPostExecute(String result) { - Log.d(TAG, "results available: " + result); - - // parse the response - parseLibrariesJSON(result); - - // if the user has any existing accounts, then we can select a reasonable default library - Library default_library = null; - Location last_location = null; - Account[] existing_accounts = AccountUtils.getAccountsByType(AuthenticatorActivity.this); - Log.d(Const.AUTH_TAG, "there are " + existing_accounts.length + " existing accounts"); - if (existing_accounts.length > 0) { - default_library = AccountUtils.getLibraryForAccount(AuthenticatorActivity.this, existing_accounts[0]); - Log.d(Const.AUTH_TAG, "default_library=" + default_library); - } else { - LocationManager lm = (LocationManager) getSystemService(Context.LOCATION_SERVICE); - if (lm != null) last_location = lm.getLastKnownLocation(LocationManager.NETWORK_PROVIDER); - } + long duration_ms = System.currentTimeMillis() - start_ms; + Log.d(TAG, "task fetch took " + duration_ms + "ms"); + handleLibrariesJSON(result); + } + } - // Build a List for use in the spinner adapter - // While we're at it choose a default library; first by prior account, second by proximity - Integer default_library_index = null; - float min_distance = Float.MAX_VALUE; - ArrayList l = new ArrayList(libraries.size()); - for (Library library : libraries) { - if (default_library != null && TextUtils.equals(default_library.url, library.url)) { - default_library_index = l.size(); - } else if (last_location != null && library.location != null) { - float distance = last_location.distanceTo(library.location); - if (distance < min_distance) { - default_library_index = l.size(); - min_distance = distance; - } - } - l.add(library.directory_name); - } - ArrayAdapter adapter = new ArrayAdapter(context, android.R.layout.simple_spinner_dropdown_item, l); - librarySpinner.setAdapter(adapter); - if (default_library_index != null) { - librarySpinner.setSelection(default_library_index); - } + private void startTask() { + start_ms = System.currentTimeMillis(); + boolean use_volley = true; + if (use_volley) { + RequestQueue q = VolleyWrangler.getInstance(this).getRequestQueue(); + StringRequest stringRequest = new StringRequest(Request.Method.GET, libraries_directory_json_url, + new Response.Listener() { + @Override + public void onResponse(String response) { + long duration_ms = System.currentTimeMillis() - start_ms; + Log.d(TAG, "volley fetch took " + duration_ms + "ms"); + handleLibrariesJSON(response); + } + }, + new Response.ErrorListener() { + @Override + public void onErrorResponse(VolleyError error) { + showAlert(error.getMessage()); + } + }); + q.add(stringRequest); + } else { + new FetchConsortiumsTask().execute(libraries_directory_json_url); } } @@ -330,10 +367,6 @@ public class AuthenticatorActivity extends AccountAuthenticatorActivity { finish(); } - private void startTask() { - new FetchConsortiumsTask().execute(libraries_directory_json_url); - } - private void parseLibrariesJSON(String json) { libraries.clear(); diff --git a/Open-ILS/src/Android/core/src/org/evergreen_ils/globals/Utils.java b/Open-ILS/src/Android/core/src/org/evergreen_ils/globals/Utils.java index 7268d486f1..d03349d495 100644 --- a/Open-ILS/src/Android/core/src/org/evergreen_ils/globals/Utils.java +++ b/Open-ILS/src/Android/core/src/org/evergreen_ils/globals/Utils.java @@ -49,7 +49,7 @@ public class Utils { * the url of the page to be retrieved * @return the net page content */ - public static String getNetPageContent(String url) { + public static String fetchUrl(String url) { String result = ""; diff --git a/Open-ILS/src/Android/core/src/org/evergreen_ils/net/VolleyWrangler.java b/Open-ILS/src/Android/core/src/org/evergreen_ils/net/VolleyWrangler.java new file mode 100644 index 0000000000..57f242a3e4 --- /dev/null +++ b/Open-ILS/src/Android/core/src/org/evergreen_ils/net/VolleyWrangler.java @@ -0,0 +1,67 @@ +package org.evergreen_ils.net; + +import android.content.Context; +import android.graphics.Bitmap; +import android.util.LruCache; + +import com.android.volley.Request; +import com.android.volley.RequestQueue; +import com.android.volley.toolbox.ImageLoader; +import com.android.volley.toolbox.Volley; + +/** + * Created by kenstir on 12/2/2015. + */ +// code from http://developer.android.com/training/volley/ +// or SallyPort or VolleyWrapper +public class VolleyWrangler { + private static VolleyWrangler mInstance; + private RequestQueue mRequestQueue; + private ImageLoader mImageLoader; + private static Context mCtx; + + private VolleyWrangler(Context context) { + mCtx = context; + mRequestQueue = getRequestQueue(); + + mImageLoader = new ImageLoader(mRequestQueue, + new ImageLoader.ImageCache() { + private final LruCache + cache = new LruCache(20); + + @Override + public Bitmap getBitmap(String url) { + return cache.get(url); + } + + @Override + public void putBitmap(String url, Bitmap bitmap) { + cache.put(url, bitmap); + } + }); + } + + public static synchronized VolleyWrangler getInstance(Context context) { + if (mInstance == null) { + mInstance = new VolleyWrangler(context); + } + return mInstance; + } + + public RequestQueue getRequestQueue() { + if (mRequestQueue == null) { + // getApplicationContext() is key, it keeps you from leaking the + // Activity or BroadcastReceiver if someone passes one in. + mRequestQueue = Volley.newRequestQueue(mCtx.getApplicationContext()); + } + return mRequestQueue; + } + + public void addToRequestQueue(Request req) { + getRequestQueue().add(req); + } + + public ImageLoader getImageLoader() { + return mImageLoader; + } +} -- 2.11.0