From e88c13cf073804a4a07fcad5f8c5f464e71438e0 Mon Sep 17 00:00:00 2001 From: Harshikha <85279763+Har8899@users.noreply.github.com> Date: Mon, 29 Jul 2024 20:37:56 +0530 Subject: [PATCH] add files --- 03Handing Numrical data/00Problem.py | 20 +++++++++ 03Handing Numrical data/01Problem.py | 40 ++++++++++++++++++ 03Handing Numrical data/02Problem.py | 34 +++++++++++++++ 03Handing Numrical data/03Problem.py | 0 03Handing Numrical data/04Problem.py | 0 03Handing Numrical data/05Problem.py | 0 03Handing Numrical data/06Problem.py | 0 03Handing Numrical data/07Problem.py | 0 03Handing Numrical data/08Problem.py | 0 03Handing Numrical data/09Problem.py | 0 03Handing Numrical data/10Problem.py | 0 03Handing Numrical data/11Problem.py | 0 03Handing Numrical data/Images/Normalizer.png | Bin 0 -> 3146 bytes .../Images/NormalizerL1.png | Bin 0 -> 2408 bytes .../Images/NormalizerL2.png | Bin 0 -> 3146 bytes .../Images/Screenshot 2024-07-29 193529.png | Bin 0 -> 7759 bytes .../Images/Standardization.png | Bin 0 -> 2045 bytes 17 files changed, 94 insertions(+) create mode 100644 03Handing Numrical data/00Problem.py create mode 100644 03Handing Numrical data/01Problem.py create mode 100644 03Handing Numrical data/02Problem.py create mode 100644 03Handing Numrical data/03Problem.py create mode 100644 03Handing Numrical data/04Problem.py create mode 100644 03Handing Numrical data/05Problem.py create mode 100644 03Handing Numrical data/06Problem.py create mode 100644 03Handing Numrical data/07Problem.py create mode 100644 03Handing Numrical data/08Problem.py create mode 100644 03Handing Numrical data/09Problem.py create mode 100644 03Handing Numrical data/10Problem.py create mode 100644 03Handing Numrical data/11Problem.py create mode 100644 03Handing Numrical data/Images/Normalizer.png create mode 100644 03Handing Numrical data/Images/NormalizerL1.png create mode 100644 03Handing Numrical data/Images/NormalizerL2.png create mode 100644 03Handing Numrical data/Images/Screenshot 2024-07-29 193529.png create mode 100644 03Handing Numrical data/Images/Standardization.png diff --git a/03Handing Numrical data/00Problem.py b/03Handing Numrical data/00Problem.py new file mode 100644 index 0000000..6bc229f --- /dev/null +++ b/03Handing Numrical data/00Problem.py @@ -0,0 +1,20 @@ +# ReScaling a feature + +# Load the Library +import numpy as np +from sklearn import preprocessing + +# Create Feature +feature = np.array([[-900.5], + [-300.1], + [0], + [300.1], + [900.9]]) + +# Create Scaler +minmax_Scale = preprocessing.MinMaxScaler(feature_range=(0, 1)) +# Scale feature +scaled_feature = minmax_Scale.fit_transform(feature) + +# show feature +print(scaled_feature) \ No newline at end of file diff --git a/03Handing Numrical data/01Problem.py b/03Handing Numrical data/01Problem.py new file mode 100644 index 0000000..c94665a --- /dev/null +++ b/03Handing Numrical data/01Problem.py @@ -0,0 +1,40 @@ +# Standardizing a Feature + +# Load the Libraries +import numpy as np +from sklearn.preprocessing import * + +# Create feature +x = np.array([[-1000.1], + [-200.2], + [500.3], + [600.6], + [9000.9]]) + +# Create Feature +scaler = StandardScaler() + +# Transform the feature +standardized = scaler.fit_transform(x) + +# show the feature +print(standardized) + +# print mean and std +print('mean :', round(standardized.mean())) +print('Std', standardized.std()) + + +''' +If our data has significant outliers, it can negatively impact our standardization by +affecting the feature’s mean and variance. In this scenario, it is often helpful to instead +rescale the feature using the median and quartile range. In scikit-learn, we do this +using the RobustScaler method +''' +# Create scaler +robust_scaler = RobustScaler() + +# Transform Feature +tf = robust_scaler.fit_transform(x) +# show the feature +print(tf) diff --git a/03Handing Numrical data/02Problem.py b/03Handing Numrical data/02Problem.py new file mode 100644 index 0000000..70976da --- /dev/null +++ b/03Handing Numrical data/02Problem.py @@ -0,0 +1,34 @@ +# Normalizing Observation + +# Load the libraries +import numpy as np +from sklearn.preprocessing import Normalizer + +# Crate a featture matrix +features = np.array([[0.5, 0.5], + [1.1, 3.5], + [1.5, 20.2], + [1.64, 34.5], + [10.9, 3.3]]) + +# create normalizer +normalizer = Normalizer(norm='l2') + +''' +s. Normalizer +rescales the values on individual observations to have unit norm (the sum of their +lengths is 1). This type of rescaling is often used when we have many equivalent fea‐ +tures (e.g., text classification when every word or n-word group is a feature). +''' +# Transform feature matrix +print(normalizer.transform(features)) + +''' +Normalizer provides three norm options with +Euclidean norm (often called L2) + +''' + +# Transform feature matrix +f_l1_norm = Normalizer(norm='l1').transform(features) +print(f_l1_norm) \ No newline at end of file diff --git a/03Handing Numrical data/03Problem.py b/03Handing Numrical data/03Problem.py new file mode 100644 index 0000000..e69de29 diff --git a/03Handing Numrical data/04Problem.py b/03Handing Numrical data/04Problem.py new file mode 100644 index 0000000..e69de29 diff --git a/03Handing Numrical data/05Problem.py b/03Handing Numrical data/05Problem.py new file mode 100644 index 0000000..e69de29 diff --git a/03Handing Numrical data/06Problem.py b/03Handing Numrical data/06Problem.py new file mode 100644 index 0000000..e69de29 diff --git a/03Handing Numrical data/07Problem.py b/03Handing Numrical data/07Problem.py new file mode 100644 index 0000000..e69de29 diff --git a/03Handing Numrical data/08Problem.py b/03Handing Numrical data/08Problem.py new file mode 100644 index 0000000..e69de29 diff --git a/03Handing Numrical data/09Problem.py b/03Handing Numrical data/09Problem.py new file mode 100644 index 0000000..e69de29 diff --git a/03Handing Numrical data/10Problem.py b/03Handing Numrical data/10Problem.py new file mode 100644 index 0000000..e69de29 diff --git a/03Handing Numrical data/11Problem.py b/03Handing Numrical data/11Problem.py new file mode 100644 index 0000000..e69de29 diff --git a/03Handing Numrical data/Images/Normalizer.png b/03Handing Numrical data/Images/Normalizer.png new file mode 100644 index 0000000000000000000000000000000000000000..a80f3892f5f259a740782dad7ec5b4582a80e1b6 GIT binary patch literal 3146 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 Hwj=s~EawAK literal 0 HcmV?d00001 diff --git a/03Handing Numrical data/Images/NormalizerL1.png b/03Handing Numrical data/Images/NormalizerL1.png new file mode 100644 index 0000000000000000000000000000000000000000..af13de59330f1886789383ffd17fcbb4537840d3 GIT binary patch literal 2408 zcmb7`X*d)L8-~Z)7;737V`7+NPmwXn5F?UE$u^ekdyHjl&5`VJ5G6@Sl6@KbGNQ&9 zB5`cPSjL3N8V*w!pY!+o^?g5{_qp!tdaw6-pMTF2b2B4;kT?hc0Pq{%Ft~f-X(uuS za-U3b!^+_kV++1(qz|YbgshwZr>CB&9soc{=RI`hI$<8{4clM6tB63HI#cRJ*DEGJ5JYms*>BtiVbf=Mys=M6UA*HOFPN1&~<7K4nO+Y z=A+S_2pc~x-wDMjOH9?~m}LWo?KHk|Of(|Ng^f**bM$$lEbtHM)_uPuYiU2>+`YIlL|VBNZ| z2#_lDd7>=8qgQ^b4r~)+*IcamaH}w=^Plp_x*-@!U(~(SpnH#GCO8ogHuAtq@nzby2IWR82~fHn<4R^c4oFH)=8{*=8K|D$=;QMs5n^tT8Ox|MDDnm-fg8-Z;+W?Ac)CX z^GP~KK8Rd2x2EVuStn;aS0k|27~l^! zA`86nsUY2I!H!s-3c4wL+!7Q0lex>6R&G&=-6mb+c*$wm*28FfYMvcZ@19 zORP4~8(?*y+VetIGOir#Cjc}Yoy|k$&;orm`Z>R|OwaaIlLz6B=5Txp^-KoRM=W|q zPI$|qG&|h<;ryKp;na0nlXUs;w#eIO{bW~Kba2dVb0K`*1M{o~j)$3xtxqc2x}tUC zH+vYD6lI|)dVUM1sVb9+u1^TSy&qjP#190(&ZM9tM+K8R5P}n#fs1}{Dk|%M<0qXF z0i_Zuz%oreFXb;;EHz&m**#prrRN=P;SiA<(pGLlxtNt=7RRl{ zKy4-6%ZdEw)zY|nT}Ac=c|a|>jG3&PJI$)2<^Dyr zZvdJSD)B8vku7~x1iPZ}CxQ+RY?WYY)Y-FqfJDG9Jxsbmq}{@X%YXGJziKmWHSDKQBbTbfD??(`xSgF9 z&Web$pZCmZw|w?^W>|~wyw7WV!Oi$zQoUjYB-Xc_aH(;X!lT$C1p}YE+s~AbZXqRNX<^b>8!WS8Ey)+xhAZY0Xr`d0603mZGO=e@@_w>7l;sOa#sZ%R#HuTlU51$;9$|`q~lC>;4KbL=qV*9S< zj~=nN-fk8;(|ViNoyewj z8En&f!O_wfqh}*4iFkk*SKg25piVtCw~cYZ`DQO`*-zI2>OGXn#S__1A3Ozj^L}4o zDZV!7WpK9Kf+iX{cQiC{5G49zn@%O}HHw}Kz zkf|Umt1>Yq(}>JI!VCC?b7Z_uyN`C8t5?kfXLZ95Utl#pWYOTUH9TE*>AaoFccIvk z)h2+K!{Yn#z+g!>qAg=$8nW2juvS73^jliuUCSmW7F6Ljvo|Is%aL4$EY~Zc_5)}S zh6mI1AEA>gV=YlXmDM)1y=bbmGn*)sv|cJvVp0C&!0SYrN5w=TLu9$rH->bgWEjwo4o_p)h#K z6Lox+lJPMkZ+*I%rUtLWlvz7zlU!VAM4D0lwdz?S?^Wlnxcy6{`gWUuUac53+R`Ls z;^~V?u^O!`sky@+QWK|S@Fh;$;GJzz7P5B5(#&Wb)%PT3gk3K$MM7k;CBNcvQG_V+ z>h3vhPW1Hjz-OmjUq9dbOc8}sn)7tHNb=xXmo-JbTPz>-@0T2nuVOp?G^%vScLYOV kJp7jbS8e$3Wp?`UO%d#cNZY}-lXe6!zHVkvt?v}`AGxT6!vFvP literal 0 HcmV?d00001 diff --git a/03Handing Numrical data/Images/NormalizerL2.png b/03Handing Numrical data/Images/NormalizerL2.png new file mode 100644 index 0000000000000000000000000000000000000000..a80f3892f5f259a740782dad7ec5b4582a80e1b6 GIT binary patch literal 3146 zcma);_dgVl1I91ePBulzJe!N`?TpJRBjcR?F+1B4&Nx}8b0}0UgtGSt@sUmDg_O+>Ice|Vnf_5SJk^_}#{M4z6PlNJB~&_fL%X4gA+9WXWJb=zx~6R+n+pqail zpmOBy<~5MJYZ+?+05v$ezfKg_Oyg%@69@p@>iRD?`h1IB0RXxMC`8L5)P8rC#=_i+ zlZq78pAEDPFpz|!RD9Gxx_L6Nh=gbmm|;4{>@%*mUfuWY7Gx0210HC zyZm|+FNbA-`ql(6u<(fDL;mTdsqz`(&2w;6(K^o<< z1mu*8Xq3kI$ywg%Si@?W<2_!z*q7Ngp{iG*DEXd5bK)?sX;-NSU(;4wU8-xGfaAC) zE6qbc(NmToYbGqM4oK@+_<)DL1oO-HzO7J!;qECH1G|!Xa1*cLlNM#BD&h&33yK8} z;&3s9y8J$Y?$k25rmoZU%-2DT?z=b-AdU?EJeB+d4+TN=c=8JMP1iUl>q}$Gtqd)c zvi$i|tA-GXJDASQS1-2L_&k zy0MV9g*0kcdVaZJ0qCq7e8;Ohm6$=2 zjgYRt9j(#FkuQEXK{43Ppwzz6xOZ*rx**A3)AxUF*L85kI^-enY0JIuWma%=(a)ly z;teZLWsqywp0M8?lu<+{-J+YTpm%WCOA)VqF~NA3%k)(#l^D*I}db zcP@O6@MrNw`Oq>*Ik4|!aJfX#Nt?Q^hupm zr|#8&HJebrKbPFf$vTS@X%E~hk6ZD_CE4`3rUe}uC3?7})jtk<>~ z+IwJWf|*3zD@p5GF(6e}!M!()3{c&;MUIuS#@S`XWiTsOC=nD*P`YA)}pnK-* zYAk1xqZXSgFt->;Vjamn>N7x@zP&BiP8(eEqphD#YkiQ%c9*|vn8kas?GO;qT@Tf= zPm4y-aX1@3rHaz>-MG7r;FXBVQcwr@}mK+#gJfHZFWxu-36wvgM)kfgVN*01oyzp*iluD zzA>jRk7Tr6VnJ@Wqw$_%1S(XZ_tPagFQ2#?b`k6DXBfQ7Onsl|*XJdNugEc1^O+6d z&#VY#Ks|_PFN8;4J&d0ziX|PrfnkQkQ^WgH+HMX;0nr~y!(9&FRg;N>jw~sM`yZaT zjGSuD=CCInTy|}Ony70ARb@`lvhsg9F(;e5<#JIfZYH;4CJsbWP8Bs#f%6a~mpfX1 zc}MaLPH2CZimM)C z7MwjRAtkI}JL{8PTiUB`o1T+tvi5A`10i?TPCs>e+Lp5f+TV~@ zVs-l`z1(OuQxA#SF>*r~7WfMfNHrPqjOoA%EhBk_{)HLTdOFyYIJq{CC%EdDo<-C` zm*B%~$z^2&s5|r%g~5d_YlK-$nYXQy2DllPI(LX4?^NfDb@u^zZXJ9T6Rg1Zx~xYV z-fiVgOl6BCcjf?D^y%~MzK7j{*GEad1FmxDFx{@E^oGrT=a*Z%rPioaVu3l@{=W23 z8|~##(bB@%tEVR;D_bCmg}hl(6hp?C2j9&f7py-rt$oX7&>BQfW_)5PZQa>RfF7B% z=z~?CdzAXE>Y9n!&!V^l zj;k=XJ0TQRGX+FpbNf$E{uPjoTLmP1Tz@(>1BAEObeW*+Q{=}YIJv{Io7tBblS3{u z7TGkU2mP^udNl5YT+!+;<_f+jAQc3X+N$5OK$CTpS(D)RA}+o=owpjHc zXKn2~8ap^hX!49YdE{6w&&=!+FT+xMZd80ri}GY)vTf!5xl;I1sLAsMGv>4mB=t6O ziim3eb6cU98LR=<{Pp3{PRipEx37E#N{Ll%ZcF3X_PkaBDp|yu)#0IZ==Z?~AEUy= zm7$&TL+2jKnZmc?a8r)06Yk9F5wLi=G8D=1>V(8V2X9$(lblOT6CnL+@|RIi(2uZF zMSOTEvXvpSOuqA4g--T@8QkqFWoN$?3*~L2|JgiA!v4b1_}Yl1dq20=aqIAH6c6Rb zZ^|FcG%%vAIGh9Xcq7Pkm}F{htmEKXpex2POk^ea*4WGtlHg+$lKU#_l|uUh2VGKL zX$EN@y6y$VTEEUDd2FJ^Ri6g6|Q{3GE*WLDh z6`sKXU3l+2Hw5QPA>CP;Yk6>vGN(J-x$JMvFln+jRQNi_t@QI}ae28#Pifo;Lq&50 zp_I4$t%jEM;nwBG5Z>M+ZJ`L+5eQRCE#N<47aX1Hs`q9~`E7zens~e+`XC-k?5@_@ zsM$D7C~F8R&}%NsM8TW!(Pw92)Z}EX--;MehtNF<=}>ueTr$hbhm%Lbh^n zY!c51`P;a?y58bxl}x6vXG32;Uw9CXa-$jgtV@ph#MdGu-|e#>?5~EB0t4#Ll}5W* zb29^)?P>_G1zIFSBU>ic3!{B6*n6knid5zXxVp+aI<_mb&dJ*G8aU z$eRCxg$0YO&^fyKG^ti!p{wY>*35Fn+TCML^4r?6sfYrP+|FFNM5#_Sh{N-RwHh9w zv%-)>kJ_?-M!(JEm>3xu$;?h#9+~rG-!PqiodQOPDGHefDfo4W*5rF9JjTF`R&h@< zDEeh^$!u_yrq7?ZWpZ3zXV!qZyZm0DzWsm3{GU`8MPJ>d?aZh8mz!Gg+W!GiT@y&9 Hwj=s~EawAK literal 0 HcmV?d00001 diff --git a/03Handing Numrical data/Images/Screenshot 2024-07-29 193529.png b/03Handing Numrical data/Images/Screenshot 2024-07-29 193529.png new file mode 100644 index 0000000000000000000000000000000000000000..e18b0f284500e0cf4951727e983fcb4329e5efe2 GIT binary patch literal 7759 zcmb7pRZtv2*Cp-@8W`(hI)D3TpHNilT~gVQx+5Uwd1 z;sqJ1!B5jRD^h}pLF#|V1`yL6xGZg&t=r@;R)wDC29VT(WV1ALh(|kZ=oXU!U5JNd z&`*$4I3}$V)5+O;W*SK(JRAr~)3ZH$g8TH{F?h|>?EQLllw;xm6A`V4l`uB+TQE3v zzaJavBQQn|1Oub0;ksEP`?X=fKxtz}e^#_Swq#LY@Dxyi9IeM9k{UA@%=zEJQ~8hY z%2x)xGN{|Vg;9cFw3rR?HsqWpds*Sm#h;9}z>Pq`!v00B}F0?L2SzXKzhX@ZI&X?mobH}!?_xu(q z+|k-9$cy37o9ejD3Z9l^(`~52L&^)cBk99}=`wn_KrFU_4?X#Fu ze0VVKl^*!_QVqT)M(3;6ru(Vzy};-?Bv;>*I7szWX3jZ)2lBMz451yE8)|x zpT^Ido(G%(Mm1TUgMZ!cNe6eG&|Dp{C`}Wn;d>SYpyUd)1Or;{d+s%xfvSfaeo$!W z=$FS8`bPPHO$;#5_BvIZJDN(sm@Z8_Dp%;ziLD|h1Ya{jA*9~K$VB|S90_~7E}u0c zn$f*zDtc{5cRAT>?7rxRl|}c+NMTQU)g0d-d8hFoE;Su)qUTBi9^g!^Y&7FU}nM9f0F>4Efk1tL?rDCh4MyS0yZk7M~cp<(2G`gtBT6ivd9_>)JaCL*#+dK&P zI`F_|JT%+Lw7a_-7T4@wCt4c~a~Xp7eRmA-Fqr#^YRRAX2#4t;$XUX#zbvU?68t0> z=}d~IWsW+>SSK}&T|a)_qb7p58biF)Mf9(oAFh1h9m?=MVX@AHJo0Ft;^=~XG+XFX z!h%e9w=cs>Mb^MN^*AUE&2gP{(WgmUKvE^#peN(IX)K~n*k9*(p61TnY&Mtd9dWrP zq$N(0jbK9K7c&vi)qOXQaT&PS<7dS2eAj)hmw+Tq!luEFP-=QT4rKw|7KZWE)$c0D zIvE8y?toSw%yQk!MSf>$JJ;0crtM6&!7&{!3ARGBLRI>tP$Ud|O4q&2-Z8C&FzLHi=N{dM(6iNs3UXtAykpnieC5eQvy!oSIK6wccV$ zEj5`&?D{SHdwyNj7F%bo(9I6`;?;_qo2td=bd}UXZ9Lq5>Q4}>?*+L=>ij20e+v$M zW8PNtaoa(*Mr&38!Ab2OM}|OvJ%kMkcs-<8j31+ z7}dCn+7eIWF*1xW&z^E*dJ!f_oRwA~*SWa;Ks&&rgI=I(AgfKGDeP<_Dy z63kYAQgcFHQc)k_;#7alY!3KHF)64MUBR*M&bo|nmM}hG!|@Vy#ld4@8joLiU+X_} zL}V05H$FYBmMSeJg*0KCK_X5)_n+z0YCSM8 z$!D#z*)aI8xQ zcp)nF@_BkCpYh^);bh^A^~x&IiTe1U+#6Hx6wz$k*O9qGV`HnEdeVh?6epviVBz0S z_#9KQZSueiHE{DRi@d;;j93?OjeDx7Ic8$-!#dOXbnvAilB1V1RqK zU}!O4wlq`9<{Iq5mjZEpba@?V7#fw8-&^aSR_W?{_8z2jT9G}XO^UZ1$gMqEg}r^l zfPvo?9Ac(?J0HS$@uvYCN|3DJ-7?nYtTUG$fM~vg7fI7kub5rA>F7D~NXKUm7DQ0x zNcW`-eHLSy1)2WlHy|n(o;H|L#R!UCiyRaQXXg=>^CgHk)GHTmw%G={_NLVRJ&=EabGd6>UC%;vG0@|n zo85b?FLN0t6hH_HiV8kD(XX}f_ka=PwFs^jyU%C+$bp={(K{$-z-qoc>Fq8)zR}?E zlckGWfv-&a3=b4o&nqj&|2qA(n~j=)G=Io}cvV zldJQXwGPaX#LpPAGiT3VE`)hQ$2RV|Z18I0b`)P12;J)E_?!+#BF@L#w^Q^(!<$1I z8+qBDe6Fsq9Ub1GiTSsJ3dhpJrkZ71ux0I_#zFGG;#XpHqkl)lNi+JZGon)Pbc+@0 zgP)r&^@zIr*hQ466MT5U>TN#Jv|M$wvV{Aw`CsHkOmvPW*iN?ilhtSXB9-#}xOkdHtC`GZ zJ>>99jduFEqYRgRZxz)WAg28k)^~j>x4U_<;s$U`I<2L*jJBhc>8zj==;>yi+uTqf z9}eMtj}Xy~b_$Z3Hj8x7jj6iJ?s3;bBz`!T=G1LPbuQ%;W&Lu_n2c^1@pITsdycDb zkx9geu|+2kTp~4=A*r$26T>|Iz&wi7=5>%a^}Mk;z@|Y=o(fLY)soNx?}R@500#dc z3+|8J=(HaRv8dRU!D{h){iIS;)9a3w_ezDWulSoy-$#qXiq;>hX2h^_a~oFnoRjR! z`#!*!NhBQj(2k=PpV0Ro@X=glOipY%2~L9J|pPERmmK_DKn1 z4^w?jHo9O+>T?)DX}_3%!&$IX9RA1m$D8z~`=Y=?{#j9&A@P6dDpin8amAq*;)J{W zZo47RlQeSS>N2<=E|)4HEK;+vYrKCKl_P~E#DLMS9`d&@)5EcxG85H#Q-29sP`Hbvp@xAjhbpyQ~sCSAQ(#pq5Z5p8#WNhgDaP3x8&3LqN7p1m7C3q z@>=tT_Hl9yw=bPsV~^X3D$0R?xxKV`a8P#h@k^HX zU3gqd$Y+iW=1f3Nqm|wF)3vsc(dBeiai0JngitsR!)GH*x}`ZhZn=Ofh4LfCx#RKE z6(kfiY-#dJ=EB0ls^fWdfd>1^WUR5eu>3H-b;lEEN?$fr^hPp)kDP*qeV@0+xb4HI zO5$Xx9tK^hU|?Y`Wh{z;zNV*#{Vb}c(BNGeQC76o8gy%B%V3Lu=Tt)jxaXD8IBJx*6x#BGxI-$!nvMYhdf=|- zdeRcE&m_q!&@7IlNQIJ(4XXzP>XltGk?Xp+1&FF0%8SO{|9DuJ$A_i=g@6%UQNiqX zwn!mu6}N~z1>+R{{0LjaN+gj5>C0l$E=8g1wuV=7_s#aw0VY^Bz`L*sMMnGZWi*TU z-uy`{JH?+qq=H{SYgc;SN2h2pGCkeMlo-Gn<|Q3b$=Rr9$_WE~n{~YqD3ReyZ&NzU zic`t{sR{H<)Kn&rZX500O>0*&ZWor2yRt!9dZa@?H5u(w8X9+G9J}L{{<@Vkzq$&_ zT@pM@KrRtYBmFkmA7^4d%CumGb{fX=6p7;H0p@CQu^3@m30&91qUzURXJ-$bVDIrw z2SUVxHeF1b1ftwdl;@}GXRX^s3PL=m)bRD#@fUdBQxyl`i)h2FkIdKa@`HZ0;4*N0 zd7kj4tM+gmJeyqi#5tfu6sU4+K5CP+93g3@D3{89?6tlg7E>+r1mGNvw^3vPZo&`Z|e|bdm zX^0G#6B53ld5Wr%VbF(lAvp{mS27SQvh3KJ9THlsvOrSoZNWJYUi*|jv4^);B1-q7 zii%owWrpapGl>#^B1(K4hIiN6lq+I9Kdg7a>PyTa%DS?RMo=={FV!U~ zp*FDm`nhU$0{Wg(#_a;3u@WG5d@0ho@J{8%M1Yj{$SGt_K;6`%<(n2HaoIIZUPeLClW)cyVad_d?7ZSnY>_~?ILd2( z+zLbbRPpKiiDNNq;yi|h3{Ag~#brS}NpO~GCyKWnsU61ShOdiZmP$t@nfPm=$5)-G z-$E_!sNOPU_V#RQ0iTn`PkBZC_8c~tt`MCz+kZd)Q^JjN3rogu$*o(6F!W-vEnBew zKkDe{80FIp(YcK{Lmqd?{-8_&=EbaipIzb4T=prtA`KqLXCfL2 z3ug~PeFOGTVGvHvUF>;0;AG_sV@F9!aH+htF8Q)xbE9(G)8x!%k;3|V_-{>+E3NYdRm;x$ zD5j9GUI5l=H#>`Mr`GX8_jV#3UYQHldwp|iu?6^P)I3Wzy$2k?P<8{oRv%quUy10s z$X1qKM>`a=G%r`sdP_c^h)LZ(Sj zIlqB_P(hVeaaCQ5u}f3^D`xri+M!7P+=a#lYsRCDbtpx%Ca{a*1!Mln^m-!oEt1%+PB(9l&o zQR^$o%SbJaKj(oEYE}`;*2A94WI^lfGYs9m-p&__gGsMZqTNW0eKIlWltbV`l*rU2 zBlgR{CWqp|{Ld9#vhBUY5m`FdCeh63agK%;qZ{(mRp>FQz>`|e9re8iYUYOStV{IM z>ctg&;Q@xnt0g2JOQ}PJZ*_l_G)ho-y{5;jHr2Eai_B(bL5ifU;h?Sco0aaxy2t98o^~9}@$S_KNzIscnE+Nz7Zf zHTk^Qj~}LX6>*zq6{n54JtX{iZ$T0J3G#;W%wn2L{0}K@#4S(w^3dXL6$90&FttE_ zd}rbf@d8ql%LhVk# z*s|2Ps~s_jtMg)y5ZOmPUk3Wn7_FpTAyK3Br+zJQRhRK^PN+SQXc^kSIrm<=*5%5Uo1}=sG4;Y5V&C(9~ zFKlHuiLxTc{_uKsn~v2nrltkU#h)qV?OHX6to&0ZNboM(7_9Akm_AgWaC+z>8i_W3 zlt!VyC5$Z8SQv99d61;XEam!2z;+AFs*rl8;_ptTH|%A3B8}ykc$m>P)3Tq%?`y7LbTlJS?2hD(?(dm!XrWzOxvm|U@sZi#kFuJE z&a=U`#abG#d`nFR!bO|1lK1pMlEKb>o&fr(CH0LoC!3W_{j2%p+o1TL0ep+G$+KAl z5Vzs{VK#Gb9A}IxyVR576}{bjfL{OH-Yfzk5|mYBpxR z(O!2rh(#9f80v}pKAwM{&g{1bXda(a#H=dY&G(xat%iZx`L+JAM4)W^o$Id=@)fM` zI=d)GNfxz=ie&#|KfSBaKnu}U*)Llpa-qC(Y$9o*-~JG=z}vfi7gn6aR=I<-atVPe zLv@ZWjJ63WDKhn${4=8j9KEt}pzsdIuz)<$q`3S~i3C`p3q7RCOF~)hqboASE2UZ$ zp>fOKjPq(ZxFRYwi{4-_%zkq(UXC!c>2e)fS{}?C+bX`hAefD2&`GCV`E+aw*laX^ zS_pud%9kS;_)G{q<|ZT{Ah;0lm5-bybpz~B_mPqLwSa|SDhvmx-y@7_t=e_l#d#~T zIZeZXV0w1f^cGgMfPoT?52~k}DM*JlR~22VSKiqmnwo;|C!%m-QSJ)3ROppnN=k3hGC!@mgd7L^YXu$sF zvI^se=A-kD_u$;z-2OJ1goK2t5)FpSOt9?00001b5ch_0Itp) z=>Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D2a-udK~#8N?VAfw zQ&$?t{{aOb6_H16r=0K@n(v*=iYCSRD z_>9aC4JOmxDr%_N4?VE6n4tS%plDJwoi&Kw2$@c;UAjHuqT z9-o)%VXb3a2CFbHYZgMReQ~e+unlP@F)lucj~@-!jzI{H@wc#wJ(Lk?|&uOeXtBILmop_?&r`(O+tj1~r<3)CT4L%p-@(|TB~5z1 z;V|s?qqj(B4(zx|epYM9?=>-KE|Jc1-{csG@nFIUz zAy_F#f4=!EZgO+h=1MO1mtcNqu|>P1kB08{4gqPR3?zw7JPYnVk`d2>{XNWSQSxpoCX8Q< z{S9|Z%{a1h7UESiv8D7lPPC^WBUJ$rO?{HZ&LLEf?>|_99hdd^A+HbvmK;W2x;IK! zr{hyZVR-9p#7&SxJ2VxG#(MDAJRDPP5q5oDV@~X?F%Tn@UdA{vWkMptJ^{_qci~(M zLgNPEz=G$oM)w-tfAu>4bA2vy{uYDB_|t5~`28Mi_^bjQ)+?uoo1cl~krG(62|y2% z7!I0U3y`?79DdWXv2)WLC>~+|-nw-QU0q##iypkZywJCA@3!-LoQ0a|ci@$Y8(~O4 zio7?Kk95A9J#!{1$}9L5J?zWRM|4ay-|87X6tEp5T{ zq18JG!ydBSGMxS=7Hup=yVW7o3yIm=krw;#^(4n}mZ}Qhq6b&k-v8`-ARvdENB@ph zmD7>#k%N>i9F~5Ok0l|U&}dBX_4DXXZ4D(@F@6z#oM(>E#X)zj{5@Qg8t2uGFk16K z<_39aEP{uKa7iKpY!;Byo<#0P<>>Eu1&2;NfwyRr(7$3D!l+MY8*m6S?3FeML=8VEX*Qf6bcfam`M)ZEj4S&!L&G{42&Q%-YFv5 z`%2A5(yDEGps>ksEOu1nJIPJ8nrI#+lJO2{85HTxoPgg1Uu^TvM7EbLIRu!T-0)P=3+U5O2me?V;w$;CCFXzI+7E{Kot=ImFgKJB>V-F#?QjW zGi~NvTpS1@pizAumHN?$i=uJYpF`t`4R~cnHcomaW7P+_ST)%X{lZePc*$${>$+U5 znd&3ZFW-Iy@PmW4tPJ%E1#l!E7bq)wn`(C<>#a}GmHIDiTmB-Vl%tR|Z!!j-Ey9ga zvynVr0Wp<<1rV?cS8D4)bZT4+d=61m6}?+gynP!^aTBm`LFC;>16@2lG03P!MR^Nv z5f1_g=#JQBdr@5YG2VRES2RP7O>~?=L2)D8ViGXU`<~}qb2Hj3+Z{6T-Hjj~x%&)* zk0W0>a1y4bE2wLhL9PhEK;CAV5?ZP+q7K6m5^~Qf7N`mkp^=#*%tc0EGLd^PcXEw5 ze(W5$(aA`T6yKtj3HTda