From df6b53e5eec561a094f310c8799e576f36be5c51 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fernando=20Mart=C3=ADn=20Garc=C3=ADa=20Del=20Angel?= Date: Sun, 25 Nov 2018 22:47:17 -0600 Subject: [PATCH] Added SearchBar, moving to last clean and test --- Musgravite.xcodeproj/project.pbxproj | 16 ++-- .../UserInterfaceState.xcuserstate | Bin 71212 -> 70050 bytes .../LaboratorySearchViewController.swift | 74 ++++++++++++++---- Musgravite/View/Base.lproj/Main.storyboard | 18 +++-- 4 files changed, 79 insertions(+), 29 deletions(-) diff --git a/Musgravite.xcodeproj/project.pbxproj b/Musgravite.xcodeproj/project.pbxproj index 88ca262..243a146 100644 --- a/Musgravite.xcodeproj/project.pbxproj +++ b/Musgravite.xcodeproj/project.pbxproj @@ -947,7 +947,7 @@ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CODE_SIGN_IDENTITY = "iPhone Developer"; CODE_SIGN_STYLE = Automatic; - DEVELOPMENT_TEAM = R3KUK9JKD6; + DEVELOPMENT_TEAM = R935X42Z66; INFOPLIST_FILE = Musgravite/Info.plist; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", @@ -968,7 +968,7 @@ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CODE_SIGN_IDENTITY = "iPhone Developer"; CODE_SIGN_STYLE = Automatic; - DEVELOPMENT_TEAM = R3KUK9JKD6; + DEVELOPMENT_TEAM = R935X42Z66; INFOPLIST_FILE = Musgravite/Info.plist; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", @@ -1029,7 +1029,7 @@ buildSettings = { ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; CODE_SIGN_STYLE = Automatic; - DEVELOPMENT_TEAM = R3KUK9JKD6; + DEVELOPMENT_TEAM = R935X42Z66; INFOPLIST_FILE = MusgraviteUITests/Info.plist; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", @@ -1049,7 +1049,7 @@ buildSettings = { ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; CODE_SIGN_STYLE = Automatic; - DEVELOPMENT_TEAM = R3KUK9JKD6; + DEVELOPMENT_TEAM = R935X42Z66; INFOPLIST_FILE = MusgraviteUITests/Info.plist; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", @@ -1070,7 +1070,7 @@ ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CODE_SIGN_STYLE = Automatic; - DEVELOPMENT_TEAM = R3KUK9JKD6; + DEVELOPMENT_TEAM = R935X42Z66; IBSC_MODULE = WMusgravite_Extension; INFOPLIST_FILE = WMusgravite/Info.plist; PRODUCT_BUNDLE_IDENTIFIER = com.aabotech.Musgravite.watchkitapp; @@ -1089,7 +1089,7 @@ ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CODE_SIGN_STYLE = Automatic; - DEVELOPMENT_TEAM = R3KUK9JKD6; + DEVELOPMENT_TEAM = R935X42Z66; IBSC_MODULE = WMusgravite_Extension; INFOPLIST_FILE = WMusgravite/Info.plist; PRODUCT_BUNDLE_IDENTIFIER = com.aabotech.Musgravite.watchkitapp; @@ -1108,7 +1108,7 @@ ASSETCATALOG_COMPILER_COMPLICATION_NAME = Complication; CODE_SIGN_ENTITLEMENTS = "WMusgravite Extension/WMusgravite Extension.entitlements"; CODE_SIGN_STYLE = Automatic; - DEVELOPMENT_TEAM = R3KUK9JKD6; + DEVELOPMENT_TEAM = R935X42Z66; INFOPLIST_FILE = "WMusgravite Extension/Info.plist"; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", @@ -1131,7 +1131,7 @@ ASSETCATALOG_COMPILER_COMPLICATION_NAME = Complication; CODE_SIGN_ENTITLEMENTS = "WMusgravite Extension/WMusgravite Extension.entitlements"; CODE_SIGN_STYLE = Automatic; - DEVELOPMENT_TEAM = R3KUK9JKD6; + DEVELOPMENT_TEAM = R935X42Z66; INFOPLIST_FILE = "WMusgravite Extension/Info.plist"; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", diff --git a/Musgravite.xcworkspace/xcuserdata/Luna.xcuserdatad/UserInterfaceState.xcuserstate b/Musgravite.xcworkspace/xcuserdata/Luna.xcuserdatad/UserInterfaceState.xcuserstate index 84316487d52b9f263819ab54eedeb81be081fa5d..456eb343e8f335f003734445768106a12503803c 100644 GIT binary patch delta 32442 zcmb5W2Y3@lv<9ke(n_oCaxb_yEX$U#O$}gr@4Xm<4VY#yrbDDdPoZu?LdVAR9tb4` z2oORK5Fik0Dm4KDgwWs2u0@iY-1qLw7cJh|+4=uDbIzGFWoP|*x@SYs&&xltfNt#KClu3nD$sjV63?t*oWHN=UOu9%nS(B_o*3(Lf7T)dT4)SyI zIC+Bnn!HS2A+M6x$nVJ?$REj{$e+ny$m`?{@(%ec`GkB*J|mx#FUXe^O)*pe6-Wh9 z!BhwpN`+D3R0I`G#ZU=UBITqqC^uDys!Qci^{Dz(1F8enk?KTsrn*pFscuvr)tl-^ z4Wo*w;Z%v28bOVud=yX12oaq3&@JavV-O8rRPrtVO`Qom6T=mNTs9zYMFi|FBW2|bz~Lr-25<4tWSTO~m{v?{ zrajYv>B4kndNR38A10sa&lEC)nITLuGn^U4jAkY?Q<$mDG-f*UE~7E;G4C_;m=Bl_ znfXj9Q^qW3%9+i~7Um;nE3=K+$?ReFGG8$JnElLA<`{FFxxjqKTx2dWmznRG8;tiR zbBnpnJYXI&kC{Ksw3#uR%@#9jwwqP6!yI4^GzXb0nWN0nW~VvL>@ugDGt8Ohn&$fE z2Ihw5w&r%`_T~=ej^?iBJaeIWfO(*KlzFsyjCrhioY`xhYMyDHWu9$bWL|7uVqR)q zW-d3cGjBC-GkZ0Ta@YUyby zu=KU`v-GzVT83GQEyFEdi_ZdHS zV260w5$pu^P4;c}9rj&z20N3T%g$#PunXBm>|%BayOLeSu4cEfAG6!p9qdl_Gj>0F zfIY?@XHT%-u@~7(>}B=}`vZHEz0dy6K44#2O;*B6S}Ci=Dp*CUWRtk4 zWNV7GvNhG}v}RbVTI*QrTD>i-Ev>Drt*vdW9jx80`PKq!Uu&^-xV6MO!aCAA)(X~% z)=AcPtnXT9Sm#?8SQlCsSr=PNt*fn@ty`=gS$A9aSod1Luvyfu%5GiYdvrM z$@;VP7wdKF4eK521M5TUBkK$6OY18eXS3UQn_v@dsx8zOW()V)B5d)t1Y4rbW2<7z zv}M_{Z8dB;wtBYuwg$F_wwAV5w$`@pwjQ>gwp?2;TfS|eZMdz(Ho^wBiMC0$$+juB zw`{X*AKK>I7T8wWR@qkD*4WnCHrhV6ZMW^P?X>N+ePP>YJ7N3UcG7mrcG`B%cG-5t zcGY&>cEfhl=6z)Q!}i$rr|pUD1xIrX$8!P~%7t;^Tm%=%#c;`72IuBHTy3rnSC`A- z>T!*@mRv`!6W5u`=L)#KTtBWqH;5a~jpN316S%jyx4Cz?cexqd9PUGIKDU4?<#UW?2YZs?d|N{?A`7C?S=LM_JQ_6 z_M!Gs_R)5q9qbeBGwrkNv+Z;2bM5o&i|s4yEA6Z7TkYHIAKSOvci6q3+V|Oy*pJ%3 zwV$_NuzzR2XuoRz#r~W9uKk| z_$~ZL{B|$Dga490$bZEj;t%sj_@n$O{xttB|2_W$|0Dks|1dp_h;^3=xWj;le0kv@l-qP7r1ZvxParTtO4w6W$l*2@8aU!ct+GP%5kt)(Pu{ zEy72_R^ek|yYPu{OgJf=63zTev8I?K))O0vt;BX>C$YQOTkIqD^NNGTVd4mJjOZ18;#6^(_>MS7 z)WrGX0&$60F0K+ch#SRC;(qaf_@#JI{7O6|9u|*?N5x~}aq)!swRlqePP`~y5-*EC zi+9C);(hUV@qzeId?~(?Op;CFB)b$S1xdkDm{eIxm7G$V09Z%bVIr+-I8ugccee1C(={tnas#$ z*&@qwkQ^q5d*v88Nlufi$kpWG z%6rQD$~WAulb%DA}Emh0ZmFg;WwYo;#pl(q=Qa@9@ zd)3qGH|kaONA;$9Uwx$hp*~fgsjnQA!{T5ab_eee9HK*YI2^%_I7hrA!I9`la#V3- zIYVxX4+y%FeRKpzMCYoJeVoxs;7B;N}l zY5{Enx)IQ$eaTv+SZV7WA(_x>OMUPS*Sx4-{h~f21{Vw|*;*!jB~lAfu4T~@%vUQ{a*P|7o*I=tAvJ1TX4Q<;sI010CrmK1JSSe35-)ssiS<*_{d`o@H ze5K2Yds^#gD^*^>#~0Nxh;$$vGQhXoj}xrpXkSDJX%C|lh&5VROq%EajVYOmOK|$u z`b$VRN*EuLkhRg5Y_P9|^St5P;LlT6&-2e>tGST?-0lezwDU0u#Eq@5Vk%LIiQ_Wd z?)0?ujPxu|Rd==QYUwCfMus~rJ-bSktg7i%Gc(dNGplF~6VfzqLSWqiZH78qwr~#e zwCviUQD0}1X3mjW1zr2~Z|y8}JL|RS(zVL)X3oZSopp;#x^}5o&)G7^*>^-q*P$av zI`ir~2jvXVjwYn!<&wR~JhHcMhi|8Em+zBuas%0$+(d5no$-C*JLmh>U#+dCZKdQk z-&tR+uFcvFboOcD%*tr)Z-AZTC#IBAvdH&YDLKsdxi8uOU^n@t);T`HdyxE!JVYKQ zkC2mm=Y1D^-}!#=UH6^#CCApjVbcH0m6FC~WL3>h^ZfOnJ1aFRGt=|;B#%4G&>Hfj zY1=yT6nUEbhCD-_CC`!HlIO__GaESz z8o9eRAKA&-zn&ARdDpRZ^PC0g&ivK`y0#je;~Y`o9NcwS*Wpz=JF9w}RXTaP=5*=m z^i*}0q!)MX(jd#(riwGaZ4u{}$4&B+1- z8VDYUVBcvVLV$4k1Z4P4(qgnvowKz$&Xf>;J-SmpaXoqfA(T?NK!}=mL0B!SkEyJT z%BKo|kbnsE)$wQVPYp6D%c(+Y05uQ@83+XkbvZTI6ipQY;qVDS1ZXqUb9#=V#{F*@ z->k?OV0Y+^#S^KKDB^ai2hwnEuofD%YcXkq7o2MKp>gK01*pBoc?z_ z5D7pe>VGEzkqkr%5S6uEu6Ev!Q1wltsBJ!!lIE);5q@$zDQwsk;`$Vb^a^)C?ZyJz zL+u430|?Jw0^3i0^}osCNQE5SSPqj9>2fe|nsU?$>hyoUhnn{+eh;;475rZD-oL%a zQ5UF-nBR9mWR+6e5P5A!Mr!0WQ&}nXJrGrWbp&J4c#C68X#)tN~5%4^;>DRTX9->W->R}NUxhK zb<~~ErW~^tl@-br8|n3OrC}(&g*G=UogHPQHPD7NXst!n6||)6IBvX=*eF*T@VekF z+2I@*=}mH_e7)e%s%h+0BdwX%y6RZ=9pk2jcB)!+ZFBQrosz3s7&qH^&?;Bz|GLCY z)k4|#jr2C?h0*K+ zvKx)`Zd#j~Q`oJ>O%Ls4ot|3FTJhXYBOy0e>ZZT-X{})Pb0aMe)uXNEd?Sh5XC(B= zmAdPhHoXzTer2Q;XeZwo!W}bi`uW84yOvEk@!VY_ZA7kA zq~}Ymm&QFb(nk4deN-=Q7)P<7NU9cXiEIJ5a0F zAc19#L@yHiM2C06&ZnRu!1bU;JcBE+nTiZx`UmM!8t*(e2ngz4TScn|G#vm~yGkuX13>Y-Pw zee+PRrIEJKpLPhPwKLKd8)D7TTrFy_osG1mh(Z_bXbYb0VI-7l*IGDlw;+NUW;|PyD~;AUVZ(M+W3(o%vvs*rPyN}U z);PgX5WBSRd(6mV-a_FI zgPi9_zFK;?&de}vD`#dhvzXb;93Zv=fqIdTf!OY=CAlRDjo06ZtrMg7IVLHhqFZDZ zFpEt}8MBZ;_^F5PO06qMTXB ztY*>)iI`oj&b%_4%!HW);tCKy0P!ObKVjl2W-B6YwgGXqg1DJS#La?P#6KXe z0f7PqeAR|@2nh`~hv_uUp*qcf86IY?Wv*jD)z+czVyGMpbx%9mF+8o2 zxjBYvY;Iz1YHkL^??5~N;vo=^%FQiwC=^-zQ33U*0o4gZp&;Y2AF7)H)!STPK;`RD zPcT$J4E0pI(n#DyEc^o!+4VN#ip*85uu)66rIJp=f@q@}ry?4bXiUTTFB6rC)Bd*-ER`|4 zL`#w-*^&aJ3&?aNj0_;%<(5>P9!f$6fZYk1iRmd>m|ixJRs8g-BSAz2)V0(%2-MRF zWMKjgHKBi?cDN^(*38lx12wm_u(Y(a0gi(WhH<(B znvOBNy(Jfmp_e7k(%aGp$l5^G0kSTTIY@N-brU<(6_FI|11h$ZkM(*G07slUNUAXFrKeSX8|&Tkua8QWxWjMAbC5 zPH;u%gL-g7Ub`%x8B9@Mg_NfUX1W_Q?fGw}wgmrM`z?ns(*u@-FD(Zx$O?M_nFnNV zAp4YC4qJ{`j#`cZnGa-tAPa#+Ar?~ZZ!py}KozM4If0Gqb{ABM~?qjlvzgm8?+_j)l&JZArfE)_s zuyV`qx&}T1vbaJ6OZ2vVj=8=7a(D$-)}#%~j|jD}Hk|-#)d`G11Xw#JFj8BcAD$+& zfe49JSe13K0YHuhatx4TfgD%P24NsJ6v*)vKyPZN`pi_K5fB>#Ojawrd9w=$3QI_Vj!f} z)BHe9|5w*iAvm@T+uk72PABmeCeaa-cw76eZ+KcawihPRo$bN)WOIRh7swev&IEE+ zIh&`GKngIsg2Y^%#6V195Rh~HB#Qn&NsMI27$ipPBsARShIiBUyc3+xdfCaCg^vYx zB8!B8`lxw8egNc$;9{WB!&w`q5 zA&`rJT#P&|(!^&HD-)L3I)*Nqq`Q9UEM?0KVx>B)RnBhGrSlPxXn?P~*LAvdP~=$3BE4SYr}a6ewHv7o`T@BXJ7RP} zr0jkYU$Tb`5-1==Z?4BAj$jfSv>^k+)4pcUU=k8z46Uxfw|07d|Ry&*~)3 z1G%+=#K)L~aut)f2IMwBi63=^yv6=%0HH7m0d2=XcQMcoZPvhW*F*LR271K)!9HgH z1acRUDA%Vzepb#tWuLLnS!7I~1Gx{#{XibjVCc+b8X;L3Aa_?FSy@zFtCiht<*arf z_n^uGxfjSUv^j&q@*UP7oq#n^C-5aAU=6_p4*uKr!(LR##~NvkMZBz)tWnlzD>Ab~ zKpqD22#`n1t#McY)cid0Qtwj%u2(4zVY2c&DCsehsu>dM8 z66vAKnqzH*k?L9NTN_v#0(lC^(?BAbpDDLC){#*6f#$??q;GYkwipRH`E!1xju@$+ zhqaf1l&d41$2IMZYkJ||H6{FWz}9}&K^VWkwa_}iIuOWI@!qZw)UUdr zmSCR9dhhsomg!Bh#=71huudoN8z!(36S%8&9u}Uw)w&ZSZL@xC-EQ3hfg+3ICLm!GVLZ3h>*iYmSs}YJ?^-z>zFcBPzQs#fRg?UrO zTQ-voN2oT!M%pMF4HOFzloco&P+Ymq%s#WRHgt<@aUW0;P%`QoXLxNmNVUm8@fDJ? z;ULu(U<<@Qpah^q{O!qTD?MA8EQlr>9?uuyRu^+gRt*Jq`iB2~P(`}CFMr*{#@U%9zj+j?lTRU5OTL++G zfrRD6Y)gU42DDm4A+c94x0Tw;Y|Cxs zK-B;WNxU{tbqxK%A**dYP&NG&aL8)gYze?Wplaa}j($b@6B}D6yrNwu`$2cvjF8o) zhpbdxG$&!(jprn&oPTo-_s6WZ{Wcu4+L8{~zO)^*eFao~pc(+x5U57ww!^j~wxhOV zKs5%cDNxOTYHpClL96WyP)+<~anQd!jWmj9+|`^x{?E!$m8^|meHj_p?)noe&GR2!h$0@beEcF%Ie_Pgx?P-tw> zAE=H%b;49z+n!>oXa>K7pXy6Q6_1#VQBz&yH1weW9yNtlKyhZysx#zRondFx?iJ%D z9A3FNk#is_oW#kT!l^(Zo$dxycc6Nda{*Y#xL}}qR_GX-07Y8PRYF9#D4=pHh;Xr3 z$HKT2&S_w!>R5RQi*sQe>#f}$AD&i)L(7ikTqc*rWphZ4@_{Mjz3Xc@H_84jqo>S8*y=hJB!l5O_a;_`ajqA?! z0BQ)JwLxkqP{Yc(TpbP>YQ?C4!lMENSBT*T0OcPRaDxrF5^j_MH&Tbg;{t9Bh8w9l zz2UAmxk(tx%lSCqCIU4Ys4+kxiyc?aP3ERBz#)qq50qC|B_GD>#LdK5vw-rC47j)@dL?^eBTg9#B z)&Mmbs40M!F{x?g+&aDL8-bc$A?de`s^fW1ZaYwK`6a!}sQO-RzX63NMv;oYgP_oY zB$}j3)8ljQFn0oD9pR30$GGD_%>Zg9P^ezB%ek+)liVo|tsBh&N(1UWpx!s?egT7h z2h?0Y*kx3As~v@F=!YUg90{Wfvbj156*gDduhGA7Hw{8JbVBoR-EZT%f1s_I7@l^I zdxZJi=YHoNa1Vh(4;BEm5U54v+#h<~p8$o#ruWH9wbJP`6%%4(CxBW~!N!idYNXG0 z&MxRkc3wwXhLHTDK|D0EJM19{${t`3vqUeXFW09Qk#aF9Bxc2t; zP6mgLI)|-@gMW5S=g`C68*}Js&$aim=K=LGP)KKX0JXE+-bd$v?0HuOhtDtv?_kVf z2vDE+ISkV|*oT`5`)~vg6!P=UfTq+c)Y2wg7da zg1|{kpv6v1U>8td`w4vZzY54-&;9m;1~;_!fQ<4K=JqD$wp;h=_G9)_n8k7X3H#Uf zlR$j~6zb#70(Gw3ep+XN{zjAhx)EH^SzN*_E(3Mm&*B{z+I{;Un8fe)2lj{dM?j&%uK;xwsB7i+$2y6pfVTta zB!1NLX3bOxM1m)Q`k{gZ&*+xO+j&t(;sqTE4@D~G+faQ&(gOHUgv1B(L3}VD0@N=+ zT?gt0P&do@FpR{bz!5D6=ty^Tqx0bcw}j4z=1kUWIQi*C~RsxGPM_es9^@w zXddl?LBkk+tS-J+2&!WApoEe4EXvU}%&0?fh zb1>3epv``y_mQ^n^DIa44`>S>gz8sh)O>~3@{9Rp292ed25rT%tym>MvaPa`Ut>xs z<5%&kf#!hb%lNhYI-o_Mo&VU@#BbJD9cg>6)C{e!*45U%A7JM{HWGzgsVPd#)~+s8 z8~TBF^1IQ7Cw>?I3I8eo8UH!Z63{Zx3eYOhjureKelPz8zmMM!bO6wSK*s1ALCJ9SIVQ^m_emH+K?Hn?@~hbD=XvA@MnPz0lL!bO*i~`{u0_e z!(ZUP<1Ydo3UnCI;mi5UrfB{u&=EcX=t#6nDP6NHjMG9tlv4TY{O$jG;|_Y`H=v{N z8__;j>)1NerfWSGR?6ic;&ylhbeyl&8U9bx3e!px$3Nkp@|*eRU4|D7D(F*ESTqFa z1fb)AwgX)`w(j1u=Ym^U4*7-iN+6Ng1(Sf9JrU@nGJz6kpp$`4(IOYcYxl1Nqfs#0 z^eJ$HUE}A+FuWk34LJP#D6Rec$Oe)i8=KQA3KSdy?iPgrAy5bsf`Lv0+68nv&>7`I zs1PQE3lTuOfvyQO+Q!-t%Q#7w@zQyV{2RiAI3WRvT0o>dr2?W=1&KPmW@RL4Ayse! zoe6aH*OC^}g(^sHLWbZLJV0jwoegx=1uzMbZXoiLe76=#+%242F6|}x`x(i zVM1jzgIX#y0~#$;ycVv|QfMW#=AQ#y7w9@b*G3}!OXcFiItZPyG&>5NfX)HBUYXEE z=n8awpc^1*W;f3hkXhrce12&a2!&{$nb240C-eupG0;tcZoXU?APf`+0o@Yle4vZ| zq5p!hB2PEbN*Co?1!E1KZl=AtxRW+$vDGe&Gfbg{e^tKQV!55Z8X&wWAWL5*cm*U8 zVWKcem@FWBZv}K~pxXf57U*_Bw+FhzDq)&1U3g1)TX;u!SC|2GN1!_cjcU>j=MNe()70QI=|E%{)VKr{xRY3PB z71jXV6YGIkFnVa-koL)dBZ{zK%S3j6=BQaB)dDI65O5)KK6g(E;0 z0NoF0TY+LY^3h_D z7%YZ}p(1jXV}Kq9^aP;2K*I_#LPT5J#V9cv=t)4M9%&AsIGz6RAGRSH+jr=(+RE8= ztfH}ZhaRup#dpT89r{hJ>Kt@uY}ujFGC968_UzCTwIg$CDq=0MHmZX72GEmBMP%hu zv}5nZMvHhfDmDOms;`#5fl+L1S}8UWo0@u&E5rn`rPh6JrJ%QbCKl+iKu`NdY%R7i zanyFpWwEU`cW!d}bX{A;_F{)_E!#Cgiaxq^UP=Elv7@Q*?+He(&SDqs_S{ff>?(HC ztXfq?>>=i2T0Mb&r&L6S@GhoRUChU{kZR8OFItsF`-?`D7QHT7Tp_lV zsJ|7yT3l;VN=4+8mXwMp09mTtD2;8qS=?n(R*PH2kHoFwHt}O|ySPK#33MsYWk92% z%Yj}2^h%(SOIy8K{KOPZP7*&CcZ++(y(XlzYtZKB(?G8U8kM;o=nY$Yl<`FTDe)}w z|Ke%!8}SU#$j5C4ddqV0ocOJH9_WvNJ__`w+N|Y8ZLXNgR)|-{YvT9f58{tNZv}c6 z(4PUl2k8B;`$F*-@fI%dx_Cpp3G_CgKL&dHa_^8)SB-N6z zd%M`@G&cdBshJcPt!U*n7}x zHStPsnNrqBJ_)3W(j;lJG)0;!O_QbreGTaEfkyg_OyMV>e+K#&psxdcV~uH)DO!40 znjy`UW=XRVleuV$Ljd|FFs*^<3QP}R`XfTjfG}(afpv!uFC1QyH>9LNeql*b@$lw( zV~R$UXa^50Y2O3!GgAK+Qb-v;^)(7yux+X`ugv{G6n zt(K4vxeJT}Of)ccfT@e&qO^$1LE7F+&`sJRp%tu^(nr!(X`A%1v|U1`c@OCOK>rT( z1E3!Q{b;4MOZtSIglh4*v>WI@fUzP8BJvzCc3hqVQ~X=lG`xLrL4kJZay#ww%ayc6 zm!n(zP2?--Fmh}XQuxQE(h;El^tn*Tg&#NG=)$meJz~?`U%ia z%cRp1QmJP^Ki9lhLcP)j3GK96iBd00mjqh6BB4kHJ$(W6OEh!<`V}xH{P?u=qx2L0 zSAYBr7y=m7L87eBe97H9{pA_{<|GiUztYNO5eLG! zE8UZj^biOM3it-EmAK^*QWfO8u z=)ITHE4?r?Fcy6OS0!lTnRfVUWVZ?iGArASSME!w0TDip@c+jvsJi~_itKpZ5^?}A zHlNG?C|E|LCmc>`*RMu;

#V{;Fs*ISLs5ubi=RJn|yAeV&%e3BaIlYy5>I%V_gg zse}yjWvQGBjQH0hmz;qg-9!9JWj8R=Uym~7Z1hOZ0!A*?CFY}%e#N1!`3XU~50Goh zX!@g6t_6%*D%S?ap&hvv?~?1ujgkE2`f>xgq1*@Nxue`k?ksmPadKC=8@a;NOYSM>YMZ{#imU`oINI(FOe8Q-XHbSb zxwqU$&PN|L&7lTs)DKB15$G}D(0#GoUoOm*0+1f(?D`jXsj|6I|KS$-ro6&TRyhZ*<-YRbcrV23Gz*GaK zI_gm59r8|8+%EQg`O~gV^3gY@g?$T=3F+Z1FqwFB4U?r!__?+*Z6NQK_h^wvDmuh&-;q$>50ugM!aydb|(anXpO+PBvuYRfPF>fsd= z8r~_$JEHM;Uia2T`NN}z78eabQ#ch`q%evFnV*8(QJYeQ1*Wa$xl!4v*iB`t6kZV& zQIQl`Q4|%JcEGd;rUNh?f$0QHXJESc>f}mwv=cW1x0c?>C1fQ+i9#M;iByoebpxim zCf{n_O-WRe5r*+;nS$B|jmveFQk z1Jeu3D^J^bE8eTrR_gs%&iW`PYJomDXTHz%&we+y&fLlRGLT;o&6HOERY+@clF}BK zzPOG0;m%D$QtwbwIH<6s5cO|J#kB6XCA-o|>4N2mgi@%Dz8#NtF6!=0>8YT(n6*l- z(o4xxdMkaDe5F9?tMpU)12YhqLBI?KW(Y7vzzhXu7%;`a3SWD#k1-(b~>sL_RZs;I)VF~V!P$Yur8qo&s zk8+V~8Iqq@oR8|!u7A-e{~LNevJN)U?tdBURnaT;3;O1b7*wJ^#}B&>(gPSA2l#8| zQzoJs8#9;6Bw$ARTXia$QB$TV(}5WU%-Fvg^c`i^e@S>YYNolsjKtt#%sp0 zb*8faXrm95h5uE;B2>Z>V8-DR#%m2P#VN{iWd&}Ia$w#pRgjpx+D`{F8YpX(^*DJQ zFuqb{12EuAZr>uWaEQN7Ta=Fxfbx;DRY5*#A~2|4lb0*oQ4{P0W(t;hxz_7+ey`nV zSg7m)1`XT&@9tBMpkP+nuN+XmR1PX%DTkE9z)S-M3F0ka-Uj9!V33!du}V3r98-=f zC*&;UB>L=)nF(m8HuE7c$h*qGEJxwD7I|o{*7e))^h?V3CZ$}ttXxs9DyXGr1NwM{ zLGsedl^^g#y7DtH?->*6%sih-1<`x_2F{m05veI{Lb zf@jj15B~Pqh6d-=O0PY>YElV#ol2qAK4uv(3v_QkU+Z$Dnpd?T7?oA6s!ip9SqSK> z8D=psXcg4&aI-9Zu#cAU&H^T@B2_}m6gZW_{_n5UOS*GL-*F+a`?IQ{hR0s2C;qM5 z`o^>}41WPi7pqaGUO*rxTRw)hq9^-O{3Jtz^umt`pW0h zJ+0adb>3=oU^cuqN41sO>Hn;+YPT+GSGAkkT{)@t)D?CkFi1-d0P`hQSmxmCkWbB1 z`y!21d#ioae6;|WO~7mhW(zPMm8<>K{%WB*0GO@7d<^ItC}xMDvR)M};g+h%`S~}I zsw0pt*#g-2@egkfLotAU#Vh#eqc;4Xl zs9pON6^}`4=U-r{JEEj$a9&AaAEek=uhr$cUNif3z4m|nI5#T}^-0NSCb+@ip(SH< zeJ&|18B|bxFp3@X`n~?Q$zXhgR2nmMdDZ3msGQkvRC6O%57bbHaEJc4^E*75`23E) zEB97)$A2l^PNZ~5AC6$9yX;pwv=_Nl-3`pqzvT9XdKfERqyK}KRF9}f)nn>$^@RF0 z`nZBQ2F!6_z6RzyU@ii4$@dYG`Nl(4yy_YC0@670f1Yolen;x(TL5#S;(&_^V?fK$ zrKEnq#ozVdC-rB)Te|?vNyDxA_28Ci+Y0rzdPn_L{Y||K%qd{L0p=_)=fKN+``W#! zzZ>4^wCU=7NUm^u>SH4}UPETG@BsCnx&7YpE*di+ zwM2{9(qE2H@_WZ-`r8$G9kfy8c|Gx;?h$Jd*%51z51Aiwj$PXo?ilv|Lkf^nc%2JyL%xxroz%4 z$&NH!c#5O4Bh}#q<`-bD19JnIo7x-S&9OVGIgl4EbyNrDwl?EpjMq`ek%JP9=+l9E zgx*AnQCG6EpIOFK!$afT&I7eSoFGqg|8hadX z9)-SR2Idi%iF1yDjzQ?*V8;+g5z5flQA}-j4A;&cZ{vLlW|ZrXzbUk1gkz*%pXRlRR{{Piedv&$@XIJf*Y3Snf|3w%7 z*;D_ca*hvB^@>e%@aP1g2vVR?PlLA~?1|Ysijej?!FGO4PikVzoM_ z7>lC}PoDbkX=6m^D0i&T#-B>09V<}`F#c46ma!+yj@Kw0Ys8XPGMa+wyvM8i@3^gx z_7qdzZ4f5lT4f{PPv<4_o8#|rrM|5 z-?7iIm!qTX&f9O>e?nrp} z>(zsWq39U7k?0t?GPGFw0Ik<`5@(|2k3XeYsRcSstp_?ytv5PNt*O{RQaMuj%UBC@PqP!vJ*J z*Qe?M)J>gMFREA6Yw8c`0|$wY^$JD~Fx(O8h;q#LI?B-Tv3ni+90wf79VZ>99cLWh zJ8n2`Iqo=qb3Af9c06%BbG!&30?YwYKuAF4fGPpC0vZG~4QLn8JD^{{$N+D^l7LkK z2LrAIJPdddXb)5aqXMG?V*=v>GXmX#p1{n&oWOd4^#dCQwhQbW*fp?wU|wLKz=FVj zflC6<26}%8ydC&!;N8Icfe!+o2fhq41(88?kU1zP2!b{R{T}oxm<~1vv%!3@7%T^? z!S#ZN1&UGSygE5X--e+d35_?O^k zA%P+3A=N_~g|rT77t$f5Q%J9nJ|P7m{XzzYl!S~58RHEZ7qT>Db;yR0O(9!CwubBt zITUg#*p=9cm6`L-|lKR1Q@`qe3f(IzwHd8KIug%+NZaIidAK z8-_LxZ5rA~4C-NX8Y4Go(RHZg2+*wnCh!e)fc3Y!zQBy3IC zy08slo5Hq)Z4KKUwl{2F*nzNvVTZzwgk24L8tw>>2#*Sn36BeRhNp+S!>feX3a=BM z6J9^OfB3NQk>R7m$A*s&pA)_$d{y}R@QvY{!#@iDJp54j+3<7T@NdH}g#QwLGyHb= zZ{hdCe-D2ZK}1jyOhl)M{D^{xz7hQ+MnsH`7#lGm!W#h*Gb3h4%#C<2;%>zAh!+tr zBTbQfWME`)WN2h~WMpJwWO8KXNN1!gG9&Vh$U2cZk@X{&MQ(`P6uBjGYbCOhSV^v= zRtl(8P^q|5Nu`mMMpyFwR_R$38AV5#qu3}hN{&*a0-}PVsz!B-8Xq+!YHHN zqt-=jh}smjGiq1Vr%?x@PDP!Mx)OCe>i4LJQGZ1J8TBffh^C^MXiIcbbd%^o(IcWq zM~{sjA3Y^{YV`EzrP1r7w?=;)y(4;8^xo)w(FdXrMjwhk6@4c9T=aQw^urh~#t{<~ z6A}{^6BiR7lNeJarbbMynA$OQV;aXajcFd!GNyG*mzeG`J!5*s6vhmQ85A=qW_HX6 zG4o><#w?C0k69VBI%aLm`j}lYpT>M1vnMt#HY3&(n;DxOyD)Zj?AqA%u^Zz;;}YZ2 z&Lf_9}qt$eqH?T_^;yc$3IQr68Ho$ zK~7K;0uq7}LK4CfA`+4kJPB_kG)ZWmkee_dVMM~jgh>gL6Q(B2N|>FnIANtXVRgdV zg!Ks<6Luu*O87M4^MpMKUnCq!IG*rz!l{Hy2{#k&B>a|eKjA^bqeL=MOq3JV#DK)0 z#E`_W#H7TO#MH#J#PmdWVwJ?K#M+4i5{DszDX04<|TcWbT;X3((|NO$wV@pY))pArKf`>7A0F(l2E|%Ak}nDdSQmqV_+0E(g;T+%`<}7iJa*lO^bFy=)^DXB)&iT%j z&Rxz=oco<8o!>gYb6$2{b6$7ea^7*?b>4SAb-qZmrO9cIw4k)mwCJ?hw1l+ew90A4 zX`9mSq&;#4yTV+Nu4q@BE76tWa=Ox89#@vDnyaR(wkyZgz}48*)YZz>-qpp`)9dQv z>hButDt3)>jdy`-s_PxsY}fm)C9dVJ6|U8;wXXH9U9QhudtCcmU%I|>ophabop)Vy zU3T4a-FH27J$5}!C(`M3bGkL1OLwG4rzfRX*3S>DnqDKlR(hTEob+btozuIe_e{@A z&rk20{&u>SJ}-TK`oi?h>7S;1zf3=rel-0=`l81JCSz8{ij0rk zvF-$SvOCr7a=YD`?yBw@?l;_Z-Syp#+)dpr+^ya1+#TIr+}+)|?%wVKcYpUl_Yn6m zcZqwHd#rnc+vlF-p6Y(f{jPhKd#?L^_lNF{nF>R2@}yOx1B!->iD8>f@?Usy?gwvRc<_{i+pK8(3{fwe!_}u6DiJO>eb3 z)q7Vjsy?jx@aiM0->Uw&`jhIb9RQ)^7G@lH*$rdU(1sn!gvSyB^fPO3Sj z=Jc9>)S_xJwJf!4wF+yEtTnpU*jf{6U9EMe)^D}$)q3zozc)($pPKIbFX_dB9)J60 zb?bKPR;KM;w|l#{+wPXRM=ByiR1if_1VkAsLti2&f}nz;0xF0$z3rX20JnysA}B*_ z*KO~0`@X-Q&*SsUIe)}?J|5>t#*wTetRuD~kB>Y(^6bdVqxhp4N3)JHk7gfz>owhL zrq^t*xn689ffrEZCH5*kHuKm|$9_Jx^w{!a^kaF)c*hEk366d7p6fl&dx7^NZ?1Q# zx754byVB|Te0~>>82mKthG-z3ndypikHb@<$2|5wHFxVq_ zRq&eN^})*E)4^wh{|UYjvM9teWOc~ekPRW+kkSxoNO?%*@%hJB9AA0d^Z1(MjN=8z z3y%wri$mQ)mxZnfT^S0j3M~jN3zdadhAP6Agslx*AGR@UOIU80IIJX05>_6*DBLrA zb@zhx3=D#;U>n#8o&w(oKLkGpKLx*yoE|wR(k*g9ut-E?LL@daIg${W8krU;j=T~%7WqE%J7flAHslA$PY`#ACu9v|J!BJP z3uGH)2jnlvUWgAQ5E23jgG550kSItr1P>ts5C$XtG!z;Rjetf%p-?z95sHTrp=2lxngL}%Sx_NV3{^nup(mkd zp#MNGKyN~upe@igs2Wb=*GDexA#-glIwkSu`v#6I* z-w<;UZioelMTnmf9*EV5b%+g!&4{fCKLi0$f;f-3fw+xmMzkWj5krV!#3*76VMRDv4?5cS7Mj&BG1Tq#GkHjEx$Yf+Dl8NLaOOa*B3ZxuajXZ%o zjci1oLtaE)MjDatQ0}PxsADK!Q~)Xn1%Od8C=@Clm5540;ZXz>2}MSwqjFGOQ~^qW zDn^x}%1|;?1L_p&DykXPhSH-tQ9URVY7}KbO`sg8Nz}Kv4RHZ+xHxhgC5|4K8J8O; zh%1T{$CboM;>zNx<7(p?<1WTsiMt-x6xSTr7N?6FiW`Y@#XX687WWc}dlUCQ?mK!0 zdNz74dOrF`^ma4|O+%NVtI;a72Hk)@hrW)!h1Q~5(K@sN-HA4$htLl6UGxL=WAteG~l?0~4W%(TT`J^#6!-ZvNUTXzC!R_CC-Fk! zrNpa=*As^mKVes44`cnXf!GjiC>Dl|!zN&{*kmjLOTsd-05%Vsj}>A?*b=M+tH#!2 zFJfD$k#sBxo5V{JCzU3Z zCCQR%lTIa_O*)r!G3iRuwWJ$Kx019#Qb$r((nyju$(H0yx|j4I>2cE2q|Zs;lIJBa zNnV!hp6r>tCV6Y}j^y8xcO~ym-jfVY&PuLMZb~*JcO~~G_a~1gJCa?=cat9^KT3X* z{BQE75#pTcl2skz^u`k}RYN(mm2c(i74%(o53o)J3U#QW2?Hshm_^DnC__Dos_U)~42_ zHl&_PJ(Jp)dNs8@wKKIRwLf(zbvV_WYDs;V`Xu!Oc^Y{pc@Ei)yny@*c?H>nyo$V* zyqTK;@-4EC+(#ZD8_7fDVe%+>iu{oLg#3*Bn*5ghf&3|LZrc2` z6>00zHl}S!+n%;FZExCvw8Lpf(vGG1q@mLa($1#!q?yu2(=2J@X?N59O?#2{I_+KB z$F$FBU(?;v7p5;xUz+Zo?vcJaeQo;h>3^mlO$P$gL(;?2Bhn%1$aHi%CLNoeoSu@- zPd}GFl>RdPQ~KBR@0973d6XrTWfXUcCuI#~9c2S$6Xj3JKFUGL-xP0(FC~ByM2Vur zP?9O>6dEOy!lYzV3Mc}Kh*Cn4QpzcpC}Wf_)Roi?)Xmgw)E(5nsDD$vs6JGGY7jsT zp@ve!sS#8Z6+^}Sk4C0a)2LJ`oyw!~spZrfs+w9)JxM)7y-dAEy-97Nwou!scG^tZ z7MedToCc;rX>c0){~xw!WEzD=r)AQZG&U`t#;29jG1=JLp~XUV1-$g6^O{rN56MYS7)xv z+@85Jb64i>%)OcWGohKROjTw}W>;o!=0K(~(~{}RyqEbf^GW8j%omxjGCya2&2r0H zn6)@-X_kAIXV#jmby>Tzc4v8I1!W!23eN&(L9kx6FK zm>En4lf@J=E17C$J@X{<4D%o6HRerb6Toa{wlQ@~Cu=rq8!M0%!Gf^hECefoMPQLw zWL7$h%A&LKSbUa{C1y!k<*Z7UoOPPj$hygDXBk*stX|dt%gnN}Y%B-M#k$L$#@@^h zX5-luHl3ZtX0o|#5xbaO%9gUr*%j=1_Gxw_`#k#!`x^Tu`!*ZsVfVAG>?!tr_9OOF z_H*_J_Gk7t_V?@=*|W0OWd~#vvW3}Y*%jIHY-M&s_POi}*_X1fWM9j^k!{HC$?nfK zW{+f>v#r?^*-x^cWq;0@nKLKHEoVW_qMQ{u9yzOX*5z!>*_`8(gU=D?{F8Gn=Vne* zPIFFYjxooSGm8%=wb@A21V`4a^1R0q%e&unqVV*aPeb4gp7i z03a9$1;PO^00Gj0N}vfC2krt7fXBd7;4SbC_?|ocf9iX7?hm<3bKP@2bJyf<%-x*3 zEq6!m!Q6mcP;O){EEka*n~Tj&&L!lg=BDRTb4zo9>$&5(pExuA2VUlK=5dyAJUMGP z>o^-Zn>kxKe{gnlyf}WGKu!n;!~t`l95@HZ!E-V=04I-=&ne^-amqQB90jMEqvF(Y zS~&Oe=H_k5+m*LFZ*SiIykmL6dB^j@@<4guJV;)A9xe}`N6bslqvmDgW##en%JXV~ zJat}u-pRZ(d6)C9<=xC{%4^AM%d>N5a<_2(x#3(e7s`cm(Of*2z$J0X+;lFL%jOEW z#as!uoGa%lxwTw1_X1bT?cjEE`?zw$ojb{$;@;;zW7i0-of*b)yAQXrNr2?ryCa4r#6^sl16Rr|&7H$*% zD*R2jPv|A|7WxYPg@M9gAzTl=UE&_GMSNfUT>MJ>R{TNyxp-#roMN}) z`Na#1e=6Qt99f)MTv4nl)&RvPicb|^EWTB&Ep9E=6?YVO755aIizkX5#jfH9#gB@g z7C$TgTH;o+uw-$`(h~O)&yqDI>q>qr*;Vpq$(|B!Nok3+q`aiE9n@YEo!b|f?FO^P8+$0+$yCl0MdnE@Xhb2cO09XQ=JAzdk5C0!$3 zE8QkNA`OrROGBmMQnWNhN|L5YsnQH7AQed^(sF5~v|6f?YNQR)M(Jf~m((eJR5rJ4 zQQ7Zher4dYNT3W-1}npq5zEMBlrnl*RvD*^SH>?BmWj(s%5IlEE?-f8tURndq8w5V zFOM#dEl(?Fl;@Ol%6a7l>WJ_c#WvgUs zWgBGMWjkfR%l?%8CHq?jmc__WvUnLrMw4aAm@*(+mMa^OnPqonk7Q3}&t-39?`5B4 zUn*u)xK*sK*jlltVsFL1iUSq?6`>WNipUCB1+oHNfvLb%Bv;TYGAkGr?25q(dxf*Y zRdKKKK&5|WU}bP+Xyy6Jrpn&Rfy%+k;YxF*wbEAUtbAVis`72+hsw{D->Rln&8(VT zwFao#QFWy1cvW0gdKFMrSXES2Tvb|isp@uBb5&cFuIjFQru--QV)@VVrSf(1jq)w> z?ed-S-{r^T!SZl9SPqp($)n|oa*~`P&z1}2MRJk6Sgw?xm7kMelwXlwm*0|W<*o8N z@*(+%d`vzrx63Excjfox&*iV=Z{@&y#gB?*3U`I4VzpwA0;)(*U=)c8oPw&zP%sp1 z1)$(4gbJ~uR8gkTC@v^2DlRFmDB2W8g-J20uqY-J4uwl`Pw__aUhzrsRqphk z%c{GpN2|xGt<|=g#WkyI*4C`A*;Erkk|Of^qkpcber)N*yTTBX*g8`PK8&FWtDgxaBYsqd*D zs-LKzsb8w!)Xl2l#dS;Tme;x0dDLyH+f^4-hpwa73F|a#x<{tZ%K?)pyi)*Z0=<*PH5{^$+SF z*Z*7pqW*pTr~0q;-y5bk%xYNF;0ZKrXxQAat>M>(-3@yi4m2EYIMNW%5Y_;{J$3v3 z?bo-zH_d38-88ppe$&FH#Z9Z5)-`Qx+S0VWX=l@}raznDP3)$VO@mF=CRfvwre{s> zo4#phXqRbMXxC{sYBy`QYWHaOYY%Gw)_Q5ZwISLtEl3O2#%N=;C~cCKtp&6|o;F`w zs1<6(+ET4lE7MkK71~qUGulS&`Q{nTi<%cVFKJ%ZOl#&ebDQ&<3!7gze{WgXvbbew z%kq|$Evs7Awrptmvt>`q{+5F+f46wGc(?er__y#|Dq31wp0qA#-P-EY3Tnl);#%>o z#8z@ErIp^A)yitkX_d5=waS3js#axdZEIa?L+i=bGp&uShSssxC#~Pwmb7`dg|{WN zrL|?Z6}A<%6}L&+%G)a2G;Jr^PPa9-oo~C;cBReS_O^XV`HxS7uglP}bU8YX zu0SWyiFC!fGF`1srTa&BOQ+Sf>U6peUAL}JXVFdQ96Fcop6;RUiSA$BNBvCwFZylz zz51hiZ@r&BP#>a)=;8WkJyMU>C+L&(6n&OHUoX;^=%sp@zFM!+YxF1dr}WqKdi|h& zOh2x-1Nuq*L;Vx|GyO~bYyEe_48v^0T*G|BkA{^74}+&+wPBCJ+u&yiG=vz!3?Kv2 zfHq(ZI0N25Fk~56h8zROz%vvW$_y0-xuM#iGSnH)8!j2H8g3YF8?=VIhL?snhWCa~ zhOdVII#zaU>Dbk=yJK(1fsVr+ejNcFKyXKB2dD$wLFf>6RCF|U=sUVQTpdq4-gSKM zoY(nF=Za2`PS4KOo$ER`cJAp6?Sys4bfP-ZotREyC$Ce`S=V{1v!%1E^HJxsu7zD5 zU0b_$bp6)#N7r9n`??Nx1#|^>g?5E^MRY;BU|msN)Gl$?sV-gDRM(5H&t2cTrvcqF zyXSPfbuaB+-tFG)(Y?BRUH69WL*1C}%I=%pj_!xu|8~FVe%<}H`+Lvgo|QeTde-)= z@7dQA+=J*L_7wIAd&E7ZJ!L%=J-t1{J+>Za&s5L-o<}`TdOq~d=$+d;zjtBp;$BcM zqBpBIySKXcOz%Iv=X)>p-tO({?d|RF1&qD6UT3eX_g>%ZzJ-0u`@H)C`Y3%sUq#>b zK7HSKpS^Fg?{43NzQ=w4_PywP-S@8VW8atlpZk~gFYkBn_v~NOzrKG{|JMHP{lE7A z-v3Ac@qR)-w_n}RO4h|e1@EZsm2pI?)h#5#8APl4qqz}-5 zfs6sgK>fhwfolUd2bu<22HFP<16>0>cNX07yTiVtxie~9WISjLFdjFC8^K1n5n+rm zB8_xorLnP!QTe|82oGS(BP3luR)(dzd;~!Fm@0>m^Mfq%ot=0<_>ZP^9KtDg@ZMNCkL+# zULU+Qs2yw>Y#Ve8J{_7iG;?UqklWCLp+!SK5B)NT2wB5ARw9B;Hw8wPBl29@bTgBVel|?ICeO0IDR;B7&j~(K0B-%?i;={ zJTyE!JURSg`1SC+;g7>#hJpV^rjN`TSu(P0#C^nbWX;I>kxe68N4Agb8}S)IjZj94 zNB$YPIdW%YV&vY)!;vQ=&qiL3d>Z*W@_lsr=&aE>qZ>wpMoFWhQQ2tKsB*Ms^yKJ; z(aWRPMsJQbjW&<=jv7ZzqobqaqxR9s(W%i_<~e3J^8)iC^Uvm`W`A=yV2(1!m{I0< zbD|k%rkXR%3^Us-FpJD3W~o_a)|ea2r_5K)H_W%pT633q#5`smH`~nj&0of*jV&8H zJVqR&k7bRq#;Vl(rjt7=q;U=9!sC)k#(Wys^53Db&Z>=A!pRHfV z-NqM;FB<=O{Fm|N3eO}1uRtF7IpxAohM zwjtZF?UC)N?YZrh?XB&-?Yn)R{YU#x_9gaZc6YmneXD(keW!hwJ;)BTBkVDDls(O! zZO^rH?FIHSdxgEquC$-FHv;x^_KWr=d$+yUK43T6$L((%I~{u+2ONhTM;uT`f&=47 zbl@CR2ipNS@*Me&LWjgr?x=Jq95oJ=YN?UZYR*|9Cliq6HbS7()rB!*7?Et z+4*g9*5nV9Zj%cp7fvppTsygQ@~_E#lLsgNp7fmzm<*acJ{dL{H5orindDE_O=>4w zC)+0tlUX{x)`nk zm%t^Wxk_BsE|p8;I^nwPy5_p!y6x(6^}709M%TFOq3en3nd`;W+^P9fKTiEL_4Aa+ z)at2qQyZp!oq|opOyy4%PhFk5HRYW8boYN(@sDOdTK>rM(fa=*hNsP#@qc^ih5y_C JFCT6E{{Th`on-(3 delta 33380 zcma&O1)LRC|37|b&eW~x?O=oLURt`lJC}uBU=dhgmlE*ak4Q@nt;7bcgkaEENQg9u zbc={0AgF-+&zadveD!(#e?HHhWzNL=eLi(Qr>3}s`S3$#wjbkH-Y>=&R2qjAE_HML zDpcG*G)1#CN6WNAtF%VzbRZo<$IuCMBArTS(3x}%x+Y!MD56?=w$NMYPv}qSo%AmH zF#SD!gg#0iqmR=k=#%s*`Wk(mzCqulZ_z)|x9OkhJM=H~UHVu0KK+1xj%=AzF%-p%U~F+JH8q zO=vUv80|#6&{t?bI*v}D3+N)cj&7ja=y!A84ojo zd6${OOl3SXn3>F6#$XmQiqW;?Tk*~9E*zGl8* z4loCq@0laa3Faj819O(Sz+7amGS`?}%umcO%w6Vp=05X?dCWXvp0YNUVp*1B9jud; zSeeyXKQ@RBX2aQXY&2V*jb{@)YzmvoX0jF7Dr{A@23wP@%hqEXv5nd0Yzwvx+m`Lf zc4E7+-PtU*H=D!evU%)4b_ko#7O;ivXm$)co_(90#!hG7V`s24*}3dub_x4F`vJR@ zUB)hFSF>x_wd^|fQ}#3Vb9NiMo!!lT!|r3hW%siO*ki2cID3M<#9n5vuvgh@>@D_J z_BZw(`#XD|{hNKlKIH_?&N(y;wsZTqZ@K;40q!98J$H(`z+L1nad)_1xVzl1+;7|i?r)yv5zp{4ukb3b z@j4&Km*XS&cs_wo0dZFhs}~h6=-k;lfB^yf9IiB+L~I zVV*EwSRgDBiiBdJL?{(j3af+-!bV|}uv6G2>=yP2dxfusL&A5$N#T@mTDU4)6Rrz4 zgqy<8!tcUg!r#IZJ8u{4cDuvwv`cn>dw@OA9%K);huEX-p7Qn>dxkyJUcp|`Uddj~ zUdP_V-qhaF-pStC-o@V4-qW6AA7meFA7X#YKGr_YKHmPe{T=&M`!xG>yJ4SapKmX+ z7u!qhrS_Hfwf0T+&+Xgn+wJ@8-`e-v57-adzqg;VpSEALU$S4e|6;#u|JDAR{hs}y z{fYglgK@AP2j@^7nnQQ^Is6^Ljz~w8Bid2kk?cruq&nVkRCm;H)O6Hx)N?d-G;=g} zv~YBAbaZrb^l|icKx_tIK57A&T!6j&T`In&T-Cne&Af{T;^QmTqGBhi;pja?@_)X54~XatF8r-R0de?pSx6JKmk_uHdfjuHkOtZt8C4Ztia3 zZsYFk&T{v54{{H74{_(ahq?>hW8D+n@49EZ=eXy(4fj0vBKLBSdxd+Ad#(F3_YU_? z_g?oG?r+@t+y~u<+(+C;-KX7W+~?fa+_&6!-1pp%+>hN)L`q~uyXY1*Q5S>75V4#X zBgTm-Vyc)aRu!v@^~J_w6S0NZQtU4F5POQf#4NG5m@W1f2Z)2kQQ~NEjQEx~Rvafz z5+{qEDdJRdhG>ZM#1F)!;xci$xI$bht`$EKKNUX{KNq)&d&IrsH{ucTsCY~~E}jrC zh!@36;x+Ln@wWK0cwc-VJ{12DABlfUj3h{Q$t{VJDrr)T6f4C^@lt}6C?!eBQo58O zRgx-8Rix@tU8$bbSZX3Q^+?U77E&9jkCZD7kn*I#Qh_v58YPXDW=M0SxzYk@p|nW) zKq{72Nvoyx(q`#nX^Zr&v|l9+Jh zdMN!NJ(3 z@*sJzJVefyhswj`;c|goD36k7$TQ_x@@#pIJXbd4dGdUDfxJQ9C~uNC%OA^IbmDh4&}{N}v*? zlvm=F1f_yfQK_!fRq82?lx9kErL|a1X`^&dIx1b2Zb~nukJ4AkQ3fc3l)=gf#iLAA z-cx2PbCmhY0%eJ^Oj)j!C~K6Dl#i89l^x0#%6{cL<*;&0Ijj7roKwy#7nEztb>)U~ zTe++JuKcC^t$3cONM%$}l~h?(R6jLNjaL)YL^VlGR#VheHBGIn)>G@N4b+BeBek*G zL~WtARNJcU)b?s;wWr!k%~5mJe(FGVs5(j=t9sPQ>J)XRI#)H+dFmo{v09?8R=26! z)qU!>>VEZrdQkmdJ*8eyFRItoJ0A5n^?~|WeWE_qY#OD}8mIA^rs$@$@yzR9&zk(eX6}J2a(L%alPCS{Wl^6C>8pYw30Ldhbc^Der0TnNsQ= zy`J7kZ}Kkop7H+R{n2PzevIQYdYdh=i2mGr)}Rs+E7QB_Z)}OH=soma`V0C?`YZZt z?>X;z?*;Eg?uX@(=jElPyKH7x^_#cP&K76eR#L_ty`sZ?wHcPX^U>{ ztLCJ17?9GkUzctLRlB5At&mc&bA@h=2j--tS4rvLq*J#RBRi)IsGou@{e;aiI{-Y4Ft-e=x_yw6u5 z9r+=D6o3Nh2|(F^qJW}-Vt`_?7QW0XZ`)dgVt_(eOz9cTQU(o8$?w#%j5kU^i9X&( zEp_>>q@r}fA`K|M2xS0e_a>aM^|Co_S+?G`Y*g86^M(N>7@ox3%GFS9TjEOe2C9x~ zpqi)_P!6D+K)HZ&10}9Rbx>VY57j3OC7`MTg>R{21Segp-vYHKwQGr5q1LDkYKz(d zB?F}Zr2?e^i9CL*Y>}uVJppw_T~JrA2$a9~I8XsVB>|PgLz8fx3RQI^p#G#nM6LNo%6 zM5FNEG3YHc7XKZO-bNne1u7IMT;*_}$^jJtR3uPQ=D(wXDi0KvF)ohY7u%Ls5B!ZCA7wJd^=i!ihxQ7sy3Ux( zrnY_W-;MUZWb*}3)w~I2FhpMyLf@c$K)nG}jhBQDpu_)#;~|WWmH|~KK=1B<4d^8L z;lG|+i?w@>JcjjJlRP$j?`w};LRSdC%RtpGLi30yam0;m-@IY_zPUqiJ25D?Z((ju z`w_<2bieSMw&Egm3#hu@I;XI`u0%iER-rrS7jzf>iheUTqz5?~0#zTV20+y_j-^jQ zf1pQ3kBmU{82xFC%BU>-&1BjVH_BCvFEaXgm}Dk}NoCTQbOsB)F;Go`Y7SIOpjrdf z7O3_>bp)z2P+fuQ4pdK|vVh74sxMHvK=lVI52!bR8VpoEP{V*K0BQtKqktL%)L5X# z1LXkWNM2WlZu*jTWoECp&gP(?tM0JRdR)j+KU z3R}TPKy3tSGf-Oy^D~*4c@C4y^ke!n0~pNV6QHmfPXcunsCz&?0h$F`0y+rjXrNPo zt_pNLpxXf51L!=UM+5y1(C-1g0O;jFZvc85&|d+49O!dE-vIh|pq~KZ04adN0VM&d z1gJKk=72f@>J81&KtP3n-Uc)ckO62ppf!L#2DAgPMPWNZX8~OU^b4Rr0R00D|5}V; zhFCGCNtQgy7*?&D(Y9iOv%o5AmL+#GHb>VpzO5J`jJC>J7{68YI>%clt+M0-1FE(( z>eLpEQkVtNN?QEXk8^p*U7By6<`a*PPwda`@I3WjINy-d_YwZeq+R#~BOuhvB873*Z=tF+G5juCEJ<)h0g z6=)o($r-)t#0z(<3vU^->v){^tdntsJW*+nx-rf_tg^SWXBEuFLTO_> zXjDl^whHE99lYhtuuc|a$-VKrI~mR<{z6$Zy2w=0*e3Bpb?c@jM!6PU0|&p-;<9zD zD<5RZBTQ;_YRkr$rsbUtt@34AazAWMJq@;*pU})ITk*npJk8>T)>dJ$v9Z}8p@Vf& zici{^Y8l&H7rI)7tFXQr8t0o=7kXI*YcQLB&c4>kx-5B&X|_MNNOBIa%049E#PIT4 zMhkD69PAEP1r~(%)MpI>%XMTZz4qdq=bm zNb|7o;w*~wvcSH>;!yc1P@e(yIZ)e5*@^5Vb}~B!DBQ&D1?mf+zBK9%osrGX!nqGS z8>k&+T@TiN!3 zEoO_@VxYbP>g!_a9=p)B0&*@x^$>;@J`;BSH257Ysm4wkZ;*^k*R z>{g%-0d)i@+%g^`%o5ohgc-*F&c|#IVYZk3g8YCw4Al45(b(KJDEA}r`Xf%8TJRDP62fqs53zQP|E(uo@39m z7l1ko6h2-A>JlO5VXqTnH-P%lN9-p;>^A!|`2mF+>GReRi!5IbjINVeCaxYn*az$* zi|ijJ*~^6NpM>m{f0GTZ=6mWHM`N-H>_6;t&c;zdT?6VmP?*WhQVwwp$8sD{w}83> z)Gt8YC2V_gZp@a$${g*lTWX6uyo=sH3fTfPjJ3+2k0Y&o3P zVdegc*>aJD?Qcex4xtILToR_m#c}am0*7%;l1`xs!?=+IWH?vA6>=kh=78pb7J#;wa-&R;w}5tFkhxt96$l2-2An>Oi5A9t z+$;-YritMu7;^}QXzb`5ny`R-pI|KH7IBNYB|ytSD?qD2Yo*)=CI(I{aEAZbi0o>p zs|d(yp#6Lx>nxDX+*S)@iwP1yKt3fPfyVhRp{YAKoV%8CJGoulZf+0I!9a%q9SU?< zDffj5@-@&{yN_`WPDc>C(YQkd>N}vz`Jj$iP^Y=G78G_DEVD=gb&fzq8PB?gre5Z5 z5U4BMRqh&h9q95v#{eA*bX+NS(}cPWG|v4^s6-3u9)ZHCQi2cap#}AX`^SR9s>M)A z7>c(MsAMC&duS@lJ1`W_@jNf^cA!&%P6Ij}=!{a{NuYQUXxs}hp(+um=DZ(<;{AcH zPzJ>ZVQ=7r+4*&t;`nrNWQ$ugO4_OR3m@waset)d`mxK-cndsZFY#%QxbiT5wHFxH<%` zIjMHte@6#uf{#HPz9V7KmT$+m=Q{vhALs@^Hw3y-Dc{Lt&=u&$Wei#p1|GgQVUP`U z6CZ;dB8^|{ZdwtNg@k15f0N{# zzNg0UZxfPl@niXMeAIZL+XCGV==MN&DCIr8mj@oZ5O&?pKz9MUt0kzZgyuA$JNanN zz=HBKj4Um90l(OyvB;#+jnH_X(CBXL%?eFh!LKBEMSL+|!j}S#V?ZyUvw-eh%CF*A z^K1CEKw|;q0G$hTKLXdC-$dXx1Kr05x0OhxKmRHDneyms9kEoJMb`-|iZG{9&(MynL-yKg^#n2Nl;Bbf@1RVVo?b?5fvCs`-Y|l z3E>z@2o^$wP$3NP*a-bD&=Y~4R4SAsP(l>Ylgpr{T2KiD3Wu>NKByE6s-jTEf~ssn zO(Rg%2-I|AU`}XiEulVvsx8zJ>I(IMo&oespl1O+yHsdkLNx|@P8pOzpjrv72vlpJ z=lY=9{m)=hrgNdI(8FSZyTMoi^9YMxgvESgR&Ho&Uts`Ykt5^^{e=ENF9doK(D?F_ zQX$V|fz1PVaLtgml(1+j6c84LK!4z4G3x)9#oGc{EW9R*WyC^BK=U^?PT*67$-;Yt z#S~$xFin^a^a`MhfG!5Qq*Rz8%oJt`vw_Cmgneh7kv?Ef)d>||p zmhrf)Sp_t1v)16iiVgFLEGQHoUB@y_oBW$kG^>Sm7OAx+sSk;0J|v>~$hh4@H-Sp#9;WJY-+kwW-pDCJ8iD+62Ul3kj0=?D8>l?yrAGRC( z1Nsxv+~EUe^FmY420OB0l)Wlgr%gp-hRe=7%M~h^Ap&|CV_6DW| z?Db6v{758F=9J4O1g6=W*;^B+=Jpo$miAUap9lH^&^XpzDz&#E(zfHK<8m3)RTHWk zkwACABjJ{??YKjZTUC3meSihk--NnG>N=3r_4>c-O8EwV?fLdXLSU$Un0>gt0O*@Q z-vS!z@^-0xgncA`)IJ*MpMk!MV>Hl4QHPlxyN59F0)5BFV1j9N_KCti;tf~@394Tl1JJX+9MX(7u%NreIMut zKtBZfk5aptNZN5C`3Q^3s4>(^B<ax!CVf=%h=rv1aL(9&v~-BOWM2Vdh-|P)j0D6Q;ln~xuh?%A9#`$x?APr#0P%nX zKz2ZmQu{5_Tz&@REaM>(9-iL`kNbdJK0*9Jcs%0!u|MM!2w_)hM*4GR3gqwO@yubf zcsw_GNLWe^8ru?*|1BkMW7$&<-r>UR9D>8{a5$WRR6tq?ARUljsl#nY4#^<{!pZ4j zK*4}QFuxfdM*t@12m};RM$i$02|7X@VdMu0UkS2~SWqc)qD=eXVjS@%Nk^PXGL(=^ zBqYQBgXB`*Q)!Nhgk-uS!;$Hz01>Dhpa?*bfTBtrmDqERDvqjva3XvGP#mCmLb8*i zHX&IDP-h6ay&MI^tAgL!?u<+1uLm$>BM981=!Q=<15$U*?M{Ehv(RC7E ziz|-Z4l65l>@^uRC4$Bc92Rslqul7wwEYf}jXDlE4mu7wuw%9W)DloDK&?w1-#d;7 zOC84mwE;Z&gd20zo>1!IAQ`FSETFbNN+cs?Cp*H(&vfA+>*%c+T_^cfES9O#Dw>ItY9 zA=Jk44(V~P8t&;y&0=VL;5l=dNjdhHt2LX-6j*K%Vd&;l~vZ4F-R-q)SQ8s ziBos_IsKghfU*Jg0n`^zPN_497=|+xP;QxF^f#`IovB7+9?tTB`uTXoVY>*+Np)se zNZ4YrSq#8P&I-gV^8W3Ube@l2RcB3tU(NZ3v%0eepf>>x0yG%VkWyzY6CWE-ei{BS z6Tb<;ZwhFr55EP$4{q=5WZ`!-@rM)qE(E{8_s*MXkAHwB z60gJuZ2U3Nb>!D<&AHrJY|$w)=}aMXN(r5*hTsWJUF+OH=&W&vP*-rp?K)0= z@DHbQB#Xrd;$pE@wdEwA>HO@xYw^JYg4p1el8XOED!%OB1{bi?_tZlt>Eb#6a6WQA zc1HdQXa(R2S5yqBq||Bl@tn^9m6i!)l^F_Mq>txf0r@%sE~}5{l3Z3F&t>-U&}vM< z*T-8nAt)`-6^5}~L9Sp|hztACT0l7Vtq1gBsVm%7jt5sHAgmLd?_>AhWMRb-W&}LHOG84yesWn~o2wW{!ZC4#vT|ip^Z3XlRpifI( z^@*xojR1XCR=Fc$u83Ub4_tg zbxm_&SNIm^BKrXy0Ccd_HN)gL8_=OLeupiMkS?GL8?JA(-t|7#NNBFB*tOE4fUN~n z_?}Q$O(-1sHwDhu#c+M-+Ds^Xl9&e%yry#!gUhRkAP?3(Rn}@ zN?oT-7H0unEMsxmVsV+UxB}>sj|HABDCGfXl=x?wFit74A-i8%%N^IR7K^(kiz|f1 zJtCs3M)RqmseicsCM+Jg9=rZ@{RQYcpc{a00=iY|dSbHp2hdMtEPghQO`oZTIicHf!iN~iH|T95)pQdtbk}m%cGq!ZFMI?D zH|99d{8j2Uz0i%l@b5CDrzR3{LN|88CqAUMCQ=u-c?y0~Cz}SIt0OKrmPbZ3U&jbdi7{q89i6FI}PmmS>gRQ|F z8E`Mg*5Y2mA0N=zOy5pLOFKNfBq_c}M8ZCmMH@BYyJ zk$Z!CBQPp3Ixzmg1OgMh(!JUJv3rYqs~az33 zyZ2aUenvBL_O*2uU>M}=fOQsRoF`}BTW29g%+eaF`xvI3SmZtqOjwZ{ua^urHY|&d zbd$u^u?#g}B2KukyKmT>XaRrK zebczRG@)yxxfs&@llyk}R_&V($;lnvCcAJzvHNFR-m3-HUB9^RX373d8#H`n{bh^% zzS)I&`9n(Fzq)_3<-NFWcrsE{_wVipg!X-4$``pG0uw`Md)#=9W|8|ZU}FD^_8t*i zmc`i*m^jQ?q-{<|w20g{vt;QNnhmlGvw?{RCi1w**_=In&vgLJZ)ta8mh5?iIUo|-(miN^p2$=L2(&vKRH!*47tK&tyGOkEW04B3YOai8Y zDI_tCygD5iJihU7-F`1t@x3|(m`X2REmm{il+i0MuOZ?EbH!p!u@*4+k!rZ}wyik-yHVi&P1Fc_{LFs*=T4NMoZoGQiGWrP?FXWvl8K4K23 zdtYGc7m2yRG{B3~LTZY6crlnbP<#`ZhQKs`u^3DoBI4k%uM%zyOp_9^ zz!oWv0H!HkoyIi7tJBhrujf=u7RQTteD>dWzk~077nm00?v~!PHqmv)^){-`kLWdx zNPIdlZM-#4iZg91ZL6?R%@Svejl{WK3(Tco*wTS%2TWUFsshtFy6)anOOL);{e>>) zi;IZ37l;di!9wX!EG`z80MikePR3vJWAtt7P|_#sb>c=G5XJT4hvG-#24K1Y(;b)|!1OE?H;J3YkHsy(^a5r8;Kf(W zaAStCQ`s)=By!yWOjeP&3z*)PT)!Z4{ZhnX7duYBmvY@F;ugF_{8rpA9ss5fFjyfu zCE_7VuDP$uwS2OV*GZAAu=~Fck)?tnp1dbZ1)2Uv=KR=r(wK`^fEoCzT(65a#GB$= zUM8Y- zvZUU?%mD`L)Bt84F!O=IZm_6qg{Rb)dbXl$VY<}M{CAcd*0f$zqxzD_OlhF>=Ib1W zNJC#%4SV|n-+KzBMk{cYjIr;>dPYlQUVmzwgjetUzo}-TG)bB)O_8Qb(z05bHx+YAI*VOSIxU@%egNiEU_Jxp^AhPt>6~;Pm~Ft|XTCI=7U#FU zYAaqTU6Za$H>8`=Env0-vlkc~fA#@$@J0NQewMJ)mq>S{UnK1IIBH>%yGl4lx+md8 z`3^97(Xrl$yg@l-N|0IE z{vVGyr{YCBE;3NUd=1Pu#`BWEI*RP~A9u?Ba)6B6|8IfW56l6w48Ls2OmOLycbIa<0a$H=i}MGpb<9j+@dhk^Ni6~~}?cZ=B6VCWCVN5XHSggqeFf!v1@miu8=DOqQKuz>w`>A5C zKOP1YZs!YM^xNd_a$oGRau2zu+)KtQ7UgUiH$Z2B`4O0Nz+i*A0L(>TF0G~~$hp<< zp}*Y67AX%TmU)>RaMN;$v^H0Xg#=^}9fhc_+glvj|4_xKo-cb8DL zj5$|>j6S<#j7wKTTqJ9hM~Fgeh55tau6Z0`b^GLxC~TA6Ki9ZiTi>$o+HgeMQ;hIi z0iLC{k8NjdzuW$#Y?PByDL*QJ3Zg=(a4Ld|q7tYER9C7y)sxDiCQ);#g;X)Mp4v|B zqV`dTsUy@e>IC&S&C?>@+uwq2MYo~b(SzuB>8bQ0`hB{XE~Qt|Yv?cVHk3V;vBmfx`@u9e5gZ^>ijaq@WiZP_DxWdP( z0nAODWnt(237Ff!{0z*Uweke4fr;`Yd9pl3o@$H4131htSO@H8;B?@^fr|t#8Ap#q zZvu%+4Ri7e^M{j&W_-P8nX!IPkjLkd3*};4;yQVeyjWf$zb}6vFO`?c%jFev5imFy z{0hu(z~BtvcVO-V^8gs!kN5+aN9*Jgxl~?Bu(8vumDkDZNyvH(%%8x<6KLW!Y*WB1 zlGwHQ92-YOgWP`EBL)?=$sKN7I~Ev4Ix`lvmialkS?vq6hvZ}r&*?TOdknUN4#RVE zjakQ<>KeYS?8yeXeMa;*>(Tm{e|5S2fc#NrQU6@CcD_n&lefPXujO6x9_(2%j$?ln z$v6c5ZTxyXqoMq@ypI%r1I&{m8OM~T-h>VZ_2mipYZ>FmhS*-2i5_s3T(9b|MI}b81X0P8vV{^wvivnPi$%_ zokjPiv+?Sl&%B>|w|TddZAN|Mf8^(Qo6&Y)oxr-hX=O|lT48WC@rs+BMf5Q5t`}{h zA}G?_xKNKGD~h5jnxf;yDXbe)2(R^-nf|8FE4j^ zN3+WftUpm?K$aY0$kDnS5nnI6AlK@>D)p5H#`uHfP_fd`7<(|<-+EDF@*-e^%AV8l zbAFx5Kw2m*$+Zw*L-9+ycYfLB@X=^%Jsoa7{YsbQ1nKeERw|v8&bHpbMgSY>wHbS& za_wf*qI6e!%su0esq{4dIUQJ5n5FbK0uH61Y+D}wn}o`0Vf=ETE}s8?v5!mXWM7dDvW)fxyOjYreLl(cDT|wL-P=<4-C>lze3Qt)=kul!<;Wnn&(RGb2wxxBB@* z3Ww(p8k9S{>^0&NQ}RqFQ}Vudzi+7{^M9y=4Kvk2%{0~VTD6r@T=DU?IUc-IZVs@O zyf$2Mug$8|THDrQEVtpNxGH;VzW(F}A~4$=TW>sV!d3y6h|Kro7NVT3z*hY~4`Hz3 z%6Lb#vfYNateBd>Vy<>d@w{}BoysmH9n%>FY$IUbz;ecVFB9{ZM9g0)Un}1z`+%(u zY)xQm0bBp2m=9Q@s8MFuQr&`r+`@v?(S5VcfBd%?ZT2=coQNpL6+F;ftej9z0$Ur{ zI>pLq;rCEm^(OY2+pAm{dA`1 zHP0|t?I{qP!?{be zn-o}g|Em0E%)A=MDEF}E&Ab}xYf+W^${$1y4{&S4Hp2~0vGPcH3~X~?Tj18X{m?;q zg>CW+^2o4VRPB@m$`_@dD!3(u#Hl2bZkd-_!e%Qa(b&ceN;7I+rP*(Reu!^lCM?+ z)Ic>z4OT}9pY!6_E0y`Sm z8o-Xh$s}o;JVAZ)2d8Ea9XcpCHK#Duv==-ynLQ}KzmIUbTGfVk`Ddt^Y6Z2TT1l;} zRspsru)ToI0=74>*}(Pzw(n}Sn)-%XU9F+kRBNf&lyZRW2kZb~^MJ)cYY4FU-n1+^ zz#0_F&B1nKXp4q5Q=8&mpxO-BT+&kvOie4x8Vb_#2KUcQ%^Qp}OKi}lf2ys>y{&=m z|6lhSKQ2m-Ry(L2UrQs@E^0Sye<~Ktn?)*?#30h&_o!J?qY~2JS8?WyyRz>AI~ezn zyS>E!?{1~qUmak*|CLCozNrrKdGIJ;hrQ~-Djw4>RfnquYN3h^7l)PtU<*CKj{F}k z{J$KQ_^awwC;VT3RVSMMIs&`ZE6tX*zgeBCPXE8oXF5}$ZRP9U)PYDF=L+Pz0Uk4i zU>_uwU0fa)s?{F#ks!6*QlFp&Ho>*e6#wox<%cp%uqjN!hyvy^#VH;SRB?%M#+)A0Jt|o# zrhW(Pq_Q~@m8=x|?=>bq`lnTEkAiCMQDCRMvb5x1vyQJC&?WV@?EUdRVQj z5m0Xs6S}G1Qh!o!13Mj9Y^^hZo%zy&UTo)%>wg=T)eNhDTCK<|vlTH7DaIOe zEsMRcx2Ro*<_|CImp>>k-Yx@AuKKpC&}~vm7m~r^Hm$s1kH_yXEnR#(3~2M zd)TlR0=o#<#ig34Noby?0J{WOyp=W?*wx;IE-iBV6?V$Y9cApg7+9rS3$w35`X61} z<@Fz6UMbUn7O0U~eJw}}) z1HD?BhI1Hfr=>5#u2w&9#=8vep9FHO9P4Q68G z(1p~YtJV$J^}ud;S%;ol_Dc>gDc~^y4aeyZ35Aa^g%@4B=sJ_E%~(DPdD`F?FTg`N zjmoAGv?2HnxLw&u-muB|{CN2{v=Q1^JkOzx)JAEewK3XTz< z8?U{sc{J>-p8?+c#@+&s0gg2`?_F9?o1)FagFf0+ZJIV+drzC8%>?#yV7CFg9oQX! z_vNv>R%x@fIoe!$f;NwIesG(86xd^UT!TIBJ#NhYBFG5&GSYbZMLA>b7wy~l>aa{( zfye)}<-qPK(y)&AlJ-c#b?%fsXhd#7-2&2i_1(NuTZ03wwn|$Kc+VgEWwEwaTLL|#z%%A3%Uc+Vi;Lr1ie#A()Q$CSC6Rg3RPPR<@Ag=@7lFXvVDTtj8F!u15xIoJX-dl?vzjlj@j6b|$}C2A0DI;I58bVcucaBfqHFj) zx(e*sB3%deN8{<&F==|BPQsBMqzCIEIu1wYfISa*Zzp@P)HX^lr$^|KB;;bTT?Y1w z(dL^mfqJ5zq$lesdaBK-r|IeRN?UKef?m0Y@8=`@ig?=Tpy$^`SaW%pL;!2T2}Z@wT8;-!0L~7a12`veF5ujN_w91hdaUw~uuM0idD1ZbV`&&Y0nc>|!^-DmqI!ii z&&&egR5I0c9G84YR3^n$A*EoO}Lc`HR@vvcT zjv0hn_Zf)45Ml%#4y&!>PnwvYo5H!S{w<#4(f0$V;k>*@oBW)Dh@r#t$*n$<_)ho@e9z?B0o!f1D-MR)yI{T{}!(gpo@;G)W!TK%D|xJ3U$ zf22PKE*iL4;1XW6xBA~Y-aq=UoI!tXi}a&_D^G+MWBhd_#^cBNIsW5LKPSEuYax!@ z8E?%~y&MmYuJhh&DTbfw=l@?X3BWJGRW{u;i8OXH7JbLUJlvVh!|fdzSzdZncKL<- zMc_L6;Yz0%+m6O~%q1hubI0W7)E(Y;K;FpQ;m7=9{o*>B4(p|Cf-T4vWlOSEvb|xe z?ON_y>G~LdWAPi;cX+|t3D+stkN6vlmt0p|f4a-z?Yt!zlpz}I1GP1ag_Tl_jtF*y#TKb+Uq{!!Ang-#cE=6u^;}nVIlsE;dJ~V z!&%}S{4vA%;zGPU;C=i-!;i(S_(O)Di+I`|f5`Al{2{~r;vw;{_!!R~H<5-*A4=C` zO|FSQ?pKUIz-WjFrF-U;QDat42D?;QTj-X-M<{?y(L+y}3%=BX3aPt?0wIjuGR zJe`@6X!GzV>9*h||6A>Vb{c_mlRs_7s14E=Z5UUz|(F@w^fa+)eP8 z=Cbj(ry1za@Ul{nq$>=C{-Dkl#ta2YyfeL;NfFH}!AlpY1=ue}w-? z|55&9{3rQO_MhTE&3~c)BLBty@B6Ru|Hyx%|7QPB{Xh5L?!VLjK|o?am4G?{o_YZd z0vZK031}P8KA>Yj=YXyO-2)Z|oDO6H8wYj>>>AiTuxDVOz?{H-fdc{;1?~$x5_mrF zV&JX7`+<*x=pZR5I4CqIJSZY4DyV!=T2Mw%g`i47Rf4JoRS#+t^k&e+pjkm51g#8O z6SOYq!=O)sJ`dU+v@>XL(1D=ug1!$r8uZW;^emVTW`en3A=ocCEI2keDL5rKEjS~% zMsVZc4#8c6y9f6S?h~97+%I@Q@Q7e<@H@fp22To}5L)wRQ4Cx$_7cx3zLdbg| zMu=yA$ik4tA@7H*3fUa8Gvu3);~{54&W4-|xg2sekOv|EgxW&sP$rZM6+*R8 zztDitpwN)eu+Va$6+>Hx=7kOq9T7SzbWG?wp%X(VhfWQh8#+I9Vd&z}U7`Cz4}~5M zJra5>^k(RT(5GQk7z$&<_%JmrEG#iBDJ(fG)e}}dtX5c^u=-&Q!y1Qm2&>~PqTu;XDT!%l}?3%e0^E9`c7gYdTD?ZVrKcMR_n{$}{#@ci&$ z;RWI2!ru<}hQAa3Zuq2dBYb}N!tll6f0U!kG3B^&Lb=Z6a?159H=x|Wa@)&&Tkb%) zL*))f)Q@Nr;prUFHKKb&&xo9eeh~vA21X2um=Uod;#kCw5$7T*&(u1WS7Wpkv$^EN3MwcBJzjGE0NbDZ$|zU z`FrI3$cIr>ln~{Jaz%+zeo+BYK~W)5VNtPB2~kN=DN#+M+IgZnMs<$r8r3JNZ&Ys7 zxTvX7v!mul&5K$PwKQsZR8dq()XJ!xQQt)Ek2)CjUDTer}yQTL<% zih2_DEb4hQ6)i@~(Q33FJtlfm^pxmn(eFjyi+&dUygXGNmCr9fuKdLElgm#nKfU~n z@(ao@D!-)s2j!QQUr~N%dC$@Ek7A^l(3o;Dkul|CVq@ZC8pO1W=@!#JCNJjAn87jm zF~edCV!Sc$#Jn3bDP~H{w3zo|X2vXzSsAk@=4PxdR*MadZ5-PsHaoU&Y;J7-*u2;` zV+Y6P#}11vhN}Lww7Z(s$A+B-U;J8U~M%;q9MRD)PEsa|qwpTPmBK~es}z-_%rcm0VRkDK?&s((h@vxBs5HDlh8e(UqV4bVZw-nQ3>9J83_v#79}i6 z_#k0f!s>*z3F{L+O4yjNIpJ`^l|()O4^e2Y0|c&ok_cs4kaB_|D6@;o&;wQ1^`sY6o7roNLpF?CAn^whbjo_VPYQ#r-C~Z^Pmb6dPwx#Vz+ne@H+QGCVX(!Xprd>?C zmiANH-L(5@kJFx}Q|Vl~l&+`yrw65nq=%&^rl+K*r&ma?oL)7(MS92dZs|SKd#CqF z&rctjJ|=x!y2q0~DSc}C^z@nOv(uNQuTS5dz9)Tu`l6g;4rr${aCH=Sb-_swa zKT3a|;mVLQ)C|9jz>MIG=#2P`B>bJq^o*Jr4Kf;MG|On2(IKOAM%RoU8ND+4XB1|P z&3HQlGTzOYo-s3Hc7~BLKVwrNMEb+)svvl4X1oX(gv0|gNQ11!KGL;=CKU}GzG0M@p%v$Nh= zh$|5>Kv7B%upO>@XZ8JjpXYjhx$pnszOL8n-fg+h@_=QAWr1azlD&jT+6F99zHuL7?HTYxu# zw}7{U3&6$TGH?aB8e9i%1Pj3};EUkDz*oW7!MDJ7!S})K;78!6U@^EG+zXb02f@Q& zHFyL(3O0c!z|-L8;1}T6;CJAU;4k2B;Gb6Wtrl4=wOV1d+G?HE2CL0hTdj6j?Xucq zwciRjWOdZ)xYa2ukd>2_vz4oryVVmbnbm-m!b)j<+}hsS!P?Q<+4`>aGi$N6#JcCS z(`ld6ey1U)p{JjmmYp6rtvIc;Ib-8#<89+(<8RYp(`(ajBezl5p0)M1^|AG{4X_p2 z_Sp8>%4`Si9PGU8F4+0nLF}&DJ+N!H>#%zQ*dMjGvA457WAA8x$Ns5(r+t^b^o+w9 zuQM0U_@05B={ci5qdlWLV{m{uU>qVHq8)G!5{F?2m4n7Xch>W4(AnU#A!pHN+s{hR z_MYuOJK$*P=;(OP(Z%t+;{!*Dqtvn2QRZ~Q>5S7^CnqNtr*eVJu*Drdi?a9=efXh zv1hC&)icGD?#c8tdw%x(>iNy{r&q97lvj)w&MVGq((A3)d#{gPU%Vr{6TFGuWN)hX zEAMaKKfHfkSa1PzA@Ks~0_8&T1=WR#3sV4o$|6l#1{eay0wx2d16~Jw3HTQ9GjM+3qQE7A%K}#fZV22IxF_&n;E}*% zftG>bz|(=YfgXY0fx&?hfsuhRf%w4qz~n%BATtmM^duAnwT9Y4?V%1(N2mwX3krv#pkYu9GzN-;#z7OHEND8k5LyYXf!0I$&?e{= z=s(aK(A&^|q4%LG=y%v3Fh`gN%p2wl^M@f|7+4f67Dj+2z=$w1ED6Sf0k8sCDU1iJ zg4M$sVM16l0J{mh1A7YVg~?!puwj@QW`a$?reU+NIoQjf6+tJ1ph1)%W)Kj>3CavA z45|#O4yp~R4{8h&1YHig8}u-!Bj`y`S5S9QZ%}`bKFApKBIsk#m!NM!KjHJ?E8wf) z>);mfP4M5~V0Z{T4c-86gI|XK4gUxJFZ?n5DIDm8cfq^iJ#aN#4>!Wc;WO~(@E7n` z@E^hRf>#G`4&EBPBY0Qvp5UXw$AeD=gMzJtZGvIJsloig75Ksghfj}e! zh(E%gdoF_SR@fiM*>VFfaD;vkVVK+BoA4MtU=Zx?;#DS1*qMqBdBAj zlPF7+J<1hz9_4}ZLR~=lqL8R?6c!bYBB0_?L=+jtMrEQ(QMITBlmOL?YC~N^-9+6% z{fl~lYDZ~NztDTp&S-D6FB*alM5EAA=vXuXoq#5xDQGI11E6!zTy!D249!DVp=;2W z&{xp+&`;2vXbHLp-H%qGwP-!sfF46ngw6{+5b70*3nhnALusLm(2UT6(4x?i(6Ufo zXk}<~=%vsrq5p*53cVA0FZ4mEG_)^N8#*336*?O_7y2snbLfAeKSFQP`ufCt=UR2EvqKnlN3MDQrA!Dr_d~ zQ`pz=CE;tsEy6d2ZwcQXzAyY>_>u5q;U~i_!~Mdk;Wgp+!k>h9hD*Yw;fiow_-ME> zd@Ot-d@B4^_?z$_5ep&~M=Xn29kDjTB4T62-iQMcARyvQgkywrgj|a;umHaW+i3~W<6#jW;13BW;bRp<|M`nV}r5BIANSI zZWwn=5C(yX#w23M7%GN_NyTJhaxh#>A*KXVhPj4OV!mRxV0UBpVGm*tV=b}v*t6Jk zSilwQj`hTPV|}ne*kEiF7LSd`60uY)4V#K(VGFPo*h*|QwhnsbkEBF0Bhw<&BRP?ok=c>uk=2oPk&Thfk*$%J zBL9lKAK4x$jZ{P`BQ=q_NJHcd5NVEl8TmT$UF3(T^--szkWq}NjHv9Wyr}#rUQ|OA zKS~(Y9Mu|iG3s{I{iyb+M^T+oT~X4g-l&nN(I|7&`>0P*U!%T9{fb@|y)t@D^t$K` z(VL8T~wZE*f|h{U-WX z%z~J;F7P>fZKO^jU(Jcbn`jCmX*jp>V##|*}d#7x9Y$2^aD z5%W6cZOqTug|SOwm&dM&T^G9{c2n%W*i*4~u@13Lu`aRaWBpnKk86*6689{wE3P|E9XAp;6Za@uK)g@lWEP#f#$=@#^@I_|f?B_{sR0_~-Fo5*8<{Nm!q-G2yp_ zZ3%l54kR2-IGS)g;bekO0wtj;;cmjCgr^DO1VEB7kf2S_C5$E*6UGuI65b?yO!$)U zEpcArg2cs%OA|LIZcRLpcp}j<(JIj<(LT{N(LK>C(I?SAF(5H9u_Ez)q9$=HaWZix z@pFAq#M4Auq6g8N7)*>HMiOI)cw#&; z86eV$Okx_5P0Sz)h+RZ8X*tP)w28EZw2icv^e5>!=_JXL1SVONTu2@yZ;~%5kOU(I zlR`*1QXGj+;*hdPxukqj5vht)OKKqTNll~{(i74Qc_sM>8AP@w+mh|cu4EswKRJ*b zL`IO2WHcF1P9&4bR5F7Mu*m6T4!M-fBMZrYk*|`klW&plk{^+ulEq{Rxrf|Geok3S z0Z{@dNJ=Orf`X;QQK%FeC6$s!VN)_FS(GwL6{VKaKxv}1P%cs~Q|?h7Qo1RFlwpdR zGC~=pOjDjyUQk|B-cddztxr0ggiK;2Wh7-MmeiFbO_C)IBn>4glO~g9l0GE;pw6Q%q%NT@r&>@qQMXXHQ+HDTpgK^o)EsIX z^&0gi^$zu4>SL;u+DDaB6;vfvO&y`?sRrsC^$qns^%M0Q^=I<@jl5R^sLwBS*)7|LqbWeH!J&YbnkD=q~ ziF7iZN>8C@)AQ(+bUwX_-b%kjze2xF|Cj!NE}}oCKcyQPiy4O*9t;Qr$^hUD1Ovk$ zFcKIfMiL{1L1%Cn#S9*!ic!npGnyE!jEjuBjQfl(hMb{bC>a`tjxouYVVD^&8E+Wx zQrD(hr6N*ksqECu)ST43)UwpN)W%d{YD?8$+Hoz`o*RfmJ z7ukQYud=VR@3Y(4kJwMyVm2UQPjXgpj&poCK^z1J#R=uaaEKfVhsvRG7#t=ii<86Q zacVgA96qOo)5f{Xxx#tC5pjArLmU-H%h7X;oLSBs=N0D-=RN0RhDC-=1}Y;pBQql> zgPT#1QIXM@A;@UTXvt{HxRh}x<3WZf<8g*KLz2;x(U+kEGG;U0W_-x_obg}AkIW^R z%QIJHuFbT_+?aVP6P}rxS)19M*_L@Z^GfFJOi|{e%qN-8GR2va%z@0&%<;^r%-PJB znXfb7Wq!z7n6)lzYu1jeU0Hjw_GcZ>I+X>^vd*&2vd;?6O3P}>dXm+X)t@zxrO47{ zO=itxJywr@5h8=4)I zjmSo3)3O`0pJtC`o3meLzsY`={Viuv&eEI}IjeKl!%Sp{)<)r6ua`-vooaedAfZX-D8*_il-I}{6_h|01 z+!MK{azVLPxz4%nxn8+GxdFM*TzD=bH#V1$OUq^FX6EMPa&rrFD|2gd>vJ1(g}KeS zk8`KH;S9UC2^CuDO?7Z$<5;y zaZ9;8ZVk7N+sGAguW@g3A91_6y<8c0kUPvB<(jw?+$ruX*POpJ|5!dGpO{b2XXXR> z?0jy1d45HHRenu=U4BFUU-{SaZ|2|0e~{k}-=~5-|~MJ z%r972u%uvF!Ttj8g2aNNf~tbrf`$Tq!KH#51-AokC7VjN zlx!>6QF6HCc*&^}aEWb+eaYDprxL#sR7p$;z9hbcSVAdDE@78smgJOhOA1R$O3F(3 zCBl;ClC~0E$!v+ag@m?=kNguZt(;_3>mpGw(g`6YneUTgAGH4HcUzHdkz|*imt~;%LS3 z3i}GD3YUuW72XxT6_AR+itq|dMPx-x#hr?$6`d7b71GMhm3u3XSDvZ_SDvl}>?$29 zJu1B`eJdfA&`NkEqB5`YcI8BsMU{OOtO`>VRTW!Bs7k0JR%KQdR+Uv%R8?2iR$Z+6 zr|L%4?W%vPI;x&jJ*(=f>aJ2%O;mlV-d4T0`egO#YP)KOYNu-VYOm@G)qd5G>VRrw zHL;pr&8!Bh+0|v$_0|09rs`Ip`cn0c>W=DX)m_!nYFYJQ^>DSSdbE17`fJUin${ZI!itvgz0Q|DOc zT<2EjQRi0|PzSAp*CFaKbt!e}bs2Tpb-8slb@g@px~96;x_5Qo>X+58u3uNbp?*vK z_WGUmf7BnWKVI)r?^7RAkE}=4ht?D7$@SEFT77Cgr#`Dbw?4nVu)emwzP_cEL*2W!;yBha2 z?r%KQc%;#_(Z3PfNNUV%tZZy)yxMrZ@mAxVMpdJ+alCP=afZK)e~53zx8|Sb+w#xz zJ^2^-e*6GFlpoDc=pJ2 z`-O6$UT74K3#Wv$LbLEo)54~8O}m@+H63g^(sZopWD}^#y2-Z5tI4OyuL;rwZGtz2 zG@+Zqnj)GAP03BgO>IpNn+BR@o98zJYnr{9{hQ&ADF#jfRCi))K}i&x8q7HUg#i@ZhE zGS>2{e%Ys>elMs>IJmI zS~0D-*0|QhR&p!7mDvika#}N63tM@u4ef{8kG9*iyS00?d$;?xL)xM3@b<{|n09=7 zd^@q7(w^K-Yj0?O+WtbcS+q-ZP;^oR5}gsbh&)6{5n2>2!ifl?co9Ry5&bz+UnCbPL`soHq!SrLCecgLchRqo1s#h!mUXP` zSktk-MjBfcTNE&f;hKr9j~#7eP7tP_uljpA|flz3J=Cw?h@-DS~r zw9C57wF}u5-NouE@4DFapi9!#-6ien?b3AVx(r=oU6WnYk~Na;lAV&>l6{hclEaeY z5_^fW#7zQtNW3Kh5|{)o36Y>Axe|fop5%$7QzDT_B`V33WL7dKc_n!(`5^f$`LBC< z_p0u--4@-Oy0>(1@7~${NB6OA+iqxgYveidQb|Mo|C#r-K6ePPeAG|^^t~1(b8}!RvInENeR+;X|hx( z{Y&~#Dv~~uK9N3?ilq{%RN5=;mySqvQoYn5osoX;S=+O-=TwhRkAF{KPf!n{2ia5D zQ`y7sY3gb1xzux|=W5S`9&t}^kE~~)XQ=0G&wssJdw2Fa^m_IB^!oJ%^x}GxdjWbc zvlr;i@2&2w>uu;2^j_(`*ZZ)yqxW&&{=VaVu6>?;VSTZE<$cwC&-%vtxA!0FKhpna z|A~H^e*6Bj{Z9Sx{@8w2e^vj@{yY8m`XBap^sD<#{WJaVWt(MtWcy?XWk+PkWX>`- znTO0<<}34;A!Ha?lq^<8kR`~7fQ%(emu1MZWo@!svb(bTvUZt7HY`)iv@*Tyx$K4P zmF%tTyL`EPm3*yyz5Iy$nEZs?QVy0o$erbGau2ze94n8O_A!o?}d9}P& z-XIsqo8|Z959J;5C-P@QJ|%xA|0w?~2mTvaHL!JH$H2~k-2=x5 zKm*nTwgYDe&JDN@oF51qNE&DxxG~T%@MNHKKr+xX&^MqS_&&INaMj@2!S#dN23-d| z2PuQh!KT5BgZ+aegT}$}!Kp#>;LE``gYOjc6pIxWir*C56u&F>DE2E3DUK+>igOAN zg}1_20Z{}ikbnZM2v=YfMT#~>heD$0QS>Y13cX@Z@k;Sl@j>xf@t@*m`ZDxw=;!eK;dR3s zhBpsy9o{j#Yk1G_{^5he=Z1ZT!-o@w*~8_-!r{M$uMPv(hi?w|537c?!}?*v@K@zl z{RY5 zFF@s^@>d0_U@D9%N)@ZZs}fbUs%BN2>ayyJ>ZwYuQmM2my~?PXRy|kEsa~nxsJ^Pc ztA45HtJkQ1SO1~jt3IGUto~DdLT#x&r*>7ltG(1dYJYX0I!GO?PEe<+Gu1h2uDVcN zqOMWbtNH3Cb*uWKx>Ie|tkD3+G}anh%^A&Ejl0HQ6Q~K&AT%gVsD_{+YABjyO{ykM z!`5VI$}|@>e`&62u4`^-?r1tR5>1b$Uo)T?(kM0Knkmh!W=``(^G)+pJ72p-yI#9N zyIH$edq8_gdsJ(!b0q8!nT=tc}9 zVHvW@>RD)w_3MOw?VgA_q*;7-5%Y3-9g<+ovrS?&PV633)BVa(7JFP zMi-@v(E%hKLzkoD>I!uwx-uP4cS(0gcTe|F*P(l&d#3Bt4eEw(A=X>0R{a^&a{VJyuWDr|Q%6Y<;FaN6*z) z=&SX0`bND_-=c5ROZ79OOGdYi+KsvcqtH?KXvipfG<+008a+xGO&+C>GDp)!*`pbw zS)=u%S4Ksndc#V?3BwtKqrutWX7Dh08BhkCA;Ca0BpK)irU5Xp4cUfLLz#hZ_}g&J zaMN(daL@42&|&B`$P9yqVT0N*Vi+|T4R4Lhjhl>zjn+m7qm$9a2%IkW%#tLJVvEF#uc-?r*c-MH}_}KW&*kzO&dyQJ-jPa*w zrD=_6y=kNAH`7+r0n=gApQaNgOB2|1&g5!xH+h+SOnxSmDa?d1MVVqvcvFgrVPcum zO&O*vQyE~YFjbrCOpPXi>8j};(>2o#Q-|q^snaAe^_cohv!;)xpJVgK7L6?(TQRm_ zY}445vF&3!$Nm_z9Sa_d9HWnwj#Z9b8@oUDY^;AwGd3|cJ@$OeJoaMj_1L@dh2z`D z_l+MO|8xBK_^ENb@qlsoc;a}@c)@tZ_}%e`tujAjxe@!fySUj<8V$;NL z6Wbxs9M z%O_7wMonf<{ylkT^1-BN^6});$>B-k(G|nQ@+h%tXyFW{PH-W;$jxGp}d9%zT{zzRfP0T{^pBcJ=JG*@Lr3W{=ID zoCVEV%_3$ov!vOi*_2tvENeD>He)t>Hg~r7`J(6c&m*4mp39zpH7_x*G_NtQH*Yp? zF>f>PFoVrOW~@2dj5EiX6U`(u!^}2knsdxtbAh?WEHF2l+sv2E*Uh)gcg*+956t~$ zRit^sY&O3%zcIfz|7ZST{x!E?Zqb~@-1fOcb0_93=d9*z<{amo=UnI9=RD_7b5V2T oIqDp3E_IGI2h26hU7Nc-_u&5kH1ifL_`kjB(EsiKmvim^9|A80jsO4v diff --git a/Musgravite/Controller/LaboratorySearchViewController.swift b/Musgravite/Controller/LaboratorySearchViewController.swift index 5e777a9..0b4ba25 100644 --- a/Musgravite/Controller/LaboratorySearchViewController.swift +++ b/Musgravite/Controller/LaboratorySearchViewController.swift @@ -66,33 +66,32 @@ extension UITableView { }) }) - self.backgroundView = emptyView self.separatorStyle = .none } - func restore() { - self.backgroundView = nil self.separatorStyle = .singleLine - } - } -class LaboratorySearchViewController: UIViewController, UICollectionViewDelegate, UICollectionViewDataSource, UITableViewDataSource, UITableViewDelegate { + +class LaboratorySearchViewController: UIViewController, UICollectionViewDelegate, UICollectionViewDataSource, UITableViewDataSource, UITableViewDelegate, UISearchBarDelegate { /* Elements on the interface */ @IBOutlet weak var bigImageOutlet: UIImageView! @IBOutlet weak var bigTitleOutlet: UILabel! @IBOutlet weak var descriptionOutlet: UITextView! @IBOutlet weak var floorsCollectionView: UICollectionView! @IBOutlet weak var labsTableView: UITableView! + @IBOutlet weak var searchBar: UISearchBar! /* Information for the interface */ var floorData:JSON? var labByFloorData:[JSON]? var labData:JSON? var superFiltered:[JSON]? + var searchFiltered:[JSON]? + var isSearching = false /* Selected floor variable - To show information in the table view */ var selectedFloor = -1 @@ -103,6 +102,8 @@ class LaboratorySearchViewController: UIViewController, UICollectionViewDelegate override func viewDidLoad() { super.viewDidLoad() + searchBar.delegate = self + searchBar.returnKeyType = UIReturnKeyType.done retrieveData() } @@ -113,6 +114,11 @@ class LaboratorySearchViewController: UIViewController, UICollectionViewDelegate labByFloorData = filterLabArray() } + override func touchesBegan(_ touches: Set, with event: UIEvent?) { + view.endEditing(true) + super.touchesBegan(touches, with: event) + } + /* Dont allow the ViewController to appear */ override func viewWillDisappear(_ animated: Bool) { if isMovingFromParent { @@ -150,25 +156,61 @@ class LaboratorySearchViewController: UIViewController, UICollectionViewDelegate } func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { - if (labByFloorData?.count)! == 0 { - tableView.setEmptyView(title: "Sin laboratorios", message: "Aún no has seleccionado un piso", messageImage: UIImage(named: "Nautilus")!) - }else{ - tableView.restore() + + if isSearching { + if (searchFiltered?.count)! == 0 { + tableView.setEmptyView(title: "Sin laboratorios", message: "No hay laboratorios con ese nombre", messageImage: UIImage(named: "Nautilus")!) + }else{ + tableView.restore() + } + return (searchFiltered?.count)! + } else { + if (labByFloorData?.count)! == 0 { + tableView.setEmptyView(title: "Sin laboratorios", message: "Aún no has seleccionado un piso", messageImage: UIImage(named: "Nautilus")!) + }else{ + tableView.restore() + } + return (labByFloorData?.count)! } - return (labByFloorData?.count)! } func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { - let cell = tableView.dequeueReusableCell(withIdentifier: "labCells", for: indexPath) as! LabTableViewCell - cell.title.text = labByFloorData![indexPath.item]["nombre"].stringValue - cell.location.text = labByFloorData![indexPath.item]["ubicacion"].stringValue - return cell + if isSearching { + let cell = tableView.dequeueReusableCell(withIdentifier: "labCells", for: indexPath) as! LabTableViewCell + cell.title.text = searchFiltered![indexPath.item]["nombre"].stringValue + cell.location.text = searchFiltered![indexPath.item]["ubicacion"].stringValue + + return cell + } else { + let cell = tableView.dequeueReusableCell(withIdentifier: "labCells", for: indexPath) as! LabTableViewCell + cell.title.text = labByFloorData![indexPath.item]["nombre"].stringValue + cell.location.text = labByFloorData![indexPath.item]["ubicacion"].stringValue + + return cell + } + } + + func searchBar(_ searchBar: UISearchBar, textDidChange searchText: String) { + if searchBar.text == nil || searchBar.text == "" { + isSearching = false + view.endEditing(true) + labsTableView.reloadData() + } else { + isSearching = true + searchFiltered = labData?.arrayValue.filter({$0["nombre"].stringValue.contains(searchText)}) + labsTableView.reloadData() + } } override func prepare(for segue: UIStoryboardSegue, sender: Any?) { let vc = segue.destination as! DetailViewController - let selectedLab = labByFloorData![(labsTableView.indexPathForSelectedRow?.row)!] + var selectedLab:JSON? + if isSearching { + selectedLab = searchFiltered![(labsTableView.indexPathForSelectedRow?.row)!] + } else { + selectedLab = labByFloorData![(labsTableView.indexPathForSelectedRow?.row)!] + } vc.labInformation = selectedLab } } diff --git a/Musgravite/View/Base.lproj/Main.storyboard b/Musgravite/View/Base.lproj/Main.storyboard index 79450dd..c5fb401 100644 --- a/Musgravite/View/Base.lproj/Main.storyboard +++ b/Musgravite/View/Base.lproj/Main.storyboard @@ -422,7 +422,7 @@ - + @@ -469,6 +469,10 @@ + + + + @@ -478,7 +482,9 @@ + + @@ -498,7 +504,8 @@ - + + @@ -514,11 +521,12 @@ + - + @@ -1118,7 +1126,7 @@ - + @@ -1165,7 +1173,7 @@ - +