From 217b78d4c2142e70b742e6ba635c0709978d332c Mon Sep 17 00:00:00 2001 From: Assaf Rabinowicz Date: Sun, 9 Nov 2025 14:25:29 +0000 Subject: [PATCH 1/5] Initial content --- .../.ipynb_checkpoints/LICENSE-checkpoint | 35 + ...rst Data Science Project prerequisites.pdf | Bin 0 -> 177961 bytes .../your-first-data-science-project/README.md | 37 + .../adult_income shared.ipynb | 1090 +++++++++++++++++ 4 files changed, 1162 insertions(+) create mode 100644 data-platform/data-science/oracle-data-science/r-conda-oci-data-science/.ipynb_checkpoints/LICENSE-checkpoint create mode 100644 data-platform/data-science/oracle-data-science/your-first-data-science-project/Guide for Your First Data Science Project prerequisites.pdf create mode 100644 data-platform/data-science/oracle-data-science/your-first-data-science-project/README.md create mode 100644 data-platform/data-science/oracle-data-science/your-first-data-science-project/adult_income shared.ipynb diff --git a/data-platform/data-science/oracle-data-science/r-conda-oci-data-science/.ipynb_checkpoints/LICENSE-checkpoint b/data-platform/data-science/oracle-data-science/r-conda-oci-data-science/.ipynb_checkpoints/LICENSE-checkpoint new file mode 100644 index 000000000..8dc7c0703 --- /dev/null +++ b/data-platform/data-science/oracle-data-science/r-conda-oci-data-science/.ipynb_checkpoints/LICENSE-checkpoint @@ -0,0 +1,35 @@ +Copyright (c) 2025 Oracle and/or its affiliates. + +The Universal Permissive License (UPL), Version 1.0 + +Subject to the condition set forth below, permission is hereby granted to any +person obtaining a copy of this software, associated documentation and/or data +(collectively the "Software"), free of charge and under any and all copyright +rights in the Software, and any and all patent rights owned or freely +licensable by each licensor hereunder covering either (i) the unmodified +Software as contributed to or provided by such licensor, or (ii) the Larger +Works (as defined below), to deal in both + +(a) the Software, and +(b) any piece of software and/or hardware listed in the lrgrwrks.txt file if +one is included with the Software (each a "Larger Work" to which the Software +is contributed by such licensors), + +without restriction, including without limitation the rights to copy, create +derivative works of, display, perform, and distribute the Software and make, +use, sell, offer for sale, import, export, have made, and have sold the +Software and the Larger Work(s), and to sublicense the foregoing rights on +either these or other terms. + +This license is subject to the following condition: +The above copyright notice and either this complete permission notice or at +a minimum a reference to the UPL must be included in all copies or +substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. \ No newline at end of file diff --git a/data-platform/data-science/oracle-data-science/your-first-data-science-project/Guide for Your First Data Science Project prerequisites.pdf b/data-platform/data-science/oracle-data-science/your-first-data-science-project/Guide for Your First Data Science Project prerequisites.pdf new file mode 100644 index 0000000000000000000000000000000000000000..26650eeab9d1b7c692f68349718df26ae965b348 GIT binary patch literal 177961 zcmcG12Rv2(|39UYot5o2DdH|GvXhlvW^qH2y;nw=Eom!cWmHH*s3;U#DiN|J4Lhqy z{^y=^mIN3n$P$9ykF1v`)<-xRojLU!_#g0(EYug4ue9YTn-$j zlamuSviEefMG5PXtWUUA8_4n7n{W|k(Z~l1&je4fSYlIH35a8 z6Ib4i64!BYcOp2>TqH4bkq!z+C$47i=n3d2uI30RqH1gHVq;4uu5Igl$kPsmmBGo& zqdYtTA3D+b#s|g}X_is3hd-$~CVV24iJuQEU0`=U-QK{}em!U1-sBsG=hBsWbkz-q zsXaYhy+p){L%vxH(=v6mZHP*`cU{RK#<#7sqWx*nm|_l9%;hA7s8Y3N7W2L4@xi+k zt+qDuudvYy>A$>j;_-;Cm=-<1OXo5{MfL|-lC=C*Z*+f&9u#VS6|0+yT1H^?@O_6? zDp)Q#$?bixp0QMVYGu!GfVEUn+$I;-dK$B*+r1(f2EVuKUw^T>qMrRdTE8JxZ8bLs zclcJGFW+logi{Smo<4o1x=Tq#iLmzK;if}(-F=sjuYJ8Q?V1N8^IARM-9@KYXT_II zTK`DnU*&D5n=Kd9?cF}ad1;$T;IZeatp{*H98-U`-hE4T*-2GXz0xR%D*TOB5iu07 zzu=(YXZ&sC=W2@*H_<&nOins+L$3p#;BPdX2!{Zt8{69eJ_o|4Zfk$Y&Xf3)ii@L* zyP+$=+7@LluA!o$Oz^O^K@me}un!Qho8aMqk|e$ZVr}o~p=ax^;^O4$;%w{eiIQGC zwipaDwANNuR8&;Usi@~0K$JgSUjM}aaaCJydu!WW?gT%|wUwErETAeiDOEA^bX9V8 zc0syY+uqp$@CynLsNmvm10=pV8n6!yc+&s~3d&p(kCMPhh~Y6ZGSVmv9*2^^qQzu@ zcUa&OB@_{3Kqn|!djiD^!~i9}$3TOQ_&=1eou{X($98dX8y9O2F&B4&wWF<=wTqLu zt@Ac74{>_}!2^h>vnLQ8aSa>b|Ms4K;=t#w1b0s-;H`(ak&C4@5wL7636_Wt#Oyqs zwg4q8Zs_UmW$md)a3=;BgC_o)scekY+(`XT)}yi0)}y7wBv2B-|B3cXQ((W3kB^w2 zi*|9Vst$sY45x10>}%nqj2>FU-N=a8UTbVB&BxkZ}|k zLrE}=fP(Z8cOp0w4%s^&vhi~!IN4hta(D4^^;jf^ScK6sGe$3l%+eSsX=F+C?lZs5 zmwz@$;Ymv3a?$4p2I;s~ZZv(_r^5L{O>wlgTUw3NLDr4kYOGaUI?!5otZrYA%IUA_ zY&0=)+0L9Ny`JcE>s+4ldibIFNoI#a>ZXgrY4w3)pFgxFMy1f@@cu=Yo26~@aXhBK z-L5a__uucjPre8Fk58P}-;TvS`kOiw9NmgG+ZQzW`@{Ip+kZdj@0+@88RY9fV%`_@ ztK!40sr$`R3axEt6tb-Lhc-v#kb?cQ7#+HcPmC9(T-VC}4Hm~d7qDxYwS?PE3JH;BmKUjMC^l_(8`*-5}pW9QLH9Z>S z=nd6)zTd8X)0VDE_G-!UOjPP7jr6v!8%DoqM6}Vo5`EHj=%Gnpxr0Lg=2N$&qsudT z?+xoK2FNoyu$({MA{d%?kHhl-z4Pjb2h7?TcyU3)qc4&^V+uPAkD4_2ePP^Qx#HfX z5G8lhpKAj0CpFPsvBQHm7;ZhD2nl<%C2T@)YP46^GH~R_h>zgZ@7}2+zy1a*cv}_) zkNqwBczdL-xz5t(cdL^Fm5YXq`?W(m(eZ@+qs@^*wvYZ!nL3;fuGku>b&*Z>!1MHc zrk8u1de$?(@{^4@wOgz}+WKjcz_a3yj!qW*4dW$>Tzma^Pf7jdxuU~;pu#8@V`d$r zvER*8b%kINx=WkE~1E zP-tSOnX#(C;Kavg7uPuN!Eb(o-7(;HSO0O>ff4e8%c{T<-kdANvX6$ZHzs;ZJ zQh7PraKL8u+4W`R-FXKs`-52AmF`&YK4?p~DQ$TJ7fnUpy%*?W)+=(27q6O$2X~;> zJsU6|c)VHGLc}RgY=`2Mz!8S{m#iWstR`g{dD+cn9KLDSCxrGl_U;kA&Gj!h|-{;X9X?lPb#OrmG#ljf;W5GBC>vpbw4anw*45K#?5~rx~1F1E>hpg z_op`D%eED^S+(J{(zkp!J4nB2!qFVa>d4%1=ZXBqq{n$LI1B>XMD|7`eE7(x5R&Mx zwPAwm6<_IAy1c<{%n#%<6>c9$;u7X};V;6-Zn!1EVpP+oh}PLWwaMPeFnR63@l)yd zM;g9r)K$OO(tlnfXj7-uQ@S?80oOI0gFNR&*teKmmTW3_7-l+Lx23nf!t`{FO85=x zZ7uGCBQ~s?wJJARngl3UwfC-d6yBs*NW#Cq~Vu&1Vn_uq^W{FV21cV(hQV~(g_uo|I$zNg6On1f>8X}r+> z<(jV7YkrI+XY-2cddq|q(pBG1Gmv2Ys@O6j-^OFIaoLVDQs26)l82mo-)EJC*M~Fb zZa&7VYGmMYyQVQODpjY_TRp`!v_5OwS@qSfHOjmfB2Ep3q|$V*+=HtTpxw-LP@0i< z!}I%rx!N0(yfRnZQC0mBtkk{EiKhIvE}z+_n2&2MqMtHeKh(@{TBM-l;KA2?Hsj7oryz<5eCt2Hap1>_)l76vsG1eo$>UUX9ijZz<8Q3A zAE|0sO)-s#Wl6_;(0MAA7Qwv6H)BPWZvFFtUz|~QA7|&-(g~P4>m_pR7jjSUHf+`7 zbEkbd^7p$ihpxdm(ysG=RJku*ihS`Hoeloe2qh-d%$wa3t8R=}07i!WU)1>^M z&LJ;+b*|O$co=n*a$RcY`78Es4TiU+3P`;ZF&pE)X~CMhZ;RENi4<4#=7X|dP4jq% z{7XE9zl8`Pz0w+VY?|bVr5BOhSpV1KDv3sa{qtwfwx0_fa z4n%ja-P>Zp*nZ(v=a0R%A^T-|9Zeq5-ReIrs$>@4d43C>{i@^nEB)E8NwP6q$v&}} zjnU9z#cA(M;XI8lL$u!p4CksX>#aXzUJX&!8#jnONyT!Rjmu4jx)F1kYLi8vXWplG zna1l(Zpq_D{6247j{mIlt1n-@w9c5jskHI7)E}!HezCvaM#J2ZqOQzAdw#A-ui1G# zZ9MmZa9Xi;se(uv)2W(jjR+ePfr3=*5OsD=^<8>z*@yQ|nWc2l>0jWYS;hIZLsZRv z*{bc)Jg8H3*HpdwEKM-?6s0qFg~U0;-UzXvUh^mh6|o}2Z1*w7F`vtYQnVaRzD~ac zV{o*FVj^gRCRFZ$%{aAm;MsPH0h)*0$r@#xpDKj)sn ztbg)~%Ro%E;|gZ8E^}~PW4Pm~J1Uh28J`y4Hcv!9T^A?H)iL_>1jBC~ZuewEzSQq3 zl64AwzE4l$sjl!1J~V4Qm+s=4ov7-l@H|hW zNt1*Gz7;>1iqDB=KifL&m$v#f8!P7_wl#nBF125kxnCZ5GiKaIFVLOImj0%-fb4fn z?z7`pcXTKc>s8aP{gu}F=MCLW4^s2J@8Ahh<;j6jbVFy~iiKV>whsw3?lpCz z>D0O3h#x+#H&IGhv10gmZmHEaL%U0nS!G#uR@Rn*ot>Pu17$WznFr`voL7Cc;a^eP z@GC*t3uU+Sc`lam#HE7pV45?x6MS#BSiZtO`_N&`dOG)7^i9d`-{}uyd+K&8)vPV9 zi4$8@?)|*HzuG{aX%$++v%$+qa{rNSmJ((WyppeNBm1$z2bm+vSQU87?u~ybxNGTb z<`VB4`!#AOTU^>ktCEaPLm2}LhQ~>rqG`Gv4Yg|pH((rlg#}I70=8fBPJC(_O!#RX zslvOro#%3SjCR(|1B5yj+P6Pg_cevK>uDEY(mn68#=fm7NPDx+@Vu~_m%bzuR)d3m zBvjR6&3T$X?upq&Qe&3|(~qm)uX($s)WT_`?dC^!rNHnOCYHSkR;uQfsrg@(q|I%Q znYzjB&oPl{JUvi)q%>8D`9X5C=Cf3)u{~z*CAA-}@p~@jmKj;P|2=c;ovVi;&TPj$ z-cj1m9sVR+Afb?<==HbVypCJOAHMJt{rq`r)ZbsFfq~Qte+I5=3#8p}d{=B(RS@*C z>&LG6mG@KMaH{XCeBsr3%>6U!k9^##sORPRYU?ks_p(2zb+)AAOwCPSA)l$E)K0yO z(Zet|g~wZx+HNr9ByXp9cXsoK^Xi9Ln;yuw7aJD46&^ZZSl>tc=h6ez*9kfI6ij%2Up{_su&1la#Anw{N3*FGnt{*s;>s6g%rdbqVnM~puL|zaIZ1vXaK$}4pl(*< zPd6cJbz;p4=lV0j>-UCKbM>yYix$3d_FYa|S$hZC)YSq+C~j>K!`WrSgFIFlNXnM=fkP`!#7`Fk*TZ2h50lUk4tKIUf+9rpMvS&u~HwPU3bIY9#BqXk`+ugqfNYhQ|+7%6^Y3}n0P5>dqP$Ygo0 zgWq_!1+C=pw}JFi5e7F1tJl=H)mlH-v6~#X^1fFX;2T^Ue#Qj5oMTf}8JNm$xNo9YFyBzBBu-9oFu4I5)QQlef!7Q_J!PElT#fVPPAe*jP#Z457FF zU2oF)-h_|t{IRJ9j8PK1NQB3UvYqD z%x4etPkA?Hvq>t9wD9Wa=$qH3?roG-lPW_Ei*ZK!ls#R=nC#!xhIy)cE}*B%!gVbC zYQAq02f7iJoh-iN!#I2P9o#oP8w&;c4bpzcHs`-^#s2|&& z#9XT*%x#%ARs~Zfh5N$$E6zmB6g9>LIbg)rWpCpSi$Nz`u;J z$M?*;tg!U{vX9N)XH$NN?CTafm0Gf-r4=qLfJO_Wz4sfn(8*! zg9ZH$IcW#+nOvniwmjSDu#JnogLXn?oupBehUB=XQPgK{#c2^u>__!(P5OrTFW*x2KA2 zz2oj=#&s&Lab0%B0Yb^PbfK=8ktdJdO?9>EP8ClLB_wG^XSRej7C6>8cwt0OY@>f~ z;_}F8o67{%DvO}FN#P;PB^8!oN(>p(6x-Z7wJTJs{ZJtP+`bd!y4JI>B~$@ z?g?l;(xM4mv+1q)ov&W~&*E+xXIFFR(>~YvaQy9Phw-31*D}KAKliqJ9G6$R^NHai zdtTm`!_Vo&Z~2etqee97ugjmm;vf{UwmBsv_gd-?52jkftu9r^&Z%kXo8v!?rtHZp z_F1dLck>W6+MP8&_@x-DLb06x7F9U#}^80jG-n%Skvl4!x-&*l}j3{WU-BMPL*Y+-mx!@&ZY|N}y<`{WWE!>xh z7h5sPx^lJkD@QN(`)O}}UU}`;ZnaW|V0}F{dRvxxm0v?D7hzzXw8X>l4ecfl%umEl zZB*Th54*Yf?&FdbSNPO;9=ZRqqD*2SrR zsdK@y-70PJV|d4H*gI^7(r!}o zKHH}CE=Aw-`_0T%Dtm(yubeCIz9ZQ8?s5;)o!os^-jSP2*Qk4NZa2Rti$DLRvCNl2 zD}WRM8vDimxc*`@uh9AAfl@O>&);!s#IcMz!#v4uPsy zWq#|-`yWde;`2wUPCjDx`+GO4zjz0;NY839IcA?UYE>-9#|{CF-N}bkHT-U^9cX^$ zQ!-{(6RlR_@YL^U3|IFXrh+qv8N;4CO@5Io80P(`z1K30E~8QI$W8ImjKhg6DNo(E ziJpA(TE6yIZ=|kQhWy2gelOB=B|f~mqg(45qw?MGG>W$NuEY0F9P)d%adl`ITzGV; z?^DLj#I%*%$t_mW<|4&DlGxzO+I(?VT^q(rg@k$ud%m%yCn+DVj>P;yM+lY=lyN!R zGnCQik9A&l<#M;;xU8vUr7dfUE>klwru$0JZq2~-+O!K^{)4`obN#Z4^(P5Oz0s=| z1v{?SX^vH%aFXV!atOBXI3x5lW>e^0j8kP(K4!A?z%y~YQhRva_?y)yj=R!SH_`Wh zk7HxUnaZ=WCu$ulebrRCUP=F5eF^-e zpa;VBP-UC=keE9?8?CZJXU&SHio)>2XdAzHdc*Dh1uD!w>i*&W?M$b`HpFyQ%hu5Q z*sXsRDLY(Ppi=s(Tg%5T{f-JFOIX#%rY+dO$<3?N*LE@0zTKnkW2KKDXd3``R0*tXk9M z-MnNP_PvsIT%IIsc;>EHxz37&0}9TQ;}r>R-6v&Vw4U!1-umR4ymK}F{j2DMe(Lhv z`|v{}VHb^R_zqwMndP~{9`4!9lkPX(s-C)^8+br2;a%RinIl`WJbSpzfAFYmswUqM z`-p?FZC-g)z%7R7as~ZnqSKfZ3(cyGz9uK_uA0zG+| z$~GVEZEt7GhwHD%$EX+7E@$BIUoIY<8+|5Tt+V`sOW(Q2N8d43t?qyO%wDAPf;DfR z`5T`s>F4LTwv5-J-v4FnH?C4SLkMfzbGGbDVns?NVOTkV&PLhH_(JyYRGY5_u^YAv z-*~m+({G13p#uj7BCS^YG2Ss_5MgW(e0cAc;ivPTh5EwkFC_7mJ9@2C-+8n1S?%{m zlnKt_+e)PvONaH3HFtmSKYG}U>kc_DNRl20mRT4LPWLOhMO zZ+&FHZsQA%rzdGN3j2Q^Wjv?F%UPMX-Fbu0?`<*n_Pwi$`0_-#?-)ygcWZ5(sHzjq zqX~BFXVxFyH+Wa>e%p2Kom}T7y|6o#89WSxLJvvW=7c(<7QfMLnl6RwIU*ubSARL? z>wIC)`t#q}#81ARdPvDC$G}Xb`Li3YlLKWjmMpe^?t>2_C?bROG;eSh@XwR9J zo4dq*ZZ6tW7m=pwrNJvJyz7+s!Ky&JoVPKwW@+osXYo{a$J`cvOa1ZUb|5Xw&e~tg zy4z)NEWbK-)pi*P&rNb8{O@bgmABj4UBB9f_&ApcwX5E(KF0iW*~5)qEOhkpO*=Kp z15E}rzEN{<9!cUg8_?(?T;TlUHS*N@^_`@Hzueqjf9{Bl{2e4av}1LJm;;a6=BDEx z#~JLCu8fEcRo;E`P|`Cx%O{nW>Fdw(=<^(VKe<~9@-|l=M=Sjp|?-jAHEozTNtZs+JpxbZIhM3!g4utW~NwWW@?s?$qD zMBp6S+}~jp!(qG8N6)t2V!kdv_B5tW(Y%^DV1j#8Qe#(7)#zxL`_YXXZ^$S#HVz$^ z?{QL54z_)efAT}&(W2db=j$6kY!(>xPAl4{@Qi0$P>N)Fi)N1C^1Uu5@%-9)$3oX=GmVg{=f@ovvp@bXiEy! za(;eMRdbj79qo{@pTajTq->Ku;>;CY-f2wZTC%6D;(p+VC#73ubRWcOqo2`9DGD45 zFBJLIpr{|B#p82BMLzaor+G4~N>BOdp~Qd#)q@%7#iMdNu6ev_#q6=-OC2hWt1w@u z+&Ny(Q90JV<>rp{D(^+`>|2Cv^BCV}(`~_8#2c9C4_-^kbSZD>(0`ydGQPeBe|T)U z9IcS)P`2isDby3*+I(B5VaJDePkt7Y@)7nJNinopW$a>M5QnykH^8q57ATYrpj~^= z|32@hTbu2w0xSdC)B_Hwe=k`dn~Tf6VSFvY=ac361U@}S$-JRnrd>L>C)?`Q3kx%lV$8q37$+_!xij1-FAExFciGz zxdq{Myt-e%%2@LmUe@omE`<~Af~i)@9oNxlAIZ07qi@wm-yXh|EfjB)^{tBc%fr`2 zd>6VAElf5`G4mIViBsNTSB-B6|Nd3?Jp15f7K-h|JXk{ zm^d{u`1A9VpsC)(CsVeV8!x=B=Vx$Ub;i2BU`h#*HtFrcW`9@0zURoko2p@F^s|$` zDD%712rpC7nv&3x2(#eBNmZvMmYIF#9bVb=o0o>eEZ#3hs_-D>bHtzLLc~RrO zj#uTOQ1qedD(clH-esG%v27ZVep9jWXLwpSZO^9^l@9%w33k(=Q%r}R@~YrQc#cYn z4PKXhuzlYt!Ll+-=StiD;J?4ES6tq=byGl(nX0U7_b=*H-QVrhaTi{$(T}ZJcPM4m zFWQV7!je0s9?^VS?|qlnLKZ7CQF*lo^PDl_ssEt;s42si?Ks)czTTt({;vhD>&9q% z`Hr28=IrD9Oy|UsD6^e;f)lmoCvKy36szyCSj~5SR>xFiD+-kB!-b+s!tXM(N~G*7 zP}1JSVxfMVNe2 z#rt802a}$0q^5f96sA+&bMCFX;2P0lDxZMUI}Tg+q}u4HxSjV7728bL{#;8k$uEUP z?RdaRCc5nQ_5LhW1tvMta-Qc4EI+$|DCfkv*v{6+tiHVcf7`Tq?>*pOXcJhT|1UzBBx%(r@SZU zsQ$9G!6#dMPk#&%RuU36KXO!rhNH!5G6UtE5&z|=1G_L&`^N?)|H*?#3de>IjyZe& zsvIMv>Gt*=fBeWQF!=Vb`_y-Zf|tGbLHqc1F`c5S55 zRZ7rg)jeLbqgnDv&{u)0x~F|#-n{uyYnA=ct^62s>kKLP3W;{ALs@dF}_{ROi z>zr8rRf0}yb-m-p7=4uPo|HY=c*L&jdiO|py**9LKzMwH~rye%M z#rR>5i~7d(>v|dQ;4D^|3Z zG2S@4L=Jb6<%7O!yp`$wh&KB3$Ls699>w^#JVC7yzbLkfIn8mSP)+Kv7Wbyq>lIrF zhZ)~{yx4Tv{Q@gr--%J_tm0hL7~jWc;r=QHyW=Zpdsw6Bf4a**7wPNRBxrDFYoIyR ziFN0{hHkj=IEgj{b6Qi;-}Eg zoezC==3cAy-d69UDmNDA|LvrCGNX5LqFXHWO{<_wbI;fAM-!3Vy_26q& zR`Ftso421)p9({Zon7_%$ng~Awwr+&XttB5c+;wr8g=lpdH3(GN!Q_P%}m(9N_$xT zQy*u(@iFf`FZa_`$VD7xxXYBO{xb069h*)3-_g_pm#B`e)Ad`Qar8v%`%Ryo{1SZB z^JCC0K<#qx&6az-G2T``>XYnl)bko?z8GY`QC6k8(n6Uxx<~Ksd*AAnH9FMcyb+u0 zVlPVb8CwMZ4PNbBb8>sex!vWjVzS3i9<{HEzZG~!zYA?)WELyaMYk!+A^OLfy&3%j;@~g+t z6y+($Yv}!LWXF zE$!|H0;Q)nYA6<*rxQE#@ejB3<(Dc3wecq|DSt}nsbTBow8`u@9$Ee>s6$~n-$D8B znHt9=eDBlAB^Y>c?KypP%h5KG&O3@+F|0-ZH$=Cp<(bc!-&+sKH285fF)Q~M zG}``R{$*PDkp%wD5T_u9o*qc5G_dt>@p8Ae^&nFB05-0*p)J7j1BtleMz+45C~=T| zsSLlWz^@trL2Re5=PpA}B0U%Q(_J_ekzQ*+WZ}UKPU5dk@F*g|6a2LrKv(f|dL1c4V& zFThBckLZEI!1^I6h8`$1owyOp}>$IgU&*MJ~G%h<23v{rYfYt zPDfiOkW{MU;tc%;@H+|*#vJ(R5DLx^Efj(&iJwROq*NG!fe7AfmSJ;*=>ha`g7YDi z@J^j=dkl#jcN8AZPo#e4pos=3P&osDVT&++9w&OvEmZBjL9uWNXu%FZNFaW)n3B^H z{<#ZMaYlj!V!8z3#T*@G1waBWSfqgfHJ*qXbvcm8PVe{%~j%L%g!3C>@ zG6#(@0I14<8ndzt!6qeXFEF+WzQ4OSG6 zn(cKG!Z3&(0^rRSGfo{Cx8}JW9(;&y2j?{?Nzisg&PtL)3D{}C<_aKDfuRuvnT@b> zsntB=c2KPu2~rd#yA+9JC+>)u_PZ2C*-la#VoU`;U(D|$##E`9YzIv-B65aS^D`C`_QavEF!K(0!GnSug! zn&mX&C5wrLohJ1!?IA@GP9vA?+Q5DwJ(SeHWS0W9nh_vPQF2McW5z76BSuwea-}oN z>m;QihE-{D#*vqX7&O4UE#_@{x*4`b$b|59d$f7_)fp=i3AQA-pgT-zFCx{FT z;aVuj35f8Lo3+do_9h zJ@r4zL*O0ckj3PY02K`S-{@ct1(cX^VBP>rm|#`{uV7IEuOLv&%0zOA4W|(X{cpYs z#|@E3^LK{NSyGzqS7@nt_A@CCfz+7!TeB&bhrntKxc0o5UzeaC62j)6129KFQgMP7 z)**zLUL}W?$$_|l@j}K0ym~Q}r{glcb`PxBLViWYg&Z_O(@)HFFMucm3^PIomNK}8 zR`2J;775o_ayre91xa~GxW-a6fx(cJhr}=}xq?`Nen<=hZ@5?>N#)9P+W?p;V88$X zH4QqB_zFe{cm?YonKQ^1J;}w?>70Su1;kW@{eg@(In14(Gmy3j8DKswW;6KIf`Alr z43x%zJ|JQttpb5(F=6utIsgYj-vHSR&bW}$aOBLJ6JD?|XQwkBIiz684S6KP3r_Sv z|AYDq$NTIp0X;yk*WgZ0E;K;yO>V1tBRyNLYXUQT-2;bFb7wH}@<@yUdx4AHZ3*5$4sm2# zrc02A9O6J57t@bqrvJk%z%d|51GE8nS_%0dcn?140I%Q>g>(sSsi=mVK{Y58h^z%a zTTJiys0Q8_iE3b5Y%v+LeF^ov=HNeacn2Gr|4p6*ay+4|)r)~Tv$OS+K%y?$KJ>rL zpEi}4`B0~qNH&?5`E#C$W@kRxPA7TqN+2;F?9u*5?;|hP>2x~MV2NqzoH=R5i-bj zG-tNx}N=RNI%f3?`XrjrKZFn~z|8GsBpxrx{Oq=B?W$ROJ(o*fjh0St`2 zvyui0!<03}F{I>4B4HS8K`-Vg^7=_4VHoVt{6~36U?kg`U4ni{U?kf?UV=O%FjCen zCmjzYC{WffCoOLlD3E&?AqCts^a6nG2tQ%Mlm!gLSpaGdu0^N6KtL-0A)Wy=ae?U%7>NG>@O|O2 z2Wnsg@8NuhTkII9$Bvx9fYKIAiRrwbVM@SuA@iPG9mA_tGh_+OT($&;Y?pU-?5F#? z$gxNYiG7sy$1x=3A+e9L4moLgNbIAmM^0KE5-UIh77HY)Tmn1SaK8-dY6Cd~V<+4% z$INS(W0uyO@yqIXR!~M#AT1Ax6_k+_NXtWF#r%D9b4UtH@E;N@$ToFJ)z0*eLts%E3%7WoL;-3A zYN7zI;8GUw3fB%qhCpHGwSuu^`8LzFGre~Ys2wPd$h;@ltD0XskQE3Sl#v*)Pz!(d zxFdtaP0C0Nq~#%TlPqb2RIH|{5yV)*WCJWjHbCMRSw6#b3}!eCu)awDQ62+GJEROE z#4a7bz`pvNB}9M`hY&~^H2_OmAQBPDc4}u=AZdX}NF>V*AQ{$~m0~PJ6hL7i)&cMe zwi{-Jm)yd@zwm-1AMptb_5{L{WH~hROAKTz7$9U&Mi;sX|EGCdts}4KOP9bI_%#grB3<(q#-oy^s4$O(54lObx z$x>IQGZG?WfPf5Hg2+h9`tn$){XZw0kUR0Plr`oT5Qqd*$~yB42tz79H%SeV zd&#h5`+Q3gh=ez?yP}sO5D9N&nHMAz5*$m3Q8vfI!~-n6eI5%f4Wb~^fdqxxma`I) z+$8>ALc((yAR!@FBa(?MgMvgtf?6YFkmZGelx6G;$O7dDwY;#jYZCcDI*UoAP@=Ol(7dE5QqeC%IE_N2t3r$q73nA=0gP;abqN|GcTZu-ZkS(+z*zuBbjo5T zlfoN_Z~@~DSSu(jOt!$nWD6`zw!lJU3*d98fdKg!z#*sw47|=8Aj$HGrtt{ke}ID< z6bb~EkR>Gw@W}*ET$o;;-4W-m}4Pk3Ghwy@KPasA_ErYYhYo%1{UUPKt47=L9QXbg41^7 zbRCqwm`c+{57C>zqMysXz>?)?%`bY$s+pq4QAR$%O>gj?RintgBsj|02MY*9pa_mK z`oRJM5h#MAjDN6zKm>~5C?g;&AP|8fILeM7SU?~GMQ~($qO)pr0f9&qA=~F&iojVY zLXM+JqDFDhnHk^!4J9(M)}VnGN*m&PX!;KY33v~masau6_Ki2t=X>+3oI2F&T*-WLw)y5r{+&vTgXK2t=X>WxRt0e27F3%7_OG2%Lo;71|+(gZKczd$7oXSLhiZH;=J^BTGzz$5PzPQ5vwJ z$oe9Rr>yAb9;JaJdse{gbRfwGkVGOYWsC(JX@N)-p^ULWS|D;?1&-{F_a&Gtg?QS- zk!{c}MIaJI$TpdmA`poplo1ye@F5aKC_Ct20f9&qA-j)yDJCOPgfb??0vaMw+e;CML=(z53^OEmRmFL@eS4zA%imZ0&aR& z`K7KkKlLsu-8hop)g;@&_{ zWAGsoIQS3=9Mt1Z*g>z9^sG zLslVVP)2jWK^%hF(|auP3uAC(JA$)ol(ax3ijeJ7E=3>`MZhNJV(G9Hfk+ggjJ2?U z50NNB8Eatyfk+ggjJ2?UKqQJ###&fFAQD9=V=XKoa2AS?8+=F=Jw%m(iXJ}Q14?LM zx(@ZNfme7TAMVKG;Ep^F?#Scdjyw+P$RmrMEa_>w=pp6~_)HJg2clrfQnBWb^pI6E zGVqkq8}QRRypc;bz^+%MKyuFcPA;bd+^x0xHI_)Zm??7}FtmceXII_f* zd9H$WnvsF0jGTZcMNYsXzj*|@Vlm4|x(ZzWg{+*jK!YcHwghY?ex_FptBEv|;$AUy zUu4WE;~?OnuK1jx1dBj^JY^h&1q33HAG%^O-;?^fJv?+)0tgCt=$r%;q#BY#2VJ$8 z?0;c^*DHw`3qCX;!a&(s0{H2E_j0FDOF`IPjP1 zpeW@n)h)cptLfUt^?Lym3-y9LSzq68>12npmMYFYvqSx^GFhYTTs9I{SJ z011qs1Tb3>5|+5oF?|*WUJ=?OTKV;a#QHD`q4|9RRR##tEdAr1x#23@G9iGtgh@JIk}jfU|U?smY< z4!EZQw=`hLhu22oB~W+;6kY&@cOJnjD$src6ufQ%FPp%tCh#_f1-_aP_`*0atH^zE z9PouoVD12~@b&OnU1Ywb3K$>3Tm@diNCB@P3IMMlo&et%0)GyVd(&UNGUppbfa^eH z2e{Ah^{|gI@KFeJzAu5uktPOlp`-DE-^2HZ13}?2-oSC*upi(kE%6v+;HX>p@8Aex z;1I$`-U0__!v2AyNapxZU|s?FmBMogfz#38zk?offcKC;$ehUr%v<2UgGvK<5BYh{ z!BRjCL3Uu_I8Pr|H0J~!V7>#(Tl`!U;4lhk9z*8H3*d}^>G>0g)4+T9@8G!|d=dfh zdsy%Pwu2bh6A0h$|7H&%upJ5Z2b>33I1eb?mITZbp?Lm}TPJ||B~C8j_kYv*0w$FZ4*ti*bYT7u z`4d`}1)c|Hug3xJA-l;ewEz!wke?TNgq=R`8vk#$W4`1+0f&%T&k=eAcVOf;a<{dm z6W8%_@<5rR0S#be1%86DA5HuR3>}b(z?pw&;3@3iH|-GLVgaB66CLs3v(VlR;_VDv zT!0A!Flzy=1ttss6w$Hu_0+QULt&A>MB$;~4>5z7PqbGdcoH044iW$EkgW%RsLBQCS z9X)N`QQ~Tj1W#L4TWc2^AWYCT#IG5Z0M-^!9-i*D1SdM*_}(L{P0Z^q4it_#nI*P- zD5g5c!g`X5x-`V(`Fd|h$p))qjFMK5t#SviNxQ|Do5yc<8g+j0OxnI%Jlpl^vvng= z8TC#do@-=SrYC&Y#$LIiBl}^??)+hw1k|KQ;zouC=QU&}FJBQK<7#PcDf)WNqtCQ2 zkc)+Cz?DXr%k0Bvk;B3 z6BCaQb5K2AMHQV;#+G{VCAAdQ5SHq1b4};)H9PilYCSsp#7{f6?-}akH>b8)OJ%nK zm88f-m%D83$)hV-sG8Lum4rE>mNP8-WyL^cc~JbQ_K$68-yYe#j@wA{RGIyq?emL1 zQzQGXbWq(ez4k4}sO)3&n0rt1*} zjtPyPI;ytoQTVKM=@X}&$}KA_r!sa=<;p14@_qLaW8cWh6MU(;l5?weZ~Ay9zvuFO zT9F|u*W9;?V7Xti{afTnF0~qq8qY?Qh^C5ZCR_HdP&<)NM>oIUf1jCOP3ZlOZ}^9T zfpj|}_p4bhZyJ`{{mZx{-G)9S9pvmC*Er%C_NLSMHDKSCI`PEO$J*rJgyz%&kCB;HbyI zHm8B!bh3v>EeLjmEyHaxq6PeyIM#^TQ^8Iqv_18#Ct*r^^??-#Z*kf=LW=RDs~@S z=b>Hd9D6Q^x$GLvLDloMrA+nIOyBnNIGJrdU3&lii9j^nh8X62Dv`v zi9M!Yzq-g(@8z0PQJdq!imKyftymwZ7f4&-v^Cue0_-^}SU;|4TeZsfl4e?r2tjeL z?26BAAqTl45~{i42mvWBBHE<|s?7)M={HoHeHQrFcUSv7c_wIZZ>@J}l&aLKo}+Fza+aGVNtN7wQ!O2K zm!oYNY{+ibgk9HLqiNJ$6f@ljGVA!UH`c79HP0(%bO)NjoUlq;MgD14lkuxm z%}k|>A^KDo6}jv6O*>3aXjWZrcw%gRT9YdIps>nr7PZrQ5y~uTjCv72)}8v1#89iu zwIZ3JR*~y>62li2t}ja5FT>G%N={SG{?SQ$6*D)rtaQ+0L;c!xbDi4iJxbI!*GI7L zDPg~PY(pkpi}D`Div4PP-u^tWq2^~M7o8r4PwDx<4kHFU)z8r7zuRelCT18Fn{jNV zq2V#2^){kCpUKjv815>#Rqm}_+p?F;K|J55+%_Maifo9TbP;T_or)9eY78C@%^rOc zGO@|FkN=;f~TUh%4C+b3wBcP%oJV$b#mdH210ul8N0826Xq_8En4 zo)wj1Jvv>^a*oIV%2EATQY7`|01B*J2Y5S5!uExQyO2 z!IHIq3*WBnN&MZje6&J@3IKB7x?6!JI8eZ;d0?2uyJ56tY3Nl7`; zF-tLqhpK$Lly22OKJc_~q+Oz0sP41Zg}UMgH>CLF>v;R@f6)0PcGLOXIXx<|`&QYl zE%`;MH?}neiQ^)6AzCXaw(7IraUoZD}x0CMyJJxG@V;R4PTCi%LJj2Aep21=n&eF{s>}G^`NYAt|Gv@r%*|(ZXuYZI9#QW2 zzPq!i#YXniBZB|imQGQFCyXBgI&4k+x%~)b_l*>K6IxV)c8kXyIpeon5iR{`ZC~&A zz8@C%9;Oy$=cN_iz|`nj8uMn|$hny%%zWYErL3P{zJ59A*TkLU`N&k9jwjDx-DNjX z6+> zgbrRSNxP=*YNTwtKW9UyyJ`-;fN$-)@f`Wf8{Az&Z?jrqxMaBWn5g%|Md`|DR; z(#lL5B!{=titG5Xt(!9rcdpetv}rfdy}(#YDI?J*PZ)v_3BR3TJ@K0 zS$e-kS6;cQ&70hm+ z^xLx`=WM(A`1%^x;Qf7DwtD`k8I1aN+U60@`i96L$EsJ1r`6o|F(yaV)y7F`64~Sr1~z#q5Z3fLj;>dmbvdL^-H2|$FKlg>Vz%hB3U>fGLmoA^*7J;^xIp=8VA6WTiV-_9broX+sQoEuZ-8;Xi z*_|1F%b(o5&bV?-vYbks-(wYXPfLobxIRzPURLtVPO5^9&1~c5XtXmo;gHAORX8)KYUKht}m&QzbmQiaQunWj&nJe3KC+@wQ!{Q1~eG_Kf>MuDz0W* z)Wso4kO09U!KHC`5AN;+Z`|EAxD(u6gEhe=xVu|$cemU8=j^@DefPb0p+}EZRjaCI z%~`8zbocybX@C9PbpuwQcr{>9xpajrDJ6V#o()8nPFQSQ)tIGhY^?rW&@LmCWGA{N zD|yp%sJ_?zcgZApq5}zBxM03*m2M*aB2AYYg$pb$5*FFoF-BG&9-vm2*DsV6u53B0 zIYCR6Lb5KY1kp3NVvDR+AZ6~Sq2ztyJ9^T?gdm{wcp5VbIto2}G-H|gQPuvL5JIRF zJ3&iH67i!F390j4WN5U7*qW$B%YXplxwdZuU0j2f4=W7IFRF*H2M`y`cgvUUV$KX&wEqodfC$N zg&4y1uYNTQ%?)&}C#+60T>YW<2KFQNBNj!XAML!~&Km;G3xZl__Y)*2^Jx!XsF4Q} zi6g-4d>kn}Exl9o!|TItPDRoNEynW;n*yQw%XhAl`F7Oj!bgUO+2_5j9O{k_8E?vh zjO&;H<@Djl&9f(c_VD(XoT`1O?t6U6Cqi$0 zO*kL)A=c*M{##=&{X z;ok@OE-g&mAFaRX_PJcK7h$-(GC58Ndl3|UcA0Xf?Jpn-y-ojnV|uB!H=bTn?Z5Z- zr-``mjp#@7GymNNaqK>wTiOy7DRJ!?;)~$RZO>@vx6Y^jzc;=tiVPwzp$Fg0lScA~ z&o_u!;2#Z-pQNt{^_j+|IgZ9}yQhcuS|C$aQ2Xl&Uw`~UK)rY#vZrPV5*Wd`XCS$X zNxc$C*r(&XGJH~U6=A z&s^agF{BaiI=Dge`+Ctx8Wj9Dd*t4Mriv*KGxG}m7eF${53RZo6E@RI^S_!Q9gmhF zzMx3{$J3Ljy;%)dtZwGO|mnzjpVx~)i~6Yi8Ey)&j@ zR>FWART%ODXEmUpBV2+^+=-KZf{V{$Cmu4q<)c`rQkbr+i`alZNs}^EI923g*&~Ak z1Omy@!iyljRPBGp4i^=uy@z|*9S#)h4zLq@^uE8}86IGG4Bkp%_>7q+bhZ&9be6M> zLup2_Q{Wc9Ev1+-K`|!Ab)bh`Y7G|{yjQY}t-ly!(kf;qp-77DovCzSl{Z(Utkkv- z+CQ<1k`q#_2oQOhWUxbwF2d46c}bHQRKhGzl%-=&VEDxVr66GHCIQWmD5S|ayOpiJ z#Gsi37l=W>LsOaR7#ytAmocHr+kYcGDm)s%zM+jkvc3)ogUn{HA)&*>!u-l7-;!~V zrTX3e$GT=>2#ToR6jd1~af{B^I3iu%Bf7G_nHX!aQRrp7{5q|eZxN9#a;V$54#3u4 zP*AN;tWrbi)3R-21%v#-s9v4fNyk^qn?7uYCG3S6%@ejI=KUuYtB1|N%7?bm9S<>! zGqSlSPa1;BfRSeBh-z4l*}`vJp0f}n3q(&SmEWz<{6=#4VOvw~9j>J1#xtryv$R#u z;PkSX&EIrnSv=qRw7T@EIfrZyt*i@naV0X4OHhF0DzzN%hzHL|- zMi&Ei`$`uZ`oot_`r@C)9mCWV&LS8LWtqw4O(hsFfa3URrM1yZic0fc%^2(ysRjXs zqgkDqfs$*yczQwCz;g zOzZ!yY`m%3YYgSrBlOloGf$NYksH3r6IQPEF<-drlqWtTn*doKA6UhFd?tAdlALKT*;4C+2hi}6ptfU!uy)J*1*jj@c@#9z-6{fk{CsXZkwwd|NGm8)<4c(1?i`)27n&$@Qk zBfs)=c(IhfHp&8znz0(6(q^$cCn6uU^EXuB<@9)>^Rv&>LVm~F<;3Io+vVVaEg$Bo z?|sss_qsbL@A(2KtUXM(FzdUUgum4}j5F?W>ramlqIU$tWjc-_^s}{mPml3y6yblH zy`>nYiD#5mTg+~~Uh&A$Qx==ur5$%Oo$*22`e8w?)ni5cZLgbzNs9Kp;%u|X$0vuY z_!D&Pht}&v#Tvwplt!U4C4K=pnwvAGx&euK(o0gs!kHXqhxXHjjzHn&`D!#?XlWjH z1%&}JyAk6Q%l)8C!wF|hlT+huM70Lf!&C0JPoE@*vYH&23q~u3G~25Av}q%J_B_7I zBT!^Ht5ngtKBOo<#zo8fSaEkWE|Qv8-uKTZ@Cn^zGxH`2LQj4ZZvR=?1XGw&Yx(CP z(aVq?hgEfyt3~F+8Ht79=Wsp!SQX`srL3`n%hIF!O$O$)sgfW*wu4CVvW0|$3$n#4 z=Z5iKNkr9a7@8r zi~glW!GKqp!3gPSCvlgbcR|TCc3y!UHCylJtW)v4nJI=VbFHdmqzS9qebH@MD(lm# zi|FBTIYIcGV#U3fxw@>DYh*6-%Rw!5z9zReubQ{P?c`6@kA`0Jo~2Lt5i%c(2W>E- zc(;aJxXR&&Xy@muv{YAFW+xjvDAj8goE`M~%Te$&f#PNP^=vH;)~jWzs(cASMBk6g zwo{7(*-D^X*63=Ne$V{rqZMu+j!;h?*~W;;l(bJ~J;Bl{`kM#(#3$W^)23ULI9V@4 zoo}80UA#~M5sKB;C zbeSG*O#^L>M5R3h;nGb?ifpxv1yA-hK3<8?o-ax~xyQo3x7skjn5&}xFp6DK+?TYF z6;@kXNiWy9Rg$&1lrc0<(FlX%n&nwJN=@h!B`Y^Nr;4t94iw)AwMMua(7o2N4{RMd zAki~g(B>WywP!Q(XAD&DB;nPJLfUD=;IXnE<|xfvo8u9}$MeBO18m3tN=T zF4Z%c@UFDWO;re;c)mEuc7jOgUe%P^QsANa4Rfg!6!upcCA=*8CJBkg%T$M*!hBVQ zoymaalI3>xxy%?Hehy_QT9Xx39tN`0RkK{PE!hiB9lwpOop%)Ky1bxM^8O340oZ9FXutl;9|n0k>$d3jEc#->@wp>GeFu9f#>c|;so!<(=t^5E?+GsC$Tb53hV&PRnuiUw z+< zTy)GC>i0}X_O%?xhsc%4W+Dpo$>J6mHB=O+Cbz`(v!g6Ox%@7cUt}89EMI!^!sq`r zs9$&Gzt(!H@I!3OK(WgV9v&FIc4UEvq_#E{TWq{TcSD^Nt*%u!<-`W!Z@Dwl=R-qN zW~KuQ70a=ixUuN{Zn|iX;+Jm^oyI}v0QIjGof=bgLPIVPt0b8oL`}3;?`xoswV*xi z)QRs8kU|0rA-QjNh=zML1G*4Sv@0ZRYH(_FY7jJv>S0YE{t~dDv|lwlnB_CaTI4@u z;5u4fAg_1*aqSJ*HbQpXMs>_Xp5oets zP-46}WBA@igPL$5R`aW(f4-bYeMAiBGV0BIWPR+*xYEz>SiNltU6t~u$STLr*L}a9 z;M+h-#r$(Mg@Yo7^gVN)-X&GfY7+(UL{<-X*@-lSJ7 z(S=iFadlam%ME5qphksG1ro_)_UCC-7xIZ~&;;3yDyvL(iQeskyS9dLa>dx5Ou2D%&SlS#m`ou3H;_b2*6RT}4c+(|3N|9@mwb9UgzYnmz z?VF2nXzjFmmoA4g`GQZE_&ds*D;7+xM@!fCFDj}n1QyaM_bMiRmuo5Wn|XYVx%0~` z?HzSV$>pgpcT%;MGs&ZZD&+gClw4U_auLb`h+?Y$%DF@^sZ@mQ%HBDKI~0itF&HBXQw}vpQ8f_tr8{~QHF#iyED3AVKKTe`hBtzYPk4~ z*;CQ|3L7!;^~;OtrQc3ptoFAG*v;yWfv~Bn{%`47DMw@i(m0Bg30L{u0ZwK@Ld~D- zj-Mvs75I!ok*OfoBm9hPVWXIx>z=r(5lsQuR6}pV$!%f+JrcE#y8-)mr0d-#0r4rC zn?%wW*Zlif3pDH@6{+G}!C~ve&DN*iiz%Y((q_r+8$O;LjcpoBHAofBm1^|upPd%y zHKCsbAzy>lgp(Gq*e9%VuhtBl+xHkt3%$II46oLJ@SjYKmXS)VGOpE9!s{)-F^Bf= z6596Eo$3fg>i#|%gM?@(iN`!C`-j9H3OG?mAS_NgJAP@JxmKoJH`#t98S`;iv`rNg z5Fk_dgFlkLRPE1JhA&6}he6yHGwe=J+;u34AXt;Dc)}u2Ka!hO_1h2c$wL(s;osH{7!0)IgcrvVjy z6i)`?HK zD6n|?^4dloZng<8OKPJ?dLUKXirNb1!$$ES%5-_BF?ggeK zX_LuI$>`j>suixLN~Zu_8)|n#97K+%j(?e!`SI6)+~(c=4g2Wmzy30z56|oeArJme zAlRiMo6e^61tz-a#hIi|);Ev!_4wa2&1?uWqv7bFe{5Y(#k`SP+*alR@wI!a9&9To zEEBD(Ie2PqwYOJ!TjLH=KK2ui6I+%Gc=-VPuUtWMg#5lGTi3T~mw@6Hwe^cQq1I8EejDtYy0q{sGQ>2Gw)epM6pV%ulem4q%G zFOI+CQs`|wC0FLA9Pw|TMD6F64<~U503j|CC6wDOyb>;}4gxo(EwX>3Ge9P>qWY0S9WU2t9R1fcyPA4EQFXqh3Pg{@)S#WlhnJw5ZK`w8W(KV=MxOS&mhbd6lj7d z1Yq^V!U|`HEmSL@siC!Rf%>tQt@LBV8E70e|>SadK?HdZp%wzz;EIK;)x?e`t z8Qp#ld?SE(3&4y?ph|3aH>hRyVxoX%PG=uP@Y!xQ+U35IzOU!iI5X)m2U3j|@$KTw#OQViqTR z{XN{MEuA@Z046^}uc%V}U~Uutkm#@z1~Ykeb*VO5HVOwcAACm?ZC56dFL>&GC!@(cO2bjGvqhFEKfXX)^teF_T#9PA}CKA&J z%1(#`FSugAS``^JX6bzJw>r8A6eGm5dIfs+KmXhUcnDSJmG3We*tSOey`;&f|?L`4Ymr9-${ z7_c_^@BVtevmLrsj<=rQUcHnuB0{ykP}Kp16A21t{QdzMH1CFqmrWqtM}ZzVaO0nG|ur>m7O0%d<;Jm!EDD1D$3 zVNivM&wB?0ZKQ~FS|a(kCT;)HnIg^!`b9D=#m!Gct%+sk8%O;hCicwA;Dcoz`^+R^{wxObmN zO0ny21slBhI`Fi5I1jCSVgL&dHqh90{o#1Pe~fN~M)WTs-*sBBB36Z(|l;g)ad z9d-6K8p9=Fy{&*pS)Cpkq0g8wQHbW@_ai&F?Z?N_l(^zl{K_dV;!Rl))%w`j3{P8_ z8*W2rcb-!$DW|4k`ec(|v*RVUw3a@Ri`mZ$W`}%mwnKR+qUMOL!frdk!c!ckF+nC( zu6?+`n#aVP`J8!OCx)jf&IRHSj zA=11u7&}e%(r-fuh~&WR*$I)hhpey2ENtWu3b3{Z9t;Q$med3F%8g|lCW~elMWdS? z4=#^wlQr!wSNnP*(J#9`*9+fzrL9JexR5I$e#LNJil{oZ+7vtBiOx&wwIx~Kz&fD2 zADV(E9K;uoGhA$%rFNzic2}$&L#;!^YT@jq!J;Eow;v#Sf&E1o&rO?)*_uNJitE^# zaVQF#FU1ir+*0*m`{tRYrhu4`Gk1Zwi~qAI_8ND9U9OVyEeaRH8PzBhxQ~Kuiv6`{ zLLtnA5)h+#4vEB_Bhn}B16n@`?VL~guGzVXu(10q&ff72VT3&S(_NAG6nq4d`d?yN z3RD&~y6BRuqtnZULIxPl1DhKn@v-60A`U{m-_^c|T#kB{JKqkyUZ%x0e#Oe=DB@DK zIMX=jytw%tGNJoPpg)sYuPd<>84tId9XR756ia$_Khp1liCIxT>g29lp;fK+0hq+U zYC`>c$H4ohGCNG>jUk%yXdMgujZo$<5#klXW4^}IO=q_=?s{9m-?_Y(%zhqw3myj$ zX|wKnG%-M&ax^CO*AHQ2@!D?ba!=m!z^vJFKA~`sE>wGma0OZvxg&t@x8q0n>DuG3 zs~|MAzhAyRL+Nt2V>dunpYc-bJs~2;y)l{_t3-T43zxGzhXwR|fP5RC+5t!N4 z)cUB$pvqon5z(>~ajDQmNlLI3nH72p;}6q>;`4161vTww6^*L8XC@ust|4ogpe22+ zo--{-NAf5>DhJ&qQZs6=@CnJuD$w3gsUiYvB-xYqkcaB(-R6-0aDT~ulbXB{7u2!9 zAY!Bb%qEo|-QV%|X84NpkTIRGl$v@H@B^6yp$q2*CljjF0CA|nz(>tyN(1LyH;y-q zqk!Rq=3K({xs>7$C)Lg`iQ^V8|7S3Caa$WFQ4>ca2MaqVTL-Wc zHaIP3Xl+8mAoR~4t%#wO#dik_fQ*HiIoO9C?3``pNWzN9AmnHS_N52IW6bnStemXi zocCtlv%rTT(zCI#vU9zAn44IufuRz54t6FECUAy`p`C=udrKtjEKKyA;En%Js1%JV{(9hxBAY8fji)00i((P?p^o4s)1d| zO_;&n^Z)q5|4*;;cfb4p4F!1bh?*C*fyE}qa@h`u8B@;6Xuw~pysD!|F zF#*$q@(#u(4i+|MBvk*Z2F_G=wzIP`d4~<(12Z5psK4_H+H8#M|D`zakQl+f^X&AD z9IRmPe>Qd&dR7j0Hg;VwWd;VuNZ44|=)pWWn79IC2iol5YFsQ}h3kUDrGcq>HZFQD zc1AEZ#Lmn?&k7DW!K6z9*7N&`(_n)#va{%dOWx^wPI@j@HWqLx7=6-aXW^u0dN-Rc z30VEw>};&`VAP0{Qc${Z8jz@ zdayj;Uck@@xOXt(1TFz{RR5#oy&rH-T>l=*I}ZguyNQz?-0piz?{V9~J#o@=uz?d` z8uR~A85~vVU!A^(iG2^9K@Wx${^2#j4YM-Rb1`xJgG#=e;6L|*QA}+PE~bAC{a>QK z>-=4GW+r;@v%&%%+I#e>_lQ;h8O?j#DsVt*R(g*Ap)7F3I(iN!&UY!_5gToAWO#aZ zCh$8r4JJ_jBQ-b;Mwzr(S-^6>8xw3T@ZjDb9dHSlDAoSA%wSW2p}2qS%nm+^?wvye zpTA4b&IMNLJ6A{lPwu-x-{k?9fE!^4+ne)U#b7=RJg2}X*n`txlt`Nu+zYt)A3E`W z)&=9EoZ!$0|JFDO7kENyGc&Q!bFzaMf`3fU_HKU;lK;$SFjUI*PL#5ME%)Eef}d+q z^?zpnzn8H80s8*`5hJXe;2>oG;YD;4hpW;V(L(NcgH!hCqR(NMMTI50{Ql&9X5&K@ z?39ed3nZu=SXLjAS1yeZePm{N-AkKscK%$HRJgvyoAEqEuZ)x5F&@L|=5jkvO(tAx zk2jaO@7Vu%4Gn^LmXbqblY{^O3N?-gBPO^nU8VdmUke=*O?)%}AGZ^9p_MdYjfGiibQ zh0t<#=g&B;b4W&>hiUzv+tE85_uoSO3xWb449EO`gP_2R$o~#OwSDkXnOzik&2ThZPoYbYiT9*T zNF|fGSX?zsL*UsR5JYZ8^Q+Ze-z`+5iv14+mj!wNVu3 zp)dalqWv?309&Jpm*)yf3Um&gmO!Jm@o`nmoWREkYv=*6oCrDa&;Cm`YQ6T7h>q95Fe{nRWfb?iUSK79BLHPJ~eD35#Vd%YR@bmN;7pPF+1SuD?@ zdF}+2K*K2W%5`9Znl0wp=MI&s{q}Xf{c19llJeSjViv-Wi1DlpG3Q7Sh5M!w2+So2 z>Ate#Dhg~UW9p-UEH__Hy+Z~hkRb%XJS{HNgN!<0sH&*=${H1h1rhxmD3@4ZVN4RK za{`tjN#LzW{9wtb0;Ed(;Sjno_WjXuf&n$qE?uu~I+IE;CJL1^3?W1~DuOn+>ngS-ULgv|$#rX>42{Lu6Mr~Nu0kDBMhr7*h=v4wkaMRu~|fGH?g_COdm1t=^9 z=r0=vxR0MHV1i2)# zbD|FO*zuLy;SD_QC2`J`hF zkEuPzPyxgZJ|R=PPz-?*3D9k6sW0tKROfpZt{*eA;49ZZ2G$ULW&B7Ev9t^+w`$k- zQ3DF!fPlgPiayla4w@ITx)V(Yilei#hWKMAA4w0#rsw%3rFib!rZX_bOP&^<)Ig5~I~vL?&R2*YHPY-5)_ij5cCSGi3q>;EIF|G| zQz2{Flp%8*29$D=x{`Na4>Bc04PP@QKao8`w=EhV{3K_a6!T zpEe=g6n^b6T1jXHEt^z+7r{eu=?S(Qj6`R7I>~69(`(X5T{d@a45A&*wP${l=pK$B$a8ZI*Nei) zO<<+CA_G|&Em*`3C%QAx4)c5XGx4l<{Ih}*QD!nP3~CSQITi26{*Cl=GF~o#J2Fuy zW&BhzCN8bOhxLHsM74@*LN~m2`0>uWP55&HFZ`?!v!t`LZpU-pX9OQ)22vJYRDq!N zt}8o?EcG`;I!0o_7seGhP!~|+r8?5aO#e_uBKYOvZi{E@4C$l>`zD9Dv+Z1!6M3El zCS4vR`V~i|!w-{_z*k)ZmRiB?((G_jSwHIS14P#STR*%m>s261_T}$~Y5suCy79OB ztHWY%m2BmC-|juY?c~bK*@OAst2BT0YkrIk;AvkZ`~2bIZQH2nKKs7)ZgH<}+$>xE z5ob7Rr%(Eg!%ODmZCt=K;emYkW)6A|x>2_=B7l~m!|Lh2vC>GJ-8S56rN+l;bqSrh z-qiW6%u((3Cd4xtaH3c1rf6=cZuaddpm8pFx9Fj(&)sov#HOUWyt0%YKuu3`{&d;; zJCC;4rYR??C6EOMx|Wq{(Aumqt`M>? z)yZ^tBZsV-uiPZI0a*?t%5L#-gql8Ht1aHEwU@ScV(3(_n(WN-;#TtVLvSc&)g>*g zV+3e?3w%$3+PrxLSw3W`stu2;Q>}AOVH1KZF3RZIF1m<4x(sgQ=$fgKJ^BFb+AnGq zMpSB;&-Lswh7+j=)+Sx^+!EX5t8JA4o0wwxIH9^c={eS6EwPmPtZ3Y-|5u=IaP00oTRNZQk}MZHGx%}*3O23Lsg}+Nnz#MTo)uRN=32h{%MkQn~_5} z=m*>W;c3!7UWNW#xs#+zf^wP(4vySyytKCVepA8Rpg%UdVA=5U>Jyqu-}=w8_?1wa zT*SwH&h7eLJ`1t$);3aar=(W)-{&ZxP(ANKJsSNZ z%}RG8ZpTV_%A4BNyEY~Go zwHuZ;#i~#zODm_h*X|29s3F^O(UK<#&MZ!g#y1B{zn;7fCp0X%bA(Hs3rzYT#udus zJ~Eb`B=r9%1;leC&+-%Mj=AWO-;-(XOb;&1uT+KY(=?OeCQG!fq1$G=s>BCMdmOBk zR3_b=XziXH>MfR6xJ*fVj8Xl1@!!a=I?fVCROHZKrDXVc?Y@)iH!sq!sl!?boltC+^ScS5!F?I7)jCjbkfK5M zW8dFTA_>Y}8`~O3o#rC;ajXX?BnfLKZH_BL8!5M^_Sy1hCw}xZv(qX%tiib!LlNNC z5%XwMDv!ai5Q*;MG=47v2P*50>`pFiizjhBL_j#EGBwszfGCp6^wb*F9QDa6Dl8;L zqE^yZg`plMm~feX6NC_>pMzG%;yyd#LY<5R%D>V`Y%2pce?|{dXdDF?TM{DoTh;Fx zb|MIt8qZ@YK*OUP=Fpd*rq$rK6r*8@%?hpdAPB~6#C}MP^8`Y1FsS|ke{d~CZ6;P? z1;{pLK=9?&{;<$QhPGxGQPd|+-%r|{Weww8aX#ok%-KWYmWUrOf+fHp(Dg?yzQQ~{4D@;6bn`q1p zli6s>hfeoL7O)Kh*K5@0?nB_oc1edl_y&8rH%#N>PW3c*h!uU1PmReZEI#n(FOnQd z8v|w~fBy>VBWRFcp6`dNPOOq(kGb_=W%%lqZhOSE)zgrY%0w!-J3c zcJg50lXQVUzlDKdyrOG$|5mcGvupJ?EgmZPw!mvDjc#x>hQjzVWI3hJq5PoYae$?# zM`1%Csb0*oh>5rN$fHwa*>)r3-FAVilG?3xdcBK6{H%}W)>%%@?XVH#*#?4a?)((8 zhv>mFg)H-tg7v9db+N6TXdi!XGEE0&52I*D2&F~9ngCktEdNu1ky2Uqu{X}6H3ZGu z`K3Sj$(JXS)I1ad&5J}$2uXX_MMP+bw8gL+Yx_l;DjSsPAMpSbU#&jW^l^)oll4sL zxqq@pDY}Danj9p z`OuNuVf1wTc>MTwi=h{!`nJknM$@E<6Oi;~yzI|%dWU}f=6ZIQ?WL&w($e3_pt>pm zGR=0{G#kqZ-S9v4En9!tc*tJ6>hLTr+vxKRCffWs@S?u|@ZREo{jb~Sa*pJMU2Vkq z-f8f+yt1VXLE*ox8bPo}yClJ$s%sjg4?!Kp*P@#^0sWM>x?^Ur(FBoh&;rEHVIOJ* z&+-k#rN5xyO~jFw0szh5Pqs>M86`^Ko%|FWC(62a^HWo!*79f5yaU=uL&8xxfOm$- zQIz@u4^{_*^YWaB((*Y|^J`u&vdh`o4f82#?GN4QJ0_RmONRN0Oq%1 zFrK6*#53RU0ySC~0+^ccpi{@;vH&Q&_;xcXa6>~+v8zVvK1y^N<+77*j?#9{?Hxt6 zwcm-VsxCbp0UB|tvom9#XlNa3V!O$&7y+c4--xR*v9o73+SdAZk`6OuEWi0lG28p zGLazzJhzB}P{7Ca>JHILqI#4O{PfUK6O)6&!VruUS{7{Iqga$+W}^$&kD3YQYUisW z6tL^u#sy&~T^X$o34(Q4emLVjn%eag?T|JxSUzc{w#0qCB+A zR8vx0+uM>hxceF*sL6l1R2;18bmL&hT_$=36I=v@YQ|(DUEP}5R89(DV&fraqwEcn z2M9J}QumN^HHe)mmeP$Ee&d%|;i<^^iV+q}=XFNm3n<$rXQpNiyXtg!cpq zQ_qA^GwI;YNGlXQzocetA8wPWQ&M8TLF;B_XgtR_IXlFcCtM*^!9W}5beA}%a)dxB zAMQ-JKe;nl&j@s2fLg; zm8>1MZrI{d!cjKIwqjd=nf8Q!Tf<#ZFe5rUV8wIg3y9sB$D!Zp`tFR50 z0^_4gB)Rh_xKvS`|2TQFvl)P2jibimNOk0-h$j7ZVwlJ6ILri7<}zzI%tTTr?1~`i zknqo#EOxH>a}yJD-@f8SQ71JD5GZmt;o%qOLp2Ph677@@C{h<)ES0JT6$kR1@tnc6 zO((={N=}XriI&z0A8`Qac$q!Ld?yL@wd$(?@=b>4jiZioNir=%9Ec7L2T|oNl^U(N zLk^dL0kGF+H5yyQhz#X`A7-uK-$e7Pa&UunT*7)|2-)+|o~On0v?qxKT>eA~yF`(O zAbvEVJW=qMg7#G_dOPtup*}=Ylx4TJ=ZqgU)9Wfe;o`GKbwxsr@?Xe(@Ff;@9H#R8mdD4K1KZ{ z-)^}MP}S+)@?L4@;p?N)E*sX(j!F5`s!$yhp=zNokMPY74dV3I*oY~W-@nV^k3pp5 znMJ>=#Y^)HBV(GnV%j{VYgO$uNr;5Ury^U#cmwod4^=U6Z8t5IRN_FY;GnoZ)4to0?A`- zX5V3*l)-|@pE9)g%U;%&dkh3e*A1$GQWrDNI_E}YOL3PXj%7{EwdE@n4|^lS<=P_b zPCLuzpz}Nr+L3_Y=OnuMq)|}=8>N!XTC!6&z<9M{liou%rfZ*xOuU>g0FqQiDnWH7 z!8=R8Ds7Sw6d}F>JYX3gjk6|lDe<*y^RgAvk&y&n;m64)u{%o-zV#~q>Ett4Vw0EW zdLsp5L*3bWTh_df)NzrgtJjaXn{)y<*QX}_fZ4H+c0?QXxAm+hv>h5;Ub?YXYe@Gf zcxfq|N^?5o&Xg=xI*@5j=%BB-TEf=-dS>4CbHsTBSjOpmREy;p!jR)TZ)@@#MDk%h z5O`mO0b92(SBy{a{eq*!+5eH5Pwpy#M?m2B)l~wepwHCv!>{}0dJ!LF{J>o$q*~)= zHDtVzlka-Sn>}N4n|C{`;rpW}J7P=)sZ*gj7u!hwpN2lu$Y!C+llOd|ATxbt@5baT z4arA0Gy8r1grMpWL^G)jm<-cndQkTFyX+k^8jU0sO&GeQvaJds{wnpC%&>voNKW1M zU}KbY_6oGN^m*T=)a8I}!LV_6`~$~v>%^zyY~_wtCWAc66ZI2Z7w~|V(OWkrqKC6M zeH#HR^CtGq1P^(|osQS9SSiMi_;+97u(XlKJruFFV zUsz)Hv^Lo*`DlZ8{gG_=%(|Tvakb3S?$srD78~6f3no`EI3>Y==4|YI&@AD3w&9j;f01Q z2>@XojnPzER4giyf}KHJrPMGTxcS7`KOtf%9$_oieWq4yr3&HaoWf{g@q_+#&-2Zk zwM2t`|&0C)t|VY;5m zi=S66yX{xG0XlWk`&RvGA%2(T6_f7Ka6cDTi$7;#&o86bEYK~`Xw+WYeyjZ{KW$g} z=fo!&&b&1Xmng%dD0^$>8P5bz-(C5DOPSAQZL}&hr3jqDV}ru3?@Qa!4%9wfn`1OP zdfi0fK*1zNb2-Uq0qW8Bajs80uU*E^jHpzS_ZYfp$@U?qIIcbXx&jF}DOwKSr+8$3 zUe~C#D@YcP)CMotPqW&&0VeUG_~jFHW>ZX=yf8coOiQVelX7_R(~gldH&IS(kxsgi zL-9BknUDb#m;o7@xQ#ed1c1{K%VCX@rrLO}+^MO~$Ul-7TOxJL;TBst{LHI5gCo$< zk1SITXY*VdVa`cTiKEM_d5$%#8Q<1m=bbBB4RR?(%nH8Dmh{X` z945D}oe!4(Ha2ZKIsDmjTPBodGPVEMd>$F^>MMUSQvr65-w+IT+2$ba`0(I7P%Tym zqY^erxxHlT^}R}Vm8p2f51A$2?O=rL)zB(OUie!j8lE(rmN;^5Ny9Y02&a4JWLUb_ zGj*oi=+i^5gOd~I_mcuH?kxVr*Hi*sw>HD)c5Cg^B^_k}pR@bq7WVnIvn-IIeg7kN zOpATb-&+&_#^cRyDE%35$FGniHMn6t>!_{ait@W+^!8?7rw1ge66U5<`+{G?Dfk{)q!nkrZL+Of|vH%?!eI zE7ys#GGt-y7l-D;2)0Zvdl$X8&#qFca!x4i_?Fk)x*jfiKygjyz!aW@zPO~UWb5h2 zU5**EbUyb*iX^|F+Yce9t&gl zXr3&E1gEoy>lq{8M;*-NebPwOFmj#|JS=XXkw>R)9+QI33_JdKofQHqgqFQF$OOtm z*wLgY_t~_wmfk&~@>Df*1pW>N#-z3JOJUkRRf2Zo4411vd&j>ve=6bq`Ac!}*DqPw z2RjgbW>U5a0)g0)-rJj!aA+@TM}jr+N0B8`dDQfFb7jj=A6prI64!O2jV44 zx_&K3O=muf8UrYJK5uG&-Zf<$8K)Qrm>!-Ef07>qx{sl@H211(8qJ*k(8mOm@F_n5d3Xq2G;7=H2L*m zXcPiWj-ot2i)`uDFj|@bRW4ul`zfK^6p3u1pp*nHRUf|GHu+ye3i1<8He%cn2N?zO ziMmX~WwOk6%$Xjd6?Ne_w4{QGX#6-&3sj>+0b$u{$ce?XYyZ zj567ZPFvS2r?`VcwccdRzEhs(I&>T=W|W-yMdJ-+M@`+njFy-CSlJt{_8%$6qSy2h zqME5c>r3IY=X~pd-8&rRb2#ZCm?6Cwh4Lvu#=ND|Z5*235N7mUhr;6V=(_A0atQ*+-tQ5J)=FHw}=$pUSZ#&nnD=*~P)~XVv0cj_r z@zSg$$rsc~2W}?b`B>&UCOeO7&`u~PVD{k>aqf7smqrUpn5;;`NO|uvOL5 z4j-+*<`cN76@*)3m%g84U3uKVBST8KNU$_RkCd$90h&>pMhysq2`YI^tv{xxmOZfo zl`RZp!9@yX3nCY&-;h2K90ZVK9GnKI4s#P-?S}W#m+G{J+}DSD7FNm~7e1j&X8Bo{ zlM^V{7)@F4Rj}e*s#$#VJk~;A6yW!&q<1#7xjj*H@#B&l-pWSgdcZ-5eyjcZy>`Lc zK@F1HjR6T0HrswgT6#@)^+Z5`_t*%vfrX7pafy?giQ{#L?N#F$aXTL}-7ajBqE!@A0plWGBiw)C1_hJj1kjY0OneR>Kmga>UCIm_7E}b$o`rqIb;pu-vZyFyZV-ABr@$tNLYaYyVCdOGM;;E0t5!Ip+CWd@0-iqC}jW(PF z-ASO?`^7k!Mh0f3lS#bqKawlHQWv~0;Qp1cD{j#y!Dt!d%^_>%+(N`OobRP$F;$^s z>0Q`p#z&mt-g%as38r^ZXj?U7x5~lzKwk)bb4IFH(QE-5YzOGIvqt|OVv)khiaQUL zd8PmU{+S3n=G^i1J1bZ2LOO@FnNrpnOtCme(wf?(0sW|*f+*=Jsx7mdPm3v*sthUCjp(v_{GOAU{j3~_VH>L3` zj0EL-U+J{mWnO37O=<57Y*waMe%{#@n72;#SZ*%6R(~3{mMvFfz^g2dSBC;%rfSS( zD*AQSvD&ZIf9W&CN>5x(d9Sr~6tra&yxZ{c)%~73@7);>E{ zSb|n?^=k=#EAa}et}oE?qPWATaB3jQ)koHuM(eb^9$);|Y zdCWHC4UCf|yK%80N1dQawDQ)=(cjy=Q?4n#FX_V-j8hPf%ZfAm{ImQs{shIM&%FeH zx^EI;;U1`Wf8Xw9aPYT|4`C%=tRd^KigY_GD+iMd*H zdaEogwY_DRx)i0M}Z zaaS<1pbMEluy^C^F3{Gn0?h)1hMFwwoYCi}v6n61qu3lWhazu%3x?;yrqBDOWvHcF zSG3iOoWGSEkb1*X4gA>cM(YJT<>7|mI(Q(9dLKS~SRR@GC9kY>(*g5IFsiL|*=;cC zHaAaJpFpH3J&EDz!wZV-)RK8|`;y<{q3dh9&qs+X;oVc~d3f*=nLpg-kr~iG-`r2L zr`^U_$lvEg3UN{eNR$ZBdnGw!gk~;N7gM-U2y&{&5}@!E%(K`)?r-+$PLdu^R!8@5 z?i+NCxpFER2xjTxRF~G`>KPH6W(%GQ3|6NNCmglpZsa0X?H0^TEo2yf@$FYxVasO- z*k9H9o%2jw)xP%(e{RN5^)`BDd(?X*E`@s~oZY{WhxP*Qy(>|Q zFbHRPmc}#)=6j?FJx5WB2ml*BzA5b!4rTF&{du;HF&HmO?2p}>*IOg<+8^HgjDbv! zJ=h?KAL|kR5xLapjsGhQymNFcbZ5FdX-kMAEJU%_{gHCzV=j<$C6W{o=&>aU6BNoU zSm}|kKo`!uxnr!rv}GEcjKaG#I!vPA?&1tXv+q(LoqWl&G(6mzb+lp1PqUq6yK5Sg z%$Q}nXNpDhN`cF{J}CJ*E5^A#F1ax)#!-w1f6w$|vZw+Ak5=EXwZc8G*1#}tR^?7% ze6qfRx?_D-G7F7h*4u4UI-1q2x0|M{G|@arPW1`NObUFwhZ}|2$?#cUou)^mQE0}p zIGosWlgVgev%YVeGSRs3WQ<9}(OhTEI;o6GqteV}eQ;74mWHR<%}Q}n8IeY!8OXwR z!rU;$p$W^vc1)Ux%*7(5@yhb#9p3Hli|mgal18Ih$})A@+M`TP1}o@h6}lu1O4HNO zW%2MjIU4Wx4@Rb9q0pEs$YtU2vO0d*fA=ji4GWdVTH!+$D9ca*gC>EJc6^vlLBaWg zm4?*mf}Dob@j{5^)ainWCSZTZA?q4Ki7#_@t(!GB~}k;f||Ii1HVF&UTV zH!F?s)=os0z{IdimcZz+lY)QG@GY-bcrx^?dI~vvJN#L`naL$Qzj0_3oiF4S;+!sk zH1RGMcr@|O7a$sRmkSIUR)sj{3o;r>9^UW63SA?^8azuA!^BxDP8Sji_PaYc3SB+JV_7Tx z!?9T_J;VFFtvSiRcv{nvC!FfzlWllfKPO8oRB!FbC{%CkI4dx1hn5I_{GS&~LK=Y= z(f@DDv8cdb%Ce}y|DudV&_-^`7Vuv7<8@JfPNp9`8>nY2SK9M4#Ii3AhUye7$s2>?Sr>Z^*=_10 zMMEKjmg*IFeS~7lA4h$c;+nqh6xZr2q##*!T+i9YZQbRtj=~| zGC67pAF>PX1$*PYHK|PzthcF>zD|lr0WFS}t$&=gJ-MGLV-&;qZ3 z*$OhE`|-vNH=@j$a7=izMG3Hq*`$obXy6dx_$wM%YuWO{f--_4=kW3I@D8-HDhj?hN=4u|sgB4ir;3^&jLz*+rJiu$lXF3SoM)Lk+GTp{S z2KCd-cpbwVsOq;a2sP}RHeh|TGvtumI%;9FqFfeF-p^fPG5P6V4o3&@yb~cPa(5;O z!p3Lf2onv|6Re(TNb&44S$4N)|PaL zD8l;3;xR0f1Crw1U*HpSH$=RZfei%&1Cui~1OubmTnMq;(y`oVI{wPw&#wNBXt2GR zBg(Hcc=fgnh&E~gF-;Cs5YpeNE<~}qvW7%|DKlaXr~Xn_75U_0#L-Ay_j1Fw*w=Py{={VH=+BW# zd9%(m|0ICGkDoPah!}DV9?bY@SNWihU@|qk+5f!Un__3q$j$nZWpT(5F66p$oi@bH z*3?Gp_7y^CBhf!!#?rS9iB-mqXqi_s#clDcrRfl4u9e-R_eRA<5fC;6S$tPX)!@jd zX3EcEr?otv#a4ZkId+r!pHU=Kqp%(v$Ze(v^4LGK3D>>wX_jR}V5x1Ri;v`wy5}uN zUPnGHV9K|$)V+Kzpu>W0V7q;#x>@%{5JiXu?@16dMm}+;r|!Kw_JdY3Ma5?o^a^rB z^=7-s>Rzl1Zr1vrD$?(HgBrFA+!K z0YBAifsr%nVG(|VAHlxL{EaFkaLh9qqpsec*dnc7;qTP?FM;dvTJTNThCcqd$9kA} z-B_h?)O}TICvW^x#42T$(AzWI1L0fLLL|h}#@EFAg#SrX_Kl5|p_m{XF&rZts!f?W zqnaEoOAi75HS+RQ%qj@2vp&au&V8RNeWFo%XUG>q41yKI?o4cHv8 z4LBtGaliYYe>3mCd*kx%F`t)A$N}x+Ls=z8 zTU~me^Y1C2FYmc+sX`yh=+b&u*sA+j+^P#6jL#Syp!vSLwY}$j&N`!ht~|qa{%WS> zuGXskF2SlDkKGP8{&Q0lIy5BZmizmPozDMg=Cs2tkz1Bn`l{#K(<0lk?%Cy;>(uO7 z;}q{X*`o0n?o{I$?^JW=wyl3|4~;kIj9!qL(cQP=)Eq@_#u$7Oej_2b>6N{}*y`6Dphdigw+RY#rcsU{HnZz-Zza;jVLWLGe9$liHk)LkaQZLLNZbaQx z)3Z7&x#^GAb5~~H#kXd}6k%xfHlO$_UY^Rmh3`Y$-1b$2IGy-LO!Q6h z!kyd{TCvO6-5t+N|H&DtUw*(X;Q5mI<}_tIep@zZLpE?DI%p$0a07|#PK?Zx8KVOc zw1x^a0048*fv2#+6L7&Eu#kON2!G(lvB((@M#pOq30!b90FoKBAur+x1g(L94uIeV zI7orW86TM^BZdGh5R1$c4@3eRj2N^5L*|K!(Ln$@K@8S_f$Rey3_%-0WG%QLeHb7! zVsM{`BRWP07^II3^nimvM>8ODMnT2{1Tq7I+XFWg$Xeh)_K3l_0EnH4BLl_?ERY)x zA}@00OU45Na>GI{12w70bm4#+a1b>SM=A_m7+^Xa#7xAI z4w^R)#D#-Mh&Td3Iq*PSSO~m`qY%asVz8fxBMHV4e6UN9Av(re7zhPM797w54x%Me zO9&bV2D1km;$mc>0ZU*YWg?Eq7)QWhVv$;6P!kM9ooo>nm>Fb zx_^yvB};aID>9iWGD#>hIT4h%04;%e8bNs)fqA(wqQcN!VS$}sU?&jR2?BNkfKPa! z`&SrO;$#P2WCzfN9xbv19*iqEvV#YaNp_J*=wMD^MHS&h*I|OYP=SK*KtB|aHzw$w z8p9O~@`eR@6M?*;6>N|<5af*q@&Q@@(_da-iS;ZksV-QV8aI&2a@4~yaAv# zQcxQ@s0|my2Lk%Rf!Yv3_k0+x+!(IVE)-B37U-S;<4TR}fI(!^pX>mQ?7*GuU{qw% zPGmAYFpn8lv>93eq6UCqdjzPgMzB3F*d7opgbvh$7DS*P3eXP?^aEOf1L~my>b-vOfOaH8oj8NxwK@WD(l!AuCjOt8V!m?Vxyy>K_w0)~pcaPBk$8^NK7S-EF{ zdPwLz%$qR$SR{`2&<;ugL!Vx_K`fG5#!VO~?&{ILTQlVS2 zo+1vtaO%(lc=f{dLK~z#d+I|G-^y1$C-whiR;Yab(m%p1SLv%^yvvWpu%4*-`v%$| zRq3l^ysHCkNYeamPWE!b^GND{{nU1JVLf-<{Mn3xd?@iIXnP&Oz{ z3nfaSR5H|Ul#2<9215bSzYO?qJolewa{mm_{o&d6pHO{&P-`}8VC@Ky0{)6J!P*j|Whx5-z{so%;d(YpXX>KUJ&+{iI{wEjxxBkB~%+NDI z+2cRB>Aw)mP$C%$B>%w?|M3MqCll*m3FSYDWp?QE_yaWm8?pS4jQekzw^TX2^;)}f!|**i~ouZhPs^p3mcp?78SyR z@$J+ril{ll*!XJ`nOFs?=OX(2F`Oo`o>463Oo&6bY4LF{3Fe)d`Ey1M8FTbBI1Z82 z-J0I9gHX=KD8s%9#y`xTMJ~L9n81UkBeO0?DZ+7(Mybv#7zAYx!CwVP=9 z5Sb9CV;Sej(EHhWxB?ZWd|BY72Q=sesgG%%tRoAk+Hdv-k{B*F*+N<%Rm-yaPhP%N z>}MESDqLf;y=)7pi$AV8K}&y#^C$=)?-M-z7;>)DN>O$6&A9`4kqC^^)!gNy>;7hLEYe!%k1wqobx6 z%VLv7%lRPJ#6m-n$!E-e;#MJvOQM%7=EF^QI6-WlH~uM}&nBs-H#P09w9NSRx|{T{ z$BM(COV-$!HVfJUqU1pYH=d{cqQIEYNUlNZex2OEPgehnd-v~m;=d8O|M8yvZ?m|6 zIy?Rc7WYq&$A6ki{@Eh_Z!9h=JM{j5&OrZ#At6+9;a~XjV{b2CowYOh2_2k8#lbIj!=51KV&eub>CPhU-0VZ`WU^WVZD{4m$9{w{(g zZtkg|k60|eu|OKu)s?h4w%utJP~+e8^~w#lN&hr;r=RjrWc}h7si5Sv;6DF4@BZ?H z2PF(FfcGr`t?Rgo%V%{TT>~~x640|Ce3GkDS@9Kca0@tFcyeiox#Z?o02s;w7T<`g z_HC=?`ajVIZm9u&PS*yQBWoJMY%Bosh)6O?qdGq&01{@=@{(h~_lTxG)r)`xbO7@E z_XtlHt`}ecJ$&G7;`vg@>Wlon!yoMLPYaXer{@6gYuqxxmH@!lcqPCwDkgdyF>nGV zFyky9Jx!)P24G4DxM?pN&RB{?#e)%ve7u{z+DN%PG${Z~Qvt*fL5?3`kthRc@qqAT zfGakmP|ZR_R>M3XAsEImy-b!2r#7tq9KU;y5g9hm5N^_JI5YR@Cwtuv8TwN2Sv?@1 z{xtgJp{QF!`JV1zpm&I{+tW8HpzGzqLS5)#?tX#_Q9=}@5x)lGA{gNf8Y18HsY3EtpgNM`D4r1XJ{Dvwma%x?i_IBh z5Ren_NdHd0R`@Lz>H#3sgQ74{I*_x6=^&IOlpJ2=3os?7ZHksaJlPVBSfXSK-xWtN zN*_~DG;VvJn`EOT;o>@XT?O|=zbuU8Q;0<#y!mtC?@h7sAZ&ENz$IP>j_$H2Q%jRm zPRcsq)d6KvAgr1uf->YqdPJ152OD;tMqqx>s{@nPsM_`EG-M$-7Zw=niLFG2f&;99 z4+zQLSBgBR*>Wdk!!@lZy_)Q`+Fa3R`|moW`ZOKIPNQG4;y6Q9*UzN6Q~qe56oK4 z^9u43lC~%P-Gkxo;LNX@t@i>1Pj86AlWPGF5V(cB_}L!)Y0O7r86$AVg581^17%m^h zgfTs(Jp+q&hxnM3kZ)4@IVP~P%tJ;D@%e7leOYY1Oby8DoT8VaK8mw=i8zs!4HgSy{J15=FFGX_63s)alCsI()w9jZ+&TAr_7 z{EGZNm+!mn^(3mqo)VRWTkE2hn`am7^$KJ{?+r_3rtOt;A63g!fS`9v^gE^4S*6%4 zJ0kE(Kn{9jVH9PE^Q$L!30`_YsDM(aH6+?P57Y{YF3$(41>vfRy($MVJBz+@4#r)| z1DOTkYUP8pdQebGH_;=1z?LJ1{uDE*C7y!~j!#sTN*N_1Og)!=Lmxu-0Rg2HEF@wk z0yGdeV;)iCR3ex3N{GEMgxQ5G)1rd_DJbBPF!+@A7|CV&FUn|SN_j+i%4l+5hV-b+?2AH1~uP%zLxE@G}i zn|d*F%ksB#3kp};rEiFeXRlbQz+3P41gZB{e(Ba>oeF4Iku%V>$~Vx%FEP-{$Y-wf zjTP!XPh?-ZqToC3MB$z> z_-1pst%tJ4Kf&l3??!yR=5$iJ;Euf%#}}_a;&*YNBN-xD_PZKxEo2|f^APTq*z*G5 z489}Ym0)gP7k&w>BbjF0@^x0f^nYzoj9oERVIbJON*y zw(XNhmD_G4X)mXrm*mKlA6ahT+%=6-eGTy?BrB^guo!$CV8im#JI%BJO5uGMHs_8= zT(S*6n<28#97}Zi+HGO(9$<^X0YH4U3T3K`|XPD@?3ZTQnj@uU+$stS3s%$I(O zC`w0g(7@RI9p3oPHVEt2x#n-7Ulu&cF9?D0CXZl^hSw1$zOV!huV;2GTJo6<+r&Oq z%gYs-%H+>l8?C(U>(m-!+gG-5;U9Ip{m?)RZl?a48OmjZ$yaaP)Mr?$jW2?KK|Dthr3dihKDCx00d+FZpH}0 z)n^!cNtgC^Z3h-t5KAfM{8lNw0%heu%mqi^s$9>-kFAVLnS;xW0>nj_mlJoiTMtdf z=oTNRbIKAn7kpdJbf<$po{9m%A+1GgZVU5@sj9hCnnn4meh}q zvFv;t5;HY*X^ZDPD|deAt!YiBb=Vg3-#Dc2h-jp*A1=WF| z8exIxhSmzNHoV&}HGJ>Lx^b3Q{9&9!NP!o4PtmOjh{OWKS=Hs)eex#*H$miaH;0Hk zgWUaJf1zeogor<*HTl(sEMQjbunA2P-c7&Ck-%Fu=!qk{%!-aNE+(GYChlnB=^dJN z3{9+hyZi1vm1J03$9o3Z4EMqa5JCF6C|-zzomK>kb4%SwANuCwEPediq!B1pSS(3M z4$Eq%pS!YXXXqD4*i9>=6}fFr9(Yht(+@642ZyQ;7_QOInT^LBeKtsBg?;(+>Rq_w zo4!}?StIZ(1Ykcd7!&nD(2BE(P5BpJg}WSE?t5*UF&;GMt9_gcZt7E?ZYshhVE#db z(#%s?UX@+J`s)qf>-$ErfQDbcdmZ&mKWSk%pjJgcj@WvN8m2+Q2zf_7?02`*QcqZm za@xkmSDiP+B$a7h<)SlPF(T+z570F`6n-)YsUp-g)mfIkhP7fmmb{L*t1`}m;ryzm z%?JaghkMI6N935VT9ti_n*#V=)^uYAHd5;vi4&pcn_KY@f^kGriix-o>FPTp_Ag4i zF_U|{@r$_yfD@`L1^_)hUxI+2cwogR14vLHDX;Jlp7tX#zEkzw88^0Uzh6WUns3X1 zfoAyey~pt*?yv}o>x&^We@A3I8q~LV0q8BYROm%hcUEaiis1KZVF#9YwtTGGNkG$L z+#oS}Q*XTb<{A1qs8oe{G%V-?ygJ#=CLz^}-Jwpvk6WHlL?%p<#fO07=zQTBv9#WP z4G2w&qf>*PSLYb+qqOCtiqB8O-HM~%=@;o2CD@M_cK#;6--Jm;?4KLq-6gf?Y{5M* z*L1Dtnm`Of%4_%#^}-$esUB~Gg_l-NDFp)h_$Jov(P}c6WKh)*6mxT+zku?5lsTGt3OnL81$>t0)(6Rn)qmLSqh=y*SA2b&3(#DE)RjcXNyOXj*J|Lu?%@46A zN{QFeX=(av>xq=YU@*37jt$B-FI7snko94W{&7;MZO}#CTgrs$Wbc&1Et2h*mT`D zHHD826kB%|9vf}bB)HLCG&n{;=?;>LIg3^mk0W&}HO~|ZK5a&vG85C{k@4#{iLZMV zpSg#k0e2CFL`e{^gwl=-+itbYp)8V0l{#|z+v(7+saZtIKcnh-9VBKE#yO$>Kz&Vn zB25OBWkgMQ-#$B!Jy$_ z7S!{x=7MFVRs~NV^Us*gne&Z#wXYtYQm0)vKK9MEjc@fg#T+;A2ZUjc`26~A8DHQa z*{W5dNHt#kv!UbiTFWlSIJU6X4s&LwDUF42$ttyde%<+6t=RVCK|Pa5E%zNE#pl@& zxM|(b?^q0yaKCjLvs9JpM5aC-X?$@Hc6rL?e2z`gSXgV#$~KuDDkJG4UPcgq`5xkLw{%t*IP`TkeU| zw;z;@G4~5uFDx5**_Ya{&I=TMZ^W9J2EN3rmlo`5hw=2~D0`eP)13M~eWmHk5gl=T zbm+%|#D8R);uNNV!$k^3>T1&IB4)bzrIzjz%S6ZU7DFNl z$Jz3u8*?Q2%(kSV2W>_h6RGmdWBw6I-v&#!c2ejNBBy^oL>*HF3sqG_@4yw~)EHgNyiWm_LKbIV*vgq%l!tQ$G zF-J08?_hVrg=ZtZIvx35e&vkoJIZCd! z6YzMrN1gA_sp^Z!Y$`q^ z@+6gul|4UHGx2MDFX;OnleLcEt{FyrJ5(y`q#j55s3h$Q9~s#n(a9I?ai@gq84=#@ zIX@e}v4v~$sTUY~l`tc|ofS4L^sLrrrIAB^U|me+pMjlgKHh;!V2 znwZc~M$XPt()m_LJofE}U5bFh!0iO4vt8i==sb|lD8cIJAyaAHze;QoC(6;4J>SWnQ^i2 z$T1hTK4}`$f-J{I^HQ;Q2tjNRr6seq$=zf4(ti zjELKl`h;EP$_I&H{_${nI$T**J(jma5GKa(M*4XtHdT4g?%K`D&*M}^m_Xy`vesTP zxpngd!Nb6d;@%NTMG&Nx@tAZ=iEZ*wy-J+xNO4RI)qbgK{9bA+@Er0Kd#muls{SW3 z*IwJBnn?)&B69X7Yfyun6hUuJJi{e}hV7huJL^33RXY8(%+aeukHSwM%F~S_0a9SA z(F<5#IvW4T@o}eJLj`aC*xgCquT*Z*dJbM(G8htzvGBq;a$ic8bF$wIZST#*B6~5q zZ7+q-;E~JF+SoQ9PiKi4OB4B~uR;Y}=&FSrq}SescLZ~TN*o0S`MB(QSM0bvGT)HU27s?eVS({Nz6zKUyw@)AYS@`HEsJ*w{7U^4!?VvhKOVmELs<)&F zcl6bf+&;&>H)kTMDXSO&CyLZ|RgG%!x|bJku1Q0v$%yb3wkr(71r9vazVBuYLD0GO7b|B@Y-UPbbv|-+lI!BXo%Q_EmY1_HB5>Jc4uf=$B&{ z!Tg~?7m0b@M1AIw#*6LUwr@2=_tpJD~T0tW*#S!+dytwe6#63 zSeUbQAEMtdozS;qZc#$XdK35N+UkUoQjPA}YF+9%t|Qb>9Dd9Tsnds_`*r(x$=8-rCRcA{}zh$9ySr!^Xcy$IORfrR%i8k2+ZAgpaP2)nBrX zu*KcoqhM+`6uC%5)F@HQ5>T5^0^x-n5Bu5TEEfLq&;oasiK zot?ri8?{>sdO0(%hk;x|Y&;QpQN5IYjZE(5WudElf#bU=0z#8e+>*K@5rJ)s*w_pb zbSi9}Om*+)Xr*R{OKewHhi>9FW>#%R+#Vv9cqcnEIwY z>@ib@+D&*?PFBrgzJ#}^XD>NY>P%X{*tb=GZS~b}uj(XZIgdde92IX-O+h932j-hr zD9BvF$@?Z%ReW zzJQ@Ng{|4H=#_V99_6&o;x-l!=Y``c%$+eQsJpCN9LBqcAX3+wzOJCy%DI$DiN^UAww~^y!*@LD%m*&Zd5H&a!vBO{d9!5o&ktP*2r1{89V< zgM=>;?^L(BySX(%TtGm;wjfq&=I@oe!vuNbc$C)8sUj{q*v`jpWvYqKzvPh_RZDiO zmEl=jeqItO%-}LIRn^ZXzLk|OC_p0GOh&Gf z!={Ri8na{2dAS+m^2jZqmXC`rQl=>TeEY`X?9I_@-`774ht&M1FKZEHS;)(ftXSU} zmIlkpH!c@k!;o;c3E7k>T~v-}@Th$}Rtj@SmVH#K*TRC9R0yh~;?zea z+JM!deOBLCjW?6~l0V_vrNT^!fLVsjB9r4lR0Re%at zF&YCm6UG8w=SLS>Yo<#jnvTqVxK8=0IFcHwNzaELnZEE&g*87(k6{TXJ+1O}vN2}O z0yV9vvZ?jzhc{`2q|B+kNaZzH}@PGO3b!vZJHc=?{iYeQyIsg&)(Y%1y1u2=CwTY)?tznAR%67gdFp6?eQnUcZyOY0DZN@+ z7dFg=tZU+Jn1La-Bfv0P{~iC+&HAmQe7ncb3Mag-2`}n*v=4`8z+mux^-3jBBToaOO|XbFnHb3yFTNS)0BcoZMF6BC-RZPh+B&zqp0+#O4{h< zN{crS;@~!FA0zX_970a|WSsl3b`ELLRP*e=&v^fofb@^~?hhxAzxsvzTW-sLKI{E= zGh8_SG&=d$43|Hzlz*9w{>l90Zy7FZ+&sMhn+z9LHZInGO>y~CZT`3L;~#4CG{dHZ zNj?$7a-d{Eauiwfq4(-!2@rg;gk2yk7()s+7-PFySx4vC*oLu@$}{nxopa>zpHn&8vYGIqkXW+N@r9@g@e`0{~s@wH6=ReD2aw0JA_5zxCqHvE^?D zugYOmTmk0mdtHe}L-5>yM;L%@=9>qur^nAD;s6Oi!qf1iAt~?gVY>;~JbgeZ0Rh1g z`+6}iav%=Ds{&h@wJ2tW*G;9e~Be^vC7)0_YdfDjD8 zN^<=MqOIs52oM4W#-pDS;m7iC8Ur{Y=Fv|{h`J898E@g(xjzNxd#C_(vX?@@s%dTBt&9)*_-Meqpya?fLNvd}DanW{sNnok1j`pG z4rm@odxzid`(In#VrdFxt+&T;!bNu%i0l4$+wlr=2QPUQumC~BHML!FjUWQopEh%^ z0krA)XV|(ihlW+wF?BLM#}~mF z5vBJT2=p!Ce8^D6c^IhTd{HgIy&=18kP%*pxMQYi^tacj9rl1G5up2J+nqyb@f|t@ zv<@41i~S3AgY>ER1$%T6Kt}9r@!e8Wx@RU8k63c_a^V&en@Q6~{!Ey6z45;pbFlm_wA+#~HMWT4h@7oa(f<#z9K>&;_r7KPtH^D## zLp%f{MAtr{FzHDczgl$n-cQaGpra3uJOE5^j{;t}--zXsUSWoEx){9FMmC+Acs?8K zeP|yG5c8`D>5-BvxTnc_^%kCdh=>BaUYvgv44NuQsZNOZ$a@<7_o{pOvubUMuau+#yc=sBe$NTGPH^X z7K;T2w=dO^Qvkp$Caeq4=xcNY*@vG7gM|YnH*qa=y`IOmcZ9CpS&+Voz?A{cQv2=Bg>$GMwudXWo03`Ok?~Tx%pYAJ3+@aiBkv>^6-UqM zwFlD!5h`Wkg{^9Yy}k|WC^U%TR))FNl6dFg-sh2i#AMVlB7A4af21VCpNGrUhqee5 zuT|D^`q(RM*T~MB{@w_D(?f!%zQ@Th)ut!o1-|Lk=OMg-`12s5^+0yqYAARC77Pm^ zj$A~cPCU5O8v;BAMnoAquq_x&!O@$TE!a#CB}Jp=i4p z0XoSzo9;`6iwV^Th#R^shVvgYo^Hl9ZHUG-a_rcC7h3f3{vkInD9t~ehT9_{&G;St z!zg6tth0k1>V@%hj6?nsEjbvEaby1X#+Au57r zE?pmCS$b73S-mi`gE21?pPGz<3L%a^Z}K#wa&(8kjm@3iie{mpa$&uZc5=Q3O+sZT zaXwM6B5`&rH$#0`yt0=47%Y5eD;1J|^$>O!2X~{;p8KB1TlAS2!YeTA)Afeuc1%vz z8)321z2bPv>#LgnxPto%{r^T6AKY!Fr47XS0=gdeIC{l=#;eLZA6+T|!jYHqGi| zofZ>sOUci=wj;IsMFZhag^&Sj@%_;_^Ydz&^q&A$KJ(yix8)!z&DtYl&W`QST_;9| z!U!fz{(Rp+`u-j$Alz11_$7JGFaGo_gW@o$P(a#2pdp6tj%KVtRTu8*qxXz8J#>Y+ zQ4vM0bhNRv@{ifw^-`xKP3ly_HRF`>5~cWbmIwk0 z{5u(Wmz(S#Lq+QYc_M7)Y;4Vha46zoOy*1+&4gdY!$>Dw(G-7pyGwoWGMMS12Jx_V zRML5+KYeMhrJbEUbZhB}0uf;8*A@xS)3g@QyNx=vu&F<8?qV|&-ab6Z^~pcYN0|L! z)KlZ4W|LPiAY1Ws32IYjSbSR<&Fd)=Zkb$L{P<@zMm+4S+`=KytYL6Jneq*Z<=9>E zZA(qsP$lnb@f9g?S~8P4;p-C@y!HyI?cq&}o*P}tAk?Ix+F?9Zt4IZ%a2G35&^tq| zfsXopVS^on>2yQ`)|rllv%D&sWBJ!5)TUqh2+Trr&t6wyV32oBxu#S#z-RS+D zU};ZN@;Y5lDO5J#SmZMPu8>zPq>w)^>NLQ=bNFF#h%`iTZp=NVKS5CM8TRowguYx< zCdG`CyHYrOJ;;o)rJ(eCtgKD?sl6F=LF=mikG3CVug7YIyL>8;N$5p8aWjM>wVU?o zpzrdvizgpzXWOKaxbGC^kc-ioZ3|v-rgEg}ld_ogC)Uu0abZ!Q2hZ^2zVf83{ zkn5lTsIj_=>*f>O5uI=H^EG65Rxc*hp_$zoL$KA9x=J2V?~^2P_)zHUWpecibuz1J zqKV(kq{eqsXWwgc%BIL`1n^LLgv)&vu7^jU9{+;<4#-cG2<++5Kj$U0ur-Sr9K>o zkMv$687|U4{8?q-8PDsXCQj8`>i|x-lBKoP6NhtGS&mZgT1K3l!<HL2CK5QkLK$N! zSg3XI9c+(Bm@o_Bv8ml(Gl$uUP#0$MOKPZHf2}DzBv3|9KJuc!Pd`POnS-7-KmGm_ ze(0AzJd4M|KS}uqqYgW_1=W_E;TO58A1;+`1`#pZK73!Su@5d6;~B0?AZ+;v@eilYnNvz%lSqQ6{{<*=n|;lfZ_+FczJ#e+4Dg) z6&cE(Z22l{*Xs=aA<8S(O-GD#B80$sJm*c!s}Y^i;;;;RL_BEohQ%ZJZ>pmZMg;mKrTji3Km&JXRNy@P+4r1iA| zwIx0y3_SEPME`^K9+E}bu2BG#XOIR!`S$=Q z|I6os?jNB1H@n;VX#kX;p!f^QLzflN!j-RDj{F-a&sV!NvrMIUTlW`~cV4(0=V?VC zNZ^TOEln0^8JeL%&OXHxn8*A^`pJ&-+7f>Gy z8BW^`@ec9&7MHlmvK*tf02}d*T(Kh2r&qI1_B zj@-+s~`s#{Nq+z{xwDCGB>X#f?aRmSs6d zrC7_qbu84+S~ad994}G6kK27tU$TD`s9&efzZ6Ui8D=>d*-C&YbEFP9cv-r7yZ*2W zH}X1T`grLbl1BaP?%Nr&PVa+f%*2C_T`e{@|kz%>FpRjwm10An&g&9 z@3za?5g2`@YzgmfC>v&7m=aaLss3$O^g^fq_*3-`iQ(``(`|DFd?(m)@RlH|Ui!R} zGZFjm!`lXl7fiYkij#|&mySIoWW5q{Rt-@nnc*(-8oWh4(zNl1)*A&$)BGx_&w@4( zpm)b`#H6$6HDxuwwLBU({Op4EWx(qMqT-S-%e2gJZ;_e`e9A7{Nk@sx@z!eB*S6K| z7Jp_i@0a7F7P7r7D`xSfMmR{K%`E@mHh&YxK}e@14_;IJ1AmJV0AXAG)d-a4Z+MT{ zNhRZ}_^4td>sx4UZ05O?l*5KRZ!^Po-qP$M7&aA~*Xo&}>W}fU#-cQK8$K%5LaU#HjXqhH&d#wKlQu973cS^= z{tllDtk02kKF5;tQ;8SL4oQ3NE;djZsObtk)h%B;htOPKu?JgB`2=KNs{a#=cd(d$ z7O$FTpI6HmPPM5kKB=enm}wulqhjzF{lT-(MI^TnsnER{8&E)?Sq#>@?2(;4_Y^gF zj>)GaJa!t4?<0)v`aEkTN-UuO@NsQHcEfxeKJ2ub2`(t3qVIL|t$=U#9I6la6Q&Zm zIS1{T^4*dU$7jF)EK$i{2-JHr&R}TL zOiUs({HDm=ec%e`aNYPzV^hjwhDv1DAhO9YKx+EYg@ zc)ma~T0x+U^F-YynpGd0UB@jrw~nBi&l#0e3nvE$ZkEAH{3caDWnhELrr}3yA+WEK zqa~`sy6@zXI-UEZFmT~~_kw2GW|iO9eKg?9-MwwM;vRBoZo*mwPt*+|Fy4@+<5K^y>~RdD)%ilJ0UNNcOpx-qc+dycV2B&>$yH{>$twE z+1NYPnETP$MDEfj?(@vdX&=S8>;64#S&fUlx9|WzU!6Q@zgA@KJ9P~l#w-%i@xZ&%7OQhT^>N*Pdszb(_p;nR!Lwpp!-@JV15f+I zGzp5Rh}b_Ix3kHMSOx~V8m&JD@tFu&mCOgek*RIyi5vUC?B}`7t+teHXEu@b+ZRzV zikGa9zU!J$)a(U5l=!MOR7Z?gu<`tCUx!6rgi&o*|Ct;Ao0?i#Ie@2r)b$8^Pkkvj^#_be3D;^$7jd(+V8W`TS>B> z3`1;bYy=6`m0e3S?bg# zaW2-K?$aqM$ZTeko8t1<1bnCe>`+9(&PrkEHs(s)_ELc?(#e;jo01NV=d&}@<9>X$ z8K%>$80kCJg@B*cz_xCSLOH7~yHKh_u+_l!Y%Na z1Uwb}v4LgZ;$arS@Y$)+#$kXU|LIo7+g;t~B~dAeztm}oH(7G-34n z_Zu!pRWoU>JSJ;h0oKbH3OwPIs{jx1Xq#?)hyj)xv| zd6dNxcH23dO6|{i)_2;`f6!nECP?(+S-O6Jm~Q)u!)(I_yWx{AlTFrsQ>ed|WvPpl znMq`o#$&q|6}2KAF(^q@>Pn3nlvFT6pp(4x*f^J$c={^>G`3qiZ1R;4H=BIdyIdy ztY+B3#au>JWtZQ7y%&#Y+AaLjG#39`1BQ+Rxe+Ou`>Bb{RZDKBP)u9ZXAw2mxy?en zW@nabF!q_IA6I8<`MCmfYIT3B3c{M6**b;*5?RM|E?qw;tLfCB*=ylPP^IB9eXI6j zljqP=YYX0vujZd6+bH5C)Jh84{!ANo{5lrZll#H@Z|i;rsyn|HL`x40Racp{d&snrla?WIcyQk@OE3nb_DD~utx09{IH*5)* zU;lM40ACj~aMpOU+0b_2^Lw~_Q6`L0qtucZpk zhNZ)7@2WQQ&lzn369t&F^Ru969miQq4LADJh2=Wcn*zo4d3<-8r126=A{7IhM*Wq# zt$21=i*o8Y>9@~SuvFDJ44D2P_ZlLOJU0pzVrub`!wSP9)*s{M@$}g4bmf+9hdxFj!(;{?+Jf+yu56MgYdMMx`%W}B zo`+1#5hLD?x`do<1CyyJ7xi0%8trU-hmp=pc<+=hd3#H>l zm4cw;0;<|}xmP9+X?|lt=sxLv;#ZxO9Rc7*(xo)9OY0+V&nPB`I(W=UruN%pYYai% zQ1#8Xph#Zl!BYb0$+1>O5 zTy+YgVAZvo+ELaL(}|N!A*bL5*+?zS5`5BchbSo;4~#d@-md3MvH4BpO{u(;pP) zPmA<12QhvE<~fZNC}v<&!%mA9?~BCqL>~2N=0b2M_02z%wO4iFaPiX3PVKljbkK-m zSlyzUwckQ4tJF>LYWXl)*q^ckwOVAXbO@t}QZhB&H$+gvPDl%FTuN^+(Pl?)4xr;!MwZ6(tWO)|G+=8AAR zuohxDT)tVW?3)!FEY=g}I94KZCND>|E~o5eH5997I)Ct3aIhLhhE>#i{YKFf#*=S= zek-xIz8Q5IUwAW2a8S&! zdfdBy@mBrHHTR6Vg?7TM+}|Ynv%wNNl6T3^{Mt1c@>EeY2LKOgc{MS-teA zy=1(&5A-wPJToQIGgk8{$tEIM*0WXC4@S^_2Z9!1<6EJ;btVYnmG!8%wQ=t;E)bJgT)z;S^izlUS=)WlSjBYn^r**LWS5mDPD& zPJWGNc&KfhSFE(=xy$B{9Bs7bncL=v`Zw*IN3Wa=emh@xe(1Nq+mS@8&)zW9ZMk|L zZ@l?qL(7?|Sm}8-WE*N3HfSV37esB-!TaLBTgLLybS&;GJG3D@iu4~mt4VV%-`S4> zHt%w-?fWEAcJdo%LVA@Nx(iiO2I8I=95d?X8uK{9XQgKzU+iuydBMeuz5L^*6&We_ z$cN+=#pxbd%yAonb)~GddpRFY7u^m#W|n7`l3(olyKy;3ZS@F#Wnc$bqgqBa=H}Ox zmjql_csKFV%)=D43c334yoR?rxpVlqPWa){)s0oU+3|hvkMPc4WJoK|SC>OPHpG+&Kt1H>%dP6NpbsR2cV-pjwPfODiRva;!VAI6T zx4xv;%3nBQak(baE=0y@Rm>^PE=0C<9j$67N{|r}3Gk`XuU3(R^|gW&(r!_nBe8mduE$>NwII-)5XM8LM86%!N0d z(VlhO8@F`}fIFnR5*iA-z`^eOJG$31y5A-qMo$$T>uS>ii(4P}zN}q({9Azsk?Wh4 z=;5X&4)-TQzOR-7?Nblc0S7CD{&^<7zei*zY-r>;OAedZa{}bYo(Ehk{f*3PXyXiP zjx*K0>5-9%bcE6C;bQz9)NO~Jg@Q~CjMSanNlCQR$?OemB{X!hQ`7BdcqlBR+J<*3 zGpWY!<|?(@bE_LB6Sr&9DvmflC(CDKCuJWqWF>SNWwUv{ZaX|B??-ioG?hDqggK?X z+k!Rn#HHxaNW8UBp3V>-YH0d||681GQXYRl&)QQq)|)54kS<(JRj1KSKtZ&P>^J|` z)y{A+L0g*@&$h$R5Q151F*!cH&hiI>Daw>FyOkYZRh6vYey6idjc%{u(M>0ID#FeZ ztcbf`bya71>dr|O7Y&MYz$z8hnv5gAG7^eZPv*+pxn1pXItFG0YKe3gk(XR`fJ#r( z8TAuCH5(JcvtxWh4D5$sU=}8;*?Rm~|Fj=giw*b^RR3l(xN&FOP+_U{&4~B;fp%fS zYAC0p1l+#%3o6Yc$&?_9cLF6G@PQHz5s-d1%C?=#S##;QqQ{DYbCcqM2WG60qXKh> z3B+{X!zt;Cf|HX1mQMn#b!Ll6D5YgjGmPvD)~YT<_}m`y2PsJ?`WXWT9;`AtGAHBK z(?yZmX)00v7C9S)dcZFP<}Y3hhD-|WO(v!xR9JncdLrbNh{XNA+ zUAlP}5t8ZyM+h%GJU6f*9kk6QpQBYzsW=OOpIkyWiw*+6)Eru$juwK?_drmrmEa9e z5X4TpEgApFGP{XO`XwiV;29ZV+mP~#y97KTf-VTn{&;}irznc@iVt%ItrT(*LHa5% zyZMI{f##V^Z5#IoVHZLVi2PB!nHih|W(+21+_HoW!g!;@Ahmw{VAY2P2}T2d@<*rw zqXiK-^gTca6JGfR3iaT=pR>&404V3pU0;Rq9e{Fn<;FkQC8dJr;*Lmo$voZJwNtov zsf|crR*>Mv-!j9c>dideHG`*G;f{2wjY+7?wA%vk=CMq>ZL>Jco*@XTm&{w|>5(A` z1rDd_-XR}_dFR?>0C4`GFurYuLM5!w%B?*%M5EBkr9Cu+q>$`7JtPfJb@smj=MgUJ z{es8@2?YYK(gOf|hE#Y4?B?3gg#JvrZL<$l4Vkk}Dr3^vRLESVy9L1sE(*h3)O!V? z2__0rT-3XLgG0UwNL*=y(gIWl3VfNn0Ne~P&mjB<5}2ZUzd zo}s}^-@c)UOyBOI4KDATgf5rs_f!E}yAzqukqMsM-Vq6cE-Yh1BwXGZ2~Awy2??BB z-dTTHXWoB_&j0Y60oEB?!C-%vLcw5n7gizr;GfF#0hf1jf+g2)ZYo7r0C>*c-j!C! z-rNNw=YLSoUlSy`0p2py>Y0m5aCi5^U*$O@ldpT|CDS)2;SX0!O2TKZmW%{E zszI)n=mcJF?%^Sff0LYD;HjEiT?na~TwGHBsX}-54$)_>jt6`!PaBMiFqEiKO4==H)=!$ z@XkXXa2Rkad9LYwctLEPs96lZ9TH6Z{I( znq=Wr;V)oq&^!|Y%b`V0I+zAdAMl;Ez((953UGkmj9)LFRcQihVzG+kS?R+w7|7*5 zw!<}TranGJH*Nkd3?1U5(Uf?H%ye1j?+!|4(i+uaFsX@iuQpfe%}p1^4uO@^rU*eQ zDg+$o5S5~eP+{g1&A!~Ypl@Jbz;WJZ{$*L#0pgRhd=JeT(jwOo9n|*}339>TWlHVs z9wOyU@6h|YMF*EQb&72QvSgC76oC(6qm=uL*Nz|Cfhy#zjEyXeOxz{l;NW~TicNFP zb0aM(u}rmy$By5bYV`{liHyp8fdn`qkOGbTB%;PsD0mPgVB$_vI}Hzd9oY1P3y87s zh-SVuU~_E%C}-nBLDomi5Krwj-iljExEauE_wl;LB@SjMfHnhS^CQ3QHLu1KJ?%?) zlKuS8l5?Bfh$r4^&#{Ar6J`h@zHbH?1=QKUi5}v}V!psizhUG=T>ghAq?)-o8LX)t zQC%~gg6|s%X0JH6DcXw$b#@bkWC1EU2b?axo$*UJo}C5xN?$7)3u(n3 zM2J6}AIJya&a5Vg-wlm$$p`LaQMB5;toKyn1Dxg0ttw+qBo_KLkOr$(e=co0j?`#Z z(iEFd1ojjg!TLzPHSWiKLrb>GPt1VcoZtaxKUH5C`Fmklh8~p6Z0yQr&&T|ho@bo` zJj#^qY_;#%_DhjGFyY5m$j$tg%!0sl$yyR!#74Ql@lHdBs38LL#t|bVOqmxYMhA{v z`A==%b9wBtXyk8A?1pOj(Jt7Es(4}XS%cKnfV~QH?O6qq3O1W!*Sf#`z@YD3=~wq) z;+UmUcjB07+(h?CH)ew>?H;oeYnE%80|-aKOjmkR~k;DACKPRJOduIR3BWs9>3LKU_)fk8L~GX+Hk|UhS72W@qP6XgB8;o|GbLV4)@onVB>GK(+4?}s0v0LHeDUgIqmhu$-%hkv zO9V#51Ag0Q122HV482`B5VCE&)BMN}G<~2E?=*WwJL|PCaWSl$(YhmN zdx+d%iH(lwENS_V-v_Hbl5xCP1?Tni&yp zHFIpVCh%BBf~H7ACY(r3{N(5y&I)uv%SAc^>t^Zp9;axp@0%EmST=pgN-%}Pc@tw{)(t)+qAjG{ zwl%mM)e}~8mJW>pm(Rpf{&UTa)90GXB8o+yW{T#DBJRbHvtO77IV97`7Z0_PC!F^= zLNMo2c%a8Mvo3hlHxskac*3x38&hMDE3`|D#c`I?+#Ti*>R@d56VkZiw3Qa^#=KZ| zH1RLYN>rfnVf)A89DvVxu<(APx8vs)urD#75u8uo=!@Dq#x&q-dBorydD+VZpKgm2-Tkn^NCS$YN;%EFdrgsvi z^@l*|Bug_lyIutT!9O+bf=6#BMu>#~uLN#Z3SHumdLbaJgJ2y0y3IyVFlZ3q7a=DS^i^aSN0?wv2r$3U zr4OkWF?u@=0xC541L-5(U)z}ofSQ9g=Y%e4NSl!n3=mU zDddFw*LVg5-;BUb3DRargev&p6eutx=^`4;0_4BgXRiCv5a~2%!3P zFm2$b3u!Y50bqOq9omGn83BO-1`wM80lFD*oZ(>(puq;Di_kC!kYEQ=F9!5es9*|G zEf@fE-UL`^)W2ABUC<^SDHkTfI7IMFkP$q3CLByL6qx#dL^w}-_52a(`NOs4mv|`v zA?!?g_z~R=3gHO`;R$e*5fGlx5uP9ro(R!z1<-FbNe=-kjZtVaCn#4CQW$WQFCc^i zV1kQ)NeE#_=)ZQeBb2Zsgm5*qa2I^AKRnC}4#E=(`mHVLAv@_I;2>)XO#&1$ARx;M zO-2h%A`4C42u(5u5lV8nxRsY#{ag3keX89vwnI@kd=7!@#~p@TaCav2_>6&9ft zAE6Zyp%nw+i38mY8vU03ul#%~PkQJ>dI(U|?n09QMO_UkyZ|L^2pil91>=X0@bnJd z4F%ne9sO3E^bpuLb)m_Fpj=?b{$(~N2u+#`O%@7GQV31<3r&g(B`f422jwCM=H3M5 z-UQ}Gios-Ndka~@621h!L?SGvd#HiuKfc*RpgDLq-;FK85*Nwb1_J^XyOKe103#+0$d4G1(2)p- zief^BWKcf9Q0O(-4V(Kt)EH2(0iOMhztfBv=f_jf%|3oeWBY zqP>e{>jfL}f>F_{lYHy|M%Dk8yow-$9w)gIP!lE%KcXk_5XjrneA@^ zOxBoDA8t7T!dzi4@MGF1&auy>3J@osN{d&F*CXTf%w;q=Gs%=nR= z`fIpd#{x~%dgVI>;=wj%tN*>jmZBxAf$?Bp8|$Xe%2lzf##w5K!^|x-wAKWLtg1t< zIoapR;wB#mh8lZAf||~Uk=J%h%XkGw;J;TXv9!VWtL^tsPv5tuCMKo^5sgb(mkK8${8bL;4 z>?iOG+uTBF)k;7`MGH6l{0=sly%PDDp3h;5O~H2I=^0A$qTKwyUxxr*`~TQ4|JBR> zTYl}o_Q(Hma_t|a`+rHU{XHfA(`Dj6P|^QNt^w>kpw9o_P8nuaRwmZ}c+#Bt!TYKW z&RwLntbCr5p{*?VtXZxvU4aB8Emg0tB>WBm-Rfs3M#)#9%|fKF%>A{_N%E(C{LUXD zW#8#l;n>X+^Y$rZZsMeTWcWFAx;Q{FhjM?m+CmNk{(bFt(P8NCJ@HWc=WQY_&GjIg z+jW1n4GtO#f)Eq}!H4^8Os=6jb9f$RYF z=@|uCDJHd>V4QjESUfJM77~}eKQe@Lb$;> z3lWIHbWw(wUoM0UcNVie1o0{7$0gC<;M$qa*PjyI1j`=J>?=63@5F?IJM8S9be*K2 z5>*o4&n}mklR^u%ygN&S3}zVyO?GoalEM>_1|kB%HJ4PFyGaD-8o2Em$i|*^HJK@) z6Plz}1H4eKiV*pFhC5y34klqQt~+$4O45j$Nl zq!z3$DQZW}QDW;w2uy+znOv|;oI-xgu@3N@kn1(%j5&3^2IXFZS(?V*cvah+CS0Tc2x%fWDS$X*+<0>nSJwAA96^kI< zz)ugu=Oxf^#tkmGSB%6HGX3w~jcVB8X%=)u5i4{`7Fl-q6vw+H(bph8CH>jEUn?6$ zOtK4d7s6_juEB@H)+VeMiZIEVlj(AgGB2infltJNuEBZ2;>Fz4Rgvslk%{t^N}HRj zF}8bEScR|L0Cm(5Y%{^^K|JX~#2Wfd%V;6k8X<%m<1vKu0}(d3Y7vst@bWE*MP$$J z2jTF+Evn05Yx2prORi4&HXOPh;mIIE(mUUvrw;Y+r-81C7g>gf~g-<(@G&DiHk$5mm3 zn;KzL%Mn}BK>91_^Ok>q@=J|G147e?On*2V!D--)(L*x^>mPgKx_O3Xp_V3$JB5j$ zv%d+pI&~ny*0x2aj+_BsW`01O+>BJE{5z7@q|i3$kKhMl$D{ztz58bCO!Lmd#815H zPv*}&&G`2{O`C!m`^PLdh zM^J47GsrJL@fFFS(XwdxL-`{_BxzLKe&mA{3@Y9#26AdR{xFJQ*5QY5TiRZz27x)f zw7-xhz&DqYUZ}BP*X4~M6bnczlF*DzN-flpH${miRWy54FC)j}1mJ(Es6<#R#E1_q zop61Dj3G7xxD}KBI|AjHBPld$!7C+Q2giKBdDJHYU;seXLOY=zo;UO!Uw>utUnzA84JmOi*C7L4h=WxLwh3E&%Rd!s6* za9h4noEHpm_Xmbo+hY2+4KIdgMV>S6`;k{o_of;4W^r}|R&234Cf+TjtIXi;#FP|)F+ z6VIte-H_GfNj(81`6qi2+ntn4iR64J)YzDLJ<(y(uF?gU@He_U8JC$Md$UqWYs#!u zmSx%@T19JobNYN!`tPFYs52ung#&>fNvsj1r0eTDSV@OI6F}+5`>Ji(BQ1m`1~+_| z+VdT~ZcBT8bd=t<}$u(Se8LVo{AsH3FQ-QeOsAhU(Sfu7>$}i*EFj5z_3fhNfG_=GR1dlXwO4Y=}gDZ)VcfG*hs|0kASh^s#Bu5*?W#71b&3x3ACsJjo*o%7?VHcO$)L zSwNmGhY@lr$|>dRXREOf20M{c>Ba`E^Bq*1#j10Q`LEocCuz|hq|FO!DGQzvhtrKr zbCu)6loSo$Nc-1=z6*&$*Xc?Y6WPZR>{(U&RLA6F(h@+&bnvqrYs-&Ku2XBmaQwm# zTB-oA-YZ0ogOB^OWN;fYGL;!c6}y&YtE}vDcj5^oeFzpIN~?rEA3!s4-|br^?XC#o zm*qysijG%YB!(&NNKt81NAnAi$@0?{D&!afJV8kl?Iic4xFz*wob3AT@1v>0`)L?L zMe8xb8QukW6cws_M18kLGkGPOcy@62=~1n~VVrw~l%?CfTPf!6K+Xi&bu}Q;7XMye z2`Bh&>~Ey)B*X8OL6G-#D9-mdwO)9MNg+jaJ{u3SZ9D}vrlAO$<~spA!2rtT$3h+V zz_P}fZd9G5t78-?)KcpL z&NPB^Li`vBNe;GqkODnzk^~gJ*~gk@*H++*qP+2}PS>LbeJ0$ovs8Tzo+#scD+v8% z0Rr(927~3_fzUvxEuS?Aqv|4Uja}ypgZ+iC5Y!hM6}dt+DdczbO7hV>n2Wjf5B%t` zcp5hBQ9{%YR2ZLFpi@2^Dw*?-3RwSuyo$txSlyXiL z^X|uMQ@*WJL2Oz&-A)9Nyt$aA-$4v zNsHm6RAG2*k8R&7iCOa#@H2j<}Zl6QSsiT&YJKitrMV-4E06?qFH7gy~!7 zvLb%OXsCl<|H!p5W(3!=FHQrU|L3d45*BFodK``bW~?l>SFWts(*d#Zmq-nHS}SYK znBe&*T9nDPZ%-tT?;*a3Ec_~k`aSBTUAm=Ks*dsPD_%wMMfa(BP3#Y{KCnNKYvYn4 zR=DCU{qB$yG_TAjSOMhP3fL#5%!mqd49Jl0qIq849pzO*vCyfRETwRW><~=Z>nICs zrw+(U(f=GG`mUL!M?^%+F{Sve0x`LcNMt_Ls^aW+#MalPotAGtbo>h&88?(F^sVd> zUxdGp*;%Cd59G#M_(XBmRYv#w-_QEBl(Vy}(`+KDv#$nocE?G(?pq0Ja3AsA-JZ;e z3Yy5#7!!S33$ou!OPpo-cPYj<03&PjY9f@|=}MyyZ8>4GNos|jp{-nQz>5iJZ%k2F zo)RNG`uWqG9Gd{aw%L*qIA3z|APjBoCi&@M1L^s2GyRgVV2+QD2=G4eR!AN37L(92 z8%q#n7-n$$ta4eak_@aFabeG{RdqrH#Xbe{I#b|#K>z)zf^XPPddOw$bA^u z8`GR$xt5u3r$PrGXDUN7I@#lzi(>LP`Mq>3!}0AOD@W-8;;iG_PcOPwnj|?)^C*^c zG@rk;b`E$DcB0YW43(V7?&bcB`E2@h`u5yWQ3UDpmgLdH>$LFpOk+s=cX;DO-J;OC z-#E)J4JHf|(0XEQJmWs{$q{`Bc<^}}f^Wb+I5clQ?3%&t$nZI;zfMs+e70Qp6VbXH zU_Y)a?>>sr=m#z(4`E_vkgrgBBd(k~vXd&42!E&il z=WP=+lSZFr1fz~2Lqd7FArR&y&j{@JQxh-|i7MvLFf!?-)jUY^HbR)iVmq8q)1pir ziQMPZiNvw1yY2>bW54A%&#TM%pY%7;P(9`0bI*rdWoAmbZyL4hOrAv|k0YFsun&+c zS8QMo;vBt10tM1VRZ`%cG1(vDof+@o|e;-0-%P%IvthdaLvtCeVaTJOKmK`-OUtTm|1s5HaFSA}OW^w$n6yXTHlwlt~gvwx^ z_oqip!jyzZmiW##!;lRc@W}|4Y*#Yz6ETuhWgZgVeNHGb30S>ArBFT!0!kM&P)1Uo ze$ynRqEz-KbI=p958#p$#H4Kt#^+e$B0T0RlP_)H$N!y5kh82|3f2*oaO=NM)(5h! z_E+u`Iht)2)(I22*lcihU=C~W0IckN9QE9bX4VqNtbzGLhFgzt#De+AC+chW)%&Zl zjo0mU^Y_-l6Z_-N=DV#i;@ILbxPqOgf5;EUkkmun#(keS>CU0hJ*@1NkRFsi$LwR3 z&eNz=7UrshyOeFQfe9HC%ULToSqH?gaS3AKCGK3Is9}??AFz;)Y7>6N*EHf%d^cBH zfc&11aon*+$Vn`Yja}8+8ifR3xBbzkH!iQ6C<1*LOXNdVl7}FAQ{zcVu$bP0usz<7 z>^2kcCL0N&OWaT(vBIA4l5qXgM6&A!i{^APwIbY9(=sX1Y%2+_T)3QF3uVy#lW`3J zJ3;=OldpgTT)8ys;GQdfAK4hJcpi9f#OZft_>S$@SiL6N!5@MK)=p1{8%J8nJTzjV z#l|dRTaL3P%0mLWnflDSOoVl1bU3pbdo_8DG}UP=ZO~)oGI?E+_DX7I@Me$^#0_9I z8&zbR3>kZC^{LTIh%;99NR%m%<@~qYVdb!5;xZAXu(GmYOL-|W!`W9oNSaTRyB)gg zJUi^N8GyCp{*4Elknv()z=x~7y-lIvwxD%5a-_{qxttqW-TdW~!X5S}B-S0JKo)jb z*!1gm&z-%>Wc=#>QUk|+t_;<=Er4ET`R}IrY&n^~mtn8p(-F9@p!F zbZU{l?4LWh&emv%2dapw$|Zm zgJfDw<)LXWSVO=xf?HKQIP8>yNqc55gI_3lub;1zm5g1!@NtStIfv>rPgpn)BY50o zQPwm<6p?5Vi#>QyP4#TSii-04{i{-W^$>G4Lu7saGRN`m_g~7I8pLH@$|xA7$rty; zW-lW3rn7jK`VIAtWL5U6&%Eyt+iH)ktTaMIFutMADX{PQWYS@ssDD1mN=suiLtvCY z?<(V6ot{-QbNbDP-@=f!PVZeuk@CaK!PV7yW6u(6W2aQ-U6O?aVKjlq?8Iqie9Zd# z^< zXJC3(S@@kl)ZC>hg~P50i~E-W6se;1f_d2E5sO*4V#H4*nM6`57qt)}W6HK+C`+{) zIQf*eby}%nkAZFKUezpVJZ{}q_EmK9WB`m7Be8v{yoapr#wtsqAu2sfX3<4#iL|QL z3vO;}Q1N0^NLrOl!YfS{TU{LJsePBCNRsMK$8a(bVJ_UG<9C1Cl7-!|fTA|B>}9Ii z-0@@CcGfs$&VY@d!~Mkj)#~B4mEwDixZ^bPhO-548ddFS#Yn68wUAI+>)lGsZ7>T@bWPc>XW&o zz56Wp$$OC;C?VK7?=YKVq`6sao6J%rd3|Bx#oc?(w38@bf)$u!pY{2&kJG134b}(3 zVv*$9?iiiDr3RzVoHpCU9rXu6%}sL>f8Kwg&Fa9Q&@!77_i`(0BqAZFG`EQH{)vth zvvFC3zY^{zmHR~b4#AWDL2|?Kc?&=MyUL;*A$fpc5=_;yt#X3eb4g0p9@*Yz=9{2L( zzz#vKR8MZ$@TcVY1nu2rTiBU{iNfU9duz_3iK4PHRUzGXY53+Q`Vz;-f0Bf`pp9~& zI5uOhBzfaonk@vjS8a=Ci^kpDo6U`p0-mv}lsaQxLPPp#eajW>@W`nXg&S6k{NniK zy%MF|r_Ih4eD-t9b1u=ReXc3WlTM{Q4i<%y#7#kg5L92KYuBT9KUH_cS(dcp{olu} z)?^FG=`y_csaEO;S<$aHH*=DJcc$ne+>0)UZ2eLZHdReOU2YEJrlr&kKrZ2j9^mFS%G%Nb2f;ti0VsX5s zpJq+oXdWeO3#EP5JXkQDTg!txOMX&Ieilm$xuKd7BvlOC&!LDDsc~) z98-8*WkNgYEPUzeGh|lyv})fk3y)?xuugur+Rya?+WnX4RZH1}&rUt~AiwrJ%X zYL;U!8khZ!gcr?LNVv{q z?)61cEyX7f3 zY-Ul;Nx6^eP5eeX@y(WSjQnvs*JO7KCYWjJk)_G|9Sa;eh%fOv3b@{%=H)E2%Jn(O zCJ8vM(zV2kCV7hA{W+OdC?q1c^TEO}7X{rX*O2hnh1S+0<|o);!ct@@{pUi(G-J@B zKo<&ldcSI-Mmw|7@)WGi~}^{!IyY7@`d_&swG zd}x8~tz{EwRfA}~BmsRqTAXAinYu)1)r_J=DP9$Zo|nDTv{Xz?FA5j$+j00VlhwBv zI6F5D!iF>N9?Fr?Mg#Gw+{%`qL%?~=%9X=ksUTct&gAG2V@}e#K7t`_ZylUy9L{?m z2``c*6(kYWqh!)|V!h1j86ceQ*+AgsXYqOp5b6*|M`cvvRU3BZ# zJW$U1Mh#`yo1;jUV{ar`jAH}ScJ>=;B|4S+UKaTRcU~cfK!i%y3dsj*D18SfjoR>l zTJ=E0^21s5f=v>lvu{bF2g#sc_vR17Hn#KENg(ttQnm1tm6|8OExSv2VwJZ0FUR}( zam>EA)>&TrBQ^8h+HjI8d$rtmZKJW;lYFk`BsfaX>Xg4CcRQr5=_fv6O|9XWo>uJx zf^92ltPxEMtzfAj<+qDn#K36TD=zSX9eo?M!cTvN0n06uSd;;YkR;9O!q1b!q&2(* ze*4v(B7vON&hKx^DX^3_J&c~L&!V?`v8r>vY(B7bZ@TWw@6^^NT}6+{gu(`L#ne>0 z8?QK;3%0UEG9J%P_+mnScATg9J=#85bCM!;8gqY2W3BGtIPLPS=gd$pXqG=k z-gT=AEp_rMy!h-_SvBfdB>kq@_G7cHtN>4`L2YAt>I||fk8NlXUM+kr+g9?Aw?tfF zdJ-P7QybZgvl@j^{nX>kxpA3pISI7~NqH7K{*}^X*|r{Qem~F*F;*C~MO^v1=b$)P zP0QA4W~xcBq@8s%=jHdYq?A)mlIXB+7v5?yu)htOp0k{<=aEBU<~6r)V!j7&1Ejr3 zbiYgJlqNWbpi1X~u2-PPYaa{lD> zLJgt@NtrZC-=0jYv25#xOlxR)PRSZgx(USa$4ik1s2a=;ET%c%igNPiKU_6TUK)}? zunV_d+bfvCF10ozl^k{imZA;Z-A$yJhE@BAW5QT`u1_lU|In59yWOO~23e9t&cF3V zq|ir?KzYJxF8O? zIWR3Y?z+Tos=iaB+^9`$Het{&@bW_EMYK48CKOle6pUD=koXR&kFw;(e1cUal4Ei1 z>cm=dX-z0djEe8RJXiovTb0p-C-m!BWgS@yjzN;}hpQ-}t+);u6C@?d!-mQFU$(uo zNj75SL-wWV7J^tjHi>qm#KAHV&U8a17~YNAQjfP7co6zC)`1NsXQj=jH2x*8$#%ywIvYVERSw{ypPf)OkSXU$*E~!4Nsh#5OT`c&OZn7_(MX-??N5T&;9})?Z83DN>|deb zMP+DlJ5JJ`I`VNkY0DpzB^U5wt2xom3g_8SEn};tYeP#_yi zxYU#chgb4Ex4o+_AWe0L@mL0#ov-SlkvkC_^*je0J@(~W>@ml`^~`=3mN!9h2+x9? zk617?r%(mVyfBhflo>zx)7ukLgncy6*Ytx!C|1tVvBXFPk?eV@NZx+i%2k*qp}^-* z64ZOQ_i;Q$!T)u-skDO{#HT#<^nl!sd# z)a>nkTRXy1CUVP%R-iuRIxfXMyHv8pbrRZED zqG2zi-O(Rw4dv^-z3rXn9zM6?)HQdC((#6`S9R5=@rzOX)Xu`VT1@z9nn;o0k#Ln~ z5i_LEm;>EPTVJ}|<1c3T9&NcgiocuV1OYrTlWCqRPxLll2N-F+Hq6QEGBv%AnC)m{~#m3`gdwyA!eu^nStXH4}%@S^7 z@;2{}_*J*XG34X2^n12P?6DJO;!X7-d*)d@@~w%``{uJ#$m& zQa-_>rf=O+b;x9D32kfo|1xV=NB-_bpC?#<`Rx=R%13u=s#+(-`&6uH<|MDvh|C;% zCjTw7OFAj}7~cTp;e|AdS?*%y=5Q`Y>1ah}vQC7>)Pp(cZa_h9$`+n=5 zKvvzWkgR&57;kTMQiY(kyQ$T2elNTsm7JEpNCxcgdjS}>lf+-Varr_Rx?;7IE{}Pn zk!>R&G)KL+5vXnM_#A~vlcNiK_}kI03ta@LAGW#^)!L4&E??(!nSIj#$q&|u4oz|+R143|Jr3>%h$`H`86B6v? zb_uE{Mi#%6=VHeT@_?(6jl_^kTzl+JUAUMa8TS}0 zMF$*{R#V2)OU00@UcB-lL#M=6e$vhs$&r;M>H@ViEY`1*W2s>M=|zl^b5lqCt7!9) z7OE6;;roL`{z0i#sbA1V?)zwE~KpW$kK6V>K29Jz9;c z^n^vs+|wEBeM}NA5aU*$v&N;J0;Pvgo54SBNme6`UXL#Y=Z$&n^b8t5<*vkKro?3? zSV$FEtnwDJ0I{XIDk}QMPTRgmDcEU+tZSu)9-lUcjl>O=e6V%pPc` zLcV5xJa;eZZ4V)OqMO>#q6!Pl-WXJgG72FIcxih+`Xes{JgFmwf8eisUzKig5b%6)%y0QiK?b9q*j zeXtbB`|Z3au#(cqnmIa%O^KgZX9z~Ew7{qH3x=Sy<2um?6I9x9nHZ4801ZQi*8c-m za)YXQBV1mso700hcvD7ToJs{QANysQKx(|j>v^eQ1|@n|_6V??61~gEPFX&X1ti|( z)s8s=hz|1F^<$6hS1=Xm3j~Sx-CECRL{G#ofLnS)wp=zgX~V(xN-Yp`=O3_$a4@FQ z5~P9G*=1v`XCxvTj}b(mGz3ZJWpgoIlN^nR!D9lEC?P4ag1+LZpvyVCK)_}YzfRaL z#IFxl_>3%9`EE%;f!kXwkcSkoi1P&-h|>Au4T#doB_8~T&pQ^7mbWyZQ>P1VP~h6u zAIL)tc-7^CRB2^nOHnCc7)ARt*vC z24rMFA559gI~APibYb>SaT(A9Gf@io1;c{~j=6pRtkJ?? zVoE2wTf$1%PF0y;Bv3Bo7i4J=CInd;h8aBLS=48WdFt!}0(m;Q2!QIHFAS6bX<5%V zKL{&@EOo(#Axk~5dfr=l5RZ!sB52mtg&Z{N;(`Uza=pNMHkTR@eHZ{Q=euF}5d9Gt z8Ys!x=-f3)(er;^Y9jD5{!;xvTdt`x{#lNxGXCc!>+Uh0_WVo4LyGCE zQ>8869@@5`gc0Q}Wqhz#a>9sN1!J7!ORyJ+@z}T`y|WRsj_$%TLe@`-y4+AJC{}bXq`kC;-Nsy@Vkjj=yW#13K;ODEXLOnDne~O;m=m zz7}J%p|Pib!9>7(k!&l17;%M1yv6a$?E7FxKNTnrK<^v&C@Yd92y7A6MCR<-;bJIw zO~egEygKQj!RhD@m{833(2=2zo{nD!n3$KCZV^XcOkdgI%^w4|L}&_Mbu3cUoOP;%USo%a7FN6E@N zu;#D%ha%K77w(p9gcr^o+jbo-33m`OF=qoXsntvs@c& zR5igu)bisOzl1_g5}uBH53Nr`XOzN?D+&v%S4O8R6!s5lNrM^Cw^oRmVW}9|J&L48K+*QvXW1iOd;uBNC z19K-7(vw#n*+i2Qz=3b56y^dR@%ZJPUh=OjE$#2WvQC6V;wlANpB7#bTkK!)#B!w! zW^u)_F}6PGY8R(;lF{4CnIFlOxA#f*(d}Q&e*eYG()x6ON8AlOSYX{2xJL&w2a_7p zl3pJRm=u~&0D>3*Bhj5xpTSMi|nU6p(u6=it^CJ)Q$*Y#5k1E-;7k)2zgt2tYr z=qnQw&_S)05$GU;wCC@^A9jx~A5lyS>=8m=6+n~4UWVd^8h6Q-s{f+ua3f$%4=7MD z)s;lKg&I+W>Z1sw@L^Wr#hhH;{iY`yoIGS3{1fk#AGLGAa2k`1s$##iwhu< zA~GUk*x6VzDJoc-8yja?WtlP6Li5AWkx`Q2P2tAlTb1)NH?ITElheN%&E5Bm9{X=t zT??P9`L^Fgq<;;p$2)iQpnjTG>S+h=6Q$`zh9YGy?3}*l6PUlXp8(quy@jp|8M4V-yMKt0+k%7$AI4C2BtLw z{XgZ&7RMY>{tS0qO`)XMoxV z)CFJxVYlzk4}lpnO!}S6O(LAz6=-ZwOdfCG7YOu5ea`aAR$)AmuH8VcT%WtW4>Q~C z_2~0BUL@u?mE1{hOLz7BwA$#nTOyFloNgm?v^00^zuQ;WTh})-U(a<-)kdVb5tTD( zW_7ywYSJDySLGdbmc(SeN-$M{thf}yYVT|xSBI83T&Y-@?Vn~^VY6Pau6RK|%;`Ou zmd0u?PJj1%p57<`?{R+bhoYv;WZ&G~T$ul%*`a1xbm_~Gje`Y^%1-|hQ${;kdt=Io zd0FJn$6Ei&m4%GC$c2-+3;*Rxi&}Xzs}ntvYL-&%NG5~Y^h%D;Sq*u0Gz5#YFZJ{n zDfDW}h3c|A0_@vxUoYD3_U#;}k=m6y#MBt`34O=dH2w-zm)tt%BTCxE73+3NsPz!=PS+>hz%G}2`5jj??38z7GqZCTY1D# zU)C~jXTryG?6q$e#j`9_qh45!Cj2Jwr2pLN``glUI3fI9tTcW`4jGlBhnCmvSYo!5 zl^Y80s$0O;Yr$B)40q#Z^7-R;0x=7WC22?8<6-++1N4#(32LcFn&Xi`gTY+7G(j!? zp0Vovk#$v?6i1BI5XKO%ZOjyp)UX9!+S9u5pUHc3Eo?_a;n&zKlnZ2F5^=^|qdtb6$)X-B#%7=AFe&UtW@o=Ch%i_exfA_+0{^f}d9*qTN$4U( z=mdZxM$p>t;58Gf8$l{BLfjTSv=w+HM}S=-hXBHH7p_w;cnx5NOrmF&|6r78NRDtJ zvxuFCL2I?5PGo4p0F6XMDn|im<(h`*nH-fD92&i-lL+n-DiWYG0b2Qj%8L(o2@8n@ z5SvKPI?_PY354s1g4=?G76ac&E_!B4<@NHJR08Ic5Uvwg8*VBu3S2=#G{ENR1+4)K z#>QPjLgGQ_#1eH9!WAS%%Rokw30_0P6~sf!fJahB4Jm~0R103?r)nTT%Ru;-v=k&p z%RoZXLg>T`UVA~+K!(PQ7$P6M#)>NlkH!oi5*55gO~s3Z1gyF^6)zkTu*8dKsz5Rt5&B_=Nh+6YpJkf;+1?h#6efoKIDng?8`2h|)3l3uVe2Ch9y zh@xo4OEhk{P9G|5R3y7#<6)?}&-Itfqs_~s+{+_G+<1hL7(}uDpe&Z4tWiJ*24yJ+ zXDJ6|wIhlJB8EJ@Kzc+*yW_yU1X1k)&XI;{Pl9R>k!lZMj{w1>z`bO~y_BKaBd6MP zpxVO`9Xk!qT7?&DM-B-9F2q1aYDGtSBti2*MDrm>^T9&%!AHBp$Gw!N+9Uk0@)B4w zVNe#J6L*8Mtb((wg0g5t$AERoL=aO(6cd3D3Bdd}fBA@p#*c~gh>PZffaXJn#*c&~ z1klVENJ0omLcn8yCK{3u91>k{R;cLMqv)8w=ombewFquJT!?fq6`&{y(V75JNs88l zfwlmMP=J#HF9d+3N>qE;RC^v&d)!oe&7xzTL0OK7V!pvydO!)vN(;_P1E#=>ts;ed z0t#FRplZtyL&}gt%HTuFP(s?^k^ITgnqHtay+XSq!L0$7fq>RThDHJ(0&HLa)B@X< z86|`nf!&VC01fFF7=;TNK@AC;q;N7^K=jBLGPVK+c|yj%3y33%z8!Tns1WdVP^k?L zufQ?9-ULMj-!Z&|4bEKrbx<@g_1>!1-}iE-CK zbinNLg|cXl;iD!gD&7j+V@y`JQwiPwp5zc=5&G>q$+4Q6ahrHK#8YS$pyacYHo>u) zoN*g=IW&uS>)F5l_bm5tRVe818DdyiAD!jpSy|R!j-tQFz8?u>|GRGD1a#d0gg5>F zMp-^iufOBN$ z`kztDe{e@GW)419ZVsyd19Zv32_Vb=3M2pJD*vdf$-x7>AG}<^t6=A1X9hw!If3=$dw%== zQx+l{D=QZjaKlZ-1*lD44lX{<|Bg1f{!^ak|4!g>aQzp5XD~4w8OnOx@6czMkMz(J|?d?pPTeIA@wh=a1!jCf3jQS z+4Jd+?@w#=*Ll;6Ko&bu^klJhRgRi4N*PWa(Qz!1+5j>-Eb z$rE~fB-!-cRGkPsk_X9CRsAsVK~F!1Usa!0c1mX}+f?>KR$VA(#1P??#||p!P8Yh? zuRa>(q`s)|(EphNPvcdZdgRZ~>T0?1n(@LtpNZ>^tT?fZ9K7F6Hbq}e3u+mxmLhMS z*{u7__Fki8lsl3Xa@jsUB7D`W8~^WnI=26`o&JN9|L<}L|L;1^f9zvE{#VEOk59>e z*%AGxIMjbRPQV5KUnUT8@v;6F$Jv7Jr`BI95@1<&ZIEa&NO0X+^`4lf+&FaD6vNS& z6cHurLr~`+5hfbz+>tyan)cIVo?>bkl+zBcN*@D_TDCfY-e%#wBDh8;&CPpQI`w3} zLu5Ezpl2-a^zTLB>7Rhp-`;mo!P-vwNI|jDk}L0jLO3mVZaq!|M}ytcREf2Kc)cp>(of3 z#y=n}8>1r;X-xh+x^;P1$MYC*>>3emRcE!;pXw1N>kGH$3iqAct^BkE+iePdO%ML; zJUBX3!pv|EHHd!fE_m1Y1br!sk`z&Z3hpxAlHZ&f=h<<} zt(ykb%-?1P8QPTUn^FAyEzgXU6{;2#lZNegyjZy_hjFs_`wyA0GwBbZhl2(j}mbas?p#3E(ov2ylM6NC=5I~6dRv8E&6axYXu}K<8;OK)8 zkt%|auvk$E#Ca~oDWPFptZ;h9sANQ>YHm}R8l>UFP>-W}I5Wp!iZ+}-9c*5NPe12O zpR~&_AV<|u>rl*u{9sfENxd=68dQVGwumy(*&N`v6pF+NRoicHyjVF5GRC0<31$_Y z3JDnBaVQe(`fA5RWKuY``K8*BfY3wCE|NJkQqhoN6$G#eLro{i-k0HumnbGQ(2zID zWkU_58x<%%#vIUKsezVyQL-kJ-#YG|AxPkCOnM2v4@Nma^dLYqMQ=~S-nb*tQFYpX zl^~_piMB7Xrkrf>t| z@zC_*t@=!IH;N6v19^E}a7QZAgBjH66z;?d@aQ3h@{?H~h~d-M;VwggnUHe7I;%bhJfk&vJ7)l6(Y0Gg+;gUYsXrfnl$i zqr&g7>hK&rh+z+xGp88xW={*yQ<&tD?lW&6x!)$HXJ4MG>0WmF?5Q3p#5>B8zjS1L zcOlkW;%0!E9z!LJqbq{6JkUh+`4ybk)@u7W-{uM7-|6T-e`i<3*8)%fhTKyc`P+SZ zI?!8uGzvWA_TPSt4g5PZ>+eizNxVW5NILp>v8bN2B|>t_ zG#N2e=AcUDekDkg|4~nI-VC>rOa2TBbM)mG^C7nDb)704Wdpt)-h`?AVA*}UUY2kE z{MUqTE=Owm@`Gk-HpE7l&k*z}ul;<=zwm^25aqbybz-N>-e+dOf>I4&w-L;UkAMTNb?FB5Pg)0U7_%LUFLG;fI`N#4 zPQKi)0S>gaLi5>yGW3RBeqO=a?Lyv^9y+Q&uBpB5x*b@Oo=W)?Zt(0tOMjBv3}UPS z4)izTbk**Ad3|`T;)f{W$_dYe+rWP~P&&YY20$#z)a2sRnI0JexR&5h*Y2G{O*IBS zg^{XzfV=t!9R-)KgFdz)fBLex=FuSWoYCmffP4}}*^%xops2cV30#;(hHY2F6B$OzqCN4`ORc%`%MeZ$v+G1@KbWq2=8(PikL@1l{n-~H3#hG_gpXE&q^+3u?FwZy6-H|3 z+wPYW>W}??+=he!cM7c`I17K<_d5QBoQhlw{S`?nKq$K#9iv%7@?OusXC@(8YOyii z47)max0}5zH=LI7(Jb53Z?m^~PqP0nCaSBKx;ygBM9b62%SuzYT>CB$e%h!p%F9Pa z(W4;VJ_(M4Pu%88Ey3eivo>4^(kfGXjt4)sjFX_~ce^7@1r~wzw5ZMf=uPIudOy-e z>}li;~FTdi;OJS{U_+Wb}f5Cwj@Gc^;PUi84pH8R_!{a~gg;rx<>EA8O%%D-TPnusgq@bPMA zgZew@4pn-*ha?YIu+sVNElOyDuqFXQ^s=Pk9EF4Z*_|Jo6bb-Db+lLx@eL+O_$_b3 zICU@ge(`{@_x4}te9d%Yi5(F4gf>`9T9XksYI}rji3f)2H~jX@*vRPQtN=XC`wh+|K68(T>KD8}!-kI{_lSU2(?-NS=#Jdb`@V6#DR2?Ih!@UPTVg5u% z+U_wm{Vj0#VlKc$V|n1$CsY*r3~F{%4L4)P04D0%e;o*0}~+Grl^vOqW~6HHCSs z+BhXbRd|1>9XfMeB8!q=;{l#LwAee)@P*|^W4Y;n-29-0NJ=%m?HEfD`p(QT zTJyt-gjyDYsT-M#w7)t*NHmRVl^j8Hi)3PxrmSkYGIqcD6!~wNd($cTfN=er#95j0 z-+Sb#p$^nI3Lg zQ10hq7nc@88&kQCq5fih*!~hs_}Mg|5w!JZ+?jwdnxtdnaPKDzv$*0@0dt^Qy^+fY zMVe(;<$6ZkxRaN8R%J<`k8>R7h9f=AQ}1|+p~YELj&F;=e)VJ)eyzt8K4G+J5$RQ~ z{DMsP-j81S+5@znySZ1483NTz(Z{xoGh&j<15LIh=??R%k8RQGHcZyj6%;FX_3U^h0`fSv)qzRVFh&ISUJLt+J@4 z-f;g&J>+^Z)nNkWwnroFCa~{aQI(WJcbGeaLtv%mH5b#|A}8;=ihAw*3M-bRd&MlW zK+1N|gq50sRG3NLG;6r;U1aZ^Buj)JTj;Ney*C)zaay-Ay{7J$49vEdm-l-6-V<+M zk_0xJJ<=GkHTjB$eFN+r74fZ|Xx~$+>SuR?`K{9u@bD8qLwWv%F8!=(%iawN`$*e<| zOoQ_WNT(E~mAgMc9ByTschb#V&ff&w?&=D{XQIQ$xom|*r3h*PLVR#b^%=RtKC34QVL(u zXa4o~(%_v>-VNbbJc9*6?UA0`V~S(Y1KyE5AAVQ)EFA&_a#*FngMi;=*#@X)WrJWNu1w!o73g?Vi0 zP>W#Lsr>cv`JHJM{oEASKXB;ECjf_nx3ID~)bHqsfz8a0J+}X=8za9gd1{&tRwQ)r z+nY{jk>X0Wq-ndNJ&ghxW8RN|S>t2E$xD(A+~0SmhB~V+6Exlb-1-|*CiI#P-MM`u zai0(JH183iW<0Eu)tzR7Eo4D4xYfo`wu8U7H^&x?l~|)J7hXF2kWO|l;&#kkB|JO< zJBwE4)4!!-yBsTDd6}B!>G8$fp@Z)SH?>BrBxR5ia3(a@oW}@!MtK(-50$~ zwRy*#+whf(6UADh4r$MNCR|$JDwu_KAT#>S%v_drg1PqV1i}mY0iPUmwGVwM8tm_L zzyJ-Ez7+;&=nk_iHcRAPOHDoPW=zomMSdX1@xeB>*|L*mf=gJ@;o+rC_h|OEA#rcp zN9-(QUaq$-S+&7%K1E^N$vCTEmKQ*p6r(N@F)KMa-^M3v*4KxW(pN!Z;^f9~pAWh{ zu<9s=N6M}!OQ#IzdDFl}H%_Hb?BBAlx6(kFOhUIi5j6)Bctw}d^{akBw^UZ?)A?#E z0q4gT?2f!bi$0tg=>~fHA|&On-I98dt(cA}x%=$8wF7m?%+995sxq;J^hkWT<24OP z7#L&U6pj}AO*m+mE6?8kmUFTYb2^BB2exyvkQ&Rh>W+k(9@LPS3~cGY&vTW}Y;}rrb^|I`!^wKf5l#MYQJ47lK6LHoxFtlr7JJo3A z=ueLWTe9YDn>V;Z?!e^$w|vsEyN4R${XJq3<1zDgXmg5&1#$5ku+M_IY{JUDBbK+v zk`1t}!o)InY833X16(qF5vJKXk1d;&>fl38Dxb|IvpPo!WhxwpIIPkWn@>gWE#LL{ zo8}NovMPp~^*2!=r)2E8bz|LLFXlQz|i_yhr|4`k0RU~w~fqo~J z?-;(f?RD$ro#HvQE1NSR;hf2sEGZSfS=O77N}KBT*3jm?e9jNarH0Q7PhMXG1_sQ6 z-O@fmu-rdQ7fdajT;G%pIg2|9xCmB%Uvp|lt{Q0ce_PPU z*??W1F0)2imJn!+{ajluma5i>vK0B6Zj6LeMQeY&Li-}dRv_zI^4JEW?N?R{bW*_f zH*MUu)6z^?J`8qkC$+i~b{A$yK*Q;Cl(DJvP0qx*aIoI1Ci^5HhQ{gFJ zzNEZ83-$bDE%LGQyv+Yk^hukYD_7e!YUXm?hxcO;BdQG7L4o^Ovc`&SSF7POvmoR7 zx$x9uU3A-ZEbdcuydw&JN1XKfeiJDN3h)c`{Kw}eO`lf zZn~(dMAbse!B}|%7B0`I@&y#35dQn(r@S47B>h+jIzIhR!a|Vhxb^-k+XOI6hEo;t zO0jNX^>1D?o9TSciHo9``%U$TI(pz~8w<8-uka~iv{;z)Q(v7=&<)x4ODMGs{C(F} zpyc||Y~m)j&rM*`A=UY1@wojg(R&~H=}3&kvSvFwhs_azd&`rbf>$|{#caCY_V`_; zQ{Oqe0OpD*k)=pxxbl>yBUj^&Ka6{1R3{1yntNR4$Bo@ZOq)*B5(M#Zk z8EB@Kmw6vwx)hHAPoTS6o0G+#D^kl01~%v@Ghs^niV;zuMx*;QWc5f7>H9LtiB*2FA9wZRA{5qLON~En6uHeT4Ek?I(ZAYnAPpS1uOYC-SF@un<9^Q~s4U zO2ts)b*LPtTeI7tPLS2u4S_8=Udw!rLtp*kE@mC!Eas!}@X5D}+v)12v_U46DAn9Q zGfX-fb#e?OG8jBu^c6}M(5Oc553&Eam9>z@2ja) zC(^I+dVbMau)3kH!p7MEkxHB2L;U;aOi?<)e904}4>3Y=G=x9Q994Z0YpaQC#ezvD zkZnH@7LiH?AAAqln)9uZ5POx@J@b*Y%HmNBGY#t6`#{?jZot%azYVLD!67Ym9gO<% zfydT97xZ!O^M$+5ByU-m%N(`kAS}mG{Mye8FX$M!<@<>bD?w5~x)4Qt^_!^$!FiC;Q?1>e>K2X1W>Z^JCW}ZpaHS z<%kE_d^NkmPY{L%S|1A8OLLdoNHXBMe#!3kugssREwEnGje}%J#OuRYh0bEf5ZlFb z`6Y4}^q+NQlqk5Tpkh?(a;swJ1y+E1XvQp6w59m|VJE?;uR$F=X&v!uS{6}@TJ&GV zH19R#0Ggg}%DI|+LtWmfIiO8FeDcnT+09OZwB1(TIWlg0LVLV#r@bK7l1XE&oHnon zGk?1yBzoD(2ca3GfI&9JaL(wvJA2$B=NJY3a6Un+4#-%{F{8;`&1;i9t#EY7Ez9%R zvpLd{(8E5hwuK(YOn=R8xh=0J{di`vY68mK+zZ)uo<34IA>;QjH0xe-SDn4pN*Fp! zlm4q@w_VKmMgB`+7RpYyTzvN2YPzOi_zB1rlVFNl#-(Abg-^{EY(}Z(I`i|5K^mFw zVSuhiiP3j5Uq<`d!fbDh782hSR;ltrZqF=kN0+1Vis|5m$ilr=!^e12ECYu17fsSR zmoHUeabY`BAmpwcPEHnMmPrf^rgB|^_Dv5@4fN9yh=A-*-~68z^NbS+#%Zcd0=!1T zafv$70L#kA9;B*ns;Q~reC<+Tp(&7o&Xcwea z@!iiRtql#Pi7Ks)2?P&FfyQi=BJ5o9EmO7bRe}gjsD)!ELi$L0MqEk?V?%%bugMUx zQ~}g^9RWU?Ngh7L$`)PV6riGnT3f{!Z|a9r@nAqkVAs~j`t77ot4&IEVVjXiMNyvV z@^RYC>FGO{n}Pg`2^c(EyXmd>?-#pYf33S^@K4X`a2Ik`JL=pnO$_xiF0LlL5bDFI zue+Z1`tqhdIZ$c;;W#SFg?&QK<&kdgvwyWIhb;>AcCZt)OG}N5j?vC=99m|aRbA#_ zB~v-RCU8}_U6TKEC!$hgqoxt0rBL1*2Hoh2IGMlVv*5aHX|q03n<`^M=DAtJCLx!x zd&GDkeH0J#=`$}Xtoi8iuBbs+A{vb8J~-%w>llK*W@*)|cf74>2b^@q#`o?k<;0%y zM3@NJ;(?2HoDy?&1aNHajD%l))XGYgsgh)m;^u#4RVr9pt6Y>uB2qbByOpy@ay1$c zBQEOuPH*8&n`C(ULr~{qYNrO!U-{R7Doo4JFw3Q`FPB*bDK8n)go`VD?()P%D*}(y z)N_}SK3Q8O{?h;6$fgFzWd!f8lr@5W1EGo#7Pfcce21rMB_d z?nzDJxid_A^@ZIpg(hzXG&IY3qUkH;P$=D!nXCMiz_m_e||3fF5!_L$O&e! z1WC$pS62>b5fhJRRfJ_9ebatw(MNFA@6;cA;9QJurK!4#0#OZt6Sw<4=%g~6N@wVv zSu!Seo_tN+7ATI{K7IM)q`LmJz95TThH3i3Le0U!xg*vzOW5lTC^J^^kBcg$tR8`d zgAdfp>t1$)_EKp~0R{Xxv;8aY`%<*|)-Oi_->9UoW$-7M()-eR*k$tMsTwt4?n`0O zO@~IKByGVi8!w5auIQ#Eu$Ii4YS2@N`LG{b2GdGRu`FUXu4njeckLYrl$&wyOSCw* zWN1L`=hLs&#Y5-cqDfbq=$VUo>>ovJV}bRnH4XS$C!m)-b1wM()l85>5ToXNCPs1G@B7&h#Dj{mW$_;gjnT-X4L-_p*q50p;V#kQ{Y< zMg0vJE!K8%>d%hSG*obzk>zkJ$#Y7nnJi{euck%~=#oL;H@=TPLv}guZ$i}d;r-A* z_A6eCVa3y-o;aUc9J*_KTe<8AIm>O%yzOS0lbh?r#M@V$?2YV}SGv=9$QEZm*8e#> z+4=4JlTkBcb;c#Y)4ezHck$JAW|N$ktQQG==X;|38G(;_QGRNQw$PL*ZH{yQvAl(T z$x!A=@*H|}Rq$uQ8h%MEyqr3YkVVegiNf(jI-p+(7x;&fv!NZ&kx_x6BV=K^Lf7YFxe?!Spb1=gj{jz(~(MguNRZ z)$Uf$qiDoiUfSAVwFQaz(^U8#U7l;bAS5jPimTFQes8%H$AGmzPHSC6qubMAxLLYd z3>VXKGe(x{%ZWGPN`3yhAp4|-wo$;r0`R{ja~{3*8|>|9C(7F6^pz$ zH6GJD9<~ddXw535W5dKn(Qg*xC4(#2re4)F=Ueg^G!Ae_$?cQ&Ecy-m$VfcP*{DPc zcT}On{x2+gC6VK9H`q`P63i67+Y@Nj!2VOUmaXyioodw4oKHJ&LAKsHn z1AkjIS&|o2j0rL6!Q(r~NXKTNv+AzNv2SDpwzctfGj+_?LiJZ|n#cCjNYxso!Y~C+6BQ_)7Qp$&~Z87xNS4=unH4Xf`bPNo17xsDA zRS4Wa2u+CFs0%Wup`#Wgw7m38U5O2yT#tu@MBBWF-0JF&7Y}=dhdb-KyMIuXUuEd? zmgy!Gx;Lno{DUtdbZ}O!rU?;gKZ5jCVS=TtX3`{T<$uz1DO?kLCX`<2M*b4z!8DL5 z&^lI1h$QAXLHxUbJ4xvUVG}5fP>LWN<9jLF%BvbH%lzG_GW+lqM(@c7HN?)y2vfr% zOW4rB$qu!A>Y_=d6)!{w+h1BUY|w~1JIf^}p2x-#^-=44TcyaxRjRKszy422uQ$Ap zy+3CoH5>^_R^Ds=Suy3hh_cDjV=wImJ-E6;LF~JUpg2qQ(Yg^UYiniIzyt4{hKtCf zOTx^r_q#jhVH~BPjTG0b8VTw$t@>g6evStf)Am@t$AeKzHKq2r#(Ce=m?!%9&eg>; zA3)H)huKrFLt3vnOFM1ny7B5n#xf}U5RHdjcT?P>8b#ZmcCzD^ZK7bf8JjYB5}cc;EHjLC4J)=ORil|-1YZTMZVnx z)}7)*LU^b>iAnB4r?f9w45PtbxwTy8`L5t!gWb!-^(_%qmtdz>VW$4{l+CGHgHp1+ zJ2%*7oPOBQM56^)Gs)GyX`+lAM~3ijz0}UAzP}C5$R=qYtesg~hw`iR83A*4T%zXz zgGv1v?p8OwZLirH`Tbjc8)=8hmZGsJLAk0UF|kE;QfAg1`=+r%t6V4phizKim!6&X z;F9^NpE_`*wm)?B3}=WBFtbNSMpUe3{8lm}ki2VTte{&j{2Uh8$u2Ue;Ed=VrxTEBIZT-4eRvVPAB z&V>Sq4}=WD43(~(s?xv!k@{zp;CvqpIE8Uy?}1T)(s+s2%xOTRygH+@5U@K0x(&nz zK0=^?(+2rNaFu-c_Sf^$z|2aTE>$6beM@w$`UcL2^Z=gC1sf#K8{st32{Tn9aGn@} zi7OE}v1fw0m3Ex}9l>n_34n?aPM3)eSs{=+WN3$W2w-nqkfDu#vv9IpAPtDZra1#B z0iy22{sjz!#Jhg%lYRFe_DvS@+J!w1jGz<(5IERw&!{W~NccY@1`&Yh!RLs3V^q^fUtG z4Bj&SD`GH~7l3b+E-oQpoagw#KfK;aU{Bs#M9|+p*eTyFIjDVmiwDv&4AX-=q=I?) zyhFjWeBRMuEk5rrU?b-X`F}Y$!e<9J%IBQ{{`b&9Vvxx8mW@(C7fcNz2m|!nLo#?1 z^6(Yh&*%M|Jm~!y9L{(92882$K?TBba`^_P1_P`xUEf-S=y$@lA%0Qd!DlMBx@P_vEYH{Y865RLxO?lUI-YiG5O;TX z_k+8;ySqCCcXuba6N0;2AV{#_E+Ih!!2$$#zUKGd*S>q_&YeHLwPuFZ)m2Ybbyc0} zs$QJ)^xm6qZS<>D{&_3xpa18F(|*J+k(mFZM}-jZj_ccDBk+H9RKB25%LSNGbVw`i zAYybmgJNfF$}Taw7KW)vtjpZ-Pn3S@4^eG=k^h8$V&0fGkR&!&j>&+*ceEZ8)|;&5%u-8kviK%pP*UuQi*U0ibYNvGB;|7`IIr zX0sE;(PBK|EHI4twWiPfdUkx_R!EubF`yWB-sk}gK%9^m35P>>sJLK290n0@(q?wV zlq6gmh8f_W3ksT4$)3P&mIfPu?{mN2S%XJ>H}_ zTUuNGfGPj6@l?7|$-?1(AkF8@4wEH@ zrY-T|t>(;*^pE!s9!(-CA|=#L_lwSmW{v67(KK}!Qg~p zZrMAd2Yw)-uy-=1ssY^>C{Cc_eIGb-ws9p4H^BcsxMdBqY2z9)prp8#s5pU)RBz+C z@+L1B1hdkJvT0FPgCCGJpjCS+U%n@R^m*#2-qe*Z+y&H`FuvP9Et*W~2$QmG74&*uRh##1a z$SYmmL|G0L2zNqiXI~vOjTs=*=*{um95N-_K2@sgOH^EgS#}c&=MDEnT4vY%@^H%bSCe{DFgElKjYL_pw)q>c-}&Q_D7Ql9r0@abA3ICAxaH87{ks;+gu9x>o4%JIglAG@$S=oPxo$7WFHdpKpX z)0zEp%G8W`sofGjU+KL%f_Ah!zivqWaQG+RRrSg|4Q((6InwTkoJc-> z0>E%Bn1338QdS_$+!+5+@uCQ_q}?F}P;j%#LzqA=Byip5UY&p$7}uofI=-*D z9y8dE8P}w}9@C_GWEi(j><{j8@m&}f%gc8HjG~UHpU`u9P(vHmdWW9;u^VN^bZhz1ny6zg=44*#y zg@9|hE4ES%=x3)Q0rU{%CQ^JBo8@{oo8<(}*O*A!k>aA6B+Lidsgm@gB-hxfHf%P? zHyk$TH!L=oH=H&oNjT52&)9(g#KEQ;j2mV^a0Y@k3yurd8MX@u2;66AeJ&e}By0_s zF6?J$EBIyOC4A1**CK(S7-j_MpQ7;-zn5TNE`ZFxMvj6Ril z#VlbE(dR4%+ff|FT5F~6kh7`t}a?C zrJt%9o13dSns-cXEPa>e$C|?xC~wNj6q=~Du@mztp@yinh*QS~lE!wbZ^lZ(f2Trg zT~b~~hOBBY5#)F`a?PuA@yrLfI$J7hX_Tr}VwiK*Kz;hfhl=8l5TARJGh_9_f0>*^pu^kJ zSPIWhgs&d8RlYE3du*%T*dA);TgL7L`am%R^SVlav3 zlOE@;Y@Kf?e)Lq^wUU|pJG}*wsY|p1T7NfN+hJ3>R&!Un(kFa<5T1mAEl9HLYG!LT z6FdBBqa>Z&V?@e-!NIl17IC4=&DAx<&Rpe=H1NY40&b>nwU4VvC<*|a{X=9hI`mCs zuvhe)gv^Hrtp^cq10L!OEUW|aUsVK20KGu)0Z7qvX)+&3v>p<;r2jy|ofD9ClEN7y zLp4BzJ%#`xgMVS)TzSyGLqjz{h3S9+x`F3zWIp(4Jy>t3H#M?5K*SFojR-tUAY^M; z^qhjMlNinz4hk3#ApGYfdM*fj6@haG56cVP>JmLCBI|^Q1He#(AzOZAohWdH$WXw5 z^~pM6-mq{pP+>M;0}G*B_GFz1aD^~XD$rq!Z;&@11T+8x#{wHR5wfLD)(Hg%z@p+q zw$RW7;osB-X(0xnMP1S0P{0Q6MH~OZyakFjLP5ogy0W|h-&DZDdPQBi(ek08{6n@B z$#@~*ydVb-MH>;}lp(_kL>nRD+93zH$yO1d3_?sf&>SJc5=9%q;g%r>_{nq;p&YD} z%X(N#dy+LaWa!Tz(KunC3LwIiA;gLx#frei0K{1lm>4Of*eh7r3n27|4EMl@c7;oJ zFarn;h7>1<6pKKJkwS>kh7_ZQ6yJsx--Z->hZX~HF+g0?grUWRA;rg`#m6DV4xz;Wtd2``_BN!r2GBNy z5YzcfQE(GH>@zZy5jd0)3REB>TsIQj0}a|0GMOzDTsJTf;EeYMxHE#XykYA`gX;!^ z;|B(Z3P+$U)!$VGx0)9hA_PPQaUn)PloJ<13`B)-Ax=P)8yCV{1&1du)o;oG!CgUN zs=)vOqYkJAVuKR`kuWy+A5ExQ1*!gTKqMz68q5Hp4b;+NfOt?x7ga}}1sX5Zgz~7M zC}zY4XVgG%q`(F*sDjf4+P4BCpnY8ih>|KeURrE$1$98OP)byW0RjhTLv8#KQDeg- z<>KWj{nxKD!Oh%@0EO|(Df*ciCEp%&6JA(p_JFtz`Ni(?8h^b{?~Iv z7}!w&{&rDY`no&!3fa0jME;*aA)H(s|9^(RalL^|{tb2VraJgP5E=YyTK>Nee*<7< z+#oI%Ky8oXO&O36Fge&*c)9rAOkMz##s%VL0Z?IF|05m3H(fzK9u_VxpaGz@|JUja za&mFK0p8eIxB=iD`+uP`2$cV075ul5H4gTFg&F~nHRo_Pq`yJdu2oZK=R+b=`0+5J zpKWVVMZ?WfrA5hw&TlZef0q)+Tzv(#pFsI)X)gPa1azvcZ28(a9-ET5C{0fx%vWYT8Z`v=e&TnXlR(;1A(TudY}$gYqMcW^{y!WNH7 zsIbz@#D`peiJ!=xuP=CUCNdVW6vU>$T4TU3NrF{Z4`GAqPN_kK@DFAF=5 zNG~pBpqPrF9>$+hN>tXa8ykn2UgGyo89@#HSwpS&r{ZA!p1Wkp5uaxr2GKM(v~SVZ zz$kUI_nNdv#jDO50R>0h&!gj4Q+$miMR4_YMk!6_K2i(3b$Z9Qh_n+mD*yRG1o{^^ z*#BX4+F!z>{~J2(FHKQl;kR+UJsmg!VB|km$luXvAP~?0oys6LJ1_UYu9)Ax@E#gE zx%=Lm3<}HE1{W0P{ueDjrEo5yaM@&6Grb{4w9R+%s9aVTCAV3}vBjoUWS{bTx zR)<4!-EpVmX$u+LnpXUKY+9DpU1hFuvEgdjL0WVUbr>`8L#Qoz7A&2!J zLRI^Meqp1EhJlSoMZt(i8Q#E$Xo8QC5UlwZuQk|#*Dip~oRIuR?6tWk{RF1OA}Yd$ z!Ou1#A6o++03rGvlK{VR-ctaq9j!P>fSbR`+YVj=Oz*>Faw2MiZ&6<`-t04dzpj`l zCAhw2NV23U6!=&&KCF5yGJz`FK)6^)_gF7{qI_L@86m>Vj2+ZgBb1w(|NV%_#;h$W zUA6#RP_23Ak<6?0#9hQP@Q zp-n%S^-X1hQE@z!ZVtf9t1ZiFU=7b=K@MFfv@d(9QH8|(D(U_+qpFNfRWdo}UMuzo zNgYhu-Xxf8I6NmOnp(KDqd06gTZ~x(@OzpR#nFQS2RV`j&kX}d>MMz_ zzy)fmifI^ee{|fC>}Ey4`%3w7)m{m7N>D1&dpWnSbZas+U(qk9?!kQ_w~EYU4(`ib z=saq-_gO_&USAuulby1M5Ld%u8`^}ISLF^4*m$WRQ;$=J%d#lq6)tPHxf7~sTQGQ|%=_0vD_EZo3$arUy zX{_g`SFi-y`&pIOCn>OO3aLLE>I7#h;I&Q1T?`L?wS$&BoA_fjdbd)H<8;sq$s8)J zlXP2T)iqZvy@k$aoa(beQ}JU3r&j`UCCA zuNk%&5YZ5p@-|2?*4ECLs&N-z*pub%1v<%(C(SP#y#aONe2yoC%xyQk9*>1y$WnKM^COBPcp** zV}R!XWs^Z#fU?8DdqLUKa5WKaq%Y$16PjA> zkrC7%_fk4`X;2dAnj@kYG^H&z1amUt9JAUy=_F2!Y%1PnjsbZv%5d;O3KB;15ONh2 zJ&!F4{6q{Er8=cV4GtC*7g#;{18*2b3l}{QPwUb(KrgPd){|VGY_Lm^K_;|1)ciMI z6j=#4`H7nEm6=XLJN!pH_1^W6zylqpME%83a-S`IysJjOmzY`z5`v^#(TTuOH8y=K~jFGB3wK+>DaT%)uxR zw4T2=1jT_8cUnv0ic~-HCp7Kd{b-iR*(9v_jj3DaT;LKI`7*Zx{7{q|c;|h(`FK=7 z@w#z#Q1Q8PK``*7r2sVaP&IS-`U`bwZM+hA{0go$3zeE}w47Z_X zU?8i)vNS^}GD?xK(PX7g^pwZ<86v#7YiX^>O2M&9Nx;>k5q4xk7E8hw$waHw#JI^s z11iakp<-aMEwLen5)srxz{+JW`wUmhWijFG5~j^Ct6&FUhiZ(oS3acFYOo|*5|51W zE2et-B-cV>`i9r~FPYYVfq|r#BBvk5q8}D0#X=I5Cwq^fnEIZNf3Af*6)Ut~HjXTX zBH=y7ca^wvI{I9T#BAD{0F~7AzPv=ZS7svgmz%s>gy73~twGjcVWy|+Pb!FgcfO(L zCPBt5J?_*JK9A!muJ_}&k$v6l)OZak=-UV&V{(Vrg|gj2gDho4kzP%jCrh)B=cKs& zk@1M@kvzCCk)*5%a4t-W@VacwF^E?&ovNLp^kikGm2Eo^_Y;W9+aiX#ls!Ra@#h~A zDF;zm72$rdKBck+Zx=V-L*yj){5gu07(HJ6HCuSV(a7~sTdz_0c???R-4E2ksllRX z{|KEgfrExV6=c!3hz$|Rh?}V1h^$i^j6J;mvOZ=vt>-5TjFC2l^;n-TuXrL{ijd)K zRB#bEerj%seWMl>T|pfEQ~@zMtpt5~CXB)BcPiWO9^sSZlbk@}do#8!Lm|@{{^Jo6 zcKSCe+#~6a*OMSW5k9QWhDX({^Dc?dCJD>#N6D?9U6|n8Lmz1ig~W=AM@M1FZJf^auXfG#)5$~> zv?}1$Z=&PzcTlqFZj$2hu8^)SihNVKUb=-5za9u-l|8Mx^>jq`C|W02ZT0kE^yK-C zaaw%_2Q}>p_3d~a!eF`$`dcTzna1--zw|fq)@2@8{b?@P+#^DW#9ssu$mt4|4GoBk z=vgTRW!R;)oZy^uvkjQk(0XWYFvRuyzQWCAddrTdnO|E^Y;}YKoeZp;^`%W6ylt{m zWV-j+;j|XWxjLK@lSl*Z%xY_$Gj-a%r{`vbI-0v{^a|BYi&P>h5s+$YPrq?*KX~ND z^f@OQVKUG}X_NS8Rm4v0iJu(C4Y2406rQYeH+h>F#>sa$nY(x->qzFPTqa>IfhO^}f_xir=@u0W*iF(P5!xs{l+a7l9o zV-)+W9(+)!oP*-og=lU2Iyot~cJltRRG;r`cC(@j@d?r`RP#8?NWJb;vF}7P7)1+8 z8r5_FR1Q?xu*r{D_+hsEFIVVTs-SmkO6>5%W@7<~lk_)hzvEa?ryggISsEuaoC@Ze zVvN^`0!VbS6rnS6cy>54L)ba6i}Z|1(of_op9WSP+~|}FkFbA0v+rt}pya%}qwb?y zm^O6*zKA0sPs+Bnsr7k!jDOajV|^3{89Z-`C!1VEhq1$>Fgn{Frwh$z=Tm6Oz~`>> zOHsoBvXV#dSK0Z>q@^2K+vRWW9I$&OUlkjiwDlztmp92YWSpsSkp4BC7s*Vcu+376>Dqfu9T0 zcjB{6b3AR+UAc!UY@_KoP!bjS>{~7L=HHFd@tZUW;)YvRmw(i#cVF89X^mbV`S`A$R~?Srweo&U&0V*_npRIBAL6^S zjh^Hqlt9&@$^e#EfhKPHk@$OCjALu@%halkoW>a*j(t>=IyE2J#Agn5f13;?EhmLv z=DGo>E3Hzq4~xcnA$ffzbWn&yjBaW2N{$;^j_fhH#{2`@hfYa7Mr6$i{wn+6Vp^W-p5+%O#c^-1XR8I=D@5b)aj{5p3KZ*p!jk;O@a%eo*i`-*LM zR*8BQZK6c7gt~H8z0!9r&9al%M=Q)4Oj3BJNh?`bR8)IgvW(5a(Y!}3wi=(8|fQ5tJ@}u^%1`^gxg{%59gT1G+ zot~WBA3uA~Dvfb=RfhW3+5jOV^?bQG`gfCl^28=DRFWOR7Y0YVH&N5-%l2~wtxRcV za`fL)98OQB{@}z3PPK5>Y`af5oV*O=*52|;RP)hKjlCObrE;$hwLo5Z&Efi9X_~aj zD{oNKeou8FgscK$a;IN1H`trl2uNNtFUL%Xjr~d>%qMqNyWw~FnKyb>lw*Y#^Ex(0En%~i0zaoEn?GGLelG1#KKAZB!&ENqU83f##o260?_y4d)v5C#8 zz;l-ST8bq?XU!gq^@a9PT*d(9`R9lIspRLA^W0Q_0w+Og(^j1>aGhu<|dh=i2 z58qHWw48r(GBF>&M~eMg|1{Zu0;?kIzMDbfpdHFQmz{6hh{xqS?3Vg7p~h=xJgnKKvkZ?}$$X{$d2p;H)D$TNsjy0~H5@W5B z1t)4Rji+14i%J*W@+OP@41<%_}f=IOPTXaWYx>Ee4Mq7jW~_8 z1l<+TcRVsP=r`n)+VwRQ#>dCgGI{|SbHR)%y7YAWpP9;+=`57P_8bn`MYVJ$Vpi#O zostenRr{@zl5w;O3d^0&KZ`0~?G)$PIV<+Eq#01_O#Drmee+k`I6o?|)1ec^^{A{L zLZ|mf&!QGq`gDac!BXBrap8y%LtWv^*jIGXM(gPw^4BsZ zySPxU}AkLaBu*)TMrtld7w1oOnjWc*Au+KSQA;tfaK&{OP5d zE(8CMmYz)5=6KRmV#2vZ%kOuZ-M-a#P~|LK9e-}Bdf7<4KOQYQ7E06hT6w584VRg) z^UYPbZG%PhFXy)U9o%H*9lqGn_R=UKRb!!7;8ol`uzhBCBGQ>@_{ZyBL zk0@j2ESvi_F^IE5#PqFs$t#LE-;;aoNRc_C#j)o7wegv`x;^!uo=Ntyk3zO7d21TRz>Iu^Eg;p5|S=GM`3G)ct{Ybk7Ze_pa znuh;$vGwEI-{%-nbk+o}A|LeN2~SY_f5{W(Bs}r+bcD{^+W`yW86~!R87Y zD=mw)c}wp~>swB^2gje&UhYDS!?@ut~@k3>lJ@{Y&!EKKUp zf7TGbN+D8t`v;an$8B>gw|V%r3oRS${J2a+xy1?A^Mg>xX^Rpx>A1c7GW{TCvLw{z zOq|s}r$R$R=z-sr^L67(!>Rw43@pPGWAnmwx#jctqNC1D*-D2<_m5q}y`PCV)El2D z&K5>j(RtNkpFa;>e8*zcr-@g=(m1^zgKf~CJ1R^LIH_qa_H5pg1kZ42)}3pn45!ka zXVwg({~>AT(LUbzfm0+g)P}`3u~%6q$HD^XzQs+_J# zak!6plPO`e@gi;Y>dqv*8V?ox`qG4Yx~km9N8t6u4c_JspzF zJ5-0-O{)R)eyY^(cSwK05{c71qQ^u$S`+08CwR8;%R%TZ)*dy&wS29Yj+!>s_T z8G@j^d$SO0XDK)y<@g< zzxBzjQ@soI^m4N{LS4Cb+_k}zrm~YS^YD_s1HDpjRyyBtzNQgIl>&;5HIBoV!F{DX zdPkbPm0uC@N-a}LYb}Ji%PU=s1V5M$nX7}wQ;n)NtOesU&Tg)lav6ot$4{4VZN|n=2YKE_+kEF+QvJRc&aw<#4*otI!WZ~=I@~2 zlI~NfT}?k4gjO{JEl*XC4~;gs1e80R0(^cwaD`XAQuFhrnrQr(ylsR5H;G&><>BgV zb!eN?*KaVYDx>n|#r8`poIjrO^<~S2ZdvL1I%zw3s#o={EQq_U$u=`t|D7KEa(iL? zaAB#uiptj#KX%4n=$H4@N7LfgiCOm5c|7$V`xT3hHO&Q_*?5UbBKVt4E4~F$pyP&y zAK95{c5{scna<6Yc-QcbUc0)8S{QX|D?4hRaO%u?8ctX1lor|fIpB;{r)?itRcjY5 z>-fGX?&UBjrTfv&9k?w@Vhw&h9U&sl+sF<)p48&5Q=jp}vH11dM){ioE*qDm)n3Q+ zcZ=EqdwKQurv~=(!^r9ymzs<<0TSK46!iD)7W}eu6FPOTOHCSb%JzKJVkx*?%9|3e z&D|8gvl>C48xo~pv{L{rSjGPOW0Wv+v@>_J zV^*}YvGoAT9nEaq$v6>M#oR5doIS|+0IwT}la~|7d28k^i=CSna2axP^8r+Y9#&4; zWPk^fha1EL0x~4bTxG4^S|a1-0R4?%5`k6D1L(s-%-P1#ij3`VLl75t@gXx{<^q8L zUnUzT4;k}6S|tN>cp#yp0_2?OCyt{mq&4Z(iUxR@DEA7x-;{{>=;g zU(bSur@4o(D=bqE5D{2) z$PCy35ANTYIf0?Fk+HLLv#{|1M5ceILgiusoV#z_r@*8cuyb+(cL$(4H6jCM%Yd7U zlZBm+n-}l}10Sx12#9nV9LSE4wSQVy>W>00C(;`h*f#sm{UP~ zELEiobmgAOBJ zSTh$AjYGB6JmnqE_s`~0rRun3fj&=!{zR5m#@{wBx4tBnL(HsiaHH)1*+)8O^ysxx z|5MHrg!y?&RfTD6yhq;}Rl;sPl^Xun0IkRK$&bMzf7oDsRM39b3Sh=`jm*5_v34{qw1=#3CvKF4BUdlP zl2R*0a=dggw9oZ&n)3eL_>^)X2}eDzrT$?MQXadMl0h&HAst0cEhbKdsy01Ly;V|< zV1fKF66?bvhup`Kd`bFT?G=26jS*K*-_pr!_8Ih8b`G(5AFy@hrNGTw_xBLHWu^9Y zw%CgAo63{#am3P=cMaEH4l=s=95M^m&u}Uq*IwU4=kHVt{pZIL=)Zg= z<-a2;{jYbWl(U74<=ZCu$KGR>{rh9d(hPVy06W$F?L~pVIFkQ2hw$6N_}51U_uDf5 zk4MHo9K!7EAYhyScMAvDdjH0HJCzIXgQeAd`&!X0KzIl(8GFU1<)ma|%CDpgjaAly z&?-BRRzaxNEkH{yOO^`tT{SGsl!MM0&Y5iY^E(VxLLH(NwIL%J8!Xo%bSRG@^hctsq7@02d8|hG8tj0r!;%?`(9VrV z*>r=qz-Bs?lKtx4HtEbTqP@<4%KG{|qzsO62|tk(lQqUGqO@{b0`dJA50kD1Y-*Ht=TQOaAa8-5 zX`?{o6)g>Pkj{JVZG z@~YtM=Ugq*?;lW6oJhS7!i54y(ofCG&d&V&vus}7dq>kx{cfg=B%*yJWc>3Ta)k;* zpOcN&zi(!`2e#Br3e6IcrEdzd4V~2F=|RVhKtH&kI+Eh9k{oc9bFx|5CS2cKw+jav z#TC}PdfhdqQo=BH3%lJlnlL)9f@Jdk?7}co%H-Fs8o|Up#9aHaOxW%#TaeH*Ppv_U#?@|Dy@O&E1KiNZwgyULUr9lfpeS*i!W zjo>GXCMV;sgWKmNs44f&{%ZT9lVqbhKZ-n5W)8EyzUxUlbXZsNOe&*0ah@bPFkXCi zwoZ9IJUzt!$!QH^bwf}7^DFuZZi$Mu>b`)?M~kXmmQe?w-|$+2p1nS{I=L8A7=qcD zmbn<~)*VO1(HvexqL$e>_t_{frvCd*Fx(xA$>FX}G~8Vb!?=mY?+-Ucd38n+!<|?Y zu6){CsJgL?uGBcY7)-Ag)Nn3DL6)rEU&M#=vUky|$v z_8ezpki}zHhG@w6#KyNargU_i`=_+O}oC365CT{>Qr1 zG67Tb@}wbY?w&c**ZO`p2jn3A(3-mYh5_c~p85fOhZoLU5q(g1pUFmnp1;4!b6@u> zvXIm1NH5yKAdTaQgb&{BHn^iCF88k3_h^B4xTn+gW6wTd5Cv=PsQPth{I$-zto92& zP{}(W!K8|m5gbA50;>~v!8B%#LwdnPn{%eZFPE!PS$}Xg1}=TTS+}`*l6Yz_KHZ_2 z?7*J%+pNalHX#;mX#^y(HWHecv)-7Aplp$$ln}z|C1q5Q9e+u(g3K;Lwy}8e_quo; zYkJ5cr~cYbze#*F{o6N=FO$E%sh~6;!Scq8zkE0Dls9BBpPa9kNQC#MB+G&dfymg( ze;>@B@|VTWUsr9UfU4sr<$Z9T=*(p``pP!VCH$T)LPR;U6Ckdm>@e}2Z>nXcaEY^} zDU{YG-*f+pqkOo;Q=>xC-hrm5-EO{WI~H@KNZm+FPt6#I!23eZLPgMQ@<44gnTeQ) z319c*H8Ch(f3c%u^!JHYN>NtcZsR&u)O&_r{`%OR&PLqh-BH-7=E7OYcRP)uhPLoZ znxt#ew(n|kyeubF#W52_9PmprKNMz8eoP!*HI3CSbJ*FFH&SS^Yg04AWMsU~rn%7- z{_5u6q~)r81S(?HEwR&*Qp(6ReOD*1$!aUFHOv@JUE87~7HK@EipC^nBi4Y>TcXnl zWnR4T?JG>-B$FD9cEM~F*^HgB_Ue-sJd3^kN39IwB3A2RRkK8DHwMXiu1xNUd=72f z0%`+|U|Ii^1XzTwY0QO>gPAeV3hM3En)W#d#AxAH@}PsTx`vxAk7KeFgkS&oe-5qMXTD)dGlf4y>%yiO?GY)O$)AYxfct71 ztKzXJT~$kd_*=Y^6Ae@Td+i#7LsC751HYw`%5CQG;uTFI@gB7Jk!EWhj@H^6Y0^u+LCw8W$S=BT`dHR`bD= z-10I$e+NDm`{QE*T;{>Pq6Ym2eBS1ho4-H~by6HQ2*iiBAjMw%IGF>hz<;TFkVnt} zm)U3!tau$-kExGZ6&Qz#GVDwE2xa;;J4&=r3a#nFp%qv3b4|v_UKDfjJ-FE|hv969 zD$J;v9t?D6i)$C(rqK+9t@J(OVP`W{620gZt75W7`Gdb?0yoE2bS#d+dJ!oXdWtEV zQmVvAzHn*d6E&2FZkrdQX~yvak~Wjd2;R{G!myyn2lHcba=J>D^(q=FgLSo{>5saw zZ6w)F1Jgctl zzUEI@^IX?ET7*xpSeKZ%d@mZ3GJ%8nutz1V)@X|s}f@0?7$pr z0B(fA9_GBhtQOIqs5o8w+2ywcj>3^dFW+?&Xk0Qftq5ZR`ed#y;-7ZDWU{Y|{k)fA zeT8yop&0E`#L`tNVvnv;qAV$*&2B4MmhCF(XU%_sho4I=ed(19H6djd_?449Y`g|4 z{9s$}`z!JVesI4iclvu((V4)>+fsd;eR>)A1Pw=?`QR&>j}Djl^I7nyb+Aga@Y2M) z_vgNaje#ZU9BCQug1vC?Td{wL;Hg4SJ6IExUmSl-=;^?Gy zw`k%u(<3Tj(-(pqR%eIv^k0&C=4%+#9Msk%dX7i*+IdBtjgPPk4G3ne+(m6_MZD{b zxfY>?G}h9s>HBjkvr}nH_ir~Tsi+;eb>h9wPPs{b%(+(&=7YwD#41`9lcaUmu_w(| z4OIIuNqFijPYXc4HxM(}yWS6bR4q(`4pYagR2Y0%up&E@q(sOP0XrM9()hfP+6gT5|&SI_aKT&Y2DKN%i(Ln2&;nV+6N0GZ%8%I_D zoOMx!GEPt;*uA_dVutsaukj`3mlG|))38Nm7J6^_E{XBq>dtA+V&iq{%L;n5 zd)D+ka$RcU$m+}TdX#&9^fhIMw0rvWE3#es<67$4a$V}<*y`Hya&ldU<8Jg5rG_+C zRq51#kEdC8oPr)#p-XmLoE}%6&t%+JeLACARQ^*sH~nR4t85OVRZ_Y&eM?zBvsGp~ z4LwI0r@URtVA-OAoV=WDtU?a?9uvKdd=ASV5TRZO}%eK=2! zI=6fmlA&H4zo;HUxgkP5lNhnFR;I2?C$+6wrs>D#p{Mmix7a_Y>ox@n848VRT~G+z z4Doe5JLYUFne(*`#ZJZ-&SIL9ZT znQ;i$J;TL;kNJp7d_0^cIiur?I0iZVI`kSg(0NDJFoeehVLkQ2*|iEt@hcf4qr(~a zU#6=yDunoy>zxgW^9b_Qd7Kf}`6KIEUZld>Jh=wGde)`s9a^?K3px9ChJkTBiwF?xP?2zcoFxBKIh(M9?Xm2=}r<-Q)*d(Z$LMu z?h#*A_Q`2XJjd9U8Z3fmMJuEgl<~Eb2j_}Y? z%gMDy#U!B+lwDO^l{}#Ez<@HN+y)W+0tfZZOL54g~;V((RL#6BU<2WFv>Bf$rLGv;O6QrjuM`4 z{Ra;t_y;uyvBV=(6)MRUY4WABC3!Q@XcVaw$r5Pu#Vctv(HY>eBizLC$tCe*cynAa z%$T+%2jL??5pzZ|w299=ajt@9RAx|SJ}YxvBQJ!~c=7|}5$c1c0G<8WyO9@0a;Wa4 z3&O`U?+7uYz)716(LopZVJMMp9;gCWq5+xNZog#CnK;=D@8i5~X zo~{@1mEyfh;F)-M|TKwM`GHMIJ-+Yfl}?z$t7s z6Hlo{9Yb`_PmCp>PvR=qff8z9L*Jhv?G2XISiC|(JbZV%Uw&`s4Fo}NF*v3`AL|?cegi68ELGR7@Mq?)U!CM zH828!83^=1c(WNC)pW4iD|K*ya3x>G=wG%d0>p(cwQa#N!DZL0NfsINCGVut;vMb# z=7V-0)|Ri=S5@GzFRPanoRT??gR3AdYS;i8qhHn(W~n;vQKl1-!EwGQOUjsh6VONH z1?aymPvWw#SHS1ipTd*1jJw^aVbY_AL+IyN)*r4R$1Tj}%>3vqeMdY@MSYpjkh=^X zy{-b=&Za-#Bz;`)>!XqFd|~2iCH-98r1Kk*7a{*}Q_;1jE`C zg}2P~uT^ZFV7lIbcpu^N1L3BT)hZ+*TJTpp>2)_*7#k$ICww7 z=l_74b_TO?7+524^%CMWK%TCLv{?yjap+%L+B#uyZAZvAf}gGjvtb<21Cl7ync*!~ zTPN(U?O6HD;5J!dEyL15xcK+It7B(UTaIQqzMp5u&hMq8W;oab>QlF&rM=b@PulU< z3T!OfhR2Q!DQnylYPkvZ3Y;vj9Vu&C00UpIz|OL5Zp=PBRm<73ZDY)Se$0Mw%>Fx| z(@t4qgRdvFFm~htr10<)@$nN0@Sl5A=N1wZmhtfm>@7LWEnAkytP@kGzDjeeZ~(+o zV>^wFJnY)mmQ0qGj`^u|X$gu2ww87YsbzE0nbQA@xVH?Bq*>N9#SATG zsawp<%*@Qp%*o!R}jW@(;jQE3)l9uZZM`FO;O zrNOy1IwwvfMHEF1&sNVoIXWj#BqbC@ogCQExAWD#`L^va__>Ml?8j4iy!6hG^obZ# zS_}B^V1@ZxmhitI#{V1d75bmN*Ur|-&f37~{{i)W(?1SI26p!UWGdgNmxZ2|gN>Et zTf^-?Q13VTWoQ16g8vouvePpBBPRHNLcPpP-yoThorB>g4HG>hEh954J;zU0Hn#tH z#X$d`DEQw|@4qn3zj2%Y&AP&W;LraBx_|yhX#NfL{xFN-pEgRH-w!PNlSC%efG$W z?iF~Y6G0G(>!6YmFQ0i-n42fu>^=~spScdvTCPw;(*Y|@paj|+#Y>xpDEnRA={_{A z<{5;E$o_si-${sW>^yJmd+C2$E*Ky)cAc-M(j6L#?xSH9f%}p`Vo~-#B4uh^1$N*& z%wv@WSLvR%-YIyWf@hjuUeAX`Vy)^C8j7&eQ3avE9Wg@%7>K{FedYHLx~*-`$iNlD zWtku9YP3JD4aRLah?3C-nG|Wj`o&}^iX|6cf%%Q>IR5(xVEErG|NgJ0{by8s=Nt$c zIGOy@L%xar|9u$zf2E47|5|$f?^N+$E%k4`^MCQ@KdB-!BOB{?`o#aSC7BuiT?Fys zTLe*Ah_CwM4hMv)}-%4mZM)YAP0x3Q8=U{Cq^MGbV0t*j`WptY*Ifl>I zg|t7C*MF_JGtKpL_3ZjzWyiOpu@m>N0S| zx*`}jDzdPlk9#g(JX9XREDJ(`GOnKAyQ0d%y`)?OcGu_W>zP$gh5_Bz_zp{WC?wxW z;-8x9iS1~P?#}~lv`_$0)FzMk9CkfA4BWVmBs6~~pyD28x_ z7MG+DY6iNh?svUOK5LAadY; z^7-aCai=!Ze&~yayczyEn#5tUn`~d~i1G8rcrgQ~UBpMYg1Q<_Pw(Kke!R)v<$ALj z=To$o*}eQ2_{#m5gmmW71)_P2-4c;|c5%j|w7_bcvqr6j$NEyW755L=OG0)j#-n?hl&9!D)zD#)&p;?+xj z)0;wlt`8~?FiDFgrS4ak7N9xO$I4(Jh;#sEPWsIUkq2fp^kGOnLZTkXfw{EL0iQ?@ z=~M?2ITLI$GlOBoK+sSN7daa>#Ev*IdkraHlH;d+vH^@4u4tYX=#d6`DMn<888W0E zNXr&;T9X2$~jYg=~1P-K>|Q=+}miS_DV{WbPsIWKigL z?|>Elc8MO^ixk}`C+`tUJzzD^5a8jUIf>zx0$z%@=0x^3Z!*wYff~Rcn5nOQ$&BbluRsL0clTa6KnxM4N2CQV zR|%IBFpKnA6t=0|gVq-hH?vYQAno*GNGC@KnG5*xtObhe!8OJUMw13^fG&*u@s5_O zUoPnFj@4c%{M~P1xkF1vy}3g!pP4v75SNUYIB(Qi6+*o1Icx_kPw3(Oh91&_CFJEp z*2PKB`H}GbgCT2iY_p=N>cFuE2YCA=D-(1FEGq-iI7$b>sE2DtHLSslje5M{B^}Ud zdy(h*&sJnER3Crf51XFWTo6x=_ES&x+dj74LU=)jq{VFS$X<}OV6zcMG|UE0&0W{R zxk@5j31(J%?(&LsVrlXH1Tnq z$AM#g#)jY(amU!i0ew~B_nhH1gjr6L@P&L1p`xFpo?9|!5kKP!svL|sbD2z>=EcGyFXi?Uv zsYz9p%qn?3p>d0!PBA1|=h)$xdz*F}d~0?XKK;9A4QN1$%-4_c>%dFrM04K7OU+9S z(u;uBm=Km1Og;u+E{KA@W4I9$R)=4M1p7CRIzdh}u3=P|F^Kx7)Y#C0r6WySBsaCa zUxqbN$JqG+ER1ClZ-A2@XIf0*{;9hsZMIPAT+_Ykn!wZSeu6Helh{A=bz=Dinu^h&T<9nzosMvnu3=VWCXn?adI;psxZ0zaW&ruxmy zDXKvC4E3S90-Wa6j&-)|c(TL0;kd;uv&Sbs_n3IJ(IhO!jOa4~fGy|KTTYWscY4ekC1QZtTYtH@LEP4y<2B57FW!~i6 z7j{Np<;zJK9TJTbGa?@E!)S*UT~KQOUKp!MXp0l4xjg`Fg-?|la{SR^K$2p>8Bq(3 zZ!LhEJf}__1PPoaf*x1aisH6QyAj|z+KPD>AJgCf{27X{iHbdm!T8Gjz19AiWM8LqLXR>{qBx(9p8{N>m19Nfi|c5N}4Tgcm3fD zoFK;ijGDV=0YsEkWuB}zVys+?v%0-2sCTdX4k5`oy1>S|u@Nkl z{EZ==XB=cO*uxrW*a!!IiOPIVY=&ZFv|=TAf<8>vaH5Dq=gtAgcG$UYS|{M#p{rB5 zTl5p1Z4Z4Tro({`f0(lpqdxY8qauZkPOIJcFZeN?W~=^ZXWQ{q`l`H}>*WH){)mbw zm1veKuebW@%v@iPWCSDv`I(;jkFo3J7CCl0wj`7VkWcGeHmdpkY5SrQ4!rVB)21{T z(IDNDQDhSGQiN#R1;gFpG+cyi2hm?Wh%6R$_DZo4!)Z%}L!wWi0E=i4>2r82n>oYd z4WECng4}$;3PH^*=}dKuIm4cEm_@5PSp|HmaVwEkO|)`E2v}I= zsx_t>$;f!oDo)ndevhifXq6D~!YONPG;Ed;Wp#hnL=R>2q_$ch1~+pF9EaGSzxg*8 z2iC~pmihzF)KyE%Ia9F8_b>+wJI{(&>!4B2%PTtj^nDBjqM|a;GO&cqjVJMueqxe@ z0!~GT?hP?*cyr-xXVzd`8@Djk7#bK1)A2GknY(C7Sr+dYaO2asl+m2@JV%|*nrnX^ z;eNmWF{@Csta_YWezvhXx1@3X8f?$063AIz_JV;UcoS78eCd#6r5tDQ=%@sua{p)u^HCP>GhzO^g2X`A z#w^L7K~{-WlI4{yjf^jTH4w?^57dwA*}>UUn53qL8rCFTBDrFjyl*DbL@kS*72T>Q zTHMPR*V0s^*^Ffi4GaOtGaR~(!0O-hb7di_^4zM$9DC+t{v*-2ERC=zouyi$(!xq= zp~Y0Rtn=H)+)b+_;I;WA_-BrCQ5rC2pvh#SX;o3CrZrV~ z;BSG-?$CS)VP}0G{lL)VfRClB z{$r1(s;XiA=b=nlq)3;IFsh{3raS=-K^fwZsi@&Qj_*7xLtL2ZI ztto{(k;d`gf*XG#P{KKd%476Zvq;Yt2KfybHSa@Si}0DQkjcOLmFmufSVJ^7vQ`8BN%yqV)r1gYF?`(Brso}IukK#kO(zu z)%)RhSTTEtkiKBBLk8MB_MiRwLI)DIhT5ObrZ{*QNNR-DRc4{(W+UeKU#wFx@c1lc zw53zk$MU~unX~?W(fl|C9)t&+bgJOxv=fbW1V1+qA3b(wFZ*z1_~95i>V5@hgpV2g zs_$C?v9nh2Da0uR{Ap8B5*ldrM?^u)o$iTdAi2I*pQtRxoQgcX9iD_4O6p`XqG@Ps zPltwa6xtl;DbbJ#0S_D>i#Nm&_H@CTGc=aep%=Y-b~dCzX&m;fs#A!J2e|a*sYOzt zoCmIX$kdsa0?wnM0WZ>Nsv~Bb3!H7Vn4o?(TWP+M*{-_tSwGaO8K$qH&zx`%uj>X5 z+A%w;s`8gG%VNho3YzXR8q<(tPWz3XMW9Dggau`sTFu<>-7b!ZwGpaV1n{;pTR2fG z?J`gbJOWc3)gzTA4^}HxufAVeh#E@f6fCZmCpRtG2n3C{aG5T$iV6zIEQ(s~sjztn z3CIRByjT0W8wh~Rq>TW7{|Y_Bj!efkvYgz>E{69E#e>xf+*4+SuLPrp>%LQX)D^{J zx*$dyAm?(YGs~=i>uh1la)0ZC6re}Smcx3!%xgx;N@PS2-Wfd?Y%Rb_af@yWe!+tN zpr$sTAhII8UkIKzn$D0ob~h^QuC*C2muyh(U#90p%vGy#Mr6{0h$y_TXdX1LVqHU>#QXylpqxKWtI?X8Mr zw)McaM?jmET3wmiHWRsJ9%t|}wBa0Oxef(oxtsyI)&ROTAP9N!LyWZA2L@TqOxFRn zC!=zRi;}4ju9Mot-w==lEa=uR3kA}u=lF}Xji2OO>y?s&?I1MrdYyLcCvq~BDN(Ph zc;V(5c{Q_wXpcV%@GHlqbmPo4JgeAWpJcPSAayxJLoOaD0Dd9l>D#?eWg#T{)G4s? z3~1~1+qtVJkk<*Yw*Vr)7~%}5GvB7%cENR@?6wG!4+h%3&Sc*8UibCH`f0~=U^gs} zPii-8a`!+scl@0rxDRAfx6pQgW2Jioxo|{62)}Oq z&Lb)8bkrWZPt(V`Z@`qI`mICE8s(urm}FtrV`o4>>wyJbE+AP(&%Jlu@(=>lJ(xnVfK?U|n{+IqkL0L~-t>Gobh zz6HIYW_0e`T>XHOO+nHF`YvurST{vNo_PQWX3M(dt@NlQ>3BAp=_I(-3gr+MO~-5WDbYH9+bom z4*tI4+1_Swz$og2*OUcepZ`Wz=e;Cr7~Dr2_|EDflR5n7 z4m#P~71WjU4&ECj8@zIqTaT)DDq(hQKEDRsPPG@USZDqWy%*X{+dtgdud%=Ip zRdn$USK$P4D|`+CjfQ?tsy~jtW~|hBkef2SB;b}+uStK7(LK0i79kx>oJn-*Vk@ZV>7kG{fgoVN zn7J&P2EP<_+cxweMh^%uJ)_vWk?h=#rsC43>Ybgl;zW<4*n5Z;_$NY#Sy@e2Ra;I> zq0!sIPk|J#Ry_o-CadWzrlgYTGiugK^msPP=EtRyw;r$@XD7ib@%`az_uE|kcX64~5 zDfe-Ac6TW)EB75ZMS)0u#6Ew$s)LYu227LQOhf#wlcoCr94T&ja}rb}#j1>taPoMz zW5Nb5k}Wi0(bxMf+z+~dvSelzoMCtMy~bmmB_IWcg+cPDdA5xHjP1iMi`5V$GFqAu zpH)`ZP#?=Q4kyKlRUysfRzpDaY>695kog8hlStTr(Oa}Bs-3bNz2s*rTU%S*?%y6S zFtRto_!ggT6vzPOk>4^ZQxgFh>YoQ0>O+GTE;gP%F4SwIC8#(l%R^% zR_JvpBsTp!tFxA|q9u9>dcM%c&dF)PX`Ig?kRK8c&8t%lKQkzpk1Ep>;9zX}eEL-14j-$ z8+ku?^4t?j;3@=^Gl1(eW5aiK?DldZO!Sd3`Drdmd19i8yomg50#dDz$m+R}t*4$S zxk-K*OWAtPh$c0Co7H<;N2NWdED5e}YzY$$CW_Y$K z^IdzuzSW@|6~rn~gRY&tuY~udf4Qb_RL!jULCvN)GmJMl2hC<8v)1H44nQDGl#pq_ ziyE0^Px`VrsDEzW?YUu zXH1!|@W<}*={+E4l^c+Uf+N`ZU2md~F% zqep_H$2(`$1~xukNvtVrUE5OErcIefB6xd#E6~-joln+gPKxsQ_8ow5hy)v)26 ztd{ke)302*u81(&lVTLg$N{&`YsYMD+UsX-R)^_8o-jVoi)Qx4Fh@?kf-XMYC18wB zPd@{9lLiT>sFV_7u^WJM=xjc>Z&>^jBv*urGhiQ5zcpjFQhSZ6W`ff0+|+ttnY;U1 zaP5^T(SrHYU?pNAGshDC2CsxGX|-$HEPHn4umLc#k>zt|c74@o*;X6DjxR?E(7?XQ zFE~9pw(gwDD1zPZ550EIgID|hHmxt}p>F?-OFiDFd{k!CkS0x?08bSs{YlgZvxUmv zo0+}ZfrBxpV^QslqK&%^I3z{v8{`jHX`W%g|v01D3zhZR=`tcU#pYytH*`nD{Umr)3kc`3# z3vi3iGNxyn>A*p_m>#eH6}gXdB)7h~L=CoS+k)4le};&P5$3f*YdeC=n)&BANRAi> zLsDRR1C_sLgSYQH#yipo=M6w9-R~A+#ZzH%WK4IE<=4kWhWev%zC6|#YQ?f0o7YbR zbP3t8MfxGU6#o6ZFKz$CSr;MG2D~z4)t4_z*NgSl*rOqg$-WlPyd+PIoc??PS)J0ZYs^|EIHNb9sL5pYykX@=p&7OnOUYhM9)>#;C@| z&Q9(FK+-UD=Eyl@A&?{_9OcC(JmmClt%qx`?r`q(sKkU&JUZMb|HDToGfZh2*4lup z!(q~?q|f6gbAfEEvvi~jk7FCTASGuzPYa>sISx0@df+&yyJ z|LRPnpz|eaMESJ|6jX7^DvFAM$no{;22$=HqgN6!-209HMD>$|L^r7r^wj8OKHyV> zq?DSP`u(4ZEja1DT;XRDp}O<_usNT|!=a6hq3P1-a9ci$*M6t>Ulp51Y6l9tD-r|b1$Pv9nXY@;Acip#DkJIKRwUB&kk~J4OvwzwqO%XG$+)1u*I$CUQLaE=dDo(di(zvCW6Z6%jq-E8A=tLAxZU&) z#W;bEcMG92t~%IetvEaj=fKl(A@F%$Xn_e=|H|}<{0VZQRo%SO0wrLy{S!mr5&kxA zpj!ZwL8LkkoN);W+oL+D1Y>gC>Ku%iSPmwA}3+7PF4z+R}5oYA<1#A?`i+k2|cQ060Uw5x?ltHdh!YJ9k^dm=cUZ{&9 z<#4_1Ld3gulu>r+fcqoX8AE_is6|>Yrvn0M{U3U~#8or%UergdX|xwOX_GI0BFk02 znc#+1K6(_h1~~@UhYO|2Vdh7QqaEBwis=F8N9dynZ+z?(vb0#IRRd~%qBk&Dk!~oN z3zSbBc-OQqgb=)=9$|y9IxiYEN&Cz_$kC4Mw*HcE#%LNwy z`X_rfTm9=@{EgAAfoox3I$Oi*UEYn!t$`2qiLC+9Z!;9s8qyWHy|4O6i{D?f+To7b zQs;I96B?n%EUh=D_BK^Q|dvvGIM6=X*?7H0G6w zT><=4ealSD+ltnT|J$n8NpH}FjP>C4D$WY=t=Y{FFHi^W$*o>f?*6S_^mw}=qYHTJ zf&B}Yci{7t^XG!mmVM|)PS+iYN6ydSlJ63x9MhV8jY_k(S`>z6L_YzXH?AC%mpgMa zzY)EBl|0mB~lL*ipS<^k$42eVp}3wZD*$ z*t!D*D-|n|eD!L7-K@=O3<+Fo)o$8Hw|jF}soYWi)T`Z~yMCMI(d|CH6)Ja(KXqz1 z_&H{DMm?j5JK)Wb*G3rYK|${Emwk|ge8H(J_}<~0)`-0Q+uv7FsjJ)e>Ib~SGiXuZRpR%x?-yhwQW>hfbC)M51A{PNoE;r#dl z&i?%Kb;$Wa@Kq=Kb+CPMFXvl0kNAa?{rNZ6`Bm&IK$dTzYCiR0?v&vDyD(tp`z&5U zfXexykC^Q%e{vrrSVC}-KfnDIFU$AS`4u>S9`T)S;neQ4r*Qu1Q?2Cd`>2^e{aXLH z|LWrW*nTXj>o=_zA6(B^@3LP?n`&h<8jY6)to<2|Wvo9)Y7C zmfS!Df663i9Y9ftWyR$wbWN!^EZu2aE6cecMlf6L1>TDG#M|wGxK%d3q+R3D*Y_FQ zK~`&*-8LJIo0I7v%hJ(i6<+J|I)&e@OP4wJ&r29Q1@Yu1&Kj-*n9}A;5p$+Q6(t4p zHzbk#98F4nA4kC|!MBv>6P#U{4gjr9V!qKkKyr_$f2Owx3aXY|iydUM1?xliuN<}& zCr9h@B+pg!FeE(xwT&3~X2Ota1P`BGdV|yV^+T0Vxm`|^PT^EA&e>o7bGt@*&R}MMSQdX9Y7~d|L3qLO!MtP* z5OEuEyD0f3K7e-i?UT3=@!lp75#o@FG90G*H6ckbcXx9It+tF>LPxgjVTgJ0qGSm+UhNIGu{yOgC3Po)NW8eQn*wn? z4qCS1v`ss~lXK&M?egCo-m_Xwk=;A<;?>H1o$^kI@}Yhw-Q~^0GTwrH<4w!<;m+aD zKpBR!DSXXr*Oc?gNrf#6i+P=SCNd9_I6>y1u>d#4Gh?D@Ywpq^yQ+KmCSVo zoBpD%?7+{`RSq`226gIt#A^!YwdqrUz&^|9#FJ1>F{V9hu?1u}_`R={NJ4NJA!JnO z8JQ;abHDH8UA}nn!e4V(fN;YBMFr`EKxS$Yp{SS$5wZoBlSb)93^TE{GSkofCv>uX zFRO2LR(&%_I8vM?oK)|AR|T*6)yT!~as zyS!|!eMW|YBKKf^s1S$e=0Zr#rk}yvZ9J^5m;N%1DI^sL8& zD0rQVs_N=$v)uN5tlN(2ZC{7rNg`O@Tt7UhN6>pN6G-X7VGiq{GOweuKnf9>LYQJO znsxv({F0pMf*j9Xc48Zb!U`lnFMA+n;G+!zn7g;QGwQ%rFzRq|N zPt<_YL1 z3v116AKKKkvUKf%_(6MXOw|R0t<1=5>0n)%$8=)Yo-pnVJ0;@3u|XQ#xNBbGN!|ZY z6E}UEc!-uwhJ(P7l|_(sRlnH$iM0Mb(1X#WBCHoqRD3L(&(yw!IK}eJAocad^o_;h z5|;BH%zwg9oSk>QFKTvqb|t^=D@u$IT1vFQoXW^a))Y)C>`_x;)7SF;L4!;6wL=Vp z!{R2#9Y-3jD`X!?uHG*xxv&2erf@m__^hVG@3^b4xc-$n-|cbOWMszudJI|emg`ww z@4Xa5<>u?Y)vvcbpV53gC6`;S)pD87A_FS$(w$yOsrBra`I~n-a$VnG1f}t!wCOA% zu(FU?GnEpv!-QK!UXig{3N30=F_-cLUP51}JWtL-A}Ak+w2Tn0EHHucL=oJmJZ^z( zc23hQ+a%|Zc49vTgL+(JPGf1^cub-c7(KgCP1;lfF>=UqlVt2PfmljaK2l{#O6yb= zlYi_(0mT>#9o9AdfSuOHy_8w!LeYc=1(j9&e{=q>XhRHkqSA^gZWFHqZpQ1 zU48xH2hlCs+4ln(uRRb_SWeYNm#bMi%k-n@6p4wVtU)@lnOSNi(Ez+TCQBD>hAkjt zf|>?poO;$ion%DK6o8&Wf`FEo%dQj~?v^ORdPYnYEj9GV9t9*aOVJ`eAz?3A)(H$U z5m^jC^_@@{yybhV`P!k!_oOYhtk1Y_U@;G1BDnJOAHQcK!w7`BCMx9y;ah~Ah)dZ+ zGAoZWmFTwlkCS4_ca$cJ*z${5gKF^~iPwR*g?h%M%^S~c@nx1ulhuzt}{ z%osbAmRdJyC|RGIvvK|2OA%FOUr5a6X}xsHG`3wFIoj-k(Ifhcm{*ot0a9#~K}e^v zTG>w3q)B93is96YoYV)APk8$R$u~T#x4^TMY&wQ_VD_$ZF>8HPe`U;0pG0Wg24@VN z5p_p;>C&bWesHWxA_VP}dyOJVb*_kgt+(qk5k3qI9vjz01m3d5)4VC)Pq8 zF~H7`rN7mWz;6hNY#BjqvjaJ+1c7*?F>lRUq2ijpr#L$-LYult2HP@V*2MKaRNe?X zvJ|yN-nI6~9f^Iv^&SFYzx!;DnW4DF3 zxnCxqt?X6>;3oWB?rX>-BG)_zrXjB_3H0IxzFv%%L*_eTx^CZTE+P3DQhca8lJG`F zd0z^{a&c-Cfzkzt_b$(4H35qm)z4j$F?^erw(vrTI#mtGybf_6DS7b7DFw=_+f?$EY^>%vyZwwY?l#TDI!DS|+X2Eq`j+ z2J)Amxh@jrf!oV|*(!H+qN2j%Rza&;HWhn~S#6Mo&wD5s!AKyJ39Z*L)L?uaJnZCl z;=d;@SHgTMK=Uz5EV6Um!aeycG=UehW3~6?B6Ipl!oR_*o~zEr<|c_$pJHyA?9Ag$-@>TYYQR7 zVP9IbL7s4r-%0Az(x*gkYG8A?klyIHz7dm%(dB*lrW5At_OV;C#iPObS?n-@?|D-% zwLF$+0}By_N56OHX3FB~^I>UqoLm^HEsOs(Z{)}O*LI-&^|{NfQV%hZlz&u{S^MtKA>nG^`7#w4eB$_dVhO{bj zy75{92)8WHT5Y5E#q6}h8N-#=tqQ>t=QyqjG)54$&5bK24RSyn3!!mUAz@p>qQKm# zkWkk29I3^Av`#jQ&_!lZ#g|K$_j?(R-~8dlEA8i_(t*@}((7xsDj(akVV%2kqB@o6g@dcGxsKO3!vXlL`IC5O z{JIPUIEhPSR?>OBy?yG*EQ#>6i>1tpSKpY8yqSi^Q~MoOKsaqkIBme_ue#61l1Xbv zZ(XvXRe(7{&B4GenU3I7$Dp*_6djAYnFbbxBw^gEV;KP#d(iy^W+DUWd;DP{aD)R; z8;Dxm#NlCR(UD0C+LF{JTVC=8xt>|;xOded=XuQr9Y>ColjhD-@7}{xPY>Uzz@)C@ z<@K-S&m?WT@&`6MHe{os#A%U2Nauf!F!XTd^#V=v86d6zohBu(tc^K^3kg6s8OdwT zg5knEZeloUi4)sFvA?4de_Pp*jco%}lkuFk0)|T!-m~}k5)>#AdYxFurOcDylE%_c z@v*Kne9NCw2Z&HEPEf zR11Og<*+bKdFT1)$W{kwfZ39@y(L<7k&@(2)!*a<0HLOA!z@Wy=!A_O+ue^2}G z)V|8kS2FEf@j6V7Twsr@+P|~NtU{wTxL(Rfa@su)3ldtk@nEm~tiC>uKbrOWrdif8 zp;jI4az~RqmUWqomd>o?YU`{<_~slR+DGD|I_$@8iE?GRnwq_aac_PcaBw@gO4pLG z-S*SEKL<9^9ZSUu(H9FVv~_Xi1Ay(A8GsT@KE2&GCB|*3acJ10)xGGU_~1 zs+rShWi?uT^SruXLiD1baTV-P*N=&VIsF9S`!akDf zsSda6lry($-oGbTn|bP@_;F!loD6&142A?EV#Zxa9>`;frMz+}E*_xdZLwGRNw#Wn zCdBEX4JCj$S;FV_+Qvk&tO;-k6O))i9)-bjt&##_+T=!>-#4ftk`eBcQDBgF;BxZ# zu7;)eYM;r|J{Jd@u>rSVL9|*)%R6ESIq1)*n`tgVsk%8XZK>0f8T&=BG%~E5Q;b8R zVJqd<3z-%(6Y_8DxV4Yp8NY+4ujb@wDAb5)Acq_rnjZ8gBW<6s(#P!>2j$0>2z%d& zThA3E*qn<-8%1=-`FDwg&c2n}wM)Okv<3^Yv9V`ncA_U+azUT8|*aX_VSChjcIz4FDXS)39#nu6MtHgbHvNZgn zSl+9?lBGfq>jpb@tJQuenLH4YwWa}@Zt6@4{L1dw*iS@Jq(~Ky;n-J_#GU??{LL8& zYKuwQ0_D&OF>978GJ|kU#=SRb@?O8=;L!1}f7A`IzqJbm!|q>XmP!P};k*x&c(o4% zz#ozgQSvyf+fxz~v&xC;Amb5wJV0azd{HVanRwQ7E06fOTChlPs)>4vYK9ixNnZVQ zSlbZTV|WfE9yov^>?ewN$9z^P>|2LWu_uNj=Gxtxy&|^-5UF2G+ncfLoGyq8dGzfW z)0fJzqjsixzYR80ou{(JcHF0IR{i|pr|c}lGAjq_TWF6U&&y1MXe zDZeko1uW)r-_9<-_;$-VK;|`2Y2`_x3`%as*~!kt9c6me^uu4MFH8bVYBlf(3;%jR z(vfqEuBN6^%WhS!&?F!QV@H|dz=>Kip0htpQI@oFOvl*m$(y2a=OuX4Z5M7$0Ah5# z5H=tySL%d(UJmiN_s{`wxV=J{;+Fzo_t@L=GXQPmHfl$agHZN2M(jNjOQav1pD|@J z_AxsIiK7p=pr3Q_?+=jf6qP?BO&t;HBc_dtnq0XAC5ZpX$=%2U3~QMPG{ zlQ-imk`EEN$jQ%8NEOk?IK~SQhAx5#nl)zCs$$I?-&QJU7?Q}=Ix(tE2)K+e4NnZf zp%G1_KpS8p2_9Fsn){uSY-+eAXk|cjz7Uqn|v2BRup5AXqP|=rOKmD3u%g{xgmv0Po3(VGbhP3FA8$G zeE_2qk_vJ?zL}m_LvSyPx#{n8vNW72sYx2sA?p)_Pi&d8xH{26(-@X1mJ`33acCJ( z4XAlJ3NsY5Y$Y$2c*j0Ec&Wrb<^0N!N{$!8!bNJvkwrAUm05j?s0f?zROfaMa zY4s0PN~Y<&CF}|ZP5Fa4)f~#jEk&uP zHWu%nC&i77T{K(@leF{e+MUlbnN(vUWj4gW9-u|*#UXxl0Yjw2@RpaB?sO;Y6d->; zj0A`8=Nyx?AAT=d8Be*cPEf-qplR`5?*E#{eN*>PTZP5xG>)ikXVGv?s4gz?+SIL~ zu5fH$wRs$m?O6wf@$*)5ymT=xoklPx!W z{eGBc!_n!QY^s1vY*jq+RH~w?JOzBl@-)jmT-3^6y$UyKqsBmKRUB6!e(FAyk;LWn z*ykrbXwa+@ugfOF8OhbfZ6-m9rCVMaOml2H z3b8dreeAkg2@NRPWv*hSMsT60M=P3YQ`+hgOYpeLBT=Wc9VQELv^6S=NHE|AnX@Ma zX&A#}-4bGb2#YNjUwXASb3dvje7vp?dX15_yjPvOv`1#i`92+2hi$KJyL=7zBv|-e zytZ2*VhMNRgug875RiJ4z7*DjtGbK({e66Q!iAl;h}KN>jq#Liw{CvEWX0LQzY^-( zxp)xF;?WIfYMNV>KZnCd1(BaPmhElr#siz_lgqKP#2sHBL{QbKLX zPz2^b|2h#Q30X`)UD~HG;7LGUn#{>j9#6(Dp_S=OI5^+QNouGR|K4bx_Qa+^V^496 zDbku11oZE{bGW-a`60?n8C5n!5Q123>pI@=4_myBlcm=`9l9r)LbU6yb^{uqHJ9zW ztAW=5=syz8Fp7_4K>$#`=1i%d*HyeGvVvzo(Ls?&@H2T*> zxNgNMxlgj`w=$R^FgDb|v!pkXj}(X%XuE;MA=aUWnMqdiqP}_U(kc$)^pvK)x^cEy z&(Hn9O1uCz8oRdbaqhIo^tXmd#Ck+9^`A;g5f>t-ph+-Z${Z8C0vvK4RBu!-t(FQp ztQumw52yEo2e+$}Ig(9cC*$)(ore+>ALg=EWKSkc3R4PB1#LsrWU7;1KG(n5six_OnK^}=qFywP7gF3vApWEd5Jr)w{ zN^OnEOx@>{r! zCUvAHS$>q>oHXw;w{)Lb=d1Hwf6H^Vadpw{u>vxHFI8%SrR}zML^Y?=RpBek&yuAC z&S~xcUL1Jy$h`4etAvAm)@STQua?V-p4}(hrjvboZlV3cdADy2xB9&m?CZmqrwn!M z>*Lox`ed^mOn6kCd&6H@e85(K@>5Zb-fX*F(#IIPnAykQKE5&U4|^MSPkfJkp&e!B zF$rBGlT?#4rEw;BZbCZVRQy2dv^c+Rdn)F6!(hW3$szSyVAh_3-`6f2XpjaQa?3+`V?~LKw#~?UG^~x;G=BsQ_edY>wE3BH?Q;gDV$UB%Aj7` z^WLH101Fcv-zl!3;Y4=+4f(m8%#WKV0~t=*O@-RD`->jyCefG8MJuK9O}LEP6!VFx zo=$joScQr2yv1~+~1(bcEg)+y`hGQt@*vV?!$U1IX& zl=NP%_4S`T*kgOusly;2#eA-a`jlDPjXM01P`+amP z@o4?)2SSy`zkJ?3PUkQ5y|Edx&Y#Xt8*_t&M(N%|?y~kVDZ@|Mlcwtz>GOiha5e9w zq-Ur~KeHgAc+th zKbhXnTk9>;BK4Nxm6z#%ZU)=Z#jF7$sDe9${F+m&5*rCsghi__(_Ez$?X zRzfxwLc==3=*Sy4eL*G!5zi4Vw_@aJWWY=P7KSC*|%yR;8o6C2EfJ>1%#7 ztu5PKGHv6LO)K2Q{vH3mK(ha%aDs#FngB53SB*<0p^q^jkSj2+W+d z&ZJiNir?JC%I2`gHAl=NdM?T5T_#>X?VUf?Pj)$%u5P}~)mY1(ZTK>0Ie2ZZmubVZ z_1DF#ic<+Ms^h(9X{{SJry8Fu&Q7aVIcFKmC=c{v6zJayMA@1>q0B#Td%*C##xt~? zNNsAJfr;1xigzPH)4V*(J?(6T5Uz77fdRt;HM-nwbieX?6a0>3^ZQk?Pf zN_&R>%Dt7A?%UP-_)K&S#uk+OY3=KkPm4L;X;4*tq;p&>fjaE9+(6iRebTVB)McuLI1D_B3X>s)^fCPgmb^?`yW30i-dVP`Vw-r@NsiY zqm|W^coWsY>#Jv9Pu=|$V62{v;_F+$@B>F-p&$h70fxirRgj5X?RS#C|0(J!yz__O7sg4!5j&+HA40)OmC zRrs7!rO8E_Gqzu%)T-k;<4;CD<-_LrLJeMQeCLOiK0Qef;c-5!-F3j+Kr={y?aRa$ zz48QhpL0S2QI&5Q!bG=zUEIPgb8>COJ;N0m}l|IlN0Tx8o{XKC>2}jD{da_DkUt=RgC+EB>9*)BoA^0 zKeT)vAGtu!aJYt!b>89Y*a0u9+Y|Z>zcMM_N#YgmmlW9^2v6j#j}iW=J$N{v-7j|2 zSWY!=jkK1nW~Pkre3l|<+{4nr?0M*1BRx})%4Lp7L_%jK!+Vcg($+&Z6RKM?Mc{fq@_bGZdrj@y2K6Ss(S;v-+W2Dkv`h8}Y+IxJ@ zz+}bhy+e3QKI9()0vxD6||R?u5-Asq-sVQI*#Kb z2jrXDixoPIgsnLeSBbgNonrZlf!4iLEqHaBSUU6Zg`uE)ovJ25_glYz{?7Bb(^f9mB@AK;?C?v4nfX zyPNI-rJzQDT6`k{@1ZBiTSq_n`?iT4k~8wDA|FG&MUnaS!aICNN?Z@5r0^BZ-=wB& zQFsu*TiADeuLw&xdtOR$>?mbukiyp)v0V|5C5~Re@-zokqO8{EH-uJxyARKQwCD7F zoJKPHHC_IuTJG+L@T}nmuWxxPhOrdEa&+9w=rETVu83XgstTka+Ff{NqF&;KA?t*5 zOTEnWC`pV!I^+1LU}E5RQRYGU5#iJ2^|m7H)v=vgYK7EZ55sN!uN2Flr4Gp3FY;4| z8n;^@eP6pfgY-8^+TI1JW9(OHeS+(sh0h0ERvEee3Q@{=pZ4(vepFVsuOELN^gbqYB0Fb@WsN?DBC{~ASJd|A@;yRLba^qi z_Nf?-g)=!3Vz;Rcls?xmmmG+3lVK_0tH0i;JBt6w8td--=^O9Dk%NzEeuTJM{+!^w ztsMG7iTX`p-vB3)AzJct#`EXTf3`Y5agkNI*waXd*c87!7_+q7X}$FROZ^5Dg5;}! zce&ZsW1OW9Uk&A|W5XipPfLEdkA5o?R8v7eamQetF!X&*r5Ep`4MRgI9(?gqp=@MDF;yz9&n$n?Efk-i-6nv*P&g!Q<9yEvaQ1x_=x zo2s?U$;B_lJA_&b39Fu96#IVbWxPYM^^1z~d4+W4!^T^2$1U|253C9M>aQyPevbXY z;f9YHyY}d`8qqG`_RVPn2XPT~@x4Qn`DIb9n9CP0oZMqGwvc~w$WA`!(9p?1YuQ~M zB10#WU$v?Qu^O>aC-ABrA~7qN#pEE7S^HAX*&TlBADZ)3QA-1rF!W76>{femX1l;e zSLC;*ri-rOovvzoW|K>-ve>RzU(*ql_sT?z^X)1sAraNxMx-(}kVj1&x|=>zoWD$k zyDnSFtZUM^!6)BFC(ks+`%wAKN^gBvBa~WOgoF4N(Y<*h z>1*Vp8|(ozr^Sp4r5G92Zpl|I+1$0-qL>c2pXp073;el!F8U|;i+v9giDy|8L(CU? zGkePFzAS{UTW&1K(c@Nn%(gt94-BsrILf#$SM4SYUz-_CV>B{-Z9q*}mR@$4aH-iE z_Tk(Zd7R=AXgee1eW-FoRk$z~$#sXX+gN>qs8EOZHAd^wH)^fA}?tMD%tL1EmIfPNm9FYsBa7#F?hT< zf>$9&k18XPsC~p(ZXs9yb*pZVcONz)IFPkeL)SFEX&Dz`b-y`%mudE3(qIOc`m24k zS6-CLuawI3lp*}8!$V|`J8;R8zPTyl76Nse_zc6&>UdA!E6 z2m4O0N~^pn`S^ao!&};~+C-7rD}hbSsE50BN?sf5Tl<{8P$B*(gH(A=cq+~5NK}Ld zDoZ2eZM*6(#YZ(8q8^P8#=a>(B7SIC?s%Mar#h|?dvW7;_xcf!+^|^_g8jgBN*X0q zb;+HtM&5^XuQQaGSTeS-t}?}r&~gj-S<%(7YT~_~jVqnW>a=L*9Gdv;`2A8=&$P^i zIGhAZHTz94~QYfs5$JqY#1dZu9btNV8<;^ z+tSgZCabgiR?7BirWZWxdf7$ApxL<(^K3};z`+LL*De)h>2&)i9@p;?O#Bh1K3tvc zyK20}Sk}ewKOI!nEBC%}BX>iQ$>~#^VCB+lpO#Hs((=NwWeWRJ-oS zl@;=QOK;k>G%s;J1mCfyyjHL#ojI#Hr=1u2Q@F0K9MgZ=bY4B!5Yfy*~y3gKXRJHlBlF-}Q804FfM=j^tnuLFO=G$|2(Nknww(jd7co$vEJ9+ri zt@_GqiW>c|es&NT+#a)CKCw|~)X*N2_1j@0G}$ToS@Sc7tUWOcw-u@H?m8W*ol+ci z$s$@f-o%)S|H6yg!2%yI=?a7lZ94Rnzi;%q*7cF!p<(v8LG+i|x)uKHPo4t}Redje z_)kCaR9%X=*wXDkttpf8<85_oY{PQDeMJKU!jqZeC#?({SNu=nqcp7;`OMHR_pF9n z78(_|32#cz&Ql#b%%Z4E@j@{|oWLA%KT~=<1N_CIf;OiPJC|fE6VK|Hcmqe?)&u)s zGiuGN3&BOrn&UF(>E}ciCqLw6r?q9j)y(7336ynBp;KTw^2)#3T;%toH+xK68AmG> za!iV~w3(FYM%A7MIS}y|q*s&DOV-O9&rRB-nY$|1WOaj!TAQ99Wp3+64nisR3 z*lXjm_DOy9PIT@&TWN~5ElI?dWH?u~ zrC3d|>O<2TAN3tfhia5PPkH7{)V0a!Y>E`nELaN;qnsD#K1TDUGN>1YQPCa zxuY{B0IVugrt@JVO zuS;Eay)rI;_wp0I`=1Ryr`a(b%4DW&)OtK1`cl$fj#Ye3w@OBRSkubh$4~i-n&{N@ zhj$TDsM1eVtQNmd-aq;7%$}NPnpM8@qs)FucAr{JU${r9XyvMGGD~Pb8oOM{A;RYt zJTr+Cu(yb-w`Z>{WTI$J-%GXpLU!1K`<5K{Vme7C?Rfn;1^I7n6MIlo2Q|2LKHn2a zUqY&_@)CPwi;dedTfffl<4bdP{n#Hhm685+yfin%Tj|c=A(0u1+!!~68_SobHQRTT zF_)^TZ{FOWo-Hg@S!T#Q#5;3+Pd#I+ucxebg@@vsnB@=m9pB5hWm!2CVmGP37VuL% zlM>4)%Q(T-DWiNZsojKcVZO@c4NaEc2qiC1TRFZz?uM0-f}g&Kd4Z@zMk-GfIz)p~bwcixTakZC475w>3v{b#yf6TW2Xj*s(gQS54XFLg7@9K-o5evID2f1?RrkZn(^Ci>3w7K zjDZUIqT|2y)g~3uoQXs6;zp{WH>W%B|>ejGF4RI@!#)hfp3q5}6xGpZ`g#aM zqsGtwCdqQD-s|ilH4{A_k-5FLPp2CoJs1XLF7w8=Iyp z@rqtoPc&~)w>Uspz{L)<*}076eXfm0>!3S48GgmFy%LPYXzaFJyu=&ZeD0b8Ye{%W zQu}ziuxa*(qz@UThwNTHolic&n0#VcFigNKy=XV1=Mz0sBKVUCTLBv0VAGKiP7x*j z$fi4o76Rq(sRvMOJ)`oWO8%0!o~_MOj|fCMc+>gyEKX#65H2f;EJXBA$K{%2rt;;? zhf-f28ys$6NDepW+9Q}xPo<`t_<|Mpm9B_jAybDt-t`rI+vPk%p;h|S`^A2S9`UyY z=h`1yEsUuiJFxkBK4qFi=P}*PU3%a3vAU=! zF>Ipq#N3;Uby4G|=DAg*Xsj}v#VV)l;~4yY}=f9MI`3A~KvJX#}{ch#C9OU9}3z&7pS?t;?dyV=+pOF1>*%&rJ*8 zXt`eX!n2u~A)%0>xpP$F@8&swJzdhc!qqt9=FLsxpwGRx&fO%1Mxp8NMBcll_qOPE(UV*|QbJs$AQM+G znpsKUm*=_ee6Ox}!;mL31_?Gj7`%5?MkE!%b(VFF+J$B!!>&@FTkBnlzSsiG zS0O$v-&%`9&ROhsQMk65^5C49%pmVsv`x^fMWqS`#TKD_+`<;@;N<^1k?B>*a zrz^Pq^~(;*6%{P(`{lZ{>Q_#keL?O<0He>Hip;9z>4o_Uo<26k^EY*<(JhiUT=I=R zN!xNXSyx|g4V;Z)cYVsmU2!ScgN_P<UiN+Ye=1UQ^I38-0>Cfp%n*YW_^m|2-v&o;i zTdKoLTHEFW>ojgoAbKlaUqnpnWwf2{c{}0Ca6=`;CE>o;g_CVgh|DM50$stTN#51Mn0Sh zp{wSl9H606c>A7KM4-H0c;9~I)PRStf+r0-He8d6J~q>?JU)LwD$MLE%j1-SLG+^! zhP`h$itGfgj~ub;)br=&8J1769;?~RmGxfBdlMX^bir!veg1e4{)p|nt62_AbIbm- z^I6{}e0&XgjM%R1j;L|&+dp3D8E`2wsdb%)PRg!4YX4aSD}~Dj3ZIRfNR)L8U%785 z#vV=T6s2N0Hrw1HLGyU*A$8?ry7RR`+}F;2Z0cNbJ-e%q8h;Lfi zo}MECh=JIOfad`@yQmmNg3|65*Io-S9f;72Ni0e(OD}C!F*DHAEWfqf_de^UW<#15 zujV_c2B9Wam#Xgg)IjcrS&sr*$Je))6V>V>O9Ui7_9qN1Fo@C>76`vIDmHX7EbQz} zv71T?eS6`)a(PW^MyF7xRY_N0LSL2kcbSeupG#g>v>ZHj5Owv&aX}{4Y-Y=Ni~cyS zusna(Ev}6W{nv64Mg~h4gmdqvN&I*axIaN3WL*6RUmfl$-(WfT+h%RJ-Q_V(yPu(# zozg~CC?Q%*Mcd%5byqwlkt;=xi<}n586`g{CoR_vIL=_&(S1?!2ocX*Zqn z^!1ywXa&>rY-?ZDd3s8uGqt|niP*(T9HqTa<)7{6ejFpBu!nuDzB2Rh=4&sXzJedi zhguxxSrDIJm3hHnJdi9F| zv|CzN_x*ObQ(D5&g`-flP}`blFXM((eW6L>EZ8OgD^*`DtvkK$qH*(Hr_Ecj$12Rmi2V=+N#}q z=&5*|p4{Bj!m8;r*QKi%wY6fxMCi|xe7$YRt8q!~`Z6z1zCYu0PtMV~k>%Q6 zM5WY&&8uUX-b=5OR{baPEuIRiJHM)x(~C?#Szq$`;k`b_>!&^y6_@Xl(RqW)LoRVG zb0ws=eb0(`bjRb$3uI}*=Y1C++6J&${Lbqaqp_(j3;9JTU=cFAHWBUMqVjyETI5G( z!EvYDU#AK9mk+(}`NYJ$A#|xexE&JLw7a+b^p#>sS=`*T)tAZAkDjlSvl}-m(uaDp z-+X?s!8N?uCKxOlzO|d8Te!M{gb0`z9%oEdi0ANevDWHMKD|c7I~`raq*p(J z`<2-^+E^dB^{d-Nj!(2q=yuZ&`mTXOs}(OHi}~R1DqHKvT1VDfM|>J(R2nEKw)oA@ zefNgHvX8~%{_RNc|LQZL^gkciS8%mE=b(LRhc**P&|02=!GcfXZ})4k0UzZ@gWeCM z?LPMZX)}SvNfJTddJJeq@o$?60tzpQK@$J(Z6@$|tRxPHBoINH2{aaTw+H?05ojb5 zi9jJi-}rxiMb=?r`;+~DeZwEW(`La&K>vWhI!tT}<*yDCCs+HL%YQv?zBUqS%CCj9ra{~d+|Ed1FG3Hv{D z{@FJW5@7HQ3MiHN|1|HwA-4r@;{;CW5-k=_0L=VvXZinI(+3Qi^jG^1{Z6MKB=eK? zqsxQ5f;?2}M+EYBMK4MC0YI}>fHjXuWH%C>5 za>8_YCN6V3>j;`v4TLJA4ohrAK0Cu$X7i+|^Fo$1W9>JUR2z!lY(6qxgy+5LF~%Q| zo3rdvj^3V+*tC7j_;|&cBC+K6=20kTCy=$NA2Y*?{ixxPafH^|!}pI4^nJ2d&YLmkD(ZkC0~hbz=P721VqP-;FjsD-&%QZnoDR(w`IPJW}&? z-M1>w{8Z-;x{`@I=V0#zOyJLX{Oi27?dH5YFi6C)ZQ@@&Ldfm-|GP!Vw&&0%YZ0=o z4gcj{JY8)r&>}&98X_%Fp#S|r;Bhz%4sikThqlf1_7B48e`zStJcpcyM52knB>x(R zMB;ZChd}{0$i@+Yll+^8M-qYY|4k#{x1H(VG$K%V&<$n#=MR4*5|Vrk6beHGO@96w zhXT$7^Z@#shQVQpWX}ViR3>1_$Ki<>0<;el5=*uQ5{be9Z}-<4fQCasvO*DX+UT(ATb`F@dDAS-fSuvij?Y;Q;`mbe{d|5_J|C6M5`1T?t} zuvq+dCn&PHI1>Ck9PsDlGWYbs-fk?g&EasnXgGEBJ0sw-1 zE(!x0g^|kugCs$F18#_14^Y6Q$@K-$Q1CcBd`1{70bUn}CD$ty4!PY&?C-r{k&p}k z1Vuvf!w|8MZUCKx_`{L_lptRNwk;GEwk<$|bpwlnbsUSvK)wk}Lc=s7tXH6I8$1pN z=>`fkW`oWRL@P)SK*WM%io@dJaTtK@$mD`UfoMlgL&Ikd+!b^lARa+;@kq$;qHwT( zM&WR_9`2$2TMjkA{619s}zn5sv2o zlS2L(MF5Y4c){;PgXIEx^TBg>&?`I%1C1l1v5>3)kbwLK0SD3sGFcI@JInz5ZAsr`T zpxB5afwqa{b4f_pM-WMHOd*1UBcDqo!2X#?#6jaoLO7us*62`f=0qI1&zdG$$3U2aj*@NV7vx25=Ab1G=RV`4GH-$ zG{EifI1Gg00Nj9l1b`|K9tSi?R-mQ==?0L&4(k$kSeLZJx-h;%1NNYO?0}^}l20Vp zap3JC+=K?GA07vSH`)23QMetR2MP+%IKmEV5O-LE1g`-amO{@%lc1Okns7o`4~-`5 zFb)OT2Y{kb>_G!e2u*0vx6RBcF+UN4!Vnj z{S`P42%`g349gTGdhp(GkWT~+a(9?ZfczgC3+32IK-*yr61)b$QskHw4X_k+9ykyf z$j=A|V-Pe5=kPe}4s&rhcpM%B(+K1>1tb~=>Wk#O;Qy&mZwG-tIXfDUf#Nx!K{*o| zkAm<$&{8PZK;ubptiThYIE~%`H-WSaioa-(vP1TZ$3rn5)JtF=3wpCaHV7aqBo~1H z;BiPO?xP84s1AY#qKEhc_=+5t01pQHSkNT#D6atfg)jq%c<}Q8+<;;a zaR=YD1J*;6KqZM>hlnKD4-t2;BVY=UTmbxoY#OAE@P2{OK00iL0n;C48I zViXA^ljLiVkZ>#m*b&kf66pR7%>|kd(J;{7FaTSS%M{Qc9S0T&)qT(;B2-gAlSmM* z0~!SB5THSr24qZ7oB?4A3-br=h{*PaL1G~v0ca530O1Xa`+x>vehjE5lAp)+Ef!1z z;Fg>h0O25>L5UIK83hWN&|EZ>S71OHj{M9qAPpryb3lXeGX`KTa(%{te(um*G!cqX zAnZd}0D~eydByf66|^@1WTCwQKuNCm7=Wdqy#b&D^9KqrJKD)04E{Y zzaNc8F&jP+n**@DeZ$!gU~9fNG!^91iv`I6UlM@K^|6 zVemi`$k)XKLw5}^DS17J49Gq`eqcqXD?e+t|rSc5w4|y z>m%5Qf%FZsH{hBeA4UW>nB?a{0ssc0ffpkn8pxC(8i=AW4fbIq;AEk3aDD``8OVo$ z3K?XV;93L1&sZb@vVCyX0r@aMgM1hkU@3AP#{w)x&NCL29m(|t+#W$b4A3AS2Eqd5 z!$7(Z`7kUB4cRoPKtc5|EWk(*F91tHJcBD1mki1-KLDnFRS~;7uXFiv_toqz8BstV6($ zL;MkdHIVHWTs=W{i38WzZ*wl27tfbw{7>j(Kd z@EQelUjeQcAlnBiEM!|CbAjqoBmxoAH4-RGk?$9{V(8pJnujCP1MsQ~gkJy+1nG$JGeJa|=-oM%u4CeNM!c~$Sf&dA;MoSlP>D=m2S z(7?{y=AU50K']).plot(cmap='Blues', values_format=\".1f\")\n", + "plt.title('Confusion Matrix - Test Set [%]')\n", + "\n", + "plt.savefig('confusion_matrix.png', dpi=300)\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "id": "4ad8baa1-1433-4408-9f80-5da52da656d3", + "metadata": {}, + "source": [ + "## 4.2 Saving the confusion matrices in the object storage" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "a300a62b-54c8-42a6-a6bc-ece51b63d631", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "signer = oci.auth.signers.get_resource_principals_signer()\n", + "object_storage = oci.object_storage.ObjectStorageClient({}, signer=signer)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "15df4394-f4c5-4cbe-9d66-21afcf3f575d", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "namespace = object_storage.get_namespace().data\n", + "bucket_name = \"data-science-reports\"\n", + "file_name = \"confusion_matrix2\"\n", + "local_path = \"/home/datascience/confusion_matrix.png\" # make sure to add '/home/datascience/' to the path." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "b2c34668-7716-4c93-86b8-5461cf5dda1d", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "upload_manager = UploadManager(object_storage, allow_parallel_uploads=True)\n", + "upload_manager.upload_file(\n", + " namespace_name=namespace,\n", + " bucket_name=bucket_name,\n", + " object_name=file_name,\n", + " file_path=local_path\n", + ")" + ] + }, + { + "cell_type": "markdown", + "id": "5d7f4c4b-08fc-4a13-8061-7590fd8217b1", + "metadata": {}, + "source": [ + "### 4.2.1 Bonus: Interacting with Object Storage and ADB" + ] + }, + { + "cell_type": "markdown", + "id": "4780a408-d303-4f12-b589-564ba8b1dc19", + "metadata": {}, + "source": [ + "#### 4.2.1 Reading a table from object storage" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "31350eaf-bfbc-46c8-8368-54e07f175ad4", + "metadata": {}, + "outputs": [], + "source": [ + "# import io\n", + "\n", + "# signer = oci.auth.signers.get_resource_principals_signer()\n", + "# object_storage = oci.object_storage.ObjectStorageClient({}, signer=signer)\n", + "\n", + "# namespace = object_storage.get_namespace().data\n", + "# bucket_name='data-science-reports'\n", + "# file_name= 'testagg_day_0.csv'\n", + "\n", + "# obj = object_storage.get_object(namespace, bucket_name, file_name)\n", + "# df = pd.read_csv(io.BytesIO(obj.data.content))" + ] + }, + { + "cell_type": "markdown", + "id": "1b22fd08-0d1e-4745-b64e-8e14df9ef0bd", + "metadata": {}, + "source": [ + "#### 4.2.1 Reading a table from the database" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "33f6c85f-c42d-4057-9d8b-e9b9514f0a39", + "metadata": {}, + "outputs": [], + "source": [ + "# import ads\n", + "\n", + "# connection_parameters = {\n", + "# \"user_name\": \"\",\n", + "# \"password\": \"\",\n", + "# \"service_name\": \"\",\n", + "# \"wallet_location\": \"/full/path/to/my_wallet.zip\", # download the wallet file from the databse\n", + "# }\n", + "\n", + "# df = pd.DataFrame.ads.read_sql(\n", + "# \"SELECT * FROM SH.SALES\",\n", + "# connection_parameters=connection_parameters,\n", + "# )\n" + ] + }, + { + "cell_type": "markdown", + "id": "2e2f9884-14ec-46e5-9a65-969d538f16f8", + "metadata": {}, + "source": [ + "## 4.3 Explainability" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "ad2091ea-9107-406e-83b5-a676891d28f4", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "explainer = automlx.MLExplainer(pipeline1,\n", + " X_train,\n", + " y_train,\n", + " target_names=[\"<=50K\", \">50K\"],\n", + " task=\"classification\")\n", + "\n", + "y_train = (y_train == \">50K\").astype(int)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "3b971fb2-e9c1-4091-a167-e3fe7db03574", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "result_explain_model_default = explainer.explain_model()" + ] + }, + { + "cell_type": "markdown", + "id": "43d9fb85-69a0-4e7f-bc5d-f47398650afa", + "metadata": {}, + "source": [ + "### 4.3.1 Gloabal Explainability" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "ce86b25a-f49e-4ab2-b5a6-14f86136089d", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "result_explain_model_default.show_in_notebook() # based on permutation" + ] + }, + { + "cell_type": "markdown", + "id": "67371780-8fbb-4c84-bf0e-21ccfe9ef9e8", + "metadata": { + "tags": [] + }, + "source": [ + "### 4.3.2 Local Explainability" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "da1c513f-5225-4415-93b8-19220f4ae0e0", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "index = 0\n", + "X_train.iloc[[index]]" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "a0c91f93-f905-4b95-9087-d3173fa455c4", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "actual=y_train[index]\n", + "prediction=pipeline1.predict(X_train.iloc[[index]])[0]\n", + "print('actual: ',actual)\n", + "print('prediction: ',prediction)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "f463c6b3-e9ad-42e9-aafe-5dd611562c32", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "explainer.configure_explain_prediction(tabulator_type=\"kernel_shap\",\n", + " sampling={'technique': 'random', 'n_samples': 2000})\n", + "result_explain_prediction_kernel_shap = explainer.explain_prediction(X_train.iloc[[index]])\n", + "result_explain_prediction_kernel_shap[0].show_in_notebook()" + ] + }, + { + "cell_type": "markdown", + "id": "04cf260e-3a3b-45f2-9047-f573c31d18b0", + "metadata": { + "tags": [] + }, + "source": [ + "## 4.4 Bonus: Notebook Explorer" + ] + }, + { + "cell_type": "markdown", + "id": "3e6ed89d-34a4-482b-8e70-ade333a81a22", + "metadata": { + "tags": [] + }, + "source": [ + "# 5 Deployment" + ] + }, + { + "cell_type": "markdown", + "id": "ace2e128-9673-4adb-873a-559771d741bb", + "metadata": {}, + "source": [ + "## 5.1 Prepare the Artifacts (Serializiation) Using ADS" + ] + }, + { + "cell_type": "markdown", + "id": "6b05ef1e-ea60-4ead-9827-e8dd5dab1aa0", + "metadata": {}, + "source": [ + "* Create the files required for deployment and pack them together.\n", + "* Besides the model, the following required files are generated automatically: `score.py`, `runtime.yaml`, `input_schema.json`, `output_schema.json`\n", + "* Optional info can be added, such as: `inference_conda_env`, `training_conda_env`\n", + "\n", + "* The following frameworks have an automated prepare function: TensorFlow, PyTorch, scikit-learn, XGBoost, LightGBM, SparkPipelineModel, AutoMlx, transformers\n", + "* In addition" + ] + }, + { + "cell_type": "markdown", + "id": "cb7c0e6b-877b-43af-8b3e-6418c341cc9f", + "metadata": {}, + "source": [ + "ADS takes you through the deployment process in a simple way" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "ea8b8fa0-cdfa-4265-b659-017aef1f2b32", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "ads.set_auth(\"resource_principal\") # a signer for all ads operations, managed automatically" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "5d05ef6e-a6d9-499f-bcf7-890c1fc39793", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "automl_model = GenericModel(estimator=pipeline1, artifact_dir=\"automl_model_artifact2\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "35cc92ab-6285-46c5-9be9-92bd19832847", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "automl_model.summary_status()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "7c70f5ed-0ace-4987-9970-830310df3734", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "conda_env=\"automlx251_p311_cpu_x86_64_v2\"\n", + "automl_model.prepare(inference_conda_env=conda_env,\n", + " training_conda_env=conda_env,\n", + " use_case_type=UseCaseType.BINARY_CLASSIFICATION,\n", + " X_sample=X_test,\n", + " force_overwrite=True)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "e93a7a8e-bace-4d07-a0bc-1c3a029fcfec", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "automl_model.summary_status()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "e9573715-9015-44d0-b779-cfc005ec46ed", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "automl_model.verify(X_test.iloc[:20], auto_serialize_data=True)" + ] + }, + { + "cell_type": "markdown", + "id": "85a58e48-3cfa-4eac-86b6-ebcc0ac9545a", + "metadata": {}, + "source": [ + "## 5.2 Register" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "b4828b67-06ba-48e1-b425-6333b4dff9e8", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "model_id = automl_model.save(display_name=\"Demo Adults Income Model 1\")" + ] + }, + { + "cell_type": "markdown", + "id": "a651d3c2-d540-45c9-82d7-42112445736e", + "metadata": {}, + "source": [ + "## 5.3 Deploy" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "f1706b2d-73eb-4a46-992e-ea721ae5f81b", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "#automl_model.deploy(display_name=\"Demo Adults Income Model 1\")" + ] + }, + { + "cell_type": "markdown", + "id": "8d4757f6-7509-4516-b5c0-9eb635965a6b", + "metadata": { + "tags": [] + }, + "source": [ + "# 6. Inference " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "492f82fb-8090-497a-8a47-16324936dffb", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "auth = oci.auth.signers.get_resource_principals_signer()\n", + "\n", + "endpoint = ''\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "d8c01a8f-5e9a-40e0-8d26-c71a4ca4e6aa", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "body = {\n", + " \"data\": '''[\n", + " {\n", + " \"age\": 37,\n", + " \"workclass\": \"Private\",\n", + " \"education\": \"Bachelors\",\n", + " \"education-num\": 13,\n", + " \"marital-status\": \"Married-civ-spouse\",\n", + " \"occupation\": \"Exec-managerial\",\n", + " \"relationship\": \"Husband\",\n", + " \"race\": \"White\",\n", + " \"sex\": \"Male\",\n", + " \"capital-gain\": 500,\n", + " \"capital-loss\": 0,\n", + " \"hours-per-week\": 40,\n", + " \"native-country\": \"United-States\"\n", + " }\n", + " ]'''\n", + "}\n", + "# play with the capital-gain variable to see changes in prediction" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "3acd4b19-f89c-4488-a631-f22183adc39b", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "requests.post(endpoint, json=body, auth=auth).json()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "c5f3379b-5885-490d-aa72-2fa29dd4ea10", + "metadata": { + "jupyter": { + "source_hidden": true + }, + "tags": [] + }, + "outputs": [], + "source": [ + "df_example = pd.DataFrame([{\n", + " \"age\": 37,\n", + " \"workclass\": \"Private\",\n", + " \"education\": \"Bachelors\",\n", + " \"education-num\": 13,\n", + " \"marital-status\": \"Married-civ-spouse\",\n", + " \"occupation\": \"Exec-managerial\",\n", + " \"relationship\": \"Husband\",\n", + " \"race\": \"White\",\n", + " \"sex\": \"Male\",\n", + " \"capital-gain\": 0,\n", + " \"capital-loss\": 0,\n", + " \"hours-per-week\": 40,\n", + " \"native-country\": \"United-States\"\n", + "}])\n", + "\n", + "# Convert DataFrame to JSON (orientation='records' creates a list of dicts)\n", + "body = {\n", + " \"data_type\": \"pandas.core.frame.DataFrame\",\n", + " \"data\": df_example.to_json(orient='records')\n", + "}" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python [conda env:automlx251_p311_cpu_x86_64_v2]", + "language": "python", + "name": "conda-env-automlx251_p311_cpu_x86_64_v2-py" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.11.11" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} From 3af43f631aae81bbe9b5b46a22f92d43c4f96cc9 Mon Sep 17 00:00:00 2001 From: Assaf Rabinowicz Date: Mon, 10 Nov 2025 09:43:08 +0000 Subject: [PATCH 2/5] updating files structure --- .../your-first-data-science-project/LICENSE | 35 + ...rst Data Science Project prerequisites.pdf | Bin 0 -> 177961 bytes .../files/adult_income shared.ipynb | 1090 +++++++++++++++++ 3 files changed, 1125 insertions(+) create mode 100644 data-platform/data-science/oracle-data-science/your-first-data-science-project/LICENSE create mode 100644 data-platform/data-science/oracle-data-science/your-first-data-science-project/files/Guide for Your First Data Science Project prerequisites.pdf create mode 100644 data-platform/data-science/oracle-data-science/your-first-data-science-project/files/adult_income shared.ipynb diff --git a/data-platform/data-science/oracle-data-science/your-first-data-science-project/LICENSE b/data-platform/data-science/oracle-data-science/your-first-data-science-project/LICENSE new file mode 100644 index 000000000..8dc7c0703 --- /dev/null +++ b/data-platform/data-science/oracle-data-science/your-first-data-science-project/LICENSE @@ -0,0 +1,35 @@ +Copyright (c) 2025 Oracle and/or its affiliates. + +The Universal Permissive License (UPL), Version 1.0 + +Subject to the condition set forth below, permission is hereby granted to any +person obtaining a copy of this software, associated documentation and/or data +(collectively the "Software"), free of charge and under any and all copyright +rights in the Software, and any and all patent rights owned or freely +licensable by each licensor hereunder covering either (i) the unmodified +Software as contributed to or provided by such licensor, or (ii) the Larger +Works (as defined below), to deal in both + +(a) the Software, and +(b) any piece of software and/or hardware listed in the lrgrwrks.txt file if +one is included with the Software (each a "Larger Work" to which the Software +is contributed by such licensors), + +without restriction, including without limitation the rights to copy, create +derivative works of, display, perform, and distribute the Software and make, +use, sell, offer for sale, import, export, have made, and have sold the +Software and the Larger Work(s), and to sublicense the foregoing rights on +either these or other terms. + +This license is subject to the following condition: +The above copyright notice and either this complete permission notice or at +a minimum a reference to the UPL must be included in all copies or +substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. \ No newline at end of file diff --git a/data-platform/data-science/oracle-data-science/your-first-data-science-project/files/Guide for Your First Data Science Project prerequisites.pdf b/data-platform/data-science/oracle-data-science/your-first-data-science-project/files/Guide for Your First Data Science Project prerequisites.pdf new file mode 100644 index 0000000000000000000000000000000000000000..26650eeab9d1b7c692f68349718df26ae965b348 GIT binary patch literal 177961 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']).plot(cmap='Blues', values_format=\".1f\")\n", + "plt.title('Confusion Matrix - Test Set [%]')\n", + "\n", + "plt.savefig('confusion_matrix.png', dpi=300)\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "id": "4ad8baa1-1433-4408-9f80-5da52da656d3", + "metadata": {}, + "source": [ + "## 4.2 Saving the confusion matrices in the object storage" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "a300a62b-54c8-42a6-a6bc-ece51b63d631", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "signer = oci.auth.signers.get_resource_principals_signer()\n", + "object_storage = oci.object_storage.ObjectStorageClient({}, signer=signer)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "15df4394-f4c5-4cbe-9d66-21afcf3f575d", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "namespace = object_storage.get_namespace().data\n", + "bucket_name = \"data-science-reports\"\n", + "file_name = \"confusion_matrix2\"\n", + "local_path = \"/home/datascience/confusion_matrix.png\" # make sure to add '/home/datascience/' to the path." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "b2c34668-7716-4c93-86b8-5461cf5dda1d", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "upload_manager = UploadManager(object_storage, allow_parallel_uploads=True)\n", + "upload_manager.upload_file(\n", + " namespace_name=namespace,\n", + " bucket_name=bucket_name,\n", + " object_name=file_name,\n", + " file_path=local_path\n", + ")" + ] + }, + { + "cell_type": "markdown", + "id": "5d7f4c4b-08fc-4a13-8061-7590fd8217b1", + "metadata": {}, + "source": [ + "### 4.2.1 Bonus: Interacting with Object Storage and ADB" + ] + }, + { + "cell_type": "markdown", + "id": "4780a408-d303-4f12-b589-564ba8b1dc19", + "metadata": {}, + "source": [ + "#### 4.2.1 Reading a table from object storage" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "31350eaf-bfbc-46c8-8368-54e07f175ad4", + "metadata": {}, + "outputs": [], + "source": [ + "# import io\n", + "\n", + "# signer = oci.auth.signers.get_resource_principals_signer()\n", + "# object_storage = oci.object_storage.ObjectStorageClient({}, signer=signer)\n", + "\n", + "# namespace = object_storage.get_namespace().data\n", + "# bucket_name='data-science-reports'\n", + "# file_name= 'testagg_day_0.csv'\n", + "\n", + "# obj = object_storage.get_object(namespace, bucket_name, file_name)\n", + "# df = pd.read_csv(io.BytesIO(obj.data.content))" + ] + }, + { + "cell_type": "markdown", + "id": "1b22fd08-0d1e-4745-b64e-8e14df9ef0bd", + "metadata": {}, + "source": [ + "#### 4.2.1 Reading a table from the database" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "33f6c85f-c42d-4057-9d8b-e9b9514f0a39", + "metadata": {}, + "outputs": [], + "source": [ + "# import ads\n", + "\n", + "# connection_parameters = {\n", + "# \"user_name\": \"\",\n", + "# \"password\": \"\",\n", + "# \"service_name\": \"\",\n", + "# \"wallet_location\": \"/full/path/to/my_wallet.zip\", # download the wallet file from the databse\n", + "# }\n", + "\n", + "# df = pd.DataFrame.ads.read_sql(\n", + "# \"SELECT * FROM SH.SALES\",\n", + "# connection_parameters=connection_parameters,\n", + "# )\n" + ] + }, + { + "cell_type": "markdown", + "id": "2e2f9884-14ec-46e5-9a65-969d538f16f8", + "metadata": {}, + "source": [ + "## 4.3 Explainability" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "ad2091ea-9107-406e-83b5-a676891d28f4", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "explainer = automlx.MLExplainer(pipeline1,\n", + " X_train,\n", + " y_train,\n", + " target_names=[\"<=50K\", \">50K\"],\n", + " task=\"classification\")\n", + "\n", + "y_train = (y_train == \">50K\").astype(int)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "3b971fb2-e9c1-4091-a167-e3fe7db03574", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "result_explain_model_default = explainer.explain_model()" + ] + }, + { + "cell_type": "markdown", + "id": "43d9fb85-69a0-4e7f-bc5d-f47398650afa", + "metadata": {}, + "source": [ + "### 4.3.1 Gloabal Explainability" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "ce86b25a-f49e-4ab2-b5a6-14f86136089d", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "result_explain_model_default.show_in_notebook() # based on permutation" + ] + }, + { + "cell_type": "markdown", + "id": "67371780-8fbb-4c84-bf0e-21ccfe9ef9e8", + "metadata": { + "tags": [] + }, + "source": [ + "### 4.3.2 Local Explainability" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "da1c513f-5225-4415-93b8-19220f4ae0e0", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "index = 0\n", + "X_train.iloc[[index]]" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "a0c91f93-f905-4b95-9087-d3173fa455c4", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "actual=y_train[index]\n", + "prediction=pipeline1.predict(X_train.iloc[[index]])[0]\n", + "print('actual: ',actual)\n", + "print('prediction: ',prediction)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "f463c6b3-e9ad-42e9-aafe-5dd611562c32", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "explainer.configure_explain_prediction(tabulator_type=\"kernel_shap\",\n", + " sampling={'technique': 'random', 'n_samples': 2000})\n", + "result_explain_prediction_kernel_shap = explainer.explain_prediction(X_train.iloc[[index]])\n", + "result_explain_prediction_kernel_shap[0].show_in_notebook()" + ] + }, + { + "cell_type": "markdown", + "id": "04cf260e-3a3b-45f2-9047-f573c31d18b0", + "metadata": { + "tags": [] + }, + "source": [ + "## 4.4 Bonus: Notebook Explorer" + ] + }, + { + "cell_type": "markdown", + "id": "3e6ed89d-34a4-482b-8e70-ade333a81a22", + "metadata": { + "tags": [] + }, + "source": [ + "# 5 Deployment" + ] + }, + { + "cell_type": "markdown", + "id": "ace2e128-9673-4adb-873a-559771d741bb", + "metadata": {}, + "source": [ + "## 5.1 Prepare the Artifacts (Serializiation) Using ADS" + ] + }, + { + "cell_type": "markdown", + "id": "6b05ef1e-ea60-4ead-9827-e8dd5dab1aa0", + "metadata": {}, + "source": [ + "* Create the files required for deployment and pack them together.\n", + "* Besides the model, the following required files are generated automatically: `score.py`, `runtime.yaml`, `input_schema.json`, `output_schema.json`\n", + "* Optional info can be added, such as: `inference_conda_env`, `training_conda_env`\n", + "\n", + "* The following frameworks have an automated prepare function: TensorFlow, PyTorch, scikit-learn, XGBoost, LightGBM, SparkPipelineModel, AutoMlx, transformers\n", + "* In addition" + ] + }, + { + "cell_type": "markdown", + "id": "cb7c0e6b-877b-43af-8b3e-6418c341cc9f", + "metadata": {}, + "source": [ + "ADS takes you through the deployment process in a simple way" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "ea8b8fa0-cdfa-4265-b659-017aef1f2b32", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "ads.set_auth(\"resource_principal\") # a signer for all ads operations, managed automatically" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "5d05ef6e-a6d9-499f-bcf7-890c1fc39793", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "automl_model = GenericModel(estimator=pipeline1, artifact_dir=\"automl_model_artifact2\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "35cc92ab-6285-46c5-9be9-92bd19832847", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "automl_model.summary_status()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "7c70f5ed-0ace-4987-9970-830310df3734", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "conda_env=\"automlx251_p311_cpu_x86_64_v2\"\n", + "automl_model.prepare(inference_conda_env=conda_env,\n", + " training_conda_env=conda_env,\n", + " use_case_type=UseCaseType.BINARY_CLASSIFICATION,\n", + " X_sample=X_test,\n", + " force_overwrite=True)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "e93a7a8e-bace-4d07-a0bc-1c3a029fcfec", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "automl_model.summary_status()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "e9573715-9015-44d0-b779-cfc005ec46ed", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "automl_model.verify(X_test.iloc[:20], auto_serialize_data=True)" + ] + }, + { + "cell_type": "markdown", + "id": "85a58e48-3cfa-4eac-86b6-ebcc0ac9545a", + "metadata": {}, + "source": [ + "## 5.2 Register" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "b4828b67-06ba-48e1-b425-6333b4dff9e8", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "model_id = automl_model.save(display_name=\"Demo Adults Income Model 1\")" + ] + }, + { + "cell_type": "markdown", + "id": "a651d3c2-d540-45c9-82d7-42112445736e", + "metadata": {}, + "source": [ + "## 5.3 Deploy" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "f1706b2d-73eb-4a46-992e-ea721ae5f81b", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "#automl_model.deploy(display_name=\"Demo Adults Income Model 1\")" + ] + }, + { + "cell_type": "markdown", + "id": "8d4757f6-7509-4516-b5c0-9eb635965a6b", + "metadata": { + "tags": [] + }, + "source": [ + "# 6. Inference " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "492f82fb-8090-497a-8a47-16324936dffb", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "auth = oci.auth.signers.get_resource_principals_signer()\n", + "\n", + "endpoint = ''\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "d8c01a8f-5e9a-40e0-8d26-c71a4ca4e6aa", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "body = {\n", + " \"data\": '''[\n", + " {\n", + " \"age\": 37,\n", + " \"workclass\": \"Private\",\n", + " \"education\": \"Bachelors\",\n", + " \"education-num\": 13,\n", + " \"marital-status\": \"Married-civ-spouse\",\n", + " \"occupation\": \"Exec-managerial\",\n", + " \"relationship\": \"Husband\",\n", + " \"race\": \"White\",\n", + " \"sex\": \"Male\",\n", + " \"capital-gain\": 500,\n", + " \"capital-loss\": 0,\n", + " \"hours-per-week\": 40,\n", + " \"native-country\": \"United-States\"\n", + " }\n", + " ]'''\n", + "}\n", + "# play with the capital-gain variable to see changes in prediction" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "3acd4b19-f89c-4488-a631-f22183adc39b", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "requests.post(endpoint, json=body, auth=auth).json()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "c5f3379b-5885-490d-aa72-2fa29dd4ea10", + "metadata": { + "jupyter": { + "source_hidden": true + }, + "tags": [] + }, + "outputs": [], + "source": [ + "df_example = pd.DataFrame([{\n", + " \"age\": 37,\n", + " \"workclass\": \"Private\",\n", + " \"education\": \"Bachelors\",\n", + " \"education-num\": 13,\n", + " \"marital-status\": \"Married-civ-spouse\",\n", + " \"occupation\": \"Exec-managerial\",\n", + " \"relationship\": \"Husband\",\n", + " \"race\": \"White\",\n", + " \"sex\": \"Male\",\n", + " \"capital-gain\": 0,\n", + " \"capital-loss\": 0,\n", + " \"hours-per-week\": 40,\n", + " \"native-country\": \"United-States\"\n", + "}])\n", + "\n", + "# Convert DataFrame to JSON (orientation='records' creates a list of dicts)\n", + "body = {\n", + " \"data_type\": \"pandas.core.frame.DataFrame\",\n", + " \"data\": df_example.to_json(orient='records')\n", + "}" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python [conda env:automlx251_p311_cpu_x86_64_v2]", + "language": "python", + "name": "conda-env-automlx251_p311_cpu_x86_64_v2-py" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.11.11" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} From 5c2a3c2d25f2d3d5a2f63a108cebcf3122d61621 Mon Sep 17 00:00:00 2001 From: Ismail Syed Date: Mon, 10 Nov 2025 09:48:27 +0000 Subject: [PATCH 3/5] Add review date to project README Added review date to the README file. --- .../your-first-data-science-project/README.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/data-platform/data-science/oracle-data-science/your-first-data-science-project/README.md b/data-platform/data-science/oracle-data-science/your-first-data-science-project/README.md index 40d63ac4f..5fdfe1139 100644 --- a/data-platform/data-science/oracle-data-science/your-first-data-science-project/README.md +++ b/data-platform/data-science/oracle-data-science/your-first-data-science-project/README.md @@ -4,6 +4,8 @@ Your First Data Science Project demonstrates how to build a complete end-to-end data science workflow using Oracle Cloud Infrastructure (OCI) Data Science Platform. The project walks through the main stages of a typical machine learning lifecycle — from data preparation to model deployment and inference — using practical examples. +Reviewed: 2025.11.10 + # What You’ll Learn This project covers the following steps: @@ -34,4 +36,4 @@ Open the provided notebook in your OCI Data Science Notebook Session. Select the following conda environment: automlx234_p310_cpu_x86_64_v1 -Run the notebook cells in sequence to reproduce the complete workflow. \ No newline at end of file +Run the notebook cells in sequence to reproduce the complete workflow. From 16fe4e5e0f2c7c05a0bb30375a90194e474811b8 Mon Sep 17 00:00:00 2001 From: Ismail Syed Date: Mon, 10 Nov 2025 09:49:09 +0000 Subject: [PATCH 4/5] Update README with license and copyright information Add license information and copyright details to README. --- .../your-first-data-science-project/README.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/data-platform/data-science/oracle-data-science/your-first-data-science-project/README.md b/data-platform/data-science/oracle-data-science/your-first-data-science-project/README.md index 5fdfe1139..945f4f9df 100644 --- a/data-platform/data-science/oracle-data-science/your-first-data-science-project/README.md +++ b/data-platform/data-science/oracle-data-science/your-first-data-science-project/README.md @@ -37,3 +37,11 @@ Open the provided notebook in your OCI Data Science Notebook Session. Select the following conda environment: automlx234_p310_cpu_x86_64_v1 Run the notebook cells in sequence to reproduce the complete workflow. + +# License + +Copyright (c) 2025 Oracle and/or its affiliates. + +Licensed under the Universal Permissive License (UPL), Version 1.0. + +See [LICENSE](https://github.com/oracle-devrel/technology-engineering/blob/main/LICENSE) for more details. From 42790d3337f371d7a7a95d61dd1d369deed8a19d Mon Sep 17 00:00:00 2001 From: Ismail Syed Date: Mon, 10 Nov 2025 09:49:35 +0000 Subject: [PATCH 5/5] Delete data-platform/data-science/oracle-data-science/your-first-data-science-project/adult_income shared.ipynb --- .../adult_income shared.ipynb | 1090 ----------------- 1 file changed, 1090 deletions(-) delete mode 100644 data-platform/data-science/oracle-data-science/your-first-data-science-project/adult_income shared.ipynb diff --git a/data-platform/data-science/oracle-data-science/your-first-data-science-project/adult_income shared.ipynb b/data-platform/data-science/oracle-data-science/your-first-data-science-project/adult_income shared.ipynb deleted file mode 100644 index e2acb29c6..000000000 --- a/data-platform/data-science/oracle-data-science/your-first-data-science-project/adult_income shared.ipynb +++ /dev/null @@ -1,1090 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "id": "a325c96e-756f-4628-9a3d-9c6976e340e6", - "metadata": {}, - "source": [ - "Conda environment: automlx251_p311_cpu_x86_64_v2\\\n", - "Created Data: 09/11/2025\\\n", - "By: Assaf Rabinowicz, EMEA Data Science Team" - ] - }, - { - "cell_type": "markdown", - "id": "a736e6a0-a81e-47c7-b4b0-14d6b19ac027", - "metadata": { - "tags": [] - }, - "source": [ - "# 1. Import Packages\n" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "05af78e8-c25b-4d10-9d8d-1b1ab07ea30f", - "metadata": { - "tags": [] - }, - "outputs": [], - "source": [ - "# third-party open-source packages\n", - "import pandas as pd\n", - "import numpy as np\n", - "import matplotlib.pyplot as plt\n", - "from sklearn.model_selection import train_test_split\n", - "from sklearn.datasets import fetch_openml\n", - "from sklearn.metrics import confusion_matrix, ConfusionMatrixDisplay, accuracy_score\n", - "from xgboost import XGBClassifier\n", - "import os\n", - "import requests\n", - "\n", - "# Oracle packages\n", - "import automlx\n", - "from automlx import init\n", - "import oci\n", - "from oci.object_storage import UploadManager\n", - "import ads\n", - "from ads.common.model_metadata import UseCaseType\n", - "from ads.model import GenericModel" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "de12f611-a70e-4a02-9e87-b97fc3fc1a94", - "metadata": { - "tags": [] - }, - "outputs": [], - "source": [ - "# hash symbol used for commenting\n", - "# Ctrl+ Enter for running the code\n", - "# Enter for a new line" - ] - }, - { - "cell_type": "markdown", - "id": "56cbba26-8ac5-472b-a644-2b18b2905306", - "metadata": { - "tags": [] - }, - "source": [ - "# 2. Data Import, Exploration and Pre-Processing" - ] - }, - { - "cell_type": "markdown", - "id": "88efbdc4-5e9b-47c2-9288-6a893351d6c9", - "metadata": { - "tags": [] - }, - "source": [ - "## 2.1 Data Import" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "cba6a5ee-431f-423f-8a74-1ad122106941", - "metadata": { - "tags": [] - }, - "outputs": [], - "source": [ - "data = fetch_openml(name=\"adult\", version=2, as_frame=True) # https://www.openml.org/search?type=data&sort=version&status=any&order=asc&exact_name=adult\n", - "df = data.frame" - ] - }, - { - "cell_type": "markdown", - "id": "09607f12-8397-4851-b1f5-c55cb9602a8f", - "metadata": { - "tags": [] - }, - "source": [ - "### 2.1.1 Bonus: Importing from the atteached block volume" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "d922fe16-9240-4369-ac45-c20d74be1836", - "metadata": { - "tags": [] - }, - "outputs": [], - "source": [ - "#file_path=\"your_path\" # an example for a path: '/home/datascience/df_sample.csv'. Commonly you need to use /home/datascience before the visable path.\n", - "#df = pd.read_csv(file_path)" - ] - }, - { - "cell_type": "markdown", - "id": "5a7fd513-3096-4c9b-a543-f00600b869c9", - "metadata": {}, - "source": [ - "## 2.2 Data Structure" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "588a89f0-1b57-4b8a-bf9a-78501b5fe26a", - "metadata": { - "tags": [] - }, - "outputs": [], - "source": [ - "df.shape" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "72bcb542-cf3d-4d4b-82ec-052562f883c5", - "metadata": { - "tags": [] - }, - "outputs": [], - "source": [ - "df.head()" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "23a72a8d-d408-46f3-aa86-3d5c4ac8e2eb", - "metadata": { - "tags": [] - }, - "outputs": [], - "source": [ - "# We would like to create a formula that uses the features for predicting the target variable" - ] - }, - { - "cell_type": "markdown", - "id": "a77498e7-2ea6-4d16-ac2a-06fce64e3eb9", - "metadata": {}, - "source": [ - "## 2.2 Data Analysis and Processing" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "cf68aa72-abe3-45e7-b0f7-bfc072d8d0ee", - "metadata": { - "tags": [] - }, - "outputs": [], - "source": [ - "df.drop(['fnlwgt'], axis=1,inplace=True) # dropping 'sampling weights' column for simplification" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "47fec1cd-5592-41d0-ad6e-ed0172b7e220", - "metadata": { - "tags": [] - }, - "outputs": [], - "source": [ - "round(df.describe(percentiles=[]),1)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "70c6f89f-c6ff-457a-83d4-c280d3846453", - "metadata": { - "tags": [] - }, - "outputs": [], - "source": [ - "df.describe(include=['category']).round(1)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "fa2d9ed8-3044-4f02-bee7-18fa5e26b981", - "metadata": { - "tags": [] - }, - "outputs": [], - "source": [ - "df['class'] = (df['class'] == '>50K').astype(int)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "13bd0e3c-6d12-4579-92c0-f7168257d9a6", - "metadata": { - "tags": [] - }, - "outputs": [], - "source": [ - "df.head()" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "fe510568-98ef-4497-b9c9-7d83065aa69d", - "metadata": { - "tags": [] - }, - "outputs": [], - "source": [ - "pd.plotting.scatter_matrix(df)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "e479730e-0206-46a2-87ce-e2205f96dffa", - "metadata": { - "tags": [] - }, - "outputs": [], - "source": [ - "pd.plotting.scatter_matrix(df[['education-num','capital-gain']])" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "acbaf252-8cea-440b-a619-c6de9758e70c", - "metadata": { - "tags": [] - }, - "outputs": [], - "source": [ - "#!conda install seaborn -y" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "5388fd5b-b856-4b86-a369-57954c5be3e6", - "metadata": { - "tags": [] - }, - "outputs": [], - "source": [ - "import seaborn as sns\n", - "\n", - "sns.histplot(df, x='education-num', hue=\"class\",multiple=\"dodge\", bins=30)\n", - "plt.title(\"Distribution of Education-Num by Salery Class\")\n", - "plt.show()" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "0885ecb5-da3f-4cb1-9c0a-fc3bb4847e06", - "metadata": { - "tags": [] - }, - "outputs": [], - "source": [ - "sns.boxplot(data=df, x=\"class\", y=\"education-num\")\n", - "plt.title(\"Distribution of Education-Num by Salery Class\")\n", - "plt.show()" - ] - }, - { - "cell_type": "markdown", - "id": "232c7ebc-dd80-4eca-b103-1f017bf1daa0", - "metadata": { - "tags": [] - }, - "source": [ - "# 3. Model Training" - ] - }, - { - "cell_type": "markdown", - "id": "f411e856-5827-449d-a622-1d739ce4369b", - "metadata": {}, - "source": [ - "## 3.1 Train and Test Split" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "ca7bd821-27ba-495c-91ed-4683b3c541d4", - "metadata": { - "tags": [] - }, - "outputs": [], - "source": [ - "X = df.drop('class', axis=1)\n", - "y = df['class']" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "4fe9fee8-0190-4639-a886-adcf6ec45bdd", - "metadata": { - "tags": [] - }, - "outputs": [], - "source": [ - "X_train, X_test, y_train, y_test = train_test_split(X, y,test_size=0.3) # \n", - "\n", - "print(\"Train shape:\", X_train.shape)\n", - "print(\"Test shape:\", X_test.shape)" - ] - }, - { - "cell_type": "markdown", - "id": "0c5adb4f-f2a5-4d4d-a66a-404396fd1242", - "metadata": {}, - "source": [ - "## 3.2 Using AutoML Pipeline" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "5429e219-640d-40e1-bd9e-1726c4ebd9cd", - "metadata": { - "tags": [] - }, - "outputs": [], - "source": [ - "init(engine='local')" - ] - }, - { - "cell_type": "markdown", - "id": "3b4f6e81-87e5-42bc-bf57-0333da5f4601", - "metadata": {}, - "source": [ - "Optinal Tasks:\\\n", - "classification, regression, anomaly_detection, forecasting, recommendation\n", - "\n", - "Optional algorithms for classification are: \\\n", - "AdaBoostClassifier, DecisionTreeClassifier, ExtraTreesClassifier, TorchMLPClassifier\n", - "KNeighborsClassifier, LGBMClassifier\n", - "LinearSVC, LogisticRegression, RandomForestClassifier\n", - "SVC, XGBClassifier, GaussianNB" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "ab8b68fd-9c73-437f-81dd-108b68d047d5", - "metadata": { - "tags": [] - }, - "outputs": [], - "source": [ - "pipeline1 = automlx.Pipeline(task='classification',model_list=['LogisticRegression', 'RandomForestClassifier','XGBClassifier'],max_tuning_trials =10)\n", - "# model_list and max_tuning_trials were added to reduce fitting time. Removing them allows training a potentially better model.\n", - "# The automl pipeline has a rich api: https://docs.oracle.com/en-us/iaas/tools/automlx/latest/latest/automl.html " - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "05d17ab5-125c-4806-8ff8-f02b347873ab", - "metadata": { - "tags": [] - }, - "outputs": [], - "source": [ - "pipeline1.fit(X_train, y_train)" - ] - }, - { - "cell_type": "markdown", - "id": "d8231e29-8246-481b-9e51-8d4f7343a55f", - "metadata": {}, - "source": [ - "The pipeline includes several main steps:\n", - "1. Data pre-processing\n", - "2. Algorithm selection - based on existing data, predicting which algorithm is the best for your data \n", - "3. Sample size reduction try ('adaptive sampling')\n", - "4. Features reduction try ('feature selection')\n", - "5. Model hyperparameters selection ('model tuning')\n", - "6. Model fitting with the selected hypterparameters" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "2c11eac3-2c78-4d24-a846-7f9f9f2f1f72", - "metadata": { - "tags": [] - }, - "outputs": [], - "source": [ - "y_train_pred = pipeline1.predict(X_train)\n", - "y_test_pred = pipeline1.predict(X_test)\n", - "print(y_test_pred[0:20])" - ] - }, - { - "cell_type": "markdown", - "id": "bde41405-8df0-48f8-b895-589e2bf5f083", - "metadata": {}, - "source": [ - "### 3.2.1 Understanding the Automl Pipeline Selection" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "5cd90f60-07f0-4a96-bd75-b8e6a2370ace", - "metadata": { - "collapsed": true, - "jupyter": { - "outputs_hidden": true - }, - "tags": [] - }, - "outputs": [], - "source": [ - "#pipeline1.completed_trials_summary_" - ] - }, - { - "cell_type": "markdown", - "id": "54aa7349-0a0e-4255-aa61-0bae1659ba86", - "metadata": {}, - "source": [ - "## 3.3 Modeling with other open-sources" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "f554c534-b949-48f5-bf58-1abbdca961a7", - "metadata": { - "tags": [] - }, - "outputs": [], - "source": [ - "X_train_encoded = pd.get_dummies(X_train)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "04930ab0-5865-43a0-bbff-6f339179d5db", - "metadata": { - "tags": [] - }, - "outputs": [], - "source": [ - "model = XGBClassifier(max_depth=5, n_estimators=200, learning_rate=0.01,eval_metric='logloss')\n", - "model.fit(X_train_encoded, y_train)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "432bcdcb-f54d-45da-8e76-565af87b5102", - "metadata": { - "tags": [] - }, - "outputs": [], - "source": [ - "y_train_pred_xgboost = model.predict(X_train_encoded)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "f8c871ad-ed53-48de-bad1-249185657a26", - "metadata": { - "tags": [] - }, - "outputs": [], - "source": [ - "np.bincount(y_train_pred_xgboost)" - ] - }, - { - "cell_type": "markdown", - "id": "aca66782-a828-42fb-8ba4-429b8507a511", - "metadata": { - "tags": [] - }, - "source": [ - "# 4. Model Validation and Explainabilty" - ] - }, - { - "cell_type": "markdown", - "id": "a6796d7b-1839-43d2-9f82-d944c2511d70", - "metadata": { - "tags": [] - }, - "source": [ - "## 4.1 Model Validation" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "24eb410e-6b33-4e9a-aea8-a865316d2e77", - "metadata": { - "tags": [] - }, - "outputs": [], - "source": [ - "acc_test = accuracy_score(y_test, y_test_pred) * 100\n", - "print('Model Accuracy, test: ',acc_test.round(1))" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "0cdbbf74-570c-4d67-89c3-b80ce2d1d40d", - "metadata": { - "tags": [] - }, - "outputs": [], - "source": [ - "cm_test = confusion_matrix(y_test, y_test_pred)\n", - "cm_test_pct = cm_test / cm_test.sum(axis=1, keepdims=True) * 100\n", - "\n", - "ConfusionMatrixDisplay(cm_test_pct, display_labels=['<=50K', '>50K']).plot(cmap='Blues', values_format=\".1f\")\n", - "plt.title('Confusion Matrix - Test Set [%]')\n", - "\n", - "plt.savefig('confusion_matrix.png', dpi=300)\n", - "plt.show()" - ] - }, - { - "cell_type": "markdown", - "id": "4ad8baa1-1433-4408-9f80-5da52da656d3", - "metadata": {}, - "source": [ - "## 4.2 Saving the confusion matrices in the object storage" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "a300a62b-54c8-42a6-a6bc-ece51b63d631", - "metadata": { - "tags": [] - }, - "outputs": [], - "source": [ - "signer = oci.auth.signers.get_resource_principals_signer()\n", - "object_storage = oci.object_storage.ObjectStorageClient({}, signer=signer)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "15df4394-f4c5-4cbe-9d66-21afcf3f575d", - "metadata": { - "tags": [] - }, - "outputs": [], - "source": [ - "namespace = object_storage.get_namespace().data\n", - "bucket_name = \"data-science-reports\"\n", - "file_name = \"confusion_matrix2\"\n", - "local_path = \"/home/datascience/confusion_matrix.png\" # make sure to add '/home/datascience/' to the path." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "b2c34668-7716-4c93-86b8-5461cf5dda1d", - "metadata": { - "tags": [] - }, - "outputs": [], - "source": [ - "upload_manager = UploadManager(object_storage, allow_parallel_uploads=True)\n", - "upload_manager.upload_file(\n", - " namespace_name=namespace,\n", - " bucket_name=bucket_name,\n", - " object_name=file_name,\n", - " file_path=local_path\n", - ")" - ] - }, - { - "cell_type": "markdown", - "id": "5d7f4c4b-08fc-4a13-8061-7590fd8217b1", - "metadata": {}, - "source": [ - "### 4.2.1 Bonus: Interacting with Object Storage and ADB" - ] - }, - { - "cell_type": "markdown", - "id": "4780a408-d303-4f12-b589-564ba8b1dc19", - "metadata": {}, - "source": [ - "#### 4.2.1 Reading a table from object storage" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "31350eaf-bfbc-46c8-8368-54e07f175ad4", - "metadata": {}, - "outputs": [], - "source": [ - "# import io\n", - "\n", - "# signer = oci.auth.signers.get_resource_principals_signer()\n", - "# object_storage = oci.object_storage.ObjectStorageClient({}, signer=signer)\n", - "\n", - "# namespace = object_storage.get_namespace().data\n", - "# bucket_name='data-science-reports'\n", - "# file_name= 'testagg_day_0.csv'\n", - "\n", - "# obj = object_storage.get_object(namespace, bucket_name, file_name)\n", - "# df = pd.read_csv(io.BytesIO(obj.data.content))" - ] - }, - { - "cell_type": "markdown", - "id": "1b22fd08-0d1e-4745-b64e-8e14df9ef0bd", - "metadata": {}, - "source": [ - "#### 4.2.1 Reading a table from the database" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "33f6c85f-c42d-4057-9d8b-e9b9514f0a39", - "metadata": {}, - "outputs": [], - "source": [ - "# import ads\n", - "\n", - "# connection_parameters = {\n", - "# \"user_name\": \"\",\n", - "# \"password\": \"\",\n", - "# \"service_name\": \"\",\n", - "# \"wallet_location\": \"/full/path/to/my_wallet.zip\", # download the wallet file from the databse\n", - "# }\n", - "\n", - "# df = pd.DataFrame.ads.read_sql(\n", - "# \"SELECT * FROM SH.SALES\",\n", - "# connection_parameters=connection_parameters,\n", - "# )\n" - ] - }, - { - "cell_type": "markdown", - "id": "2e2f9884-14ec-46e5-9a65-969d538f16f8", - "metadata": {}, - "source": [ - "## 4.3 Explainability" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "ad2091ea-9107-406e-83b5-a676891d28f4", - "metadata": { - "tags": [] - }, - "outputs": [], - "source": [ - "explainer = automlx.MLExplainer(pipeline1,\n", - " X_train,\n", - " y_train,\n", - " target_names=[\"<=50K\", \">50K\"],\n", - " task=\"classification\")\n", - "\n", - "y_train = (y_train == \">50K\").astype(int)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "3b971fb2-e9c1-4091-a167-e3fe7db03574", - "metadata": { - "tags": [] - }, - "outputs": [], - "source": [ - "result_explain_model_default = explainer.explain_model()" - ] - }, - { - "cell_type": "markdown", - "id": "43d9fb85-69a0-4e7f-bc5d-f47398650afa", - "metadata": {}, - "source": [ - "### 4.3.1 Gloabal Explainability" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "ce86b25a-f49e-4ab2-b5a6-14f86136089d", - "metadata": { - "tags": [] - }, - "outputs": [], - "source": [ - "result_explain_model_default.show_in_notebook() # based on permutation" - ] - }, - { - "cell_type": "markdown", - "id": "67371780-8fbb-4c84-bf0e-21ccfe9ef9e8", - "metadata": { - "tags": [] - }, - "source": [ - "### 4.3.2 Local Explainability" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "da1c513f-5225-4415-93b8-19220f4ae0e0", - "metadata": { - "tags": [] - }, - "outputs": [], - "source": [ - "index = 0\n", - "X_train.iloc[[index]]" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "a0c91f93-f905-4b95-9087-d3173fa455c4", - "metadata": { - "tags": [] - }, - "outputs": [], - "source": [ - "actual=y_train[index]\n", - "prediction=pipeline1.predict(X_train.iloc[[index]])[0]\n", - "print('actual: ',actual)\n", - "print('prediction: ',prediction)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "f463c6b3-e9ad-42e9-aafe-5dd611562c32", - "metadata": { - "tags": [] - }, - "outputs": [], - "source": [ - "explainer.configure_explain_prediction(tabulator_type=\"kernel_shap\",\n", - " sampling={'technique': 'random', 'n_samples': 2000})\n", - "result_explain_prediction_kernel_shap = explainer.explain_prediction(X_train.iloc[[index]])\n", - "result_explain_prediction_kernel_shap[0].show_in_notebook()" - ] - }, - { - "cell_type": "markdown", - "id": "04cf260e-3a3b-45f2-9047-f573c31d18b0", - "metadata": { - "tags": [] - }, - "source": [ - "## 4.4 Bonus: Notebook Explorer" - ] - }, - { - "cell_type": "markdown", - "id": "3e6ed89d-34a4-482b-8e70-ade333a81a22", - "metadata": { - "tags": [] - }, - "source": [ - "# 5 Deployment" - ] - }, - { - "cell_type": "markdown", - "id": "ace2e128-9673-4adb-873a-559771d741bb", - "metadata": {}, - "source": [ - "## 5.1 Prepare the Artifacts (Serializiation) Using ADS" - ] - }, - { - "cell_type": "markdown", - "id": "6b05ef1e-ea60-4ead-9827-e8dd5dab1aa0", - "metadata": {}, - "source": [ - "* Create the files required for deployment and pack them together.\n", - "* Besides the model, the following required files are generated automatically: `score.py`, `runtime.yaml`, `input_schema.json`, `output_schema.json`\n", - "* Optional info can be added, such as: `inference_conda_env`, `training_conda_env`\n", - "\n", - "* The following frameworks have an automated prepare function: TensorFlow, PyTorch, scikit-learn, XGBoost, LightGBM, SparkPipelineModel, AutoMlx, transformers\n", - "* In addition" - ] - }, - { - "cell_type": "markdown", - "id": "cb7c0e6b-877b-43af-8b3e-6418c341cc9f", - "metadata": {}, - "source": [ - "ADS takes you through the deployment process in a simple way" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "ea8b8fa0-cdfa-4265-b659-017aef1f2b32", - "metadata": { - "tags": [] - }, - "outputs": [], - "source": [ - "ads.set_auth(\"resource_principal\") # a signer for all ads operations, managed automatically" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "5d05ef6e-a6d9-499f-bcf7-890c1fc39793", - "metadata": { - "tags": [] - }, - "outputs": [], - "source": [ - "automl_model = GenericModel(estimator=pipeline1, artifact_dir=\"automl_model_artifact2\")" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "35cc92ab-6285-46c5-9be9-92bd19832847", - "metadata": { - "tags": [] - }, - "outputs": [], - "source": [ - "automl_model.summary_status()" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "7c70f5ed-0ace-4987-9970-830310df3734", - "metadata": { - "tags": [] - }, - "outputs": [], - "source": [ - "conda_env=\"automlx251_p311_cpu_x86_64_v2\"\n", - "automl_model.prepare(inference_conda_env=conda_env,\n", - " training_conda_env=conda_env,\n", - " use_case_type=UseCaseType.BINARY_CLASSIFICATION,\n", - " X_sample=X_test,\n", - " force_overwrite=True)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "e93a7a8e-bace-4d07-a0bc-1c3a029fcfec", - "metadata": { - "tags": [] - }, - "outputs": [], - "source": [ - "automl_model.summary_status()" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "e9573715-9015-44d0-b779-cfc005ec46ed", - "metadata": { - "tags": [] - }, - "outputs": [], - "source": [ - "automl_model.verify(X_test.iloc[:20], auto_serialize_data=True)" - ] - }, - { - "cell_type": "markdown", - "id": "85a58e48-3cfa-4eac-86b6-ebcc0ac9545a", - "metadata": {}, - "source": [ - "## 5.2 Register" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "b4828b67-06ba-48e1-b425-6333b4dff9e8", - "metadata": { - "tags": [] - }, - "outputs": [], - "source": [ - "model_id = automl_model.save(display_name=\"Demo Adults Income Model 1\")" - ] - }, - { - "cell_type": "markdown", - "id": "a651d3c2-d540-45c9-82d7-42112445736e", - "metadata": {}, - "source": [ - "## 5.3 Deploy" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "f1706b2d-73eb-4a46-992e-ea721ae5f81b", - "metadata": { - "tags": [] - }, - "outputs": [], - "source": [ - "#automl_model.deploy(display_name=\"Demo Adults Income Model 1\")" - ] - }, - { - "cell_type": "markdown", - "id": "8d4757f6-7509-4516-b5c0-9eb635965a6b", - "metadata": { - "tags": [] - }, - "source": [ - "# 6. Inference " - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "492f82fb-8090-497a-8a47-16324936dffb", - "metadata": { - "tags": [] - }, - "outputs": [], - "source": [ - "auth = oci.auth.signers.get_resource_principals_signer()\n", - "\n", - "endpoint = ''\n" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "d8c01a8f-5e9a-40e0-8d26-c71a4ca4e6aa", - "metadata": { - "tags": [] - }, - "outputs": [], - "source": [ - "body = {\n", - " \"data\": '''[\n", - " {\n", - " \"age\": 37,\n", - " \"workclass\": \"Private\",\n", - " \"education\": \"Bachelors\",\n", - " \"education-num\": 13,\n", - " \"marital-status\": \"Married-civ-spouse\",\n", - " \"occupation\": \"Exec-managerial\",\n", - " \"relationship\": \"Husband\",\n", - " \"race\": \"White\",\n", - " \"sex\": \"Male\",\n", - " \"capital-gain\": 500,\n", - " \"capital-loss\": 0,\n", - " \"hours-per-week\": 40,\n", - " \"native-country\": \"United-States\"\n", - " }\n", - " ]'''\n", - "}\n", - "# play with the capital-gain variable to see changes in prediction" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "3acd4b19-f89c-4488-a631-f22183adc39b", - "metadata": { - "tags": [] - }, - "outputs": [], - "source": [ - "requests.post(endpoint, json=body, auth=auth).json()" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "c5f3379b-5885-490d-aa72-2fa29dd4ea10", - "metadata": { - "jupyter": { - "source_hidden": true - }, - "tags": [] - }, - "outputs": [], - "source": [ - "df_example = pd.DataFrame([{\n", - " \"age\": 37,\n", - " \"workclass\": \"Private\",\n", - " \"education\": \"Bachelors\",\n", - " \"education-num\": 13,\n", - " \"marital-status\": \"Married-civ-spouse\",\n", - " \"occupation\": \"Exec-managerial\",\n", - " \"relationship\": \"Husband\",\n", - " \"race\": \"White\",\n", - " \"sex\": \"Male\",\n", - " \"capital-gain\": 0,\n", - " \"capital-loss\": 0,\n", - " \"hours-per-week\": 40,\n", - " \"native-country\": \"United-States\"\n", - "}])\n", - "\n", - "# Convert DataFrame to JSON (orientation='records' creates a list of dicts)\n", - "body = {\n", - " \"data_type\": \"pandas.core.frame.DataFrame\",\n", - " \"data\": df_example.to_json(orient='records')\n", - "}" - ] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python [conda env:automlx251_p311_cpu_x86_64_v2]", - "language": "python", - "name": "conda-env-automlx251_p311_cpu_x86_64_v2-py" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.11.11" - } - }, - "nbformat": 4, - "nbformat_minor": 5 -}