From a0a002fe73043a41d2cb37acae4674be8631f94a Mon Sep 17 00:00:00 2001 From: Marc Beninca Date: Fri, 14 Aug 2020 23:26:09 +0200 Subject: [PATCH] wip --- .../probatoire/document/conclusion.tex | 2 +- cnam/travaux/probatoire/document/example.tex | 38 +++++++++++++----- .../probatoire/images/ex-nonlinear-sv.png | Bin 0 -> 16990 bytes 3 files changed, 28 insertions(+), 12 deletions(-) create mode 100644 cnam/travaux/probatoire/images/ex-nonlinear-sv.png diff --git a/cnam/travaux/probatoire/document/conclusion.tex b/cnam/travaux/probatoire/document/conclusion.tex index 073142e..393cf4e 100644 --- a/cnam/travaux/probatoire/document/conclusion.tex +++ b/cnam/travaux/probatoire/document/conclusion.tex @@ -1,7 +1,7 @@ \section{Conclusion} Nombreux outils logiciels implémentant les \gls{svm}, -disponibles pour différents langages. +(libSVM, SVM-Light, SVMTorch) disponibles pour différents langages. Nativement bons linéairement, noyau permet apprentissage non-linéaire. diff --git a/cnam/travaux/probatoire/document/example.tex b/cnam/travaux/probatoire/document/example.tex index f495c94..13e016c 100644 --- a/cnam/travaux/probatoire/document/example.tex +++ b/cnam/travaux/probatoire/document/example.tex @@ -6,23 +6,24 @@ L’exemple suivant, en 2 parties, illustre bien le propos. … -\fig{}{???} -{14em}{ex-linear-plot} +\fig{}{Bon ou mauvais en \gls{ml},\\ +d’après les notes de Mathématiquess et Statistiques} +{24em}{ex-linear-plot} … -\fig{}{???} -{14em}{ex-linear-svm} +\fig{}{Séparation à Vaste Marge très nette} +{24em}{ex-linear-svm} … -\fig{}{???} -{14em}{ex-linear-out} +\fig{}{Anomalies dans le \gls{ds}, violations de marge} +{24em}{ex-linear-out} … -\fig{}{???} -{24em}{ex-linear-soft} +\fig{}{Différentes séparations à marge souple, variation de C} +{28em}{ex-linear-soft} … @@ -32,19 +33,34 @@ L’exemple suivant, en 2 parties, illustre bien le propos. … -\fig{}{???} +\fig{}{\Gls{ds} inséparable de façon linéaire} {24em}{ex-nonlinear-plot} … -\fig{}{???} +{\LARGE +$X_{1}=x_{1}^{2}$ + +$X_{2}=x_{2}^{2}$ + +$X_{3}=\sqrt{2} × x_{1} × x_{2}$ +} + +… + +\fig{}{\Gls{hpp} séparateur linéaire dans le nouvel espace dimensionnel} {24em}{ex-nonlinear-linear} … -\fig{}{???} +\fig{}{Fonction de décision non linéaire dans l’espace d’origine} {24em}{ex-nonlinear-svm} … +\fig{}{Projection de la marge de séparation dans l’espace d’origine} +{24em}{ex-nonlinear-sv} + +… + \pagebreak diff --git a/cnam/travaux/probatoire/images/ex-nonlinear-sv.png b/cnam/travaux/probatoire/images/ex-nonlinear-sv.png new file mode 100644 index 0000000000000000000000000000000000000000..974d6ee534bf956cb0803ef2b0829424a69339ff GIT binary patch literal 16990 zcmV)3K+C_0P)EX>4Tx04R}tkv&MmKpe$iQ^g`xK`V$jWT;LSL`6Dk6^c-y)C#RSm|Xe=O&XFE z7e~Rh;NZt%)xpJCR|i)?5c~jfa&%I3krMxx6k5c1aNLh~_a1le0HI!Hs@X9CsG4P@ z;xRFkT@|}t5kM~n(T}LaOnokyOu%z|-NVP%y9m$nKKJM7QF0~&d?N8I(+!JwgLr1s z(mC%FhgeZkh|h_~4Z0xlBiCh@-#8Z>7IWAqf#Oswklh3lUm1QcR?1Kjz^dcKk_l$>b`5 zkz)ZBsE`~#_#gc4*33^$x=Fzp(D`E9AEQ9mF3_mi_V=-EH%d8I0MFR~*UkXj)&Sqx0O;E)$;T?#(m&kaT3}>jma1>1!+6EWd3=eM)8Cq&rJS|L zsO;*u_wTp&_rUM*$>`_H_wUTn)X(_%(=%n$-Q?Ks_}l33-Rt$_xyI%1@8$3K=9jJJ z`2FbT=jiD5>i6&KcbM<*@$vun@&Etx=;-t4^!E1l_siJ#_xJbr|M~g(``hOJ=u7TZCIG5lqW0o5u+UDOX;W*kxqtI&)P;4MT(hM<>-RxUz$IvFE z)$IzgjRK)1UhcoecH~$fw}IF?9glG5cno}n6u9kMY-ga&?Tp3$Y;pfL+D@Vkxy|i_ zLTn?U3ck7REVNl2$0o2zv3;ZM=rJd>q1Xl<;ZEw(Z*DsWZ6l{`303M$ztMJ5Xp-9i zWu2}k*ezrjcl+kHv(V;sTu*S@DE>y<$s@?b*6k45z=|WC@Xc)}oU1}?qs&kEM%!sk zD#bQvOKw9yf&Kr?ZNZRL??_AkZgbl}7;d)E3I7MtmZH~~u(4^3SsHV;{cwtb+LR}z zrm1$C7Fu%yuZ&p?zc=}-0^&0em({ky(ki_yw&%cefg!c_id$9SQyh+Mg(0}7S z4GujhKb|ntG^!9>jB+t#-cPfa5?Vb%>SMx#BhB^pM)12ad zmhb_*w}?o`=GXr zH)K9}?^MLw(BAFZnWM!n%WaG={mEpq{BO{tL*O=TxR)_ZO;uGb7@CF|R5+j z%!e7;%7z>2go~mraVH=*fAjB(EhW4KJu^tMJZI_H@S%PKI71!FN?2r|M?H|W@y05e zG(#JRO~TCyE^N2WCV2R(e^qQ{Nu|}bJ717Y0cSnNMZP$#@bY3fWR-U)&^Dm>t}S%J zh3z(hwts1nBDMf0=_X}+7%hp1re>H7?6VyyAGVpilGrR;`U#`tqTCkqKg4a7b6C4> zlyJ^IpkF`AZ7924do3X5>Pajmdu@Q-^^=Ru`ekMRcjC*UE#~VeTC?>o_bp;(p8u z{_%nJ$?V<`?EEy{`Lw>KgLXCXOk$p-o5GGea!rF#+1?Fv%k8puTe3+iOv_-|BHJxL zWCgz;Z7DN>)y=);noU-j2|fby*V}n-n0pDMv9x!A;lk;K(H8k`RFx01osTxj2Uh93 zxsCH@tyQln+EbEjR|6$X(^}d?pP5QsdxB+LLTGUC+&s!3AfMS3-wj13>!RG25VRsX z2lA&^gQY8V>qk6?4{)2QH5KK$sqevC5*UW@$W3@$X}*u+u!204WO-2t0_0Y{F}=C@B<$oFvjlS@#{t}KbwRZfI=-e z!EGZO3^xbShOwjglH4}+30jG?hvxLB8%2NMoWD|&rg$SAkOn%e(T4iaFYGq3Z%v)( z4s~dt)ozrU(idEduSCuR7xg%|Ro#S9@ZpN1GIm&+NFoEgMcLzjkk$N8SaCnjKNF#e zKz4y~*J$0D8CxOFdfJWJG=gAAf9uM1?Me$WzmxIaovNuVQ`D3uhwL_t?~cM;Y!-+u zIa19le2{{5v-d9F%hQsA9Lanx?JLyYeh#_vhAu|40A?VKyF&)+Vr(^>Wk zP*stzJ=h7XepYO74H%PlPa;1%;Tgk@bp_e3-e@Xyleo<8qumDbG9R=DGvPhs0lbHF z?^zby7M9|>V8ylPd;Hz9PG>vofz$a_5EK2zBjWNgiKjnqw5q(G9!Zw#qZSZf{9@quZ-OrCOTgu*23K-`S5ZuesEx#_hC$X&sp4c0{Zsq&#yo@S(_1YK4 zU7B2!+g|&_owY&7o387c8o*Ljl%^?V3TKi6>D>a}UiqA|y!2i8O6b>f_K=)!x7nCa(Z~FaR;*x&I3?}$sNQP8`{2ogV5Nq| z)$?Y8HD``RyeU1!ZDXvc>`u?+Ha?w*HC0@Rh_MJty}@ z#VVJv2J%vu7vwhJD$G-2Bfbt{t5#NUYTIj2w%-h=CmXsR3I)r&wsu4pZ;rzkdGc%v4NaIqqx`BBCmEIvzW z=W|;U=ztv^7y@lE4a<_@9`M-fcV=C^0Us1`6{o1*@Hv{^o2zQ8uGD+`bp2j#L+{G5 z3vPRn{InncWRcPO11^eP-(N;TYQXk0u@=`PgUyQGXANu6CI0#yt(I$0rxS6&bLa9} z3vVO2Ah%%@0~Z{_tQ5)5)M{5(%9YY+-rdz2EmaG+w43lbty|l?LGRTV^49?C7*537 z#-;jQfwmWR6#t2jQuAlh=bTKeCEbI3N38E+geY1je2&D1PwBXTuHVFnd^st2?jND+ zlM`3?-Q1RnTvZH2LOD=?+pDfzU0wYI$u+ckv!%AQarUXNpg(~JnW@woYD3fY2hbF8 zdK_(z%qA4vX2tAiEQTxwca6DY5#bQr1xu3A+FOb^8>miLhB9}xSrW4?QEd4E`k2-; zUq#W3Uy$2UVM|iH?Lk*D3dHorHOTGix~Av?fhp^oHnPJQ{s2}3)!NbMHbR5f^{fFBjhyqMeb_Q!QU<-w6o1^^v8-{ zklSLi#CY&*KN)wZA5(5#E7yRw>)KBf_)gaYSeshi2te1W+6|^+-ZZUIL)l&{4=ky~ z=8Cme;x;=J`_&}3SzdgY+k~$o^yD&^HUI8-Kbt4Am@(lA= zONte;jVqv+`?u^OUIL)yRo8A*;J7hJZD`bCeO_NH3X)nd#!3aPu3VdBu^IX!{C+j= zlm>_mp2Mo|RM@RSZnxQ^ai^%B0kn-6KfVt<5tgf9C}H2PBX^nm@-Gr?K8h6ADwFFL ze+F9-U|&4bk5BJCKiel2@>fwV3fL5BG6%)lRFJofp|rD24d8e66CdWY1;$7iFd;5w zcuk4his~QuiA#1HRf`wg=ExlihvRJvKVOBb4atRA&dp*S50R^i{Ue%kFcmIv>=CE=u`T5gQ6pM z0Z-FCzI@8(UT(M9d9`?kwsCSIc8ZP?VPxV)!XF?Z<@^*c-Q^N34^j(EL_~yDETc*J zn$N_x;s^b}_oIzrrcYOZ-)r?76L8#r0Mf^t=n%Q?8H{wEn5ZH^LoiIDqRsJ^ChQq& zD*M^Gi3^+w-*pyd@sDa)9J$SQj=G0ywgkcn>Z$` z-3Svn{aBym`q7+kF2ZenFg6XzJmDYQT&y<$1xDLzDYf^j%8+=j?#DFO(U}K}DQe7mVP1jWVh+rO@jb;nh zE{G3S^V73-i&d4qxE!Yr0+#XRtkZ5=x#4Exrc!hh?7*`H+Fs(LS-iYvjr^)Mtj0*l zk1&N^69yms3|t%ZWJ#)GJx;e5z2AxO?MOfS(TBM$i{oz4ZUe2@B>60YfG0zYcejiM ze>Lwkt&dz{8JaoNTWISxk>##T6g1+~UA6js?7gus{+CEI@y~LP=5%rp)~;S*?>S zxB}1m4BASsWzWy%Q?GBDnrV}_j+zuC+Xr(VzFSYjtey$Nt($ews8yYRF5%b@uDomxDrg3$3mis z-xhKt1fk8b{uBLKEkU=shwzlZtBwZVew@y!Ww{{ARhf5a;Hr1p5ECz&HcaF*Qh2P{ z0;COln$m26CGzvS)&P&Sc3lVmw1;szdLOf))M{wkfjsViHWcO8y)kvN$`1!~SE1Eu zcLU?TjXuNdNDPoq!66lKw6;{03>}6jW3b86&zMcfF2Z05@x9xo7wnIBB&+4@Gj7C)Kwl`2UKxALrpMoDgNVTdV#cnn=zYU zvnX@nqbx>pNIFOJekT`c0vHQ=W*^Pf80eoQ(E#h>bwM#@EPJLZ1@@$YO$XX@h_&^a z0#+RuBj{7;O|*)8AY;6?Pnh0Pz;c1B;od7CwYF#X* zci=N!)t|@1-W}@B+EsJND5wjLs|nA%s@41b$Dyby7gZzh9t~}Pt2za_-QTyve@4SB z=QrwfQL#!*8fH6UPH^vrvH%^jUM13Uo5OWWVq4~MHe9`(N+#kx`T3LFwgG$XLB*;y ztf;?hAkzbqw3ga5-l&rPrqyUt?G|c*t1B(&W40=QHH*=>YpSRL-qSHQOmPbnys`kK z#@|vNb_WX&>@&%2BU^Y^j)=F}#CI{@lbz411PH-Grvl#tcyd}3T!xXQTxy+Z=BK*J z6aW`(4z5ssG&=s{3_WThday?F5i})w@BKjRZ+XRpd;@FQbbysYHix2^{B1ZKa$CDb zLEZ$o2Hr3c(E^_zqYDWW4k~`*AP`o=e< zZ!w0eAmk8j0T^(%Hwwjmo7yAhAjZgTkJ}O66l0WuT?+4ln-CN}Daq14#%@%*5M@{r zo@y?(!UF|E7Z&T1uGa>wz0KZQ_DiA-u8M6v1;}!kV}FJ-W$Z~ebzmz^yHizFQEs$) ztFB>$L}@+2s>aIaUp3%1MQthITWBmWts$fCljWTt*p73fDDvLgmwY)U_0XJp*;Y}CB&A$4`maEaOE?vysu&Dhlc*WZa&Xn zK`KL(n-M&UN1C8N8hWFy---mG$j(<*+sw(TjfyQDb}8Og-aEgKKfsBP65){k_SZs= z>xn3p;cV_^T2e2P1rBlz8AE9aqn>oG9rof!BYnx6=Q1~ro)20 z)}FuwX&O&DTE=(vmj0kWJjy!Ot(r7%v@N!7$JydGz}q<4w`Wz>2)UHE`t7f>SROj> zt1JunTSnoeGe4X9a@EfF$tR%**XANLK7 zJNt%Q*KR=Xf{&`V%s|%hZhd#uqQMs0oNaCcxh)RXGf>sWROSyrX2~-8Ba&Lt%9XL+ z4(@jm{O9MczRUORA4d4jKaDmS+s<sA|TMV@C5uQ8n`8| zG#A^Rkd%P0KmRn^gxq)l&J}&{p@tQcCXb8iK=YdPCt%QQq3?cuMVpfudJE)Tyn^RC z-*atKJ|1l^Qrjw{tte0R_VR~7+dp|dAl!plQ2$RVaxCZxfDDsKVFCLSp&hD`-D=I! z^7D(7e6t>IofSKl(GkDWVi^VEZ$Y4uZ?3T<0FQyP^qPp&jnO&vD1NT$M!Z|P8>4kG z^76g%P6cfRw+XF)b%uvVyP%GTS2eNFJywasiI)D+k{1b2G zT3qzF_Dl4=+?J9ZrlLoga4b)#Db3-t`3&r~cs9T&tD|rJ43IR`CZ%9ZtPtdF#)hK&2iD>nw=k1% zeXaDcGMx5m7S%OWd0&1{%00WEH$a%Q(9lmHoBZhxEHeZD*2bVK!CN(keN$uy zz#LYZH%)zL)*IA+foi&Xzfhj=Mb5_o<#ciW-_|m>_ziiv{q9TUa z-d#s+>9rHC+&}qF1ewG0{mhbEvAHiR7q+YP`GxA+u*%OcUrTluW(_ps6)iUv<&g%) zopPr?A>i)xX0z46y=(?EZZURZGpym=0b4AYEAvS+ZnJEAhuef0;S1j{cax=AFxPk6 zj*II@UNRZ9%8ypjhEZ`@b5!9rlPLIhZoH#h3F*#lF5$hXwpS?2Eb+vAN|*!@w?hQoY_S*tkmLwt0tq zH$=_wEN#=YYU|GbWb()*gL(N;XFs=jFZY!FydUpe*(v7lCV6W4ca|kibNf1#)$@K5 zxxPE48r`Bo;49*7$EwS6{PZ=7YC9LtNVG-XO+4(WE+gyB>!aEa~o}< zAL=%@g=1Kwun6ztLLP_dsIP^_N)FjM=N* z8oCsGO;J0aY@Iy&5^g)JCBWbfiqG`!V3F1oO?z9In47^z;uM&W0W&7$%tR_8i*Y#G zhc@Rhw~g%1{r!C>k&%>2laW)H-=EOQ$y#xmL}28cIw2G7HPW_dhj%es_R zO^j{F%$UelO(vCkwxzr${flS|j2mpuR^a^+IPFdk5{k-gI4^bnNGla337<}5?)7@3 za38mMR@>UkZ6G(>o`Qk$;*sPxTlQPVRcud9U&04jtwWIq72fNbC&^#w10uvmbu(tM zzmz@dW{)MM=}UNQchtfImRj3d0JH7oHrv|klV*||AtTPtt5~TNCyC0d@@n+Siu+hU zi;s$Jf&M{D&*^oOVipf=yR1eDcQOo(yVhN)FCL<#eg9MWac@v=bPu;3h__LB2>rk< z@aDTUQ7pG@vy4fy|At$K{h+(vc|Y1!II zVsOd_tK`UPo-Zq#c>jXfQjsIBD4{e!02*a-=|3Rag7O-DxmOyE=6z>9+Tpe=PwI^h za+`d?nEIKY!id zqqcPRqOIfGqy2VUfi`>8BOA|)Gd@VtG7}V<(oYY^5#!|JeRx0PC8QOu=a{>v7;q^L zGqi(hZ<4nKYSKYal2iq4cDEbskGGZ4HnL@nbg=6a$PS}35f@s&znbVvxh<=pNbR~bv3%& z8jUaGlWt+}*}$6K-Los?HXFnD9NYhdm55N8+N@4=2DjzAX5i+G?PA@NX?&r12B+^YlL&G03lCd*vq<~ZlNt4v|qwg+(vOt@p}A$ z_i`L>It#K+p>2w1zN}n##ZF)?IU8qjJfF|v%cJci3&vg%#jSuR%1^uZF&YMzRi*a)#b8$k5@HDN0p+YpFUeGf<-X*W?tY;y>aM;c1Uw99Yk`z zE^w0s`-^A;Z*1(04}96eCnZO|ynFc&w}qpFN9aA@V}KXL_A<7|qp^oKlm^OV<{^Hj zLOS9$8iyb!5q~KpR95b|J7=q|^T*e(&lJ~Zxc7`?!mnK2W@mpL<+j6e3&HdQjR2-0 z*0nkr21kUOkbXj^xKHw9`P_Ot7|yi5Gfw{^wouj8%aGU40D+#{$a$7z@z;k34@m$G;LdWMn z7@rZW5_&=afuoK83X$`p!Cw+vftx^=qU!N9V{AtjbJ7e*T^X#r7pdDi;KxGm_GdIf%%+eV}P z*5UDI+IB!o@ntX=xSg)VmW$GIY_Ux3T$8d3FVZCAGqgAYZ{(bD(phvjoOau#jisOA zwzDKE_d<|F!qBo@H$#`imV@@2m!DB6=WnH7s7cwvJ8Y-z^_4up+90UZe0-GK_M&Oa z4ns>WfOB*Na}l<>T^FS_Lfi$pyzKI8zrt?I`d7yDYE0ua+As{>X?MNKt3JqW$5(7f zD=q}0?>=-ozd&BUB)S}-Fzv9|kuxgnUpZTF%)ZEOOBSc>jXj#w^9JpXwYByRbK7+M zUTI0qI3jda*W!pg26+7FwGAEgH)gXh@e<-0;{JU|fJG4u0BVl6C8Q(V_Kr`m1wT2K z0o?T~mzU)rx<(RRPBqh$qmBHB5bPQ7%;uHuUKbNvx>%g21Gc_aU|YZ|&)&{@{3N$| zpc`Q|KcgiftS+$@M^a~cXIxP`1cU{Q9gVleC%Nm;ePEwWLm4Y@Y^QXswr%mSYA1P~ z(}izD8npB}x=|mHbGR)m*oqLx?+W+$p7Qg-YlU|Ki6y04 zsgxHzB0i6{c;Su9GP3P+>?UGh#|4>n;ro>IUH&7v&EEa-yd8sCSQNzS1%DB~9JqIZ zTz}%6N<0YiisJ(j^LPtw*7O`7Ag%0MO=7fYN!t{kY7Oj4>~M=OdeYBxEW{b^i4VN( z7z9240Jk~PZVR_LYzhbidHsj@t2;0p$40eDI{A4Qo8d0&k6=v(uZyB~b!YueU$z&i z``#+ngauRNRPaUc#~X>Cz;FX(4!VV7obY1Hzr=GuOfS{|(9rE#A>sfyapdjZs1Jy@ z?~xz~^Y_biq?IAeH7sY0_@Z;N@!W#$ASl0HoCiIQ=SF?wK%34NC%^MxP!?MpPiLJ$ zj1jy;w{_*OY53we*0bg8-eBQ5)`6Qt765#^HsHa+=oj8Q+W+iP_x`~9jGgj(;+mv) z1c+JI%gboz`F3YuImd3!IGj#rr*E@CC!WSd1f+Y99TLvG9Y5L!?rop-y!RdL6Q6P3 zd%Wj{IbK}5LTod*N-x%d+sjM-s5Jn6KCrTzVGYi>iD*K*O^9&279QpIu@1bhd%ySo zf%t(};d}lfjGa1%!Oq_UdXJ^`QvK%3gHp(4F?)~Q7B8m67v!&HH&6Z){}-_Wx-VD+ za1Z*(9T82ip1r-VWAbIC_vnDnFtzUO%KiD{3pf{NK!(K&u-MMyUimCBo8^tR-rrjU zpG(UNZsUXd0q-FGQkiFxu^-0fbF#820v{H(v$SqTJ8^gq-UjTW&?Aop-99G+QFXs zHepqPkX1ly=$Wg>6pcBb$LPxxHZaTRS~v9;T-x8H69p@9~DL7AQB$-%qAOCmTwu*w$f zGc_|2h|MaAZ9aIp?@T*wm$Nxo7xtLETdxwYvMZ6NJeOmSDlsd-7yM7gV2V18qhAc| zHoNM54+h>|pVS+{g|TLV=qz|{Ucl(IU%YAX=`r7(`vDSJNhM4NgSj*C#^ns6vnN*w zNcXBfOdhkcWcb+XI^hAI^l;{?>L)np*zbwAc^3JvL3s9i(=)B^OV(2~Nz;#2)Z-eo z2D2Ay%S%WR_+c4M_SS_aZDfazwG*=%i!2Xuoo&B2W_=(Iv>R`O#oNXFxi>yPR{$PE zknj(S>SV={=j_vRxEA1;7J0&U9uc*i7pWhe1AgAh=F~?Zi{&khEgxu#9Wq@F_&12hGkKn$M(vawTLH_Z-@2n{x9e3 z?|YRWjCzLcaTnQKHkbL5pQs%@Frj<{vM zgZ%rQVmpJ|Lhn~6_a=hy1Yg3bXV!+;Kh3^GY}}H0LXy_l6YX z@&RXRQqS3`G27v`PAQ9egxfHe=~Z^cy!OoDr|antbK7F?w=1o}eR9e4LRlA7<#dK# zn4RV}?3rB-_8-0yFSBH)zJjIc*Kix!ZQ*X7u!_5qtVA@#CZ9q04dW5!g~Z=Nelm|` z+ZW)r^0YN@Vh?c}xWR8(#Z%E=GUf5tp>5_=GWcPZKfzitwBV-RY>IWki-0ZQ7R&i# zMITpI^tHlgyv-KD%v&r6?s6-CYVYB;<93^eeFuuy9pW};9PrCK1jofT1$2anqD)Tk zok33VhHY5PKW6u&a=+MOMn3;mt!x%s3GCx`TR5^SYgE{6;Z}AG?~gy;qw}L;dz*rs z=CSBFa9; z>O*^cMMDJazMS#RV&RQnM!5Kjdd5@S=8Vc?OAG$o(&6#t_2p@?rI+>DGCme)OUv)c z(%JN-jJQ*F8$9-FP_7ZFaGUg`J^ojZAC>(B`FG3qjijHFVUq8Kt?qAPEby{=T4xlT z@JXGKRm@u3;Wmj!S*OANRkU5Mns*gNtG#;=S++J$+ijlptJ+&@%WiYRfb)L|ZLET? zbf>q=M~)3E_ZceiCZ`<8T8>lP7J6`dP3$>N z;O$3S&TXaLk^+6j95zSJCQ6SWp7k(NiL=J{_KL>IZ!}ryJ<|KZKQA{<9YlYh)33I& ze}VqD2xs;|O`7c~>QtgIlG{j!hT%ya+Nas6N9ZqG-)YMJ-Xcv_iR>DGP7Bdetz6bG zCf;8oUHGJAwv}rz$!`utj<~~a;q~HWUed>d!{)!=)nu7vT*?p zvp!qt9&Ssh4=#2v*?f`MSi8Oh=}teDc%^)}UzTOonX^Fn6oBEy(CYKPKm|eRTlXzqJwG zXtp~|UMze7hoz@CwL8=92k+`6`{Ny2Q_RR-if_Hl zFdkF%eo14rvpT5xYRdCD(4a9gttPQI_xJQyo{vU$c!=Aoi?wCVQ1e{se@}5^%+~CRZ~aRCVboZVR0$&O&X0Yy?M&TVSf1+GFNT^G1De zIPa-i6K96h41uRa_R+%iIW&!)PP1yC35&^>aNAOJfnRmxoOXdHz}eE3(?A9P&xr5b z<&w#Hc`i-T$etG+Li4oZEmXMewTd=ctKpoRaz=3xfdF(hYf9ZTm1~@VgqrlJ0YbaF zQVf&YZzT*A3FQFiCJku>f>ht$83Q^SZNOb~UrZzxa~i}oOQK>Z@5E=Ka~gI+r#Z;U zpS%O9n~y;LofPrBveZ%@mV0oN?KZbMFGj@aY>>dv9`?~MGOOvj^BZw0I2Pclxhs>kWe8#M= zZ6qdR;4PxL@BW5X@g$pyygC$5jLTVuDz}9@Xd4B*qEiCUh&}#lG?kjtXw`MK380(f zL^Cm5@CGM4;PVXaR_Im}y$9`?4WD!|HSP<-*5-U+X0h=E&Oj=jTeUNJ>dK0?(X(~7mmU(wPB%)FVJQdiAZ1Gw!LEDzwW zM(qmlhvR33&JdGnhzF?$q)oH)jQ7O2-zhe@9&?W z>aY%n)I-ZQgpC}hZ1_B66j^GCX&GOJHpVUTj9d|86NB%gIjv!d@u--@m02m2!NM6V zooxKcY+&#&#KggfldYE=(pzuNo?JpT zy6aGc+{=A9SwjI-5A=@f?pfDrIOJ1l)SJ4dBHn6^MpHM3=^NjaqJ5i$rP$LIwMm~P zU&?JUO;!0rvp>b;qoN;mT(H|@N!@@G>6dTHC<>JH!zLZn$eg9A4 zsc*1%GEHZR=wz^ZB&J9v_78^FF(&5~?B@BCl5bk≀1A74?K3O-gZMu<@z)kcD#t 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 z