From c4d2a1611f2881fcd75b10584cc5dc7e2f8aeca7 Mon Sep 17 00:00:00 2001
From: Pixelguy14 <160289138+Pixelguy14@users.noreply.github.com>
Date: Sat, 13 Jul 2024 16:34:30 -0600
Subject: [PATCH] Add files via upload
---
JuliaIMZML_GUI/app.jl | 62 +++++++-------
JuliaIMZML_GUI/app.jl.html | 7 +-
JuliaIMZML_GUI/log/dev-2024-07-13.log | 117 ++++++++++++++++++++++++++
JuliaIMZML_GUI/public/96.jpeg | Bin 0 -> 226422 bytes
JuliaIMZML_GUI/public/wp.jpeg | Bin 0 -> 293751 bytes
5 files changed, 147 insertions(+), 39 deletions(-)
create mode 100644 JuliaIMZML_GUI/log/dev-2024-07-13.log
create mode 100644 JuliaIMZML_GUI/public/96.jpeg
create mode 100644 JuliaIMZML_GUI/public/wp.jpeg
diff --git a/JuliaIMZML_GUI/app.jl b/JuliaIMZML_GUI/app.jl
index dfed548..a23ba07 100644
--- a/JuliaIMZML_GUI/app.jl
+++ b/JuliaIMZML_GUI/app.jl
@@ -12,7 +12,6 @@ using Libz
#julia
#]
#add https://github.com/CINVESTAV-LABI/julia_mzML_imzML
-#Pkg.activate("/julia_mzML_imzML")
using julia_mzML_imzML #could add this to a try-catch to verify they're putting the correct name of the file
@genietools
@@ -22,6 +21,7 @@ using julia_mzML_imzML #could add this to a try-catch to verify they're putting
function mean_value(x)
sum(x) / length(x)
end
+
function contains_word(x, word)
occursin(word, x)
end
@@ -34,14 +34,7 @@ end
# @out variables can only be modified by the backend
# @in variables can be modified by both the backend and the browser
# variables must be initialized with constant values, or variables defined outside of the @app block
- @in N = 10
- @out x = collect(1:10)
- @out y = randn(10) # plot data must be an array or a DataFrame
- @out msg = "The average is 0."
- @in shift = false
-
- #@out test = "/Borrador_Julia_GUI.jpeg"
- @out test = "/wp"
+ @out test = "/wp.jpeg"
#mkdir("new_folder")
@in file_route = "None"
@out warning_fr = ""
@@ -53,7 +46,11 @@ end
@out indeximg = 0
@in ImgPlus = false
@in ImgMinus = false
+ @in msg = ""
+ # == Reactive handlers ==
+ # reactive handlers watch a variable and execute a block of code when
+ # its value changes
@onchange triqEnabled begin
if !triqEnabled
triqProb = 0.0
@@ -66,59 +63,58 @@ end
warning_fr = "is not an imzML file"
end
end
+
+ # the onbutton handler will set the variable to false after the block is executed
#/home/julian/Documentos/Cinvestav_2024/Web/Archivos IMZML/royaimg.imzML
@onbutton Main_Process begin
- test = "/Borrador_Julia_GUI.jpeg"
+ test = "/wp2.jpeg"
indeximg = Nmass
#spectra = LoadImzml(file_route)
#slice = getSlice(spectra, Nmass, Tol)
#SaveBitmap( "$(Nmass).bmp",
#IntQuant( slice ),
#ViridisPalette )
- samplesDir = "/home/julian/Documentos/Cinvestav_2024/Web/Archivos IMZML"
+ #samplesDir = "/home/julian/Documentos/Cinvestav_2024/Web/Archivos IMZML"
+ samplesDir = "/home/julian/Documentos/Cinvestav_2024/Web/Julia/JuliaIMZML_GUI/public/Files"
fileName = "royaimg.imzML"
- if isfile("/home/julian/Documentos/Cinvestav_2024/Web/Archivos IMZML/royaimg.imzML")
+ if isfile(joinpath( samplesDir, fileName ))
msg="File exists, Nmass=$(Nmass) Tol=$(Tol)"
else
msg="File does not exist"
end
spectra = LoadImzml(joinpath( samplesDir, fileName ))
slice = getSlice(spectra, Nmass, Tol)
- SaveBitmap( joinpath( samplesDir, "$(Nmass).bmp" ),
- IntQuant( slice ),
- ViridisPalette )
+ if triqProb != 0
+ SaveBitmap( joinpath( samplesDir, "TrIQ_$(Nmass).bmp" ),
+ TrIQ( slice, Nmass, triqProb ),
+ ViridisPalette )
+ else
+ SaveBitmap( joinpath( samplesDir, "$(Nmass).bmp" ),
+ IntQuant( slice ),
+ ViridisPalette )
+ end
end
@onbutton ImgMinus begin
indeximg-=1
while !isfile("/$(indeximg).jpeg") && indeximg > 0 && indeximg <999
indeximg-=1
end
+ if(indeximg == 0)
+ indeximg = Nmass
+ end
test = "/$(indeximg).jpeg"
- msg = string(indeximg)
+ msg = "image with the Nmass of $(indeximg)"
end
@onbutton ImgPlus begin
indeximg+=1
while !isfile("/$(indeximg).jpeg") && indeximg > 0 && indeximg <999
indeximg+=1
end
+ if(indeximg == 999)
+ indeximg = Nmass
+ end
test = "/$(indeximg).jpeg"
- msg = string(indeximg)
- end
-
- # == Reactive handlers ==
- # reactive handlers watch a variable and execute a block of code when
- # its value changes
- @onchange N begin
- # the values of x, result and msg in the UI will
- # be automatically updated
- x = collect(1:N)
- y = rand(N)
- result = mean_value(rand(N))
- msg = "The average is $result."
- end
- # the onbutton handler will set the variable to false after the block is executed
- @onbutton shift begin
- y = circshift(y, 1)
+ msg = "image with the Nmass of $(indeximg)"
end
end
# == Pages ==
diff --git a/JuliaIMZML_GUI/app.jl.html b/JuliaIMZML_GUI/app.jl.html
index 63921d3..e3d3e7e 100644
--- a/JuliaIMZML_GUI/app.jl.html
+++ b/JuliaIMZML_GUI/app.jl.html
@@ -38,7 +38,6 @@
Generated {{N}} random numbers.
{{msg}}
x vector length:
-Tdw@Y+!;K+<_`~_fqpG8I- znIG^zQ!wLtQRno;k=oyYA1$3$PhwQL1Uu%jC+~}T-a^J}_y8oS__$q6WkcD&MnSRW zQg32JPuvlxfid`sbH eKkR9avMmn7JC0 zc!a<|nNy1o6A@#1$qv{6t7GogD|vTf^*vx=I??)+tLp9WJ6&);{NwIU%^W{(rQlhk zD^tMq)Es?Eg)%h2U;lp+C4*Epw7}G=25Od}Jucg(Ne81c%rSORm8E8T8J9w8uN@{W zR6a=ua4Z3BH@6jsP_9m`y=PgW>u^C`6sY_{GE;r})?8JceDu_%4 L#5vvd&DwD&VI_dVa}JFrdOQ?6bF`+)!~LL Mo5~T8t8|!J;@U5uoIHDwW*U=1z7TaF`>Rj*$hr?8r%05usAjiPsw%f+$?o zu4trbvW+~YhDd?%Nl)lvm>OF@J(_cy7QybkyC7u)gUvV7^ 0E0+9sa%W z{rhfTShc}-=w={;>y$#Mpe{xkh|g8nf*8fPxq^)`aIfVL(*Pd{OmPzCSG@>kM)`Im zPK(%dfwl!NyX?Y8U5Tw69`zs0Y-Ash=V3O#$|?mn#3!DkJnPqe3Y)(FGX!=s_WVIL zn6kfhP8Z8S_5tkR;(dYqkF|CeGiH;+JRzDtQt1rD%RF~?P2nme#+qe1cWni^Td6@~ zV3RrUBZLnDXVSb{inhR8C#5$|yKjiBw1lj@l$Pu+W-k0(;PxN9oxRS{3j)8jIxsQ^ zydCLyzImDdCk#~-L!C+vxou{JSI77oR{2O+SM9e{4`W=mLK^$r2Qm4U*Cb14Md-?u zQ}o>EEDgB3jj8TxHciP3W8U%x;0V6La+pm|XNsrh;@FTd)q3d(zIB}kcrVDTZ|vne zws)eVmJRm+FEp0Q=|it<`s$TZ{_{c{1jJGqls@pCz!#boD@&!~ie?!eq^$eBMh{u_ z3NfPR_tHMm9uVn!tIcYnmuZ$S)O$23#>dl}O|C#ixE&TqTDQE5TrQ=ir9SGkrZ9^9 zz>GxD5lS K7O|o72DPJWe?a#SU!(uvdUN?Ka6Vs!j8im6YqlMvZjY23aW}CXa7( z7# dE%!{hnr;4(fIt!ywGu!F|tNUVxqZmHkT8D2=x{ZY<+S9BAo~kCWvsL z@ahOz2%cCNto;RY7i?cyW(e=WnrPyZCM_tP#q!aUov*Soa8rO$SR|002oXng$yVry zax !Um6qQCVAtv93FS;@g4~^d!@h|ZR;ms*BxwZ zK^-GXc(%)YHZ+pXbii}yrZ^h6K$Rb;tt-T$1cxggS(+PrJp;WCQN4)&bt5JWJ1nl9 zvBO2YAGzW9kMBp^k9>~h$ZH&xwln@4aOzI?`(LjlZp0osRl#c`@5@ZGD&r62%h$!0 z{TU^9;#Kk78&*_=ed)55#fl>Jhk91m@Ps~e=Fy+2v^wFp $(% Cx zCZZDGb(IbNs~lu)XWW(@ba;4q;%)`QXV-(n?ieTacZJ*r1see}V-I3G2ZXQBS5v;9 z)~R?Q8jD2>;@_DuV!detMWa$*+J1U}pJORa`gOm2kivLVp8TZRI%T&ciS5I7({*|C zAcwegaV2wY68`!^8V44*@)C{64^O&1f7Q_;h!ZJyBKx-fQ21KBNJ7lGZq^4#`(MRh z68=yc`RGvu$W?e}H|HJel@Rf3>e9}kTOKaljLMde>ns00HeOiMxj?av>p02B4dib- z2TDyRPF(mY>{pL?HuAUqUjDS~v{nC~+7)A!7VzlqxG`Icu2-4HUJhRAsRdV!F+~(cp;%Kxz!?0QHt+< {sn%~~ z^t>y$?4$vO{OnM}zuMo1SZ}-PE1kQw_lNx5QGF+Z*`|k0ZP@QR|EDeVgW6m5K#i)2 z<08L|8+ | zF21g(*8YuctkIE9A;W3bnCYdN3x-kN^+ zAD0u>f6QOLko0Wmd_VPz{nge#At&-!q0YglKe1#Je$ZbpeEn ~Mw$o~dXsJ30bCNn0pdGc$%lL@T8Wcpg<)QzOSmbkdv2bh@| zPt`u)*Z+iPn`HP?Ng-M~MG--N)gJqp^+$c%e#L)+X*?{9H~cB(e)e|)x%OswM@fVJ z-QuKAb(uz%vVWUet^OdZGp{M$(E0dD`}%%f#!B{TO(t2FcX{eL$!6fa@pV Jw@a-wq`|_j>(%FRsG`RK|Z^qp_hciErc2Z5mH#b7vb1KI=&5uSQA4%DTs7& zEXq#~Iv$+j>qxpen`_35u3Dy~q%zrJ;O6$@z})C+gE$g%weEgXnDf3{HS-iBQEOtD zIPM$UX0=LD38lx3vUx+gY#lLMT6N#btG9TrDL(2?0A=RnVZ^T`S@_1QDp$np| zzO1Uk(BrZ?5n5sko7-lWvk6736&)GiZ(G>Hl6Dt=v&TBg 3$oa{JXgADWr@j H0#tr3{&J%6N%jP{?4L!xi+mMZxvnBy+G@UCb)02U zd)R#7v*JD+8=y?7^sc4ilfBiEX3j6xEBwB;qVL^pH*L&z&r6GXsHE5Z!L-D{-+eF4 z4G#N@=B(NFvHLWo!6-V;AA2@pEGf{EDE|w5H3b|;#9|GpzBcX8ywS^qGGd1msD{=S zmQogP)Ut_Z@ho;b=DlJ1tf=P;3g?+s%W=tL9;d$O1=oE^SRa>S;jEeJ-6l^gmz8}F zY*6yTU`DxLn8bl!%Q$6Q&c|X%Z|! t{KgK`=9TwK*uC13_|!>*rfeT8`+j(2Bz&mvGeXoXi}LcKE7K$n zQ5@rQ&uHO=`r;Mx8T!Nd{?Wn+D#nZ5_t$OTs)>7M1jgy`MB@`{zB)VXpv~`>-0?G$ zPe%1WQ)(Wjs*R>H(h4_3M!ho|s<1kQi=)g($VX4Uz~rt4ap#-junq*Whj%!~V0;=} zx?XFxC`F_PMW*;Yj&ok+-oLHHQyC|=AO5VpQzYZaweBYqT&Bky9~>j*vA%FlsetyK zAeXuIjht?|eoJ^4&8{k8;q#K2%+;1X@$8f+`TA&sz7F2dka~ZSt%UVbaz)Q6T9(Iq zp`gPF;NI0F6kAt%6iP`~V=l#r+9fR2Ogild)PQo7%T@>v`NKMDNaJ!0jqhZ0)lb|@ zC1b8-yJx8_Xh~(;KUd=*OLt+SOis2L63**@i_gb3C9(CY)!1`6GVCf8z}2g-&2$h3 zA!0-;1t>6aDvCDSR5>Na66>nYf&0VamP*M1@4R=J`sN(AC1dH|DW?hz(z6Q~F^w>$ zKB#RTCSDntRxh`{=|wQ;f97Yo4HY?rCB$z}b*|QkODy<%F-aaCntsp@Ja3lhYy%_p zM(_J7pLQ#uxIs$wYis!?r6tkI@72i?^Sa>%2fURU_T(6cEmkIx+&`0knuR&1M6`Z} zZOhRj=S=m^%KUl*n)-RA-CJ3f|9SKNhSr+_^`H5W>(g1O+~0tBn=O3v;NuK45!j=Z zFTu-Y 0&K$s~9*)8r!6?d}!%`AM#^|!HvS$sK5`h5O z^Q#OAqtz@;8(@7jMPyXBxH%gsN!P@vS!QEeK*3&=^Oadg0NDFNQ3NfDNyvTa?qJlS zLdL>G8urpB;4KVdSXplFqApYni9w;%qpPyreOec=O*yb=8)q#ebvJLt9oDBz?r?FP zZv91;)ft9wPxQ?K3HyhlS4-%RRC+)3tg&LGpUz&J(yne!d}TEfiJgEYj_fD9$o@bl zzJ_qZu=+I2cm3IH#m1MD B8C?h zHy(16z1^6f@y}o+MHfy;dl9qT_KgkyV#&vx(Rl7DC@C*I o!=GNW__D320Y63f5u{WU(N>#SC&O6-jMH7$7Kt%4Ugt!*- zYTqOT0AzMMT9s2V%5V)Gxu3Gg_i?3G+k|!AVxCytj%V|oZV5jZr{3gl&C&%r5`g9h zccC>>zVZpy<%4h*wU&Hm=_RW`!jL+(@G9DW+={&owwCEw;w*8@h!3ob&A! zLE#gt1eRcIc+28Soc`z1KM>bf@@w=0!!BQ_&@;r0h!v-xPi=PT9+{3A%dmSIa`du( zUw27l*0jg3dnMX);l5XhbVm3}8+YbKnMRB1 5pI)?HeYW}d2gNTRmad|Z%(wd|WHua)19&}#+gis8 zUKe#NnikZZ7#t^$6rZ4gN - z|M?JaY(AcP{IXAe-# IOanzoqz_JUewqUZdw)N&VTkPP~q5pWRk6R)fyH>=HiR51Q_aODppq=(y@W*K~eT z+v<_y=7|J5N6M|}vDVnw^k&EVptWxoo*vqDFAEK^_f1;5W!!iTy?W@+8&wJwpyJ9? ziCXiTH$`s2QXeHT5M$&6n4xK})Y4h`rsNx|ZCgWTaJ2ykf6sHu0pGKVnr+9)Su2O9 zA);k3K7R;CrCKL>T9-jDnosONSrx_pIh#acan%HCE>UKutr;_P0oVJahF}nurI7N4 zMLAd0-OMNoFn_RrjIqVLi=}y25#EtJ+oqI7We8F_!l`!0W!5_Fj^J^1En_^QuCbK1 z)b3UKsM5aLX-ZeFJN=48P33QZgHS(V_0oI$x-S(`Ef1r81oz%bZxQ @j8 zX ke{$88=<9^hZ(F&& z&%E~XW?|pghrn}jppwAj6CHp4dqCsxW$>LZ7L$q1b+M~8zCbUM @Sn<={hAc? z{VTL T-P#mW@ZE5pk6}fF>HgYLG&LeIGT!n_(l9Dp-tTuu`tQqY-ZaA*O z;0IDG9&1orr2=Tjjs{-UI-vrz63?EL_O`(3MZ(5v@M~*FomYZuE@<`|jV^qr;NqAk zW4wlSDO7Lp=+%#Ftq=e_ik W~!T_ zhp!Y^Ha6mz3b1YlJ?jcPlE wL2=Wl3Tql=0zzu# z^bYYoD7@-61*RkS)!-RsagVk^n22gHZ#$TU|&uddZ`vF2>W!DwV^64M4X$=^X9` zm4@BQ(x_^#ZFe4(Z;aHDsK+&A*v~eYqwN0Geod-9DiZ6OXiq|e+ZwLc$I`bJ5aN-n z`{J3OF@!CMs}R|4Jc_<;aoU`zu!;)i7@BIb@+zhFmIyc%s<$9;YC^tuy;33SaThvq zR^U`4PjlM4meItAJ9^YFqzI2ncOu6h{g~dBUR^nd@YiZ=*QP48_9{W*mDucaI(5I5 zIube>^xYEWQY1dr!O0JkC2#2Wg#c1%+^D-9wav=BSRC j^dY_a4&1hZfVWJ=!Mwdq;tf=1Lde%f>2IjT(6XrR^X9x~!SnOm! zBNbM69E!5ZfmG!~xSVlTfsIJ_RO@Y(=}7|Pty@+Yq{f*-OE7y>e_+jDV^T%|qV^MJ zaMLm>IW*JhTk4|}^|lY%j$s_Y(-@z-L+Ip=mD<|q-f0|F@AyVojs|LZnX- z1M=1#&5J}%E7>pnG|H#st}|KC%zKDh)-yAd4h4Y+nr`aRy|FQ|;;0zTYhw|=dYrKn zRv@?DYepLpftm+nGCM|Y)oLv`w_4VY&<@pMAp^B5j>b^aMmkk{oj+*E714wpD!s%Y zsj0YF cTy&y)B_pL?RSQgzj8t4^8` 6036hi zT`Ya^O^CW|lW##;*S4s<;;p`>fqK?W?xDP#9x7GD%JL$LuPQDoDQ`LJRi5ygp%L7u z2D9WJHC-X5JPg$E=yT783P_*`wD^NKuG2@1Dhk54(j>PTWItNfv$!zeQhORL4#L)8 zsxeZ#`GT-*uQzwC-995Y2C! =_>f#RbL zicoV%2?64lIHrR|05~4BfSM`P0Oh5m29~4(fM}wa4hJ-}lu`k5X~C(KxZ^YdAZl=9 zQLhy6X@KKO22Cbu=z7xvSkpCj7=XoBgba$fhownqo-`FYr9zEUD{;Z3%@FOh-~}~U zlkHC(X qfy&r0LYqRgi2Rlo ppl1x=OWzA@eB*}!BJ!(%hR)3p{a>#vZtYvdUerZ9?RE_)9 zgyafV5i0em<7{H0L7K4|W}%uSSdKykOeOcIRd}a#6`08knW){fNLr(3rXe1(d_k#4 zq}aT!*l*#jCzL2GPXoEH4fxOFxb5xa3dE2A0CwqB6?b7?$nw96{wIA#_E=Sp@^Vgo zmE%{Jrb~v}*ipjc(zi9++3z8^xK3HIyPlut70QNY9H|6XqL(VM%X_<%OQ=W`F809V ztw#!$lO*8vCaW{ xq%BP%swj_W_!1~u`4w@rRwM!&ZLL<&G z_qx{)t!t9Wb-m(f<6oI@xfu7VaJed}lj2D2ZXnIn002l5$JMZUk?HANrSE~EmDt H4Oo&|%fQxmay6bI-jp&eQFU2%32uk&v57 z!9V`5 l(Dv9T}%eNG6^O4if0{ZU<_ozYn14u0|N-le38yqnPT?-O_e^F)$W zkcJ9=_dwrD;x28OWjNx!kHkrHaL(*J#pp6?i@VWcD%*3vsle&$Q6`$u>Wms%oNi@_ zNeoB5YiPb9p4GNGtjKu59M!wcH6r;Ka65|2Fsw5%M#efC#oW ;udfc|N1Jn-Yx=VdW`%PDP1(niDkEN*b14n0Y( zdR>g?e_rOLvRb>jl*&=S`=*;DWkz#W?xR&X=O>X=oy!`{s~NEab~N!H8S7Cn=yAn9 zHX( +A$fINyYBt3r`yKSz^B9Q7# zYsPDlS&H#mI&Qf3xsB93N3rc&!ghO^NoaO)TS0Q3bdISY#>E4#y=7{;d1h9R1whLj z)CW{a#zT&r0(w$f>T57)%8kc>K+SYXrnNGS`U!6a=SaZijty#SI(V~%Jh?YyU@kgT z46SLg-ZBm{7**AkZy`Qo0DF4YQdZd7F8i2P(@9|}$gX#PD)tYDpAh7VSdhuJ*YxY{ zUP*NWL{H1PJ*d+!#gxk`ow5U2@1bYi+77iIuV}KN`MZxw*^K8E;GYTnaIiE`O#c8Y zaDQA^x p3BEGm1uy$7%q+*C@xW0(BkhD5H+XkxOpxibY)3^8@rWf*r<^ z&3BG#L179yPzhY9A__WG7X?&%)yam?Ya;GWO#*rp?pS8CCVUfC=O<}3moql%Xw8=3 znyyDRXIrT~s`5r?V@2qt-HNb&?Nhfynz#l x@bV!E0?w+76!JUzg@hV8Bx%=H~~#y+&}LK?OHb%%2xo^H1h6pMF90L z+CD(Ztra6}V8cGjxVPX8W|<|)pA|}JPih+NTfIW_0ys2)r+Dtld8}K9DtWEDh8t@Z z_>OT%8CYGio()>Jyg3;)nB7e(NwoE*&?z)^R+m}tSG?d?t#UD6nEUZoKegK!&1TWM znm1;+3C?OS?J%RQU`wep_o}UQ%zD%1WVxfDxYajwG}te99<_q97Cm!U?PFukDWzjM zNwcW4oG`2CK^1{&&ls!GUJ=%YN;DoYYL(6-6))PdI@KG=at$K2D#>$)>w#N(LkXAM zS0!-dJ#1)tfQ*1mG&GLZ8)YfYR=I>OY1Y@OQ>{gDI5|0{TQg-$F{<*WM@q3IfU)MK zh7j} YedX5VUpT=Ph#)s81x(gKz$IIdpe$fIy8zP@#o9M%Qhn8_ek$=K&= z<}Iu{dWzMzj5YwO;u5B{G@E}iL7Hue62YgL2Lh&TCGpa_jWbE}06494;ry;ZtX#{n z=F(Y7A7fQ#jet27=+pRojGeq!Kd9+oWNpEwrEyr{E@0oB)Nw(u@mn{xep{NXA?KxQ za%?eJsHi8nD_0sY1!i9^0mU__hJC9i8K(ebs&??SvI^<6%^=7IMLmX-W-ziO=M^ej z6zyGT(o!|a9M*m03mG)8a=A=GxTXaKs#}=?=BXR6o2@Y#F-AD4N`NY)7aOrwi7YA@ z$R?8&R!Ol_PKTPIC?hpV5=U`ATF;u~so>P| vTBNXyEq&+DB#_3I`({Vr_e4*#sq^L(YsYP>^JQ|QxK=V>BG{AVL0ZklJsQ}?X z 5@HBscJJ5(fO(=%*c+|-Ln97NQ@EKr4E(S6#t5$RP`aZ|?I zXk`}=)u@ xJ <_$5WXTqrCT&GzbCK1Pipx~ z#(poCTe@KKZb8UX_ l$tRqQVACXHss+GaN3S&7bGyt3ob;;!H*<=T*2r8 b)#DhTAuEQ_% z@d$|*Yc}1_k6O$7ET&z<%fRiLvv`s;hvzJN^GT+bx1BBuE2^9_x$8n#E$N}Bq}sxS zJ O?dO&?k~?{i-R*%@OwV W?#cpc;9n$P{*(ICGNpcQdy5q6W73SU>wAVB%X%@+fypM-h9RTAw>rm?&e~2}k zfgR1tZ0yCl52X^^ `4+W3W*-o0MrP9nNZP9#bDF)T zc~%p}D=|xq6~w@RzmN5*UKU73uNT@HRJU&EGtGNGpQdOU_J(Zr3%H(8`HDvyTOG20 z&-JGm*%v8to^xoL%yuoP8Gq6I&;TbYRP{gS@~(>GPlr>E6KrEwVi1S*^&XY0f8kv# z!|5HEyYpbUIS7xraqId20G_n{C&F5Fv{xFB+D!2x?TP?M+TOi-({VCYFR8-#!%4r; z^%S#`CSds3+2QKF+%Vi*EYRXP)NPU`>;C}Pu7|{)Cz|5U($?w_XN| o-1LA zVUzO=^c8k3K0An7S!EHR94j8RjqY@8agS!vjIh8o=pjp-qV3!|XN=YTMm5~{VYfIK z6++$@w{JC*BRCZ+O#=5Q+}oH~hFl*?qzj|uR=l9eDBcdk(=`P4c+T3&OR&rKdeWP9 zNis_GrSlA`CV2No4;6(XGB!F@`#nNPAZS?bR_tq7O>H4I$*0s==LZ{6dMNK%?>V`V zv-0HBv#7uz 6tia{0wNOlGzIQmp1OY$;q;Coq_Bm^)xJW~b-<60W5COe!; z`?3KhsV|n_K~CC=<5m@8^Bf9{s2KyFdYV+)cIP1UH4p`O6z$NPixjOH&){pR&~7bO zFi}94sVr-iWX3(}SS4s%Ami4wgt=a%NnL1n4K!0R^ERoW<^b0m3idMP!NZ+2wa z^J6@2HLZ1SAyp|bl#!kX0=m_u(B^5brCIMoxjS~K=(wr@{KFv$$)&k@TH#P(cXeZ0 z7J6{F46$yM_b9onrDp7H7Sg*cXr3sVz>qj_N8$QcwP^nU9Ime?w~pw9Dyj+Vla5bH z@OynEt?mnC1D K0m!eJJ_>lc zLv<2L zIj6;M zhUr>ypg;vMNXNO-hSEnBkt_x_AlG3cf-4UG5#}6GaA?U n}uVVpDD>SGFnl3}pnTF4vl!DKi z(qJ=5igytV8h9XaT2|V6uThgtw>Sc{AYtB}%T^y2ow#)3l1mVtm3|q(7&O`BQ_VY$ z=*W`MdEi!U#i3W?w&h{Fj@3?L38@ESI~4NQ2DCH9XND?jL3M%615!vY8wzU* PgbfI{xxvxon4Ir4f#a)RBZgS@}UP*IOm@`nx5fm0e&&@M?1Hm-^ z04(N|L`kLs2WIMN)gr}CF>xv*cB2U4idc%z3EV+#cDY;bS~Z;Pt7JcOt9{Joc&M zvlLu8N)GJ8sZ9ZX*{+Of;e|M9A*y+b yMH4@!bfEP7RQ3z3)@G^)8Zt0tN4P@4u?Ifcr`T0|MfYpK)ilWOoQ2Hw?` zhZWIS5QsUT3-1C5_!XNw1SYS|a;q86D-!1M3lW+JazSy;HRRn?e$)jay{y@!S|yec z)Yzja!xXXH?lo>A4MVxLlPtk=Di6GBNiSr<$)>7}wFJ?V(uCP9A&;mO=QVpz)zpv) ztV@e$HBJ23dSq6nE!m!cm(eokaICFO(p>beO?5e={v%SysxzOM=BC1OxnknWc{r-; zr^u(KYV;RNCNgVM)-{k0hJq|-S_iksTGfYA+Ps`or?UYv1!3P7k2vX4%Sh3_)xcAR zu3u2SGch?d>0O_xs>TBJ*O=T&E%OseyJ)MeYk``hayA27CvsY`1lJo!TFjnO`Kcvx z%xXU )?)TwO-WYnRns9nLD7>zjw(>r|({-; nPJlCI3qVj``qIH#C$D6kpCVxv7O?6Bjt zRb|1X1XNUu7UNbH%#_Y40ryIplpNG6QYo%-$pNRWMk(X1AS7Ot@zSFlcc)VU`K9V9 zfYZUG0*Y`srqY2(2T?^Jpar6eDS!itT#v0bj`YMh@k^YVU^Kl2106*sdv~Rv2PmoI zT7f#%i28~Eu^QCDFe*5z$^dgnq5=q@DXSh{Y0D6%79kN5eJSEIR#qyIMUJA2l%iAe z%^{46x?(<*o?o>W7b!rg6xzPf`&4ESb57#rDuJ4I4{D#ur7>cQg@`f5Ia8$!F-nXx zKo%p6RH83>g(Ss1&q%SwDRy_HSphw2t^T!Zro_!GfDki^2V`6XsH!@Ky=$gM%`|`z zGm7({7JOs0)8lo8w{e4mkLg}3;%|xXtvdx~Ve66p6{Km(T?mwt>U(dA{x(}!ZcA1K zuYdmlSg#-PAI0mvO|luJP)-j6`d6J?-L>q7Mv%BZ!-}J+UU@9L7Z_gs&2Fi}#x6|S z)O _BsX*s}>+eq)W&vAhUYM;Qt*M)pi!u0Cd7=fTjwa7JZq&)VKWnD!X|)wO z>ZrNqh`wbcO4%o?8qL&)o3TUZo@$-@k#^puwVsa_pnSx*l&bOqj@5478<%E^H@I_y z#~G~nWbz E2CIK+iy78YBQpcR83*vKR-H&~zK2B()yA0{!7IxYXRZi1HM`-T z9Q}s;iPT)9E(3vrwZPo#vfi%>_#I0UYVC~iy2fOQl=`n6Q&X2hB~3|Lqt$NwU#ClP z1HR-!gtGPL(zv^wbZR&9I++$Rlf#}5`Nd|-D~?(QXvfR}ILPZ&?k@xcyifv50%IpX zojbc-8K_%A4NlE9D9MiCEQ;KMaBBifIbx8e?Z@j~ly`as^bhu^<+HnQ;#2b0CGLUt z%ztOz#W?qEtbYpUQEpdfWF(YqGeW&xJ~0*ITq^F|uNnK5+*$a$!;@*kE33wmToqFy z^!{Jx@vk=nT+oXNZJI>rcP>RjnzTFjUD$5poudM`jD;kn)b@`J>b@P4%gdhQ&76W3 zRebIC!T$h1t#x`PxuV J2hAn9_NcbBukBV@ zmSN9YAx|rZ1Ow32*mogskxI66L}++m*%e@rta3LGT4YJiRB_x>NKK0}EPEJohOb*+ zTiC;w$C;e)ImKpQTm%Idoc5)kO><_mhb;SYMOD&vCF)z$LDUz`Ru~;QtWq{N^rebv zQwg~3J*rlT9E>r|T=`_L5>sn(>dytlLyRyO$E8;>4ZZr}p*F0XgHK7Yaz$fz)X}0* z7$f;oI&>nXQW-}y=~Z^%b**jG!OGeMOm;B#=~wJE5egzm$7^s$p{$M1oG<5HSA~2L zcj6$dxKuqE&IkGb06v*&O+5pZZp`Urj%f%3IQ6Y>23*Mn frF1)`$OUOyB4*i zfw*~z)MmZ}H;oj6Mfq8KiuVtLKNI7&kVA1f%8nGAanH4KR)zLEDNfs;T!j=A2d#42 zACGKxR#g&)&wonlqmd;*%0UOca6LCW6`sR9uns_{XB}z$QMQ%GVi_L;j @?Yd%Lb(I%W%1J O?kn#mM_GjeCZ>r`H0y0d51i}9RQf3>q5=9y-@&H$>fbSj(7 z#8fRN4<>*#1pDdy5n1adDrKLF228@Da7{fNF{y$ES^&-{Sksc!y;)@dnvy3`MZ(5> z)|+~Ytl*&Hwk`-Fvt}F`cM(ml*#%RZP<-{`rnumm&6tdupe%oBJwYYYNI5lKn-vk1 z)3B~i23xIJgo@7dPqjE)FrlHQYpxA7)Edqgq
N9=uX0t4~o X_9B-#Z-EfyH$bgFZK&0EJ61nH5*BvU9j9MyS9spe8Dl%VreK*k`R)X=JG83_iF zWg@7ST1ZzlX#i1FR^Tlo-s6nZGH8 dI-6xXs%&mg94{ZP~AmXh7nd( z039h CAJxJ+UcUp3D#dJ3e6$$BBH+Nt+CYdHR&XzgFXT7UNanlvPCK8-f!pu5y zIiZ3_KMv@~>sz{A@W@uE=Cedzm0mOvw_2MTSsg=4j~#RRylaw0NgeLR!D^v>dKeyQ z*cOI!um>2WLNit5m}JyuZN2D79LrNOg{*tl3 8ou zQCEMnxyh%jD;-_X5eSAlQiy>yFaZ11(c80h6)o5ZQXKTDe#%Iz3vN@ADdClR(!IxH z9`4N6RF>r$x?7i04P)IARG1>XLloy36d@HT8Sh2Q jR@ 4s(mjM8l_ zK&x{Dl+F!eT}Hu(#w*jL& $0;h01j`+EU`Y6&g`hph!RQN5jm92(DS#s{rvUBX;sRz&d?CaBGm{i|@~(|pb< zqUNN*#Q;3biWYuqBBq)_%>ZfJ&(gHvZR#ru(4FG9ZHk2ElSLut<*HYgDu_pVmip~t z93E?z)U`ml=BHsXx}ES`^HnTo^JE`d#=5;TKPI(w827j)mB~9@Au_o&E~9{zCZ87A zY76g~u|m|)$dF~JF~wRi6HRDwR!LQcX`V -Dv?%Xu&3_%@`FtuG^|7$sE$KikPWmi*+cE zCaysj6d~Bop4)@PXUT7aT_n(gD>i#>X*4E^5I{EpTJTy1PL*B@Uz)b 52p^4(bAp;A&Lb$l9rGK6bf}P0JQCy zp?cJ-MTSCSG@f2NRltDLysVCt1&Sgw=}WNsRo^C)$rJ^Op$#}kRy?37%NWftu>!}M zl_E7^A{9DB1p~1ZQ5v@#coeaqt0=e}(k&tnEYhmttYCUmStz+y5e+{)bo^={am_o- zpc5q|3=Xs}=};MQK$uV$MUpd3Wdju$ln(UMHYf{{Z5ZiMI0L0Mu02gxmg#xsnKucT z3an+p;M8+mZar$Ow*f{;!1bnP%fDzNp{Q j@bPx z&GiovPkSpgta$8eAl|zZlh10}DiGY3 {W-3vO)bdeY?&F68!d#+dFUyZ@GafB1MlM^ogzq@ zba!Sp@}10i9EBsXsGfH~je^mz;z7`RbKarK$=k0&(%R=TvxS((cs=t{eY@pAPUKUK zwJxu38#$G7S^E1{b*yp4F6jYb>6*h~-se{h^moZ-6AAnhpg7z;f6wb)fqC%o+t}L5 zj*2Ac;q!&Yd9M_KrxyU*OXU;5&uZvo_=~J*)&ohBQz|2U@OcBc%{zvVbFc9)f)1T* zulBWK!~hBqKku&f&rji*t>Z5#l}H&}E>!#GrPMwk$EfMHmY!mTfaIeSllcDtpT@l_ z!jjl{hrrS-)2+h;@~RKsDD?OL06$tf4$ i PPa_#~PLY z0B4%5;H_L+UaPzLkw~PxK>Bp9o(&@3Qni-%Yals4I{*~_0H5VrE>yN5!M&N273RxH zVv;nHN5KpSN|H-=F+|*kBRKY|Z#+pWq7x#=)qvuiKCf*Ruwgz~x{peHv0A2cPn|m? zK4Qq(XX)ED6~w##Xi%U}zw>0Ddd8mmOVj(0o1UVjw7!nxbVf~%4hkOTj%|I?l4)K= z+1d$JNqyPt&q}OdiY5j(0Q!T9ZN{4!IS;ju@Y0Pk5TnkR^U;+507~fQarmQhEf=#d z$*$@#+6a91F!bl1KD4%4p+CExC?-?K?-%-t%DK0AQ_G4%z<&`u8f;!-s fg|v&__PQfRcm{~t`1cs;NqiANZSL{A9~Y=Qna|XCPhO1 zbDR-X7~f_W@;5DY$#lC#gHTynae#@Er{1}#v{P}ZMk090oNr&4U{UtHs#zr=dIe*e zisJCWEK;;STMl=|-_oK<{i2ggVzvB#+3wKG3aqMdbKbM> zE`Y}$IKju(pr1=d8{(HM+iA{gE$?GXoa3~rPT)wV!KXC%ZccgnRp}#=Hz>>I4D|0x z_stO4tK||fHw;v$$L$HX(9O9%UQ~8Cro#E-8P9qrNdf1OPf z)R9=lvpG^TRAz?*<~cPx6xGJ1* }oUP&DVN&bZDz(<055_(pSldCS93)`q6ThgUT_t4Xp>&&d074*?=ArVha%}>)~ zxYI9#sZtZJ4Oud{QgTdZl{5k*Mw9rDTHlpDZgV-fyI9}Rej#1yw_|B>7Jlx2?R#f| zzB~(QVutR2G8R0!>YaV7<_5U(*nz;!7PkRz7tLZL&m>k=DaK1vcvO^G`W>P8-%i%h zc^3;I^%c=YaT|a`ujgL?Xnr`n@ZO{TjdJJ*D8m>%eZA|y(|$kQ!x0w}IFBD8U*&=; zidcCqj>TOw?C4BHef9k6JChjYSRcl|J#X4N^^rtj*c11Pk58s4Vf~>sQp{unrvQcj z00G4{LSX8|`oil3an`cs>TAM$J@N78mOnO8zdt(m#y+0a>e?ratb9iRco-|5sp(lt z4m*uWGi8r8Bq+>kvd9Uo8&(7gl8X@`0+sqzq>M6-)URv^pms1W`_^moTX*(laz{$c z`#CL5Gd7AW7<3f`p~Y LGaJy qNAKHjIjD866sRJ*f9V(5i& zO)8?Q8}K{TOPxr8#Z8#`k)tH4qmxyoxlDDeE1gxjs)tc#t4N0bYR`oA#o8 z>G9p*^rkD98r(fV)<--FmMgDnoJ 3S*jA6^_E*{5C4;T>`bnMX7D8k?P 4Zx6? rw--g10 zeo-76;x#->%s{6d$&t>_e#^l*s#4w;t5=q%B#NlEjC)r}kc&AK@pf0eN|r5-l@!)4 zItrT?b{}p&wWX)Go<(51OpVB`-wvtBew4QfEhNrZlOXRUJme#hi>+airTT+kyu* zQ&`c=pp{?Jv)H$>=5t2D%|;?)T{QX=m*ovN`yim@YOaj#&SB##)Kq0fZ(Ue`4;7Il zJ7mQ@%1ntZ44nl`G^Zmtt$Pb_z#LYqT4FrnruG@gHIJ6VBDb_T5)!`EUr~%AlURdM zdwDXa6?W!CHhOHjnth+PeJhCZCGb2B^;LE0WEjm>xmLXAtxREOb|&s)Twj$2vu3_` z; -Q3vUK2gbu$!NzDbB=gSkG z#;1zi^U&9%f5H(OE^ulF@YFFLl^)R*$Z?R{zZ_KSXzlzayBPF%llVnUwh^!JieAwL ztZ?#avTex(Ra0unab5k*sx)L^3g+)E)g0ogGPtZ|CAneJs$JM*9yzV(Aq3R#r-`sV zYeYL-;tiVy`?Th^Dmhy2pzy$uW}wt`0dE-~W|uP9Rycx~rWl1@zlcKQRTCiTRD>*G zA**8SM!cHOl1vKCyS*!%8hZ^g&aJ789&3`nyDrC?n)d9zd921I+OU%)i5_Hn>vR>_ zwy jz~YkbG<9~eVi8fuH#HC;*aj(I YlH zH0xWUY-e0s1>_2$FxqQY=2bPFFb!2=SxL@nyP+novI<2(noLC@3G}B1*;+nO#Z|b6 z6oxS_`&0bQ;;5gL)0Ta-0Xv}UQ56E4CEx<8NqL@>m==CeYQ!=Dipcv r-&K zxWqMAcsEseZn|?;MCwH_78_HV*S57jT~N1_WLDLk!if2%or*`(YflEDL&ZoBrEn5V z4LBUsK+}Ps2|>j<4r(xJSeG=!Osm|}_R^@SLUEdtOAzfeVAR1gOXbiOA=+s`z^S~W zL66>@!o&dPqz{T;E|8@%Y)G==r4#Yis)34J(P5Un`f!sqOq^1OG*~WM-YHf2s(xiT zWT00x7C}<1!n4*xig1>Y?rJ2pI?Y)NF%>f08VXW0#KW#BOqs0Va8G)fXU|hbhs;=J z6$FxjNYdw}SCHp439-#_p7k4C bFM+Jvpj!UM@~p55~S&KNz(LcM&5K z-vod0H5}g@?%j6o{4@Um)~!98A;|h?Rq+L`mlpY@0QOLN*O&Oi;<7L?#Nku>x#a$p z;(Eu#yRAdz-O25qpQUnB>a$O9Nsye@v4mp%?MQC>9sZ}{*)ODaGIGbZ4Po3#_L6sD znD(xIE0$n#)jT&0(UFXw?|N5KsG^#RF>$-Q6I8U=o@$Yi)kj*zYm7HF(DEW;$8aOJ zaa^s^GR)-x+7AHM6Xm{!iuNztUXb}8dl&|`blb^c-wtsbk-1Ovu2E!>MmGG%p{vhp zda*}vWZ}--_oSpd*z~(iQr)yztzvYzMagK}0B6%3&1LG=*D=Qs84$?Ch}(h>wQ?5r zGQ^@}n1T-^8nU<7ua}nTi9?m#YSyBZ(?*T;w2|AiWk3>lJ!_M@X;Marj5?mVtMhA@ z5-}6VSOfP>EXs8ZN-zi=b40!8qai+2Whl4|8>L>gNZLj>C9vPby=fZSNQwEk15S%h zFY`MPrjKPS*gc{wTWOZl%D{;Vb;w?x=Cm|DM^ezIk!)nb6Ooq1E|aLfiexaVxMeCs zjPX$0YJg6p+J`{d#xb92*V*#!M>=~JJVWBUt$sL`?0oPIqbD_s71JmqoxM+`bQci8 zcN0h=5f G;<;%ZW^FfrEoeQB8uII{Q0oU4Gg?ZdlAC8)6(}{{WxqSyu4RXk=?c zAdybikLg*q?$%^U8|`J}5NoLLwxMWNQ!?h@g2A(ZXyhxN=AVc4>$$I$W?`qt6htUt z!yohi0PE>oKD5!vcQ2S#{&VvI#dWgjR~{s}MhzXT3Doc85A*(d3g %^ak|yadq+`P*1Eo e z$=osGruWg8b4teb;ov7uq*i{gWQym_A1>jZDroNh&u)C|ZX=+nH4pfhX>rLA+~9NV zLt0o`UgS1f{L#W=d@w)6M mf{nDtl{#ykO#`RC_iqRnYX?NFkYH zQph{!(vtSsBiv*1 gRAHdbcndCTGHiOri>s4ab$26%m)X}=Vjbd{r z%Z@SYR4qhO=0-SDdJ2Z-6^8~)Nt&M2+p*+h(Dtm`=8{FF$s3QjIgm6v*mm@$-|IIQ zFsyAD`FP!qYV5N^4&N?BknPS#7(SJmEy~FuX2#mmeAczeO+JFyYOz}>S>n!nkxz$G zh2=Y3rcVV=Ow}u|E<`LoP&)Hftp4i~2R#YvSgFZq)ym~hRBXH>b4Vo)r`D-mm1a zv*(g(9fhc^3Mf;~e~8nQ z10WtK69F0E5=}SECpa7*S}qp3HvoE4qwQ>wyR}#O+;9)&QY37xf)C;;DIxO9p?qB^ zP(a6^s(OQ)k&d+42^h~69vEbX$n>j}(^fN$Hl4`yz-{l9ut`u)0 gb zG}zup0ip#y5Pl4&pHZa7INW zYqz%)=-+7C!z)CkN8Ra3qLV`j>M9oNQ-ol6q%f8=TIiO@3jjJ+hL@_nlY*xMJq=Wr z+{T&fP@ Yi|116X&yTQdw`*D-ELY^!Zy(B`jO-aO5=N5LIf z*3q4nnG%mSp)@TNfZ**lD@xIzVaXM4-UYnhi31{aY*nZ5`F%a6OSsNCC_xAO{{WuU z)%RNp#8x+#I)W{%F^6->rx ;+Y$yOcHbshw~L;eNFWx-e2YwS8}n$i@>dURg#Ojmo~Rzt>nKfQMUC5 zg(H(qh&->%m>!IH6%qL+43D=5Ao^9?=~PV=`O8W7_KfrELv}`qH>ma9Z#Y<($QW|R zy?37t{A+WkY6}C(ah?z7UU2deDIjeObI&HNY16b92>ANeZp~Smr(^DK4(j7p)8m^X zcX3@ln!vElc-O)Gac-?rEyV9%<(l>T83b$zuQpNTm5!*pqo##MN2N~j@mcX+AW%zE zzM{Ku2{i`1$Zh(A8LV^wKQ%qw`Fz%YoJ(edHtuSn1!{%-d%6m-Z6RS(wXu|Rr*cka zcnkLCvuCy{dRJX8oP9Z}7ZxRRk(#8zqm_~@8iBVV$gTP8LCyv%K5Hgi@m86eRx>2I zbKaeAbA!!3TYk9}Rib4)3U?9E+FlF*O=-h&7!21N9Fik(n$@(tWdIrqOz8mzn#`b9 zP}D+-clLrX>qyZu)Y5 jbXR?@q}R%-I~b#&$G_9z(!2(OURTPy)b{^sP8FG>l*+E1}u5 zkT$a8J5DORq2uZ?UF@1zRQsb9g{x_yRIn7&6IL?x%Wt*GgV0x9r)bLf0YzbGaRijt zpy=qHNaCflNGq8a8b_9y+gLi4kP3LOLAzD*j%$t8hZkK`jn8;w^;L841oSQt^Pz zRf-Qex>cBzsy4{!T?AS=ahy{o(OU &s}@9}4-15`cpeVgK$erxS3=_f 1K$H#4I6#uor8MJ#47PZ!+ z{OvO~=tpar&|K$N@Y?H!`x-zoz)-l1V1do)wrrA#bZp+E4I$jD?h;E@+qYw%x&U_g zY+u1})TT~?OKx+Y(e*E%5Y{78cQNp!ysvYsv|^ja=%%}pK`p(HjYD(2Rk8*0XCj6q zU18}DdPRB?*_x!CaZ*i{&)K^pH@&ra9M;Rt>5-I+^=ICO8JO8W;=#s$6V{W6(P*(J zkC#3_Ik0|Ou=_=n;4i2Mvp`&7 JscbnkO94ECc zlK6`&Fft=^w#2HxXW%SQ25E+IMb}K};EBRHi~C1R1H;i`^YueAq)ugk8q#6KMTj?B ztf9IpFIBC0XLWhkea!)@hX9ptK6LcffoewvRFrTF zt{lno)69SFi7TNM=Dcc@BVdSKg>Q1_!iGFZH^tznBG631F*F?eYOT)&1p#FqhD|>3 ztKJ5@zO*!J?;+f6I`k;N)MC7m_N)c`rbGOTuT<17(U5Z0pbM(|3rK%Na#JM?j#OxA zo2zBs-cmh9^(s-ACQ? Mkn#H=T#ukY3xlNd197#ic~4^ z&zg5sEwue{w OZ zXaxf0Yq*!|AO4&YB=ST?cQj@`lMraCZ?LBc0*uu+DW>!qwN2Lhm}9hye7cge^fdS{ zL|QQ)w6+`hT iaY%!o_xBDS?{_W;4WXRTL>-Mm<4VP5wZ8bGH6knYgE#=k$d63^(O ^Kte+1wstfZ^?3y*EyHrQlt!1H~Rk{ 1yEU&lx#WhQj!>6ENDMu6HvsOe7Tcm`Z0ow`-quA5v Q#hCJHq}3jDGCh#gdxA=;0FS*ktDctDw8A+1 zxMlbl2UTWF$%0Kf-@AZss#of?dxZ&Zj}7qkXfhN*s{d{QCh=ji@Mkbh*q%1u)7If* zbIb}#wAJa2f>9@Zx6o#Q0)t=;Ht_dSWno@rrr6sN)JNI6Cck!%&KrDL$PDfNj_J*< zO1~9au;CZLDp5R?dY3by+cRBr<1lJimG`$ FeW@*t*X_&l={C@;>Ru>($I#^z<&JS@4D^h&x`-iP! z_1gJ&N(`{}*{sRyFs;+u>cf8S>|QP08ik8g-!s4eBEAKqO4Bp@y-}Hcnc7Y5!He$@ zgw4Y9QgU*vg1yins29;q =jR8GK-J#B4wP`^zZfK2W|Boa<>RQoekb`?VrgFnuT0JD+S_ XQ-FIwil5&$t2cXkUFtn^+ynJA__Slh-&ht zenq-)fSfbrLr>S3#R+1cWfFDr7NR3DqS-C1zKzf7Tq|q+iEK^cqP$f0SBxsw;9xZ= zqqWY7$C+h1>mQw(%B#+ny7ODZ9$3Hs%dZ98gAo2Wjy@2Oe;nKWg<*Bwt+6&$7athJ zfy=X@We9bVze{o> zd;i{Pqb9U0XCzCq$493Lfs4Ky{4I?X6))@5TAp`VJ2>{A&>BF%=ll-uf*JyiHBibT z!VYMdS=w8{g0>>y{Buf%u{Hxcn0Wic4_Pz4CS+1OZ~6r1TQZL`GbevV&>+NLYA<$n z^xu+~U_Crl>Rt4I<15mgS@(Lxj{Z2Z|5`l9XrW5&Ry!sVYKv>7^={(DXBrpk7Rf&z zX4(}!w~)-Ia}7M=DUybx#`0(-PgKcQ7ib5AHJ{ZPN1hSJ*6>jaPLjS-UYaWsD=c#^ zdb{2$0`+AC6_Qs#06c~&6Uf3P37@@GTIxKX`mD%`yKm#E^u5BM)kIUqQek#)OxmNw zfI8DWKpMwq04HAhMXj*^L)vU!ZXvZNrB^O>Vj$ui72DAH-2;`HNuB8QzRtQCBNuy@ z$f%5;Qt$8Vx!qQmr4H_M=0Ri*kjeLOw(r%oW%t^=Ps{Qbp9FicD@Jj8Lycy&zKQ5f z6n5R=f~^@Fyzd_wZ&iOuR*rePpwrc*H&?S))hqVF?$u;YNI~{;y+NIn`a%Dnw7+N9 z#u>=WbvWQjt73JwUpe!?i;H(NKVd$ry5$F6 E`5o+pEK}^CflE9Vq{G^OOhqa*5PJ{I@S~KF$UM!=4KDR3Tm*Z9fHj?pez$U- z7$ZfR3*H8Nn)S48 O{=00B0N`?f9J!{r9~oF(yklbRQmf6=o1<~95CeodbS_D#te~D9;@qY z1+l({yYy^`m7*1Uy?Q8+JCdbA2e+vJ4y zWr?x;ws13f2c$%bA+dwc1@Lle{J%bE+;>7xO@~BZqsfIXZDAZmpSUV}1Si`4_%|^m zwV=SqV4SknEdZGMB}UY2x(TqY7PSERU}brjRq11_J=)~M9~r3ipd2MfzOY>2Ch41a z*h}6&fBYCSd+V;JOMhN%yX7Rlla~@YcsXJ+!mA95$(r~hWl@$-s35Nwe$zi>T7hev zpL<;L Bf&UQz>Xw>^ zcpW8negiRk4eWnLx9LmHsQp$?4gQ!o)VcJFBl_g(dF^4TZ9M+v#60 3DMV%(kQcBw^| z&hunaQjSTrl1wRa>CRBkdSNc4zo!E3xM5st^O#P$(Nq@Bnf~ p4YmO;O?@OJ&A0A{ #HwbGF^yU zzjQ5RPofw|{Ea#F0Oyn#^$AoTuTWBjBmSIRYS7UkIHq2w^JOhPa3QMEyc`U6F6ms{ z4to?~x@O%4X7CBRFs&J~M-WdMgI){_7h_f c&Z5w`k|oiyyyA)0qmUd5v78Qb}E1m!%%CM4`46 z7$*dFyC5}mS#~KGJ0`ES`C05JdWEMR*p1?(2=I8PPZ(AE%-^ql0sw}tV?{ldT+Ri} z1;dW@sZnjv-UYO2DyUdE!eYH>g0*x{?sWJ;6F{%QoKAQ>>U#k;7vN@P2D}&DI{s*< z?3Qx`;PYyEoaxGz467*%`Qi4-+5gOy!W0#mW@o@t31dBlO8KHX-Z+Tv+vy9Nw~mnv zA=zHF$=+jq%O}|Om;EO_DCH~c>-AS&cpHHax|a+j4x_lM?0lKg*ZR&7BgYyNyhbXv zTt11P{a+?I6W!i>rW>UNV&_cFNAnrfS-UtEL-|wFz1&bY$1Vc@8j=0xbFL-I9oV$O z0$=x0oy3;6dc2P=P86!IIfTb ewF3c6ZZJ?%|V`Hv~MG z_I+sQBiA7rZgp%Lw4$SbXE~1R3A|1ixVTA0g06PT2Dq*8EwRVl =Af~j zX3uBBre3G;P3<#e)h&$MoPfp$^!_TY>LqWPKSa!G&iZj-_r8fkp~!&sORk-j0!th8 zupZ($wmIV3G_%OJF&NrO)&x-o3Rq~kz4mYH)w3uvPKG{{faEzTf_*Y-I*?gnCS%{c z5JNi_=F6{_gS(+PNKNd}UV{#IpKl7H$%EHQR`BU cVqGD6lQR8r##0y;*F*7I7lnvPw7T9%Yl1k@g^Fw|}b z4JIx(_KqQQD(%?44J;3VE &`<@R|2 z-r^JhTEbb&7xm=Y3;4w&r*D#0ONFH-HFc-7P6Py)tXyo9eJIDnHm9u(QL6~lN|DLS zS06x+FOD6_^Jg>2oF{kus-w{$bjVTwmyv^v{Me9DS8C$oycH=BGx}+fiHNX@QS<22 z)!1PZgu|3E2>Uy>RGwg&bZN{d2@SxWoMiLoPck~zow); z_&uS9ul3WUuRcQ-D*{agc*P|~Ex+ z*TC4$y%_MaK|8Xt4YZ{dqqHJfWA(@fH{bfC;lqGhAqYIuxxX|Q)w>4aU&R( =dhWD^YPaM`cWjY5q&aMHN@1-VTi|J~clgYvt2vb>!u?p!%Js_4 z{(T{ul-k{`2MEKM)A&_c3_k)w=lfx`G{>Tg(1138PtY)eK}aB+huJU1x!)J{iH>DC zAEqN}-EykJX~?q_ZAA!0#{r}!P+y703H0=Hu+{xo^$>qB?ITz@j0LM^Oebx?Xxa)- zb8TbC5^Ue>xS0nE((81WOtB|1Q>SN@Zy9|r3zf8jL0IK0#4y^9lJp1aVk~%o^As@( zE<^|`tV6lU75nNDio5kK%2$yODH1x7YCa;uiFVe6>;x}n#iTlE0@;2w>;dna5OmZ4 zL$5Ctp}c&@j2C#CfL23Mn1ao^wN-X&j<(~gB96Er=(9MV)gQq 3Me0k+zWv>{Hzxc|^y{qpnl(0dLhJg}#-i1u#mTKlZ5A0moJH~kNW(Ru z%Huz0E&zL${K&vS{8+jP>~VcNLsq_R!u6OQ;BEFoYb`_1uVv!{$=8VS#@pKV%%?9B zQZ6ep!EXvxPH06Ke9><{tvqeZ=)Dz#uQTNN)bz6R&Zoa%l%SC*f~OAu_((4DQadCn zB)BONHWw9~I}QVldGbDOJrgH==90_8Rj}9eT}?foQT_(o^hkUy$WB(8(^h2CWlB)w zRU)C5Q aq43%W98GK;4!D1qkWDs&I )1EQJY$b< zF9@Q6sOfh1$o~;Y(;#79i4I0JxV(=p9AH^bO__3`>9@Oi4!{9s4LK8CV=<4( 5X~!P$cvK^FcVnVr@SLl(iQQwvP=1^?c@%};C#;zf8Gu%k}#%-(z^ zkDCwW&pX}aT4#g?4PBcCCv_F5J(<+xxHigL>5dahu_b2z)C=`jRIL&XN^Nf3O>l2e zRvTI2aF0-L|JAC<4*~eJPT$QlB-1 P@~(qL-DWvtN)X`h)VxA|-sMh=#F?fAC0 z#|SEK$J)$^8B3Ps)_Sg4v0V1yPOF=nf4$b>)P8SR;IH^TRb+_a4AIsaIa?#isESwh z4)|1dDFjlgYh5!xsecu=#*+UJji3!s)MQhNjCS|}u?etthT48K2R?jJ$dP1}BT3Gl z*?1x>uk}jj*Zc1EMX_5MuQN;XYOK^rdJEW{+jK@w4nX7GqrK6;E;qW{`gI`-QPK zJoM|P>GO4cndHxzTm{?v7~tH9$iaBXm$zoGs<&U|y%R+|FkrO`*Zlu>*7}Ekzqj=i z>`l^El5c4OTecqX8dr6JcYgs2k3gjdpe%o#j_$6jK4@5UGO2-W`?67VmL#vN8WING zYHhUF4U_+_*&UaqdgSQPS^Fk1uxq`vv^GgucX+CgK$d{eTsBoSke#8!*7w}lYAY*r ze2vOS+K6vJLljxqRa>69m0*CjGTS KR+<-LQ;e{C~o6=j j_p}^Va)___Vq`*JT}sA$9|=Wo)@?jS zi(lPvENX6VF@*ghUo{n>5ex{V>Qtk j~n*2A)v@zC b6wzfZ?($YqU#7z$07EaOD?UcXfA z; 8cLT3va2rvSUCX zt<>UulPqEO 73aEY6y0tp=Cyytw?2XYpPKRq6$u@hf)Xu^3 zco^4-(g~*+$QWg+?9$^}jBh>EYUJBD%@9@Ha3yXR7U=4TZy%wXC4GL#yMI$fQT^ZZ z%!Z~Cce&PZg-ZSJz1Ey49*^fbjmtb8u`JdhNsUj`6d!IDnaq5(O2SDqJoxn)=y3~K z|CUDWKA|Ua<)1!Ta45A&guHr|`q#a5eAv6k<%#F`xM`$8J?PWV(1yQ}Ct&(plE3aL zmrvuA#A>x%`7KJ{V1$|e9-RLRt-<)O#;SX@<)i1Yb4BhyeGS>ri9Q#btA`!xK`#BD z9`GMjrH^C-!`e ##0^Ve9{_Z^3zN9FasZ2 zWiH -%sBruxHg4avoVRuT59`1a?aewl z_~&e`2p+(S{ zY;NbwS1$ gETpV`0p3S*^XNw3Iu@o5t z77WMc>63w^^jJKPt@D2bLj~JOj+g{= L^|tCW30)UCKu#$OI@cV zbvWT)dKziu06;e9U_+x!K$5Zpq(z{h2?>>L7kSG>I=*cIAQ`N4OOUnes}^i@*uXsR zDmY@$3yKFg9)B-nj;PT6GT=I^5iDQ%9TIx8_7J;B|0a3yhQZRiN)TL0#z87TMHd^9 zA|f0^3Z6+`jI{b=+`^I=)dr?9`Mt0g*EIwkYa5?FBQ*}P`Y2x?51x@Qm3FhF->NK+ z-gPWZ7m?rD1evdUoa+X^L4=ILB-ERx%#%062-3&J7+AE*kC|J9~BT`IY}66li0X zJT|U{%8DEstd1`lzqm|9t@{Cp2W#cAx*3$;`J->EUe D;=@E$opn!zeNM8r6!pR_&B5!4A}ChI Ftjzb^u(bO?#&2Bk)>179rDp+V7wV+1h+)RWMx^>4hj+G{3L% z0~O4lx{?dv^y(UvR+!f_2=B4w-FZi>H6DaZ*6u+wQ|5u)H6hm)PmojFI2}o4z2~XS z0$t+BB@51Ega9T-R=bZd9l=hRyao~Ljn1Z#r~ _@d8-L@@`O_+t*)#l*=FEmSnl}SP!d``T;S(F7GM#4Pb=zY)tO- zfuFheFe0-^QlOR92W|1SK_B!SWnkPbvtSUMfimIHxLityVbqQ=nqjw^cA`k=gbpxO zvvfePb#%yPYY4){keoTj=|Rk_v0J0x1wIy6!OnPNNMy&yYIeiv5S>Ms7Mi|Usc|n6 z;iEoYhyuX?Zp$*APN>s-qHyOhC! (OBXJO>< zlDk6W{NKt1s)O&cL>W`}*r%aHb{M?5_f1)-$@TGze>Z15J0S}ZyEV1D6&CO7xU)KM z%ZQ2@Ybvf^*73x5mT_U;Pd;u93J)xPv38i4jHb^~cGJzI$i}m@EdiA2WkG$FB!}8# zmyhD@XJ02K R6pJ%Je3TpeA_?bL~wHqW!XaAfqvrll(#0vfS%T> zBUbOUueRI=SJ>j8I{1X4GeSc@8o#`xLnH>*bMjrnx5VN-_YTk%uv0XIPt)Rg(}|=( z`~!LFF=chv=eE{QJ;@OXG8a q!&>AL1 zbm75qB^mz2FWICyHj?SvOzFCgen9G~g&bFVW7Qpmw@)Z`O!TL}#lP&-4*ahY7cI1Q zA+o+c`c;#hQ`@XLte9=xpnz43?70``f%ngO?fx*M`7(*oWU~pmTl_mUaa^B{9GP=& zH%4O;Nl}-iFybKEfd5Yk_LKwItWV4BZzJi#mot6IyqH{;yB)}u_FH-GkjzT6&T0Lm z*!&K0rxCdKAGr*IjvRgILgDLycCqx0mf3} De8PaLg_ ztonq+@&&zh;#PLkF#UUM5H>h2HNQchrTRvGl~BJg0OuA^`NSAely4dxDK?SlcdY5D z{?RAbcZ2B|=9htz!Wk4!h7Jvk_Bei~f3D@>&!pXNN?a&Xn>FnF;Zt_uTIG88`q(wW zSul)BZ( D1y8=7;EsMHE~v8oQ;#`90fOX}n0 z#;kGePE32Hs}Y%CRIK3`o~fj#!BVo;2&8ew{C+L#%W(L5{pk KFg$H!l|mB(DUTvU$RaT3J7DHW!RXGXsKU5ddpezmzTrXnI=Hdg!Y zTUCb5VDK&!y}OvaNIasjWr@ErN6BMEjdBNtVwHWtkixrMilHI$9eSg!_2P}s)*)8B zT$Di-!XMpe`L#fn!Tee_vpAv%-ovyrsA(7&2)2 yP5$pxIVd*vayqSNs^p#o$@&7_o5ce9e`HyiXS;S=%YVD%)(J@owjtN0#>2y!g zZej!B_ynMg$MN- `NhvvO8t%K zAZ`cA)}`vv0!e(Ix1(WJQxWUuq}aE03KdXKDH*-1UefWQwG#rLB?Z;Hanybi-o@&% z(kU)5p*h?pcpqN-mEX>#w=Q;g$Yz93zy#7BOLjyV3SU0}UK+~3okrHVPdV9(1;7~` zY4V|QbtsPhpEtFG1?9F_d7QU8$jh7_kyq6OyMTYlVY$Q`lb=d< a40p@g!#{29uzfv5h%z}K$5bu=M$#FX0@S-r~?C^w#` NCC-2*Ctx&f(M==>;Hm3oSI(%Gf04_q1PWPEF>R(Nq8?TEqpl?Mk6fezS@*zdi zEGpg@tjC&VfQXx?<5fCWm8<;I+nLa{CHr}buPTnD@sHaW-d+|xAzzM7)hxcR-bh9_ zA2en34*6#E)M+ruhL}Xi^|69~roE>rBVSI~u&eN~1f(*jQLxL8L8M>lNGBEND!+uM zk8j3DyQ-S31Zuxqd(6I~nFIb {`oE`L#s`w578x{s=3Cit} z^}HfIk^G{z?!Qj4Z`WoH1mdf=*QW{ouI;kdmI~)WgPfPR{H(*q_cHIRLueM)m9@mS z;%vPL@25gdJX}6PyySQxmqniwsv0kWoHDXM*ni+Pm-l2*3f9Mlnja!1r@Wv`n_Dll z)pA;R+u-f3zq(;jJin<-`;N_Ne8dTc_)=OK5l~*Y-ICnENFm~ ze0kR5k4;8w&)2*8TjGPM-X=Zz=@yghe{)Y 3GmUjA-P_!nOp+}6ND5+HWubg-Ct03 zrw|=uCBaW}#-lLHs9k0JUd^X2eQy*CtG(DDhDGG4O;w-_7 zM=qun4Acx(titjo!b?jJ_ F3rgBPJ`Q5k7W^;*@LjEJ3f=X2wss+Py-ZVkP}w&*56hx C+B> W%h z*?MGh8?a+X_^@Sv(*S8_lDN2;SL86_e-(wvv}POEk`OV1*z)RHn+&bh4rK_G)Bl_$ zi|ZEbRXitIejBDNy!-rAWn%Xo(g {`sjsBZ{DtuYwVHi;aYP zWp9UzQ@U+C2QP7p$!Tc@ivOxw&eTTaWaaY}i(4`l!HtBmrLW*#>ET_Dx-XGl*~%x4 z>F8J65gEC(FpM#&R{o-NVw4JNcS39X6_*^J*)%7E$39!GGvD1m=uODq)6p=YZ(qRa z*xUUubot}*mVrvWMDzQ~4d)l@QCV_0+0@pQRyusk G6 zV qLC)kAbzj Gn*r1 zuX%|5qB-BK@f2#Le= %=i3{26$Dgi03rx~W|~?5mFvh_Mduvw7ME$SWoZdEu61_=C7@kAQO6T~Hw309~yCA`bM@|`sviZ9>FCp~QM&iBlU4LESDW`lsjhu*)^ z#-@{4`Sb0ef~Nzc{^MG(&hSQSC}VAV&zbkfwh(Zgx8-jN#ycvc%-Pl~%Erj&aka%) z2H=~IuKR}ahVJb~2XJY*p5_ny2^XmV)l D5SGhaQ4? z4@Fkbt@8gHzxt2XsWMG0&lMnm5AUMP|2g#FWjBEk{wpQn^e<@V-suB5^1wDTse})H z{MHR`yS%;mh)FY}Hcd(k4igYHBff@~8ntGViYZoX%gH-0qDhQFaMLZ#UO%ZC2s5f_ zE1J|S7C>?ZPU;ljRoKlsu^Q_XpA8j(6r^dYkKNW<{!suirNh7bFvlFe+2%+%Hl{#z zip2DN^EP|!krw+a*}xVt*pMv}Ed-c5vr4a?3@tTC17J=}-yi-my@RBSa~yz1A1?(Q z$a2g}K8>u16q@G>h%}I|bvzOVh4I@+z*AeA)&DISrtegm|NU=iqb9P8Wf~D(LTz$% zVAZRpaN?>OBs$8v5itT_`W>ZlKuAC23x_Le%_*f5OppthMVshjo%=u17t0Qn>Il zwU@|fA$`lkH^`EQdv3U4H8Z&(5l^X%Zs0|_fR8}jc_Iy+w}n%AIGQ-+xf#i1*#RHj zPb^~N2p?NP%j-H-zg@`t{Mvjcf|cz%Fqjm%_MP>+!8WJQXRJ5p!|{c0Cm*TFGg(LO zo2u)Fe$Qe=-!oh(m@GP(ChNJlL$igoodn`i?|0CdhQ^BoIN9Sv4vSQYi z**dGV89a~s@wVE#t>#={a15WzDi3{AkPn&fbGXDYcrSDyN6ef<>U}Y-;s? M!Wbqh90SkuZSFVc8R5UU|Xo{FDCU2T3w*j`Q52Z~07=Qa_hW zX$$!4p7q~XWCcLUCr*#`#_26HGqcrNEN%V3JS6+5vjjB8~*WWTj1=BM>sL@1`q!P)+E|4zs)JL>jEGi zv24 }4 zgCnWRXzgOJ>KKCdYTQe{9+NC0)0Js**f|vM$VyDUjQik2#w!nS13v8AS?Vl%$y?zw zOgHizaR}p(VDUoW;kBvgK7h{^#eky&M6Yz*8#A`0tmjb~o4~`8?FO($8?~Uy)3uXg z$(an^PRc~UuXzTXyU$t}QgRC0a%mG=3jXNNEiPg!`R`{`jUIi!_9N@v zHi0=jFp4=^uGSCd7+iEd|1F~~qT*zGRg@Yq1K;*%YSlb4U0*^UCOLA4??AmDJMP#z zx93m}14!H#0IV%mw*IxfdB{9p%NH(F^d E5`MdkZLkcXQ?tecV;oO6sUCwyFM zi&wqLpNd;OffYYcWRG!reZ;$-%_-E^U-^A?!|J~_oSv)tg&qUSk?$5eAIW~8WICFV zK9(Q6VCpo(`xGs_8t~fI<1+@yl@@+_;zrvgG~zYWro}Ws5qZv@g3J>*LoKhrFKm1^ zPB>Ec5;B%HksnI>(x*IRs~5{>t4da{#be^M%J0U@C&{8LBJbiDQlt1D$&>k#Wrt8d z2yNQl7w8AhEK