From a9571955142a4e14c42aae6cbab98e7d697a2403 Mon Sep 17 00:00:00 2001 From: Bas de Jong Date: Mon, 29 Sep 2025 01:34:07 +0200 Subject: [PATCH] Rudimentary audio file processing. --- .idea/compiler.xml | 1 - .idea/misc.xml | 2 +- app/src/main/java/org/toop/Main.java | 87 +++--------------- .../main/resources/audio/hdchirp_88k_log.wav | Bin 0 -> 88246 bytes .../framework/audio/AudioFilesManager.java | 55 +++++++++++ .../org/toop/framework/audio/AudioPlayer.java | 7 ++ 6 files changed, 77 insertions(+), 75 deletions(-) create mode 100644 app/src/main/resources/audio/hdchirp_88k_log.wav create mode 100644 framework/src/main/java/org/toop/framework/audio/AudioFilesManager.java create mode 100644 framework/src/main/java/org/toop/framework/audio/AudioPlayer.java diff --git a/.idea/compiler.xml b/.idea/compiler.xml index d801bf4..dcffce8 100644 --- a/.idea/compiler.xml +++ b/.idea/compiler.xml @@ -7,7 +7,6 @@ - diff --git a/.idea/misc.xml b/.idea/misc.xml index 72be14a..64c32f6 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -13,7 +13,7 @@ - + \ No newline at end of file diff --git a/app/src/main/java/org/toop/Main.java b/app/src/main/java/org/toop/Main.java index 77f6e6c..a99a5d5 100644 --- a/app/src/main/java/org/toop/Main.java +++ b/app/src/main/java/org/toop/Main.java @@ -1,86 +1,27 @@ package org.toop; -import java.util.Arrays; import org.toop.app.gui.LocalServerSelector; -import org.toop.framework.eventbus.EventFlow; import org.toop.framework.networking.NetworkingClientManager; import org.toop.framework.networking.NetworkingInitializationException; -import org.toop.framework.networking.events.NetworkEvents; +import org.toop.framework.audio.AudioFilesManager; + +import javax.sound.sampled.*; +import java.io.File; +import java.io.IOException; public class Main { - static void main(String[] args) { + static void main(String[] args) throws IOException, UnsupportedAudioFileException, LineUnavailableException { + AudioFilesManager audioFiles = new AudioFilesManager("app/src/main/resources/audio/"); + String aFile = audioFiles.getAudioFile("hdchirp_88k_log.wav"); + AudioInputStream audioStream = AudioSystem.getAudioInputStream(new File(aFile)); + Clip clip = AudioSystem.getClip(); + clip.open(audioStream); + clip.start(); initSystems(); - - EventFlow a = - new EventFlow() - .addPostEvent(NetworkEvents.StartClient.class, "127.0.0.1", 7789) - .onResponse(Main::login) - // .onResponse(Main::sendCommand) - // .onResponse(Main::closeClient) - .asyncPostEvent(); - - new Thread( - () -> { - while (a.getResult() == null) { - try { - Thread.sleep(2000); - } catch (InterruptedException e) { - } - } - long clid = (Long) a.getResult().get("clientId"); - new EventFlow() - .addPostEvent( - new NetworkEvents.SendSubscribe(clid, "tic-tac-toe")) - .listen( - NetworkEvents.PlayerlistResponse.class, - response -> { - if (response.clientId() == clid) - System.out.println( - Arrays.toString(response.playerlist())); - }) - .listen( - NetworkEvents.ChallengeResponse.class, - response -> { - if (response.clientId() == clid) - System.out.println(response.challengeId()); - }) - .listen( - NetworkEvents.ChallengeCancelledResponse.class, - response -> { - if (response.clientId() == clid) - System.out.println(response.challengeId()); - }) - .listen( - NetworkEvents.GamelistResponse.class, - response -> { - if (response.clientId() == clid) - System.out.println( - Arrays.toString(response.gamelist())); - }) - .asyncPostEvent(); - }) - .start(); - - new Thread(() -> javax.swing.SwingUtilities.invokeLater(LocalServerSelector::new)).start(); - } - - private static void login(NetworkEvents.StartClientResponse event) { - new Thread( - () -> { - try { - Thread.sleep(1000); - new EventFlow() - .addPostEvent( - new NetworkEvents.SendCommand( - event.clientId(), "login bas")) - .asyncPostEvent(); - } catch (InterruptedException e) { - } - }) - .start(); + javax.swing.SwingUtilities.invokeLater(LocalServerSelector::new); } private static void initSystems() throws NetworkingInitializationException { new NetworkingClientManager(); } -} +} \ No newline at end of file diff --git a/app/src/main/resources/audio/hdchirp_88k_log.wav b/app/src/main/resources/audio/hdchirp_88k_log.wav new file mode 100644 index 0000000000000000000000000000000000000000..cf2a32f131c15831c8ce1ebc2410615e8b85ef9b GIT binary patch literal 88246 zcmWJrRdgH45;Ze3Gc(D|BnxaY%!D?~$%c8u=)eXyd126qCEK#h%*@Q}m>FYuI`cJf zYPxRSy4_vXctmtGk18%k2_r`xI(gnqO-xKoTy#AWJyT1R5R(v76Fac?{N5*`doj_S zteBFRmYA`at(ccsxEM}szt}~wCt}~k(!?6Xro`mM?ZjimkBL7MPZDnv7ng99AWPhp zNRk+o(3Xsm{6|tKIVEW)bwKL7RG*Z&^nPiE^prGA<{z0d877{e9%cRRkSA^TD8^fLIA?KOq zdDKfERsp-_?c~$#^V~PsZ^rMdKPF&1fFHO!NGUiY_(+IWXnyF4Fx~LH@S_pxk!g{; zqa>oC=ot8K_@fwWL;+$aatZkiWq}r=;jt~T2jXVpE@QSZcd=5qdpI%tRs0lCG1wNde?{nHTt>AmUo z-qYD5%Pq>a%sI*_+ricTldYu9L8}4_1M`!nna0vaD1)bZK#+|5j91 zaFvUbIWF};;;UH7R@Fw|`ogNrir$jLLcmT9e#J-a0I9C{-tO zU*1n?O67}stk$Z|H~k2sev>Qa3RZ7ybnO3i6mvP`R^XulBl|q_OATlW>JRA+tBGJo zU50xix{znli?RDL*;om@I{`(E6Y)chQcXEW6$dT=^?()_B;r8?XbScNj{zOv33ZTS zL5U{gNMS@hLNo3PRtj@5wicy^^p8PD!y}!-|AYvGz<>$gqux!P&h8gnxQ4^Zv)ey5@M}`bsq-gi>?TKl^MT<`Kqc`Vw>+Qif`2$)Xrc z(1IWV6h~KP%raJ)R_t?}VeVDFN1~!YT49p|T)($*eqlEv+$*W}8SUa66_H1vuMPngPBzO+$vIOkmACgtVe z74{kBusV>myNUN?b5@6Ze)NNrIFAqQp{FfFFQ77zUz1Td)Zr06(ZjlvMI{ zk|yy6J`-CLmx4Zrl#96-l@;C-(ixcQcg9=E^NH(}Bh2oQ)ors!M*rv?)CyKpR%(=e zEs5P${8PI8a6We0Xnc9Nr@y(ow|%P_)^NXOw&Gf;ba|fW)cg*(c$SQV3RVFDXEqjrrGek{}t+#W>nm+ zIo@!gd!Iq4Nr>e$+dRi+*9y;1J~086 z!4~1DsE8Oj)ce>uj2eE4@QEZtaiRNtve(d89caNLRo?EJ0hl%}9dQ*X{_EWptVB1v2dcvOV z66VS9=?drw`4nLa{|mVzRvCL9|BOf?S5l^^>41w!A2q?-z}%=U!n&jd{&8*q`v7x-UI%GInY2Qh3$zZ|F;bYn*wfrM39kerDe)OMbFvG< zN~No$>it{3cY5@Xj$};I=D)2%TYRZx1)kb}I){z)EPmNaIJ$uf z#iigZiB9A?iXzYrM1X-{1u#MVMwukl5Ky@NaYm?1@M{qcA@Tk{U>Dt#98Xw(GX1Il zNRyzfB%3LAcwKL?b&50kxnIz^(tN7Uyi%uxnBSjOlqN3xn)sck#2I2bF@_;cD3#Vg z+YcS1k22a={#?ZbxL`bGHiM9>T4Ypyp+=)=qJ6#Bd*t1u=EBdlAh9-?6UsB1RD&;O z={8@TVm!D$C4uo_OHo^hZ?VnT4}?)tHbn=R1yG7Qb>v3q)YzVE&D0!SO%!*EnNKQ)lA9tHI z%)rtkpga**c0yO_7EByln&+1|maLji%l=g$QpMHTd-}-Iy$!l#i9(Bd zh295Kn9Vz<1dl7eqe1iGFX36J6PS)RgucjQ&XL~J^) zn~0$(h!hb8)&Q@l|09nR9$+t_3*i^S-v|15?{&4bdv2Df_epKPoVHlW%EOssqqlo| zT3^<&%l!-EvKLZ)1Qz@}wjR@+t^x^Y<`9)mX6kTW@rwjM(kya(ikd4X>rb}B`;U(0 z&iStAN`xzNG$#xvEk8PrdgS?Og*HbmA&+9L2&QBlH3dL`^5C*allBltuv~O5+$MZF zzz#Ox>}+FXlCSNqd`qg}kMhEWakYWDcBh8simk%bY}GU!K`U=JJBiT+^@$Yq7G%iy zm(|LhNX$z?XWcHqmNVhiDYS~~abcow|r7^woZqZow zW@=s1-@Gwa6eC{5+}|__x*~I%-O7KMES(Xa=Tw?hlh+c`Yw+7=?w|D*No!@iPPl20 zt%_TwPfai^svDVtNg|Yxe^WI?bJ970Nf{>w;OJ<7xI~zS{|yg{L#la--bvLJ=~Ek1 z^DoEF_HkQx)V?k~k@qK^ko9dLKU=L+6H9A4B%iA;)M2@wfQdPuJxJinFAV= z&=R<bwTK5)=^`hTMyJO{gIMp_+j(&=+u`=n^HdYe>bYnBWrck1l=I z2}ahMyXCKJzh0`Ih#1gp-%$rE%gU3cw0S zlk;zO-?00iX{~mK;tg@X74<2b!4K{6b^2v{^RB1g7Chj6V%5?eAtCKFL}46Z|Hp4j z*2|122&-6WKy+!31kV0%T}k@1>KFY>maR@-VBDawNMF=lY#OnY0s*mL1~5gLCKh3D zp**5ygPLHgPB$#?>AR}_kdj)zGGjaJ*_l^AS2mQFmVRHbpLdY;fvy1M&{Cm!#u1KU zVs*-gY)bJ&wRfv-|FH@A%y16RJe32JB6cHJF(-&j%6HM9SU?8lE>RtO z4w)OF9C+E&+`-W-Q+q{0UQBNZGv3h=mL_R%$cnlj(UqWR{ zeRfN6PR)TfXaJl7Rxe6EQrWNHZCT~4=yNV)I66G`41O1Rnd$*5g14z3NV{?UD4(b+ zK_y-#QRa`Df1WCR4|g>ncq`U+H|7#>$v;! zj5wrhr4O@WyHI>p!dNl#7*!%f$r5Eb0>~w&;=^MvMxPA^V0gzTX0F;7zG=CnqB zcl=eyE?Le#l46+<$sV99iui3tmt&ph5t1KgE*D;`?rL2h_&WV&{in=34VVeq9`e)< zIvMp49frS6_5fnQEZ`-jj_@R|1>O`w_rB)zkNKc>zdUdA{@j;g_l^s-AB!8aqJ?_= zBP4M2`c5Lx~Me;YCevvYiG z3fKH5)3W9;)!paXytCp{o@JU*B9}c!-xB5fYq};Ili-kgC)cTbsgd3*Ia#rqF8xGf z!=&0F8}=r|Fvb@1iWo@M0#!f<>KWp)2o3L$2$-ishzV0YN$T55#&~4UordI6t(+F2 zE#H|XNzb5xP(LG_dr)AXd8p`j&E<~Pk-UXzF@2R)gDBff55pkm=**I-03qKdQpGpJ?HHG7o{{fJo3Q$M-f&GqH4z2e->8ND7q<&tib@|lT zqpnkRM~l-l-wR;eRE8f^PCG%@W2Yy$q@nY>D}S}_7)qTxx^1rf)L@5gnCEIxFuW`7 z7x5g`4Qv1aN)vt;+8{E}f6L{k#YOEB*^xE7$^M>w4ND~hS%;F7xho7bR7BfPH)9Vc zJWrd+udW(xTNwVf@JalIs->~C!!Yb>=q*GpR*@Vg%5yuQm2?`bju;E^fH~P)868t0 zi22Q*AKK9xTKRXLYic?_kkuoKeG#O+x!(asyKP-^uZ(wWDIJybbp^vs?IyA=8h zv5Ji%9~SvMLX9F_$0WkFgGW40*sSRFDEzbGF%9&g8~2rtW?3Z1a$hrap;4MF<0xk? z=|X09@q_w%J%3H+tw+em>-t&Gx$g<`fqP?YNPSc!2mo5-=h&&3eIYJh|Fiw0&rwv` zyg7ZS&%9B-^i0+_K@-QHF;7#0o-%fE_a-0B_9?s9wB8>wJHN$MRx;w)yLpF&y+#h> zBquG=QFH~Lc> zT}p$qU;;9yiC#;iKu4J~yn+;V-rlO0?d_wD%NjB^+TShp-5rDeftO&4Nf=RnGpRR- z1F>>ZuKslADpM)-Z1KbM=Ld<+r^{@!YXw}+D!qw@gHAHl_?oG{`QFt@9Wi51R%PVi zx*gVdPk6{4L@chETm=|_B5}u4P@FI&?;1P6Ku_`ZAH_-MZc6Q9!NIh3{u1+^h!>f3 zkaJV8kaeo;eY4^au%IAG(?~Q=cf|y%!`YZN(oxZ>fkaIs#G_>*&iXhwyfd^_qHO$} zyx)DXcBsHJEuEjv+%G~&nIXY_l6*XeQZe0HI&y4zhm4_)leM?Y(tO!AST38oqbEFR~T^Qcm0+pp@ttaKNqv-;gwn*{L zCaGsllzwea8_HNTk|t_*SUGrBgkX_-@o5xW@B^Su=3;(C2L^OGFPccGKHIXI#`k=! zeOz!mb(AN?RECToH>L-FDpj`-TW8yAIP+`UUCq(EnZN%R#CQFtv+tma_1&h+{1cC|0&7VdSyR>(xWB{dq91P&8Fp{K&~ zyxv&<(RwSXI4|4pQg2X5OvUmJGHPiI=r`+7QfF3w`Fh*SF_}L+r4HjkXU9P6m>syk zDfZw|z?YO28y4Z{ysH`}N(zT@14!{)Y1 zs9CTZ5G;W##79t3U=cN&a0I0n8tie{!b3fF`_vSo>v>gIPM(0xo)yjC_6$v4L@HR= zS06G^x6mt{toz=s(`O*k1`|MT2igEXvKgi+GSBCz-D%z1($s~-{)qbY0#?d9Zl}om zVEO^hV)C23>KcXK@3Wl}t6Bjz)36f}ws9O18(0V4lD}YfMTPiQ+p%=xrCk@m{<1p9 z0^<}@?kiFJ-qLNjPASm^OLd?6pDb)k!}N~Y5BmOzvck@hb;0w1GD$tQDXiY}ljX4b zvF)Wvbf;@&Ty|*E4b~1w4tmHGCPZfDmwjxr8vnczr0Q#4?(QEtf!axQ1KdC?B?0>` z`mA50{XxAkY5RrcKK(j$zPE4($CRE!gEPMI?xfu=R&KsBBDvPB=w;&X>KS|Pa@E73yzIBoLnnHJuB)ypSfMLtulb&Akt!2+|r#~Jl@6DdN zqe5NKY~o*lE?7!_gQ<&L^8R7-O6!gIooU~$$Ca?`fkZ8q4HONXXWdFt&G}!|weIN| zV@U@cZ@a&J4Wi#-4^sTWdFn^PS>!;_b(cjWJ%ys>jzPbM#DX;;#Id92({3}6{HpY4 zrQ@v@<9jx<)kv1HUhU!NI1};z2L5G22)O6`)A}*)0Lv|)N|b1q8QmR zGI%EG?IlsIU&drM->B`hyy9gX@h*-^mIhA&|05Qn@F6{}mL@9-kt^$i(hVU6$Ap%g zZm5H1!~B@glXR_Cs1EeU~kjNOcHNAynI0tF2ssnYl|xVnG5{k9HS^7hQ7E}O~& zSrZ8eW-qM`a^SoYekou!Oby*%y{^=5%5awt3yA$mY6E@(G9*7VJ7mrExA86o^s;c^ zMO|K=da@<^C}akqSs6)NIX7!A_en0=%Z(XExsZYpsB6Rvz%sB*V#HnuTXkPE-KAu{ z8Z*>b&(G&2Ut-^dG$1F|r=*pf&oxDTcNSaZ(v9q0VIfLr84?dD29Tr+=!}qT*Er)n z@{5bQ{k1jnx&I{@vlO6rP&(UF_@F?#v1M3d{iaH=g`d~G2pmS5;s@qYxp-`hhrg12 zkv3JlZIaU7S{j+YhnFov^bmu?x6TZxux3X{PN%@@kvx)@HcrTEfz2s z4Z)C>i7Mf1UPHpVfm~ivJ9C((NDty#q#2gt+OwwIC9mrJ<&+on31v^}1daoJghz-! zA_NPx;M+}OwC2IWH^O-KE{F_WWnULo7QSh&AERuKX~FFy0vZrT#D_pWP(tiQehF-G zc&@W77CX__Qd(r6(#}37s+#U#?-Q04rZk(4H*Uvki#vz~UPZno3V|1ZIWY$z9#Cp$ zr4_gJ@;9vMQ~^4f#!`kVphix0szzyMJ9`?E+F@|hr7z@c>_M^{_?{}jjYrMFGA&Lk z6IL?&7pfhz4<#I92x!L{#}j6jU#%1@esFgyJ})-YnVC{%(3uYQ!MIH7hhAZju}gs#E{Qc0_1<+M1%}yXOPC zbIU)aH*(GB(=ATU4o^ zna8_LucuWpy##0Tzc+sQt-bwOyTTzNs1KD$(gn+@UAUYmFIbFuu;R7Fb3O4Dav7^! zbNT}9F6&Y9?n3RBYZD$4rFvz~ogrj0dlyc`FeJGXPs)h{#YJh;f`0@hxkL2-Lq^h}4$im{yM=g3>Q zYN{ltObS6#{EyposJgAH^ea_;&RFKIK*rEzHalgu#J+QGP9R@l_8FEDJ%isb>J!ii zt#Emt0~UbdorOnTGG)h8``JEFBgEw*Gb$<<`cSK`YV$Vh{=LXMBn$8u^$NBt{E=I! zfth6JM03-H{98#fOaZN!A)Qp6r_pp_e4m7kfvVf{a02!(swH@Zl#2Z7PqD$Ny00Ym z-mEZ7Z{%Eso%7C7YPO`Q=eeqVX-c&x})38qj&1#bMOhh z^g3EBOH$}k{H?ub)<=HC%-uU4&LgA%9)Kg>JWAfv)7W3SYjUVrynvCkA&QkEvpmVG zz_}%0iX)wD{LJ%zQTOox@EUL-{D|)KvNyGr{Wwi+)hpa7z%r9*wTweaMft_e)020l z6OEakWl@RvQ=+b93w|qV)N|4}QCfDYtXYtcN=jp-&~7lx1oedn+LmUr<+{!8d8@|Q z5r;*cNhO>~grVEt`YmD(ztQz;*-ZX<`XAaZwtMQUGMAn`%NSKH+ui^@^ldTfGm90j5cE%pnK5BHu3iRNdau05MJd4OjOF7;c_g4G0KEa0yt2iIa@x z)Zfj9`HaL^Mlmgd^|$a;$#|#V;ss@z^|1d_6pD-hy(zJ=q@bsEuhmd1i9N|>DydfN zQCb20Wx}uAipJ9uLa8stZeG8l?-ELZ8LA>KGu+g*Sogu!f#F>>@Jt5x4fG8v=ibib z*VGJ4Z{zh6TtgyG;S59_S_wjGRI^8qAyXn??0bD~wkzM1?gKsMyiLbcc@O@*v8eB}nRxM>W{x9OS#uJ)rv>TKb);SA)wNA9aqpoC=r0ZBr8f z1;T$(r#&nUKa0V|8L}dH-z5YX7QkWRb^TVdz!XL|CFdvFxDD0*P(dUx;$VSy;rmr@+K9k>fn(e^556we|`Bu5vO(D~JF4sUR_6oUVlyfFpeoTRI@A4^Uht;gKvwzr6lIoxR?8Giu`EB?|KEnT9?pF- zYLTEL+Uc6dh6I#YPRjXBAsb(3TkuXoZuA`qYWdl%0rT=I_w4LKYB2-Ud%!Q;c9@3K zyt?7CS7&vhMbZ#m6{_Rh%PgvUGQLOVgZURf6Eun91nweUh%R?0=-uB?>W?qmBizf( zpp~!`(n6}v5BrM`8Wq9LA>>6kHj)$&PB3eu{bFy2PFLF7m2q-qj%HCh+E-rsG`WS* zNNZsGXMC=09Ye{OT0HUBkDaD00Q30I5jUJGH9VK!bz~OECnD%qATCckSFt5%Zd%#b z9t_>Uo)+m?Fy>oOp|!dKb?Qz-Ox83<0t#UKCBT(f^rHVP=sI{r!%ayDFp#_#AqxvN z$0*|djlWEeWd;i#NwEtpna)w=`5u=Hb;>c0%g)E zNt;Ev-Ky(bI#1o#q7_8e?8w@PBVI8E$2aTy&X=wUjxyG1Q=IrLSmU$lG)0c>^$;fZ zFi=kIjY|x)wyKf+HJ(!2mQH17)4nqQOF>jV9)2wWnl}65(M6Pb;0OL)_$|je)wA=r zTNZN=yeO!M{xykTJlB)UGrGhI*h&s6u_qK}DD zbUM_)FU|kAg9-RsXlw zCZeBg1D+(Di`aDhsrqzIrJ0y5$(^KiFs=!YRp5tVk~wDI{r|*%r|t!;u?s;BR=IZ64|cipLYt^kfkZ83pcL zDQkH^)AeQ?t2^dRY#fQW}eSAoXCi%h)Sf1M4HfZ?P``6mVfJ-i}lOwm9d_hRcQt{Zhx3-b84ATHfT@UHaZfV%i$Q*HnC*g~o! zV1?-jcxsN3RU5)64=gkvYcupZrj`c0AsFweSv=yiV>64b6O*+FnDRL@T8^lt)mAXz(|&Ia1%LM!9%OrVgJ5 zF}rE!xEFH2wEtLrt9Kgq2&F~63OvKa2W*<|5lik9D=tm=1Xa=9lKm?5N3CU%HZMcJ z;q5>#av0p()k?i@_Hlz)#t~LNjmGiHachfSxvrb!Ws6#)+yS0r_6NK*P2KM6bttk) zI1G6(&_cPYOJjBNqjss`lLREVMHEIpcFa(Um;`IOQ`#A3kP82wg0b$x&ELk({)2H; zz?J$Gr3p*Wg{}0o=4VH9(rEK6c;DkD}N|BN|&JTO_D9s9Zr+}V0|mJ6YmRt zCjE*!=7dn*H>q87Jmm=^77|a`Q^fCc5r1HQI7kP#092EeW7w{vYJD@?bw|<;F}G-R zo^OF>&p%tnrY{4eu^GT_N;m@P&ewQ8x4QwKUdS6DYJbmA>T*)WnYPet{&wNF zzUSi67MS2VoH3|IhDE12=_xZOq^kD_*XewSlX#|7Y&b?H*`_M2kq`^wh=TAQ+lR7N zBlt3pq$W}H){^6^f+w1kemX@)+mN-u+qh3bHs)Gln?2VH9`mMXoy_v|+l{9djJ3Nw z_n>xDWq_bqhW9DGvgKnf-I?vILK=>HDeqC&>&+DtslZ>@S>OX%3;wV3H|64q{HlfI zbovY=Oxj;wHu^zc&Eb9IX_5!%g?}BaV^JhV>b+lZoHszTV74(&banmI9<|4A z{~@|5VZig)%ijBSyBAj*pQK-68bh1>pTz@%(K30qdm_|GKA;M|ENGvZ$5vF=m)z?d z0S(Rx$*t?m*_1Sk4_d^*Kur=h;+gGl>Aiyn#c%jhP#g1h#=YjQ<=6VxeOKdnfEa}Y zmvCNCG#KNQ?@D4rREAAzPaS>kgVqJF^XNZRTdFp)-;Jn-oieO`mQ1Bzr!OVvR2xh? zs?*&e>mr1g!lbZmcM3n`up)p=ATI;habth6b zMW@?t2ofs0Crnf|+!7J$)GaCjz2TXpxo`Gj?UJy9Zcf)p=2zKH-Ba7){uOze%A!W0 z;yga6yG-A#ewz%Z|Dt~ps@1B_-q&3BJcd>Q<|u&(m}{@{{_)_7qe<_fZw$}0-wmG@ zb@f_&CgO5|pJdhO{~T_}sSP(4|Ku;zuq^2;Vq5dNwMk*%FfItZL3|WOusS7<={cVl zFTzipi_gE*naMmo8nRZPdvm;alH zgf1{&W%RVvtmPOF1^VJ+z#>9=$X@fGn^7IxS^u&YX_Nf!67^B6VwQ7G%pzrodI-gE zZ&N)taiBseX)lCk5;Ia-n${MLJ%g^`QQ$s8XRxZ7^v3r#R%S2L5pqaWFJB$Iq4LwM z0hvYBr-~ycozaT5Bj-z=^ZRMCY`YxuE=jRb%lGMJ;}+|Co|VKTEF_ zo~v7#r|BN^ZNn&lSkme6M^-PyZggRD6xoBcRQ_L&*YT!UIFe@_@4=Viy%nU5`<4#>lS> zUMl=s^!5X{MD(^w{;o3xafa$a{SkBCDPGQMFuy>OE2Nq5%8QDJiHeghWMn0^ka7(E z!GSEZ+$WK*$|hcS)SRBD=*|1Z;iAAW!i}ItBc+v&21d$d`ZnDrO|ALU zTCC}*5CqW{T*Ex~3D&lnk*{(~@`gfL@3PCfq9k_Oo`}+>I0JapmaB%+pW*nTe33s* z+{7Z!5sFf@TRbWhm?E!7ezU=gmv-i4)iDo2W&&aLjybw+f*&3i1J2>U22u@8m%8dq zgyT>%<55O!oBP(7rD=pC`9Gilz2$DBk};Z69K%bd#dG%;X^-4gqPfkY4goL8ixG2H zZriWh*D_Wa-H@Viy6)ssw;?QO2O${zAJ)V7x^~kvuJTf%G^ESU&-LqjEJJt9jk!!6 zr?|i=_WhEA?v`u^77mgWj907ASLrSK`{83jK5ohHj;>%fttueN8cJqq=HBR?l}0*# zj=4x3psYvt+c``2cNt}uF>gZsf-|)$iz5bEfuV#Ta6k5;4_Yg7Dyy8F&`fjZ1Qaw6 zrYgL5eTmu&oFStk?ptbYI=9ZG$upSr!BlSZ$v=t~;o%bGmp~Z$m0PAFXQ;5?FsF_d znvh$5b1F|u$F~6s2kH2I0X=#@=gg`@k_;emwrrk9zmFWx`3lkuXeBE~Vyu{(=UNxj z{?Lo*d(ytOlx)OXK8~P~eSrd`q|0TwxPGy`8I~pVB&nqO+q|;D^*|B<29{zJyrn7a+9-!zhZ{_Ox+;aieQOG`dux@&}$mCJzW72nE0~PBUD!;S;QSMdN9!Md%v~F;@ z&g5I@C(?gF5vt#XC70f}odaY21AR=+uGe2xFnb@SLEa0rA$L1B%8d7X%6`SHgNB4P zjW5?vSR9DxCQnnH5ZMkHk}I7jGwF=u^gpRmt>~>u>*=UoiaGUH^t8?H?WxumY47P5 z7=JR(bRs0LIOrf|s5NBsh#vF2wc!Q_;akX&tZ{ZI_`#Vy5{uwsS-Xnmll$sT*;rkpf3|-OxyrY#Y(w9SD5O* zkn6*G1;K@c#;5DU7TS?9lqb~x;N!N^V#aO9(=O1n8Dd#6-I>y2&RfX4z%$Zhh>mgK zVr_MP;sA}#;THY*t*UX@CmM$aKVsdzAE})lJzXfyk%BUkZq@Ew4lw-`MkN~pSVXA9 zUI~egXX$11qYPZ;zg^zarB2((r@&s)ju0)Q$@!aA?Fl6!wMrjuu8d?78V5t z<2t?b)YL|k3Qn>EAphjk4F}erTN+38QyM4>ktj=zb)$w&fiv`r?OWJ6%2!YGDZ@p8 zL=4e0TIuzGS8fG!9zv%QTP?*V?D}Gi00Z*P&_yGg1>-7oLMn~T^Dl>HzUV6i%aGmz zsYsfmzGQFvMA{*`2{SD_qwk4=x`!~%4>ZIZ`3|ZVjZPHoWuu_tWL9I)#xLup=%>_4 zGCJJZG+^mRwMt?>4aR$0rawc_7Z27WJpeGsGKVhl2W=gxa`Zyx`CRJYQ{`f>eIhJK zSeDm5Wt+jMTo%)i?vSS2{z>A6;}DVqd?)q<{?c`x>Mil+4$vMXk?K-cQ!QkoWT@9E z4G$YX%%B|YfnQ2{ympAju!iAz7At!9zs&ApuNADm=;l3!(|jns08C>?;wsfkEPC zpueumS92saqu&+^n^SW(WOdJqGdJyzU zH)!%?u{p;Jk`mfCdvBk!H$;8|ju4>$E$uI3ltN?n3n({bs`ZEj*=Zg12hbr5`d(6B zAAXeA&h(=Dr)PBXWVGFoaiO3S&HiB`w9cjc$M|7PfF>d*Dy8`ycf66ZBnMW z6PE5oUu2Huu}A*WDDnG3XaeSu=N#6zZ#7E_?V&TA{Usw)JpJP#zT{*oJQ{AfuyVhq zAR(Ey%D1W}E!Uf4qK;F)ka3}v29wjerI{Q9s5BYbJhS~j2M5#;5JMR9{i7x~d?Odm zOrRTPPWF6JsPO!OjRFtHwYv67-|SFJtAJ`*j)iLDo;nIaD3To@fNNX-xAv_zC^3ar z$G514mXBFXM{%iEH(DH(8%cpVswVcBT^NvO+C%%HvIk5+wN{%GM7T|@08X$Jf2W{)2(EN68?AJc@L zKV?(hlQC#;JPzwND{b6yFZC^So;_F8HhD_FHsmuolDZ=@%M@HttytiW(#IlkX|%FLvwFFWN!wLK z5pa}n!S}gp?LcII7t1tNT1+3iK()Dr`ZuxQFlN_W^N!(-DwiXX5UP-NP4Cr>WKa~$gl7NA!gwZ)v9 zaDp0|DnGAk{|d}%0Dcg_5J&u4)$R=*%(h^dFpcxjqj_5Mfr%s`)hEi96Mi1hB>MPesrnBPvNGsGW>J2@ z*g0M65EglZk{^D=sCfEmF^*jid8e0m+bA+%`|#7iP9(!NZ{4ldH6c@^74XIv+slsf zu_2%{_PG0qbZ6U`&;Yv64X+qlJZvEYj{=Sng?`Fvfdi&lALtuQUIBa}LO(H-Ouh@omDoFrAGG8C+Y!y(Msl_3ngVq91uF3dZcqr&eN+BCk3V;du-pY zXVm2JOK2wqX3c66mt6#Lv7levH)myWkEWKSEE*-DzgB$%ZO=j3fWNVSdAyNPYA+JX zLz2AzRZ6T>TJ^wkXk8p`%3h*pF%t{SC&vsfgq4ch=2_HQ)no!{f4yYg>MD zJ1w5?S?jjp=a7Mp0lO8;vfu_5+6$jbnd})TH{)0TnA(GY3=)ERJ)C6ldmNoF&dg!F&s!fmuRk1S zOkE_21)f%yADGTqf|%^w(o+kcEZk#qfc868ZgJDe$xswUFt*F# z#KwA!JAay1Ap|;3$oIfv2xozB(HdsYW~s%GSYPO;v-^gBXj4P*loqmVaFeF`kVTe1 z-JdO0T0M`paEvJdZ1HD2BV`D!^@41gYU0O+88HdhHjFE1i0ZWYwNhF!&AAWlPIu^A zQVj{HCK*z1h3(O!{1(eqW^6OjMR#TnnI4Kh3s?|BV4-rq+vv#^w8sfu^(ZmAOTNg; z3i7zk?6PddHBKtDH)EiGO?@HoDftrRbO=gYbNF#qIGxD;uXKH(*768K670dgb=xm- zyKzTi7Hv%+-gZZ}%S)AT3b2Y!HMuk$Qh0^=FQY8adE%v^T;w!0h=}$%t?;7blCYKL zmGG*bBqru+BHBF~AQP>4i!-JB*a&)aR_*XEoeQBOlo66#fSPK0k4%~i^cOFvCVr#S z@oZcaIDoof`*Ovkg2?HFFqt`nhqWw1Zcz4+4Fd6MrM+L%q9AQvMYYYwFUNy%kzgsx z##U?PW4XNO9F$bn_)w0vPv{_}k@VF+P=(v=lqwB{^Ihv~ws*Vy!5D&th+IqGg)=4Z zSnYJB+?``ogVzz`R8`{N-o^ zoPtGFj2QSB3v=z?ep^T7%R)y|$vu&(tN?(#mvT0EUZb|3mVOv&;0mgrZ=7+`$GC$> zk>{+wEL<+R#u8^#YhZ`GgmFvllxfnY6i$f|$gPRU7@F2g79>4c(jRn!9jj`#PFl^kn0kT6Jln{uW* zN9BFMIkF4o-youTd#`SqHiYC))isJ;bvuX41zMvon6ykv=f^R;Sk@)v7w_-2{}PWDKAFK9sFNf5EY>TK}W&tc+a+lHqG6k0xF7+UPcH&GMktR(o8W z7g&I>vZ$DOSn!Tv!AdNNSqio7MI%8t>Zw)i{H`KD<{9Qvk>LW-x&$Sv#iIRfR2J#Q z2}}uQYhm)7o|Og)0ZyRZY!#Mvmdr7$8Q4ONxmT7INH}O1d)795=}O6p=;_Wvuen0Y zc_acHL`&EvFK!m+GsT%3g@*G?tA`@HVd!q_y$cgXMCNIxS8>Tggv~uP3Uon zrljjp+zX%~vS0tr$koi7&~aW;UATn4=Ltd?^<>y@tLPSP~fX#IxTNnwLjV?v0>w%E~H4!07L z$u=8HG8&Cu06t+t9dlPdmAzx#WGEIsnJcyWgF=JyC|Ap>nbdq0Mj+d-qI=!LISDHO zf}-RMB1aZ7NRSsFYLJ%Bg_RS>D7wLQs`#!qq7nR;40iRYItDLL1jOsG|4F$wjPp)G z&oi;3!G;deeLySbFUR;*=Q1>_j^ST)VWGojw+InFqo-$0m_d6gXzjSKvOB1dGDJ*hFZGkOWdTb?VHXPPk{719?%EEjQ`;IGib+T(*m=|0FfH?BcfqQX6h@_=%~V?*L( zBPP}gxt6|Xa7F8A=nA-nbFw_V;99swk7gE@2(Cuhpzx=`@E{MhkG;_;CGdLuiMCj| z86OqEmh{pI5@c1?vv<)Pb807}jI%IkXfc9f0FRAkR`AiLU$rwLFI=yY^{M@y7o<)% zv19d+!|5LfZ)>lHDnV|zE9R)VpnM-bmx)upv@vh5LHq`M^NUvy?#M{Uf_szwdOg)1 z2R#LUNB5u>ma2=6F%}vAC3P#0Y;NL%K*K-{70vGJNeQrH(vPlR%8dce;7@#-&CE(* z$t2@CL$~_MRxi&6*NUnRROyjj!#EQKH3Ui%#t@>BQPW zU&7+FR|hVpjl-ew7H#L`!~8e^Ou*UMtre8aFz5`ilF-!`w$X$-Am2|?;d9%?_#yZ} zn%Ll=c59d`bOw9MxN-u{Dn&9mocdD|4xTntY4T&|V8KU~jVxFCO1{fNq*X}tJuo9s zM#Z-4SRxPJm!kC7K+`5v5rQNCF=b6PW{cBoI4N}x#bFO=su}s0v#nrcC4;q-{<|P- z@dRo*Is!Z!AgZL+p_$MI8>MXy_~}H22ST4QKMik;74aYhjJ0gemC5wk1&9(q*-fr$ zl-yy2G4;!CZ&W%+l8UHwuU^U94U?P-L?wH1Qp%JbDG4z`rqyrsS|lgH2FVwDr_^IZ zq@mZ5)h6F2^Rto>KW=d2fYdW@b>K7+Ykz%>RC1pIG4GZIZ6c00NC&8B&sy=zb+s{Q z8afv{OR;zt^$pAk+^O8%5t`5mze{r%n$TrLL_#SMTe@CD@6tM8YJyT{jIv}92Mmn* zWKNv9kRwC;mm|qsp>0T0m8&TQLWo4l70$qUZP+cPO#$AfaCGBxk+GsC1$4Fy3 zR`>|kxhPV~$SN)vfqmtBnMI89Qp)BXCwuZIilbYP(1l7TJ|}gqSb06p;XKKbTIgOY zB3|9h`c3~+bbfWO{TT5+wcbNlOsOW6{SUpl@XE?pyH9*x(=N|KvDY=1*#7i~g{CXJ z?d}n?si!{Ur1RmEdKq`vAm ztCRkwcx`RUA&%5T`R%qYWLr7KJjIA8b=_=qxluq$UiS>L12fLvTpD>dj7Cye3k>E18%z^^Up#e)8WZ_poV}V@(Uq`@SG+Q%cyN z{^w~YMyUS8Qeotk*lm)Wd&pnNU!B4?L`!PvYpk%EgW_MkaDXY{C8}tyI;Rqmi0x{z zQH&341OJUYWmG&eoK_6)OuFC4Ct^pSp;KW&8W+1?Cal4FJg13l)99$Z;JlxXtZbt^ z=MQaLLB+C;eK={1GViJ_SW}k3SZ3;1S%{i?&QUpp6V_+u6?3Z*i`adwvP!ptHo)81 zQwIBo>{An9AVqP|TE7aT289RfD`VQ;#Ks}ta+c;yt-ljys7oHnA}=dhOj+h~d8N=@ z_uJHH;uo7I3*6ixJ{E~>byO-0l7hss|LDsOI;AARe^Pf2!-mwz8c-%o_?)`k-9^Z({5u27x>bEu{FrwNP#ZmMo;%5}ZiBTG{dyO)=n?+V zY>1@l-S)BA7-Ta?dx2~7g6Kjua62dPzEq51!2VflA$8x^8^lL7nz)Y{rRTtBlXnjU z>Z7szTp+MR{%sS$Nu!-Bj9gQ9Y9u?8&pAY`jOF8K5!}};#!BwN#!w^rtIn%FPU1Lx zkk>r9+rk}x9#Hl27xk(1Wfm|$SB;2m_bvwxN5_~Aj!R{f!y8GX{p$MLu_K^%V7=U~ zMmWZj?poZxan7ZPvPyKZbzF$ad4$BoUF@W(uZLlw+0YHu*7l0nYD6*5aY@L&fTT$| z?G&=6TzHSR#sOQRmA(Z#LIUVYt(`p%3C>7IR?{rS+K=c-{p>2cHBgMDKa4rj=qUdw zP!M{J*`{0CcPnuN-j-Q9{ln@Wfkth2yDKnX@{z6{^Sl9)(+r#kn=y&HqJLi}uEVD? z#b#!$QV6%G;cl!g`w}AkZ49rmTpksq#`n8jTd{XX{cJA6rh=GBX>q=}{=4us zO^v(Nazi;eBosOsUZ}p-p&3_&+{`<${K(-o*@%45UVQ0N?gykT?qb&g&Fc{^(Ei}< zibG9;91D79@!PGdZZs-^kYgD&CCICV1Cud>prIb_00{a%mr$?%%*mk& zqgE51TMbXS@U5Rn?i#c+O2*lM5jGjt1%-~6Ow#PRGi|5T!3YD$IxtG6rzV?e&04AbBCE>3?yKQ5sux;MaJJC}$_zyI zcn5>b$VNTEzS8*r5RrVnwbL#)s1^7Lv+bil_%Ye!v1gCj%8-{y&b9|;OL!%4UrO8P zMRRomni}IQxvHIa4EdH2`#090fPelSo(_T+i{H`oV;wskwOlc^V6kSHq?86QzCpN9H4>9PK@{*DMOQ1KJqT$sp%QdAZ zmWGM^^*#+2ViR=sb?e1>({M#X0?8glKr8N+f$?AMgfGbP{DAd3S4rSubiVQF!P!Iy zL@ZZqCCC{~?ZV$Q3m^HAJOe9c6Bd;m-%~~iJd59Bn<{Y;bjaQhWg=%XRkANB3)Mb3pOyr_%m8MVY)r`?NYAX3rv6P&fORucr~kECCgqTZtYxNY z{1L&7FVjc)BN?Ph>z=7w{1ML#!I@hAtOq1NYsV?^^dz`EV|0eWw`@%EMhQ-OrDeiN zJYa6dZk7Cqm}eO^Zj@RBZ)IW@{y2P~BoHdi^+xlO7vY%f{H1IsH1!i6Fg-P7oaBWR z=jN??@IAGU-enZgk56DCZre<$P4v@VgiGtFIJHlpJM!4 zkE*McFwQzG7_Jld65Om~s)R%91o>7lUsH~&5&pC~+d(qs=lf*R?>U3{EX2Omj2 zFhN9}BrTB;>yF8&v^@An=E()JqY$+WZ)eIJ1QIVJx%tYQB##+@5jmpc+EvZfrMH&( zi(B|BLzlzblz%k#v8tIkT#lWO{zz$}jkdbR~w|g0NI@=Yq5WXm*kEd$@{W?*1Zz=8!4i@)%lD|qIZ@z zN!$!@f&PXrD&*AtWV*1^nhvY}iRcBbeHBC&i$iD|aew=yj2=dRq~nlI@8Z=EcKqN!yS+`8zkIJRQM@*Z?i1c1cbo!?{{l_H8g0dK>gXy1%lMp2J~v z2i?ScrPLV=R=H{>2yEg()BKx&Zb-dwoTklmp zkf8)eLid9rq|a8e=yu$a&TYCoakqeE*SwXX>@N6IYUSi}8#dXMxW{~X=w{+O#Jo^Q zaECVs1kmfM?4}u(2J1xwM|mrJ4BYZD6;3PaLGC1w2Ukq#1Ubq@Tl$nxS__<$UA8jq z`X4YC8Lo4-;|RxtalKkz?n6ib#0{{QcvqH3vyZdr(=wWgHm81du$(i?NQL3dvBf-R zHNYThmmbjN!!4jYRK?3w2ZuxGz(EPI@@AS^oNk|+ks@A_s^PGE_ECB^d_U`-WkuHu zfE8}1j#meYbA|Dw=Bs>Js5#W{hZYqmQKVTXI1XaXwg|t-9oCeI&=d{iexBK8s^>MZ z0gY1gYkJ5^XXP|ys@Y)ngXW&3jgDMFWG?0Pq>`;J1xI*g;@H0t_n2l^79wF97y<1J zekI*r;YU9i8_-)~D2E@X?6lXIIhoc9|C4iKt=Zig?80QIpK2aqonc{`?x;CoKrr6p z!n$PcAiSP>dwRpJnWBs58H)FM#vY`9tc;fl4e^1h{3XOJN(5=Ngik{{7AwS$q(7Ek zBTo}^kolrFBF%nwkWgrnEUD@}eTmEJd10uJFQ$C7tC`xDx&a&Jg>FWBvA~}Zmz90$ zt(nhaezm{UiO0zT1x|nF4`%S-{;Y_RGbv0jpz_($R`E}`%YbEd*8=&FPe3xay&Tg62d>nZOm~#HLP?(VcYiGY% z9dIXtRpqFi$Y?3xRpHF&f&DcY!)*p#|xTGWczd*@mB2F?ccj zfkIJr2Hi6@ywAa;g5X9rwR$~#D*;WrQ06Q3JlG3j`zZ?77PuowO8L}R`(xA-QNuce zZFy`rmS*#a#?HuXz>-tKoOt>GtdsY2%gaXwx)rJ+i&T`-i1FVBUs%MG&_q?!iN1re zDRiM46GhpG@8Fn+&{}C$B8>s(6jXidxr_;panBzkh_IWiWHmn298aU2tq73q z2weiLy;&Q_bNF0n-sPo}ZeHL8w7K$;S}BHj?E5}z)7wN6$;O<~FB5l@9$W3BxG&-= znC8B*tdf}ubF$0VnO@_dXjr&xXvGVfXTr#^H)@dl5P#1gu9L=BYI@kDq}dg@LTz^V zXZk|QHsnl^q1f3#4D{3=6vh?EBR*;Pxt-3x0Sj!Y>hbyy3>^1#??Dq1@gLHJnRNe) z*fzR-Em^r9Eel$>?pe5yJ_>8*4-2yVLLi}_RI!wz9muPc+UbjqE`UYk5%uJTMMg7+ z*3)Q=BAz6TnKk}}V#OHawYyXvV#o&a6mV`^RrxpLmS%&`s zMLq5>JM+rmhFnBI$1eyP2vikoFSJMMQi*fZ&i#NGMoal(%@z8)IQHP0C6BxlPtuQT zKh4%-kG4J66UQ%--&pw#HOB3syVuMr31d2eIOo>cL#Yu+V$mV-nIL=UgHQ10Xm%oe zGRtCJ&RYTU48ck2m)t;3rtF+~=ky2oh^bVruDL~zi*p#_S!qyGqyOj@wmxH7$E0>9 z8onpcNNHvbeV4hF49P~CMg;CMRlu%cOegUs&AO5&zda%xJni~>9+QSbEQ%Dw7lKfb zl#kg)5C4f<&CcBP@b!hN14BjA3pU{Y(i<1i?%%I*sxms#GhXDTKMeQR~}bMkgI63>)0sx2YNuKeUvv2WTnB|b0Y<>`$s}K zejWlZa}r_i?CqPUd_$qQfJLEOd4=%B%!ak^-ZoHVP`IdlK_4u_OI}g(l7&76JBoiQ z6h*qy1(&NmM!`=ZaS|y-W{6OF@?wj71xN@jk-T3VfE-P0Sa5Jp21`OONQsmX5Vf>z z3+--9a4j@L%Atgch@_zxTHILRMCeB;>5?eKG41DqxqBM;EmTJ8b+HffD{c2;iF*ww z6RIIuT4ab&(jPCSc}#;YA?f0AgTB1%9U(?wzVM&C zT-ZA6>IT|392)Vr6im%YfYoy_0wjMdRO@TD`8q2T-jR1l_+6kQ1bL^gdhkYIi9%y> z;gD(Ys>je`YFaR&Q(__gHtZ5;?;1C&mC}y(3nVU5*feNLfBNbI%S7B&D$>iBW*90&tL{nU= zpcszN`npx*?+=~ue!YV5|H^ljM9F@P-~lHb%Eq3?x6zpm>e_wLo1{Jy?Jje6R?JZE z8w)ID1}CCEQBz4?S@ic;32=X%-6&)!K|xKVdE?7?eLkcBZW?J@@i}7X6QId1W=i zI|?Ht&x8eoY^SY>8wt1QUG<1oZ*&Vu*`&MUHY=8MrXNH_P=~P$rSgg@WP9qP#s55Q zpl1O}0#Eq)HmUH0Bt6U)RB%$B7>IAByEWo;Qt|4fal>bA@0fzIr-yuO^?|?WO1ZP8 zUWikM?^>{LBvj(_d^IzjfM}O-|;7 zjQaUO6t9v+rBp%M@hXBU7pF$4HtXqHXI4p~L#aJvB69dk%OU!Ij=#)B+D>Jri{0|DCjUGn@IA7)FR&sa46NccGWNaDRQ{tva&FaM3FQ9*%il9sHqb3pCXMb66&@Fd3H3zbW}NVwEa|lI@-2s}0^C`Q!KkTn)M? z@QX)A{#3-M%11|%?&}|E)T5)5p~X4x25xf%eRH!%80=ZZIM&(ZwUo%zzZKF2*d~(m?9iJfRvB$TW zYY8_P=h}o#sgz3WU%A?%95^6vP~uX=AQf-b+)ZHpjzx_JxXgn#0j+CLnk6l*c1By4 zNX0L!+gII0)Oa=mX2EB{OAeogPIGKy;`%3THv#cbapAd4J4CkPttvLUpV+Gl)?c9= zOMSX}%wG)3a=9}e6T6Rv>k&hl0bj$l#N%_iVeL|LrFfhKx!7Q;QH9=+EWVuKYYiQB zJ2Ckpu9n%=Rc_fu4T(^cK<75X?2=r?S2$&IzCn4T5M3?hzh!?vedxO@ZelVP$D;J$ zP+@>t__QcHdlODA+ov)aB~EJ8ovMqXd8eV*#{)`1v=eG%h_lYl?f=)#9vliz6cFZp zLH1P(Xx$@x!T(i%ScykoWU2~Z49x``Yz+JUvchA7$3Is_UvBwE?@JP1I_YZ(6}w7Lyot?Vjr3aElmYgk`-R4M7mk5ZV?R3!JrX>2YVBiqoA+bq|GSt@@W=k}K)&9NokqV0`(P|GA@3dn@w~v4<(z zIHB>aLK1;wnjP_DoFbM3v}oN-v9( z;Nrra3c^v-#7Ejf)e(qM_95|LbRDI~nA?;>1JXE~8^IO8N7Tixe#XAUutluj6i9dU z8%$>V#fD5qdPG999#a!au|4dhK^>Q9$xy>0fJ z8XTS=e2CYJtk?M)Bcztk@xUObNQq3}D@a#N+2DVkhb!RG#uw}6V(&JHz3 zSTbsLUmyUk+Fb70#q3BJTsZC54&HLu)}PBNj$54h;B5)9oHvJTVm7(kCp$dQ&^5R1 zW1l&fIT~YVw+Lw6(o9Q$%G z-fwAvm+*{) zngMcxxNGgnOY{pJOsi_ZC78VKno>*OY!9%?0L}$7*LSDn(yQC`tdfBn!QAzKQi|xK z?SWP~06BQ?x>ZUKJ-UNq)dDOA6|WU1%QLn*cA_?b-9hcEZpl=}YA40o7JM7{ZRJW* z8pFT)mCb&TpT8}CNc3Pf_Q=`&1jGGZ7oR7zGgJG@?K{AHU+MY%@xNJP{rQfH(5m;F z8H2b_?9)T@&K}T+XVqj8Hzx)?3c6vT$L`r#h9a5QjL;Nh}1KCLLb+s|_Id@!!f@2UXHHOP_;jY5}loat{ctvHGqAd7( z*?o<7#QnG#nMb)6NN@Fby=w9b`n1>_PmxA%Y%^g~mqR~nJxF~-pKG^3X@WrDiDfA9 z8#Ax(f`b60;v+P3J9bZu{AjFOBxLTkXGA@wH@0ym%V!jPX8*I-iD{lBwt7D(ABeDQ zYMrL}roR)K2rr=QG}Nv;g4pC7m#&ZOAhu{cD@%tLi~d#7Ago2@%VYD`;Ez?Gbia^Q zF-~IFcp)^|X0DkRU>xGV9+u2ug!jC)YXl8_C1-15BVt@f_1!U$ifh79Fxx0TbKcnh zIw)duu(O;Vn3}b9GK@?WF{ai(M_Abk(zTI1qK!s!X(CK2xvQo|{Eho9la;drv8(Gf zl%a}+zY<`kGU@uA6V|uEAwQe>w73|y(8ylCZzR{mA#?WWc-q3Ie;9Zeb)wy#zLHie zbT)!W!RjN`Qixl=x5DMic%O?bW`Ob!8poLHZ|uI zqF2Ae_ycus=R#;?$Ss1im8Yt4}Lyb=XHJP@rcAD;^#TXhx2tyFx7>RM&u0`uws*#!&1 zt`bAHSPKbXRt^T60uv@H_5UKuxjW?4qa*OE3hQ|&q_~!D^pW~Eq-sq&sga2ph;oU9 z_PM?o3}GEf{JLr#(oDT?e7(*Od71Y@0fje;4wdW7d5rwmP-S`mI3Co#)Dyp*{dr{5 z-37us{^@+8@rw;(9Q=}aGwaXe+4 zfIx%{rCvwAA_X=q-KE)262~+P-%6{dAMR$^>qD&`zN07Eq6y!YgMvkY1Y?sr6F#28 zQ`$kefeV-Voq2#(+xi^!3e@)HP9dD#u@~oB{WkzP3-_i3KWimf?J~Z(&-7YZyzM6A9=AOwHFD&LLWP zQi>h;X57D0M>Aj1WZG?Qn!yz>U|cNbW&G~t2f-y&6C=}_0r*BykD5Q}Ka9SJbDAk5 zs#nk{3_9mZ7}(29NER2MM0_B>(K=q54trHf>aS5whuW{rBxtieM{j#>fro6hI{M%s3m8|C(bVINvc62dg;uA`UL6KK?VKnR8$nE0ew-hT#5TM$*9NcpMNjYKVB>x* z_5?LjVME#K5;(Dhtd&ZR3-{d&O}fC+9nte#2lH$i+9IN=Y>#B-G6E-fwv@u({Xj#WH(z0^!+ zFU2nG?Ap78BzEk$rq2Vg!18?4EhHCh2j}_wf3xOBcSSka9W)s7+8O~D$g6_`ubCqI8=Ocnz zs3QhkJ|woiJWS7$suJ>M2_Kio(VaaWa16j07gZO-*GesPUQ-T)zE}x~Uya#69qOL} zFinIa%1mvz2+^0im2uW zpDOq}-O5peW$KGS^qd0MJ+6Q0TSyt@tPWIK4Hwq5nzRB}{hB5XW4tDjLWLSN7 zp&LSJWLna}GhRDKq*%?#H-uI(M#Ln=+8iyKWP6aE6GU)b?pvoTW*m`x6r~;gRjM%~ zmOkBk)5RCsv`cSyr=86K6lI8l*d0Q&WOtUvsEzk65VWYO7ei3RHd^kKFQK9h#0q)*%&~YZjb-UFf1}A zB14Mzn28R3RyZj}>MJyt8HTfRv))?DI zAG~b(swNLsEZ?o)Kn)FSnc0XDNI11F9g$8_Q;pB7MFQGF?0lec=Q}<6^x4cea$W=$ zwo&NcQwl6g`puDNbui3HOPLR_+)DaeTH~eu{--Y&AUs*2?I6S zXS7Sxx^jI~?vXqqPOmq|2Xbm=Q9(zk$92_9N8tVS4HogBhv)mj6oys0v*cEkN>rfu zWGb2YX1LMo2v}f7tSy3F%cTu;0J(tIQ_bw!L_pvbrk4;ee=tjxUfc7@#RmFqBh|7G z*;8nw8AQnpIkuS2CB~Jlw1wG{b5&FGMvDw}{%hLM_hm-FdVh*=dU9L|Js?#zy>Z4t-8Hc!095^|QzaK{adI zSVDJPw)OPUBD41?CKI*Mp&KLdH#jo$XM@uyL0a>L+Yp-;Yg^N+da@ z7unsk?>(ZfTF?mUTcZT>v!q5hpL#c7@6>5_Uy{1;}df);+L39vpGTClu)e~g;$aHtqXQoDB0m+dodzk za7+WBj079a2XP)J7;fFioFhDxwcxoh3UKx1DcFWJWaWD zf(piAb2+|}^JHNh*ZMDrv!fk%-Pc>gRwzlZ~uxDL2JFMZL%E7tu+E z*^SfYLBkZ5=BK@-fteJ6jB3xRdWYG*>ceCzIqb=nGss14shTNVP;p|HMBe*m2 zNwl?uQR*EQYVt+EajKX0zl97WtG(CJ3#zw{Y#e~C$~BBu0eA1FK|O|6riel(u{PX) zMKV?;{?dj&#+HyK?U8`x1^Tknr!;X{-g_O!8{#S=R2!wEz^gPgAQvh-T77a*=?pS<-5gV05*p zc?o#Q?L*IHT3FsE^{15MLEEPF+2>P!h`)%Ijyxc+D?x+%d&wYNm*k=_$O9Ng!~gj_ z1Tgxzk`Uxo>rsag$kztd*a{OXHjEE|2_Eu)S83@vIjVA$oxu-huCOIiOvTSe%S2iW z7$zL%zFBSv|3G{rhh!`N2cspaDmE8x@HtY0=LI{JePsx9Rt?f2eem4+Trj zsIfOv(2{@fSj_hI$=K{TiA@h|U-WJ9zT{fAW9x%jG4gTb2oaoDvef9<^BohW8cJ!37m^WqArR|Cqf*(rF-Egh@P^R=|Ze~lafJH${*F< z?7MW_ppMTm;J5BZVH5JOtI0J5v@tzcF$ViK4&ntRI!wWK)uOAW^MXQIR#R9Sn9k}Om4E2#Cg0b z#(Zs=>ynTp_!zebw_8v&!94cU+CLa4{0{NR5IYl$xoE1 znFynKw8>wMnxHP28%%E;F!R9z&vlXt+-Zirr#&1%ZNtMQmk?e@wo4@lnW|N6!hc${ z94+|wJia;`Zf$sIi-o4G-Rl!!uvP)(4`J+oG&RCTRjKB(&<>}eRxQM_{H{qVXzeQA zc@?=|a>)<_rn;|p&m-DJpY_TB5wC*2tF(#yQEh(j3ZHEQa`ctlW12L6+_Q)N(0y}^ z)D@^t{ijB}7|B_(s#hqh0V88ojNO@b%41~rAl3wb;o?0~JU|W)cA08n`e$e>Op zQn$(cCKAGu=Jv3esc4xWM0^-y4rFJgo|Q=;qQdsfd9fE$n`JtQJ)ym`;%s8t1zBy< zsZi6|ELKxml-vnYYlz*<9@ee&-STxL?GS4R4Ee&AA8`J-trd1%S zO9vV}zxS%pB8y7(t-;&w1zjJJtdb0)@8FCJuiYLwRo-m63hFvNZTSlytkSl0gGB6I z8`I$5wYRJzq2JcIwW+XWBYzB9vT!A8TJB@%_CeO-9h*l@YZ3mcc&`~5ryWhLz z`4lkIG0R`21q>$m9;Jq;pU)0uM2zhSoF%I%)n`mGzfLcNsFS|Rpi?*4UW>;g8t@%r zLy7-#b=T9d`cZ8H$#I9`{e&u_W-(t@3pou*pCmpILc%TPjoJBWM)ERb<=`h1-3*Vc z8dYunDp5TsLHEdiuag8Qc?$J#k>ZjA#-*UIvr}t7+*@UD6$W+LoU2QL?=|+=8$gR@ z&E;+gw_~qcF!)seY~dLiwg0ydzgdv_j_eDJv*QnfJjhh}xHKGlVSXum4$ly~n9zIwOE4oqVIwC2z8gnkL-(##&OBuCQ_5^?No=D zFH5QD^U<9`xOlI4p3tG_T=e%P>zMbcGIFz|oS=yDV1{STc1>I0s+UY}CZbt-(PSBv zbTn*Afwk&Q?Hr-o<~ij!M6b)zqX3Z6G0*!*UmXbx{6cP$f1CD;eQhxS9T%-C929>% z{-|(Uv=~}y@g#dL?Y2T2nHjJ)97Q+Czo07zCb_wEC?WNgE0!22%37+X8}4dNaXAjg z=vNoi(Zq)!|J@XMrPlN{me|6J2pxQZ@a1?Q{=TpXo)KZbAjob{w^TYsG4TI17*E?- zc;DbP7~_1ur38+vb+q+>o}2F|KY={z=6MDHs+updGZ;@N6GQ$Z{+4{0l+2CZjKxJ` zSu5NaZ0a_-X!6y-n2~?z_XzPM+*4WzwLe3V2<@=HA-QAuj;IhV2mOQh5 zipkevW{XE9w#6QPHQFHT03BC z4zW#bOGgp(UzG1AWrwmwhCVxRF%Ml3HM?aSOGp})Tp+T8BgY5mE_pazXHeI5Uuzj0 zR(Hit6G}93EU~0D^k4KlMe$Zd(lle%mbYPpaJ2QWoYN`kvfIgR0b;`yw35O_!wxXp z;Zj2ie4+WN^La2u&mjLd{o~l4U|~|Wq)gJQSRKKCqhlhr=B!u_nI&q=)M3x`E+=HH zl7K?jdk~`Wia(m@L;1D_ zwf*pm_T%oKfb*IYSx1;cv#fA!yqC~iY+2$DNlnsv(9cmU{ojI0gA#Dv0o#xP-)!l2 zF#!W~`f~nbyqF3IlOcqP^u;wLNJ_jQHU;O7J)zg<8yTd6WXDGh>F~W4Ay;*ra4CrbwGEuDL`CI67 zQ8t@BoZl&na?+G|KU9AgvbW6K0t4Z#z>0gwLa%~vEJaqaD^-@Wd!2>@F|vzqS(`ji z9SvxC@Y*|ItGa{sBj9<%Ck4mod1IC#DB^Xo%y^%Ki{j6S*Mj3m&FGg4IYttYh8?eF z9e&)&^DLr{tGHw^*^Voy$TIAO<(=&Gj2zW<>Z-?+jzRuY5XA@JRSjhdX!N0RrO+FM z=OW+ZUM8ZXevznwq@nG!HzlvlLZC&f2Nf@n)IMQ93reP(Ny>e0us~|`gK*9?opCi+ zQ13Yy=cwCI1b=UP<&Fnt)yO%hV`@a;iu=j7JosvZnbSqkSvN07 zm?=GbF`_@pbMr2Tm3m82g8IbUzgq*btdX?a06!XP7v$3OCPqUu@qt3&vHO$TWd$j! zen8_Jdz}3Zje>{AOHP;3{=dZoFKG`QjsIQV{9lSjNm5xHr744S5}Ae$@fw( z78$HEu$6)e4af4Q=myC!2INYukMV!0U ze7;hg<%^Q>v5LZb31>qxMjL7I#jqK_hl$10((SZI!=k~yM19eKxTK_;vSt($--A8+ zNJ`B<`z(;6*O`N1uFY9v#v=7sWY~nvN1C$W1?RsFWw234ohL~Brl^p5mU~686|Ww8 zVr+u;zPQ*73+Y*8m3*TqkNSq}BJf`k?&XwX1uJTR*PV_^xTWEp^CqyOQOG;XKD(NV z(?(a#JY-Dd;SCibSsR1OIK+8CDA1l{BQ6uKoYX3#PMP*e>=s5W>l_`AfQPhqX2Gnp z%hiz*n1H!ahF;z|10m>%&6!FjVmqK4s7PXoCB(f->X$u78S?h%>VwP_t5Wq92^qK) zm_iH}t%>bOexMLZ_49n&mIUj!Sh~+rHI?_J!rUIAI>Jm)@X!eIp~Avu3(U~h%6-P1 zTxiE~Fqw1hjNH5dLrX{yb*F4EZFZzKD+YU+}@9K186h%Vq%Frq`4mzyg+oaElT9 zrfca%g?~*Wp=V~qqCfQfsUHz{aD~e|S)A-3y+JU^CbeQ2Q5kLwmLZ%JAaH)98>TYQe*ixxgc*?z~1MmZq+Ezv%qM5>p3+$XQI3_jiz z?j{P*m5`Kov20O0(uV)`K4ZkM?yA!?ps9X5{SAj8_?REp$ibgTOO=cL129voou?3! zy&;E}4}CIXK|@vCvFQOn>vm)Al%&5a$CEX&+>2`pZ=4XN zx0Og*p&&)W9l0e;?ouS~YDDX#FWs~RXXyeZ8rI}~X1XnD;bJ1RrXuKaB|(|VAd)M>`n24RO9&@Tw9t}Ey-^BKuzp4MZ`Rq>;;0*8 zQDX;bH_AP2I>0p@#jN*i)eT{MLCDkLzsP)LtKAK7O0y?pJm$KY5v6d@UOf@Tt4 z{u~u@Pid-$k9Xhldrjhr>c#e_#;JA!0#2x2%?y03BcLv;oQ}L4< zU)b-nF6k*kyR4i_Zqb!yPGI^m{WD4QPsN#*x{!$ec-DC~V}p)&3;t(-zlE#obdCaW zN~e>L$16!+r@ZrwX~~0QyH5FSBb^X&=Dtr~)3^yP+4@zSrhOh?4Hv=1EW|M+3Rlhi zq0@$M`NV_rwYg~BkaL5Fkeu2_&Q!otDIhs5zE`@8^4?`39gjGNFZ5%9avnFy9QwrjM5KYyt3Kf`-69jvqPkZT2*W?%*M?w#b zNI5&$c3VQk3jfKjRQPVYt?w>UnNVTONajv`FG$u*Dqn$xtbN2Q2QBnA!G$dne08T= zqJ11so|djQBx&)b;1Dx!rTTvyopo^ANE^n(%*@Qp%-|$;95YCTD|378^~!K%=JwiN znIv=14Y3q!eyPeW>b$FErGQ45xg3j(5sq!s_3DzntSCKlGKr}|1HEzJhHX^gPUh~_ zqqwrL+@37xN_$ICB4KeWiXD&(TZDj;#v+;d@y1dOBnQ8&MkiQo*f7c`?)cm;x^%gO zOCR;L+7SO#@?Lc%z|z^K45ojd?}`gRJRX#SDa|y0OHzY4pVOR`WxB1>F=b}eb8I9K zB#eK1lLj0%RE+o|?&=(YzN7qwi;zlDwdPY&>@@!XY#q%?4l=$k9l~yei}V#i=Ivua zmk6VqsjP&&K`VW*ME`7BLBgCIiSpGGU1LI%n)(k_7c(*T8P=)~@HtL?C~eNI&A=H) zfq~{p*}FN%#jQzb|GQ1rFnO34brK!x|c3>LcUiGah_==}Svq|G~o zcR`2S8lVgPA(3&I-ucIL*>bweM{0md6z@Mlx^^KjZ#!Pl$gEs%z~=<#w--Q|z9$j6 zn8XDE{e2n6g+bk;63ycX*0gJYE4IfA^jH}iA%uaTM{P||Q$H)RBQ9yqmHu}H$<2Z) zRBTMVDxA~P1}|DQPS%mC2&yKeFise05$4KJt#KPE$WS zeJ;7ra9DYPyB_+WQwY83Jr?m6lRr`2%XvfS1EUVF|NsgHH$veAw&) zYmLG&-AJ49Q*csauK#gj+SUOUr=ZF1DqyR@+Rjp;-G4@Oe|~SIZSBm@V6uWy;;EACKox*QY}^dlH}66Lu(gQ{TCOrA&tG+9=*NNUX&RRvM!tPsS__i^Ae<^}!3cZ_A7Hv*lfG&nf$4 z2jd&EP!=X2Q}?#u9{;BX4Vbq1JFkZQw?r^m=!LBArbW-|V!wtx>nw(T4P1-D#^z1j zfkm5g1D+EOt*s5aXc-!92>t;7doFprH9jLOS zS1k--!$NPhk3rtU0Wtp~FOKTLXIlBejkxY5h+bdu)uW$Glsdwp=i+U+zy%FwzFn$~ zzCZZeG&|#A!ezy`)U!?vMFY$qTb;yIU$Z(CZT`0}=0W(*u6!tWpd(6vavKkWu`MFO z=6KR_61}&g-$O{gEV;;L@N3 zc@@R<>gA*OJwZV8Q8;OW6Z;?Hao_e|srP5(-)N($|6qrvOM%_^mK6zxQNm&K%lioPG0;oIY%nhdAP`l^`~e7 zsou+_>Nfq{@)P`zz{bWbSTOxxTxNJiXEPK%ycJ^*Q#Dus`F7VuWTNLMFT)?2ZGykx zbQdRR=V~;3^N4nv^329kwwnV*OR9{Wn=kIrORZGYNeIrevm6D&G>3Rtp}SEmc+9{e zb&>C+tpWO*=V!Pi+N&S|wrx`GI>$?Pjgsm-P()$v6muc(@I+MvFz9QGgcp7-wZCX) z3jmH9e6#s6+%R<@E-~Dva~R4WF-Lujn(O013w__B^iYhELFmuUp>UTt+|)VPy+tIX z8{0RxgBDT0;qi0Rm!Eu|0VyP`o-Z#z8gnGrjzp6*{NuP#g|Z|M7VKFYMC!Y z9mo|P#^s%iH=98ubMI@F3XI&fXkx5yQT0x`?h2X^?Y~r8O8dBo!|MhrHehH`^AucO zkW|w+Y&^RU8y?cv{1G;pIfwZg`lWRT96R+Yt|iR3-46aSk%68LPwbF{&BhmE2P34q zMxpZ2;MmMapYBHJ^T-F(1w=$o3G{AQ7Nr?w-J#(38=9 zu|biNU2{TF$0r0|PPMmSrr`EG@?lgp{4e4nX!h+wgv3~?h zHmTBD<{sgS0_7X7(aaa`;3Wg*Yenhrmv0dC{0geS(S6sh5XF72RPJJkZ=NP)dm5Je zGnYhmkdf}}k|374gf9hhaVR>@rbY(=X3Jp(y2Li3c0adyb=lc$NKLq*+g-* zDnQzzGkr6uQPT{hnxKVF$@#iS@GpaslrMsE!!VGfL*ir7Moh&(F^!c(M5dP2J>ar( z2KR0b#;%x}EeCOw3Z6M-QyL`GS^dQoZb!*!B2rB03Ni0&;)S)R^h-6i{uy|cMUdv( z=o7pH`*7xOII7Ju{2h99YykS+J&HJi^d96vk%JeIEr@H~BaqX05xO}nzx4?W{4U2H z4$^3VX<18G2oHTPR|PSso28^c5AjlfWhlv{+;vLJ-{OcXr~?OV;Ha#GezoR} zKMH?lehL2G{7>k!ION0v6xzLlP)Ax12q5h6B&s#Spd%X2oM(7@}>@JD5>xc@ij8yb~Xs zf5GV?Wko!PIbD|I^^CZ*vO+slzc=V2wr4sVe%Y}Cz`02aY@<8pnf9R9zr6hIt(rxl^zMKvqZJm;_k9R`{ z4G!yC^GnhzEMtKU`F)(#LX?{v`SZpPdVcM%zz0~%Xqb;d^kUCABt7{IV-$S8 z-jUwCc9-h@Jtb!goV3!*5aW01#)8T^BD@2c9yYbqW*HTBQ^^g_c%u8tOPW#> zK6D!WaWn(s4FsY15zpFqFm-+q@9q1j;tunU#1f^@UMa^ak*DDS<{CUp{yPn@I0t-J zILC1-8h4|UCe{qL)jZw7?Qw47rO>nfM5KG9QacR}n4iHf`sh>?Ft1DcQSaG}W~nA6 zYej>*_2l`xGkmS5smiizEUdT-Ix;tvLZSgzUFi*R^_KlR| zR#sTUX;EYVkIa@+tp&NpOF+7c0+*S8!Q~`bY4aYvzs@^Y9}_oT1o;fap?o9otrE29 zMPs6~*JKHb?Jeg7JhhxmyO`{3Xa<%OrT@%{cXuuWU8bS8Lw~ox+rD$E`O&K`BQ} zwwTZ|m#z>4JlnR%@3;JU;H&vX;ZRDF@eH7>@-{xBV8ykFbbGCZR?t`+s)3dt=0mol zUUA+bx%K<$QycflrOtx9Htw>T9r(#$l3$T-XkAB5lJ;lO$~}EA;N4~;;g4PR(Ud4+ z=Nb6xoC;ynn^@M&x+7~11X%7)i%bzQUIC0$F2s8j7P{>u^{kwxH8#Hrzl3V*uZPqp z(b)QcQ`IdDnz#xz(C&BU4xY7M7+9GW-IV+%`?WD z*cv6qt{{`nTi5dj|4>io9?iFPtta)aKB46`*N2OtKKD&SVblNM&iS3Fux2^Q$O2?b zg|vy3?SjTD{Oza z%A6aV+;a#y7B1O5Nn>tIkyRYMvkiFC`nI5-Dk?sq=!55b!XI021!j&3oP1Gn^W^F#;Gn+s!USNRFHHWZ>R{Wp1goN z?dx8~U?(U}0j~^^eCaGv2O~<$Mk}qUxi`W)CTP2sJhZ4lYISYM>qv;vjsZv11Gtw8 z%RF)kzH=6EPwy3!Wte)y2>q~F5EZiil|~TcoB0BX(x;hUt6v5g#XT7+hrUiN;1E8U zC3iU1Di+{Ny)#MtocGT4B*~R-xUu7A^y$dBmKvJUW+cVTULzBo%rl07$8vbq>&lq` z15C_F1{6Md4kzVHDvjkdDsMZc>P081=X$%`Cv`3{U{u%h81o21({6f_$Rg#q%|seb zU~aAroR%769If3I@;;W>uK*X%RuFtWZWQPyP_0oped8#fZT zzsi7xmSX^J#zlOwEP(@)OkQ)MLG7~9A0steR%yg70Y%r=H{C}NVJ-nANq%I!s=F2X z80FE6fj=!w5O=u>bJda_>*<17N_4hXxv~E$=F(^?6g-)X)AboIM#dMZMS~}`X1S_` zE}o8r` zQ>ruG+7FOfYt}U14qo)X5&lj8(szknrQWbSoEnklwXG^bZMD%fTNwx@LcO(vwri`M zB5$LY_BD0PayOMJx`%GmOo|+es%yJK`?_(Sa@tldy+n{<@sV0A_MINnR2Bh7pKRYv zv)I^4Nw#%LPZsbk{-gd7dqscUq!g(T-Pd-LHn#Da(qVHe?LcasC5h@M>Pg>dHb$%< z+*?O!vs-G^9xD}Lk5JhrpYn3^Bkft+RFq2Ou_hKhKs=W!Fds|t&)8#MLZ+?u!1%8H zNdK_6bt8-->FWT|*p>e(JHa`S^v{A54D^%H)S%kRD%K-KZ4lN~Nt7$-^O(V#PiH}i zqyJ*Ve1l3}$6wNj1;42ka7s%{{C;BK;U?(N?+!wZn|j`bq$>usK%m@v=5md7s3yv` zyA-~#+C=WKdy}3cIA|G1y&*C}OKs&wiAMG{F3?*gjDZ+aqvXV_Wv9KQTMOo}>A*7D zJW#(PgMCCL6qM64;XW*G^?|WxM++d2nfruD_rSb6N&NRqet|`bcMQ$sq#Ur=PjwVYpkdpsW5&X+)}fdda)ZE(o>$_#0*qG) zZuj=?c6ItHq1EkJ?w>p}V-R>EIZ01%vPQ@to;0n~Yb6f>MMkc?n%w>FE`$$LeCWXh zh*$HB&38;%H~0bElRm`=Xmp4iM$nsi^e%~LV88J>-m_dUcW=Vo?bgE+FY)(067twd z@brCC|1{L4qObp&W9>ognkrsBRV7?1nk@x`j~+J!`Lv5AouR5TZ_e z#W%UX$nD_OnhaBOM2l#v?E%Qvkf|yo_9K;8@SIv3n_BrOI2iS^^EAy}?Xf9 z$H;vc-#Q_HcFlwnHC%$SzNS31tf6?Vr^7dUU!cPSo|U%8Q?#`~2YDCfTK#gwVZ>bH zJ%*Utp`yGv2>bnmwu5Ob9t>grQnT^gdMCX}pZ^%g`LD4NC`*pIBg+4WC zqZO9vJ%bJoAeQQKjdjGp7Fj;yOCtf%7xA_JDAP{C9?aGhjXzx;67(At)^(6}Q>2_) zY;u+NBJZ~61>Ew;IJ9FypIl?tClpWL|dJ9wXpO+-Gz0_-f|S)QpWD*uFO& zP4_=rlEtmktpmUY^O)%Ib2(N~%eFiK@LK^v_?PD+JZ$V!ZU+c)}_R2z`3GZ6o!3=ssP zVmnmmLWvJRyo_Wy-puzx7=r2|XD2SzQ_k|U|2prO%;#!nO1h%6D+wr(arU2J$Fs{higC-gb_Q&e!FpVgS#-q%BMI;ETkXc!Edn36K zm9^=tQq>6XyTS(JSd(OQO{hWD367PPB&aHrK!@APk;j4z%N}zV^sWF)Vz+4*yT76T z^6M?MOR_h4P9<$Tg9isrVcR_~=k7|*u(YGNEsa6bWBP;-E*lx%!ngJwqo#bcBvOK zo9H0KI0@25(mR~32vK9w@P(BLiiufq60>l7FN@XdjHaKHRsy*iN7&xAn-Q1@Oiewz zSaSjJm0G18?)n$a^CcG)^TaIJB0bw{u9oje#=MOdEJl!s3-VrJ}dJ;j)57lL+Zlh{6E9CF;%iIV9dEmw7J^1EOHBQ$pB(qh> zb?hQs9$$qXt!Po3O|lZRi%$oBLAJLfGWIE=!N-ajjNF!gk!J#vifa>9O~t6HE7Oqo zga4)_7%MfIP3oAe5<+@9v<0O)6HgSl>-9tSXyx33dYm(TlSP7 z(ms=Tcd{KaTW+D;HJwRJE`|fck?YM`OmXFCFhG8tey#m@Y=Ym10v-Ng%Pey893OI; zjU(q;_48lk$NQ?GA9M)lWVvwgyRtu1*zAFP6L_)MGs%Bj>D9hi43VbKk#uaMQ`&Ra zyba@!T~YKj8BcIl?TsKC}HMy?V9+#~miPUy@* zNBQ*RUP;NY)h4w}_Cj7OK~z`cy$LmCGa&|1oVtVT7_BVexYz`&J;=p@u3hPK>6ctT z;|2zn;7qYnphnYyjjaC~6&f;JDw6oxq?ylY5d&J4ex zT0L2ZRFEA0I``+&hsB3v{&K#*~GBCyG|@;QPY zYY%38Rg4DHWdrE%yANRoJ%X~V)AF6I@cRZuX_?{+z%F%hR#VfT$iRTj0y;m#`X2@c z!v9Suk&10xlFt-$`@crkHW{*})q8+PVtKH`uma(UBPR7-&X6|&O=*A5a8~vLy`*2$ zy81kEL9T0Q+{|wtc+6tgefkA?G*~LPgAR2kVt%`;WqwPycH>~b_V&@LWDsDa;xheG z=ZCmt&+A#lv_~%2aMAq_Xg<=uAV-PJz;;N+z43C%&K5Q}SK}u7kI@8D9-z4L5r$32 z3i@9!^XyiktP30Wp#L@vB^>}pDLFDWJ1)hgdXln!rrEeE;|%+nX>&3$;6(*Cy`}34 zX34!e!#cyxeG-${eU2V4zn$TiU7)4)PGh57zo(tc67zD4i|shexTtIgzLT_|aR<}z z?;QID-*Z3t=AqV`=b14YIlwKE-EhuWDzVWfgu`Y)EEBNIk2k!P#AJ5d#O96@;ba+M@}lhKy-$ zQhwlBMIQZCcNn(A^+lRy_HOUd*r-+k6RE)h)V56FXOlyu-xi8Vv1LcYmckt?CK7th zo|56|c}Rcb6tJ!t#+qyPjE(Xs$W}?)<9Y&{*quhNRdfdtl4J1D@D`!bwt-J5k_w(h z3|G&_s~P`GLC@tuWh=API-Ov4eB(HB-q$X7K2^>|0ax2|i7uw-2l6H7;kID~;se`< z{JtVia44dx>N6KM(W8X^?t+5WcLC~JwyftZMX}qN|Ez2258Wj(FFFbsgR0%YE)fs- z_@oS3%pxpNxgsbcEmXSHnRm^)i1=ny0AG@D2EQvlr8oC@;*L8{;G;W z#00Ar9Zf!9FHa~MV9=E0P~atL8yaRmN!Z0@w@O{aT_pS z@e2KFFBfO(WFlC~KN*-66;NZ(J!rB{HkuKE>o$u42Q>!cR%Zj|x$9k_Z7%HB6BAS~ z;9w0)DHe0p(CXS5AXDQM6V;v;x5vFXEic>0w;Rc6(BUlVYf>rmdC+ny?%j}Sl9}!08ynWdU_a59rXHVbgb*8iU`mz5INEKC zLp#w@NQD=Iw?)PkzY~+Jo)WJNQ)yh;DDa@@0(C6z|_s@D&jyuv*ca9yxHCFlDomG*RraLgT%!AgJJ%LdTd1hMY4{WK^mz1``eIa@gW@T@AT6RNt zcHevYuyQNVy-^Pl=MPXFbkDM8T65zR+}cwu^G5@N5a|^nNtdmc2yTO$w5N&+;KtTG zbYoVE%GFzD<+eD)jk+BdzRCM5@EJm;vM=#~^&CNZP=&ssC;}q32B1rG5!9=?7g=U) z8*#^7{ZsV|WP>##CCYtxO}1@#$G%3ow<;Y-UrU3+mn4A4ni@=#E>+w$$G?)>iXVpk z3au;hPT@Ko$7XcAVcKc)sCySGp@EGNpis$y-Zvmg9JV@@s9W_eYS_OpCpw+s=^Q)N z(8OUIKO!5lyEgKH0Va8dpVJJ!0rUTs0U=+ zQI7%cFDFCzH6|cb`Ir8@{}bVxH8*jh@>kRse`L;BI@^nk!qn%)&zokDc8*5VmgH=~ z9+7#7Ft?u?pi|6*IzD6D9KqzXC1=7>A^io)sdcV@#KpASX0IA}QGBLu!FVY&=p(rs z2B+^(O7$h!&sq&I7hI$S*rKG+mC(;c)hVtnL742;WmcB{4T|IRVVEh22A@gphso1V zDcAK|Ste~)F%0KDDY3<@u%3{}!dbzTt7Y7~<{38DD4Xm#(E*Fe`h$I-r?I%b4{(VSW>N9BO)hb#T?Ud#rFSE*2RzC)$y)X+L5!Bw@;jZBF^uLf zoR_BNq@#lg^z-UN)S@|kct!#R?i3q>_Aiov5)}!$^N1FiW3+?KZA-xN?DLbns|Ybq zyk*jr^F2f6LMIB&3qN`$Anj_tC05zK#r@rp$kI2wPrfpmM{7_%4NNWeLP)V#@QQ>S zTrqC~G^x7N>BA!AB%^S)WxEWn+)g*?UiBZye$Pk3Z8NN}g5ZOB)#(DCkm$cE)cMv< z9+>mZQ=A;LyF}Oi^NbuVQ|iHK0eo0a46Iw@LyH?Wps&mknEv|<^$(2#dg|agl7b13 zy|b+tD{rrpR9MYJx_H*58W!yi#{~&<9%s(@p%Fhz9a7%9%AmKsJrk~3pTZY+?q@X{ z{6+pbqCu}yl?MvuT;Z=$zTn2D06MWI0-DHug%8Y}q>5>_(~}0DlCBto?5pkPaEELq z69;MoV}H2irO1_vBGmoQXUgPu27M0`E1Vb3dU?l0RQB-pIu*s~H?_vcT80r0c8@R{ z^uSqgR&>! z&$H`PqG}1PYz#?})~#gt_0JPeo19^w{k{4$rZScf`dV!a(2>(k;MpKResIMnr; zb;;-{i9K+Z;h=MhvN={mYgTQb5`NR*yYjifx21U~NYW4N+TcO*TM?k7L>Dx-JP0Vr zorX7O&44N8{WOknEt3XIk`S6R(?uv8Os%`1h8V;%A%j*z_Tyu_+0!u z=wfl^GXmbEp+nUM2S!fa-cUrSQ zn7kkc_ZBk84cbVf18*2nx^v`vBQNPmn%xxjiFBHS+IQ-UX+>I^l0UFKdk@|rp8&)z zn#1ZcV&KD-9;i>k6XdLCKxLw_pm2)^m2XCaOtE}uWX%!0Avp>eudD<9GUo8vMIq2C zcM9&CI|S@dEQL?~mIQK@U1-|V@2PTXKWH5jW>hZ?LweTOPYOco3q5nhgyO4X!DtzJ zPgc?6Fq8+C$mRMz%zgd0NyiQIm^HmC#3>^b3+y>Vq?pvQHoGPXkST$k)p?50YF5L3 z*D;TuGe>Y9wco_gS)_2@wrSzpEDhr`T6s9S)s^_w77(}Fx;h@$B8OYE*5&3j7h-SN z0NkkNC)i1wr`*A&UD$Bj6z-=cKkQB0dhXFCb1cnvfE(AOgH5p=<)WH&vGKNj+}%x9 z*ypxY+(%6zSgI|TThVk7D`$I$Yt{S~`^yH+ecxP%wX#v*nziWSURdYE=eHcg^;sQ_ zzusDeGq944$Fn2 zX&*I`DPKl&=ngtLWT~NYMuq+t(w;s^)&*k}k=u2K?OdQQw zUlg9<_aV)-cpXvebx9CdE`$8#cANjWdN9`8DJM~<;VI^kttYp?Wfk|$Vw64JX+gYV z+{bk2mn0kO*)V>NyrVqR$f3nf)l;jL5@FMMJ}@XF0voNmfz4vcP=H7b$XaiN&PvS! z#}*I3nF_Xm-pmo2s`@CUaCDG!fgoECXI?52O!Rk z!c{65s`@yaF0E@t9`5sJnVPy12HW1nOWOX4F|W@``s&h$OeyCITD_k~CKv3_{1kLG z*ek0pzb=CB6PG$ub`Tlvs=4hp9g6X>{TwgWjwSpuS!LGu-y(m~4yG$i7EpbZF2ipZ zWx(eWLWm?12Ij0v!%lL?fT5WaG*OL<6w~2x2G{U7@pb1tj+S)6>TCI$ z;DJwW#I^jqEKJDtK;4XMMbS}M&sWJh)kHMLK|0}L3kCnq>|fT+J`XZNhd@`I+~!p( zQeg3AYw)BP4{{XO1HG31f)6Uus4^3u=+|_MNou_=Y=p%>xZ6$kiO-!HQBNxV5!m>& zMeNKs$nFpM8DN?|RQx&`?JmX7u2sUU*?7j^=x`)98P+g1hHEHFY74OVd_3+_`p>P15}C0Kk0h9HKe|tJ#0}+aa?4hL{fyyGvtXfgz%T&y|90C4tW$HsrDjw74Kp$;vpXCRut)?;#FUkA&}!Vah3xF;#j^-0WsB}(ZQfvv$0GLs9z zs5p;MzFOTEjEA)5FzP zt#sxmK$A*?wnQ~R>cT7>sP0A~4P0e)n#H+-2HV`_=t-K3NB+O;)$t!Oi2Ao%Zq zAz?w;JJg?!0&Y*68S$XOIGr`23&_f~Lx;9JL5n3J9I6IV9u7QV9kTcjt5omE7xQ#N z+|G~6L5JV*`IWMx`fZ$xjTR@b2T2~$B-2vnwt$;r=@3QwBG5Z^gr2I$Ag;EfxnmAl zC}EjZns}gA@Ot{?5;tU+^Mi!1t@(s4gAID|gahC#TMliB=z!Jp4zvi(qvX*ZQ_drs z;JCY0#|0I>^P%6fUKZ*`o46Sz^)&s$KQ-ntE{#=EUF8QM!j>~=y0`*kH6ZfM-dT3E z4La^()iZ&<-?LD|EJRUmw2JG&L_!Nd;BO0Cg%du&6Pa9yD7FMt&3>m1Xt66JIx{Lmx^M)OKQ~4J~X8_ACvX+lCuXGju4loXKOKT|)L+jbLv+Mdul%Fb5aMXGj zn7pV-v(OTd&UT`>VNM${8%1$hZ^AabLzAcK$T)k`D#pcePvE39AL^3)6PTUY%V;wm z#Yr}N;@f(Agtui~D@uvE?*wx1bXJjI%>|gZgaorzZ@@yec(QkoQM|Q-C+cE}MgG) z<(;wte0C`<&8(I#DeDX6blEXcUrTOe9tiu#`!HXrF&*!0c$9wh zw-oqtOA)@PypuBA%jJyN&mwOYKhL@yuI9Ce*U|KvAfew*8<}$jE7w8zq}m;FTbC(! z%BeH@M?qAs4kFFXC$Xf>j`W|_Je<0W2Gf>IXrHtzh#9T*i52c1ksdkSg@Z9Mj{foU zJx-JsWhJ<4YZ*8&Q$Qays>Nm3nWqH#eF=V^_O;?>++E8q=7UjvAVDe_BFO%vP7T$u z6m1mHK4nib>Ozyeefgb@c!Gz1CGFdM5NNgb9saHHp7gbSC4uJF9hsc-wy-Bg!f}Dq z*L#QJt~3Psh$R8XCwYt=W|CNu>V;IPAf~^RAiMSoF5EbuUOOWPzS#7KWz_y8FLicv z2VIn+Msu$f*v1SxqT(sNrzm8lLFl&FPk=wM#yDlZ8^fs7O}iF6=leccqag_&XRtt{ z&If}pw$F0x)LJ3_(+VUZJa2_}X6luGijA;IVzm!XQVpe3AP+erwP9e8ZDU`7{Idw1 z(;n&Nb|%50GnQx9fx$H)h z*6k&nYl`Dv^m!Umnr2doz_^&_F@`4_fJhM|_`T{rvUlf`gs*NpA|GYnEzUuaY*$$~ zhNr1asdVU~{1T@sc`u(1rAZA_J%%mWUA9D2Nf9;2 z3xRV@=IVD#QPh{QA1tbZdw_nHLp&J$#PRXO;P=r5pS{1J1| z@(p^il%3fg?&J}c7~bJYPF2-{^+maW&ctcfYiU!aMnt{4NMcjR3G$eVC~PG5 z1eh3`U>aE$$NpQgl@%Bn<))I5+a*QeDm6o|B%FX9BfTuTtt-l>$TK%Q>WcIIc!lkl zCFGN#^D-Bxrv|QbjylFix8=PqkVWpYf66Wxnx^(kmO=%J-W2cd-`q$y^~mp80j0ap zwUz*LWugH7h{)(I}dS9H$mYj6(?3HWIJ(Ay3iw zV$f#+wthFkMTZMlZFB$%6Dq7xn+!`dF_G<=nDRd`c_xSGkqc;0bY4i`FinoLDeKEZB6c`u za{eA%rHV_4!BuL$q?gSK$yfXv{n5$J%{nAAb!oU(e2aQ+u$1%MSpji7OIT)(*)%y! zzrGL)V&|6W>gHl`EhQc~AEJnke74ibS%AM?0lThMO{lDg1&cuvJ~xsKI~vFs#T3X* z?gwS1Yc1iIr)20};h(kT_)(n%`0{27AU3AVmUP$`y_Dlpl7ilCzD9pGx6OW?=h2Uv zdBshXfH`APUmOtZSEFnI-b{d1b!qsensy;Cl;#nY@V-ZvIxJldxv2D#+FRc9iT-!} z)A;n3dJ6p~HBy9gA>InW1H&gf1`onJ15wvrS+gnX&@Qmz!u; zjjv%olm%u-L}@ujvlYk60D}#2+5`QaxUtHI8C4OxT=F^Bhll_}D}s=Db^^Ux9x`GmyYE7TK`ThN610V1klS|As)=_yD!*5gh6 zDK!dpsbv$58jlGs1;6r=N$l#@qiRU^L$B59iD8Yq1m}bAd#xlW^w?6fx7*68|0D_; ziUcAdot}>p7JBwle@cqL;Tm?tf9e^jYN0PZ^0*)RGN?J?&TxR%KEl^pr8HXDXE$cN z$eD1v{k^wKVx zyox(kQl2{!^QVm?vv(#2yfAOV@UZMb?IdG0A&F*FV7`U zv{vv70y=$Elek@?)MTk;=&?pML9Na(%{cs?Yb)o(@E3r(;Ywp07Gq?~m^l$KTQ+`7 zr{A$);M_-sll4)gV&3zTskjj1YqX)YLg4YpX-Zj>{koURc86`%h7y79#LyW7lOxqJa?Q)WnF;Wc>*R}}+Cd9ZS#kl;tC_~Euy3V2p z$e+B+N_V)7aL+tfMZycU{or#Fe^86N^AhWQb_Y1}Z@1$p%QEfI1$7akc-_6U-{D)% zz3jNLb--=Kfex89$F3F(7G6SMH|?X{U+n;TMs9Krx#ou9h2{07L<`j{h$nxS{G&xZ zMLIakGmpF4?*|;-T7sPo85rNv`P>Yoh?OiubkP}{oLFKxJDEn_NEfM1Ak3J>j%UDzN+a4s> z2c7gpaDNWI1hDID8r9SUomo&(bR(|R$ed=rWewEyB__;x{~5sGft?D}eu+5voUSHL zySzCEgIuz#rGH+M0c%HZaeUm4hdvMlHdDzvi-dRYjQF=5Q_GvnC`PN;Mmj) z)}|vj;!>Jb{RmO0%!8tp6-n3YL(;BCxHx@gbx$EdiP?wD^Y#}JJ{dDLazshBbjV$i zM>21;6dnz~?rg&TZ!!#2+h(k!*^MKbjwqHl$xn6bP*XA*rp=nC&?tI14omg$XNZ3y54rNE1YziWz&g}$ecFX~MFu%;W zXU9RzrcczS5YH&{p&(TyBDTgqb1;f$LuKSHii6KaZpEv5x&>kQU}qflnphbuWfUHF zs?eaAj2YLz2v$)WUt%V)(POY+L){p43#nm5b2NISr46^ME;%mA^{dJPRLNnx{#lihsmXp^K+iJW72a7pS zm)n0OKMwiedV+m*3Jumzq1m8oYDi9Ud%GRgRcs43H2E4!%5x}J!dq$Pkz&Ec&)UAVSxZQHh;HfiHz_uBql+qP})#%a>DO>Nt@duzM>^8GV^?6Wg_&dknv z&YUyneNRPpnct?0uO0(1y&CbuJ~a1kcJr`4Xgqg=u5ULRax!_O$(Cd&aSATgCB(q_ zjm3TF*BV0*B>RLgSgVuHifFJ%rS4d{0zB>>7t3LjEdn!u%1zRoI)sxdx6i4;0ZhT7jG_6O1(OBiKS!61Hg zkrnG!>w6_$zV{4(TB)O6u#}2$OgmZcMl_T*hs(8%W1kiT7w4n*Yji-Va?%9bn(U0j zh$7Qk3bc_z=5(kgo(WuYY+#H`1%N642y8d^3LhG`u8$8)Ek2=%+9-u7q(DuPBvElL zY-hkkX5_ptH^i~F2v}xS-eOObmFJ#AarDl^1ro)??uNaox5C>j>!~R#c%Z!d81II^ zq{|SPqSFgnVjyJ`3)a>e@#0JFtTnz!vzNDH6aGDNZvai{Dz{u$Mk>0VujuaWDA zwrMJ$KNM1nIOt9FDhQ(A3QF$v7fPMEo?_9ud zryj<^X%|p{ZXfs6bJO!n+{BKBh45U+E`oh_V1zR%IOXwnVW28+%M^5~9l`;%`*dWwD|S z4Eb=1csub_gG*X&1j&4nqO^H}476GB|AcI@{X$D#x(-1;#YgKffEZm=!flTLAb;lojQQd zsxa-4bwcPIe}8Kv`SRur<*oUyh!?5!Mm*_}s2OF>I0>Ph5nUHW43~TXKR3vTewr0l z?Lvr?v4julUO{!_ysgl}7swAnceR#cB=gvV!kFz^t&qCnF5J~JxBOkP zhMFbNDWzI0vJ@=PLBCZ`g|wCRu-(Pkg|leBDi2ap^~3lS9V;HdJXTJIFzR;b-37Z# zN3k+W)li4#NDLwGclid+Q(hR3(>aXN%WRgB&3WsJCWHNN2nL9-h`_2d)lRdpp~z*|LpDtolkJ@i3c9c8#10a zDfxGECk9NwdsD)!d^bn$-EmT*C@^Rg5vSnY=_bXxJ7o;!4v5EZ^H+E3r|(*L4XAYc zC;kksvyq^^Uwc6gXx&UM3RgD2MKKbUA>r%M897l61_$9q=^6Z76E=AF6DIj?sE=hWX*pBO1s#J=Rz>n7pT6QgCy~$ zH)%Hz*Noo6veNp5GnJQeTVj?p(jj>j2aIpwu2K-!EH4Y|>&YRXWct^&5j{n}P*g2A zVbA%Z9d3Z%(p`GCqqhG!?#H2EP-(o0J>i9MJIU;v=>htCz9$?EK4inC(l_QvlZ|a@ z(})X(``~h!efSgQ5AxCIzp9CljD~3}CHG}zG(lgg2sSoxh-^z~X`zwzR{69t`)2{T zc=tgMaCrO!J4rAyo_T7v6sYJvmiQ{ZIDIVj;EML{xbdyPf4G`&y+nZ@WuSwQU@97{6N0TRIA@jau>QwePzQ8 zddBeM<|JrDKEa$gpcj z6I2>)Pysu=z=(MBp$O1>)SIK{*WqYGf4lOA{JQx-nnRR`ffoE$;WqYFk#T7e4ljEN zwlKDhv`%Sm^8yMME;9mM$Gn2r$&)hRzFx(|x)8wfBc)JmiGZ)_&+U(mRLz1qwIon! znY-&hkqS1XXvKE71DIUOFbb3$xyB6*kh0gJecAX<+FoCsX@R<>l?KhJUX3-(-BW#t zs39s$jj(nKe#`S8@B!_{L^!5?2OV2zCTr&8@WxXawn$^0V(6pF7W8QD$0|D_Uv!YN zX@v@Y$J;&N52lYsb9jC~9UjuQtv8WI>px_gp}e&CP@~#lj6{y0-kk&q(WwiztpRad zl@UQcVCYbMPatFyL5&o7Ks-==G`Bl8Nu?C}qLUg;OaIyQnB23>rq4M)_6}p8ni>Iu zy33Oy!<|j3aF@(CoMOqgl3d(5nN*l&Iu>>`X{LJ(xH*}@zUWismHKI)@igXM@8RGcGBb+kk@sUzdvHmC(=yWzhwfw(W^yF--`Ehco8_ZM2>&dRL7cP$!&=i*NdM}l?zn+ZUe zu<1egu) z-)Z}|)GeZMggxc2i@x9_q$4RYR*^vv*LBnyeBYzbua8hLoP{h@EMu#)b~c&8Waw|c+<8}Qo`;*6eu+KD#0|Y$Akc%QmjWu}!IGpx4p>J7G`QPLlu_r$k2Y%E_%WCLdj< zGyFZyx?ZJ^twob4)m!q{Fi+(2VI_+{!F%En{~W*@Jy-a*BX8+fLq%#YPyrb>EeJq# zHi&)3_mBN~s*ji|0bOcRDoQvccAWas{-UoB+j2G#Xlj0w(Ss6I>x5nzBt^VSGVcoo zjfdI1^P#b(7}!`T06m^ft3OG8wRnq3^crzGMr#mKCvwY0iY@WqBm{nw-5b9`w%N>f zfY`D}A{j<^RPTx#BZK{Wa z7k;H^wA`O4E0ji)a*^{aWV9`Jl9Xz9ujH%f`Soj^9KLaIl@2b_nUGQ3M^= zH;AMqJ?uk(NrOcR+Tmx679lUy6;yaeealTCcj|LoK)_GyXv!{`TiDoq#~Kc4+X|PV z>6z~Qh$bi8NO(~8wM3b)Pjryl>R9G=kx5=MBxlwt=5=DSWK}3hR?PteapbA{KvB!p zjIfy9DoSvb@j~cNp2mn1c&EE6`Ak%hb^;Wx>xsC*|JWN2HVn=rybRxA*akVNCn2|| zwYQG}w6O|qMsS+hZupnd!&u#{_NHK9dKwX@8L-RRg7QbU0P`#NW!)k2?*$Yq#RqS% zNDY*{hifXBuDU=?<@bq}8(-+k?pW6`+BTs!f=b!*QW{}F zD2F!Wa@;+Y-o5^YC|r?RJb^b7wV-)9uY2rdNUd!l9k2YaXcrz9%cm+hNqW^W8dkQE z@KsQuH2$IZ3+ge)7hdwru$8N%_^NG%W4HqGJ5;>mCoefBxN?Scx9WAF9DaxRFKVHq ziB}~d6F3?*Sd($D{dAq;Qxy3r-it1-8uAA8$PXex8_aQeSShVI+SL)TJ-j8`z9nnn*up!g3g4T zc37n>N+Gega+m6t$*wcaabiJV%wyp!uL((0y1VF*jmPmj?~&7DlKi1`nHn z6CEjOy{IVV-Efe_;lN#S`({(gZ|fTJba8x%H`K>YPdt+7J2$z6lO^XXj7WP{ZZOaJ zSlJz+Y|1vH>#{yH{{SA2qvPqJXroF;QH(isbIcmPuZrRyt+4ThmK~Y53EHp*0}+ z#++|lUZA|W3GA=d6wOQa>qCNuJvyn1s72*NaG2$SzdGAzkxxpl94XErAUAd~3cSen z_b6yN4ElJcLz@t&HR781Jo3AC0faHq3_Za$oYDur*JtEi#HEStrH#7oap|JM5Lm@Fui@dt>aIFjn}Z z<}X=hrjyeeGHRF#ebg-px8!{t-vj*DK+DU(If<&%FL=l}rcy%X`eRKqsylqZYyIz& zw;^p*?!zk9Oy9lCk83l8`^75NIP$Jp0w*}+p-~2ONH;HBoTo7n0eq-`mLGzDEF4GI z_mZ*qq)03N7qgzK(t`rCy1mnW#e7mgQy$uX@jOXCC^Cdg%1dat0z4R7;;lxYwVR@x7IVKGk=&lS#~U-Q~(CqX%> z^c)qJ64Mt9&UGBk0MI-ccj_MJ6xT88kmMT-BI|aW3CJ37Pu_uitegO6*%W&FGxi8w z!~e=(sXqohAG1j~73r)s3l*CE3gEM*m+upAmi(^TPQEgu!z~Tv2-f|p;eR1IoG){| zq_m0yWlp5Mi|y>sL5d~?5TF|q?i0UzDu?V`V_&RB^j!^Si3DslUx5_0wnxtJ0>;CE z%DRC9JA%lD4^z+Yr==@gqRvB@CpwNk2W~f9%YTjMZ9*LG|&n-UshgI~7%u81#<VcZ>*wWKlNUOL*mZSo4`=L zbHOS;WFv%m)NkHG6SmM~MG7Z88@B?gYqg823Ex(+tg`_`vkpj8CoeoUzG~_PxuNP` zNe{7qae{3V%rZ)XBn%WnojF$XZ%9(*i52o>omn^Txv(+aLa5i|RA4ph=ZZY>PSNXH zD!Fv^ z9`=NQuiL+7oyA&--J!>NcUgllQ+*4fpZ9g5fxM?$qST1wu%N`*9@?sx4@Hmr0J`LxDX;J}buax6+hkw)os;<=bnyX5x8+(6P%;YswTo$>=Hb7(U4Nt(VpqwdICU7+n;O?T)FUhMxpOB ziy6pRXD&>R`(*AENf0WmZX<7w-%JpVdaufdSP#i$+;DaMifvmdw zMdyhvi+|z*La};vkeT^!zcj`fVS8Li_VacGSkcv-QG{s~drx=v5w((muV|}>k8&dB zjY!cY3pG)|+`k7&p-5Au&lH05V`mCwLU9}NbJE~H1khP?zQlu6Kj+4M5&lKX6t=Wh z@|L5QO4Os>(m{dD&s#cjf8m|iud}Rz0*n$MX_NARM5fnf4-T30p)Cwl=$;THif2W| z80UR0EZQMgy^RpBIOK8%;c>y;Mgf!az_C=V~lvFHH z_YkNYHc6gDU6XrGwRE?(r@)J9A0z4Uhh`EU!Rx6XvSM zBK&zrrvH&*%8pj+1HdRRsSJ5Z!GPN3y49fp7FCl+EX2#rWRiZAde=k(-v3VVZ=xjS zZ&2Oc8||LM6YA9w&D_{IbJCyU^K}q#f5Nnh2u|bZ8*-(Mm zlJ5e2Rm=_}pZ>H@5`5ceTnG}Y7fLwE;h~zxVbBiiew11)-;O+yv}>$^e62FEf=&(| zpGy1>c~2pj+UAyLcL|o&EDF!%$SnF0nFYuuZE#z!T*d@uP9&ev>91|VgRYxA_5aAY zBpQeLmM-5X3!ZPhTKJZjIDd^>8R4&<4<|Y_xKJqPwosy0ctX>qB#qLCwO;_Oq4|{Y z*Z|2rbUEK6<~h)F!@q%_nJYrSu$vk99&?b>^r;}0cxWMrONj_mFN2jFQ7)G$50r-x zmb|PP6bWBUs~-di{flYGF&t4kW6l4OaU#@Xs_&OiCrEgrZBmtoUIQC7-KCmj+@xWm z1oDf*0cwZ4x~&cDs1p?WmrYm;!{=l#bVP!fRz}`$LfFz>&Um=0Mlw9(VC=G!a#+P4 zL5OF}afy+I$R-Q0y_=coiCfwD%*qV5&=Z2`*0UZgYJofs8IibcQk0A-?XS%Mb`CsG z+lJXGI>YD=m^RFZqAZHMVcISknHXLEj;FZ~}HCqoNn z;9KNv_ReDj_28SsMy8Yx|kkOZd5v!JUs>RsKO~b3JV54S&?Z zhx}!+H@{=mGFtoU0pYruQUOrg_;ONcjGwd{J<&JHlm~4$tMO@|-IV!=vPz1dSR$P- zc~>t2cJ+MEe1+Sx-oTCtyQ;~6KRdp3YKD($tc69!>8}motg?K10Cqm9cZA>|T#r*@H|ivpY6!55v#90@|!(kurPc~9j#CD`qr ztup*d?`6;-CP}mjEt=XrtO(F6E>%ARehzr1SjV$@lS*<(prbDe$Jv^XsI4qG} zx2}OZk+IR238dD%DsLyZj9gE7j?NdwG2aGZ^bBA(yS=Vtilv%%L`&S!)j3>Wre5y^ zASmJ}`$*OpElt)&{}5ATIs~QYX~L>@`(3e=V`|Oe9|c3 z51aFtf2n_lhse`qVRfP)zPmd+gpjiEJzhAPF29d9>BBI|f|RU?9=()rD*r`%i(6Tn z#~x09Kj;mdsA#U~1>W|^W{=}vFNVe^MoB6VXhS|PO>&_#Rvqril-sKL;fis)Ht<+P z+Wz5w^3SsVIt_43ms;*1;rN_L!dK)GnalJl|8xUU7_c*TX%b{WuZMIpi$(il6ZwV{ zKS|ue=Pf93qS?Qwf&`9xB*&tQMNq7$P$5k<%30Scn=UBXNZ&7>W+}fCg^C|tq~h(e z9Qq*OZIya;GVrz+&KkxWEoQ~vj@FTrqbvLGG+cuKyEf-^I8ggtuqU%dJUd1=$#^=G z*qVpvumj`kQDy(g8AF=s3b?h^%fpVg25y%5FQjue&|q=SL&y2s&DPJq2MOfZb|OQKcF zyF>+Y(^t0P5b4uHCFH2m@WwFkN9&Ek64H~gh?L8i;7$8DO2q7z&(wVHDwA^PfQ`Cq zE9|4K70h7>ONFD95^l`f5jb=@Wf=@HFj68YHt*mZ{pwsUwElVL5;mx_QE{@GkA&e!GDhrm|oWQZVrSc=d zyT0bEQv{be`NUH(4&t-S_|OTpGRkYuRCv!VmG+ulKi({vK zABiOYERtvq1&=gjm-z^GTWFR);ltc~!iAVIF;kX#n2ee%^@rC{(@H49_O+YNe&Q~W?F9B~mCG!JFv~jPLK8*kRM~+%ltK3ey zW}t*_3hd_^W1S53nK^ zW}iY1foMCWmwW>AY`v0`8#OKy%D5aXr1^9#jdQ)tsK3;dLe-f$ zQbW->-0W3jta!@61WZiGIo-Pl_*O<~M1c<*Gs+GFKD{G3*~AMIV9EjP+KPMp1>{r7 zFHE(tVU?fMBfj+pSQv8Fvf)EZ7PsBX;7__e{PO7anvEV|eL>J{(FQVfof`hCoW zw4AHn^B9ONw-k(ht5LZ82C%)SJlB#GKgLc4aj2yNo>k0>s12JN@lbJwrV?1FZAm%p zanGy{TD1G-FawpF^n2c*=xKQeouF$d+=}F|heW=|*d?Sc-oTZmrjMzUj^=9gg1|)S zY*PeiSAV*)3lQ&2F0dw}hI=xc37s<%d@0PUbzg3Fw7=9_=BcnuWo??f|AcM>Z0pVx z_-m)_njEGfYg4ReH07MOSYSEroKjQxK^96P2`L+Iu=W-M@#SXr6AUulh7HNP3izFQ z0IGuBfC9@K+$(Z`tj>J}=49#N*vxx`r_)l&|1h?z-{beA%EWZpl94eA&*=R@pEc$w zN&?un()v_A*jrR8lY2z$@WkaCQ^!in3gj`v4` z_irq4I-(;agIS^xPZT5RAA){p$WiG&XAGXf2)70E3h1uAuDu{GYSHL=305)G_Gza) z(Ci2tr8O&QgnwgdN@qv?i^B`o#uV|sEk|K(l7(kX2r?N@|7|Ccb5VT@WSQca_9;NQ z@{2&0ef0rV3gB#OP>C17>!Ih>kv@xp1U6JA8ItnlFqQdr*4 z-VJhQkwr&2aIn0$$qV$UsjrO$og0NJ*MRW0V?_r$^7l4Q<$2S*F5Q1d7&}RKBTw!3-$v9UgjF}d^kywM|TeiP<5u21xRZxQoMcR z^+YHSJUxuDaFXjg^FFA|vCKLVDzk00&xcYhlbjXd&!z|6-@+#i|9Qny0(JfU{Hb!9 zy90O7T2u%jEIL(DBixdCO_ml}!2%^^qCdn1i~6GOaXmKuW8d(6SGQoY6ETZPSgGVo zv-bGIsY#Pp2;J$@V_%6!vrZ4cB}wMa_3tCc=fCKY2M!m7cD@2^N>$sYfcf%`Cc%A( zD)EMB@N=z&K>O1T`>QO$sOIeQalp9Ez4Se>*ilks2^4oCsvIHX5g6n%4=#4A{c+fzfL?*yE+~G5DbSV-qC&&h4D36I|(vG1G#TT@B2|;ax6W z=JQaB^Gk~%NZ;AjvK@NvRBBlV$v9!H%AnVd%gufzA7AA1`R1*yq_KLAULT1nmR+EWwkH_B278X#YU)W|uul&`aGx z+a?VH9BKrk(Ht%dMizHevo3^=JN~sQhk6~&tm>dWP9Fu5OgOCzq`L1+u$YIeTz;5K zz)dc#X4>#eS4lG`81H6oih_;Z-A#_eEAAe~uiynpXnnujX<}-oFdFj`zXNY0RQ|zp$a`D}9Q_(*}_j7bn`-HD>!(y~H;rK(b z*=vKmyJ%p=C-EbuZ;_Jp8@qenI{7!QcBUZZJ>GNbV%k;0>+!G*JhAtmO_mPHYS<>H znsjI&JnuC5XYaLwO>#|FRna+MqusBx4zO%3EY}3lO~D?vwJ7jcja-8dSXn92 zECp_s>9p|x&k|&(FL0^wL(dO#VcvRwJIOHT%J4Mtai;QE2SGeNYw`#Feaf9#H=G}T z>*9CJMnc$XYiwJ5(B=@TnS&H9h+bgtlRSg)WId3b4*$)FR}2VsqxY$74O*aTXh!%C zQlfN4eWWRu4PSWdg8!P1yG%lPmb#9~P=l?3Z3fifxM(2)XSqTq58#)cwg$135Z@Qt zTd4x$r^crFhfFI)GOmX&$Xc_WBl;wWaYvD9!sT4W*t=^_6E0u^7vJ%};TEQcQ*RLH zV|OyuNxO&k=k6jK^*${GfT{My(siJ|=~tB?8(I6P-V>ayV6>D1J|!YutAbtqq`#E3 zBRk-q8!q#HHVY11h4JLzEw{acS6Zcla1M!YYQrH$cK$BOW@o%QU zdLmxuVP&(o&V^8rZGufDWbAU>^d$^=mFp@|Qv-TbW9XQ$RJkbD)~Lf`Lfo<#p|#_Q zud%OYAEiPBhf!4aGHJ3muJA4}(E7W=A2h4eY%l@y%0xSCfrfna07yEPIWf+_e@!l2 zFu`2l6>JtF72@iozDAs6v}|Dq(WqJ4Qa(lSQIiyxTByLL&ZY)Ra5-pF3LE)6)y|;K z1(CPV8ETRJlF#B!p`tf-Cd^@|a~i2n37VsnY#VZN&t_3R05{83qri=-l;#|ut7xo8 zhrBoY>F9O>CFSb;BTNqO%O(w3#x9c<9N*|8Dl-8qlsY|s&p`N~MUDdxy6yPRd@C&K z)u`)BEe(W}aSVQhiPYz~IMju8$;1!X{F$d|Akk%5HE)1C*72~+3RJHztJejaOS3vt z$mCrA5n*CVs_EP!Mn55ZlZyPyzAR%Let`Z)?W+G}%3i}Nw<##o+Sj%oI`2AUWJlTK zx2V2KBZqyI^{K;k!EjIR5czF~R=EHHtv0xE0T3#2?lB?@Wv7m% z<290LOO>%FxW!^e5!TEuC0fuyYLYI^(+^g$d~KfwWjenw8G~>6)@fAItis;O0_+D! z#m(ypXRtSBjMGbqW`kx0$AN&>9aSh$uIg*+4xl8TI{2L!mli&&hMnfQ2{lA#u$<*r zLcC~;S~Tx_u)n#IV*-@pwAZv24)pEO=%QT>E0?Ke`=O4lzf8p8jHvJ8*r%fX4ii5mF(|hZ}3<6ek;W>#vC~*{fJ-mRJBY$1ImnXyK@S($05o58l39= zM(aNsCp2I77Fz`MW&KOyS=`yl_n9puN{@eu9Qdjp*RTpaD1O}gmDG{(YHAhRks!Be zhb(4&l?OxWsa-nBo>uS~tH-w8(6XDpfe2MIs7mPp^Lo^pFp1ZXk(-T5S0WwhH!Erc zt~LIw(*fBf2YZ@GTQjw$lyPkdF`L8Dms#%>?gyWx-qN%85LA@f*jekq*FAf5hNxK~ z334%Pag^q|U6LsN&UkG0Rr1Nsqvc^Bq1wDP8i4Y&MxGE#l53XqWA!*SQug8Fw2zt_ z-lt*6qSvk(y5bgWpi2E4^jgt{l@yKLluab#q$hV}1(Soiddh;q+tt>sK>#wZU?hN` zk!-(0jERhEmPreBqdDoMduqZo>vU^%nCI!D<4LOsrO6zMyC1_@zL0!_&^xT1e-dbI z9xnDV}15B0JV~ zlicv+vEMnfVAhg@jW)yu$_ z`Y;%l4`m-gU0nUcw02hE)0p#a=xUCGlzjMi+Cl9>Peu5- zO_UW59`bJ2I7QEk0L4S%pJSfQT+OH_A-dtRaByptWqUUHUN&k1fjggo5Y~*!WQ3_c z^(%o7m^<3HKuzv(x}voD&{}D0PD1RN1<|xg;`u&}5_2%CCa=W?Fw2b?+r%A8EZS^} zvSN}|bo_f@S@Z3Jp3Cl_t|bi__D_nPvJ*#1D~mo-xjSVmf=4OmB6mu?B@pCi^%#!f8ArD>A(_8u<{1P@gev|lAlXK7A1 zW1QoW67=vtG&h|G9_1Y;D2_DGb;u8cy(LyBB5cRrbq|;UBhZ^CEH}zPx@o; z#EVJ%4!=+9*WtRCK>Ch5OkPt?1y##evkPLtMXfY{(ypF_G9(yO@w1CZ3Qhkt|2p<= z93ZzlxPd}6o^s5A9NjUxXK7!<1&kr__prkgQaQSSOv{D35r9_EI$V!eN~+$ph>B)3 zsXz7Bg%8_`Sq#F;0S!tJ>ly08@=Qt#@oKMdnSi6Dg4gw#RFMWRjK>tQqZO(HV=1C$ z&i1pArx#wck$w}AEW}O}9B@W*3TA+o+NG8razobW)NKroDu+u50@7| z$BV^n9owA;1L_T9O>Tfh&Wp)q44->T>P+ZPYMbF-r)((IeNJ1OemK%d#5nOLUTs9G zPz)@nx!rb|ESotzyAXRN4lS<{6i!Jt6SdQaZGEEDESTfbRjX6UUx;6Oua}{~^fI8A zNmNQ4am>@3WVQL=*^pwAswbtRb>ni)%d}xR}Qo+rSpaw@L(t zy%Fg5)u{kF?vbEHp|cRrHd~V*!k&R0C86M%ioe|&BmwH_3K<#83{d;$Ee{LXN0~Ax z1;NK;RJa_>+sUgr2LaQ@D@}I5u58ok6?6#4LGDISB*oEO%@zTd`TkKp#+pE#T2xQp zBrUhES4)Akf`EVJI0o;fcuiP5^{64qsRBZKdTYiogrh6gvXT>tKYB*W!@+=($pI`u zIO(!*NMsIeQa9Q)0g7`&=tR>Ah%cMQ`~|{DpR_>to>IO3KEh(s+@=P?gx;#7=f;Cn z+3x-D=`=JFdmf9KS8uHgtN}3oM)oxwe3Q+UTj|XD0 z+&r1Npb*Nc`5)_#uwFox!kM@iXz%Iq?4y8hgIf!ST$aI~-y3t5wMXThk2Eao5Nf=i z`aH~99G~z6e`@GmaTvJ0e7RSNIFjA{El2$%1YBAe`+(U z;{u3Wc+w0r5~rxJE8r76ZoSp~0%baQMCw930k`+xzCs%iS-IK$g*e3b+Z0AL(0=Ik zITt`*JWJIBm}02q#TV&E$g-_X^+$jw*`YIyv3J$ z{rY9mpiIfOp?&xo-fxM(&`OG>S&_|M*fn5O-iq@AgPi!DHx5)(Kkf7)sisiYQxV#9 z9X)xMLTJNtSuLJfiPBn7%p4*gY07A7B$s47UU-hW%KV^y+%prZbJ5VfO1~9lux63U zBYkYItfc}kb7H4e(2v;pTMT{0;bjN1p)GAQB1Y&hpFy-3FvW&eyF#+*% z;oL>+;K*Q66bP114eH}d;)?|U6h*MR4aL-jY8!r7WH9MDF}o|Vx)zwq$(}wO`(;w-bbXtW{d=nKF zIi}dXqgq7~;MUS3Ls>Y{_!8Nt0o!1N{ixw?S^%PX?N_P`*|&w%^pm`tR=u(}YKrD! zP~>0-pYgYo-^0b@aKl+8QQ)4UfKeUna2!HO-FFcB<=m^I!#IZ=SxC+#1OL@s=#VDe z;G2uIhyA16HRoC$q2NNViCH8aA)fD|)O-O%vfbt*QJ)!H?K>{b&|9B0rOG%x?8?8Y zA{5wKoH+6ayNmNy@u2T8l;eCsXDed^`E9-->l5(2Cc7(yn3{M={7#4oCDd9_%S*i< zVYc}=Wrmd10yNzryQe*0lSAmxP8vts7Qi~e|4Ak!3oFd2 zRnqY(fu>w9XtJ5IvHH_z^Yp+M<+TGVxH4{_e43vS?BM)f=QiUON_CEq(+|{EqWgOA z^1NZ0odK@!e~#DmTItV_74w$asenSYXm2bbj#nkE5f}@nI5_G5p$8(v7kabe0iWu@ z9t;8I%}b94gu!Z#NqP-qu$6HgTWY+LAe6_Z>V9@8CTCQy z7zqk8H{&PJA6Wm?8E!?;ZJ*bQ3!G0llfjO18PG8I_w0U@3qwsW!Z8}&8`vOqKVgk< zrfaO$8CXx3Tn$F_QG-qITRo!i!%BpZDW>H5rh~1QNRRk@(UOoAILtQMsFvmyeP!`} z79Y4;b)fGFUMv2qe70{B)a80l;~MKaT6+ALVBHf7=f>sGYOH6P(=MY>il39*K)eBg z-eX^L3K+V9E_#O$B; z%J&67mwf(r34>rSsExRlK}g>=d8_zj{NvtF)i(k0Os$o(h&rl-S)k=21&DaRo}9K$ zK3VsmE0d7SlaNLF&p=BqI+~|h47BywU4c#S$*-6?8uN{jqucIq4ju@q6HiQvA(303 zHZZ};L|JCZ-$?sJh8cM_?> z9l_z8hYJUyvZ(SFmrU=|HlqK`YUW3QrwTt$eL$U{=No;uQl>UXYA>5*%Ya`?ua9b? zotUb66LuPuk+ACZne;aRy3%<_4BN|+(>mvL5k`gN2p>rm1uoX``p)7G$MMwyT(tyi zJt}r3`7BwYe!2S^K8~ZO0=N%AI|E`QHTcV<=?3902f|-&(3Ucfa>&YmM9L}Y7s;Wi zpyMOKFWyq=n`aJm(=SsxJMkPTvnjYEi*P2sR`^IkTY)YF62%`R zzaneZo$AfR-HcOKzv>bQ-wBQuxtwYYpsK$N9LBD(u4!F%OoKNR0(z>H0CLNyRnsJ0(CU%!JJ3Fz)Iu~&IU%eQ27?Q#wX~e zF=r>lOLRbmY}Cs6h;5YDb{BM;nE-}AlvcSN@JzccTpSz-*SdtNsd0AV_jMm@7$j{= zx+1ORmkgo3&E-)Eo5YXJW*zqlEUu|C+I<=73^WsiQ$&EP)nfzl*n_McIwX64N=O8L zB_!Jn3@Of>M4&2YLS`mrc{CqX)nq`iDQK7dcx6k3HKoR$r=88Zh%M}A)ufQ`Cp$?5 z1yn(gJT(=M@%|Dow!CcrL7;JODrdVX!qq{iMW$1C0dAGe!|&0{3`c{9);`pLsFk_@ z1X}LP+r4lE(NF2Oq3eBP?#74=ja113ms9?UEeEth7M>WzQ@j-7LNm4_l(5NBRrPj_ zfKP-JZFZ&?0o%&XjU~q1q3<>cHGf7kMqQa4FO~xvGgsDJ!oI+6&N%huxDR;Yu3JsI zB(;R?3VhExs4<{UjGtlwC|1P`|32 zUwmHIY@;X1Jprrm*|QmP57ZVzrs9C5itLg0SO-S8(LRe9S}*eTq*ciVpq+VqLnIUf zgRVzaK5!cd_HAF<;s|8!j7q1=0r*=cC{#`Pyre)wE<|uPTzt;+)rbh3bo-0xZQ!*RZ9YfLZU)MZk^>}Y0 zzhzg)EZ%^VuI}wL2#PMI4%V~(Oq~$6H>gOfd3_Gk7+ck6R-Z;nO}M7;!9x`O6MSJ)Q!qdG ziblV4Pu4ll=+(F08LO_u1s z=$Au!HHXQ5Nx^cGUc=CQki5`Jh6X57lsTJ*cuCpfV5+$g=T7+EcDua?e9`)skr@HW#2JKX!V!GyGh=cByn z@(I2fUb95bLx9uSMr+$b9pEhYdagGI$ZaN!K^MVB*iHL=O&#)YX$NCDbZb zyW!x7us19A0&N>}lvbxhLtwPKvEopI6xp(NVbC94NbfU!XiQ}s#GLHEQNN3{gD0Zg z;X;Q+B4~>j1%AQaEat|E;9=;wSGUX+{w#S*WyNSF%97S<<)$~mYQTNybZ)&y5a;kU zN9{zZK(z7H{nEFTmUXV0JNn znw&5>%fMlL`lTE6NWbC>Rpgx2D7BG@xm`ueKu9`Wl;O{V9Q-k2t!ZOGaZ%H(G{T57 z;#94|j<+MR>x=u>(fW)#rbOcfh6MI}Z*SveBFH_j{?LI(sfeOaoh^L`TuO15GV!T} zx`Ns__*r3~UY_;JN~j(D&4VRZnbb)hte}ofBVSVw*j8wj#XTmRZ&~RQ!WA;#7_OPI z=nv2r21xaer2Fv~Ri&H`P;{a`PyZ`<2RuvJAyw_&4m}S3yk3!w0zc&3U-J(cgEYN; zr4>`I1A9u%rlX_&qlh_SRC)1uQe54EK>@o7{fPxnpTkPc{ z++bMUQBqC3kLseM;2vSrvnlB^0EkLXl}Y#1fb&AfmQ(Y*z?jUt!fyk30&izl1jw)i z6Y}GiZiYF*LY|LhyZK=NsSKQY6m^Oc?etS6l*c8h*FG9fi^0(zSzGE{jC(|=Z;tLU z$0joxO>~TpGRLqNy8gDd;_tB|_0C($(idY#2j18JBYxw~sC(LnQFD<7V+K`6$Ri2; zN(WpdDF+Z@Gv1}g0CcjoteB?{ycG6wv8O-+%u1^e*Y>T3o(89{$>m0XW?A(@aRMow z0&WTOGDE;qxuI*7!S&FhPrG<|nhf}^z+mY{m@z!+SuP!$LKj4r56qQEyoA-=W8|Iq zPJmyT_H+hf3+1-UKBXgx3^KdIdtzJkCyJYsg32_{gj`=$Fv>w1P(2(_YT5C>Nwk{O zk!;jw>JvLtjcTqv$+}K+_;rjJ&E593rVh7?h^y}yw2A#6Mb{kINYln^+qQeP-KK4d zG)>Y*yXU)}ZN6vgz4vVI#%NO8wryN(>&y4=W@jG#W_BjeJij5)ylp>gf8{qCziX1__p!=U=D^x!`ocb@#YeUjK*h!*%*j++y<|M=N=&*XdE1Tj=4kY zwJFv9&izEpYxq56g$btdY+JMp;)jU^^+m%kqDQG6+iq(%#7B`%)Zs?b(buTE?eo=( zc=@E9n&2^d)H=o8@r&v*Ka8AH^?d@5I#1c@$%SI!qnGRP}Pb9o2_gCDR4vt8KFS+lP4Nk2GJc>G(H-no5d&gpt z)hslalN~Qy?^g=#49;5lTsR2)N*$3&7o2Sfh}b!8Q+b^%o^VVp$^IwxX>|S&)VN5{ z;HViCnddN6W7Rt)y1iqB85x$Vx<*_o@n*fCpbou6adA4J+?c2bxRzPXS0XLo5N~sd zkqm$EL@s+vIv^9`BjQ$f6%GK0QoqU$x(&bqk%Y-@)q|u1ye!Q#wt2KaSl2%PHe)=C zS!r5oc$WR05YcpY=yvoS>P-g?Rq@18@=)3Pxivx0|9Jl=els%++@Ety_&>i!=tRh! zrTXHVfMN1C#qG{{l*y>zk>2_^;$=>a{%vz*=C4@K_Dj9(*lOBaTZCp4&z9U&88O`+ zeht3pIWMV@;USnaR<_RgmqN3_Ld)L;J#8i_D-}B}QXZp+hhrM+36I&5M#iR=tSr2D zOWlADhDQx{7*IKws0(~3WiIRp9fXYiUI~B7L4ec@jAX9oWq2jLbn0Q%2uX>jsQuac zC*3+GsH?bZ40nodXLCU7EKiG^S6ML~6^?~lyt2jXGNVAl>|W6TA4Awb?9A-BiX&tj zzJsQXtug%-Zg+QMXGqK+dZ9H{>k!X?e7`byW;o0f{^k8htV9sYq0A=nFJ61#{P3cw zwyF%$t@v9y)0X=g?y}1H4l$ z6dQE!uuv13@Qzh$0vpP54io3n z+BdAi8J@9@?a%w_Fdft@4yDS^k{$uSi=tNJgZNMc;^+!cd=OYjY*)E#??StPHSOhg z+==-~-(#~^^8}wl?kLk=P!6qzru{#<7yI6D`*h<8y zezN;R+lOO!eea&al4y_ZT~v5U5OAdMzxCe%Wsp(m<$1wnYh(u=QpdznpSchJqgj1e z1$~%u+-*o&I0Ff8X5A6*^JK#Lk>+FT_34B^ERJcm{zdLX(v_-vGyMV!X8qWk!Ugrf z)no@{8wW4iAU3YsuX_=TplLdID&I(M0y^^7HX*-t2ouJg##MWh>NtLe5+*m<$B5;% zy%QVZelXwXwy=7h3|N*DqWH_PmWsh1>^a@#kK02VwRcngncNHP$nV-}^woy_!xttu zYkm7wuJtN#5^4RUGvUbQ62k27Y}X_&_$ zkZxDG&8`a~Djg`bw!PRAFiH5PnQK+WIF4sENse4YrNiM~s$%pU6A+QAr-*RWqRHc; zy7YRP7#y|PSy(PA9Vz&-K9#)azKik*Z990ntvDuxKC`VvMI*T#kjxhmzU;FLHi)zu zTWAm_#4vL#4{LSujR5cBXKP0SdLi*JyXg-#&xv8|1E#}zSL4IU`DG4Eafl@7V92)l z(8|}OMb5k-)~Jm059vYW=-h*lBxnypZ)vQ|gB%$Dk3Q2Rp50A6Q=LB3A6f)S1+6S! zD}6~;2rHR5+JSMUkjHj zxTHDGStHQ!Hg}nHwtQl78zLRr8LB^fqdJWk%$70xq^me;^rO6aqFfLn3a@8$?G8%oicfHF2 zi>9`_e3zzYhJpvv{#9T&K(r$E0FXz(Hs*?8C%B{TjZWp=0w!tu$#GIF$QQ4EESg z@r%CD7uSWshEaW7E2XYxxr2_WHA)BUUehyTo0@Ko(jx@(oqz6{LkX3f7N4abZal{6 zCYhD%FP8@UIxFHoH_4lQqDB>@A7AZp)NvjCuEB@AhaiWznNs)IP5Q z$V$xAD7Rc-stF>|H1jt^aAGgSe(rSj1>#v&jzy8CQ(^*;mWL3H^^BmPqW|{p>wb@^ zqafUC#Yc1IfCow6)L|gF~Zp6osG${4)lu-!ScwAaFCzsp}cDQlwnVBs2iI8zn6SMQsP`pfSqY#w!Gz_sfx<{t{plO!BbCXbIUl{;Wwpc0cW&Gha$2 zXBa>v9?*Vin#~C!Ym`WB&Up(_4hlBf!u@$sci}j{#MRQW^CWxrphb@Q{bVQ5E>l{b zYu`%m!b{cJ%#wqPAdT?aQCiD7?kiQ>ElNBk?<}y!gY|6@UcrXPSU1Nd!%Eb4!i_`D)4RMuN97Wik3`SI@vTls(K3 z&|A`|3LpkDU)j1VMW=^>87UrWW0r%gL!|%8uB@H+Erb`)=pL_rQWOa;@()}Ns=PtG z$5glds$`lT4ko9>seQN9V!t5Gmd349eU{+g(F0wT13OU0aA=_DVo-G&;UVLN9YfwV z(-Nd5b!hsVRdUXg=|u@bzMid=PVC+`>d5Z!0!Sp}#I$zLknA|wQF|W-kC0S#Vu|m61&%`>?~xiHqvYUoLAU0N>Tvj8+5=}%$=i7m06TuK zv8+yWq5-&-(Wa1L`-|B}^eL}d!~1wpYB8L4{Sn9TGzcI1dg5hsJ?ilWh;oB70w?B>b<+4NG%MGWV!Z{w$!|H!=0DY5q(*^=lz0tcvoBm3z%;)}Lem*R z-@?~bPb^;b{{iobZtFZZ+!US(oeM1*?`j#tKBK(w)?0sD{(?BdP_sWIJCjWTe)5hR zx$Af(xq_$CMO4hJ{;-i`iJ~CUCRZYDGghwd_55bQ9{3sByc-zW6_F3wht7;owG?Ad zQ*3;c*M3*%5W^VN4i?fGxnY1&{0Y+zjngTDljAAdHF``(xSqgb?zq&rLny<9c(&r~ zTAueCiXCpY*?ZC;Uqm!WOXx=UDnFLRsbMRRy0PlqWc-DR?>#p$#*m`n%5z zm4+ullgK?Inw`$k$Kca}YqRKvPcfEMwAY(;%L*Z48y#{|kVq~#L_W!WV~tUi%Blyd zc^=08TIK?q29xPp#YSrUUf@Hfgi?!D6Z;FfE`Pt|e#hgC=fvw}Et}gt8mRfPH)^je zCizKHu-Lp7;^e8|EeILq+H-s8PBspMgEsZUw ze)hm_YLy2Qx9Ak7FXHTwkC$XH-^o+bxzN`CMU!_zov$#%-coS^QRnJD&ChuUcKb((2tq zIT|C{pf@iUPy^3n)>^(z_9G175cEPPd1Nm#AKD)|)Q1^(7?BJCVP(Vjy2()skbTI< z@#VIb=nL>zAZCWuB#U#Tyz?7g_+2+2V?g!r-m%(N^%3t)t9NH^;>tG(H|S?v8bl;Y zEJ=L~b;nwXgvv9qUkqr`gAWk6gS(nzChP6A;exGZj`}O49>3 z_yI;*TFWWHU}EAfeIZ?|WHfj*`Lj-%{=LLNP&;)+6KN!!U<78TT~UWj5_nSpkfE>I zWOgT>2MlBmDRo+$|g0_!Kv_#K2yE6KT$|WhH!%k-fGOiZi5%YA)7RW6qIxl{}(SZ4i zG+p?w#7T!20{ylM>LhXYssf#7^Zlh2?O3d97!JHv-kuu4(2QjwS?x$5J$O?DcOX z33!u}>h+H5_@*F0kwlK+WlbwVJWza!2}vz9qY3yBpK30t{3h!dFwW_>dL*xv+d__J z8*giuZphap=P^$^2uqX~nUm0rGUqkn&C)f(BF)yleB)&0JA5AXU$1j32DLLW$&_i| z#d*a>Nn9r!7D%2BY;B14f?ouG9piPzMm0cL$kL$$eRm@GP<2FKFL8J~vI|O$n(VkY z-ig=_pU2EMPt1r1xKI{w>vd0;YQ2wA-SCQ4+c$#TrRg?A_fnE*tdknEjC8Hwvb4;$ z|JX9XNOrQ~A&Up`eZbRnX^j&`3khN1$>f82MmoJIj^Hz?2mVIb)CgmLFADhnzOC-fQo6%RFqH8FRZ>2vkIs#GJqZ{?e<3odUN*`(Bbnyid9 zm0JfmrgJsZ^+S^b!AAZG(yypF{i}v+w>l zk`KL!H0n+p+kv3N9ypu&j^!Vo?`YOU*%GY81G|fCUqC*qST)EPk%$H_B+eSCsP$xq z0QcF~?GO^%N>quLXv$uu%X9S^*z54lVENI79&AK9q#CuWV|a2rAd2!g=3@1^ja*j` z#&=RezL%W5)rEL*@Iq>xj=s)h>O7zrUvGt$y-)y>s_C_EBI{K(t}zSn-XP{Uz3Z(& zJ3~}%Cv5@>w4`uj(yMoG{BQ*sMI^=i82M(4K%TjPL{?azt(lnq2YAdGw*4gePq7p6 z4DE)O{!&O|1IAg9gD4pKF~C7?LKV@b&1wr<-V;=qP+p=cp>Mawz73!Yuds9QpOLNJpzua072V$g%vt%qrG^t8mTnh+Vb{XG z0eELbYp&~EOwk12#-F!Rl{GA!C+gD`JfAM_Y%suj!bd{whCUCLgj&Nrn4$*rWsIi` zeUxZY=pgHDRT^&u3a9kyJ875+d@9f0;jkgXC=bEcQHuTlnJVZAMG2ObsBazYsn7oX zl!JJ5`6JOv`+e+#z{!l=n*Zu8r)&Y$TxXkXDYs%}q7F^chd6(sB_3S~&4%yl85r{j za-dkmj#NGpa&`)5i301HX!WB8y~zgP-FOx2Cg~eRk;GtHs`tzJ!!5tiWsqk?Q8#D& zVcN3%P7!n)}^F&0gD{9Z6Ok8O63Ud)L}oH>8~BCs02tas9R3ITJ3g5Oo``AaH7DbdQ z5|zDbnaV?eS&1i1&MOI+yh$nae>^mns~d}=d!aAk<~@JMCj$7CQ}|P5Z^a$9ZR0Kh zzfv~z7u8C$sALDGzw6rC{km&d8~6>ViLOg*J{T%#?s zm;8Zw)uniSzBU=_3ZFvy_pgoA1$k1S*!l7e(O5e^XAl@msnzdPlh1xgZesYmU0zjd zxR05KoWl?GC`{Z77^O_&7fMC=yRsV#`L(xMWeAE>N0 z&$(*vx3ncKg36qCivCrzBt%tdEGc|zt zjCWe4+TH140Febcf8OBNe#RQXeqncdBgQKOMktB|a*2ra2`dIK9861CG%JxiRp>)3 zq5AvLr}lSki|B>?F}e-HYb4jp%z3gxCR(dOTO`8`P+*z699&)d@(op73X0=EB#j$v9_tSJ$*K1MGAr37 za#g-54$X(AqH3Eiu55QzV4VQe()0|@sO-#}Bnr{${lX?(`Z%G#VT)MH@&L)RRyCR7OArnFw>m-C z)^3LD3*Ju9uzVsFS#~Kl1-=pL-uHasfL|ajnB<-dsEz2>r_Yen823DM7i`<5B1fR( zSm&DO!e(}I@qwUyLaF6jNzd{*fjzH~Cwo3jCHpMVhDjdTp_*-48d*W)^YmBV;xp#m zyTZ1^_hZ(|%OrMKjq`&+?RXzMA7OfpBDMu8iA-wUT+DN0Fynyy)NsQaN^u1fge3|X zls>%kZ-1Z>)q+@=k5@iya5&8yaACH(-(2u)&x%-s+Kj;?>%I5J|5- zgB8plk-4pIOS|0`m=A%Klq926h514U!U;-5aQ49Ov1orCS~TfR&agUPyCu_;>_fld zgPub6ehaOIMe&zP7_ui#qmmndN!ELpZ7U8fXHeD976x16A~IlWDUf8(Yqxb30cz$j zmCzehck|B`eHU-`D8Ng4Xci@tQc8@y4@-tkbxF={^CB?D$zJJ&`UjQW3d#tnls5=) z@Whz4Ka%#6^gKIB^Ok0E_AQbV?TEj`Slyr_qMIU3yq|wo<(r;y#&2>ao#ov#<Lb-zbt$C^RCcf`A+IhDXQT?atz`!?00oXX$krA+ylrBH$`()^&CLE%A|)kR$GSrKv={<#d8RsKVKF+OwL|9F6LP3bA2TB=O5u zZxSrPNDl0jw0gh!FsdEO#rjrV7LTyX5bPVYIjYV^tNJZl0vuT4PE_8LKw2J7lm>6H zgI&HYKWkNpl!d2oo#of1j+y^VY6hON9NnB2o7$g-<6!yNccnXJxhCgQE(4LwDv$PA z(e4AtYWO%_Kq987U^tuBNN%9Z`}~^J>wg&hgEB)f$gfhpuH%|jNeZVm`#&GC{o58W zOub6d$wp~UtKsu}iB%NYU`D^&WROoKy^Wle_QLRh!inOg*thV#FvZTmg`aN!u(|-Z zq-z#!5}zuou?>(?R7+#TMz_69yx?q8{EQuGbD`l?R4H^0>rfRU@z+8usUNt-%61!{ zf8MDWmI@!jM-^!*vGjd1Kyn|A;+HylbXYrZg8GScKI@B)z3OWI5rQ)X44vtIF#E)V z&Ex_bN$<@6k=#{TjIDyMMzuB+Zldgh1oL+^H_N zG%S)_+&MlVjfb@x-yk(_aev9{sf2*ZyV3?QDArovS{9BYmz0E z+Sn8b8NFQNC-%+~o5TmAnbux$Q=9#{LEi*E|DD;VM_2q&91&{=AB=Qs_S|6Dedc+A zt84|=FAL6HIiXmJDDhkFOU(_n*ZG!&X83y8tM>cLFP#o?(clD^>iFLZwM{WR0q)0Z z6&zC&)!Lh@OvF)ILi;++7tgpH;e>!4@fHrAYay+};rHQd_}+qhs-;>3Iljb$6ev`w zOLg&}%Rd|>NQwXK@N#vfb!Rvo?!`~!cdNx}s^swr3Y1}_ZU<)hv=bzdNZ^V%e^{#O zh(mf%goshO7qvdC3K!z>C*T_qsx2Ms=j`P97N8p2$DK6WCMYO7Mtw(e$aFP$DL+u! zh--o@&?a@6qM?>z$)|xJhJ=vJ3acS0+0 zh}rCQXhM8A&EJx~O#Yo>Zk{5ZS5t^Chv>MDQW=F9ebX#mQa2?bgx(df_{JG8uxyj# zI&}|ecjk2io}5zo95x-wjh?Jhkt#LWpLUS!Nb?EW-G6pwpL;ah0~F;o zIYh5WbnHX!rQ9Q)$u8F=Daw~F;%cB=^!1uU65Gt4r2Zsdp+SM71GCdqcOOBUsd#DkOE{LZsq<4Yp!5eW7ve>qs@f$zW@MT1lVnQ08DiGO zS^DkRAMXU#um(JuC%+9L{W&~sBrc)7A_%z{YZm0HJCAg#=R{;Hv-ciMn zK5g_X;~=S*vL}?=adBnFUW_jb<}tOs+r|n<5`C5!oq$F{s2zSyq5U-SIYp9mD|5Hu zFByL2WOOc6g8N+3t3=Qi%~K^@gpWn8Hu#9hS$d>2lkd<%f?WF==dQS%=Z1qcHru^# zN^WSUe+B(EKuZ+2g*WV5UxWowSVXt1-v*YlS1YHY^Px?gNJ)>fu9ivu1-vKBLuJ>= zh$GCx(~Qa2sFESZT}PJ>ItcTH!QIS2pPrF`@x5L|);5qA|II0NA+tvVfu!Y={ZsZ@ zo)%VYIv-I0j}pqW3-#*cNEPQX8BjUStVCEPUXzutf!BcFM5)z=NsbyDWyFzqlvBtf zZTahaY!efY1E=WE0v7r|&I-An;)a0MY&Fjp6Qh6Ae2`30FoWmhsJv9s{TSg$D#s%rgog<3*?SFwW!$PUXld9U-;wuL+g(w=JROq_;bP7giK$nq zo+vI6XuK1j3!o6s=^@%R@IWF=#02fA&|FizR^ZT4wyb)jrp5G?Vq2|aljwmy>45!ZeK#?T+;IO6!{BJLH2@D73xR zXX~Nmq0~82DFqDM(JU`AWfqw3Lvp6rMf_;67Z)|zC*V(@z?vv#?Ki0$gZgZDf(xvS zeozIHW2)C^meN*q5ZmI43k1q^{tFI!`ty8ax_Ijes`Ch@p6BU zW8hzUH?W7tc5a`U9=h)n&O(B|oGlOX*zpOpyARh9Jj4v}g9dQ(_Z-Xl&w&LRh^X!S zxMpP|nt~#)QM|(@nmk2)OeZr)#Q)%8lv0g}Y>w{BykD_Z&@cvD8lsx5I#r^NErV{x zmgGIr4VIOuNk@Hz&k)~dw3+S{>1;lSjG_J_wUiB^gbn2esV-H;io8+K!AES;U_hE5=KNx2V_3^Oj*S9O zusVE_2WRHo91kR*09V@U5aqU$LKf!28BYY3Sx5C$dCDtm+Z8V0_|W#4Qw6d*wsLjV zcTu_UI8i43qXloXq}@BXnf4tJ=D&2Fp6>c<=Ox7n0>3lg`1$o$E#9&tB+<$C)X1=< z#t894M!f7y{1imS+%26}wNhCxI~}bB#}T5k$R>KCTg~O6Ra9djGeNwo$AT0)yEp1ALego(hj4t<*~)K<(i)Z}Q z4+bo`u5ngDp*jGiNXa1?rL5ZqFUbz9`AD$C!RyRg{~bNfYiF$JX)NM#_!XL5zOK@w zjIEf7dIw99DpJ#|=_`Z1&-^@DXwa0ErfCIFew&F^hUb~^<8 zVWL3|)?RIqWR-nc$Lf!cueX zSMOh6S++lTkMS<(ZhM+A+PE#pA(jsvjy;jnZ!9nD&>tNY@0tII=zk{hBN5R(|O#1X0)-J5;EvDYvzO>f4)`Q>nHuXI73GV~d{TJT)YQ)0fkDfk`T42)+7`L^}mUpr}W zAhQHt09nQO<{28{MP9cn1<5d@z;5P~fTx|lLSiO0IpZH(KQ%q(JzBJh@@>(kaZx%$-NXXZ_OD%2J8E9aZZ zwyp6lEB^+T2iQyh9n5VukyO`(iy|;+Sc7DfVr%a-dv0vp#W&$M8Bgg!4VG7_-ITYk z`!`IHRtSJx8Sklng;j0KxXg$66i7DKH0O@#>;|@{$Cty_1eNF)Lzf!P$^6u0m-?Vb zVHa{#;$!F5ahaJZ`^scn5*j{>F)C8l%M_1jwMP^&q6DL5IB=$IL6oQ8RbY=bhbxKC zQ`YU)XOzbkT;vl2$zw19O)QPnx+5*y^iRldx;qH5M*R16UKAcQ^vl=8twK2Bt<>^u zj&m|&WiEdbc9SrH zm~eBtnIzah!|E7P5kgNvoYW>C^pY6?k{N{Hh~{fjV_HU~2(&2W0vVC;$+c*tVqRT9 z;d+x$20f0soKtIBy>8l9=N-Z20N<(l5th||m9Hp<)P4y=)8+wXPLJ=^?(D5iqryBB zoGAQ>_%h{{{r73z$qYxi`llmb~) z&4}8nG!;*UjJj~7BHdOnZg>G#+wX{J>q!=eN0-4Ea%6&r+snW4i#1m2ncMJu=obD$ z2FseW@M*-#btyrD{05f8q!l*n-xayiDdf*&uKvfSxGrBVv!nzpf z(`F$Ns*_zJfksdU$WM7w9$f=ftIcNEoS>LqD1w-mGH-u;N^v^Q-ab`@*a&@yp=als z^H-#Yy4+*<@5nQ-Y_xRoGrgyx4ILr=H1;eYMr#hIRozx?kh{_FDMU|zj~<3Y@Xn?} znJeltm6H+wQcD36$KP+G^PI?W{YypI=zjP=asc1X2L#3e=2% zEz91k-k$NEz#R%did`b5`%?_n5#!&=?f`yM*CM`E9MIS+Ez$BZXol$w_R@BQ1=qN! zyqCu|>{7LaTD{E2=769lEE#Z^x*3sEeoQM!qPqRB-v`c9Ad8X| zm0KL3Z!Y|~XUof!$0O&#=P=LmFPhw46B@ee=9_qgBnRuqxMYi3?OPBYM>{U1yeA|< zpYhdcjdtae-)2wQ#ATYrc0!fJt4R$m<->I=ZKiMYmM}lz*JJ{3*z01?JK-mK?@E?Y zhSW0PE_*VdzokR^uG)oa<*>{2DA1Ns5b9j}LZwXBt=S={oHYwvruw5EmcG(GCDPoD z@OI_BA%BGJvGREZW{;QgBM9e;WCdadv>$lT;<2k46}A@BZnJaN$Fj_0 zOyLpIO@5DOM~||Ix9-t0=SVA>18By45u#qVTg627-~6r96U0Y6dip|B-F z2F;sp19fh-iMhm5$QA!PEy$s2OmfM|{CeI&j3gxhsNxj(yR{a{>{K~kClm64sR4ea zeniQY+%PcSR2rOheU?NbrbDgxovHdx*GJy3&`p>H9cT(A8L(&H2zuMNsvxXzsi`#Z z7yAuxl=4qBJ%7toYT0<~KZkE=8u&U$jG#8~RqoUB z7W>#8?#1B$A}vDL*p75%d&W4lsA)cx*Ab1QJOzHUR{~cW+Z1Z$N1NOOO*s1jP0CHo z-`tB9QVaVhPi*tbJQZUHdy(CFuYKNkBueI~wb#^!>}9HhXQZ1DE_LVonM(9ZJ5-l)tM=7L_+=K@kT&j}K5fY&wVo1`mn`Xb5 z@QO}+`JM1X0))2E-b6T+mFOvKNel+N{+Ikj@LnL%HOa<3v+thpZXImJYFIiw47@_y z7r9bGHb8E)4ZU^lODVz^Ld!&M!hX-y?zduSO_l2A&{c*3c%J%iRB2&^$>g%bSc3gv z`f7|W>_#4szwSHG<}AZiHfrb&Ixfg&>r(14?KzjM6lb+(k6Vr86ktp!j{p?g48g6B zRJkC{Z%^`h%o`>xL-g2>X&)U+{!-U&7!pc8MgAl3^D%l;cy<|E@6D#n&|l}Vln?kC zh)kmMoxS&T)=TnLzt`0vmRTPGdrC2ele27PKZBl=vJB2kivC9F05+J{LiX1H8f#+K zJ-HtLB*qaFpdP}7q*Lzf-eaO=n$Feu(EH3qpq7G*PS5*l@n%kErp;<5=O%_oNe2$H zrh+GGCe%H|je34~#3yGL}u??M)Zb7QAd zO`QXV)VFTx?yj&6`^wM*t*E7FoBZ1rK64{8d`q{yW6}K-DNu;{5~*2Pq?5c=Jb28x zAvGsf3XULK#NYOhZH`bpCEM2a*~gj>l8PWtf=}{_+oN8bn7f8sEh<=veHN&Pt#Bim z5q4+B{PPT&2$1bI&I=2m=gy~urs)-?ASPy{~7=r^dkJ=}U#H^F_ z&zFN?l?*YEO+jD|<@~Yfm@rv(H+C;ci?~Gh1D{flp{4RKTcTz%=Fw)%!bhmPG&D$} z^`LAEXU$gU3}*jWl;$@HYJtPS4H`Exzev|~XaPBmu)32MkG@Ft1y9reMidn<8_O@b zPT5-5=9)%_P+dVP{bhth$ur|qOM{d9tmAVXqY;9q-{_2pjp9~g*(Gr5ua!w&EBZ9m z4YP9`BLSO0Oa7(> zVurBbV=7!67`d134Wg+5(R*_hZE7d_mfH*`OQpiuj8)(?#Tk1!E8Pwr@!H_%zN>T! zJY#43%pYQTfJSRYhb^VbjA&w6r~xMWypjJ zxMz%?FaDjrXE9n3fl{ISfQD3g%!h0VJI08}rmfDqYVBZi4x20lr{S}cj(I-r7?b@+ zPQ0VZ^FmS|ei`~s_UA|hzpF;+WNfI9-q~iB^CtQr6$!qhp`-BmbgQt*J1ag09u=QL zKeK`WEX;`AnR3znN7t})n8NF}ey^%TN5UBNhzxMVf)7_G>8NbXj6Sy2%&kPXQPJQM z^&NUwuAi;PSjT#!&fe-J#A(hYazAvCKu)B1UvFh9BBgfstj5ILDBW3GZ)-+X!^ef=o6N?~ivLY9csIAV`xw$Seu4%)_ zi;K#o`G8}TIn0+#yralqgXlX|LeseK9AAo935Alsaa4nIt911yR+A=j9rx&PZn2m=SA1er~(z`;yYI&&(^p9=Ij; zTJk~9Gwm3KKB)&in=a#NpK<;aW$-E88#SFjZ`C+%yiU=Hsd*Dr$NeNgo+ha>-Ysys zwnJ-T!+Pw1O%Q(iC^I;2LjUJcF zg!0(8$u$syD8(Q2*QmGB(%F1G_QHB9zddq`J_r;F^14AO;-1#+2NX9Xl=^j?@-xwx zy8>LCpkBpX&%EaJrtd$=EQR)VqDM!{rk?y=DzTyq5zAQNtv}G9qC$ppabuRAgV{miEMOeb6Jz|?YX0inuej3gkTMBDv1x> zB;Dg?A(kq)8yGD0&*DvPm)!{c%|1#lfRc%m@pXYgH66P2m9x_i%;+Tp$aGdUxl8ax zYU6zgpw#ZsFPnrLTYDQ~Vx5{OuT?sDJYi+x86q5`CfU*Vf~qo4ScRL-7TbY0c3e zGGm+{_6*7(WsG|ZoK&+eN26%YU=ZbO%+8cC&*2se)h6Nak?l4y1-TK9OdKEuXA;c# zbpfmzq+axL((H3%;ff!@2e^@>bSRD-z)nT#mZ(^iPwd{nY6dm-`8Xw&3eJZJgR1mk z^!@Bm$2)zN(o9*Co}JEhnb)HC(X2rg%4Q5P`IdK1Q-gZu=CAQ(i+_sM!gSb2$Z60) zk`gyEWV%erv|#${YKk_xp6utDh{ZpLCxCFeBKk}AK1Y+jYUx~=fL=?dt*q;4S^7Hg z3pT}{OtkTft1r+#xN0@?z~oK&k6?%^Mk<9W$Tln}JgBhM+HT~x2vd2y?Snfz?E!Wd zH4^+SIN|y!#mB3$SxsGeD{K6cMQDjVa+Lj7fEY{i3HC4&U;N4P?AUdoFRGEP-5v$0 z8aRCcX3HpPxVjWgLAxOJ#Ldu&TJyD%o1s@Z|B+Im2jq_|kMM^Ac@2NJi+)w|>#%TB z%h-<5qiqA1;m5JENd>-f_2D|PE4j1xjVdZn2i@c46O7?+z#2U&N;c*<3r7*)U%MKOq3OTO)0-Z-Xt zd#!6)#)MU2kI>~!5Om@1Kp*{c)V*xHlUdJ@99=?dXu{T@Kq3OcdPh!y@vo1sL3p9FXb zPp13mH|XiKFL%s!8Prur23${w!so)K0-Tj%R?|#90$P8lo!mS(*<*ULd;n1szeq3@ z;PWE=K6*9tKNpwIYf7&~ZjWBH1WLeAIqtdu*GS+cqXlJU1j6k^loF1D(%3C1WWu3>7&{G&i@jw&F&OfwMp(3c;sgG3+I!a&dQxa z`V(em$`!wYaC{2B7O|~DDWEW#3Sku+Qx%fWbE5wbmQx+QkYv?-sn!LKO>^)=&Veh@dkd*|4K!AiK zWWH&uV%;cpuiC2B+E3AHwMA{6wQt^R5@y&C_D1#+kiCcO{k{Ldz4v#|c_6205H_B^NPCQ3YL}XyLm?5r#xG{3gCCeaf}Pl33qfC< z?oq?Z4U?s-X4@^hf%>@##5FDmjDZP^Q=(a1w2bbR->0^>diU5|hm}DS1(lc`M{eS% zvoLIct}U*J>@K_EUiM{4t6n~N`Ul(QdT-1|W?XzI$DQ>vyNos|PRHt1c)IBgrD?7z z+?yiUS=DD@-e=y8cj9=n?y(DLBjQ@@K>2OAcY~2ykqY?ftG4U)<7ise68RSnf<(gI!CFZq|&lmv3z`tA^ z>9AB3;@fo8+F*8A4yo-vc*`xc!WsLo#0ci?#Ig=Uj?~SxE8#&^G?#P3vl@Dey3=m9 z84Z1?JK5bNDz^%l1fMf_!Ur)aMX|mYyWZ~8Skqp6x$jn2fUmeHF{Vm*ld%YP0@mDM z@>o_5`dR%eJJzIza)Daa=(OYCHJGrG3_*M($BczyOXzZ`-MF7iqL9~m(hO_YAFgy5 zKj<9sjVO8_lOw#s*Z^T}E{9L{$g0FR*L~*@I(|;oLgmqfr9HX60Ii$7PD%Ro=LC1f1|C+6uU^;R?_q6=Xea1^@UEl%deEe+2)3Ao>80V_tBbxQ{h}j>ldO!Uf^eK0mkj#Gr zTgEY9m+M37$~Htx>kaIkCN@+|Rg@;tc6S>9)Ge3@dxVDsGQctBBCk8{*BsZ7y2eQx z>QtW++|z5k-QKzW0-Bp0MpEGcKsH#$bmPB_tISyno^Kqm37yhYE?50H9&evl--`;A zmJyHf9DsCC4gN{IOnfQ5jIwT6v6~tHQ`J_PJSDUVYf27A=UT@-sjd48iezS;RG#DxtRH8^PX1b{_z6K*ao2u!<+5IYK6ur_tP}7PUTjfb)QcdOs>CO z{a}>Uqu_nN^l0QQ$v@PK5Q=q(T|j4vZpJ(O-x>oxm#x0vk za^iWxXLADf^CC$h*%vSuYrk>o7$#^9?OC30HnVIW^-C<`MeC*dz(4PJ*jGNMt*73{ zl@urW@;bszuYJ9-`$W5ZXuoq~%>ZUM>pM~)&m3Nl2()t-N&Z>Aq3^0+x%dp?bzf{> zTk|+cI;c0wNUS!Z}Q<}}C$x)SArSGTPta6*70DJ*5 zR!>wyzrc=SA)u?YrPNBCYw>BnkalNtv-tz^i5l)>9Q%ZZb0IdlX@oGr7sf7V$QpsH zsHKwUkzyGiY0(vkP+mO0tFN6u-0t{uog#Wb`Z4YuKLn0!HUL*n9wj7AKhmu<1bMw{ z!^C0n((bI5+{jhOuXXoOM{=Cw6a}k{EpQ*J9y&~omN24HO00cx9Z6=_=kfBJ>f2+# z+Lbqs1WEId_y@ujdLkRgT4ImU^iu<3^a?`)*v)sWwWgL;kV<7UgBCVz3w}1m7jSpQ z-PC80Jxh%}%8(aO;x?pcbbIX{XN937x=*)~Rt_7*ekOZpR3;v{m8n5C;>iQKpa_t0 zlqh3qudwl@zagQ{gQm_4it?T6_s2ijE;ii_^e!lhX%(%|w%J%#3>#pS3N91+b55Wh z*WGX;41KE`x3#wN+>qR7;SN+8gjHva5qEg!m|s9uRtuCu<%*MW{G!kPf|fZe!EOTy3;l8Txl)%cc zmF6E){3VJgQKVuxoq!Dd%2ec?CJQrK!{^HUy?^goMaVA{$tSC^CIRc`Ekgf&#j8;y z$ufn^sRIf?eV~ZjONQHyMtmxLj$G=fH(Q-uQ}j@2nC`LAY>)A!$QH5c=_&D%Tq2MO za)IZZe<^Hwl!B*82U#AL?i1-hDMT`LAcwBe?QOSX0&m;ywNn!-9>5Uv^mf zj*x;EN1_3zFgGDt_^Mu>%1F2<`C9+ASk53DyAxRo>~j712y0zbC}yju208e zTV>#!~T>{Iqh}i=gvra)=+DDNrRy$7>)m?keYecY0P*&ca>QODzlzI*J&-HH?dZEdMHtCnajog4nyDN zm%Fbtj!hh}e%;#Rdt2s%b}59ihz;jgyW?m6m1%+fb|vv964iDyVS~9Ty7b9yXtq3TiqL`qcgiI zzViPr9yFTnKji$mK0N5#LNA<0+ST|uZVH^?iD12CCo%rxqe%l9`q;LTTmD_2Q1;ft zu6iY_K|7@y$0uDap$--A(TeM#i_%j3H4%}v1WDojYJqy_AKYkflJx6wSCq}E}dlVvXs_+&fAofc}+Z$r~C`o9LuIrg*^Q4zjT+8m0n znDI_*FSR;5ZmE59vv(s`yLT+odb2GWsazo!mMJaAzZ2=vd^rz+99Rm`(0O_-++lYo z(;?!DEY$zsPaF2FgIWgB%UC&2)yuQ#h;zLvZacM!!7T;;xa73YV%-v4|4K zZDMYNIMxxi8eAXX8LyPKi7U>a=-pj;6l*~wkac>_(*VyehKP=?|KYiK!4E*0#(wHj60DLMF)c())~5`_jsGR zPvbPc-QHS%qdhlHv@Ggu_fV|)7=kSbz%8Y@k;fTmMA%RG=`( zyvFD{$ufC`m&6!m>$0-IYTyF&maZfalA_XGaO?Tsp{lDsc+uJuY}`k5^*fhb71|Yj z7a;@QP@S!6TfMie5{<^>7vQ?m)=BOBOnM?z2}nT%tDG%j{EzoKegMAFS2@99XUlH* zDSfha+SC8uWPaw5`uE%I8^fAEPHmf(^rBph8iV%t$^JTUS-Kf(Cw8JZ!c{bEI7Z9` zOM#Tab@%OH7(|yeCeEqQiJK4;E3)0-!7vjI-%XxH$1=I(>wrp8{v2B?W z?gC{|#3Ag@x{Spa{T{qh?c+7qmTEgSNHR*9KdbtB=bMfHG%rpw5bFI2ju)CQ`m9x8 z(f#=;QQv2H5wnD2)NRgdW;{EHB?I#T0_4CL=RJx>Zr5% zb72+J50Ik(IuRGtIjiN+^5hU)TV;BD*Ur&y0raJ1!nlw%(JluCJ9mooiw{ z&}x6O)!O?-^{L>|qN@@2vn}u+#DVb)KA$dw4g>Qbfi(`E1GrEl-JX9lK1Tc)zma8! z)h{{`a;oYcvaVU^sMcp$LJw;ZOOX)fsKMsa1qe{|yJ#Rt%i_F$g|gTo+D~ zVq%je1agp|hjx+E!Hk6CR4MossAcbEUgf@}3WYo(Go2LuO|CHPPuXa|=UN9(_4b!` zGXrN$DAS!<>T8C3yAJlm_;fgdAANNr^_LrxOc=H>n`E zkFm*a1S-HN7+Y|F4CwanFr_j=ZQEYJ*75_#2mh3H%&aWo(X!&$*XwD~JE~~ly6{Sk zv#G!9q5NX$rEc`341phbXjjtS=w4la(f>|4fL16xg*}n|C{`v(CD{qfsQ++_7+%mz zU;>O~RfAnXJsZoM1Rdnl;(Y`#^H@|>UVCVv>~>&M&5z#2%|lKvdzvkKhL0JY zp3T*CUYnC&m$P0k(D-4FVYocPw`k~n<7m`s=rvNizCXUq4|Aa)6U)p#9;=@gOp*v4 zsVJTeqY$zMg4oWibP&mMVuu1L5QDMGy-f`lmXeYr?)b#4x=6Qtap+swRG_%}4+D_9~if}?lih!jXa*J z0neU1A8nH3AMw8M1UkJ;F92H`Swa>XAZ4~kI-tnw0~BC-}^wL&9IJk$hjP$T}Z_oFRcu; ztM2g$X?*4WUz@fgu{X-fYbeeHHR-K)a$!>)T+3A$+r7SJrxLLor|mS$GV~lnnH?RN zv1#r)cgQ&m^?F)W4hAEt$K4GEXEn7|m%pg^Z>GzAFZXcsHp&-kZ&kc5PHIj>G%MnlW2D)!lwPs*?+0Uq>#hkE1`M+Tysc|$q zlYw_iiy$6P?Iv#u5Y#cA9NitRT&so3VZO+FKp*z^1+aH11g%&`aHg}AUCAti-ZBii z_Vi5NLFxwqA-+SjM2wfv341fH#pq;z6BV7S6p>eOE%Zow`_oZg2mq9$0nWQMF#wtah>~LH8hT{x+#Zm5#`L~u5B$S@m6!x$G=|G z@t-v_crhV1)){d#e>d>NI<~jf-mr7Sc~9$(yLQuO@36WTe*aWC2bz~Z3#ln-#C$9q zIKas(#r8_C;V@a-G0o}mgcQjYVsh#!vP9@YQ4{1)pYe?71nvPw5C_F%LdpOHXImZF zs;qV}jFkc6S;e3;YXi37!|d;X1$H)50Q0_|a^~o-xlObNUNY5QU_*H?Od+FECx{zj z)3}Z_PkeKRL(D{$JPwglianNhHoUT6H#D^PCc0iW8ho}K6=+d)*T26e&nLBh*y~Y~ zyvL;$1J~p2=1vJ+7WPMbO>EBeYgyhH+%ZianKphq-f5UNRi;-lE7s{+c&jP z9f&ID1Ya#ZfhsOB!Wb84h2AcVIXq%*~+d za$Oj2IWHLgoJ~dtL}T88Af^wrz?@|x0Wtdwa0Ax2SauCy%bo?~*;=eI(4N%{OV literal 0 HcmV?d00001 diff --git a/framework/src/main/java/org/toop/framework/audio/AudioFilesManager.java b/framework/src/main/java/org/toop/framework/audio/AudioFilesManager.java new file mode 100644 index 0000000..3bf23a4 --- /dev/null +++ b/framework/src/main/java/org/toop/framework/audio/AudioFilesManager.java @@ -0,0 +1,55 @@ +package org.toop.framework.audio; + +import java.io.IOException; +import java.io.InvalidObjectException; +import java.nio.file.*; +import java.util.HashSet; +import java.util.Set; + +public class AudioFilesManager { + + private Set audioFiles; + private String audioDirectory; + + public AudioFilesManager(String audioDirectory) throws NotDirectoryException { + if (!audioDirectory.endsWith("/") && !audioDirectory.endsWith("\\")) { + throw new NotDirectoryException(audioDirectory); + } + this.audioFiles = AudioFilesManager.getAllAudioFiles(audioDirectory); + this.audioDirectory = audioDirectory; + } + + public Set getAudioFiles() { + return this.audioFiles; + } + + public String getAudioFile(String file) { + if (!audioFiles.contains(file)) { + return null; + } + return audioDirectory + file; + } + + private static Set getAllAudioFiles(String audioDirectory) { + Set fileSet = new HashSet<>(); + try (DirectoryStream stream = Files.newDirectoryStream(Paths.get(audioDirectory))) { + for (Path path : stream) { + if (!Files.isDirectory(path)) { + String extension = ""; + + int i = path.getFileName().toString().lastIndexOf('.'); + if (i > 0) { + extension = path.getFileName().toString().substring(i+1); + } + if (extension.equalsIgnoreCase("wave") || extension.equalsIgnoreCase("wav") + || extension.equalsIgnoreCase("mp3")) + fileSet.add(path.getFileName() + .toString()); + } + } + } catch (IOException e) { + throw new RuntimeException(e); + } + return fileSet; + } +} diff --git a/framework/src/main/java/org/toop/framework/audio/AudioPlayer.java b/framework/src/main/java/org/toop/framework/audio/AudioPlayer.java new file mode 100644 index 0000000..a022297 --- /dev/null +++ b/framework/src/main/java/org/toop/framework/audio/AudioPlayer.java @@ -0,0 +1,7 @@ +package org.toop.framework.audio; + +public class AudioPlayer { + + + +}