From 408f9cff2e72264b6e80a81427c9f5de22f098ed Mon Sep 17 00:00:00 2001 From: Kai Staats Date: Tue, 6 Jun 2017 21:03:14 -0700 Subject: [PATCH] v1.0.3 updates; see README --- karoo_gp/Karoo_GP_User_Guide.pdf | Bin 0 -> 597701 bytes karoo_gp/karoo_gp_base_class.py | 2700 ++++++++++++++++++++++++++++++ karoo_gp/karoo_gp_main.py | 257 +++ karoo_gp/karoo_gp_server.py | 89 + 4 files changed, 3046 insertions(+) create mode 100644 karoo_gp/Karoo_GP_User_Guide.pdf create mode 100644 karoo_gp/karoo_gp_base_class.py create mode 100644 karoo_gp/karoo_gp_main.py create mode 100644 karoo_gp/karoo_gp_server.py diff --git a/karoo_gp/Karoo_GP_User_Guide.pdf b/karoo_gp/Karoo_GP_User_Guide.pdf new file mode 100644 index 0000000000000000000000000000000000000000..26e7069e3105c21b2f8cfb6ce7fb6cec3184e82a GIT binary patch literal 597701 zcmb5UWmp_R(R_aF)G4#C~s3AVVixC9CA5FE}X@B5u|&wcKn zTTgGzY*ly7Oj&o=43&z66cg(w4g{)!qJge~mVrD3Hc}Q+CsSJl0Rd(O3r8zAYf^SF zMU7d?#@@}sg;~np#LYs&!pzCsLP!X~)y>7i!~wx8+g*L!c8~?B>wv-S6Q$jw155ZR z#mpu)q+oLH6Q9HQd2z3itWv{KDmn|rD1Hp}x8sjJS?shv0=6Gy2llJIyF#bwDz~p^ z?SWEuh@Xb0em)>%K|l!J#a<}un#}4RnKrN$4^`PG6gKO&til4Dl?me`9OBJRKS~{1yL=pZogr;7aS=diBTC^dBf|X|()m9<(|*RESIj!LE`@vhfD3 zX8ffrkKS#H#z{wWd9!;tg?}R%#qjCHnyJ~oUv0&CwHnp`db7NL_H+B2_U)I6I%7R(j z#vE*MZWeY@W*G|`D{D7WPIeAbW-%K#R}~8vaVLi_PL39iZlpY<%;HY=PA=+SOw25p zB`iE_%q-NT#s0@jB*ZoT<0Jp$Lma$poZSD%VcwVDw*epJq-3Q45D*aXr|_o$!223N z8~_Cg`L}@q8r)z$z`#I5!yv%H!G1tOKte)9Ktx1FLH~%1f`)>K_!0Xf8U`j778VjJ z4lXt(E;=R_=3gNYP~b7pFz_%i@R-Pm$e91X;k_S#_5l(bvKI=18~}+10fh$fJ_sNL zKmee?cMAal_#c3PfrW;Hg8TsH5`f8&VD|s8z(;5pNGMncxc5~65)_#E5$YoV0P$7^ z04OMcx!e59?||}3^KDQtDZ00z3q-|-5ve=!6rCEmQmsA!FOr{ceVe~AFV zM;QQA9>!V`zcRg`cHY6Vaci643Mt^*hj;+E0mw!Eb^^nguH}6J4YZSWt(2K^@Ya8b z;G60L0MHI{zg?09@*Ht5=;{w#)j;<_2xou?WBlv%UksU*r5$Y{ZJEd}vP((?%* zWTYz6i%H~>9ibP33>h+V_OBC)cx+alqj?*5Ax?dsu;2$sc+z+PkCL3z@It@Nx@Y=X z^fsy}09poo+oa$Dg~C{`d}aibow$=}y9iD}e`TNoFQ#L+!VhlE4wPq9wk#OO!DRGc zUPYCv#=hez{v#x;D*Sk`(jj=6jBD!qj-z|78zzkHdxq1|gVO&>kc0jK7;rRxeD!+= ze0Dbak&R=J5dbfu03QTaSf23Kfg+Y9b>G#N`NL9LYg<<6cDY75` zSe{S)y8tcHg%fY$>l63ji~C=i9HcQ=JOnLz5Tt2S!@$Z0u2DpZ==HOeP}l<%1Pe6) zfB|VDrvErxDdpX~+0#{LSsnEOJYvc@bK)LnX6A0^kMtP}9d%J#EATbuvzeP@B!K<# z9pL74vl7^&%H@Ge1j6WbNu8dg*^F*)1^UOB;T15-l7dA*N3wJ@tiK4Hq<+^L9!Iv} z*4ooMM3){vk#hA=kBOqYxJrW*h?-3>m_I{MX~`=p|J$8#F# zJ)=X!%i68(xDF9H`dVSdb#`qjy#Mb?+?rh_3p?K8hH0`e5 zNrcH7f2DkRcJ`RFcXM!I*Q()A(bz44szuan{P)QKfPWYqW8XqVB!b9|)6=QYKT-lD z1`}9G!T75T0PS}`#=~qXUtwX=!9B76NwSeaz$*s{a-fMGj&pLFnz#R!hf_#P|Cv!4 zzhjxN=LV*5JCOoBSTqFs2g<*f0Q-9|3pkH}8zkx+0RCk}BIrMn01g|#Uv+@v4$OoP zW&tcu>^;7g49-7-a-(kx{`=?>MgKhKKaT)4_Nvb1 z{VCKUM~Ki@Zub|k;(*<~GgkZy06HEl57L-YOpF>Fet#nn{$s*pa$bfkd{6>(yezl@ zs39dNMWEv$C@ICj9VNgGU6hgcRPP`BCs3ZJU;o}tA~hud5-jC!^8W`czS&xR zhb8Slvj#3rxR;p@|4aX?<_|RNHpAKh4*V1EfZ>BnkL8*5Jl!D3KsGc|05}(c;lG$i z=~S`p*KXGd9nbkYfa?B4*xZv`1Z*;}E`yTcMbdMjdf2cc@-?sZvDAHd`DSFHgXP_5 zwFmMFO4666U}qMl#}5^tf6&~J8-tC2M%ni_#im0=pJqG3_dcrm$0fd~cAI-l~L>PJ^yi$lJ>qle=DQCS5?;|1(f^UIIeB54DDqk z$FcCH`ko;-{4L?LMIw>EM4f1l;qayx`zt}}#_4Cy(!a#N03q+jj_-GXXXYPy!kO#8 zQpG3omy9ZWi~3UluP2oM=pnD&?CQm)4@`xlTg-j2M!|pmSW{p1i-QzQB7wS)yz1iN zxfSaeZj9~)Q~m*oz?HM&nv1rU4GhdX04QXWeE*M*wPR1Tw1-WWT=!ZGRjx0v{ge=xI#cI9Rt5%L3$h?LZ_CQU(6YoO z35{8OJpMCtLTtR%8#6jmaC8CyF5X)moSK3gybG58G^`mixBH4MoyM??&7*d;3dI|- zelx6{qyQ4ecL3d8;jQv)+WhQnR-z1~5RchC-{uW#$)lNKf5Ey*t449@5<`W68K`S( zCQ1N%7s;vZIgpy);-KfNIkUA>6eID?G^#ihUSsuD($Uo6o9wLj@7>Z{b{{@@>$lvr z+43*?TLQQ2tY(UCdfTl%K0ZiAAu^O9G7v220$`8JN^(H;OnLI)=X>32n>~7^KyII1 zhQIMVfa|^)n0cvObhVmRO#H=F<`QQ$Wzm;D(;0n=iJo~()_DFRa_8UUV zl(dKPddE#Io!w>JOqF(~?cSRdeMkmJGdPo=i~Mzp|0f1O2mAm4=vaw1Ui_m6A8Hv) z&Nx$DONBw>pZQiFfG&d|VAL0?F`R-zE&sG#Hdk@BypXb(WJa;wABg}LuC?>n93Ymp==NFy-XnGh` zlHk=U^F3`ReN~W=2!g->dlmqV6aWBED}PTyM8F4d=&*o);yU)9-7NDl_s98t{6(M@ zWdC*k$Nz`S9~B#S(>TX!>o;#+6W0HS@psZhW$Bs!k}C^5?`5Aj<=QAsGH}{Hq70G% z9==S-03c=l_WdtbrhV~o%XN;uzsPvGKWh<;xY;T{tP=UJ>HyHtL4c1K5TxLz2WQ;> zD_w$R{0C6Mt9aIr07ytk2uK)c@FoJhXa@kGpdn!Z5U?MyFfd73M9|Q&RgB3fS>ebj zs5m&k#DmxNAHZvV2pGsWrIYa`=1P8?#<6u}Zp0tk?a&fNpl%N=)S6q6$I0j9n&h$P zIw7MO!b=TITRD({QrjxB{eisQQ;(>r1&p=^LdwlaP3j_K3mi!URY;z2I&{R&Xu3UJ zb}rXigYx-xhVR?+#o~J4&={Ze8!-L$$2%bP{@@*u4YxJef)Nw!*3fR)NY9}ByI0#m zhu%|x%4dz2Lxo%w=ur)?!ANtP=%RR)jL3!&K6CufU%z= zVsifTgG*W3qOXKmZMFw=lW%EEF4Tl^g%;scjtM8qQr$u9^#g;&H{p5w6%pm>2K(z; z5(>G}jk06DV^NWr4f?BT*gm{<1xCYJt>UX?dwS`1g_ZprGYGAQy+3la_(Ua;(>*`^ zV*1|!Mzu>uylH9b{3YXg7T<0fBipbBn*>`h5uMM_u>Bc>bJqHYattQ@5D7Gofd%Wr zi6!;}s6-a<=cjk=c(%^>jMZrs;m^&@liU|Ab!bDjt zaD;-6cV2pre(>@t(T+OJ1I~$HPxKLq9r}{0wH`ifxa)vS<#o(1;B%puni#jc6tFgh z(k;aIbswqTPt&^J$d9|WQ&#%wq&Lpfs=}v&FJ}p=91gud&!x2G{?vV|=B`>=2U`Lt ze_YOo5JjsG^7Shh6C6HXC%9X&KB*WtVCLT4^7X416CSS2Ci;#y`VQ#gmal${mA-l` zqUwM^rzYkairhFHe%WHbKY0f}0V?h#WV*5crs+f)x|k$2gx&z(9q7MeH5Kk)~A z#Lg{?!dbtbaBj@EuFmEP@-&ONMiWWCQ&$Tl@p*1Ss~`Fklh`6Qd7(P{2$zu}s8lg< zv957X3l(qUEv1(ljut`OqSnBs8!M;m18S*D=cCT}sRb#aDMHEYGgZ?bBb7Y0U6Hba zqeG9luUD%xz`ApaE?Cc5gc}R_KpnaF2~_BkhR3&}fM1WZX*qRSGB|$y{u!3`s<<$vgZA3HYN48%27+ zmUWGL@Z@|^+bRkP&fmio$7;eGJ!>_`qT0u=?+da+oZGP0&&zP^#W7cmS~PKoK`yHP z-0$qZ9AU=e;&HZMPE#OWoKr{t3r&C7{GsDu8hD310$TKn+HTaJwQ)n3d`Lb2RnE0Q z9vTJIJ_T(bpbr$sWZoG^SD)5(*)my~re907R1GrXH0p0TB`6H9*03l2&`A1T!}RT% zF7hpl{|m?#QD4V|r-Bja_vPd0y=_-bJxsx78WD`ktmWJiKgvPqPM@JZQFnmW8swZ% z(#FK;p9s7WXN|8)6LSyz4MmQvAphKg*wSXYlvdNaR3{??E$RAA^Mm|>s3@m6JZn05 zkC5$#exlfm>gs5EI~$eEozZNwG`S29{+?_f!M#T|2^BnY9g8M@tkUkWb>{GnT@_pu zu|kwx2Kb?e!mxCoDIY?fvX(=(xz{izbvmUMJz&Fzk9u4{H}I?=bbt{VX>WT~42|66 zZm&8MLh_?lc|?<78ZzQoK# zQ<9|2qqb8?h*q>)8O(-;8N|D?E!-*NJB(*>SRBi{UQXxjmhwhAml^)qfxN0taJ-l1!#8t zepB}laFrKNJYcdKcRs%B$`tfw{^R79Z(07S$@eDh)wEE+(Rzc*to=v5rCE$~;%zFg zx+X&Llb}w2Ez?LcD|fZB{yG$t3oEv!CcDmNs1~b)+Zk5ihaYlAMPj_4y+_sNkE{Gi zs!TkS_vl%~q3xpq=!JF(Opscd1e4E`^fX$l=QBGk^xd^3SCv?*lk{hAjCDyyGq0+H zhu-A9o-Qu&bbdu^Zb9?TGW=A@i5cJpN;<6JDS63)a z5}fkmd~#1Hs!&E`)L+$`OBB@J)%KL>qR!PmTLu!W0oJLJy_A)Rm>_CH&4HUxJ)onb(8O*T8$nAQ(rDV^-mArFZr;0sfz6W zvdW<2yFQRN0%9mwGo)$(YcnU1hpq{(Kes*zQ$*Ocj0e>X>2ZWDPU$R*H5+p3@?{3J zx+k=imj@_8FvkzchKtk|a7X%+MVgae)e4?bZLb2ZnibXM)_xsAJ$Czcz^DK@3CvO`FLX1XeV z&VmYui0U!&%HIJha%8kAxhJ~%nehwLE}qA!5nR*>FdOmqUiH<=W^X@~&*Y<0DfYIw zlNVC2v*MlK0fHJ4L@rzhJ4tqtpxI>CEkdiS5l~ki#a=T^w?Y>WUH4N~X3Uz>^$!sA z7P>{y+N@(AO;KG#g=5wvM;JdRDEoVQD}>aynzMJnudl^r$DVhgiJ))oy-O1bn7;cS zEfgYGuNWSs4kOORvh^hZ$qI9Wg=77yu}TxYh&z|m!u+lSvY*bG4;QTrWoa>5iIVIu zfg&7uIMaLB{N+Uj)r*RTI@gpZc<=>Z_LF@*sb7ugo?6?aRbn}em*;15eyb^KT|ksRjmuo<=xAYZwRCUvJziWDE)@ri&9FH@XOQ_t%%k1vAH| zCwYcFR!nt94T`j-Mzq;B$8n?bc`=WJD0fFsxM|1LsFcWh>sxl%1 zUuuq-p5r>CGdgYXIc8Gj&?psww=I8Zqg0{XOmx5mHJ$!^N9aPP0F5=V1;f|s9~GKJ z{Ma43A|(PoF%0mEEp6-FQ&P7lv^FYX2HFJ&hRX52emO@V=i|()MbH6dU5*8LVY=3M zjJFbaX`wz?z1v)dP>m}7bp5$;>&g4vDls*`qBBN^H5>^S6@_tM{%n~B5z}kq>sXEM zOrb0D)g1f9demCI9JY+}I9`TdyH4$z8)oM_fb8L(v%an3M^nmouRHobG>7n>o3a;c zP7NC;fd;~#n}5)?Y5K(MPgc=m>@GHzm)|p%51BEs+sERhmbG|35~xWHZ(-}mhORf1 zBB$;Qb?^jeb!1)?bCrI6Z2>@O2$K(Iej?DqmNoH?F)Md4&R&E5d-y{>h;N@ty*R-uh zvVN9IAA~`C{JUhpfdpr}*^&jLHRHv!*+crC-{5-(j>$ROOcF_mufkVy9yf;%oNdCK zRAAr*3|IlZ4atT%V)9l zKh#LHDj^qMb~PVhVMn^dYiAUId+IYwEebI3!y~WQTxC@GdT49`5@b7Cax16{cgI-s z+zgmfh)sUREYuN)b>5Wy{CQN&qd4J7b$We)FuBs7%XRlvzv9$aTR**Z-05ew8HfGC z+}ev8kkzR)L)DcB3|#x1o#iU;pl7w>EH_v-OC|5kZT=dyvsAu0+e3MtHGbQXrGve zY>;AXt&_?;$*fMD=xr&(%wqNU^72r?jOiQ~YDBi3IlI;HvrkG(gu+2_knv-4Z9__tMY@b|G7SRUHPT)axjg`tnIe&Z7u1EN2=#d zFuQZoQ;275V$q889q>JEUb2?cJG*Cav0dAnhH$*e#6lHlkduOHs9#Iy&;MM*Ju7_1 zneG<{#i2)zKs1l;kd5+{0-wq+8XttTu{u z92?0>5pVJOh-~7+LHuFF(6@?n*-0R28^&;uF;MSiLOsyzZQxU# zAjrS9R^SqxDTS3kc~D~#zmKm^#*;|$^W1?1H{#uS|^G4@D@dVY%`HN zyfCikgE0GB$dR4(Nbp?c>-zNU&^usFH#<14m1iJ2K4ZMMmN4$&4cWqwz#Q^dWmNc% zCJ@ALRXi%L+EM(9-Tb@KUmEh#-Zt1OW#M?yAzb2zibQM8JK%$f2^Z0oH55Nps&q_p zyOB<{PPfw4UJlp8bNr-=pkVp%oX*xu24QwgPA|VkW0yoC;aASB`^_> zT=lI2m;jH1IJ!-Lhz~Qm^*~WqN90r1T$;fA=^0mYR+r``j}h%4J9vLoj<5Mx)b||_ zWTDZtpLevm+e7Cvj!jq@%3`1yP!0#7IL_-ky6!xyU9CR(@g1_{PK^0VQ<*Br(l|$R$7`$!6&9D}&_-ykn^V(S^*D@+#Cl}(H%YLq$03Er$%0>+ zOwfL`=gJ3Y<8d6jc>bmlqK9FADbto;8Ra6i1A8f}w!9dFpiL7J?I-Ay^(vJ;(F!$| z9U`@|2WXE^E`eo%V5M`S0U)5DAR*vk{*Th3paC#w=&WQPF(_C>L{(IO!jh7+H^RIajnR9lI^+1&|_qH!|+RNoUc%1nA_^NZEz>z=u4j`k29&b9~ zPjo#_2um+2JUjHPY8j%24@6ZAST*0Kb*UNDX7gv|{`kiAAIuf3=$h!Q^To~gi^4g1 zstB-eH{_vZsF!x+CEpfX3~9^sH}K#$DSs|X-B@>-Z0lsQipAKMM36zOlpLBnj6E9R z_o6s0{xdGWJP&GDO-n9SdFkD!=NPpm!h3pJY}ookiC&w2J=w^&`aK;_8I(M+l!*U3 z?!k7+R>S?~!f9Q&AR{fjkReNC!P-~k-0O!1LzKD~P4M*zVA7@_clpN7qCbMWxD7KX z+d<0`)NUfX>;$4ozF6IpFjYBH&%~B7K7e~I$#6(Mv^RF|h(TAjHJBo>f|=H{R7V$v z*S#ms!wZeT8P05z^!tUlyWM((sFW%-oNnCn1(`}tbRj8JWkdaHW~Y@R@$v~g13XXB zHMxGD2XC6SlC-ozFM)AwyFaP>9c?*k19pvE70hqtZp%PeR%}=UBWh~s9I?_F65->H z_BP`fXO-%Rw?#U8Jk`pz3-d_i>?SRLUdh1L)&!RvAs`{4Kfocuet?C5h60Be6f_zD z9R`Dp^&`2cs)=)O0wyU1n_7N7B@4TVn7XM;NaD{~EO8YLvj$iyW7mTIxnCTd66S89 zmtWkIcH)z-{#%xW6^4A9&p5WwF(sj^Kj%Z%@Jn3cl79_u?OAT0!>qrhA`@ByV%yU9 zgvS&J-aA>M6Oln39(`WX6Zgu#SUe&_zx=;t<$oolWnkymd!E#|e()H`4w z7hI!{dk0js{MmW5;Rr#I>|#D?`(yH>abB~mQ(cLzjqsJCDBx$J4FRQdxuw|%EX6$M zxVJf8xv|5-RnC_Eb?!9UP9|q64Ys-SmoFR&HFIiX;d0!r9@sa9G^uMqY3%zZ|%T$0M{>25lnSS{7)W( zl?d8Ha$xHp*c6$T_7Y!+@y3txD9breRPEJ`A#r_;w$0<0sm<4|;JxBm!=FLjyNv6o z6NjvpH6G!@tJ?l=duip+3aB^Cr;|_&FL)UJsPpt6?ijwbZxP3qj=uvM6iZ*|h3-*r zL);!PR1)H<>Vvk@tWL4R7K>&EH|aipo_ob6j$qx}?;pjeN@$rmbVNm{OrjEhArcVh zh+7aQT27PIUK_Cd9EF}0NpTCYFHrPm)QF!eHsXj!sm#YsAdZp{Ry6m^rlOVcIX|yh zne2&X>8Hj`L$jo!_|(3qEA6QY4}OyPs;=Ks)fOhnv19OBWVuO?#J-seFgZ6d(D)z$ z#7ROI6OL~{ge<49wx7>eBGH4V<}xV|h*ucYydkQ*PSX&0cWf`~ z0~9{*0JA-th0z@y%cK-X<&)kma8=k<9<>3>g2u zLgyGj7Gww|8*2EpJk_W2&h+N{a(lc3 zqAfEuBK_IzeN$6)1F~}!1%3T>t{26yZt2oqfY-QF6qC$TvOve13rR{zH({!!-Y@EhP%&D;|d9G>}Kl=Nz=FAkC(dZo41RM zejvqc+6(I3OC)LD%DotMFtVo7f~bCrI{A%r$kP6H?-867xb6P%nATpy+Jn%1)TQ_k z?OTxP6Of&;)a?}Ylf&gzs&`Pc)R8^Aez=f*#5>t#=ZKJxjpAlg%W&JCe+pr=q!Q-M z!c6&kS69A>ee_7PuL0vvSgdfh%~#fdM~LZn%gub5mPVC78}{gry{)rX8L@zf#@;68#ka z93G@1wwxbv(M7z51vQHG^J1UQ=4benm?>wh7jDT7>|S>p7eg9s{3%)kWHp6ToHN5a zfN#H{eg8yPpY$m*DbZ$NC&dY&$aT2Lkz*oUol3+I)=v?X z&2(}7v^Rb!-I+oIc5cLRkpWS{mmITIi}E)`j|sUkUvnn_FhSe?8d20zv@1%#34nmI z;wB%t%rj+XYxV5XWxMFNzA$ZEAv0i{a;i$I;>f5bbhdb2G9NzD?WR5} z%CRGQpnbn!7A=1z`_yJ@#LB&Ev1`Ab>YYWYO6LKdIcT*sM@~!BO80)7g6^JA;}j7! zt=n}v)rSuHfZn2GrL%i`!#*~17W-o!vGt?DhmL)mVP+kN}RZh5ib12=WEHRysNv@4` zUpNKPi751MSaPE7)?9XME83x-#0pkNaVAx`$zRdl-T}DvtE`o=G?lYB9Uq2m=sK9L zlR&Ih#W^%aKb#zU5OYFdkeMVwgbTn#?q1m;eCE)Z8Aa(M-a z8*&mnT{b-}}4v=1OoC1!F-Wgr;fBC=-mxf#^sQ_dhV{)AivbB<_ZCB3T z5clr)(qNJ;h!4N?7DE3KvjQZ4B{nn)yv!U)FbMq2Q@ikCE!^uiJbv~{f3#4s%CRx? z&v9SrT#N>I=BqAu#mv!|1yiY|`3o=_bze4WXvZS;b|7+MX?TKzJys@9Sb zmxalRG?M3Qb7vfoT4LkSQDBp6t!!vEbav4n84`ImgxIl#ZbGY0)b{gUAMRF>?kmYt zda;-3DT0)fl@hy`g=L~q3eufp#A&?0bT3j<)2O1Bz^z+TcUNic*4@X_ubO_#LQe9; zqQQdlC&%8XqskS+L@&sMWt1_km1dScV@eL!z_1_t&VwjqIFsG%e|Emz+@64&g4 zE5nsPHaHR#D>HZR<=4gSYofV73#B!}QH^sgCA2i=Chauc#+8)`dFKD`0TquW{7)L! zao?Mg_<*>Z6ZWj<7MD6g0T#O?6?svf#tk9YtvMVK?5$4GqvUW>n^m7sn8m5B-vJ)k zR{`TrMmodAi{-}wmIeov@qc``qc>&OCc{}h1@mH=wcb!s&o5i%@A58*yBM9xf%xZ| z*iggh1VFyWMk)K<)=QpdIWG-iVT7v)kn(sZq>Q<)nJ}H=i?bqFU)6p_%)lX=$w2z_ZqH zHfT(o4hP!hvZRrHoNOEu4Y4aC9mz7)eAfA8om7_DjwrN_xC`||d3AaH1p7kW+H}Km z7w6q2$xFy?`$hB|{gIw?SARP-iIuB|KB6E;h)!0rFDmPm8XLZCxe!V&nWxi;TTXiC zBzCNFR+xM3eeARrf^reVzSbt^iqkslxj%zS%Og9zOwah=TZ23n_A6Zfe`SZ&F zmye~*r0w#=mV}muz6{68(SooP2aiL8#>2Tf>y_c8?=ti0=+qUJDG``$0fiGGyEN!y zfgZ@h(^X%RTuQJCk!bSAliQ+>rX*e#ZzaHNLYnL$bpEg{wRmPfu|V9~Okhjq7UjjT zRCa-TrnHIScl*D+vb-)XC}(w&KXt^_9Hm z%BRb};Z8aimk;07#X2uu>n{ci@*l`ApVq67eb^IXU(gt-7t30y_o6VsQ}C2kYcFxC zzxMU5_r6W>o1EpU@}#OeQ`Xd1I(KDf61B_CUK+OEkCT(WaS6ukj^-(CLg^B!Ws}Dn zXJkXF#XBPANY3OULCj^hp|TuDl1^`>J0z|$td&!I-5`%lyK*ulmh@>(c{#vxf!y$Q z_EDr$DV-^A8h@)bL`P;on8)EYE05m95!jNrC4L8>msEYK-!&xnQShL>pdj>E(i{ht zWnUz`13sBd{#5IQG%5EnCW;`eZuPwEi86YikDQdGe_4Tx4K1{$sJg^9vmlWDIj;$M zhZS-a`cxJm7H4xL0IT;c@k981LP#{caSCAbg*q_j9WWvkxzSf~P2cDUQyqX-m}Y^j*VJ@$qa<)g1bct+ zD@k#3cuJ3tQ@Apc;ImtE?M9#OGJVWmHmnp%X^P?l>0JDkNm+u;2}b2zWR?QZVbWS@viB;s_shL{n5fA^H|ZfVvhd$y*NhF*~6BgY87Tcv+0- zs)#f!4J>p#tNbL*Du?s02JlBMQ_~+C320Z9P%_GJDr)dj-vN~od!(nUKFZK;n3;kn zrPd0+=PGoa96wV`!-dNE9Y(>9ukz4wM1R()*w@o5BFKEE2&nULC&4c%G35Ldm!_&r zLfx|N%{O!%yNQ6{A?C-l0%bJWkov+x%=PbSgcaryHB~=ZwVs$fTKjUvCWN_hYvI5R zmJ}4bVrjZ{gvC3>*vq$?hOR{(mG7br;5L+P>rhvQ(5+3z>_Nm?LB}iOk0XULP&iUx zb$s%)F%0XICGZ{WKMKg%Z4Cc0SiFgz0s%KR@~irI&~@m!!~cND^zWiohX)uJ zMz`lm3yy|_rjT)j633r7O%pWti500=OxLq&?RJIYto4w9F)$5DK z3E8LqA|4N!Vzg2=?%pZ>YKcW0MqGM6&`M8@ zwjC*?2VjbG0K8=jTr2F1NDHgxJS!2ghl&Nld9)Db@)a_35DNy#u4djmhXb z4Z3)zZ*2|CdO2;{K3*9qjgTsziT&`X+`qy8aWx6Wj)?1rU-{(%NvgD!w!nWmMpTk1 z1ybaHoD=5#k3-?hPQY5eRRtEfP5uR znuRd*>k$({T0bs?Ab%E>2tms=%bwuF!iXY~(fOT#^yzIUi&-jX0?Hk@7(?-$^E>Oc zsy&Nw@njMGn`u^zQ~i#)ka*R<~a zb@Xw=Hpn#icg=?W0nqNCwnjfN1LKKVor*HC1<>D>CWMI(3592zB;F zCsNpG@3`0>2p!*&dsN;5QNxRq=nA>fQO>bcv{BEc=6?t+Ih@A=W4wj4AT-6w)&W<* zFts6Gf~cC=wOE?3!@P+VDqvP_RzK?NKvVC85@Z=d;TPghH3gWt!cvkGtb03&D3Ml) ztm`NOMa;qyHv*yUvCve_~0Afcb4(pIATLm<~rGvaEo z3A(on%iQ@F!+s816zM2m;sRfa%;KQrXBnq;XD|#F)ndlld7^v(?<=?omZDk zjt;JCYtfgg0|ZYdJR9$TrcvrXmt7`kpI^@dr;+YH200J96`vQUxWWTDg(|Ln{lqy? z7E<7Rhpv0-)}3t++w!_ZKIIhpJOP!UhJVhSgG(FFM2S9!n?pfTC+c<2&J|@TxG#4sHWWhDc`s|x^-DkV zW~|11Xpl@*+xdeRa;Oc$A3oAQ?#`_ew0a)B#hj30p?-tdEC9zeKa3fzh~ zXuws1FO^2jVb*_mC3UgAyqmLkk31jd<_`}R)TLIas+&h0HRE1&K(=>{*VDWp8DAyt zUCP<2%1P46=%-H(ioHh`lzm%=Cq&DZ2s4ue=9zFeg^o`5Z-bOhEqwH<^tJOYlFyL2 zZ?JwT!Ubol{kxV^6ZMfEPa1TN`t$=8#Mr7qN8J3siuHg z@*P0Y^~DB`1GD)J%|YRg`4Wn$I(7Zo!!$fo-;OLywaQy$`*MFxTA~_Ld6cqrn&Jn9 z<2&F~R0|^cl=OP{sYcSrY5f>w=qYY=!6{1P@OT7uHcqem$j{lV!gZo4@f}c#T|7HY za%HDfExoe3Ie{?N?#I@I$dF(Wm5-BD8yMY;)~N>iG1iQB(ONLDj}om{5Y@jB(DJQ! zWGk3wR~?l9+g4VXQ7=zgYa$?7FMsn7@a}7+qJrn#JZtAI`x{g*Jf=+ja43C26hQc? zS)fj7VLF$rTHN%<$d9M`?Nx3Wp}bO#NycxKhwcg=T9fyBHga$)N>ib~mwagc6YfmU z_i7S(8@nqNj6(4xgmQPI}B!p+5M z62(Cy4Ts=Q4Dh3%smf0#v#?UF_^>F8<&mvaj$Zul6&2sJ`qkv5nJ{8HQCU}FNQm48 z*+h+;iHpB^Wqq>a7CKk3G4Q(_RU~rF$F?8%-h$X_{0{K5?(4UTsod3$&CWh=aR^y1 z3(2rOEPKJ^4$*G3w3ZEM1)CPGnwkm23i!*r#-o_4EOqC+VZQQxha^oR9nys3BqNHRmWHzQ)+HgWe z>u?;X3f<-Jcg#Te1 zDtRgTj0z=xGh?jRHLIgA?m25KVpS}wEV92GQ)k&Q{qUOtUo5eqBH2qpit5tGC7;iu zW!<{mz1+-FErKee;7 zOgBm70~}o5ye0{%qNYmT0d;%%v%&Z}f0Wg!m$wg}6lb@B?uu`dH&aw6y1)I7J++9% zo%K!u0MiOX3{#_x@NNyn+2Wq~N*QDB^uY;O3NJ;E&dfgXCruuKE6K{&Bx7DBW|23T z!bb*#P1)W~xGzuAop>b?15}Tzjnz(uY!4i~-pyuspcI?^$5kiFjguJjsa1JtRNm`H zuLz-O0dP?!ad1aw-BMfqi}WeN@zCl_|5Uff%6FeY-u_K#{*5V+8OVzw+=i`_MLo+R z>|4*qb302S)pcE4TPtjIW!!fLcGW4tPjqgAseIEeIRdm*R7>40cTZ}4j+OIH^!y27X!i}ZmB++3+8?~|EbHc z8`h0i6VbN2{@Zq7bbE$@DJqTs%2uX=AuscTV$W3rxXxjf znj3YGo5j`mJpB8KVkrnvN0?W~HcE?nh+O3hyY7u3RybeIE2#gPey^yXa45RBbaS^I zxue2u))Wv1Y#^Nqe;V5k3?VZS6 z0|K^}Ta`WOx-k3d6Br^$K9P=W1pzy#b1Ms^8(wEkVsuNs0uT4Ff$hgMC5PG*-ILBS zmzuSTJ5GaU8ywA;?*Msf_Y3`H=SA1Y&WZs~QxYGJ-c>2O!j}X=|U4=(jvyFOek`Qb=FoU1+|%IRE#Jl0OKy zLH;HoJ7$wL<2IR$7rUkZRY8~{Iu2R-K3?n^xQTN)tW~L_eDyQxu{vnX5oJe+JGa1k zTUkzOj72%@MC38qMlckDP7m6wv;P3Cb$u(2`Ll`-#|Q?<(K%0zGHE{j!13k^={Jn5 zkc$w7XS6rM0mV$2D(S_tzt^b7!d%@Zo#n(kz%>90uPEyIkVvo)dR}8lML7Id_nV#~ z;Zr0TFHKGJ>E>6n;?e@j5c^(j9-;{4 zG3y^V?co?_FnnDV%77&*gAc+(9)(}7rL?2=dK-O1snS|hO{a;+Y1yo#3vo$=p4estP8QcbU2_7sE zJV=5DcXxMpC%8kf4DKE@NN{(D=bJq5d+-0R+iNkiW@t{=*}D#_ySi#OCsK+k^}~46 zir_8YC7(i7cn@ic8Ch9&PEZ-igif%Q)0CP^BE{T;gLy7ph6phsXs}WG{pOC}tfE4| zKY*F#^{{Ood~802ijB#b_8!`?OLXUe>_i-aq%ZROPO;f2&Ofp+j)-)_(~c=qeGG{f z`cTDlqrW6Oe9p{q`H{p(ATbZIBZScNW`eT2p?->j^lRU!WMpjWyhE~5EI1O$;<#m8 zV|J)RptnbGSEOuUy4kwE)U_z-kXZxLR{Q;VFQGEZyk2}fEPeGea|O*cjd+(27+-VX z;?YU!^^c>@qAX3U0FiDYy zz;8GF_pjcVc##zR2zn~ppgQ@1l~g_EZ@Fr*TAu#*qmg>P7*;EMM>Iyn|x=(K4NJKn_ipWkC>J3Ry;+n3KNZja`|F9!iNGrTsp^4 zVUKsG@dOpL@hA(m@YE06l=v!@Z)05hHA2Xxy{w#F9U7bzIG1dv3;%q-@iwiDh*jsY z;QscF%p%+7c=O7I)AQXU`JX_+Qtq%g*P4Q9H@Mai8?#lJqLe>+f^-=zyd8L7j~TPJ zu?|1~0|-tOL#!0zZ#j6?p`-X=V5X^~O0KNat)RXAP@8B=tk6=Wr{V;c!d2_KdO@t1 zVPTd?q%)cFh-ZpSZ+v~~q3hI1HgPQal(^^VS>BCN${w4SejqR=!eWj0xT1~xTD}o5 zP-*hL^vkCyQxlYGG8~H(E85X<_rPm=d|aH=E@kCy}hzz7T=E>N`Lu1 zL{OVyU7_-%FUxN-K5Kv0g2R+x8iA04rwenLQW2_MR3l+g9+x#^aup`at|PIWU{A|WO3Ha91-<2XL+SSV85*8RZjh&7d?AJh(F+9=9wv`J8co>x>a? zSe#g4 ztbH5DqE|%U%Uw`@m22F&b2BlijGmcv1?)%u1NhMH(}Oc#*es(uKJdfk+I9Q(jMuN@ zr+c2&xxJ+QE{jw8tvZ+M zuMU|7Ta_4}qOW(fV8D%vJ}q0iGoof# zeX-xAWJV4At&Jr6?CP4=v!^22>$$XYENtPc(3SeYLGfb0*kPI2=<1N|GiQbI{H+)# z$Kc8S$^BNf9rsr)byvHBu~$u5L}tBNpW+_cR^Ph0@9q{W7A7DbH%wa1owh&6#C- zs$pMopbM2r}o)7E=Hsts)Gk^MB5Dg6;O&0l9*V?RSN8lzq~2b$IB z3;o$=BXio&=j>SxOu^&L5;Mf7%OI_bibh^37TeIz)=LC| zB{IRA_RGVNtk%KM%uF%lS$x6;883jKVH`~~%1zQ+V#R*42hUSPo0q4fNu7gbCUy$MS(?c#B)MxL+PKlj6Um{D2D2PPYL-zP^4aw!qix)43V|=KAcV0xM_+0DQG2S2(SX_VJ-tDQy&eV@MGJ~(MNmMSV zZQ^~D15_D>7Uwb-i3s-I2FlsTl(ABNDISy0lfj3%s|S-%Z!Kouj>eD)?+|~C+W7ij z=7anVZ$f^W_9Ph>c}4&kzVoa{gRIPB9Q9yaWzrTy0C~r0YyV8L?FFw({Sec>8ro{> zJ9G`Jb+TrVrb2~>MV?N^;6>q(n<~0D%7qKh%zWLRS2AN0%sNCH--j);oW2AT zHU})R4)%-${TxWWw-#Lp=|ED&JkXD2sbGkd>X3iM{N7nTVTWo;|dc{!hXi$Y*nG~Y9i{K^N~&1-AHPxKV-eQApXpPVNdLPr^~R<@*Ud4It*HNKXec&*80PO;aPQsVF`ZD+aTY` z8iZF$aXcqG1jXE;bEu8PoAGn*92RSXq*Mf>H;q`?mc-eWX*v<18j+;%7q0tt& zvcXJi_a+kQ>YbfP2d>it6T6wYzM{;i57i}AdN1{LRIFcbw+&eh@tn)lH)kZsGVVT) zEASm{z7osZ7qj9OLRS?0JYo4>j_5p+Gm?S4oEU$is@dxzX`6;(?4Inp z+AQBh1(BkDIqw-QxeFJp>;^{l7k<;lvRTI`o%xZ6id(a|g5!5L%5pCcO(gF=+*IzX z38(SF9qPvc>&Kgh+o_PMc3mGrQPYF#b6UV*+26?YGfP+t9y``!#qQ8wi&`l(rJz}- zl~zlh!vlpg7+t)$g>e^q15GKqSWdGu>v*r0zkPJ&3uPjC{!WmQA~QF&!wMa1Pdz7xxpj334p5hh_~8zX}^Hshn~ zUTd^ZmuLRQF|rx{8bu*>dN5FNgexyDrlajNEV{I@BJ8;9EMf>#ZOnd@lc!bvJU^dp<1h>IS5FgmkVqm*RGjc*Rk zM}3cd-Twik=xiJ@KGj<}I|Lmrj3ZUphaXk#T^t4TN8^v-$^G4HYro7yO;5GT+G$~b zua*408-bu68bMa^404LX_C_cpCQSuXCg;lo;3tv`+a+2IQJ#_4_tEykmd}XZ7 zYo$1jG9*05JAN7I>3G1Aq8SeR#@zNch{95W4g0mo!)zS!I?n0fRNqO&JVWd!hu3Lz zm8J}g7&DEjk0sDgu1_;-Dv>z0zWeR%g(xADC56z&BaJSoG3~qiFJVN~gD1CHg5_$> zRLX9*J0nE*%s4q^wBfyaCebM{%0tq_{7u>^3&#vBHozWx z4bQBY?>3AgId>Jt_fi3KH3vV*43VhF59Mc%onGQ8xH$92YVo;G31zD)>DXfw8#i!8 zp}<@lxI9Z-+Av4FRTcYugo=WcrzKMs{#Yxk0>Bva!)!~>oXmW{LEZ^VM6#Xy(VG+O zyzz`(nEirth#d9Q`wsxW&BnO|_Yf(RS(HE_Ui|AKEyJ_Zw~Gb5YwZyD9FNs^m2a#? z-dtLf4X?Il4w{-pACC9T5{3AYCrnyS+$7@PQA5u^{SXd0#=^@TCsjxpUCrp~?LkVHPy)8lkY>+T$PW`*&Ua|~4N28yqi`jOgD16$iEfY+`?cMl@0vp^{$SGA;hH2vUN`2*M z<1r*wUn8u_pgN?jMNvU*RnNuJl|ng=`Eu3sFiSi{m)rd}X4%$|eybRLqka8#+| zyuh9lrbBh|58x2!c{M>-#-`REvJ-y;6WLCZTZvQ}K0ZB#BFiFJTenRT49`|h2G?UX z;3GXh7hZw9YO?#zp1&vPr>VBq3H;eN%Zjbgdf~P{VjU4>yN4LOMnv-<3&&P>ZISStlNYzP4;-<%My3-`KwG z@~tEIyA+QjPeB zKNkJD`L+Ox&DCcJB=qC|n7iYWa59)0z!0;iFQ_|6vI8umoUvK4VAkQ8kzreo+0l+( z;};bx-Pn+NN%*5MRN~a2DTS*^SDVa|weL9R`zcy8%rL*YxKJ8u|ZS{AOMM%IL#b z@ygOL36r?8KyaleX#2%(5V`^%jC+(7D~=GmiD(iz${JxysD8;jU3s@2LvpIZ>>W>1 zLJA;7@_pNgOShqpb&tJC_y!k2T~=5Y%FHK3XN-8f->+yA{au=9&xYyrzxNX9> z3?nfF{e|rZ1#~63Jz_KTG-B!)Q>6_SG@$&NXK&&}s^q!$!rOqGX%Kirct5z2cUpv46&OZn; zB})s5x^14u@}gBg{jkWD291P6UQEzA;iwP`>K20ZyY~=Pg@TUZ$+09P9PDRGv>6@W z#?g3N?0936W3sghbU!zDaPt@1AT@<0 zT^O0X@Rqk2Uv+SFz8^n;R&5;rq}r? zOTX%=AdQ~J7qQA3ho4G~OqUd~f-;mYNJw!@=~t{z1>n3gjR8>0iKMscpPqm+#LoNk z1^wSmdDACV9DJ6~Jb1>AfbNYsraES5ns$rTN1wb$k`Aq`A*H?L&3nh2 zmk4MLwP9Fn1_%Rr)wFbt9~UwU`&Q7T6OYw^#i={VkCvayr`T zk+2(8Vt~+Z6O&UBHY1SyuHpr8Tb=@9*XdDR{Og>g{t}jewE6H_eWq$X@AR;4Fy&GF zyh!2z930WpNln3T;pQh>FJ3%vuuqjoZ)s%X7WZ6Hh*?D;x2&EiD92Om-PjSdBVGJ{ zY9z|USo3fMiAQ?IN$fYyozJ0%a$W^%;*YDwXFSpJtw{z<#DGNAUNC*UKYv*cFTdsY zZ%bN5svB70HBr)y&mZ`Fyq=q?&%74*5@JF@nKZ3;3}rL@Yh8*jc(8)MulZU+?7n)E z0fK3(6?kUuO*PQeQX{kGZ!-Tj{oHth%xU~rEy9!(`n%rPE$2gYSYSSgq}mKwDgYww z&lGGUC!5!aXRc49FQlq>$kWXGZ{z9CsHiA=w&6`0LCQpUN0?WB5|nZ%f}6|;lfcUY z)l(~_7bL#p$;@qBwE5dSk4H$+d>NWs(PXEw5HXV20%J@@X6{K(N!wHfQSCF^csh2> zFK7RD^-)eQ8XvwI%0x#AG8cg}j|m$R?B=VAS}nD;E2KY{_SBy%T9AVS{-#i;urlS2 z3BGBxFR&C|)8d?Kw^YDCQ_U$antw(YjS>23Y%Nw_GyvQcrZG@SlkR&5O8ohtYA_YZ zD|j_Ae<_N@FOnArun$mPbpGkJH4N>yqSwpHF$w3#pKEOv#0hQ9F-AH zE)gsoDaiv;S1nR4G7wEo-QXGc`^R7Y)Az<4ujd|?%sS$~*5GSf4022rqaqv9i(7hE zS4AeV$_`9y;Ym~X5#HlVd?|bQbiZUXsUqFyh6Aqr{swnK;-4y~|A8wBeX@K0tE8C( zNn29Yx#(O(SK<2+gpnMZqG5HWU;Cv=0b52BAK z9&hjkq%EqVW#LvDx?ARd=79Htt%8+O(7FKobE>^o%660SPmo=oOx=e*=MW_Cv-Gl~ zI4)WQH%=4+o;aH{N-A|aQZTg}z{RdJJ zbYTDk5`qcl3t~4cyFgXvMf5a~{z6_gQcx{g5}6#EAX2CcQ~lsq5t|L*TzQ4%$aCk% zixVEQ;#jYXq^Qa$J~K#RB!06@^g%H`%h*pQO`;r5(}r10DCaD@tom-Yr_K%4vy zS_gl5mOGNI`Uqwpc|wOx!x@v`nU_SB+gu3*4!kYUzSTJsB5x013NLS9!E{ z@?Z3>NX9-IaNipcgn55qHuDHgF!{55J(ZkFx^IDGww*Ga$#?ADgu4u?F1w09Rm_Hb z4eNc)3{h=dSJg$8A|p50nq<0pM>}fc8$&zm_zqU}QH7FbfdTNo-y5@Sp2ZKt=Iuiu zEBh38Tmy%Yah)v;$%%Uw3$1+Kj zbkbuzXi9;h0ogWM=K?Aub28dmHAfgtBKA2`|JWA<6@?3}N2^jo0(vq@Q&ASjOQdt& zYXXR3^AfxiQ=1LH2xi?A{%B%Q2BC<<5z9jj;mUcAN3t;1j7L?x2c?%NZ@hb4$%xAw zN7PYW*3vk{>;s&3@N_`JkizM`jc{~)DFDk059vnX6*l#@SE)gmHw`O7a<_&guDrLn zV~wl^&?z$n1g@of=r~HoqQyf!fuOFv1PPrGpFL*OW1Ba+^_zx+E=sn1+7Wtq+-i^AlR~#KVI^jsK0hw8t621}b z0bv~A*-5PBj;~wfYh9cdlZHXL88x$c)SWcJGeSc#4uWVtj8@jufjkhTOh|4xC8HDy zsW$$ev&*K}j!aqqDo-6b@u3XAsd!U0bEafQss{N&fTc9%Y(HRiQ8 zTeVB&YbT?8?RWwE)d0Oy@wjVL%nHRT_v2R5Gi9>X(Yjt5GiFNem!!jdg=zc*f&zXC zcY~kV8R#iCpTY#;hK#236zGGabP^oleS-p~jp%fzuTMzYt1*(1++8vlaF zg1V^jV5h!U0~4TQm_(0Y4+ldLw&dBpOw2MOw_P(p-6q_5RFOoIG?B1V`-o?82~Dwg zXNnfX*iSXO9o47AbH2~G0?Evv<*uh* zkSVTH%g~v2bRSVip6;YVE8a^|D9HI><_G_}y~Qd3$04je1f6*BUdo>?vzz}QG>;CF zk$K{L`{Z&H%!lExJ{-tR#-idFWk~$RAp!M~?D96CJ(v4}fY$)IAhq zsG`6aA?4KEy}YjHN?oFVO-v1y;18U?fC!5^mtR0B(YqIu@#Nm zINnR0)!X>F%DNx_piadMt`azw39d^(3fNmoR`av_{LXdlXeLDD1Nq z6O}HyNWg+4K#=)RiPt0o(XS-ChD!AT(@e1dg}mXp%8_Dfu_ZR*P;~Y6`P<>I?>D)% zm7c1Vp4}NoH;BC{e5eW(h@ZCdszMYffBy6)|FwJ2eqbWG`>e22opCJu>j3fIJl`R2 z@c2Y5@M$l3R|lFPRxZ&_1gU?ANAQS<+iWrZfC>P7T&#*<5d)oJk49Tz`Z_W~7+F9+ z>kuADGTvB?rat4)DaR-XX&($nG_g-J67oV;U)h-}uEp)PrP@NHnE=DOSS>i%B)kQA z@@D#U-x0@6G|&Sa^X{Z}?ECTAH+W_!=_%2MQ74S9H1 zaklr>`;B^Iju96=8nGJxwQd)|fiRRJ(w%C!pLV`)4>yJ)n| zEs!i`uy4;ET_n?C1S*XNx)y}I&PcJy+fmjtTZ~I{OvLn`70@kV8^cld|E1*_TV4GW zno=B{NvV93w_O^xz$=zjO*n>^kK*`E`=C!b8vxTTRLQUYX{Qb=0y$K9At96kYZgJ* z+SE8d{DSdVEeQTg=6v#=SfHf|dph$Ck^drH`%m)~Zq0GQJ|2tU{C2ptH^4LImOP9T zd!-jNI!<P zqG0Lbr($$m2Qbgzfo8JheGM}Sy)}*1B0Hx#FbFq3JR>l@5dG8El8g9=b-wxggMt-) z+=K_rx;N}-)s{5FcCAW{Lu*)pdQu(EiqwnTo#n0rqg)b?M!R4;VIKdiQkWFl(!~ML zX9drL_LgdEL*OkFWHii$utiiImeMp%jBkM;RsIWQ5cK$!|80cjRt7%d>wO!@PQW#@y_NymbF{;JSYR?`rGb&`!kO7@~isP%)d- zn8$VOTy!43No*3BiCX8RdFE@OgC52Fe|_g2=0%}HCmnztWfP3r16{}k2E*3D9h5WD z1U2HQ5!Yn2=y_rZ-HBfrnd)JS(Z7JcT5A9*NCyE7cOR)H9dJmIf@Mj1JnrOYPKxw&DY zPl<4Y0_t^`_AQ~Nzmej7|3Zj#a#u;l;4e<<{B0AHJh^s_+)EJDv-At^)m}JYOzqrKZ|ivru=LD*I&r9TboUi^4)>=VrMOg}eC_ z9NPEx(uQne8{+CQEaLcr>PR$9C)qE5KDErCz4;*GN|%4ZFY-`-C|S>!7*YOw5Q95j zhuQbc%CYxR4dq;Evxt)mVZpA**{*s68uq!w_dO~#5X?OJw5;avniu?bS11`=IVO{l z!)ikG`h^+ZM!6M@d$Xf({(TI93bQ{F+F}z9eibmTdFxwT>Mx&u0=^t@IURIw*>Ej~ zxjC<2E0JfUU0GhgM{%Y!Vckyp1FgOM;=MxFOb3~gzmY3t5t3_~*V5ARq@AHC0CrQU zn(6P;sNO+(=Qza8_LM2n(LRusJuxW$!c#qxfvQrxJBY)U&59AD%G#`%R(gx@h?IsO zM?SNjWf2;XD-?sZ!M)=@&zzSten@$=F51^TZr|0kj1J>?eoAbZWoY#VheGq3J*`aZ z$;a;PMDZka6nzy%hL(J`{jZF#=Gf9?&U5hXzUAFo$YVUHp4wIF@+s|&8kC_&&lC4>d(K~!}*|p!;uq&IRSiPJerG9UD12|%}RF9Zx3Po zX27~4T4iK%BZ9d1KP)XYY~2q zUZv{(j;0X8RChFqZ162A?gyhOhLG-nMp$Spm65+d+*5jaT#W0x6^uP>RwE~UeFp|O zYfvJ3z-L||U=_4xD^t=*lvP_f{SNXEK%-EUe!45&s0|eHfY|^_rP)fZGd*Zxj+jcH znz`^&hUnkWil1#zs z|AHW+kpKJY9NByR-3k^>pKUz>#+F3l?>)Ecr3&u>!-B!K5)T;&pM;yDI0ug~>M zZMQE_o9U#a?A{!D5zyUZ;Wj%TK;sX^v0b<-Cz!8c@`|M86%uesaZk0eVH4*mSaFfV zGFMGr&;FjasTS|nm9Y_LKYB|~UYQ?A6{Gh^Z!YBr6CEby{#x_Dc6aege6(tyYMtOT zF`fPBEL6U~;K5Uvwqwd#!%(2^PbipLlov z>k&IzJZX!Of45ahZ`XxFz5zN4RZM>swzRY|XgURp5l?;DaoQS}&Ub%?)wE?rOsEV; z4*Tr)eCe9`GB2GCm{Au)OZCOtD?YCviw6BtFA9g$htayIxngS*%KMYtzx&s%M+`gh zF=JN;T(JAfh!G>Ai{2P;pQ_o7Tvg?((=5}say1)yNAsevRy-lZ7_#ytZ?Lx_#GpYM`MPs(>X#9u!La(c+MK7tN< zQhW~4m5e(!yR6u!sRw@RZAq!9Xmq-EoU15RFt(0(d#K@}Pj6sawE5zgZRw}JZSrS8n-t>I7oa)P;3(o9iD6C*myPl33W_wGx?~H2*|vf5YCYR zOG3w6hysFw^7GxL#Li+8jfH>K2vV5*%f}cK#Qa=Clk(%q-9brxQ*_Y%A~RfxSM(f0 zO8=)}sgYj0W`7-BpHI8(ykf;61$@))NcqTk^eZ)9tOQi&W2$4{^ z9_^-sX;)>gJjU5@Dt5SYqGH;JGqkq7ocv~E;j&eFiZF5enZhTv5iDw^wc;yx=ZZcb z%5kdVAy+BBakHtCI}#rh&|z3RO)Yc22f%_nWIJW&df-pu&PN$4?1W!4wc2!gA;bRw zrb~u6#2-wqb~V66XGaLMqvChuKW2`RI;r4NN?c>&cJLN&-o=IO3Rg%d0dYeTmJol( ze9@mP^k$bj2X8K=m`Kr<^=AcpHCsin=lG8X<8X-vNdr=x%ZQzs(6y}#06&6Iq*h?B z20z)nQ!lY;B>c40sm5bXUFV9ZUf5kQd>hOq{#A*+kgm}getTaidtznZweS|t?*(lf z($-QT&A=N?>maA0o~ z1DFn|est>cvjVV~-G#_={FB;d2}ppqq<>=n=sVZS)0#<2;KnI1P@c{LaH=Uf)0%LXIpK({P+E+C)aQn^ZQ5l801FKlY?8G9!=XPcTj2@8!wvURNyb#<5gBc40Fu<~l0Qc?ZWLC0 z*I`|;`a7RziilXGxi?5vVS6rWr&d!V-jQs%UvNqpjtq<}mgM99hV z{+B>1R8{w|^rIy*Gh})@4y0ah=@)y*TH@j}NIlh@|?=p ziqKOD(wGpBLs>%a8Gs+PDX8;vuJV$W8iH>7mpob5)aRWpEk@*5fAv65A{RkNAI-7U zydUN@x0tp5Ds?>^KvTl4k*)o)7vTxNR<#nngKEb_u6Wt7h6=ri7E)Bip&Lo{mEg`J zhp88rEhGk>M+0G23qP!r{oUTGojmLIiy z=AKRwVR3J_mXd^dpL9tK{sh(BjEBM*W59yqe2F`v=y)95U_h_?`2@BCSHBVSQ^A`e ztgc?AU>TBJQRSb{CTO7%P6c6gBP|Gzw(J~k&kaunIFzsD-Q_5((!%uJ$Q?7>)G&20 zK}Gt`1o|FN6oQ~5USs^=M=Fi7TXS!7-$@qZck#_lK3j-^)^=?7?<~~NBLHwjD@F=!%P_JKWj*k)^9l>zymt?x4hIj|B$XH(FhuUMN<`wzp zz*1tiymO>?re!)K?wtKrR6H0Ri_InAsOWwm&5&0ny=>;8?k@7B7T+%IN!+@)A`jAV z9s)^FL0$koJAMq@#;>J@;q)#3X%87oMVo$iFFN6AQzij2JdB^=R?E(gw2}Q1Z=<=_ zCk2t(Kf)|6sI%~IOclS(~?&Y?P@ukPfK z{1<@)1wq5YeJl0jPO8>-l)Jab#xX^W!r2HmF;x_1_nHS= zI2OoAOnBX--AsqxJ2$y`TgSN%uL7TQ?}-Bxnt&tuBJYAT65vI~F}7_bzFNV<)N9T% zq}03^lJ_F z_EVTn!I22b6L0kw)&5^geh7c@JQQmMz-m0k7~t9WtSW(}_0DzI_zNX{tLu` zX=6F@sRg|OM?GtLkU%~{VmlfaF&SR;AlVM+zlC5D_+3gPLOS(j-IH!>1s<0a%gl=j zG|;B6)~CE_FzG}}hc$~F>6wz`nS~(S2o#Jjl~!*wW_07(f#qh|3Jt-7-v)LsEh%(f zP@23j1UcA~DK{l`vg9z8NN>8tpjVQbIzeX(4EFMzzc@9Dh+;!2&>w3E(bWTp1Dt)T z2l>lPq{RdMe*+93!b-b7m3*0lEAvAs+6nLK2Rv({;-tf~Z#GwSxR--qT9LV%S*(&V zM%dNRw8+L-5s#YT@KR)OY+k@TDraXaIaY%5*&r)`$dOPl1D`*zy4a02pxJ zAk}3*mUuX{8$c5oj5AE65yAu;4GNk<-U9M~#OZnmK^M}XJ|MUe0W^n9R}?Ow5dl@S z1{F;qZ;lE80N@!JflC>l84U0>0uLk*{@WBh)+7iL2Zoyj{}E@y0)RK80hhf1fIs*G z9xwv{Yxn~+N2qZ80h@zt5(CIZ%4A!JV9Ec|hXWI$L0D)&iD(d2oIw0I9#wBe4;mgP91tW0+BWDn9ziyhLM|Gl za{vHog5aIdk;UbIZA*Y?0)SjnKo##;ZbYW|pYVV{U;rYpFaY3yhLta2JP!a&{{;$Y zBlXhI3#y+&zCtA{39HuybZ?u=sTUYFtx^L&*a4LXgdXfFN`r z6l#z%s1F&;jY6df{Ck@T5k!4|p~k9{WZND9U8A#IBak^Mfj0+$-$t1(6xsd`F$GQn z0^=ccbr28)NY@uiWIO`u9R!-8KtB?h%F=NuL)j$D2Y}T8V8|rZbw8Hm|Ij@bjrG5D z=L49aY(hI+N@Iy5|JNV>x5K};DF7vrTLE|}0ficTF#vS<2^Q}IYJ~m0&7vvzd;pt9 zAk@25M(K+z<)P~tCH>dI`FGGq=);EN%FD|x8RWEvp?g{olC zFi%ks*cc_6QJL-=4Af!3kanO$FO?Gn@GY24BLb-Qo^5u32~^{%uY`3Ci%iuA;vXqC z8w4jJ0RKqSsf_@NAVm4_L;#rhZ5b+%44xV)_)S7w0|I?6K#c)Rup?xD*_0BMtP?Qp zru+Y~De%{Zf7zs+0@X>uCW%C;IzjQ;rx=xbH3Ehrg~$_V)$p?+Y~Ziv=5c)HGC28Wr~M|D3-K27t{;Edf%;5?A{x zC0)?BMFo{=zxX%r>#tTj)*B^m!0r$7YE|Yc&i-<~UiLzAOBG9liRHyFDqq$bjAc4+ zw!gvd6tgJ5F1Y;p7s9wqc=E{toGQnn3{o3DD~%X-WUEia`Pgz?9JYXW)j=&&OW zu@38}>TIJOkRM2#+WCtv|fhm^d^9!zDY%b~`i(&G09k z>=7QI!NF;`m&?Y5ips04q>USi&v1b$Lmcu*J4FY85~lJupFHa!r|30{5@P*Y@UO|J z>1J+7u4T*FBxKRvUAnaKau>Ptqsne;Zrk>?fdTBFLc{CH+&pfoDFmc_Od2Oi%yH?~ zvC?y-g+897lhHmO{0M10UtjU)5z(lba+IES3OWG+#17$k}+yf+Qj1q7Bz_+ zVBKM+?L7t&GO;v>Y2+)Zqk|dSaOxvh><>0tFO=1+6mL;to5YW15)P?FL`UZ~Oa8dW z%9_QY20{={lmgwKPIzqlf=49DgReJgya|ixX{jQIid~Aa_E(M%UuOx3LX{;^mP?9K zX^zD2^5mbXI;9X*myWc?9owoxb5A7`Nz?Y~$r&@m2Lb*|U<~F5h5mBX_Y68F6m!k8 zy*5#6L1dolyKoCGpWco6h5yy#XM`qGLQjSK+x~mNJM@wIH<{8A3;I0OLlY^tE~)-E zj}q&6jb+#~uH3eNU-QVcs9LfoeBoy)Em2tc{6Iogdie)MBlX&OAE{q`{f$_QCF#M` z>bI1d_=5BObLESS@cp!U>9M;aa{6)QjuDfkEWBU)H~YWf;zB!^2z=%|5}H583M+pK z(HiPg-!m=4U=&J^G2pG3EYKd;8l*kq{T5d~WbQonX3}7wD`>H2RMBrBDI5kV=Uj7? zz%RB~LQ#S7|KQDLg#N<289tEnrbT!m;S{rV1A6u^?AN^t3-ZNNk9&whG$2=&=2 zMG-i@6GOw^{v?VBe&O&%3$Jr|#~pt9@B{nLp9qgA#81R;h1&)sVGXnzKcxu~+D9Tv z%OB)1wQ5sg6i@wT1N+u77pLH_(Aj7q~CgmpDE%TmL$;UZcZyp=~(ZaZv z&kD)pp!CJSmd;!lhLZX8Uh}+<;-zT8ky$wfgHTvG^sgz^Z#n0`L%(=RA7ms+KcXn* zhF-c$wj;KgQuDjwWGSmAasQBJjItRnxw3YdP+YlZwvAc&vE~sO6Uq|npN3JAdb0bx zWT#Cv0Hr1xL{8unhUL5^b3yIUW>g(=?|x$;9a?0((Mxl#Uyq=RE7htwN^c2&aDl<_r1# z6);umblRs_O%=GqgEhK12VCxod^b}}h?a)?S9ZrGeYXbp!IOfq>r>;KYwl|=lY-gTlx;qf zuD*n(E#;#5kw>uwx9b4i9%7r+>lQF zu3F@hfz&aJz9T(^REZ-@HP6Tak2LmnN3XOB_e&07*H~H}r&r{nX~UY5-6ycpTDz^% ze7k$6aa;MwSFv1pt^V)2h} zT5N{@kEpkfYx?{C!0C>S?jGIUT>>I4-J=9#OaxRqN7sNMN(qc^q(ox$1i@K26-Frt zg2i9$Ki}W)_s_Oh+&x4Yo7xeqy;w&K=82+-N7#^m)cef`iYk$Cde*u3E|ZvO@zoDf`-10uLXIsyjKqJOkIBl@SS4BQ zYK+Cxz-U}kc6qMIw5X&ns}vmEQsQ@ms~j^0NSpvsNk2e1DZtRS(v4Mi8J2UNh)#^Z z&QGIn-Y()`@w0H-!25Uv@z}#L2$CHU%jV-hC1!@i7@)i;g}v+53E(1=Zmt z-#_2}l~ejVfrj}&`sJwtSDM4rL|b`NCN9Kxw9d9(*kM7S)KaKu0a~VT1(_oCr%o=V ztnMFS!`ku&Q&vd+x-0)mIu!RM{pm+Kw&zuGb>ECI(;BB_S(egS?%mZ$mVw4yMv+?k zSz)CgX-e#vz`@Om)PfhcUU;1^xH%IIEjFkpgF>xm%7tLE)MUvfLPc}X1)(CWrKAg4 zX@CpMz%#pA;7ZoT4!ZzBN@E7C7j|j#?qW3iV<N;S0Ez-8LDGdK%TlP&QV4aXdUw6D2bJ^)>qhzrmLg7$G~M2^PrJF^QH(g> z3et=>KQGBmGv$+u{(NPnS;2R&Ks8Ocm@3~$+L@UO#RSLhMIa6$!$o5&;q-9cV?Bkc z&!!nR?J^5B$T2A0)Dzw=_~<|#mV{?6Vfgm3C-&pSQ)WHi0;P{3E#t~v{A4`i5(JEV zX6EBm-3?C99lc-iewuhfypPnwDik(;1HIU&_X~#o2|rd(t|>GNHcW}ge&?KuBIl0U zBYM=Z`Gxzta}1|`t)3O1T%V9{Q9Y5qB*iq4xg5L_u)}=Jd+VTv@%q-wd@KPDnl>VH zEhFM|f+`CQJ2r0nh3SuN$G>0B&{f%hT(6MEnY{bT)*@5W@J&?k2mfWcY{>X}^LpMISuS_Ihl*%!U ziL5Z9F4CKj_S&#py&t(!H)ulM{P=35^VQ%Ouj!-4qR`qY;#iwJ!UxuZAhx3Ki-d6- zHsLPKvcdZy)E|c(67@L@rz$L$Cduwq@RRV4GI)^?q9d zXB>jPWn0yh%gT+6^)2kF#Phf_zXp5VRw;4ieSMR266bD-6Y!m6EXW9cHlldU;{oH) z>$=I2omehJsn0?bq?wXQt;9Ug>>4Uu#NcA{TE#;aI6$`{SWluJ>Ge+0OHw+rBF>a2 zb8RL+LeU78{y|=NxQnvHfWv!$j*scPx-l{zErIwdSfkkFq56@Ds+-LNXEpxn#pX!? zo#)$KnkLtbGsNZm+%DaG;tZY>acLH@pV3c7+DDp8-@(Fo<6fnZ5n>LM_L?&JYsXkc z2C8FWyjtw@eIsLjY&56yMddtjsLdRuGh^IA0IMB1#cvF#DCeJL@HHydD9)pF_$RL5 zj+JA|exzjdnVIL6H!~=-=gpE;xu)FJ_`LnxCz;KN9oMuA-Y|PM6mF~~WFBx;{Yscs zI^l!*Mqrk3EuYloeMV|CNZ}m5oUXA%Y6^B4T$au*_IOimw>jbxhs+c4=xT4{-MdQyAj_rOOGa{M@UQ zl4jhUfK&<=LY6jFnuEpKzzaj^kwUl}2*y_a665P47v!xx_0xfZ*dl>P50mt(24}mf zv92!7Ef_+qP-X8#9Ga$)g?jO7#L{zq|J7rbQM=ay(~3Kagk?Fq{}e)Yd9!BDE?kc3 zRF({^->GiAS#~Z!*TrVi17FUu2@HN|%q}1%V$lC$iqHQWee<`pFeXweETnz+tx2uV zx)^y<(qsx}*j=W7i8A-re2!wu{%RQv0Zx2YCN$S@U0*7|mKxo@kRAg&b^1V};L1=a zUsMYIL>pz&);hB2->7*mC!yFjZf{5fB5Tt}aZpW_<)gbIO(ywtCIfs1CPRUgX2r@Z z6GNuyB`t~0&W3$)n#46RTP&O+F*+3Tcb`-jTxnSTlo5>ivU7GT_?^$S@K4m-Q_)XP zU%xwl9Iktox6b78-dK!WQ0HFCK065~!=NIq={Nrvsgr8ew?}q*2IBPcdi-L~74U)F z1i0=+g;_vs9^w=uyck>gv-}_eyP`+nc~H3&w2%E$$t*d#rq{sHVE((hVOkI`lxMo1 z_no?pgD95Vf^9VDKuY*>W8HyS5CB-c%+9qR}|G@ z+qs|lFG`wc#s-y(H3uS_2oy$zrz?NJWbESIln0_C9FS@giRCO&Sl zM*~lYJ}Ohrizaz_&$f?l!Elc)^G7w|&EfK~Ti)}q-qox@Cm0=w1>qaT*2ye*CrkSH z{xUMFeV>a6yp|9^U&ZiTcm05G2mhxEe!%>5BX^;JuU;+6LT+O%BK9Z-hmyRd>hdNv zkysz5k@@l03nsrXPQQwH(u@_UD`di?&wWe3bVBW*ezs!- z@q$dT4RSk9BJBlhBN1Ri<(6RHd*1j;Z5x-Y~3E2V}}VNS+D^ z&Bebm+*O15(kG8#nP!WEJt@Vs?r<{xHZ{22JtWUTMCFcU-_VM)%%vzxW6klG-a>eb z^<BXx7?`^DH%+^vKmeE8+Gyysl?UYxVBGPDmF)E zDOhScd&`_%7!HBMzOoEg)7Bo0AZDI0uH4a8$m*3Rt_vNm>MEC))T4gY#iRIsFqDl} z1~BkC2U@?w`0aIftF4A@H}xH6;tze3N4|MxJk;LjXOU{ymU+hiQW2@Y z>TO1D(5le%s#D=GS*Jtku_n=H+Fx^Rb>$D-=UPaqG7-aw{OogjBU;mPPGjw2`4YDM zf@LpI9@|<44&JKqL~tqM08dgS(1@cfGT3=9lnCT~%sgEqsVE{6q!OZQEyTAP*;)n3 z-?MXxHSp(xo+cGk9|}(3ncEDJpXG+_is_5e4(SD-GHpz{%~_^nxlc+j=U+qR^L#c#0r|0F^YN0bZsirAoAg;F?f;=HBRz_sVkS6G^U_TXn$6N%+Zc9Hf%d7qLna%M|@R-M}SuBD(!7h?ZD`IJ~Y6N~*=(zRDuU_YnCL;(q) za3=6obtTOuO55@Lkf)K{zjI&m>GHQM8L+<{8N<{9B8y_Ep+hi0jf~DrAw4O88{y~3 zOgB(smG^p2n~twk*JqPJ`$gFb^v)?$4GS{XVhMJE1bF(GGKqI-W^Va-nQmngniJXN zJL?Q&y!5;7hON90`~=Y`1(|46*9<);xmu_YRpkn6(NT(c(j=qKmhyo&l+qS12bQT( ziGOOCQONXmWO!k)_RTcg+cL16-R%eZR}c(|KpuBiL(b{i8QUNc6+1gX#!j* z^?QvtG2uyDyL0dJ6UDbjx&qzi6pzYet*fiLzHeG(LIkyZIRteVVkulAx3+^Hsgk_; z#?hm{>Ji7`_~^6U5iu1hJWRhgql(VYrCZ!Zg)|VhxRuO0Pj67W)k$$gHyBA+Pu-pc zA|TLwQG8s1yn6v@`_Po@vFlFJwfV+854z3n>sEWDuhTb?cn=$%L)pa%?AR1L)(;>F zm=*$2{$T(vvfiS`(XC8V$S2sU>n&#)^)GTkbL|9f;Vb{Ls*_i>!;;c_+T(mP-2N=A5*DM8!EYy?eRD6w*@z1V%*R(fA zNndXlr<(8W`fQ)eE4vLbHPt#IiPof{Fy#ED4A1;F=&*t3Nn{^+t%PKOMM-(hML7F} z781?~bA1M)+7we24jD3}(iWka#OQ7uMD{MBMfWo@X47B3Sd2a@95_OaqfQxN+i^1w zQE=XHT|!ELn_>)&Y!m&8{j-?d!b_tZ$sb+Pd#?2XG*qQFu4@dws*MM?9@qqTUsS$4QwHIm9p9n`@2Qq!^wsK>Al_xFCh3rwy+D)}etgn2|AECumI0r;QH6Gj5 zU2j_&*c}6tu1k80 zis{ca@T%M5zmFyo4^<-6j3_4VbPL2(u(OsdS`txBx@D#N?#7|PE@qUO-;o`WxnPR} zL$exkuHuN5Nje3e&X(U6=-?}9X-#QpoqBqzwD7*So_tctzJNO7N1r+a^yap*O_P2z zm5;HNg;2lh5D{^^WGyS`t%S|)=K$O5o03-Z(9IQNH4?O0X=09nv~XuXr9?J$KAWDX zBXUYgO`EkyFtSUM%Z9E(f{NWvay9y)f|egZ?BTuuU%-p4R&b!h}WW{si zP6hX`=EGGs2&%1%#M_iZpVY+H32Km8flPLwN{1R_!3s<^l_fOA-#->Zl_CjinyTL9 z>Hcm>vJv-wUlTvpd(1epez&&oFvps+cQEbH`A!|eNIwv#$&iSYV(MXzSo>%q4z|(v zX*0N+no6hfnB77rC9{{=`02X@kvXThF##}ltJJcam738z4Sj~#zPBpf1&)?2#DIXa z$Yy!l2uiB~*9J22*V>E*fMcv{aubyLoWKCjFDpa{<8;2t!A`f{z5J+|6L$`tkeMuq z;0y_*VFf8j$tx}#6Ah+snm~fe%MTgkIJ`O8O1|}_v?&#c*)2eV zcDo5hg5?4QkjUM=5qy=N-#4$?jB9SjOlp2v?}<#O#M~B*DSdFm`hC(Pa!Q<|Unn1@ zN|=tEBvGC@&#&F*lo$K79E`S=kMqv|?rn)? zXf#g##KVX)&xGF*9XbfLbRPWx|28b05DTKCOy;qEPH(C(%PRFb7|apS^_%&KxVC-v zpX?(&gEAR;J#f>E($m20U~CM24SzX#pnVYUHyXIAxvdvLu<1ikh7b=N0t6oU?C~9l zcjN|nf9V&^h9oRws=lhCmCmnvdA860_?hR#RH1-+{7$JIo#`GJ@DCjNGf19VneE)a z{)a`krb(QfNS=~R@RT2b$j+6Wqf7art-z}Q(S>OH#GaRAl1+E zJE$f3PlGdx=`XNhYZUZ89XQ)tu6h~lxR+(nubu8TX8!jMJYS5@QAqQ2AIk=_gAy?A z<7Mn={XEbb zO_#!g0;Y3+kKtfqz1sg09cW~g4W?_a%_#Lg8Lkbn?9}vMT5(!i6{}dF}j43Pc zgszu$*uvy&yr)tSk!w@<5z9$AMZz`%WShYyrVQN$m*cnf-ONr8Jf-apP^0Y+*m_}w z3$K9#j92XsXG;RWHdqmoD&JBJwDUr4fPu;VZlV{0^6GiXZt8n)R1Y}kWWNIyS zL~t)9Dn45e5$=(SFQV<)CtnUaqrSRi3>p*i3Co}et$mMSP zqe!}MJ80r&`|yV(tVc93(`uWey_6S9N>3!pNoVDK&`p(I-ZUNr_ZJ zY=QzqPFE5vo-9*a&6VOj8Q?I7x#Vg?BXkfGc35mF*n^B6jV@+you8JY`;Cbz&*frN~a2$T5~u!VpE!0=k#nvPFE!9hr zL~XEU$d|XhznTvmnR-hqSS-mukk_+I327?7Zxm%_sI?M#-b+6tY_z_HOm})=jHv?w z{X^JQ8{=CoCZ!Z>1BmTui?eKv1Wz?LfUokR_!!P1faI&uvb(51x8joc<{=_w1?gGYcA880i>C_}(} z7qZz!JQiO}`coAs&SRS}R{y!Pz?Fq~0@q`+OXH+Nm}U|JCrDK&#?*84ET)p5EcVO_ z<1s`35@lpSYS#m}N3zEGATE*!t7Z`~x;>ng1x~;?eboF|9heL8yknTw$xuQRlU8M% zDS!mH^Ar&l7UUGSrZ9uCDRK%8N5pU9YZvC&6_4nIuzls-TjOOE?i}*IQ)NIe7jPq% zDRO|>EA4Jl))ZTYcvvRKbRz2s*_H+*Bs;h<5HapT}p~s&i z+U$d;rZ}joXX>d=0vxQGDT8g{vY4!aru0BQ4TmpWB{t>tyXHUc3Q(+p@HNoV{m%W6 z6r`xE-rfn+X9#wYfkU&}_0hwmY$VC`(N|`>PGZ^?$+Q1iBae~H^6rr^el)CU30S$( zP2=baq!ja0A^j$2=p9@njJ@!2`xKc@&xCj!4Od^L zk_gD}`FmuVvl54V`J7W`*NsVys98y*nN-}0|3g$O6NO}8HTl`oSY|VJ2h({qw!xG~ z)H3DfT&Y=kBq{3CE~c%&AjQ+4hZ zrT^*T7$1_6{9!0tQBccaq>{EzaWy^h2lsF#w``rvc`_xdg*RB-UpW9kO4PA!0bKaD z06qXW*#KY}KlqdRV?{MSC3PhLN)bKQ-FSf=%mb|C4W%cGYP^HU?T7&FfVf394Sd`r zejVEun7J33_?_KVupa+U^BXu#K&1z2u-8DhTbVh1a$g-XtS_rR?Aex}&nSaB{ zhI)~@A59|EG*)L7?SyV@?n|4@ydWpuv=BIZU0=1Ca zT6mSg#r5Y(xr;sg0HDQ9(B0@!c=Hz!7o_7m271rPkiAJ2yY#!YnUe!?klg1fAGc}qq!zO1lZwG{1)g#ECsXsBYM;n53 z2=M=RQAQs|alkYx&F;>S#hek~9M+ug(YsMprd;R3SVF{NJb>c;^#|ASF6!0+=&k0A zyrM5(-7Ysw19ySU+{7{R8ZTDgX6kQp#poC#i@`F;T>a_l=e9t4DVr1BnrTP~7p~2S z$B0M2U3gcw-WT5FDQa4KhdG65#0YnD{)l&%mY|`+Z?nPt#A3P@is@hm^bW!k;%EQF z45xru$F%tYt?YqjKqve*?;3FzN$zHq7Sn%y>_~!W6nzLB%?Xp@LbjUWtaf2Q8(Ipy z>d20Wk0c^=-93^pW>DVx;VxOANVIx-!!nTmNx&kh2}fsLt)FUMjBq*Q$Oq!%{S{7^ z%wT~Kr$F$hBWK~68Kxd4vR0)ITLmeb|8!CfGaTUz4P3|5SzuKc#cYKKoi7l~B34R2 z%R{k$@(04OJMaV8z+S{D@84yxCx6NhFIE8l_w?tg__!nfh*RD5=|EskoH9lLJ4E0q zu-nt!ew@!)84k?KSnQv?Q=PiD8DMtrz;kE91MzFv7yx$-hY$S87@S0%Vxs;l${+C# zzzQ=4j#2;3vntq^^|r-mU=@Z(l>=3%e+8fNqVg)|y;Vc(!6lz02CW(~ruDiIH4Kog z@2q6Qh9e(wvm)~=Qw4$4-S}>1er8UCJ#ood;`}3hZ+U(&M@}QAVM|v?u`~wkHHNB};2Q=?cI>K{DoQr~eiH0q9CQu!xqUq-R zBjZQWQH@hzlezSaXWOwmI#kg*8<|lE&5k^gQ_6aB=_%&LWBF<- z1$feLnPL+XpjX4#XKZJ)lK0u+PWz1nUxRLrG60r;d+!2CK?nCVG>+bti($H7v_37i{PhXMTG~0{-yQID=TBM6$-q z*}|1HO6~EdbKV>>qwsWp+qAmUclXr(B^v8gWf2mC4`Mb@OL}zwIngU0>B0V|BE60& zMFu(}7qEjd*_jG(3U|-y6#0EnO!yH@gKVd?Cd6~nKu!cLx|WHdSe#{|N^zV}qN9Mk_cCYCAek%VpWfow{xi-LRqqG z{Q_oWDn*X&B|#Q~t$Q>p%}IhDn^_>UAtmCV>b@iz9LZgtc)ps#G;2bdVU!y*d0lu}UyZcQk)8o6kG>QdOAlg`q`K}2(=?=DSA8d!K76n5lXzzd3uWk z;y0NuVMA?t`5P%#^3-RT+-Z6_Qr2hPK(0$f1_@y*%4+V?%PfHC;~F`W5Y|d0WK@L^ zzsMd*I%8ZbQ?>Dz|6v;x^#M*oP^1*uO$#K#1wrD(>3YJ<)F-+2$IJu-ebi)P?C|{u zeQ}9(tfd<@5R<#xl>P-rH4%xIyQ*+ZCuJ!Mc7w*zh(b#Lt-Ovv5J@6EG3Mqxrd6>= zQq0F|GSkj%y549;(#KmLDMDJ-61TNx?vqU=Uws*D5 zwJZZ?s#gzF|6o_bBt_&O|22f_sHOOAh5QleQ3u?D9ATB0FkV9;0_k-3*Jp9nu_c}I zi7kC<3EW4k1cq}b`lvqd#@!AmSe zN6g7I>@dQs3+syIbLhN_!9OBh+gz1@?QM<&*a^pvJkxcwnHksGmU&)}` zRPl`8>3l!Zcj(`q;0JwkPp5>KD5az3;;Lni=>U9+^Y6%-`h~BB?ecA#0MvJ0?AcR+ z%;uK%i8#a)A_;>b?=eg>lHC+epzfgLer6^1pB>_oz~!rL&6uoxsf7yB%uz3OCuqg1 z3(pKbChdFT3aSfxe$8KRk)&unRIOHhrO$FB9)0&}@^-vobm#3AeU?4rJzSJDMv&vq zX1)?43(B5jg4N*m`0y`LsNHJ`gOfj^j6BPITJpc8HGq)5OS3b>9rB-IwwFxf-%?<9 z74RFo3Lklut|kK~HGJQ>%m)X_(00;zpv16aqhD6do~;@Gx_0LKlEYVE>S@pQWGDGO zb@W53M%#C7Ud=nmwGZ)GHlJm%>eoBvFcq+DPzEGgt)HjNap8xR6GcHp!sR{ z(Tyvw_K5_HK{{|J3)~dy;dq&YWbp6QPj|PHo@nq%uwJCN(i@e|B5RXvL1ZnwB7Xm4 zoW-2dSEQfvM|>)OZU3Pg$IGVM0AuF%C@WQyTvX4>y9QWt(}6q{51qdK66%Ga-qrlf zyb6!JV;?TI!nFYp7d}D%gk5E8Q~fdePV7za&nWK;Gr_BuJ;i~Z6+};b^Ff|j@XE8% zRO9z-LK@pHXCEZtQT+Db2Y$j%)i>)@EOh&$=h$4D_wxOZdu$y+b&k; zMzZ~QVF;=wGC|Y!{L_p0ZS33_q70Prvh{2T#WY!RJTl}NfaZQT{e2fS=1ah}zW0hfctaI|x}O1*AFYeCd{AYtV|szw4d_$C z$u-@z*RlFi7iYR>3y`v_>{XhcHay6dj*^KiF7+XP91-u~j*keTg9hF{ zv|wpdpT5;r3$kwfIg}Ffn)d->{C2qy&OXrtpR(H8o>in^k(DrP_!KV)^z!fE)N)KO z%IN>wtIPXy@aKe?W{wG3k_EDQ7li7m)P4(Lfp$RDG|Y!ruoDF_!c0?(!+bg03N(K# zMoUV|$3K~vyq0H1;W+S{xd4)ocg^NLC4iWs3d$jp9ji!;m<^@e6#BNSS}*4<^Gu)C z$N)+AYP&PGE3WIi(V=JVCu)>mLZN6ifAJ4TdE#*jurGFDX=1T{V=VxF6r1NukbYr_ z1^o3f`MaleUZwlZ@7n2BD&+TvuS%+Ysvz@e74seC?a!v}O@{sO9|_r})9im8@S2AYSx8%yRdex!#G;F@RsNZX(i))lT-Jm=GZjXMLts(SA4uo@s z&fx!?JrF)N4`jScOXl5Nkae;$c~5Ymka9nCxBr*>udwC?(8v3~Fd@f=lLA;Jx=Dpo z{>UAzG9K$jezF&ra2_*?je{uE;tum5Jkt@=R`v~|O)?;yzm90b@$7u*p*+4fullF5 z6z}I;CinJGwO6$xXmh&ccC@qp&jf{(gmd*W9`33Ltj^NQYr0GK4fvCVY{x`qE??c> z`D_?&t1_do+Gio(F75-tVNb?L(fYGeRORXX#s3m1+i0D};J5AWV`*1(b@^due%;y& z*WR0DYz)riYsUA4rMw}U99+nsmZeaQ{SiV+hQjt51(7lsCQGR=@bTS8@HwBYcliiU zlQQ}39?cJM1MCZfY&jA41q_eLUx~s0*GDIx0-v3jz@TsI7TYjz{CHaKCf?p7H>T}40 zKP&2gLHWOv=SUWS^2!h~egGu>Ox9_MqJOzuEQ7OQn>*V}D^vF?Y4LN{bCbyNGE|yh zUxwx5F+bO|FA@U&!%p~FeY4)KQ3~}qlmDX%F}vaEifxB~At?*Idth@zk{HpeTp-N+j8*6Zc8xf_-BCVbz|?Q~?xW<~#mG7pDN(tS z{5R^xIOT9{GkeWM9*t}do4aVes(eZ_l*_70;;T+jW8G5+;kv`9*Y%#_Gw$;xk8R}{GCwD2_r{i? zM0m@s71c}Psvy1-X6>;V#TQ3XUqO1A-CUMpfdijTVhmo--axnaBrpULo-|3%qEJc!6AW~ zsn>tWIhM6<-f2|YBnPS%jIRzyePt?}9%gD-J{mWq;Z3m>WWBw|0@vR%uK&d%nJZ#S zX2=%EZ0bYfM&Fr+?3pfhg-JIrhUr)*`a)A*#+HlEpg+sK)PWqZZ&}6S8wZQN(FlTH zSqDIy)ese;KClt&^nt5pj?c?i{K1R4oUU};?_>-5yONc2$-NUO9N!s2o@bYc0Dg9% zheB=;efME)Ms-Aw4KZC%D1hJrYv(TZ1ipuyE}K%_W^yT^#Do~$h6rw!1e}7WIF{#U&o>%gC zOlEcU7be{Cvt@W9;z!~$`iL-kbS&3E5SJI5RCWm0SeDQbRBvFb1S<1sgY6GA=;@?B za9Z<-HaN(jf!{GZtUIfBS|*k4`=sF_rxmyS&+564V$Y02{IvF(8GEUHB3VDSl(fn! zJ($IB34d{PpzF*fdR+40vC)lwQp)`Ln=M;`$}x!qHMk1HnPt8H2*fQbW!YmKaz>5v zUb>={U@EMxWchlLm+km=6sp|1=*Mk#-*@rX;>a6?(p=ijM~3lK_rph+zVYb$d?B~Z zFhtr?3C+m0))7<8XL_`8*@#SkDh&_+AW!9mhm-v}a;6lQ$(TTBS@=}6+h z-VWuXD@y6HeKyS({mtTGS{*q#$CSS4*c^bht>h$CD76eK(GO_wf}z z`j*mpEM@-5+3`W%4mgqfdGj}RzYi9RGk#$eiA_V@ftfuqxF%=XHGl-%p6VV? zxcxH|EYD#XRyh$!{el}V_%+tm#oX@o?o~S-*^XI=>2BnIcX@hr|yP%QHM%Ym5L$LPH7jX)Q#fGO@HI;PF0Ic=^KI->kk+T9I&o;#CUWsE0K z-MwAbi-%g@!`d!ej^!JMG=62yT?!Xog!Y)LttBSidTBA^mw%Mefl;}Fj zyhjWn_e_)|%le?FO1c`8|7A${ta01FoaA`<8$)#V)y;7`n{jW7*TMrq*nbGzfoq*d zdh-(=8zfIk3P<0y>T%nS%H$t6J5L6wJ&YqS?v}XMQ7W5z|841fGx|IBrA=grSF&8P zFP`bR)+^ZyJ+Lf?8#$uH{T6c;I1{=kE4GDWMqmJgk#3B9zTWngF3l~xO3D#y>%D_*gL&`16^zkbYeflKw#+)o8P_1swEmH9alS7k3 z%M&?G$VK+9XCF}M2_^2ut`~ZcAO|$eJ}&1B*)fj7)PJiO9XmhF0~mpuW;8Jx)R z81prd8owmtw|T^L$#ex&f&-`#4C9FrWlxx{Oin1rA4W)TZhl-Ej~H+dS5vZAQlsI=*0C3|Ho9vi+M zr37>>BoI9C8T%d=uI3+(dT>f#p2Ei95?iK@0}dYIba@R*_qk18ca)YVFU!Zv`>e}O z$d4&%&)M0tMGd7V#Roq8lA4~VpcvYl;dnV$ne)W#J=l98*Zjt7y5>WZTZNB<-vqY2 zGI&8Fb(Hv_AH;FL{>m10uHQnhEh0s}W@Eqk9iYjgm_fif#irOQTNgga+8M`jej0XO zR%jeIvMAgiXZaV$`j4&h#4mH83@z_Fjv0)|9-OXUFGHR1j$=mt;!$i`|7YpSOlzbR zgFI_r7=&T^Ph@sIRan~$j@UI*2wpcHV8Z{T#jM_n8IG`!<)z8NABN7#w$nKY$z^8; zRM!xkK%0Zg-Za)NScBDKGonuLBN*#0EpBMUGRaoIDQ85#Ed;EjNbF5Y#6@SC4wKy# z5OOX-q~6yRs{CdnRWqY+B{^OD!sJ0&uH{|3OXGL7drYeeau{~>FyyW}tf|l+_Nj2R7B$PEyUuH{tFT=sY07$-j!%`C``uXv88fXJh-3ZF2Lf6BC@cf5|< zg&kUc1vFB}Isbu}*MEIrewnAYxwnB>y37${zB2Rrl@LXh0Mi?){0lw-XiUP+Bz?l% z(q;O`naL|mAir(i?03Lh9E#PgJE0${Jkn!28raKxxT}TNSqgsVm)356H!~c>Cn$O# zHQ*)QLRuWuFczwG!>aLMC2lLYE6IU^g~+cds*1VTwc}paO4=jID?7hJ;#Uw-0DCgp z^?6~XEA#llit0NB+7!Hc|3e)SN-BffPfCU-IG8Xk^2VaxfhFWwEpz>}Cf%2J!eVGW zDL5!(K~~OhsaA=G%y#wcjs};Q4}$++@@6y&aN#{Pb2r=N34voaV4qN@>MDFnx;xyJ zf8BWMaLpy~d*(JH{NM3}$1M#!%-5(4j{tZAfd7pira|C_tK;_+F8+UK+)Qpbw+j7_ z{BG{ZTYh#U#d#{q9~s+)M*(0ePRuo<$9~L)7gTs@kzx|#Vg877O#dE#@Wsn#JaQbM zO%E?q*NL#tc=$h6N+owjB<kb889j z2voun;?#J7_F&VET4EcBM)1eB8PmoMn~Qu+{7&x7BWtdT(EJ{o4N>6nidK{!bBf6Q zJMg2X8RieTSlop*uUT$LaJRO9mH9&z-XG}$Re3-y&$;q7D`D!u5bTdI(HLd_r_(k4 zjVn=YGY^GF#dt!rcePY_HIbK-0rmfpjI7lWnS6Dl0uPYuQm#q-O>^jV0t};q87Jtu zB1jzQZ(-bl#t3zSQy_sx=#E{N6pre+$+I?qW>-{5AJ;lR16JIPhj=5}EKa0& zEU@NGolDcTz7C8w5Q`b67q>9F^>^*_AU;Uc8RDtHU$+CU6($8Z9<(iH0M3w*56~O` z24RVQ`^YLiDx8@7Srq%72HutDLt})LJ$1s_D}v1nR_Z?EchUAKU@En zq&i#s(^>+C5u297nnP|G?qC~Ez3g;@fhfspLdY{Z1v8dz^X%7i2L5p-ah9&x=65nS z-jw9_Ll&;J<7et9438B7lt@Pnb_cEWR+o%;Ig_ zatamPWfIAyWDbFFkIm`fx2S1VVvHn81am>%2z^Ac4oEB|mNjiSrR!nFojaHgN`wii zam3wtfc{^rFaqr$CbAP(EvFoY#;?`ll9;ubbgK{vz zd!uJ&$nFwT&~)Mr5vMj~+92j2H=uDA@2L=KJhymj*sadF&@Yw5+eJ=H19|7H)jUQ{ z#6d)0H5TovzdsVb-7YIe2V{y&AjtaECZzJzugg&m9LNGvbvx9|s;Aw%)Yk=P-vk{f z^=yDVF_E&dt}jE2*)1|*eX0N6FVFICmbpigK=OF0`$m~@+^W){$niz`6_XNNVB!2J7> z1{&@UzZVJh3H$r&u5SnpjjDjWz~3L*+HzLV@W6XP0&2h=J2}(f(0kBGInz*|dr)Jj z-(7#Gt}f00m5r%<;bPgcrwaPAa~lwx?VhDj`SeN=%GJ+F`t0>BpD0b+e=szK#S+%Xa_S`5i5$Nqqb2gV(*CoZZpu2Ny@f2e;1B-mOJDmz9B| zn-7l5-ZcJvIdE`&`xJKZ?Tna4P4j;0zpn^i-+#Szcd7WRhV#Gw9+w@w89pf4d;0Q9 znR@U7eJ(9lv(xi56@{!YX5^QUZf87RTH?3P-}&zMlhf48>QTDGR$z%H$nrlo zR+dA4+SENzuYc4&6L$5yV)G%rV^ynn63w$W!fIneJ3V!EiJ}4yF>Pd77UQ~*t5JQ! z2evQ7M0;_Moh% zGx~gZ$Sx?pg;~OI-Pk?NT#sRGkb8jzUbLYTOx9+aORUNBvKkugQfMdhG~g1NV$1o) z$8?gT?sWxl;KPT0f07)tTXCphCLHixesdjSDL?hEgO3x&eO0wE zIiNabjJ%@A1!iqDOUQP7?&!;`TwO|+QrxA(^K)$qM@+yP zk#24U7h=#h!LCR(6qio1}@&d~dA#87dr&bzl^FS87WpOt@h3RbCki_rMvYX=(nzm85#lqmq|=VRVstL!;A}}pcY7fSa2`wcvN#v@g1p%iLEBNmrDlK?F>*gr*L)d6YiCllzpZVItWU+QXUJvpY$3IA` zGmg?M5~GFk@z3j<5HBUtbVF?I6USlRPmDPih?$&94JX1AT8qSH_g0XSpUtf6q*v3f zM5Cb!MV*4KPws)W3fmdH9piVpILDeDW%zmjANJk@E{bN`7aax$VGtw?AQ%8iGcZUH z5ERK0hCF0Yf@CBJD2S3okerj`AW=kuWEGGoS+WRz3^rjLlWlsu>< zvaCm@&={esF#!zKE~`;YSE6rLtXdy``DtK>#Cmle_9(!?=Uf7VSK&wuYZrMtnbP;ybk6fLl`3{2c z{28mAgSw4GF6`_}vZQvsApO)g+MTeKl{+_*NZf88K>5Y9JbvRua4rMqM0f=*@c-di zg#PAPG+b|)aqFnuur@Qf&8>dt#%)|#-qzT{j9c5v6!;uoK7L+CZaFh63(MP#yn;M} zjNFn|x1ChY9Hs1SZ`s?K+1+LoV&s;xx3PCrzh!J<#w~5;Y-M7Gm6iPEsidVee)_3j zevFq-h?h_BZ(i%*{lRAlIYvfa1_E9JN&J=gD_A0I1R@2&2P+wYKimreK}JGCPD4&Xg#hn(IDUfmBn{#uC4w4(y9gdW_znS# z7zQIokdlxh{^jkU9zsDxC_^xek9Q6NrNG0dzypgdodK*uaO*4`uEhtzZFt9s2w;Rz zd}2^d2k1wOFdf$6s-d6@VD+WLl@`hI$pPhqFW9TmK;Ysu;0Qs%uTmJHAUa5K8kiT2 z8l)r~8es&B7DtN1uX@qwz*)UWP&D8Vf{=`mhPH{*(CFZqJuoVXFhZd-K|4@JXXwBc zP(z;poRFPgh72fCYFC3_p38(l+ z?WB~N|H*?ayW-{hCgmHdwZh%@2axL*_teYxLgSXzD`{24uDYBk93V^Kt~Sh0+3mXT zyOJvw={#HBdv=|>^14Bi+trGT<$WniTjhSGy(-mr?34!9wwzxU4vN*A*xggo-Q~<4 zURmuP=ydkWA9x;E{aw}~+r5AKg{Pi%j={3WrGUO$XH808a61a z#}0ekbNzC&rc>ZWfkkP-%@vYwBN_(~WcmBD%jF4QM>MJv<|}P=z85}fE*(!bm@NHl zcUhV6pF4PpJH{s4p}lnFGVrh6UU0ZQ_uCnA7CE8jp&UQF@6wPr{i(_R%7?Y&UHzxq zv+iBs<%jR@ZhsqI7N*?1<#~QAfOg*9B64kQsB3B2BB}iJC%?YUflJ>F=OdXt*?UdL zICB`1#;30tryAN0ZCsz4{=8Eg<}T23T~KnDX8FvRZM#M2V%is{#jkhWoi+R7Xx*o6 z6!h26TY&dAr&7J&^4<1WD4x8!yOBBWke_4Qx2=3-Yuj+_<et#SndtaeH2&{xpZm-egT&qw@)7hhiLJMA;X3D|6U)=qb;Xtz!} z|M+qMv6Jm+>DKA(~o^svaxc=3# zw7>3H@7D9?-J}CZd*SZ4RL+RHz1WG3>kNEc9ebBNKRJGXm18w9WU&83)IRQJ!+6H1 znC{e$^}@I66W!1H9)7&@QB0Hfix|VjmFxQl5QUZ;*_vJOi>raH`wXG%RH7Yz-7SXY zqh}ieW-oo1|8mKI-9l-{ZnoWHdudr%lykj1KWeG{i-}EqYxC>a8jG~$(fyLw3?enh z&L+DuuQl!N{BV9vOBeU#+Z7q%uhk;Y6Bi1TKGi{BL9Pw=?|e`90W{&|+cNro&~? zm&N+I-!Iv9m8+x<4)52v^tx7m`?xGLxO)I`^H8DW8Z=eBGxtPAYUVXNgYwxEN?&67 za+6QE8l-5qT&S$2efZhM4gFe7bNXc{tm+<^-`P#A(1!N=q9x^D+~dMN%Y2-5YThku zpSe#)ThRR?ae_~arOU-H|%=daF)NzCc4Z`I1K^k^H_uxEeEPBPFA{AL@c zzwJEwbfI-+EJuoJ;Q+#b4!N=+HQUEf`)nz2eolB_LSX%)thl)Pv!6X94FxZd8dZf6 zK?GWqfqZ-Yt;2siJMp|df3cu*;ALvieim-EHu8% z@M-h5VUB%6(CTOnd*SmvG0r~M*Fu%G2GP&Oc9Oojs|@aNU#UpG#Ng1=xH=}9->vR( z?DFzD<&s-i;Ro&kr@awnZmNO(TAgi%3eU0Im$zzDQ`VDj8@8@rkNcJ?OBK+)O54!n z!Vo9OJ)M&|$JsZ(d1b@6A|?ndtua*AFf_URQdIDji08#{5w44yTdPT%sWf}Sx94Ab z7Aqx%}*+jq}9(;Di_O5PvcK$A<2|Ti2cesw;ZV za>k+7#II}NzEDN?eEr@`(wNwXHMJb4t$o9+lD*0?qKacZTU~eVth=kIwe&>|uYJ_6 ze{FcVaC&;~-uacbwU@4=UG|zy-TBEIEmKJzDhltpzf>z%lvP~J__61wPBXnBdcRb^ zc;fciP^-Cnc4Ci{_BMiMmhvmcE)+~RCl_99S}6#de}CH(F;cuxRU6$6QP14-Q2RmY zaR3QqY8C1(4By$rWBl1WyyB6d9Q{B%Y&b!7CFtk;yPx#G-{ZNTNd0c#+P1ryn!L4t z-yp0cXzld@M4~llo$BElSl@&By=HcG-t7P)8_?^rdp1;l)C#j}j#c#~hHb4qyTYK}cW1uv`RrYR9~&aCoV8Jt%9pBPmyde))3lN2UG@4a z`93D*JHOc8^D?aK{T;Ew`BC-`=hyaW`q_J~gHGdXXB%3E3|b=E^vPbXd>0B@tx0X) z-dc+BhbPB(R`;pFg2pMhB7TZRj%0gEp^Ff|tw8@F-{7Y3$0+m#ia=I_}* zyI*^jyK2`yjHGkQo-DK>VAG7mEYM@G!nZrWWYW2&X7>|q&Wtl+Az4{G(ZQtq>Y&^B zNb|0HSX}(<(&hb$-Ny^>R(7K3OI(y_muk;GSr2gwiVqLAT3XoCEN&cgJ(XUto7Vm6 zsNaH@9e^Xop|_zkmw<-<{bV1NL|+;_c~K!YyR{tK?K^y{)^thuwA~>4b0FjL0(Y*@ z%IdFk_eHqfH55s$=N?)X+Ru3DQ7ab4Z78;!bpFhpZ+DXnYz+MxzujHRxwY$h&td

KclX<@t9_{KqF>gCo5#MVvY7mkM{3g0@;5PI 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%0AxO1;Z z-j4i%+ewED{h)J z*Txl#f6Y@YZi|v-Zh2SSmOD_MxaCfyt>QScwfBbwYoN4~HINY)Rk;0io^_JA%r)+H zp4q8V8^v>)ZM7ah#GmhIYd%c=0_YR!bCfx@F!nl5Gi8|@_G!XT%@AeVg2_5s=G zJhRGD1B>StM-5i(^_Zxx^=K~i7>zP7Zky9=V-3LEcZ!8ItG51FwMAT(!Q67)pe?*m z^N`6zD8tCWpKfbpOi{}T{WpkN*{h8H-xoW~fG77FPlS`4H3wDlT0VWxb6vImwGQk4 zH@6AB=@Pl`f3!G`Y<}JH>EW!~s|2kasLYqL<*BsR-0z}zQ*%(q?l=T{L_gkH%|eyF zr9Vqj;6;ZuREkE5<}LYYZJE-xV?yI64$9R1-60+ORYK&qSn!E#hOTQB|yCk9d? z?@;TZRx_m3-o;T30tTqc*%!z(%cf0`mNWVX7GBGwrP-}pAhU=SF!CV;RqD)$XkaY&DKpqLaZ;lt7t&*>_I$K2#R`UnoP(l*r-B|&}$K9%G)_2;2JNhwKuFDDS42lg+7zMaLK|&s59vcIDj7VW(LdS^U0M=AM0uv zUX}nrNbYKJa*z81hu&gA_W@Rs(MsVjIJGTYbTKQv_<1N&3KT%wB2N63OftF4svMsTg`j`Va z2v4BEOqPn5i%|l;uuVH6*t zBF0!BaGJ{rWf(LVhrpl(5SwCX0 zOeh!HZrz1#;`xB28`|8`6Cf&bZ4hsVT;?LJY*||-)c*o8dPii?1yHspM{X#zLZt5J zU;}x5ISCSUse)W+4(jeAWK`HI)pbXV-#63SAXT|b74C>i+%_^qs#ixOM|zCk zH^~b4-6sNOLRx`BUF!rQ6))2B|5t&oS4i@j0L}R=LjP%#|7hWR&pgCRCFpJ@j2T28 z50dv5;+FBkcpkDCWNp%ABIoN4D@Ua42;&Iz!T!r~B^fI#OC0Z8tbHY7_)-k|5N-aV z`sVV5g(lg~&XLZ}%GnM|`=bZ!Ocu+idwPB^Ez$b4d3qzXElE#Z>>FTmT+hnN^|_U! zYg1(ROlD<0kH@V4q^^Xy@yGGn`fyy*D&}M;&Ri>JNNcgoN(|3a!}*3w#RohKavWRI zZnz!Q^Nmc1%9iP#`GyRo?%7vAV}i@sXJuuD=^ObqAs@A!wJRwxDm)%}w<97}Ufz7A z?n+(coxQ!8N7VMMNzuCI=CI4h%rz!1DJs#-H7-0UiW(KUgB9iAApdXgePw@zxNkGL zr1IqZhTC>4yY|m6$dEl?pTXKYxlX;PX(p}PQ}kH!-tGN2Vu5Ak(?}6P`E`*h=J`P}O{Y)i-0OK)eA7w>HxIhm6D z?e#xbZ;to%B&=pjk*ujb1cA6w>L1b_K5?9ul#d*p2YK;%S#e!*QA-2|neQ8T=;u?6WiP!}q-~>r)uMOSMf!C70d0`(?u>qXECdzb5({>hsj*+B6s; zeSg_#nZ5h@d~4M3`hWK9W?p+*IU4S_boV9sc*(&g>D_kWrU!GeKa$t7IwyDmoAjbO zr;Fl$9*{Nm-M_mY*L?dfbJ;@|(%>xLp5H%n-H%O7n0{70 z$Xm;@a{Re{QaSs$4KRi@vTpsN!EAfO??4MCbgcYYXQ; zaP}J9p9R0D5kD`*-{yA>yo|l=K&{$%yyhPLYIDuAb4fzIw9%6%A!5cPT*@)H z<{{(FqX<$tVVn%ZqZf4d%%U-WSuOq3VRIZA^2} zsPi&Yd@(uqF3PbwK?8km;j6KoXYOQbZgJ$lQ^=;7F3|qwx@(YEz34jY>xRsKNCCM| z6Bnj0w%~1hT^=^;uh(tcbcSQIfRi`WvA)$PJL7qt9WP$}Z056@>L=W=4;BXc-#u5$3JA%`d31D2K7JoQ@4}zq(Y+hl zf#;m&*-RctFj(0bKFatf_LYCg%mv-!|zZy*mOTH!m@h3x+Od7p(aXaZ?T%`)xX}&-p<{+ z_ayy`O0(UuxWygcr`-G-70c3Z%blTo8e%PcYB9A!rDNBz3zoR!8{3K!H~gU(nbqwO zyLy|Dzc+OCSw5{dRmt+*NcdZx*Cb}3GL;Y+vX2te<-34Etz!7WRCAG zs;0Mnpk zqFPID-gKxU@1$b1UTAyAi;ISmWX@yqR+ZlS#R9eWE%`pt%kFDYRxH(0ocClSb4&91 zjc9ul=JRNYf8}BNJ&&*t3-R0jq89fC4CokUZjnm~%3Sj{Z!5p-p!54Lk2X5fYIRp> zy*RCVpS^u`8+FfP#pl~@ZFm(V|B*5AD9(JN-HOJ6Zw9B$C%mE;^q%><#G3Uc@Q~}< z-Zf|O12!6s*B5-r_8AY;-YQQoRZ!rx-U|MHqB-yAF4g%58b%iQqTZakp%cDl)w!Xa zA(wd_7yJEW^J{+|y7Xe}m(c1_*Mf~BKc;nCM;~ZTuBf+O(SKyl(zfr%V6yS2gT|M> z&s%#j+GOI4$K0x!_1Cf;ruUm|j*2oj$z6~ulef!Xvb=hKO8Dnn9G$%@wUs@O&flPO zGZ>#}u;cF|Puvdux?$6!$+5E!)Sdb#>RZJj>*=G8`U*2Uhl6iEzQX#@c=oirkmd6- zj&?RS_zNv|tyi<>uFJwD%M+C}typtuo@>n(;Gfh|^1Xh%t?Pa7*m~FY+3LG5AEf0T z^HA!Wj{or|zL>g=K5Zna7B$`3M%a&1e2?Dh?z4aIKLfhE>*6Y!_CIkXc}892<8oeh zOts1eUfar!SJ%~9b3bq5_J_Xsg)4kStlVX%+SUJlnIB%UW8>qIi%ZDI7_J-t!Ki(r zQb_xG4(sxY}dJZ{M6a$gkXvJCKyL+)|i?XUQ^t9D(zd0Vg2EX^&f zui@CojbG&R{+zEhI~@B*?EIYht$VLBblz@Mtzeu#IM#Zvx$NFpaA?d&>WhM5qxbp8 z(FF;r4|a`yPq@&<=vrZ-_1P?FafAD8jnb~su_?*{ij#80qR$zI9$C)~Yq!-KNwf>( zYEnFViI?VAjo$pk#p@SSdY&{yhi9M+x9|3@QD0V`XK=+l_@_rvP|h8@_jm7EX|gvd z##%6AvSM_Wke>VY`M!+4;-!0G$u;bcmxC3@mvv+)HSa$*QF37=TFEeGo@im$n7_HL zxp!Xmfc<1gGX-Rj>N6dZm=yuPuieRFkb#mZCnwupNsHWu9! zj%sabT=6>Z{!qR5OIiNg_R$o|#=aam&BIX#?Z^H+j@~?!YhM#kWqD_9bHJzDzsBCQ z#h$vjq9|L(-(;U;mODR{}YgPRK9I~XK32&`PW_I zmOU4%1LWo@OU!FJtAqAWXxgp1Z?f;t6h_-V%vrf3MtkT!Zh@3*yXwjU4ON4;|KmM< z_R!y5bq0rx9d2t(7VDVIvB&*p21C(SU9#!kB{3U6I5V1!PG3hEF59~`q}Id6*vYrE zOrBfYvqbH}*|3UBg8B1>`7V`rFPyUp>lB_J4t$)^b*GabiJOk@h)U1vND1xgjd1pu z=_h~mSV(dH<`s%_e~zEu@bblh_VxR<2#GeYA13=*wrx+VRQjUrD%bq7Y51_gSHrS5ZGI3>WB<9tq_z|Lci8@w68@Sa=8vDQd9-g?h5eg(wi}l9Z@uD_$`ZXBR|9Lr0@gHn!NoN^^ZPqF$?|nt~7 z@Wij-m`vgGq)Vpr?qH{_NY%>yEZb zN$w5t&8UmGW{*(HjrnE+^Y8w=lbJ)V6Yy&wB&(R02N6Z(z><*0r!F9o{?4LfvEsf81n$ zlwCV~;>$kk*s()?k>MLd`E@BO9Zs3S`@7E>=(0KU17os&WLJ{D^9H)&b-W+un~T&* z77B0i+O=LsHrnn8IT}|S-1Ay(W9QwE#5Jl9mNwG|$Vm#ze)5WM)l{B4BHKyVtvkh$ z++RLgz2N&)QhMz4>G8iGK6HJoJn^2_;G})v%&9rnc=I(mrJ@x}{I-qFSN*tj)cu;y zZu&+=MT3h@eiv)Xsx*VH?;A?@(OOdOsGz^7+yAAu+t|9G(S%2)sIJ@?%j7_|?>r-M z@`8m!dsghYrTb`+f$fwTaW#|Tp?XiLt@zo8XMav6d1)tiN4#yCr=cbm5wG{}xVf2Ng_&?CsYI(b`Di8>F*U7HI?un&d-u58?ZuI&Z!)%>Ug>gT zyx3j~Q#rnr7H~Q1#o&kC+LzaiVfrebC%dtVD@v$u8vnE$OXqNQFPr{lT(&jtQvB%` zTP|xXXt~l99q_Ds73{@oF>nGu)m&yvPX&fmM`v13HyXvA#Xe}jps}suW-ShSo^v2mBXfJ z>sQk$wzvp)pIO)Cl}hI)3A4ZcTzTwR+5zGJ5O*Elb|lx!W2l)wJF!ciFzWw&&CR zwX6T$rMv&vfcwp?OtNoyR3BUEOYa&lZA&rJ*vCW*WW10yueu<@Ynq2 zHObTl+w#Wit~RbHKd+;SM|@VT{#$u7kD)OUddKLhE}o-vgy=tHzd3U<59jmjeo;~= zep2P|wtHPlneSdrzbE~fr*;;#%P~RaLCWK{#VJR})w~2FMfOgHEUHe^$D;Xe=sPV>!OyqW{s^NEPLW3mZ4Ne7~||aOdjB^D2_N ztHpopDcG@Q`s?>-QQ)qFrdtEte|?R`#`_z|3%qbK*iBC4Wo-DxVr=oEbbC4xVyV8?(P!Rs?Sz9hcy(uu10quZH*j7b?lm zR_XVd_b&&)=SKqyf&d_Z*Sy?aI0U@S zo^Ngwwc>T6J&eBuEB2fp8gBSMUZr|@{GB`>T}{oT0z7UpNcCMvy#Bq*b~ub{e%#|2 z=n{HsdfB%3V7U-{yGrdfD*ME9K5kqy*dc&?{?QTN_mQsB-(X zZPW(evU>V0J?^DuC3tamx^I8n_jh4$CVN#t-mC>+&mxpY&Qx;(?i4^u6F$#4?5*1T8#LmP}7K)YF;`-&-GRoIh}oayDHOT zjU!8a5r%|*Pm8oViTaZX!Ve65h~b4NpOHQ2bG`WLWps_@C5`mnGK?j*7Q#jd^%y=M%jKB}NFl)AHzG0p3uM0zqx!l@2q7L&h@jgXJ|MD6pn zUXEhKBZ+*gz8QbylF6<)m(v&Z!qX}>UWgFv$B}JTtgQ{RD(0K!_7xf9PPLM}MG>ZF zB=~FeVEhZ|Hxj?);m`td>;o~aAan~SB$@%WxNbP^S;{6k^54ykUGC9^iJw;4-bfla zWrb8@7dc#FQ6m|!@c3e^3A8r)Ys=D_tu|TqXc^pTwaA|gmj|Rcqq1qCvl$0RjXvL} zwG%E;1Q995*k@Fm3e=k$4GGnJFYyaxvR8u z3LF^`!3n04FLpQJDm45re zNw<`Sl2{9`rolCvCkc|&I>C~7;7Xl8ntrt%T-RJ>m8gHeDP8+gObdV8{+_mxqHjXiVN5QbV)493&kajASh;QNK z=I5=P!X?Q+t_VvhPV|q3HM{g%^_i+|WSuNhb~7Ys^aP&@d=~^b!yiMwvKD;&T;=VV zR2O2aqZQZPVNYK0S!DtbA*<38r;mtd0erOV<(17B6rY0zg$^A0;bI5bPQRn6Z!JB5 zipmK$M#dZ6O#eyY+FssvZd6qd_S})iC9dO$xu)vH z`#C4aM%A^vFft*fam-?ODG;i%l7HD;U0?_kKqr^FHe zHOFL5t8W6@NPf9W$_xZwNrL_6XYGo8kpe1g@2pT`z->w4F|ugmNs5K%X%$|Qji1IA z9LN|cs{a6;Mvx1bx{Qo49Yp_`-9SC`gn|f?md*3HFOj8Gcw`!d)$tBPw1+3LHxWDQbrq)Sxe{yJfY&hy9ciDO6== zq(>OZ?EQ_$kUT`X@MGNh?jTQatt5A;=k=hIPh_hhN8qm!DtNwS%xVP-0uteNxp8>wIfXgYalm>)5@;>{w*m>) zu~8Mtxw6tn=(`h9tj$U6p5TeayhzCeU8&s59&tr$jhPq1D2ZHzTYMhcWb@2CaR#rl z<-yPJ**iqs_WQcspMlOk_fUYC?sJ<*NjsLzrTUE5!<81x!3A++Cp_CAuZo|eClt4b zfSlr$<)oVa6kkmcV@1bX>9soYMK<#=FSYyhb26rlW(g|U!lBzUJCK*mYt1)O?n-Qi zy|>l9RPhsn1>U9e<*ILl2+kJY`)>v!|40kXr{bSRYd_s8YlG}^I$3p17|hU%W4222 zYl34QOh53J4$?pG(Hd*=>rDd4_?-@b->gqReI@*@?)^ukvo!b^aXW}49b}yg|JQ`# zOqyoUhpT!r|eaI2uzV<4ESsmbunB^nRy?^UKQbJ%{%hyXRJ0Vz%Rg!$L=3Q=z{PpY)-sRyWec z)`A%GlrD)xh1NWhgohpzP?&zxB~D9n*e(i8WH)UV=sujl8A=}})FpKD`ubr!LVep| zJ?#Z9*LHNLdxl1r31tW2g`rBvAY@Ae97`p5=F@NIx4+4AdT&~a+Z{tQVe2(FEcpuI z>J+d!v26&>=_TPR?z`Tq5`(Mp&x2e_N|^~oxpnko=cofm(2*pV(RNjR;;*3zKFAvG zg*`ilRzRbVUuy+bIS9?f)uUMEl@)X2%u%729rz&XlQGXZ<d>VF4PH^2avqhGShCe7P<%&@_pv zra?w#uK17d>IExYK=H&q7ET2tIO#GhblpT-Ovh0cJg4FJO4(}$!w#~!0}ZJrFOBAW%$b|BNn_SczRapk zbH*tSV#YreDm(|S_BS^VXxx(a`JQ1Z5iGf&J_=;%!+%7A#t;=yh$1+XJ@krZ5l15n z8+m^@3mB2-wcEks@U1Vwb$QJM#ZSYk0LLyXLSR=eyiwvP;2(Hxu4e@|w%!&*D4?!#Q&BH3# zR<;R8R-=nFDwUa?!gf?gNILdS-|gM!rSPQ9xbDLA(EOq5%f7_>(}~c=vx59cK>z4K ztmpL6@O#7GN5LnHa1T7DFXg>Sj-v#v8y&u_8=TJFo9XGg{Led_hb8k?gR7B`-R=FuGe^xmGIW>C*ze(HJSRu^Mau!uB*5uh zH+&S;v<7hYpXIjwou2n?@XRPW4VuS}8^|g`T<6urx&>J?z$P`S_CW;-*dBIgz#E8~ z|2lS0=xNsrtohtE|KXL(T5oMWpx{R<+MMTcOe`L$a29Hu6{zQ17V-Sx*W+&oe%=z+ zDOpmoglAyhs^WA147sSyq!x1B*WF{VpivV~?Um`S4B8|^JK-a1zqmuXKWE6Wv5pqo z`N)<_oLuotWL=H@r=u&)Z5rg6s-*}S1Nh`TGIHz&1KYiKN|x&ZFw_F2g*j8V z$e-^4WL)pGbfi^56_j?p`_SsrpPtk%Yv>neQTvFwor)_V^Q^Bd=4Zm2d<}-LFCL)7 z%%iCx)M7YLB+>g$*wHqrL-#~O^Kyx{rF3)qkz+JHT$Cb*xmn6rXxF(|7OIR0(ascH zv9QRlY4en(A8(d(LGn5(S6g0oj&?+%hyE@l$EgJhkufQ#9M;6(R*V1;r{GeUVSs%z z>(Avdp4&C9w62-mM1945%6gvRse6xI^I6PW{#rbzt}PF#1>1E2=vK zfzp9oqn1B{)hnjwtmrt#(Jrk&ecj~#+i?9SFD*0r6N;To7}(TU11QQGr`@PMmP}Ho zpwnkdBDZLS9e80guCM>%a&i3E&EY#^mjG5`(HdIXAB@r`OsqwAxq@XP8t*fol*m4q zYLyQR$eL_uFV!s5RZlxIc*EtluwPCEF7`<;E?m~fg76Htp3jgMt?o744mbPVOyAI} zEUN6BGS7GO?`vr@iSf&38|X!vM7%L64-9^LbYLXhvBgFzhk0$Sd~`ra7t_GHKztZv znQ&Sf5J!F}q-_oX=@tw+4uiIohDFhZ@g6?TS*AqDQ%ubx)+4ASyZ4HT+N~#~CH$E} zwih;;+IhwJlo09Bh{nib7s!k@#6TcI{RjIh*8ryb^dRVFp1Wz4@U+mgrdZZpgW^&s z+?sNHC>5=UD-5}5689vskzgI6dqusL?{{Ymm9V5a_!_H$BuPM?r5!stYbse2gjJ%TH|M*Za53@eBH;|X((?vgan$Q&yxDf?;<2Um3x(;!&`f0JJmF^vn}y*p3eL^yhX+3ZjT zHBboNNF|n((Pzosoog2(89QZ)_R#IY@UP4>6rPm%$IW|(Zp`gWD6c?XK+C=?=}IYR zFr4j%-6~scj!7UcQNqNqzFy9}Rm~L61X-u&mHDL+BECFNa-Rbodvq0?S6waPH zKlKIKs!;_B*0n$&{%_UHb4?l|(=9n50cBILaR_4@A{TyXSQiu44jyR7HY|j|U3qr~ z7a){&+oE=|b4*y-a*MHgkENwKxK~p0+kGQRlr(?RRAeWE`IbaF(eLXL`)bP6Tbb`u z{9m^tnvu(LcFy7jssjDzZEL&ZjbPnaovr6`^=_CyG3dRJ9QE~s2Kt}vOf}nnCVD%D zu|kU_f4%9)7XEqqvBQ13fIr9=$lcd!iNeMdNM!*xiwy3b_ab512&?3~pZC+^mCl7n zz8I-T&YBj6;EXOC&KiYy*3?)2G0{&rikyMfRD6C2Don1f>EL_b zyo^_h$+#c)1D%EKg%^&v=sPM1{3r*+hDG%eL-NC?6v z`iFaV{7&g=z7X4P9ja@^@Z&w%2+g~~MWG@Qh%MynavcQs4V(7>BXaQMF3jO*vBq}^jcBA=FX(y zH(Smlb=u>a<+{fnT)}t7ID|oXu82)Kj-N&W-5#18SyQX(Eb>u;7Q3EF+Ed4Vy3_oy zTv>=3tR=CZI^x|(O1@)Z#2Vj;D6JW?9WtFXD@^~s?NGe3P&s+I?3B4733Xy1ct;dLHUE*Ngcin+IiNYSsmkv-l2_d5d%9P ze>w%I4&;-#+Bb^R>9WokL;mZih{LIYQB`PXm9yRHVZE8ISlI$;8fYV4!6 z{h;3dLW)odAs4;9)@I2^@qKVzgogCQ+4xIiQi+W!Nub4D%>Inq-YSo{N$t zK%^0z3sCf-;siy=$6b`n8WJx7fdtzTkX_Et1BthL^=a;OkI^ffp2gM@2!A?n-&C}p zO9*c!+ef#)Yd43C@+}Y&f2DkTiED|NW(zFPtxiGux~3K!mzHX7 z&XzNQI`j74{I1V5qW{iz?-)~G@0CrR(soQIdV0x3)tMIQU;;GVTpmrkiWzd84=zXc zfX8PY#CWtWG`Y~|iOzU*KHzwE>VHZ1MA(=lzAT(*`PR&`%kPqL$W4M0Nd3Pv2>#LY z|1k*IczHSg#~|SSAA>;6%Mrw^rD$ReGIeEEbu)4O=UUp%*aF0?X=V0LL?;U?7a6k@ z$jSn;YnYXrmyB7&%GE^)OPUj>K)V4$J@DG-2# z6u6IYaImm&h#x+{e?&$^Mn*zJLP9~sL`OlzKt)1A$3@4$!p6bDK}N&F$Hm6S#Kyt? z=TD$uAosw+A;7^QV51D71g@OY7 zH$cI{!NWj*_z1xg{EPX2-~a$<7zqA-1%M0#1%O6}K?eY!-bw%fRAB9y-UbM?`YU$D zHT6)3`|ym^cg@?|gAONEYnOj|jm2$u_Iz*W^29XycDL5#qsTM_3{d1Gc*#_AQS+X~A zx2_s>ZuyJ4=h>BBRonDbPlMWZ2hX7K9)cSZPTA(Eeu02!T*SY%~xIw2=&K4?-Gd5G{nvU||Rj08K?E zPv355JUdB!Sp1bY)enImcoP-#Lmg$0gwWK zl@gA}AjbrdB_fE0NI@4^w>YO_4iL}`P&9QQR**WRWh7j;p7#|C?F%C2iX&cZpof3DW8udNh0_aFQI4)7uL zqW60xp6|%aCmkV;YrXlqG}`gSg5LIMyEs3!khJ;>fwxN)?zu$A_U=VoEfL5%It@Y( zWbh!JLc|IHp!rWF?H^GB03c(>@^8yOtpM{Q=hUzb{c5J|{TU+%g(W;kLa#5Vs-@#` z8h*c`2D;YN&%M9k*jb$QPjuKQ(l`_s@a6^xi3oUYWOb<@J~fK$Iiv>k`#Z>LXQ=)e zou8PJxA8p`U+!NWn{^$ZiRsM<{I{EbhU%ZOfiMFi-| zt0^a@$L*cCCo7qkZ@Y$u*+0rPHVj^09{JqDBqcKoD%L55Gz9ww&C)V|LzqJKPp7aD z(fJQk;vr0thO|JKLiK+$1uCg>OoPyqD9O{<-HUIwnrbHB-yl1tYf9mDuxi|XK(i<= z%Af1$Z~7`>xM7O+o{#Oq>GRRfpTWHBsucTOgOkaO154fE3c*|Fb{ir3l>pT$u3^%6 zNdNy|02NnrYIc)3QnTHblsane5xd`apRGL3({kEb&SX$+=8@3Vxv$ZEG+T^$+QB?I zczV)OJRvxnntD@F(e8YoROGKH*Um36_BVF~@^JpY0M>uCL&YpDyR`kyZXy}vAh;Rn z%neAku)Ie;Lw}mM;FyeDJo{0&HZ;j0WBse#lJ1$N`|Ij)QzkpJyMSDhHo@z8G^JrX zdu9x+g+c~HjQzE?LC56RtMt(Y^9_&bgcEHme)gh!><%1Ij8Ds|r}<4A@J_v8c-mz? z^=4^7!jN;`%!Zd?vT7hQZgk1Q(z!71#M7$N`OwbXt#>}!rNuy_baYM)xJtLysGjH1 z&{L{?hwS6xVL)JiR>SdydpdGt&3rhow{5wL_f~#3{m|Q7-~Pt!>qzJ13sWc1xtiVY z3wL^#L~uu}65WVf!djQ$`QMaOfuq)a{{VsK*Vh0e$#OJDMc(Pm?C+=%{C`aZ_#Z?d zY3AK;YI1Wi{tPUC!OvvTtMGl=NGFYT@mO+cZp6v7H?6^MX8x?8sA}x*TVc?C4)SX_8NBsS&;FuY z?ja=TQY=}Vble&1w6U(MNJMGE`s`b*p~3U`H@N-Hx7Z-FrLs-Zi@pQ;^|sdA)gjVC z>Vo-bh8~fi15v=&d}6kKNKwxzs54HIB>kCEkvW@a^|QSu+O0Lt;X#?lq36k8Ojnb$ z&;GiHCG4u328M*DlBXYxOVTE(h!{F70m@D;@}QAL9e1D1;$XB>*;<3bK@w zK~qtPK#>Vc0U!nNFII#KAS?$BIYL7ww~z7AkVWA?SO6Kq$M{Hq5M=SBM~5ty04P{! zC>R*He+3K%777{;fPo2F-;G$|(a9;P9C67gsD&ZR=|{*S3k3)L4(MJ?65z#J5c2Qp z+C3|r#6I)V5sYxt{UUSRG|I0qsNan`Vw==95Su^(Jku6;Sq4EeUE~Jy+MYN zdpe>zku4KTSPSNVwG8J4pW?T0o~*oZePCY#gQu-erl=BU6%tnFcyTztbEh)@MB)3& zu6+gd?;tA&}Lb+T!Px|PsuqSxZN0vO-AK|1bgr>y;g;mTjMX^ zX%?+F%9DP@x5H)2R+wepbVIXK)_y`30!ba><OfKoYip%3kVep8<4G2%O?7_#XLkoAn|K7^iv zitsy!OlICnE+w`00Fh8;m{z`>w8Z3Mp;Udo2K>;C84ap!m4WJ)mmG6>{OldJ>6!up z6+zm}g^axgSmG9(8PU0p@=f&_vUm#8GN_?SmB(f1nPRbWgO#T2=HIarT*_fmzkoFn zKrl~_lC$vVB|(saR)q#H?>k`auV;$GK4@2a>8}_)7xSD5y`HR5qHiV}hl<=n^s%U> z_65GmQc*gF$NWH1WZw+RayRZ9dE^OQG@k}xh3%R<(c+Al!h`wD`n*%MMie_r(BYp< z5o^-ej$`MuJGq!O?#L75qez#9Y46cK{gSNq&JxQ-+WnD$%4LPazUs)D!xR_hEOqIT z!;SIsxD&8Nf!Sx{A+}*+dDCE0%!Aal`sC3R?5@oU3??+F3hKGbRUp?9QeF%8<5b5XJOH6 zEo294d8^=Nx2chKS5l5XrSBa%C!Sj}YX;NJKrC+=X`*r|letOoOP?h&w!=im+VZda zh}#rm=VutOcx;n4HaFc*S^l~#tg+kgZZu$2w3C&747;L^(3V&rt{Sbc~Op3Q>N zP@nvkQf5V;=qbqSq>lba2yysU2MXe`h zB)$5ba^i<_)4%p3Isi`ROH5y&)?Y@b{xiF&x46so)U9jI;6 z;Y~oER!c(mG(b+lC!TU8XhP&j=VapCEc6RoE~j2&L-Qs~x)a%fOSrBqr2 z$2*{GYglD!TnRVw1a{_b&FGCBXFH_Ju&y~%n9;Z$SzEu56{Nw#@WVH1nJb1MDSZj+7Ts4^r=S(y>pgzfnKX1pmPqAY+>yDkBsxcRIl|4v#M=b+jqgbruq}5 z1ut(_W@hB;ij|2=rmu0sS@9ooiuTWz)ic8oCI_+IWBtcj5hGosj|Q~M<`DRMcNs=r zwJwKvX6H3}+i`!IN<=4quD}=~qM62*pR^aKYx~OH-GXQ4tw#R%c`HnN$mBk2B~FA9 z$b04pKFzu1k1y|>A5%o%Rmj582{YQioZUMj*N&=V&&a_W*6f2(58^niG_@24QmFMB zUqC@J6-Feyb{k&R=mTNf>!*vxwfSVt3*M5_PA+WC^S*j<(t&jv`!tzd%*6XLdBz;AZ=3IOo?mMgd?r_|y@cG0V?Y&Tq?Q?7M|evs;S`Z)A&cqwFQ%0%P1kj(WU-G?gj*M8L zBJ|KW&67*v%%WxJ=`7~#SPS6n?fKEM=J9=<>S}OJzxRT!aFpomB1S#`s(}z^ zj1bg2AYDIR4^2|WR;FqvFWtOTM^C-~`lfj!OE?5(q9fNHu2IlEH*(r_BR^iMCDcb| z36mSI+Dc^^jxrn&>&i-NzU5MwNvQg9O)agSh-cWxO%1=6y}`W}hxmxTj_E{sG&57` zK{51=oE@aQ^5QW&`tc!L=uG6Q%VHD>{SlM9x?DC=!{hzx1>yw!_{ub zn4wVe<^0+bU`UP?@~_*!VkC{8QCq*41Js;z9s{gsKPWyu7iO@tM)>q(XkA`Q^$7Uz zE)Z%NXpVsGpJOfe+{M-$WG;)mDD@p4zIZGUVgHH_WROfJ{e+fYS9#{w_Ik7*=(8S> zZzQ8&2U06b#imHksroW9k25aKuZs<%6suRdMZwYx^TO{P->9($0*Ez zr&RFQJ-IGrv(VdU@tm^6j_t7PGR%Yz&$ByO*o=y%ku91dB+lOth(FJ9+zQbj*tAgt zeI)Si!bXO{6n+>wdsFe@ZeTHd;eCGgQ0^0{+WAYyS)fJbKEgTkaGkwlhuV)H| zGi9CMJZI7%M0r2IKL5ezgWu@zFJlPeBl13}zTGzjX9kDY2V-~;`Bh$*Tx)@jUzPND z`hNJl0}LjM)fo~9WMF0r^f>B&!4wD?DwIWZ_d5|Bxh(eNdoHKZyq=)4Y;S(+5_|^` zM$V7!dTUJWpyUw5`}fPK0HlrxuO|X_luO2 znypkKs4s%Efk@EtIk({{W&B_Qz7p|p{KVbOH~&&GJr&6gXP3DfttLKsh&V*|c zuQ?avcfiuoug$ienycTj2b9%9!&e*$1!gHkbIJ_dNdMB}mw9^vW2rFMnJYE3!#5h< zwRlr}+=?GuRqSBc)%bB|4CUNETWB3FY-e!lx=!_+sb?M|i;J(I}=k`z^2~<2rM}*A>*>B&uoW?e9{Qp`* z#%2HT3SMbv;0J0f++TydP~%RBF+;O=(^cIliujwYk_jIUQL$P_sV7ITOK6+{O3LO; z9^b{khkjXOw|?R_9%y%b$3S7W-RQ%h2NiDYwo(vk78k-nl0t(@ht0GJRR0Ja7tRig z$5BW5gRY9f`?hK0SLEW?pp``N#3wH+<)OOhLjIBvdXf|CSg{lr@}dNsV64)W%sy-F zChQ7gbDVy;*DoguJDg*4u~bSYwT0;fV@Ah7?L?e$@|xlVN`kZ*dE$^Vl9C+?K;kNq zpVgjPlf4`9^cceTjZ`eGc&JSouS7PS*xST{$Ugm2C#4o8)VFq^oR|}Fm7R#1*$zx0 z4GjSikgJh~f;Lu@?-_emqV`I9Ced@fj&9)x4x%1b^F%=k1wmG#^g714br6%XkT8i;?G2-dW;AcaJhZc4=@H$E`j+iF*0Xi#VOGg`EN46>S} z>8i}}@J~DWh)8=R=dPKM2)7Q7i1MGA^f9EZXL85jF`I~t6A?B37ur#LF2-d=ib2~! z?_J5Fwy6ZvfshDy&NLXCf2t7v2?sL??TGC#>8|7lO6(8vu|i9qko_&$ir+NUd76=o zPx3p)|0NuKF8wlxe);vt;NXsdSWd-FXXu?ny$f9h?1DTA@JVqU9XqJ@4vfw;#+;yp>d}%b-2S3y30QLF-ml&%{1$b*-1MY|?-U*vR^0Zaw2e#L zdKNIQ7@{X?ZaNgJ_YUAlb0X%)5!f6FhazUGLls%;@KjsEKX4&mi(``9mqctwvmo;0 zcP(L2-rn1x+qb^}roMX1=tn-ZeMnIZ(-YI9Y@Qv+?I~coW;&C6)%(mP0iZsfwi-&_>pL)TUE+DLan_bxSVY&;C;K&F63 z(>xhTLdIfhQ;Uy887F2jb@sD4ln>LeT?ZG)1tLK*UmHU713HL)01fdB!9v0Qs~!BS zAYeeW0~m_0=t{qyrX9C0b&`}nHY(s@!9v=AHa#mrWBS(dUDb|f{tM5Wa3x3FpMeFxFb zCw}{G>t#|MTreZ|myQqH>_}^Gf3mq>7c(_jn|aNYioRIVX}wO{s8`e@tz7{c>ES|CyK7!vm$T`%sh^QtPfQZqR;j?3SCTn->1(s~+LkYBUwqT0 z2VvUo5k}l#P3IEx??{yP{kJl0RV|&J_r@<}6ntZS>bZy0G70{;)Uow1{}^SJ$r3r{ zIQ7|VrZ$b%ORLMySL0Zui1zj7*ez1E?yHuvj&d{6%q?>r)7Q$|FQD3liPkm8#I$vC z+H*|A*4=Wlnq^7E*89ckAsPZ+%G-ozx+2!mpp}kd(h>dVmk<=8O%ejRct>u3l_Ua_ zIPQE}TVIc;+MgbAw#?~hOo!m~XjT*XOOp|hkPJvj?PzJ=IuwYfoZBXqG?ZM2UCMdH zYksO~%|zjPnq22@e)(G=^O?692NTQDJz^BktY|M0Pko>i159;rIP{zi3yQK#zIGpW zBaXOZ*>Y|%lP%jTiBs=a{xQm?ugNJFr#=udKA?^HBT?$Fm!(3a{6vMmMuUVsU7o5l z;QPh`Mf>A&-s_#IFi*sX~QdMJp9cyG051gbwNBmWxjfGBTrim`nV$C4U4v)8~A=-0_HLlH;G zMZY?)GvhdC4WBM!!sy>f=G9E%UA3`nI8tCdua+TArazo6dfWB6wDJl#-b{x1*MN%I zpSA&oFgGOuiSbdL`)#Mus-*8HjJ|kl0csqTm<0Om)mr z-+Y3Z2Y2AI|Msh7`l!{#>48VDE9co5SJ|QtG5yYTOUw+pv_9}`ZfwBYv~_Wf4-dR; z%u%-|@f5@jev%jL59 z9ni?(m_(2uvcH(q==Ujsl*dc{S5AJ;PI6-}vq;f=u(u5^0a{$3$0!-&zKxRdl+(ER z*2cnir7$X>kV>yw5oKVK`CGzc5XG}Xfy6X>{Ac@S9DWQt1}8XP9;zR2ZhIjOU)tQ! zJDyh=T2*!tED7ZpD13q*>W;Px*6kEdzmM`H6Mukx@^L?tk|>pP7IO*_Qt*5|s%diH zxhqyz$NS#iHR7#%*AY-MN~ng28n7pYG?XgjlRL&x5UKVz`SyV-I^%a~8)Dg!R03S##g#gv959MrueqZHW{$r6&q=&VOU>;vsXewv~D@~B|gWB ztZ8V~z2a*vh*)7fQ;;89BlFs`J4;i5yk6vX@GddI*zWBA)3}eg@3BP1tRE`B#auq{K@5)jZ&E-YGeMCDz+hQ>2$3mj1=`-RR{|u5ALyRNP z^4dMj@IG=I;*h-Hizjvl(FQ0aFCjJlf^RsE;J-@s`J1)babn1D3>7+|#Y*-h zDLeZWh^)`n?&WmJubjLghopt|x`0#ZmESg4tbsAG_@NTlJhbakD|_Mg;z9h#jf-7s zG`(veRmt5<|96#%O(5O9i3Cv*C&RjJvruEX3bE}krLPhXc-R>U1Sw<2mj(wxlvrol z4rw^v3CfL~4RPE!MdS|T64zM9vecFSbLHdb%=>3w7w!dj=E%cXE^K2ZdQvna&937@ zt!1i?%SySeDQBn@-dZE zw7K!lV)Q?2IDS(x#oxg6zyVSDw5mS)GLg^O3<_d0J`Ep|ePqOx(*s zF{U-4=V7PiNZ#Kz%^#{%BXGeTze=~++P;34dc1zvnwud}t7eG6Vz>V%H;h$b;xapc z&$r|s`8ZFe?-|NkFIS0*D^K*6vgq=ca5S`}Q(-g!Hs0oa+CNa15NGBLuo0 z(;{uGkAGg^_au6>q@55WR1B&25zSBMf)$9)Z;)hp{k}Qi94M#a^Qz#+I#k(RPn~kHui9&7h zl_?vyVB8C571$|k^k<;&V1etF@@#xyof((;Xk1JyA^V7d9+DgP=W%15!7PeAM!wFO zPSFnYQGAl`D&|7g9xr*ftu4&-EMsdgZ#{_?F|173X?sHeA4otfqu^NqYp}s$-P-+Y zxhjay3&)<-<_;nwl}+(!z1#RLLO}RF!`d9%qIZDTRW2EBm-R8bK#X}f^+WEyM%RX~ zrOdan-4Q{WMC`aD%w3lW4xZ+oM7G}Q?Cr1NqT|+)5{cBt0o=vC4&*T{To+rz#Jm!f z(bB2geRKOq-;0FURmW2voOV~{?{pGdouAH(11>b;R3v^dG}XK$5s;Nb-&*?I+ICm#3+r?h&I=o5Gy;3E`PIS^I zB602YgY`_`D^$YL}|WO$7L1<8#($43r7o({YH zRPGLw#byJ3ZrC&~9#ZCh;erhw&A7;12In+07@{DbDB{gs<(7`AHBXtUP-n zJ$OO58FMw$BuV?Oa6ARhD4eO`SByacpgg~hd-7nU`4H5&otAM+W0uKNfT9k@lF?+- zCsv4GM$r(3%SB>SilGRH)G~$vr4)-yWZfaz zIG7(bc`5)QolPYXp6eAND-&lla4iCgTsY-^Vh)(%(4FfS7upTF{tJ$af9ZbSDti;Q zobQLZKiy&{j-mp7iCUo8JQO3q$bSFf%YsMl%vr)3Han8Hd;6tGwBF0>6F$PJw>;Ru`W(UOv(cIjDvIW=aXft-8^aNRxi%66XN- zz4c*evp85n+x;gdT+1te#?KDc@vtG&R|2f8}BTu&k~7JJxG$jn-5jLuz?ucYngyTK#;)4MyBkMIFcPR@qw<@@8$XgI+0Cy$#aqxbe5`tc45w{j-a&EPiz_CI+mGFOODo zKX|O2kqEsLH*OP}rbiieg`LATZpTd)@M1>UPTWxV(1`Dp zDtDSr$Fmj(F_|}F^Hs@xk@PEvYacaAi=@fJ@YV0vkRI;K(+obHGz;YxnNA_i9N*#D zwl64OOsVkKNaL(gXRH}^!T+?AWnymLYu0lXIQE#`M~+}(hgsPPt9*<@9&gF%%{>U} zE_lnpWEQ>9G+};l(9}Q{_`isH2lz;yCvJFSUToX8FHSDDZQHhOTx{F+1sCIDJGo?& zi*fJX@BcjS^O>F9?&+@Xnx5I3n(A*=j|G0&eU)%z<|ZY6R}s<8@bn?}>0c|ejP5@g7S*+rIi;Tle#(#HvUd`b; zCc_@+D&jz@em)ROpfRkY2-lqQzI&)af>N}`kODawpVW!!X_nPRoestDUG)lowpwFnk6%4AS^y~ShG%l+49TwH3;)aMf(Nke24Wo5RrEzJ<9jJ9Vle% z;9bXcAxXXhZaR7=u6~QV;b`LK87pG-5 z<#EwukP{V;6Ad>yXBEDogN&o#}rHKz|rJfAb`oMls+ zYu1zlJ^$Smd(zi<)z!Y?Z44}Xi>1br0lD*2>$7w7e7k8hX>M{?kkHf|_WX*^> z4#3Lstl-R}!x zjGj7A-_^|bHzSP3xu;GOoi~b+kv0^{itQR+-&Fa1)buurmDX|5IUBE4Wqz7TlFx** zzU<@~nWStSday6;Z0V_7v@z5SF$f>DY4V7`(|f1YAnZgdT{8(o*h$uJxWcP!%lHyoz@zzB*qs}#atg2Y@j`Pox{tM`*KS$apn_$Qtv<&bMKjXu% zx)JW^Bm!L5Fn9T?Y14b3FB;OBz#ird9MDw!1=yRIz5k}yq=mo*H+@mhRiKpL9%2Gw zoqQJfsN3@-Ylt4$gWkc{c89I;6(HG25*dd!-Z$?nQ=}KrNJP>V*_@3(sv#(>ae`2D za)0M)5iiESYLuJ59?6bC^%Q=6de!JrWZ(yPnZalA?<~G4LuuzZ?KOCyicc01bMxyA zb9&B$O=%<#JLaiPCijeZngz&4O4ODwlsCxvhQL;xsf`*kP8S^28g$-+C9 zd!({eIpDK&%PpOJ)b%D;@xI!8>ERAv@F^#7dsPtH9 z#}4V@UrC0j=23ztMi3=cl_(P@4bdEY@>CTk9ZtmZJwGja4b^eX0|0jQ^-f@rxZwSi z`fPC$FD^&CEu6q4#atYXpR%_GqfY0|1ENo;5!$(~Cf$z;q4`gnnPe@|l(ucN_ zU1?seoRhK+6qI<>!Z(2reMiC`F|{8O#BZwHKk9k&xV7@wmd5V75fvZ+mqz|o0ERC? zAt$lMx>~B=AzI)Q-FAJgP=`J~)pf8v76^5S)wkJ)HQLq#pL$`orP#Dns$UUTp?B7f z_!j_mslqFz5-}!yk~{Td%1*t86#v_;4sz&`E+YRY z?Jqzo`_HI>WRxNEaTW4HSt?CXsAC-Ry^7^!2UnfI0d35aJe_R$ zVvD}%TgfmPx*NG(MQ1Ut$B>Dr|H6I;PM2%^M>rHA3=zB>mDeo^&6WQJXP}mW9}-HJ zhpq+Q^vhyHW1Fa|!f$f!&JIq>VhR~C^8oCfPt?vO>8VW6Ge3ER9)d}8q9P(tG8Mr% z;H!=XE6V<)cMr=gn|wtQXDwV?np*9Kr$owDuCtuzk?{GAs=$Wjmidispmc?M(0TFr zul$p&YKwrg8`aLB5mW-Ht(++lYct+9d`a_9Wz}l24ty3eH17_d%!@};Mt8A|sCD+x zA!Q9OqRngys~s~87n}@})xK-xtZhwnUzWZLR0^g$TCPo=^is(O_cnlAh4KWXMabP?PO-=u&h`r ze}s0!d6~Ppk@@t}(%_G2vv|7#bftEg%Vd*Z&x-W*0!EpSmHicVW%ntc-F9BK&IVeu z->=gxzgqX59Y@DWLJe<}YCXH~R0ZzKj4MIl3YDmIhMgbS>aZ)6Ar?&WE#F-Y4=GT3N$U;ytcLGOACVKe~=l41`He;S*Fw&cE{xo9SQ;(c4?PB$@4sW6bJ z(K|r%s3AZJ2ZN*g)80`Z08Dmelw-RmTuDk$%# zi8R&q1@TV#YXj>VL&2XdS4mz~wOzw*Tpas{PEITGY!hn)X$lDBoSfxj^t4>GW@PEZ zfrzek1qMy@n=zYM>l2BLUo8y;@N2@xDZdx_2G+Uj1Z;XN&lFL=x_6dzK{rr_O;~H` z9?>hKkFi^G0oAhrpyyW-Pm(YI^(Kh;P3^~zMS8}V3RRsSS-jAjzI!l^PWGDekZ{F<*NQMf|Mc4R^&W7d!9{Z%V56GLr1YVmEgKc*;-;-?e-+%U*f6d$Vw&F~u@ z%1DnUF98h~xiWokHVaARNoTIV}L{KchUzBp;ki!lG0p+%#mg zf4czuzli6rq@Mu%+O;ewbr=RVCH}bP%lx%vq?Q#C2ce&tdY_E%eQr9+?~o@iY_07x zDC-0GK{pR{p%#JI>a_SlmCL(%HYK$V^z8@xNbX}yDFD!tvlNJSdgi8We4SnEtZ;+Ze>*AAwaHQT5@j<;6xROPgW1hn zvleylIDQcFopQHzXL`G|W7=1osj(1(x@D#Y7ejM;)P6`rjAIzirdI6=#ZhZsLz1{( zj}>{xQa21<_~CRaldG6Il-3X_i+#_-%+D>2A486&j%` z0H0l^kiYA}B*EFz4oYee?Yrw(HBzBKPq)Oe7x|ADb)AZs&TxR1%7P;#G};6lgWQj{ zn$&B(~{|f!;o^4Z`KQ#Ocp6H1YgoJl*p>99o#+7fR`Uti@N<6oA^g zz16g4Nh^Wg#i4>sc!F03W(}(Zj&B&5a%>v(Z-u*(_Od&|#z7Rd-uXwCRWW%)*>t?Wiib)bds z7*Z_KJCpF~4mC2vubg=BH8L<;rA#KBzN9}YvkCh(wv0^^ht!bOUnu2$qh`*wDl?~Y zvRD00-))(-=tv1!ZcCMd1T!S@1&>9G!<8eqSSRkNudgnG+v8lgR{))iSPo_!IpZ+l zPjQ#MQ;U!VH5W^pI{emZX0k{L!1Dkn7GC;{GO2ufqSeoul)B zZSpzmE{6_&WXIMCL8FPOB}R6uN9MP#E4OmIk6U{CC^)OjC#XB29CBo9pdL@k#G|-FG0%SgE2{Va^Az%q6atiAB>No+iA`2{a%mh z0YpOwvAFR}yV3ZN*w{>;2#2lZYLOB(b7WcOs1L~*&-|6FHJm}NPd6<5UGX|hd{f|c z`6MhrQSMC_kl|yn`1aXPmHze3&A#nQ_0HegzW`m?=836J6kcBOmr1S{Pu~@ zC%hp;UwL_>OWF5^rVv2eMnYs{$4X+Qgro(irKQHaL68dZ7`=Cvl<5bsR=FUV8$^8A z;k#kQ=L-mf@5>o$c*ngO@e;GWIYaZ`WYx8_*magbyE0JqU5zLe#n@7HTVP0Awy=8L z%-*EqKAZ)KMTslX0O=U%62KEB2Vy=6--+5-428iqvm+j%WUbmk8kf@uf*`j>zTR$Y zYbguix@|1}fK}%`^a$r7iBbR024}ArS?zjh-xigeX8RhCE}x8{$}wAhqQ(8YML_Pn zSCxC&T0E-q&xx7AN!L{o$0jzSp|}&HIV7HVRxZh>a-*u`0E!}_bW%UdkRMG?hGQDB zQzmGrI$RCy)imUZHsQY$U6_F2bn`g^5pnrA!P^?7Z@G_Rwx#!9kl^4}j)ShVXz>Y6 z_Mbf?BZEGN@X9qs^bcv9*w?v|5Rf>{RO~9BGb<&E6kq}JEMk={4E^1-_$2V&B?bGS ze=LMP^e_+CnZrlndJ@hp^&6&ESV&tdbI7}hN622;@pKJv!4m<^rpC9bGUjI%0q)fo zyi9vWY{|Vmez1vsYug!oK9O1$`ytv%*U$&e%ma-kQstdPULa1>T`Zo>4lrpaIX;e= zcWY{|W|1g}77!T;!g)(#rYV=V+@RXwy|oZCW-S4hEI+55ouE|ev+9MRTu&^NxuoZ! z6&-BhH!&NVQd|7#wk=_PUCny2?Bq5;_KyM{5shh~w{ zWc&rpX036c`T*Z!-s~FM{bSzgVPd&BV3=9M6~PVaohtzh3)A!&*s)>!R2ol}S|>at zs(;`~Wq$(YM?9C*(=7x#fG91nIvrM3`sLNTJqC+OEQkQRQ0??|*GC*XR-)F+oN}UW zDlk3=Z@7aJRH6lZ8^1X0+zIuC;5)XcrRbTj(#zZmyC#)<+k_vGKk8FNRmHkfOGPC<*hqW2vd zkNug!%@S~)Tu|2pt@IeR4OcIjwjy3kl!ftWeNoyrs;sgyESejEW}(`;uT{o(-O9hV zIi9I-1ddNRYI>qgqKC$(dA)N(WOqmijI0i(k1AcNlHh{3&G5Z*KlE)fuLG?FS1+-t z18x(L^M^F`hPzpYG@hakIofukMnl^O;uhuN!Ed+Fg^^LDznK3RS2Xg@;eF9qF6i5q`MW=;H5|r} zl@)^b`=;lNNn8E$Sl!#xu37YU8Cwx;)CmagpWsxsiVg7v42c-HE5KWPZANv)?%ipX z?_x3xMq^d2Ro~vOP4~V(_ z){-BiyvBtjp6^#9mv*AGJ$Sq zQJM9U`Rat2Xzh-bR@qgPuNrGcM!TR^`C^edL^vDWEFaO+vpg1UzSQN~+?catga(() z8^g8ug?9Q9dYWvBPTh>}%#~XAePB2c=@Xfq_P&kz0skz@u9*8CzqNMkXHot8mK7II zvO|4OPk$KO@d4@{!VVmT45iJVoA}0MD+JRDNjrr8>XvIpuB-PQHRLWciMO4Dpn|OgzQDi_{6>TOyskT%0XQWH*l?X+vqKLd?}u*KPp^Yta2u3g zLesIU;ak&o@URvSe_5;QCf*Ui%W{~fhjmF;$uHj$>5xNm^-HXu7_ao&CLX%7{1{HO z79lNH(LIX~t+N0F;6Oy1`m?G?!i>;Cn1Nq3W+Xy5*ngZ(>t`3y}c0<$5mcPd!rptGsvGZ*?268+7}a9 zknxEW2;bu3+8eC)NAgOC7-~tIpWgYOkjHa2NBg2bB@P4KBtgEwRRjM~0)emXBf8KaU5*@C%@3)~u9q9cCICP14PGc|l_#Ts&P?~_v$2%d^7^yPAoj{#A+0xCiP1h~ACqf#?qI21PZN|fr z1we>p7-36RWQ05;jzTA}*lLXOH|VixorW~cGz(Phkw}Fk?ZB0pA?h{ZYO2J+x4tX0 z-oP?a)fkqRU=2~r7As4qX zivGkStK~@0QBNx_rm`vQEJ}fc&Rrc`D5HVq^xEcJ_pMI}R*(eRl60EW0hS*#zc`n> zOrqX%H;Y_13*V!D)&HL9DzCOGEj_Qp5(bN%7d;K*Hv-uW8a3Qi=!O|qU8>;?I{%Q2 z#&HXH9f2&#IMUpgq(n%EwVAG$kmD4m1ynUSO3<5ILnACn z0&0ld9}Hr3Hx4L#Fz;6z&82^mFDCuZazlN8%(;&Wt0PY+=+gi_BcKU+~V?4f2kGr2a=YcapGj{_?_%Gm*589j0 z^`KkL_((LfrED83w!~%BTzF)&JhJB41d$ZC!663032m65;)>6j-Dsn~#hB1|K+g?o zRx)`(_cEXxEyP~QuP&mOVRP}&YuLzsW=#%zv)CZc17ZgZG2z>2Vd-3}%H$99qVuRh zx(KF)M_=-lg#sx^umdcVUo?(0PU5h1i1O2TCd1gSJeA$+S%Pkvd(ocom}^66ixO+L zfc>ai2Ei7kM(Q%&KPKR*3CmW_zatGOiIsm#3LbVhu%Oxa5c$F)6CPoeoW^C;QM^c0ebuIa?S6 zXB%1Y`HVfgn54}2q;2FX@6)GkOT$yXA-=%~d3cMc5wR0kO``7=sYCMa9Ni96$F;zi zmZvfaDpNHKXM6I+XSOndtj^CiYy6#zD;%I2t%T~-GiyWMcGipT(={lYa$%9YO6v5* zc>?wIF^jHdb=%(NF-Lu@{e?6Tog#Di(CdZ`hmcE`q5V?UaZJuL4sqkV5R*ats)(gU z*-uq-h?rvzZ&tZBOz9`FoGAUjfP_)K!S&Q_l+)&oKj$%YjC+PbKBE{i4sjOWCGMQD z9(|1bl^9EUX?%lC{YVUit@7xrp>BUEp|?!btZ*ttp2*9jy`&EA2*ibZw}MSHy|OOJ zG-Q?ZRselq%nW_DlY(Kn7cbe$j(wJsWmlCfc<^^QGW=8^P4neQo$P@$iKG=5OobVE zLG3e0!B&LO7dPdOSQ{8O{sWKHw@Hf!~0ngM_YJL zi8Mb%E=bGWxL|sAsExGHYGpi)$^!>v&Ux*o&^j%Y}_CJK^oTYd6SwlEK`d{W8;=KZE z11v<8&ynb$=rMc8kIO}_;Jlq+2rhkNj-z&fVS*|zi*P}RN1FhhTx%cM-)#n@Q!|r` z`!%d%knjjw<{hVBIFCI>j?AxOOHje1atn_{L#zP&)gM#qb;TedjgAG`1KuQWO&8Z8+pB4u{Ht-31xjy=m-{&_7euh{VhgDsC!FdizD_0$^VNvJx zi^IFTrgZ=*Wx?vRZMd|4!HySQ{XjdG@5CG1JxWp=-A$csyc-i?2TCVCGYc@dW9}Lh zOo-4oS}}^sN*tl>2^ZYvexnF@KUI_nPk8U!9M)Ftl?_QCV$MF!FoI~YML8%dN!Zavf0rx6H37I#`WBO!3!pe2&w4o2X1f@g7p z$7xVtF@)oO4saJPAPP&dmhETnt(v@{E`MzO9Kiw>2N{ZpGAM%+oPZJvk7x={5(-O# z`V9a9$uR=Y5*!LmQXu_yAmxhg@Jjl|4aWjL$T9?u2o^z-A_^-E%`yy)!Xkz;EKV{E zi%1f|0sx>v!VlFxFx+RTL2Kj8;sL;eF#Z_RPpezCU!T`Vn_T^Z| zP3_)`+|zX!C)aP8R|SUR5bwoVhUIzo;#iixFu2B3i~u-XqH*pM0K-rM!2k-sqb3f^Py+knv zUGC6#O4)OXDdfWPJ=S{|?b0uK(oE|m(gS$tY$*D2s^`7In7PL44i_i@THvz+YB`RO zDE%j9cCci$A2>1~2s9dVfDlkvCs=`77y!f|C_04zI4r>V2MGWclm-Cj0AQel0D%x# z0LWrXg9Mi!4@F$pTV|hNU7;|VIPQM^q;x*pJyTp$bEsG7qP|2?eU|l zg)3*Pgxy&{v*;K~Y%XB#;bD{xhj9sRO@kARq_)Rq={IrDEwdhjI+}xg>Tc|*#9pf# z0z2btI~%c`6H>)tty=}Sn-5ezOyKQOxvu&o=md(J@&ZTDf8Z%UM)8G9TgtEv_{e&5N5x#dp^I z>H=%3f#vI{->yg??}U)h!hZR5KT$$biPe;yoAAmE$8K*SJZ)ieG}CL%Hp3seJF%2F zJy^tU?0fF>e2gO|H41wW?=Su-#Fl=$CI8L?ivw?bwg1xRzDuI<9W=AukN`jce|5ps zIs*HVS`t_DW9c{_n`nEdibQg-u9N%JK9e^ysa)=$%kZs0`)7E=Q^6dVvsTaGDMyjK z5XVs`+Me7{0Ym`#pdoAlq0fP7J8HSymwLo-j9xCVT!P?cId57=zhOcg*Tb(U0}9?7 zL*`qAjB-f(!w29)vdMNZQ`*7Dwa5TEw2%TYb$71|jvD^m_W{pmpiFG(mWLt|l3t8; zi;G?RiT7nHM}lW!?Akbw5Z&tA^&SR9auD3iWpvWx9I}}Inig#nFPvEIEZwE+~1xssq_7lY@Z>+VS z-qdnT+HsuzOoHvM?Pa0Hc|WEXZ=!x+8l%AJr()5Io}GLdTB+OpZf^HGmnWvWDNI~c zhIR4TbtLM$3F}`#fcRx-X<=EEDxwnlx?WruO6WbssZG z$B9+RdBq1izwsl^$fw0}H;i$H7RINsgJrt+{@ZZES;y@;@Z|19VKosxf;7sAZ~RCt zK>jZv@i2-eQ<3$Rm)YvAy5h;t=eTCa-}y^h{k;ZrOCn5RwQr+8orz=VWLk4fy2oF@ zaxAMQg*qX^s>-R_%q?>Ii|)(bNcjyZ)GFnM_R-i-4DL_bUM63?M4|MGC<1x8GTHY9UJt`Lyfax3iQC>J^tx-}UW5Eb z4jQe_sL!$@+^ngR#hs^)62x||Pw2eB3497=G>M8^zhf_s#TM;pBX@`BsZ=^_C5eSp zve3S??f#ftlYR~6_FI`y!~>k&s{C&l=6d49C0IJ)ILixvE zbg}YV>>FA0Y~?DL6wlaaS%uhkFw%u#zMBE#QAo-wSn86Is|Ol7@QV@GO8vyg#iPT% zmjZAtp^+Q<^|H!yfT+|VCV?Fl=k+!ddU1Y0 z1O?U>hXkr93u487yu31FHrAc{ozA98+6R`KWVb!XKt5(oe`nza_DVBgDjdQ0*y@Qa z%`0c}V9kY*SHo}5u0y!P+Ix?e=ODr)Ci&il=){n8ryi1bKfRjn!SdTPqi z`M`}Kw!h1Hzw=i(ZD_){G$2ZC7-??m14^D4&uVw$4MPk+ZX zl5bd^v=wa-Z9_x2IMKOgsf-oqi(m?e#Or=4Hwg}V`{oOw%wzklAtML{K?dmQ&JSsy zqc7;DLqYK0r<#d$)RAc6x8ItQ{!FH|4nBm-Y8P5K%{sB<+gN%Y7L7lI_r#ajGYd zsQUQ&a2hf+e^a3dhN#MoyXr+!G0g{>E$O{`Rgau8Jo8FQfgpJ58d~P@^)!3=e5S$l z#RuMxg<&E)LW&0k-}4mjuMAJVFLWTZ#xL0Wy#KI4J0uAsW%5UuZgQu zufC6qu%Ys;ASBPhio7`lh*D24McR-VtDbI$>IZ;3P~;YvK(7(e*8<3e1u^I2X#tSI zdGiRhMdVyYrB6K6M@LvF5EV$_Cxagbg+j%^>S?8euO5Gx`0RM1mXSh`4e=o>5)(L; z#Z?47=;C{t^-j*h4Et3->*P^0@ZKs^ND9p)zmml8rt)`wi_m@y$q z_dvwy4zV^el}mFN80 zT8^aq3uQJ8o2I>{a6aNkM)5(B`DL1vQ96f-q_2=ytc`?V%%DmKSu4(AqHzDgS64mo zKOlGJ`^*Nt(!8&8SpzR{OtwPf1*y@rx<0$8mDqO!6<{}IGh+ktqrm)GJ?sH=y17z7wBNGJV2(MiEj0U)G-vT<_J zzt9@a!TU=8S8x62JqyxXOIYLXu-kCpIwpFpz^!BP5r+NwEYhkf!mpR?Wiad^MhpCw z-0%s`(fCx32v|46?-t?q!Z&?9bXW~xzJ2+EtD&&r^gW)>Y2|iu=WCI5R?9-Zs!Evw zuMSOd$6hkBuOD}Ot0wANhkR>ci4~9dpGTm4vaw@UVcdoml_S!lqQzD%PONso`h*Q^ zdGGnO<>_NGGF78)(_$&Dn+6SmYW%|Bob2L|HZjER%VTn^Anq~8lMSy9zXS>=krN}( zJH8v3bAi;~yGY3j1Dl%3gz*cD;Ba$ZB%J}bmw%nF>D*cl8v8nB*Q-!X=e|&MEb8E` z*>iq$av|*$w}gMM%-RzBam5IY%(dIpBjAjJn-RE4KvSqnJZB||?NH+|R??~r zM)cPHXSU1qXRNJn_NGSg{aQzh^n?*UE1JvkHzPaW2}izYn#r-KebcN@?_kJ$+DKW<~ZL7 zN@dfH-Lc^|eHn8ULzeWGhnuYG!Ae+=A=lVDlbWAX75J?RVE_C>TvcXb4Lu{#WjDY5 ztzD}3;q)70VA_VgaeTAZTbz<`H@2Bv?!kknhU2~LtNYvLH?#|1m3I=;z$Zb#XsHLf@F$bN2gx7(7^xsX`Ogku%QK`I=({h$NSw? zezZLu9d&$qw~r9tdXNta9sv_{Yx8LA{ObsTG&Pwx4P`k(9!c{w*J+F;lsce`XJsEn zq(f0^bwjE2VeL096hEIb>n|TIs39gV6r@w`$_^+{PHd_q zle12xNdotUtZlfS6MWt=W>qc8;HBLYjI+zrJ^h8IJPuOQ8}5@ugn!hK>tB}y< zXw7z%nFLjiS$q$P05j!?`mso3`>l;UoZO5SFwHT_w%AC+!Z05N{q40%Yq1ytT?O9c zqkEo?RcER+ChMt>kjxrRcAiBiG1<=ZTy$d~CKEv^1oyd|1`&aS3@mqfkVYA|k2|{b zZ8%tTj0F4|z6297<7rX{6ZlP^+xH}y$XOH(Z(^Hb)S;-5S$eERg=C`d%qo;4PM6|C zsgt9iIz56}+dg(tm5P=&6%(Gej4~x2A!-8vlul=!6z9k`!2jq{eEB#X^tt=z_qk4>r|HTvim|oqKC+tFXzfs0dFdqFnyJX2&hX#G2Y{)&X4pS7-$G2PUt;P zlA%IRtKnmmi0HXMh`qU77Ah5aEQ$^VZCL)o6& zdi|Kl|LWTD)#>@;C-5zj_|cGO?uO;^V*W*n690j}SmGNltV~Xu5Dw=T8zoe} zd`9Fg+^zcFbmYXX>$$D2CdnKxWQ*IAzPTP}#u@;4|;oVex94r(qivHpD))HjG2^qKvy zCBOf;ssG3C|JVw<|Hr=bT8N4jj92;VXqk3Onnv-6n?6DgsZl3N^v^#MC*Xto zd#?^rK7=Db)7^#XYxC7OWP`>0m?0$EKgLb6-AY8Ri1y%%D-i4n%xh@py+cBVmJWy* z(_$q6L z%$WXMP9TcvRYNHdn^lvCnUpzy8X5DTmB~b-X|i=iH}a;VXMG<{r=wS9BG7S?-*L z3Wbp)xLgd@C2kMQO#n4J2vs^xiRP86SS;fjXU*<63r=- zeVTnDX{zHeHF-~)mcq=YmrJ~G3Af>}_{r&dLcL!-pv4f5OEhaL2 zJ)vkJu?Bi42$gB|h1B0B;fd6HblraqxrCd?Coake$Sr=&OF#0CI>%50Z*%u=gx-Q< zTtWVFljSeY8iaxR_@hQgr9fVW&XilD5-C(_8O0%}ZD4D><$)$mCOR4JM1vI><;$e< zm*|;qQqfXT->2yQ8~q@!G*vo{Q33HZ2l3z;x!{yUG|)hc&V(rY$xI$7t8~VRM(fg1 z$p{31H5U_+U_wyhC-FpiMWcVyg)=VqTHOdBbKA6Htt4WBE*>+Uwzmozb8(dG8Oah^O= z+ZBb2Xtben*Y*zyw>AlGX9!EWAhjceA_^fdNW%^a^~Wp=c1I^jpjsQ-w|SR=ggYwv z3rI#lCPD{(c|i+96cDGp4hMHS8hf{vIPanAW;SQr4a||~D^*%q7(FR;bLpk$u9pjj ztHU?VaXC!AlY?qq@w!FTk5vq^dF=OqrVJHN)`N5s`=Vk%XR9{guBof9@@gn78!)6s zY$RH|9i`gL0E5dxEu))Y^@KAybunET9#bum&>Z$ao@ zdLxC^a16D$+EI1Ly33X=2ThI|KV`x_3Nu)frbYT0zD-?K$nJVpJ0P znB773Ep4m(Ic=-Lgzfu1ZQ2@I0a~^klPYc6k)$eZSUG`=ecGU<_0(b22I_r!CIp3~ z+oJk*-T*J^yD~*3J*&Zhvit4iMs%_bxJOy-QCz(yqPlg5N+F&&Yrhsj3Swsfj(~3U z|0wXI2CD~qW4qD{R6I1of1T(+RVuESS<{HETv4IV#nV90fZ5a^*hgT-h|ab_49Z;A zOQzOJw0HE_E4R)Ylu1F|UTu#=h47=LkTRCY7tc3JM1_^8@I+RMXvyO+_$I->`C#^Z zT4y&#lLUdaefmjxl`%sY08UW$x!LH}I;K$&3UQPcXaz+iMm;fm#GTz`Rn_AYQ#8iB zz9-f7Ryh=eIAuPMyYy&>YBq+eX>4B)j^lQMiGbN}mTeMw;;n1Xuw-yCGzxwe!mtj} zTdu1|Cld$*-RA>7W_Ob#=+xY21k0q-Ow%S@kLl{2(vwF`+KKMNXrKKK3ENFs zV8-(W+#@HRjLm=%JWDlm@$JJ!6HnY?ZW zg-Hj14A=Nd+WTwm0%yv(s;o$i3z0>p>nc6FFaw^Z9UBVzW!_1`OKWp@LEcEj4RH>! zYZ{JJH%QmrIRw$8%BFsnjJ|gJU}RT{o1x8SGf99{k86kW=tXOC#P00+ehZSkq{AEP zsf3}~Yc37SG&G9>yd;aNjwd#$!_y55zJ{gTg{D?uzF~pL*nF}+WMj{1D2K;dWwhqN zt&R=^t=fz|{*B68UuZv%IV)F4m~Y{g;T7W*0@`B?Q45r158w{`CAi7*DKke~Mw_4W zU9|NSI^(_4fc&5mZ9NhC=-ia)16n;<+DUUD`{-+d$~0)$+1a%Hqz>RLWCcXE{X}~u zwX+$3@IVY8LkB6_bG(DBfGj&@+L7vL3!C-<=K=ZX9D0{!!f__3gKQ8r2Jj!fEPb@) zzby(>8&sd%fHI#fpOm4Vl%az%pVZ+0$xN`yJ66e94gGcADivk~o*`e`cEXtWXfvC$ z;*5SHfN5}qk{hQ1ecH6ErF94xNm2~Li8?o-M`f$2WW$VdF{P(i$Xo7EZvGxweR1dp zuXzwPKu)InCfiL2M_5K#g>EeIM_kA|f^Ucor{x(cMrKVDPI)437#ZfI#?Hw1j_;Jz zK#rg>1bmuaQgpH^HY%vXdMt_K#X(Fb$n{WnS*yzwvBVG@s z8ei{-6w-r}Btm*2^N{*0gPnPz&UC8uM0{Oh0%t~lX<3OjLwY7XyoGDa{xWXNrOH_Q zpaQ=UT>DJNdlcjoRVHQr41>RbJJ^N9K^oX_JdFLT%t=z6^%_6s&bV@Jgs4$dm#lao z7?3vVN>bIO04?`GwK*qkSrS^+i5M*>Xt@F;@FdIlQ*zTr&Ds7Heh0}&oG;n5@2UZX ztX&E+My$Ba5H*G&9H|?*u3V|te5LRlmTooa0 z%A6M@T#acX(Q?gMa4n{pXkC7W$Wo?%k%BGtW)3~s;v(XUC#%He8joxW6`n}ksG&G2 z2BK@U%*SMib9gDSLWVyJd!mcX1Un`d)0OXr)K=A@t%jpihg_4_Lb2FvFy)&snyDMn zH|Z1XDraz1PdC#9$U2&`NM;5#TP^z5N>)N0vAJs|8$Yd9{HhTJqcsp_-O|Y5=$qoF zzmAXy^G5v(m~0~n!oxKBW)q|nuF4ui000lg>`mV*W2J`5<61Z8;ahHR?Dvr#i!Ic#Khr@p>~*mUnZ&%u}`Dfw7SXGh%K992#i9ERQiI+ z^w3RzLaqTWl;v|=M*~BQ-Cv}L9v(^Zo-%a*tU`;MEE^&hW2d6+GHE`uZZ20@Dn1<| zO9!X&Geb|MESI6n%*L$wIG174e7rD2_A8bi8rw{U2wBQ>So1;3q=hVPhAf*lMpT#C zZ|%1Xz2@UghF_&ElqpjgvXn`nJsTrKmXsk9ZQ4BPo8Be;Cc1ZeeWPH@(crAP6mESa zm3vP8K2)_h&xmgze3ioJE3J7tqc&qXuDI>CaIIcZNo+d05!4?WIz)mZmjg|;P_bxT zL>gDutZm5^0vJ0pE+ch&lN_E`@oT;H8XOqZ?Jg-DVlbK-vRW8MNs?wP=Z*3qVg}p_ zwJfCLBc=}Z!Kc@1X=RSKGQC?7p|lr?uP4;mf^g<#+u|(|jw>~xD&Uk%=MjlN@Hp0w z_^Tr)(WLP=y%GIoG4db*dtGiXL1!mW;WRw`=Gn9&5y|@dib{hex)lnrb@3PYU`y+C z258-Mxjo*5L9Em83fLlekFQaFq+t%<8N7_!h41K&!_SjKihH-rr6{$uWm?MCD9F_S zM8&@okpRtIO>|&oDNP$XM8j%|c8YfO=C0`8My|D$-!IYgOnl8jn~5tuuemWgZ}e}C z!N;iyZG&~)nHN^U=B`!hc9_m=dP-k&*V=k6s+=KSm#JB8J(<2a3wFx8BSnq&(2W;&cXxMpcXww)akt_WcPQ@e?oRRI(Bkgy?mfHDd%o-ZK9gJ% zn@lD%NoK9gTK8S0RuE+;0_&C|R5-3%X?CF!|Cn6(L#9-~9fq;?TJ)OWLqciHF0l-F zRj6vN=#~GpD|BjuXRJJm0$wWszJ8N*$+rg6h{7?3G+W8&D=97uf?~1TO>u{$?h3;Z zAs{DuqN2^-azD=EvUA{mao7n6d*tRioXWMFKNXPjg#TP$4gKVPbMENkzMd}K`U|i; zzrpYO9I?-Pw7cQH9y!i>cCe!ki2Yn=rkY>r0HuswdA@YKw4dr&-^k+6;wqiWg6-ns zPR!yq<{ z2?&B1hB{%|w575bhlAXkkOnxS?GV8*KMHV$bHkjguX35(rg|D>G&r_k5i1(ag^E+1 z34;;e(J+fIO-g1)qqd8G&ykmz4w6bHlR0~xX`px55S+AV+h)>?6#_AccFY6t#X}dK z5NQhvYs$1Pq|kws7#p#4BZQopgmg9Wj{LK#iUhV+g~>F@LbBBj?!vG5^Y&m!j?@=A zZt6Nru=$4rBnW`~K$(dASz0j?$rjf`oT#Aw;N|Y>bTH|m+2O7dsVu$261nG;8}waj zkZQZ6@+=oQgDOPnsD2`pRC!>f)<`9hQvWPBov$6KeuBR1v8z2)6-iIcRN^{ROI};3 zB#qWf=}h09f<{FE$_9Pcj|8L_3nlREYPky~weOk_$z(dyX*Txqrt~No%B>jO(C=!^ z*F_dp#Dh-s6-k*v>m_p@k~K!_*oCZ%z@;|=?aZ}uKJ*UxeBdLMCtz*>PH7c5Q4_Bhgil<8h?1>XPX2e=Lk+ePuHX&%c zD|BTZka8YD6AgJAer;E?bf~USHC})m^+)E|*?|-2f>tCpja~{57e^W5Gk8fnhlV0R zj;%Ze)yAOR3QH0fxlV9q2L_+3|KU$pM6#HsWjv1gY)(8lDU9r#^U0rUrC$C?IN**% zow4qfYZVZFvwkO_w1=cT;}moAOwJ#2DIAYpcC&XqZ5(&>mNR|iI%yR@YW#^j6Y;6s zKXmbq_OjwLX?SSN53}AjNyG(#sKSj$L_>TB4`K2yU{6=zNvzO;$C2p)T}7E3Jjmdt zj#yRU{56cM8_b@>u&O%^DrEKRAw%STnwG^iR5kW=qy~8TS<6>8HDESF;84{@=7N|g z)BtP?AS{~k(AjgF0ZHeU;|30f0?q&?k)Dye8Q9)3z=wYf7ICvcxJ~|PR`X+b!RWucKboaYXPXvEo^vZ36Tmny`T|%Fec@F3maS;G^MyrG{otLs zz4tGG*x55(=xE)@0|ap~+2`^x!_Ul{tX!gW$rTk58l!)L5=3Wd(+?tN}LnY=d^3o#k@}J>S5<_xCWmEUmhQJ z`G@4T%F>*+KTKdX%zU^vJwcMx=wW6p#g^&dV(OT4W6GJSLIOV(ZkCy9Dx}iMP%qwu z$P5NM+JGi)j@=r*nhd+%mLuSaJDE369H_o zA@J&UJ{W_6uZR#IQ6(lo;^}~+UkY&yZZm@ZhRugIV#>@DXO2tYd8cW>7DkuLX_c(1 zn7Zlj{PF`Ew(h7yJ@TS6QehS2l-5>34HiOa_#{VBp^v&iLbmJRUHoZ{x`UdWUj?qA zmm3}2{tHdm0$q>6S)V?i{sytY{9HB@_|<_iygHa*kt7n^r@|1|K$r85kf1_#w@lRb zI3*1{p#FvTwh+_h#lA)I}U~C%);3~cd&CP{ls@Qck0Yi_i&KfbMB&Ar}{ixU(0g!uvhG8vawrff$f5i z-FL9}n_BrSa@xtVTMM0GZ@&{5(5Ma>xzoZ6)l|QH{?#8z%XwVMp~>tkO*!mR@l|GT zd@{9gHVL*+&g(VAJRSVbB7%jhbRW`watw)#T#>##6C)OYRkiCH`PCvyUo)|OVcr%S ztfB<5P06M!CnLICUkk3srj4?ez9lgMiPm`z{mZxE&|WgmVNP3l2tSgaOzB`s_7TA1 zXV5s(GKAJJo(ky6ewW+b2nLKp0v3bWyH|C#!M5jbjw`(3PZPQ@T!``J`FOH2L6k;b zfoxFlT3Iz!yHxVJI+XCXm1z;+sjZkMgHf`xVsWgMNA1b1l2G;o8hrDM6Qdiim6!VY zjp^Mjr;BP45;XEc++EMrE2m_g-YYkv27Z`gkC3-)|2cjtTeO2N7H=g+(J z0VOY@mjVK~z~&_sMo{uWYrfEG^y!IP}57OxhwtGXW{!LX~!pZx7m)lZJOLUNoN zlwNXNP>#Mr`rlLz%1gRD%ozn#Do0Qhju!2e{4G%4^Fuzm@!>n;XM&5Kw0!LMfz*DU z9!8>3Jv!UCPmxb8-YS>{ww!u_7NuMVgW{9RAp40jpa+`gZ`cydmj~#nyJKtF z8tPg!=RPb(W<^X=d-X2iDb9^Pm#tV-z&CKP_i>wwKOuCkCi;r@l6{Or!fC=_f+Qf| zMAan|6XWA{U=xi_Il$j&LO^+)3pA)nq4OifMBmj$>qt#W zYO1(T;rS;(g2Y4WA>~N5qS}J%6!cs&U%Ab)-+q*uIG>Hu*N8CTHTr< ziNSbyc+=!94LiN@U)Rjcc55X0tML)J!)qdqd0p4{yu%r|-*afp_8eV0%@7_;r(U>V6DqU{Va>pB5l z6TGsL1)J%h^7X=i6&T80JZ&&k1XMHyD(tpzt=DQ2~s-**p>=7HfPuwtRswPX52hi9rS(qM;NN?;Y% z@|<$!5MD8KDws>N-oTgkMEftruZP;@C4qFckh|vs@K`F>SuK;us@FgD3!~~?FKP5x zJTT10^k0Lr#Xs`xeF1ZiqtuZ()>XgBPx4eAe``Rw2^SAu6o!`m&XIe-5Hg&Df|+Yv zT4afhW_ZgrEd^gV#V7kfkhA{c!HUZ$!D7f*Lx|$BUzXVB@rpZ^R3s|{&^PRUj>#2= zZd2SmsqDpZRK){7x9QO{cBk=#T%BEYxBf4m+G9amw?UQF*Q}= zhAp~=RaV}A0q2@L5AaeYAJ%Q@B1-?h!*a(6iR>LE7;CsMu2zZ|ipa-&sZxHN$%jFr zvKMEAQF(rKNTv~j8D2u5gc}Ma@%{jKa+bI7gzj#~_f%&@#aJNSe?aG`&r||<)WA$i zCs=4_?Bub#tw6|dMD9z$M63>^xp_w-gOTxbz)TkZWT`@%%;2&LM=a`?iVvaJm}}eB zfz5v;D#KK~-uZd|0GBTAm0H&n6ioSf5J(-g%@r+fkBGuC4=L7Md;LeV{gV(VBFR`r zSNI%?oj*BI;%VKCx?}SpCx;E!+Mc=h5=9&Yud%q}kX*`fzYjmCvw;DC&ctfrEe~*N z*Z06&Q_OZ7;l&wl#@g4q;ztAL9!Nm^HrUoM`q|&IsA(etlOm(~CArfOtaQd%@7KUi z>4{Rwq*5CWQ~V+8f%;62>E&BQtSd5%iSzE5H>R2%wzfXYSVV>s_QWaJ7xhjORRWzF z4kJlUY-Mg(Y5FGTpl(|IqXdM*gzD2T5Q!%p;JRx%8|L>D%RwSvQZKkLedsrCSARm@ z+dt7@apvoxeCuu}lcR$_LLn)3P2Hj6odVM^U9+n`MDee^{<)MQ$KP(Da7tnGUEkH~ z`=9~&;@N6zM>e?ux@4huO}Tijt?Zs>{l?c}Iwa?^8WowZP||KJNmS<{nG+FP-k>O90h)h_oXP-<7QJD=tD*=%zEf#L=BEm3=c{s23Y>{GpMKsw{V-10xdjHmsW-@3^7lKU$}CQwOe$x9?7#R`bZ}(^6oUQ7mhe`seuv z(Mbv)wlb<7bSMJhcA_%TM77(H_7H~&Jt*OwK#g z0_7c2VkLGPSJYfI2y@VDsVTo0+7)T09pcXG7V}4J)+oLY?h1t#!y_Q)lAZF{SmD&( z*3lwIX3?BJFAdN1MS*l6=0*}64 zS3ax8J6%|1|s# z*u5l1S3-C%+8noPE+fS&f0Dq5$7|+EeM05H z>CwXCAx^itS`L%iX(RpmGYO@9xF9>(&K$sOLFTR`;<~PI2`DnV!z5 zTwpqH#p-oMi)xR>XfhK#O+E6syg>ZU)0nc-$Qg2o_4WJVIp4kM2lcunO0%Hx9~HqW zYmzU*W+aSRpgw`{keGN5mno(A$R(;wC0otVRuNLifIgJIpMkO(T?AfSdq<`f30XRT zJJ(aIB3C_yYd`?&5T_@YKm+jydlG^@pBj)zT+inF^RZkmPt6>kYRh!V>J;JkPuJPi^zn^=9RiMdHaRjUl;T9m?x zHf(3QMl#H*$bQiy(cdO|@P?^1M|Tw`wf5qempDvD{IU=aBOq$MTxn-*#M(t|AWhdR zLH_Gxs+`jgj)%0Q)^bpZK6J&-uu>_V)#NspqZw zNvpy09S-uqLK}U|3j3su)JA<-hY5{Vy+}JPc+9AEU1x15Ci(_l`w4l2t`2+oU)2gd z!Kw3@lwFL@da0%QF24;rY*WucN-P6r(lXmxIfJf)yh($ut;vJ~ok4ROW%IDSi*D4= z1n>{z$Ap94LE}c$gmdb8y*%5B9j;xgexk0O7D8+Ogneqi)!!93po4|0n+wp?{@Ke?-OTOZwyeFW6_8om+QRKC2^$X!39}5) z+Ulzt2|F7X3A32Bo2v@YMcmQe$KKn*-IP#h9h6 z?c9Ja%o5@n5EhJlIkFB1^u5F`{N6f6`JECwPxBF6vk@OJ=!`UOl13P_27w9& zGV&t;LB0K-c^}BV@Lzy}27`ow0RI9yiu=z@8x;O`;J+9|hX@JvfBvi}5Fp1*un(1y zMtfTQ9)Z+QwyoUUDCXAo4NPIEjsmKi6Ph-knF}2dUwRanA=nG-x3Pk7?(*mUIKvBKEGKC&v0yH!gM( z8r+`%0P1y~lf+Ca7h)uz;QDLS+9CtPw)xpEjSDK9%gMN;mD&tCyWaeI*v-O7O&;oI zBsH@}^Qp`q2Mufcg)=Cx)}}xJfQ>a_kcT}?iVg4+A%;B=f*c_Rm*p1(LLkTm*Xs=} zt%>h!r)K4W!tzA_2X42Sxz(e4j`tMdrO`1wq(zeE4P!?y&TP`ssNYWR_J6kpaUhf{ zjE&D2p!p_1`Gol2zW<{51S2ax#Ry!Xa)EZ z=lr_>c%34(S6!=*hctfo8CChqFodFG$R$%zptITRnS) zhu{Hx{}qDMBk;c^C}Lq75fQR&<@s=qe|cOw*-!tyH9P8E9;vs!xL8&?@@&cPXtX)hDpY(N)ih5^2O)4QOghJAuB?`Y zNIln3APZ0J73YE;Oc;uLr;56%PbgX7X?SQ}p|(ue!m_$GT$y?LYN_{|jF^&SZm+(P zcJ52Au{6#r&WLE@9jK`xNdCRG5V!!qhzI}&;XCNdKnEgof&jU4fQZnb{`YwRt${;9 z15h#0&@oX!tW7Fdq~shXtp8^p3m2`GYay&v_N)s<1{|ZFIBqGQSl`$ze4b zW*@32f<>q4-NM@1oF)g3;B}=gQd=$iQu8u#+0D-Ns$A^7LIZkv+$=%@VCh$hwla%c zjCUcX0GN-UF$<(sn}5nAoQ2`HYOaN zzpf;{l#mf@1UenF4UeTctcl)*LY&;z;t1NqhGRXtMsg=(hVP1pZdzIPtNxnCc_EM{z;+_Z3(XziX_oBAYe* znIQYv=uOluDOb_z`JcE8M;NjWMcws|{iu;ZUN-5k1l`oL*rW!P?@OWSpCt<*Cn}F` z&|S$(Hv4$*0XD1mZ%?;%)tv+;QPdr|Z`G{XOA|*&Z`}>wSk-MqTiLJwaD5}z*IrQF z?osdoa-hS*R^5cVaNxC?CB<3uyf8c6sK3?>WqL$9uhjbJRv+(R6UIk!;xrjr9G)csGyeT4=g(LFa@w}dTn=@+Cg^oGjZGo zE0i0bg653GvyX?ngMNG#&4k8}xndU?WN>o4ss{+})%|M9M9Z$>D#oj1$y2m_?%ay3 z_of@?OC42*SLdRRsIO7@L9+J6(NIvO-uIF}d0hD;{x6{9M@IRjrq^Dva)Nor8uMrj zZ>?*^TBUQUT~7Pq_id~AuU}DcEs&`7O?*51B3lJCkCN#XjvjwuG(RDPHFz!}%w4B! z7=9U_?q6k!>>bOUy`p*83s2BY;o!)qg?=I_RbWWNUYAGRODfIVU*o(^jvlD}9ZE%B^FPhKqEHgSH|sI!58nFRd6YWpC^m@ZZRew;*>wfC{kmKsR#N~oNKWqA-zFzvlFms@4gJs{|X7e1c)116c z?tc1EM3P#L{yGw9^ejP7&h+Z$OvWL2zbuAnLzM)f=P$rBAy{V!ooj4Q+pj7i>)VX` z)z<_-7xqgl7z0h@5+-FH!SAbmyhtqg1RfPBjWp~h;DCX2@Ij0ObR z9ppN*o7sgi#A2pQbc(nFViI+5hrG9y^v|*ys&jxBVpDdyfe5 zE_%0l24O>G<_C>7w83uPm_F2+)-z)(=gp;^pPp~7c#*{lV_4h5`=ACH_ub>wiEKFB z0+%$<--+nA{oHK#SgNqbZ^C^&RLmS6XGh^xUHiB*iKl2*>$%eK&Pn^|1&{4TtWaw1 zQe~S~MLwwd+)by927TyoyTdF-l*lXM2s$6C?8-H+7c`MdT!0%IyGLA#nw1vYn3u7T z6wNdPobv@ug#T=HPmzfAD_<#$O;sB20-h(5rvkHWi?5?P2h{0rdav<#E-T)YI5#qW z>7BNxN+O94!|!6~T{c0`CByeJCV2%XV~EoG5aE}%xz^D2?h25$LY2#{z2zJc9v5xa zaPin;ST6hHCsV{Ip^U{7%~G&0VKtD-@z|lfDeZyGCXQBvi}4rmlwaqFH0epCAY>+r zA$F}brT8K|^t%#5O;gy4R%_kGi7&OA)#SlAfW!& z*@NV5R0t4Zs3;@~x~l0li->bU|J)7+8Jif0_z;uC42qmW?SDASAg>!?FmYM?Ea|qZ z;4l;$_YC4`~;7qVX0+EP=?{k&^M_jz+uLwnReJ^-(Wfu(V zW&k)M1SH<#Cb&Hp_YT~kz1~b=ojOo<0a_$Ept9>j}#zOPBhqeX>h zBJJy4xzNgDW-+=|MkaybW<$M?yWff-xl?qpLIgW$zTIw8_^j?E$X$7KQ+^i1iQjR4 zCnAS^I#a-7i|SUj%@hE~9KuZM+ca1$SlrRjmj~%rdb}}+aZx(@LKnI_l|8%m1J`)w z-FV;AY3DS@=GQCroAlVI=bsLaMecUT`x{M0-LCLT=$1Mk*gNBm$Zh`@D!mr}tMx}c zSEb!(j;w+e&oZupB4V~G$Bp{$^k`rM4`#jZ-975xqowC~tZ^Xv{*1AQ*0hk2(fKJ=9nOXPLhA;fi5r$q z86@*6n{&zChKDOnTI4*D5TfNtO_rE&k!Puql!Y6#qixADt7r1h9yvc)$&SwzFD^X} z&WwK;AGba%8N2el!dET|Q_(n_eCu2H8hP!Qo-7KWSrXmM&pPs^b@E28(Ee90qabZ< zqtMFwMgO6eAZ}S)*IvW`h0r$REz@-d_pRlhOP5@X2R=dYuvnX=ju*EKM>-iw^$L}z z?(?=${I4N5Jn%Ihv@z2-JWy!#yxC+!JKw_*Jqe_4ohfDwzm_s5SqEEV$W)`tN@na) zrN=9Ss#^RXgDE&91QaNM>ib_!gS25(02(?e8LKE128hBGh1@x@fJH-# zn7H&`LyN1s&QWqC?ff5pI*7&ebDxgFtFMB0uP1}3R0|?Zy^Y_DC#p!1a%zq+5MtIb z1Xf`{QBYb+ntG>xEzN+o0h=I>EThaDOD;UJ$W{mO!ZDS|=+f;zQ*ztX)}@2r@g#Eg zq2Hpum@&*+`(uBvB^v1R$>$U&eb1+Bn2E1#H-m6WEGYog;xFt-Qr%W&qKw=XN6;j+}q4|b#F z-@EX6>Xv6dZ=An)YhiKQWeH+?GWMo?fVi12(g`CH*X!9FN;>qezZM5ZswZLYvhuEM z8|okWckx}fQo)$=iS+MA(JSATn-5Ivr?>o^52eq-7YJbKV1)o?=ro_xdJ6e*>17M7 z6(IP6+>Fj$uyV=y6~OWv9Tr=+Rz0zCpTGm!mqH~w=LQ%e(q2Zt_nuzTR(4BV-y0A; z6emdKs~G-#&_pTI%Md%1po8rztEK6ZZlaClml&Z8mzP;pB1Y`X9K9V>g~O$%G@8&U z`1*%Sm!0r~dy5OVihnMln+i9-6io-vw)c(?5*`UO2>B9L>96pgsa@+I27OrpaUoAx z(wnGSzkg+1PMozV*!WLpJqicRU+Pi4a9sEaGrX-4<~|T+19fZ>g0Z62WVRXXTA%gp zq)RiM4{)`a^pV4rd*rnV=!MeI>1BU7D#p>;@QW74j4VZ#96P6)BPdhyvCTI<_nVu3 zzTXfsq_9%TKbtdl4BJ!GGf3spA|zQ(;yoTSP9R_g(Ki5Y9~I2C#t6a~Mt`7AZ?(%F zMB>5y0;1M>(5;8(QdUIOQU^2RhpqVYB>BH!MRBRUwDyuE$t`PA8XUWNh3AqKr`pQW z9l?~naX;dD+3Y5n`a{`29z{-aCj27Z6eAvtTGTDNZ0?6GpBZp9{tLjlVpYcP{|ivz z+OpSG#B8C637r~$E^@eHkWCqCzR?J=+X^`(4$otd{!$cWP7RF0Hm7;AckL_RLW2p` zTlLPRo^A=_G$@cpd$``hME~MWTUjJpj^oqVb|@^M%~~9nEf5%qvOd+u{%WQ!7bcgw z9fN$xZ;bLsdMDOpYi8+*;xB-9n4o@?kX(G_0)q_(Mx|9fKpEMnjIbSnspm3-Jl2NJ zT_-W~NsxE1DHqD>GS(GA-5QN;&GLSjzlJLc&U(K1hYiZ*($QJmK#Iwdjh-KDkuHGj zwCieS@Vqc4G^V;ma+yeUQ0GI6qqr<8xnFz(YsQ&&vh0>X*g#t&Q&qu8&sz;Mck%_S zeX=`_9{tg%x=F}YUR%AQVq$3I(^$E6{&%YVMH0s3a&XyZN~R&EDDF(&i~WmvQ&@7n zX9nBbvUh;&mU+<1#<&Nb_d|-ukz*=3pw*fVFP+KoE_&;J=th#nGpJEUIC=HiToF&6 zTQadRK9>%1jzL|0($qIL1C~ho$+oO0N}*n2hF}Kuw~sebd%0Vb-&YK*h+)fhJCRdX z#Z`{mAz9QWtB{p`5|=(?VFMuDt%A8V_((=I%&t&+ae30pK`3G4Z3hlVY8u-(37hpb z4B56ZG>V}#k!}Vf{=tpTt7&K^9z`)H)L~2o2>o0TiSCe=gDQoSBFf^|ioMSVt2Cz> zc13whL79BgkkL=GxDvJ5F*=GWvXx}6!BZ*Pll=sSKU<0cnFB{Fn1qH5s*wwuTwwJFl4+|8aa zW7RMJ&@CS>BW2%6&DSVYD3hdZS$5dJ_wtn1hVHI1;;Qx^I61Hy>R?Hh#^_2!XyC?8 z54=CZ_tGKE;7jRmK` zfKyV+m_CR$qT^oQN@Wk+tBtEmlWg5mkXGiD!~23zN>X*j(~qC0Fp7)`RG?xy+CWzl zrh;Vc8%(9ICmDuphQsE@pRLwUfidC^!KV>Cu0$aXHhd)7Ru_vHyNICRtRG&B(BqRRNgAJ~g$ z9nHW+?|=_N`-XJby*0Et^1BSm1yF-XeO@M%uYA3R2F414?SZyhXBDeM0Fol^MvpQ>|dus-g!TM}Zo_$g1Zw6l#Ol-}|<#Ku}LZ4a*4;eVLoj z^Ak4aDqnW)Z-;q>PS|-3PBI5~qLjVXavB-G`#`mGj6sBZ2>QR@P4Ds~7&HvXBaD#= zhkSq8i?cAwsvihq5pHiftvJ+e+|8R^P z=36Q;82?%nf~T{WPy~O7ZQ^pjOQcgu1-r2bO}NJmIA|d9Y8Z7;`7@Vk(}AZI1r(_q zSNh4tZ)#Fjqf1qWdZLWr9PD`=0uf-KF0Ht7+HaD&gW}a_|FZivlM(X@4MSc(>_g~* zW0p)HvDU7U6#~OOrvS~mRaR5ib)}}Ibr^D{cuo-`CdJ@aOD*))<#M=ICFcU}kJ`-u zWCK~T8|kv58iJ^i_lx#cJd#rjRhP7N(_+^Y41;WbbvcT0yMZCp7vc?uH5zQ5#GOiQ zoj)o$??V1X=$edT$Kvl&wlR4qPF7bCGFwj_3y}cE9>%&l#=E)_js%VxV`KoJ*qRAtLdpa2nLtO~(IBE#s^-e@cWEfD$-gSI7t{KIm|bD_QiVzqcj z_Tk7&nC@!g1Z!A#ZipO>RvZtUh-|HU9+rJ+O-;bk64`=M zm-8tu_0E)*nzKhormTsyYbmBtbj?nMLR?5T$<)hg`+YxY21#a*^3o}`5!aELH0Mdn zvy&(}iTun0Dg@V3qg-v%$c2#1M1=&5)`QH&Hjq`Hc%(Jvm4ICBnR&fHpMr*FV;U-{ zT~RF^?I|SQ9F*_;OvV@P*WhCRi)nhB6Os%ynwUgo2LDUtu%}^tN=~sEC9to$0KegW z{I#xU!SIQ>IcadRf`imJfvQdTwJVwSsg%u2cs{3Jv8M|AF+QmC^=qx!W$dBbo z?eA(!5V>%xI=iIf8hm=ZY+lvQ^fF26s?svlPjf4o7beo9n19muBaig^>8 z+=y=`9#xk&MpVo@EOxX^)6jt*M9C)cs)-J<+X=M}3$pi==5b{%UpWL=&hHEurnHC7 zFKt7nWfEJak(fQ+U({g$;`m^h}H0=MoqEGa25HziP6aar_7 zrOH3olj8G?c3(1%>U^X+w!*EsfKR~0Z3<*Cub@4lEFgNS#`Cdn5jy@wAifsHa!Qq` z*c8+w;X;HBJHXzLG%gHcY9vo7vVTo#71S^`kD$G?{2i47y!=-lH~ef{E3Kq>HG zCWoV?8H&X(j6)u=lm3Eakg~VXBA-N-f@iicXiex#IKZa#m zypk?2Pr%d9nk{nRXlmHj3~Gx0hVQMl!PX4G_uPUXy+VwCBKXpB_2Tw+Mh;)Gyb~!p z)S)~GF36hn)N&m)7gO=e+l)2s*`HY1vT_9C<>R#lVhs1Ux!23>sMX@IF2()zNsp8z z;^p{q{6sE4i{@i?GQ1|n1EO8wdKBWQXq1nJwA5}CZ-0_0S{MF$g2uYbnuAwa%z{`) z0fTkT(5M56Z@uKjDeKywKMV4zng~sLv>=M3-Ij*c-r}1pV*t#tBBU?`Jz+5WZBzdlZ*9$B~G1MtyTR zi{bB0#vQT63W6Mbd&tFk zXTYUfmh$`J8shpx3q$AX%2n19xA8{a=bC@|d|_Cj^Be!0TCYE?17lxKlgml`a~KYV zWr#FxXnvdow!p0=#cm{NHwPlAO)1b@l-J7@@bhk%PnP2$krHw;3F!4SGuU#~CcjsI z)+L6fklbOB@;v};3}mir3?!HzFxBO$(qhmLz>?ouTpU(D-+V^zDErpyyV@~gYkUKo znIJ5CO~uv{bsi{a!uR3F=Osj z*-0Ny6;FwCke*nf_`@PoWH33JKa?pZ;dPP83+l#ixgI_ir8abQc7dU(l7;bJ_GSJDbpj6FvF%uRys=81kj%~!=1;}Md5*&Hy7`g ztOF69^Gw|i4*Zb19o-YzZhV&_N~P9y87}`#9$e(3kF4@zl;R7lHEI)>gI83e2S%by zLC+gh%ZpjkyXw49=CAG`a>u+?ndXWLQegWy&Oz@ZV#~!*++5H}2{5yh7n5o%<45p* zX#KG>0meL`WMsB14t#k>*qSk{LMunpK~0WtreOFa$ohFN zs>7#y5UkO3xKve$ZO+6@Psz_xZv@4$I3j3Pfb4xyviVZ@d#>9ZJzK|FZ!RmjT{_PO?=JlK!F|Qz&`*X~t?SS{8Ux43H zKieKmH052hH#DW*a#16xQJWcwQKehAU57uXOBI$DZCBS@Td@-Q!WMnp@oxvhk_07u zPqk364+3K}<1=ejZ-=OO7fJE0HU*Z1g@KAnS`w|Ai0>Qvpzp{G8=r<(uyk^4&7m`$ z%yIt`b5}GK?MUb8PcLF+TfMdD9om+}n#>Cd?Vg!YJ2HdpeE4jNvtI=ub`RC4T=uKg zH@DSg)9Rx26NE(lIw7AN(4dgrRP~&FQow6NoT$)W!-sc2JeWB@PY8TxwfW# zHPt6E_8@mEoecv#TZrhf@EebYdBzNS9+$v%^W+MG;^n&Iuj`#{Ys^h0w0@UBzK@K} z&Gt$(%`rN$ML12*oqL=s7m>ly40j!_(B{VghuU?NoL2hDK>EMlB=~fvZEX=E*=El4B?y{ndlF=>TT6c zpo5^IRunV2`_zR0plVoWSkNFzp8BOWwy6*IlEos{4Q(NC7U7X3=5hT6Ft=q4U(t5? z)&$89m-0IHvUUIAhn{Z4+EqUZ?ATO3b#;vx%hb6g7*vQ0UUP^aHoTh7m81eqZRM8MP)Dm6_qe6|&^}n|DgKbb-#TKxUzZn-7ydNk?Qein4No8G zNRq{MOf+oOe=#f5b>WoA3{||Sv7N)0cW{D zcrcRN*&4yIY5K2x3AG|_-eujUTF4P*Qq2G(a=8A1B z4)4Rgdj!{@_D*Unk~|9_O6>XCIQa7OtG0`u37Pqj12waV-6mB%6TM@32r4E_%u7LU z@7-Y;b^r5ElDXx)aYPgh<}~04Nr3&&{2xV|biWRAJ(sp+r^SxyM4=7YO89D}xcOKv z*}k2H{EVUN@wE`-N-}li1i`945i$E3XJlo!7v5{Z%{by7nRs1b5hLY|(|Fb1mN)Gg zJ(nDpDO(@SD8yQmL=a

25Q=ypIwM* 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

Je6l=pnL1>zx3$4UUDhXXKf5oH^yw?YpS6 zNxRa6ON0iBi`R(4pV0e|2&og=y-ED5>huskc|GCv$3DnfGk5{~wW0@xG1h}=?U~Y% zH9YEi;@+4yxv6sSe`;E+7SXf#&P#6NSqcg0(3?QKf0UH;@SlDTC4umP^b??Vri~ur zA$@{`xDS&NiD9LI%@T^5HIMvgVGK2E=*mgd$u?_F+iI!iXbswZ!z|v8&Abc?$RumQ zj9Xv%As;z@Ug(&k;quVwAj1-OWasNR>|v!gETem#nCSuL4g(I)QI0xunx&2Qw2$(1 z%l4yrPq{KIO1QI~(OeNlxuAvsdAHEuG}_`9{4L-gh~<_#?2U*GDAIlRWa=>$Z|X4= zZ{V?}XX>$52HsYUJp^=g;w)_lt0UzAI($-^YBncY7!&2luv_h13~5ljd`v_kdKfo+ zo%rdsvy}5JIyX$Ajt(I!I4Qu?Da3P{+>%?RGnywd$djG6|IHHPauW}NwI41SxzL=# z9ZVf|ik?-Frb90h4HO&&Zb?kj%w`&_#9H$}d&un|It6OsM>!4@`DYpW%)paXWrjmU z5|YXqZ=B$he#|qbZ@mj%bUtj?DBsanDbu?%K4VB+L7xC|SieUQAS zJ&~M5+I6NqO5Q;ax4x$L$lYNR$a#y7q3EtN_EMfidadlWFZH2)0^;cR&LfEKvoptU zxWh+&QyQe&&|72qLG#nM1!$u;VGv-EBFszwy5pi@*Q!s?h|q;zPfM6`!WkfBAVrqO#H(=X^b z8Yb-|xBw&0+v-FbcangZBCn{Gk{%LZJh-ggIlbVavJXqW8K`7p=5JYtj~L`G=b3~! zgerLV*0q6262r()Ru)9>#NP=l9GLSp47P~YdMdhUk5P}oLW)_FqTi=*64 z_IpkIXCyp`D=C2i1L4`-KKYX@`1D>k8XY$BW+3%hoUM!|5P#EdqaK0gTdflgvUZId zCVF0JOW4JlPnb25UUFV?4ytQ47nzzpYd}2!*HdU0p(Dm_=FzwoR&6y(KS_?-`o}hi z3E{i;d^37#faQ@UYHcZWNxMV`-r(1H*!W2j%%7-YzCqn)kpfpsp6Ieva>M*o^c8DD z)t#b{W=v7ERm2p~c9827fvIN;Z29O?bQo_|%#vENiXtn_$vKi9K+Zwh%3#wdPSPaO`$zi$I!G z>+c@2w(=Tl;8(u@{BR@F#ptEj0a{s;9p!u`c_Zy8oNAhM(3K6ECa3C)HtO`|agz#9 zf5L{~MN{fX@zxTh@M96`Nuul>LMY7(O?*i6uzxhe15f%y*!?l`c@{ZYnd0;zlqAMm|7jk?ybDB8X@em})M&%d%A!r%^Z$gc`vVHQJy zR&uVxv%fm>iy#9uRb&dPKHaj|G2o;8T*t`?sj7i+{tu^HWLAK})O0rsse|oeS&!u& zdUazPlfHg(5<_?6Ef9clptC}|LaSmjHGLGB?~&9*w?9Y|1~y>!V^d@voGs^C(@f-% z>d2f*5Hvyx;fE!gH@;)Q4`BLiwKx;LdVw;_Zo77<4A9$XFZse2uuCXUreLfiExeb8 zg;I6&z-f6ew4dD|ViX`D0WguEdzLPLS~ISL?JRA&F0BiDQj~!KQGaT_WPmv??Pjme zKok|r1xq#K?#VY!K|oMsRh#I6Wy{LWBiX1i znYyy$$4)jGv2S@#yV%^&#flvpcVui&uj2!=FDG-eE4Octo^#`8cI1qCy~W38?mr+C zvkM9tcVs&~un!#z2^q6{z2!PR2=Hy?4b)l&olFake=^hO zj>{*1-Jtbf0UKI0`>&}6*d*{^ub zi6hr55qP@)njw{Og?DgD%ywv@YYc~^*fd&Y4oJ9UEnm{?rhp?DUW-+W3zThu8E&h9 zQ2|fdjnlGh&VCqcMgA&$j?}&@yUL?GFO>zu43)hTJn&u>`DOM=PV2aVhX?kyuJRik zBy5w>mPA~Qx|YL!ru@YleKlKjmUg8*_z6u7&Wm~^?1iMiPpw$*N~TPeVDz?-zk!n*M-S_7^$NsSqU*a zH#`*F&sf>9wpTyKF-dr!)T##o!Hs}eDrf-YfKD?db1k5;vh~ZMPcXCHjs!bHEDRos(k>{ECo@0? z6i7QKnUP90@-kM4EOfI)F8nR48TZ&O)ksZb2c(HiR)MC56woIAVZ;*0P{Ym1AATrH z)gBj+S{y2sPQlE1qN2w52Qp0@raK~Wx56fz!FnlY936HOvMK5ywPCw(6?6rB7~)!! z8Xm{;WjN%5HUvGVJqIlbmv4yt-u?&D6vBFx!~h#2A#s6?wli)OS@RO`c^koOS#yV3OV(4;xOt%OK6-dX>+Rpz zV{~a$ix3wM_q3$_D!_^I^gV0lkUr)3oHy*bbP{n9VFVgR0EhxFS%ay8FQBM3+xo*{ z7p}x_&>l!M!L)kuF5ovT#j=iVvc091n&aLfni@)}N(pHfjzfKqcR-?sK#~%18DUAI zQd14xI#na;M8h!k8=02~3lqekm)GA8qfhM%=ugjDXy^XcJwr7RKBfs=2q{H|!SCqVN^GVP0fCWvk?(~j>M}|3!?4YVj z$xZio1|5E;Go!s=eo79v-C;4b-9Z`R)E&SZsqUMNOm`=m9i@i=tq$N{qjr}xdkaU> zGrjZwuapRO*8h$X`Ja>sb~a$q{}&~qM|UdDv;%Q_Rm+3$w}96U^bh@hrcIGXo8JKp zLDf_fAmH*r(^P%LQ7JM2txk>YTqL-w*1D(P?*w8ycikU z-!NAk36#v;`15}~K2o>k?EJe+k8YUB-!!}$dA(XTl3&Z|%7F1-k$?5s`F{T{OCS4~ zN}nef$QREX>ij17>NE2WUDx#KvFB27NQYNMRI=y!r|0E8*0wr|@k-8a?wzIS5@!q9 z3(bGISUua1^K4Rv818|HZNuf!P&D7qwg$@iI~i1A%djlk{kE^G-8DM>uMo~m=85^t zNZ8|q&NtXbKRs7C?m$eYFg`NZ$dY#6-+7|V6g`u&PYy=#mBGUqg`04nqgKk7Al4DQ zR}pv*@o=GJQLL-D4rU+Ohdp;>h)|Bry2!L5i?tQDEIB3ON@*EQDX)e-;kwdMS^ZX# zl{z1JbVE<9=WbKsgy>vn_l9C;rx32akAuZZ>>0cY)+g^`BzIe)WX?O7@CVgG(SfiZ z1qhV89`{IBcgcSWS}_Dr&3~b;pO=$%M6@dWk?1=9DPRlb7zrthzK*0I7@X2O>DW)1 zKEnhqkm``r_*m2Z*X@)-Dy|`Rwjrk{G&x3JH}>p=Qh;TKZ%Q z8cwq+Vh8uYQ{dD+3Ru^crYQ4xv1quzdLGB}F_#-2>m!KKB1EK#v|NZa9J}+RZ#ct- z3q(?1y3DT!tSCfx*p}>9649hqD6bM%mKO}J0m0(2Or08@OV^RQ{-DiP`A-3HxSeTA zqzk(M5$1rw{auf#=QZV8rRl_QSZRBNXn-!A!Im*-0xOM@K<-d{djvkObqYsyu;@~~ z>w;qryGfjm(Lh$u6~`(m{xG;UTTW4F5Wy^6AeQp`z*&?iSwgkG zouO$B?>)&K@7$q~*#{CZvETS*L3Ig9Zn~J!Sv)_z0LIo3N4xTw4TbbRbfATi(oV*y zbrc{!yfq9f(4IkYe3?rpHgd=!stKVWyXGqr%ui&jnP)|^tRi}|Mc-lB!*eF}!Hk9# zK_4Ufyfa%EX78xPe75TS2Rqz9pfcI>v$b&8(-q;&>M$N9t|DXJC4*-Rew;^U@(`oQ zBK-EJW_LB&3C`m*1k*ec#F9*_892jNp-KwYayC5+Ky-$7N}R2W@HR=%=zIbPY%Ye= zSN}Pd40Z*=kDB~oj}MZrgULG%yXFVLU^;TUN#09rHGwA zz{1CqmT}$cZ>?YL)7n^W%U0#%{YGe3fy}=QLGoC8ib9AV$%61~L3Qmtf}1TO6e%RH zu+_$Zxfa7D)T~b>Rd*sq_H1xI2(aU1vq_In3Iv0t;X}>S8MJj%5DQ}s9wVaUX1CyY z%4$_qp{>A?b-ysxwZ7UDl!KD>A0+WKEQoQ(jfm5W;?KWcz@yE+nhqcc;2(; zrwx(mOnw^M4SR0ajjDT`hk;V%Uk_;$);nibg*#@*Y%q928%#5zm64L+ipR6xJV}}F zx^dQHm69j=8YwkAPbQeUrxFcoPIXve0)^Jxd<`x;r(qY zbIVM@Xo&2TB59*`ca9$(Q%Qkf$2u7nvp???OT`&a+GCtVLcTdhn-o8C3OF5CDPUz} z%U=Lyh9&&fI(&h&m)Lh6YziVYkxW_USp|nl2&W;dj&4(JgF~mG)nSf}ap<+#D^@Jm zGcyq~wM`zMGM1}2nFi9(@q#G`(uEuQ)OsF*89jXls)_*Eq(AflBq_aShB&7c%c zkrP|Vbj4QUI`ANg2y5Es;-Cg?eZ$y6p{HeB1xLt~dn9Y*KY^=Vc3-6GTd%Knb0R1& zcy_+_0}`B>VIu0yBz?v-h1U~svM z1awiF6$ubnO>vfpXxM>SG^dCxfi`sxTTy=F82giTfz z-XeUV`eppIj@>H_7Yya+e#0##vY9a~k^zC%edFiP@j8P8{y$6` za_TC^B}(%d5q`(@#ax)I>ZZqtoH;T_+>*8AEl)>iu88}$Jc$OUY2P<Xvp4Ec->%X;0~2}wa}(Y7iN#p&R7xVezX1i$ z2igeE2GU>O1p;U7|;=H&qOX-KZFWw-XOekjQHCK z_^V3)HEGPo)pBr_rsrwEu_+99OU~5r7FEJ+T~9O zLej}Nk5J}+;g`&4ZOJ%~I-U68;IBf}t>4ZGFkjC1pBAS>yt_!bfv&DYcUM6r%pTIr zU3`e07xS!m)1c>9`@#sx`hHFQZVx{v(ly#eM#a`d4%rCQr|anZ2QcW(`G((Eri1>! zL?i!~fc#H1G8-p1>;H~MX6N{SD^1S-A4>B|Zz_ti0~M$=w^|CUAE%))u&>cCw?zW6 zN9i|BSz>0UNBbOPQB?_OQ#&;lmjyX83Ypgdg5s#uiV}cxN#gI1$0u1?B` zzh57KxwKDi4;SOZjZ~emM626Hu+7c5 z{>(gV^3!;JwKYoR$9t&sd0n&y96j9CIrw{Z_6UBpbB8q<(+Y%feX+j#Pu=mxw3hBJ zs*LSF-Dia%QJ!#oQwkX_9#&)mUW=?eu#Z_8ZC(`~{&*5?gs*H6s{NbO4J`?^;K$A7 zi(!70Hx14IxbxfxRZG_Uq+Nj3u=7$hC@y{3V%6H4bhozmbRCkNqq8;1YUZ`XY$jLS zTw}SjNPl-}DB=|M%F?0>C1WS__3_Fx8M!S#tg7euSII0|?*;g`sxtcW`tNnL7|_wi zGg|Tshi(|EYzP?DLQAftf9$j-z>IiVXD+z!<{rKmu|46a6P)XF)49 z(Rln%LhDUAR4qEZ%5)>c;~K9T9`y}M1Hh!AWMGJjY+73gl5azT=oS~cCoD;$dGQ}j z=#;h0IiFvWdX3L}0_xhVk(|qgS0TRT5UBuF^hz{|e4C+C{StQ<`Gb;BzV(9a>YP>N zN_@I&m>mWeZBze}XGOQp)n8BHR&1dEI`%P8ugbLC1$)1$c7LqnMq)k^jG;HRx)}D% zk)fngL>6sJPSop1iEh%b=Oa}*3U!7ac}A|mn)}-7N8ffMq|3R?IqkHKx~XA9 zY&3!}Ka?cyT4C5vDx#*|`ZY74>$WjdiB1BYkQQm?&Ok3OZvtCs$Bg8Y%-P!PY>a$) zOl43ZLPdr78lPczTL@Y&XbnW((oP=yBxJ(0iz}>vcwNgq*6;Wxn4Why$vKYhj(Qp9 z21dcftlHSO;65CZORSGB%LNo9_dngfZgKq3A15OFcGkHB`x<}VyUXAd&kPLqI=17` zOi^2HLup67#wSfDJ)>q4pSHU?G0t?}n>#$)uYO_N zpl?@#qRYUWNMe~@+R{}^42z4S@#V1BV$WF8ijz|r@hVmN(h(VPq=j}AcRGort{fz{ zt%o|Gx2QlO1S2s8=3K3?22QYU9$Hixh{0ZN5k-bD>477 zYzJs3k{N>~Mq3a(#!K1{eBZ5`&cv}IkwJCau;_j5np)fCM+>RZ)cJQML(4z{msJ%7FpR3=p>{&3YwH&*PGHmZO4Xhm=F~7UG zW0TWBk%fqUB zOTS8}lW!@}%kco?60hH0*H$99Hw7ip?y^Ulz0_)FGe>X{<>y=uBSP-Z&`!HdJlXy{ z-4U+3s%BX$Zgi!?CTRfg{?7{rwIfSE{?|_|CU7@MZBrVhLNj~pf?q8|c5n2xKvse6 zKADYh2#p(qx+!G`Y40Az8nr}kIIZ5C*4rt)iCO_DzSg!ereSN-Gn9mFY0&x2XXAm9WfVrjkoOa*gQgJ=Oxo7z4;`7t2D05Ij@m|nX-f$FS;<$t~xLD zi#%nzaIN3k1o zd_D^-ONOwJqkY(?zmEr77~HRo2+E`n-8s4j(zkGm)w3SCoxsBNo8eVf3Q$181NW-E z7&d+LGL9m=_k!DREK9Zo>NPdFk%%I*+WA4{xBa3g4tr4}_wO%>*24PeNcCh9LSw~3 zR7O1dT;OhCRu1Wd)vZCLli^kWh}jj}b+@RvY-NRbywD7E&{?>`o$DG6tXiD;+JXrA zgwzfs=8tYqJ@z*X9bd5Oj0W$9s*68F4M>`PuirXCOwW|;<5J5MMPHiQzM9`4MLu;K z4lQ*QE|{gr(MTuu+%OttrR-9OCEXdUuwv(A1?HSb(o7YUx12CSAV-R9g-BV^5X}AU zTxt4sVs_D8^)>=*88v6G;Q)auBI$F!=y#4V&?el!>z&fPe}snJ<-F(b=xAw5!QLQW zb$4_3>M!u_W3(aizby|`R*bVfzmyyO&WiipR~%5L6vwiX1!k*QUlJvhg-5oFWq*Sn zr}0r+ULO>6(stKmtunF#~I7dn+-cqt9mi?93+QxP^LzB$X@D-L#2V+_GEZ`#ltSLWLu721epU9ukHKSuRe#3#|u)<6s zI&c#@NokWI#jWH%5bFBSZt-rb*qK@}ObhAyIWm0|a}wNj=hv?ND}gvL*D z4p4q$2S0@*1QDRJS6?)Y+=q)+xIXj7s;-a&>l4UWTO0+o5e$jCy)6VfwM&5M z^Z5U8_m;7BG~L?fHZwCbGcz+YGjq%wvtwpvW@cu_nAu6pakiP+&+I(soOd+RC(V3+ zW~AvKt*zc&)m_!C>Q$@OeJx<#s*`zm?sG6q@R7$AVjR>7%Zagaq-Gs%0t0E6S6E^A z5}${>jLi+F-1{F0d}=p>oZYRRU-9qAR8H%}Rtqp%Jxlnyu~B`ai40%IQMaaQfkg%) zRys$wNkm%c+81;kmz)Bm0(hHW-jVY}2={!8r&uc2VS7bWt9Sejd`q@Tia8Had201``ZRML8e@d-g30wHC+**aNIQ|1 z221<87W#r=PAE%BK z*2xGDL&B(Cn@R~jC7p~mb7;|I%=b}%c|)Ma!y9!j1ukE*Wny3;=5@USP5S28QC1L$hDm7(%rQd&%9OQQ1lr`FFRxp z!9D}ac;t~w`9jC$cjW?>4^N0sZj+2KIl0-ddtQqiD;k1n>f-w>z`9wV0;@7+;p^W)SMjQ zdy?vGcB&CM{y8%a{0B@nQQz->HG%j$FZerw;9%us|34=X{{uM^6lD3o#~E>P{|9Hp z#>Msj5ND(=BmO^hWJw9l|6(Jv{I^@2jgym)_5Tf;(GEZY3<44o3K9wq3JMMr2>}W7 ze|!691b_w$$OW5%03!#0qk%!7fq^7GgrK~9f4MgQ1-AK@ZUY7dA|t_o!-D?B2Oa;v zQj-AS5Rjk~K*6JkAVm;3Dg-JBUG$*}DhNYDjobdV2+A4SZ>3im4Uh~*VttrhZK$! zV8fbUU|8_s;r3+rz|?8XaA6>9snk^j0L%EjxR`-O=oP8|4gf&P-oY;zl~gVbxnD57 z2s4267tGX@pe{j&pK-F0JOZlU5;+x;(1Lm~bJQQn$nX8BvgvBACw7tC!mk9FFZSekD4$0KJbBl1r)m9Z}45JblB~0q;WY$LGZ<^}agVz9~pr9DveuD)e6sp#fR$nF}Wt933;NxpRVok4# z#1Y?fx3v3}C_U2NP)5qr8E)A?z*BlE#j6_}|aNovgkMsejRClqB`0|zo zW@J=?x5EICj7m;9y~V_WdY#Slr|oQGCA(shQ$6w9p^cJ&j$ctlK=p6QP^a3G%|EF(rD0c0NCH( zuu0LdNszLD{}7`<$S7!VFc2r|@Aj7%1ptFa!$ifv0s*7YvB}6Osn|@p|3^3n1^)b- zH$k`u{p3OpQG3k>?s2D8kMNEi%G#mkIW%ip#mucvvC7_ObdzN`y2OVmYaAT z)+?QK9}kg&QtZS0hn_=2SKB`T{P?SiuJ0ZC?=k^bWN$22ZAX0WA8QeAq4#Bkg3TW~ z_HEWE_Ew$^VgL#Az-0zT%HcG&S7^mc2ybC%VCXNThYY683R2wVyJuLL? zKe_eDozGo_540%IvKb=U>Z=q$i2@Iot(qkTzl8Qua%i3%R>I2}MhG*T-)V>s z-)*-x9lJ=8eBOTR!zs)-;u?fh7U|J0EHZ#Ym)by_T{~{!FFriwi?-%xOXbgk4eM9v zIr#k?z|I#?M*gPc+^m?BPY98o!ESGYzys5jb+%3zm2$k;v1YBU8?z=7|0HEtmHK5? zt*il4PCV{WTDLTF)ZMkFIf=?!h)+3L)a-}SmVaYdyvIdLL2!Eq@5X24UjH4Bd}QVp z2Q>vUtM;rxo<^hh4QMHxn{TRSs|`LhNym#k=c}7!KFqMq`)yt-#)_WZhUzoEEU-u5 zn1@cdjY42JlYybEZ2;RYQG<80zT0UWCo1Acf%ZmBy-311tR6jsdT|jaw)uQX^yv)` z>AXYbsJ9A`EjOUyz-(5%3Ffz!qB+mCa{xOiv(=!XA}@?c;{h2tuA*DVD&3?}du|vB z2h*@)Cb8ZNnC$YoWwhB1`>F-Y+KMnBr+#B-Rzh2-ndn!@Ff_~y9wMHp+1r*I!@1p5 z>$RCIN6r^}=fhlg!F6SZ=VU&3hi;77U;XzRE;7xY5pC>htL;1Kh9w53TR4q z)*!~%eB~KuFN7`cM^x=MTs^*|lG|z0ExPnaiKfKZ_ecrhofhWdpLFdnlp!Jr3PtN? zCN0ij*z3WK#3~prER7d@6HTUv9lY`xx|o_x^03=dCC|#M@tEz1-MLbmmQJ$8UyZ+F z)u!B>G=1Fh6U~Qi8CfHU9+g*}_GLI(zAYDEW1G(G?DsiRzBk{v21Q!_=%VeWspU!E zK5ulzefk>4&}e9)=iIQoGMXYN59G=SHSKkrPUyerObwSqrnH+GWSIUbufA%bdxkPf z`@7v2rejn;@QuY+kya(IDA35#d&4m92+O<{j_U>CyhuM+L>+?xZpd{MwS52^a%VS^ zCJ0RLNUn|9Jp;$;Czt6Wv!*?Atu;}){7EnHy^-bY&6iEL;u|KK?-{BNe6fUW)-H{P zWiPoS`N3@5G3y4dh(Iq10;P;~u)J!<#Gp2X81gKx!%RAsH85!s=LbU2#C^PV?e#g5 z+70mFiFn6zjvK=V8_<5R-9p{IqAj&{f4haE(OBPp+3BnS?AFq&8P?l=?5&nqLA~x* z*IGv_s3Z~H$p38D9Jq9JPu50TWL(7$^JF(0*A8_c=4i`;z#0w5L_$)F;_GQu!K%?? z_sK~&$620T^oX?&oJ2Fao{dA%Yv8Cq;Idyo8&O*=6=p3oS$E~fTxRLd@!aI8M*thDazV;>se~GKEQr=?zY^nxzNLPvx zBi*PO?=lPF8v3=!7HyI1S#9j<6 zOly}MkF_u9=QQfFH|B@9G_G2LEpq`qpbIVGv>~?OnX7|X(qDtIBK0ZeTCYS&` zHV0asX0o6RGVl6#YrJtegz-D#Xgkg@Qq7E8sa|B_ycyiElO_-kE`3!`8Rtryv6`hP z!Hw;pCyd5f?rz+ErWO4DwPQ)At^^&wl$4k0Aa}Q@Tz;mR_&1K9p@rH5hHNQVJi7Al zcKb*n8Z3mfZ5a_IIs2F5os%rm57zF>@ z?9Y(z%=8NK(9-&e9PqN5KU}7Orp2;IC+-lL^5BBF6*vy6q-P21MSB+(T==LiUR|KQ zk5|(=lrMY~eG%1wt1RBwOXnEHu|{t4GO-h<+#OcwU9Pl(nEqa{S1^Q$FX(m@{);CD z1p@;I1r7E0dHgp|4C8MmXH?98fnrb;tm+^oI3x7UK$#y?D}nd4{-y)EP);u30WFPWz7-JW5}3GP&+j3Y$XzL<4ztZe zaJk1v6>rEfZh8j%Wz4Ra+0pJ=ophtobx;yf-Ik8|NN!-DfCuahEJ5*Ju0H+aNDq{Q zKQfdqt@|WFXZ0{`tKZ0;|MB*nW9kgwZ_X)}$b#^)uv9Gf7!+lt1qMoM=X4mk6g8%q zxKxmMblV8t`!1E3!0csKi~mw(7MPxo@Od9h{dV zSU!0$Ot*SGrr4T3nqit};Z41sYY{!OWmZ_xuYPZ5MYe*L&l z_6^dNw58_qRb!YRj@;E+BNkk+RGHh3fU!p4k*60)ZLa1Xn2k^dt-$nX^o8w~pWAs* zAY5&~?ydPd@c1{Ec1x}vIU#1Ce_(8K8QzD~AD$+Qd5zP_dcMvsi-lEzkIh$v%Z;n? zl6Z@Eij*7U{H_tVw+;&p8TCGbqMtvq?*35mI3y&t*$-Ko&Uh!58pQ|ybhX6-sys>P zbXs#yD)#4de+cvTb=MHQ9R_*L>DuGY-Nb!%t^VBg%}E(u%d>vEm@KGp@LRl}JiDCC zP1e04n2fCKMJc+ zbm-vFro@k)fI=Fqp!nOE_a@-yFGTBXB+J3RYJQ1V6hwAgGE?pbvA9)qF33EJ4ZJI* zLPP}>HQa~}0y|Vk(sQeG;plIS6$QZra2ky~uDkuc${etogAE_lk9m4~(Y=cnT!`US zps^;qA$~WoakLdq4Qq%$rc)2sNn=}xVpY*GcF3>*;B_cxM4>U^r7rr|d0B5k%IyLV_FxPIU5#`{ZzqcRLKDweNYn!&w;f5v{x8LJJ zRb?w7PU1Pp;9z&11SB7fTOB|BwO+{=u!GWyAZ3)PcsQ?IGGgF_z56o)B>xs#pjm$U z&Hb6zmyU&^QLcv~g>>E%G4I#mb$L{@^zhQQtupG-Ie2%^^-A!kyDyt*l5Si$@}$in zWtXWIB3Fj6F(5@)?V2}CIr;P!=t^hJ{{%d`?H{mF9$YBJ8)T6?(hADv0?~(JrMCj! zlbN{0Dy&=-kowK`ccPZ&x1^%GMF^E!cSO~~eyw%%`SO*&j4Ee0cGjL+E%YRF25jZ> zdlExj3_vodh<-;Q3cwuTmq%z z-X2I0t?i>iZ~Sw8!7Zw32>F|27*~`!X7r-kd`x(g!5|z3J*ojyA^4PGNWau}j4LWX9l-DQ)o* z;wfG)tLY@TGRV z%}PWpI7A?52kq07g%Bj0)C6IN_RX%#Y(1rMoAWwx7KB%FPjjVSlT|}`Nc0x2nAu_9 zVJSE#NnZjhk^e>KAlOnE-KO+E0GVRVmASyVuPR{iRFbUOPn@p77`-1Ztkwwd~gzkyeSs=X55qETOFviEEMd_)N$n%vdXYEy>Pj#)23GahPdCm46` zmL_%O$u)%Hxq0n!v}a?TLAaxpDKWypf>Wd1{`1mv>L+4P|K``?k{pfHZ!{srM#GEYwxfEzG5( zr-lV0eVGk6;>u@g+$ zXsy;r{f)igCXqK;yK?u=`IW?rGl}cmt%bFfY)|@9T&{`WJBS>`F#ZofgBv9Mclz?7 zi;;6kSo)Q<2DsnwguAAOrSc<3aNyyCZT?t7LC4{=(AaET`BVA}_;YA^kH$Kf2E&c@ z#w9i}Zi>1lr1}r;8A0W9CB@U2(@-tj?3k8R=ep9Afp}rFCHnLLZS&#&Zs!AE!BWAT zd1if|$Qt-ai$mA2}pWjUA{4T3Bgzr9S%F z-A8LwGbD!cMc=NICfAho9}9NXIZ0c&{U2fSorglcg$r7n{xFD-2m`uTWqs2uSGS3g=YY@${c zAS383s2`nry@3?y66_!=Bt7j4cbXxaGE|Okwy-`qChVNB9q%S92;LUZO7dF=5G_mPiT_-auFy6qiQ z^IX7lOo>QtxGZDj@R+&1 z-nWBncvk4`1pMZj8u}W1GB~?UPqBeLR$}Y+2YMvO-=Xo(RrNK7>0I1*-UIP4S^-A| zD^m}r@l1>}*yXB5Y4IswgW9G0-!ky9b$2X^yCwo%)oTWON6n18+Zbo6-LmV-UvD zTJE?;>y_J`WVcRJ09a~9RY%66Y^sBDL-^-kk#}K#gs1l6QMopC?|i=TQG?#^J6TIP zZ^=pfPOt#e#~nhk30)wyEvA*MVQ7^AmkGX{A-OAW<_s5Gma*j0D28W>P|us(k4+K# z!WqmdtBgYSK7|h1?~4MS-~zp_<)LEaj+cTc5HZW`tt&DHxN^&^{R{|5miFUKU-MN~ zD(CoiM{6(xvII8YA}QNm?j0S~Cf7{ARBl7_^^4#6-4nY(d{Q0sca@Wu$lK8!uTV@n zb<6(x6%CzUnW2Z+GV`W4xQV+c+IP@DnH&7oAoTHom*WqiQT~TD^?5+q?O>Xgg8E#s zJtIpgg~gMB+9fVx8GF8I{IkaQ^2K@?KGaPEu1n90qtG&xB=u&`)Td=f>~kFc=UXW* zRwOOOS4oXp;ac|R#97GlVI##j#wj1PUg!$?Zo4uzTV+w?+Fyb1Qjp?H6UCTbW_^VU z4KkL}WD{30`7*sO2U^@y@@_PW?9 zy|aMqQwrTTB2CLh_P)7}X_u-6Z%#MkgKaez?oJgH(C%($|!E!K<%v$qUekzqC48UkRwtK^hWG;snpiY$-pQ9B;)3s@78c z1E>o+456Q}%nPWSGwNe$9bLq$TU;gS_}0P`-|>7{ddyeXaa7Vrh^u_W(Jaf|Hdo# zL7@aa6K0wmU-a-m$MXk$PXj5wthtTB`2Yh@CY`}L-_DXz-#C`ASM+rNx4xn-hIAx+ zb;8VRtEpPhUz(l>I{hd#nk+^RS@qT$f8lK_kx@o_Hb)34+|kWbxe0lpbXqKxi!=L< zfv9_$=D<}r8AxrncXD|KDme4ju^ z6<;3xrxcA&=8SZAH!y8!s(2|vTcasX4lbj@H?)9=;Y`y4hF#ABV9B*_A)!^Yjpp{&hK7AY}lj4%r7e7ZDqIs*g0^WEBxAL|EP&3rHbm;9uYsvp=3Oa{*v}HEFz2AEeJEcXjBLBh($hoF!}A! z8B`M4MLZpb5rSJxL8600Qgc=8Y<-Is{y*Cf36o`-UKFfF@w5&u&^>S!{-s<`-=Bwz zG?F24<#btQB6~!^^$0no5+RbJyt5J5%@ytwCSul0ulv7PJK49IT{)t_64NRsF*l@1 zqHwVCi}y(6iT-*;U2ePld$SX3`D~OTrxL~)t92B%7$3<}nCbW-l?Pf)`Sdr%a&<)W zSd9n%V5)-;C`;kFlx^=Xqacb`jK5l`r2_dP#W*g!Gl7%cEzviS;fV#f`dj7webLHW zL)w|3LRnJMbQjIP1tub`{kI|E%0M=5~d%Fp%X8v-6@!o9)ld=2sh#zmzoyi~7 zf#z)=AB{&Ps>+Tk`G4r(C{hYAUK&A(Jg=`m;7p)Q`DWitDC@A;#sVJyY(Mok!hJ1+ zlC^}*4)l4`u5SeDl3?QD_l-WpE=dL>LZ`E_#lnOH^}GfbhJUSSp6z+PkZf{5xV7|Z z(;f`TR#u1qThGM!b=6gm-5pf%dwYY(3SMBR{XyxsPItA*iU|>458ZXgBW9Nh zxbyy>N{65K*5>kT#HZ#fQ14PehyAWkiVIb9)(9U0;?S@GXm^xgKDurgho`l=e*opY z&q@eC1@Fw|F+^?>i(NzlPXc12aQa6ylRL0G*kw7?O+V#8pqEF0ZCy-EWP6 zSJcC)_Z4cn;>yiC2Ko~i8cH;H*Lc3q^OR1m8?l;_Lw*yUHUj0ayYZG0G{qZZcWf6m z?l2SyeptrFY2tquW4BYOM2q9wbs)o;J37hqnRW&@dvF^Vqk(xgD~LwIqA;-1dH?Be z+~Y}Wz~MHc9b}PIQu)a^g@X{zgJ4c>ONnnI#bTOI;A-XI%z*+_b_^9~Gs1yIlr z>YmV|Ww#Y?Yr5Z6#ydDVL)tdhN)+HB@9dxTSrLMRpd>9_bA4tzc=%QSd@V6bw~rZ2 z@!L*7OvX&2xz|0px7eGz?1?wVxQLO(Ua zDxnT07doPC>)Rm-nlr*BU(xDqH%#HA69vCmZz4@`IkUsHKdjL8S=EIb=dQW-RH{!5{ zZoGl8cW%#;Cagq48IzTP{6_y8#vc11jBRzpp??5pyiCgsTASfV!Z6LH@a_pbB4*EE z;RvWQ6#wU00Ms;H|*2-kt znQxX5Q-=V|kq)_q*0RKrda*zCTW_!!Df9z~_dAv71eJXGl3iAtM)0{#Zjiygu9R@- z2(w(~%rO{@7*u>qfP6$9L;t1$FycgLYpEX9+4RSWNoh*|z1KamYRE(OJRWFIrL@eI zX%wX30X>p2q@flLe=9v%YE|hh1@A2kR-0^?df7SCIEn$#BZ_XoP(786;Y5b-vF?!~ zJAg4&WdxX-7Qk=`bLB?JC3B*s+%Ij18lrwjz1uzI3HKLEP*WZ)yLR|NtAJ{x-HfSb zacLX%m8|X3_H@>$q3;3DuXH-*n6AcCTWig3S^@Br@=#&90f&$oU?~%C2h-&XL#}xO z;f5KhS;o13YPF0IoSC+s%u6MJ#X^~qJc4dKON6z#dZ`y+M5Y**J%JsL0}D%|goae3Jf(s8t#3wdrwb(hVi?jyPjIS576sDLH_ zKlSNB6slHUk*3eMh(jrk0a92yD zzm;*(bsvdXtYV;}CeypA&puHWN}=Bezrkuu5#s0T_mA2i{Q;cOUk z#2>EAUKx>X9iD_Im7Px;0%6BW8-Cil#`^ed2`>5z(jj&g=;XpI$!1ka5+QI{yG11N zXL?A_heHov1*VxCY1TZSXd!D8X(^Upiks`Yn_U4{hlSo=oQbsJboEeVzdw}%{|$`e zqzvCRKQF`;Q|MkSMsp?%xo9<{D*9&T++LCl$~|`&`-92O+3PC(QHP$yldXnyDD^r`^;3Y5)68 zEv;x<(*FnWBm%Nw{|z1j1s;J&4Rhl2gF+#lxjd%<}_AthxP_lI;Y0~eAt@D(wG4LEgh}Sa!aCt~H3CN-lK~fY( z@M%ENFd>*IDySh~NTk7kuL%H$MHK^(0#N>4%mgjq0U-b84*T!zFRYH0%~i}Sc^FkK zq_}xW)pY+qi${va?YT|bCq#Y9_P?8eb3f4y}M)T zyE}Yp!?yXu1%8?H`Wu#(J3tOOxkH|iL)8s}^|HFmtm~xzg8iX(voQ+mUV!>RQc$6c z46FsJul%Vr7?gE24@f-k*l&qHzUVH)!IgizNH3=eL~Hg^QX=BXF;01mw^)E*IUv_j z^zCa2EvetE+1b~W@S?El_Oc|HWi|GBCQ&BLT5IhM$^$i$7!A}&P&C+oA)^1b^S>I2 z3RSQ5vd$0J;c)g26S;t?ceg zmB`=T2JxyvGbnH{$o~mi`wtp01T}eSzj*k%`G)jAQz+Dq2ZWfPp#BQYmcBbXTj$&PlYeg(hmu0}Qe z)sD@K->3$w+7D0@*eiL^=DBmYC>XuK!jE7b`YnhYYe9(@DW$x+Nt|xaFO!{VYT2)e-xM}#m1?&y0UcaC)B%t( zhqh8GksPZl{{n4p4P7)>KQ^|kO>T1liAn~I-pQcKIx}_R+qO=$M~&%^&wcj^rXLK+ zw>KnhKOTGm!4y_qa#aKYpy}Yz~~ZEh29EnI#x%46{>A2)FLfO0O+OuS2?BjM;Zr_I0#H3Lapkdw`isVv6zUC%8(lu+P{Lk#|Dhu`$8iqv+Fr_oZ?;O?D`A!P{S#;U&c_G7j(CWs?UY6UtLk6 z9HM{P=ts7&BB1$8D@KJvs*;nAmK{s*D$9pJY*<9yQ{!b--`~thXUDHvtK2B ziiW*jSccIv(KP&voE0G{B#Jzsi}3Z5HMB=>kWIl#UZGj+oi*fwSY<^Jc0C$bo^u97 z6Ql`6)3Z3Bsm#!|;l39G1y=XRo~hj?c;5`=b+PWNE(F_r6Y+ugZ+L^r2bAjJ&*;~J zO75QRWEX(WS?JSzbAi=9AU|95aI|i>`AS=-9n1u^XzOaf$@E(oFz&5pO>hPYR*$I$ z{WvExgH2!z{ecKbXio2@d_!dKTBpFE_OmN8)T~9<6DtR9zg;alK(T}*7woc6Jf|cR zyP;|DRpJCc${Pj%pyl)=#3Ow^ATI8g@tdnfaRD(QzviltOVRR>5VWD(7V)!NO6({B zh07|DvTs9CA)D)oaa$=M@8<%P5tYq|W=FX1=KoEP=zTQ0?P}Lkqzn|rTK!R^kY41{ zpuj9j5RMe8(5Zl#67xNlXqvRMYli%B2Y|ie$FFF_?UP6#)TJ&>hCs$D;dyU|0wjny zY}k+e`c>5I|erXqw}S7C2Nf|W0vs&v#UH= zUV%14bVqjnpkd9}-jdxp*u+vQFXCleuv5y*J;o%Ve&f`ob^+~rjR%H`h?lkR_S(1G z+Du!DZl4b2hKEQqv$iv9s z=ApI)e3vjxD0Nav={Se)!Rc?NZNg6Z8ZYLkbtbaebWH8;i?@}^uD>0{#uvAj_gVR- z_6z9!{B3hx9->240L)lyASMq_EmJmHsR_YIDPKaR zN%R!-F=zv0bDP%$Xi1h(X2Hv1#!$w0q%MV5_JOSGed*<(%GKx*<{m(Lmtc z)1YRg&(iK;K8xyw&XVs;C}~(_(iCD$x6FU^4vec*1vV3;Y=>FWouJASCtX07aeqyG z!wA(5GLdc|Jr23w5RQY^go+GT70{M+JusUOh6fJ=poy%}hQ}7=AP-NW5k`%B)Y1{7 zGWyYd*R69I2prp`-_n1VTmWjTj46^t53{K`x#bho{)F2O({7`jiLY)8M?agiYN{G3 zcr!=7;q`?H9>E$p){cvPueD`@1btd<9w1DjI9}5S#}ot0Egl$1s;&-T(Mt%*kTBC8 z0nZ6Y4O=Ui03T8pCppOv>0E@f9XEo8U(n6R{{S-S@38GwB67h?t4QvuNPr=QtBRkM zkb+RE0HoSs9L!ZDVhNpkV-S~e7OK;-VeL#*G?o+^l@4u$2CW3Cr{v@qg~bTUo5m3O z57e?RqqI4mt_b>UoF(ZZxj8$S_U4o(l-@1YsdrIuJ`m#cqsC4w7IrC9;bU#Tv0&P^41S zs+fwQg2mXz<{{o1M#aA`i)y8VsT!Dd8~34QehQ%(mIgG}+A;@|4p9YvHLoR02V=H_ zhmGrsI({uf{g$N5hyY3Il@V#tb-gGwVt))#i0T6i4Nnh1no2DU5xO3;Dr6DN2fy8*NM?&rOEcPwEB3KsEWH41 z#S|%cK@>+3iZm6>P!krHY}<3g#C)gcJ;ERWUKs1Blb@xbqf)pkID z!fYA&Lo--=2_N!)0@J@0z;1F|o#P#B^ zK6UxhWe5H2-Ys+HUjzbRxOJ?_b#nAiYDCB5afPAS<8}j}(9Zk9?J-IFF0ip6M=g^1 z(!FKjxrwF99JjH%W%Y6t$iJBZKl6lmQ5oHGz=Pkr4Gf#+V|+z(LR-nAF7&8gnCmci z@oQkeT~H;b6%uB1TZR#}>J|B#cekJe^$k)T*OY->V0vv9(OM9E``*FYTG0?Lj<~?i zUJ0>Tq=@dA+34ZDy0vSFkxf+q03JXq%$qI~Ws5aihP{4)C20)t@OAdQ|$ClWcO+Nkv=%&ome%4;Jv>UMtk09li)MX@V={T_lEgBqL zl32rZ#F`y*sbaFJI$=Z6sv|E2TG+uM*q>AkGD1AdKOY#BIO|nmLr+A}SN>$$k%gF< zC>1jjhwOo*rM9P*J2c-9d6p-ZY){`@Zgg=(JfbBvRi9YqEjJeD#+rp?4~Za!8J($V zn*Bi4+X(|^GKg3>VKO zxCIL$Rt|CxXI4t|E276JZc$&ic+yZz3hF-J1RvTQhldX_rZbLtL$WBuxNH#;gd027 z9K(QxLj@jvh*i7El-uzh_oEkhIw}lOoGGC;G9+(EzI@lC66^!{nr`U9?YEOK!$nLL zYKq{pLr|bQRL3?gD)LCMlQArC2hsRy=om8|3O~B3Vg>6UFAI0is)c;$@trvTTn#%K zQ^rU>V{CuEEWjQMO!xMXg?^?ll1{6xw*?&9y3j&Y{2uIvK_Cu~6m=6eQBhD^Z6G8F zGRimb12o>JhzM^L8JEz6*CoG%9=vpHo|U7VfX7B^oAmwzusd|CPT>;pfKPbI%T0)a z^;MTqYTAd~FW@{Mh!ZTq&cpZk$f3gi>WIXodMiI?u}8JX8nurRVRAp`bsJO7e@hj)j50y-w`P6`YHpj_S(0azHhvTc$sK`2OkNxEeP zN2%-z_JQ>`HP;GZd^WtnIN`T*^f`N3$&l`{J$p`0w~H0l5gdCdjPf_@Z)Q5-NDdBi zXgel}MUrb#8t!`^Q-DAF zV@8en6wjzOeP(8u?Mpjp;I!2TVQ`#lhC(gitp65|T#j_8h;hEbjjC3}Hw7a=|C{X5dk9Bg)agl64X zD5augV>cp3t4tXbSgR>6ls$RM80{Pd8)j#%6XirjQS5S=PCpuYF>PuU{546gt3?Z& z3+m$3rB)ILy|y`M#wowco}Pstovq%?fFYax90Cc8%66|^B$J?rx=p>E84}iAy6FPG zT#HI?$fc?KO-i*>%vv{T2A_^nkC!>Bllg&wzOjdtwb#{!6s_j<&>1;9X(2X zE$#lAttEin&1%c|@f7!QhRbM>0yEp{@$Mx-!v5F}Mi47(YI0SKi zH8mz}!UPTEnk95KGz)AR(>Z>yYmg5w3LUho)beRpBKAfkg@Rv693~d19}Oj& ztX+VNdwC-Qc^rjV+0?%8fx@c9}=w1Fz6*#%w0b=?UNK7o(t? z7Q+MFSA+ZRafR0(G9n6@iRGhc3(G*H0A_op4`ve(6V+WEXy^`IescUF^1r71@%*=- z^8YL8BnSKdAEcB2NkZ|jdk>_HgoFTx`QMOEepZ1BLd>q9>Iak^??$dm`~}xNy`UHH`0ruLu(3y* z9)*}+1mqn~lOltwSZrVD&OhvDr9|jTw6*~N%1~L#@F=k9AtT@QfI`@7VMxR z8TZPXJ+Jkd-2(tH1$SR>8zU)R&2m=%EkrrvVX{nwHPHWCXb+$Wpa3E|<&X0T5_M4Y z0no)L(Z!{VxLf+%uKfrFL|9b8B?0inPC~i|N9TN=a-@(^(jH6Kt1m=PdP-zh3rniL zJ2nGI3LK^e0JCnPdFS7|YhOO_cOV8@5n?-HR9}1M-|-{#uP*=)X+W#8%ZrLXEMjU` zO1Jh~3mEEPx_a-Qu6o*6i;ROJTk@dvJ&k-zDi(#Q8hi_-;>hsz*p#c*9_fug@DvMAgR*`2!F zY!{fU-t;n_TxBkuIQk;g7}O;fdnKBPh~?(v*0lm?-#N`w&H=8Ehz^$V?T?T(l5vO9 zASomOQ1N>)?q}pV*r*Oj>u9_P!280~!hQ7Mc478Y^X4?d?Wza>NP#1T941*PTuh7n zoq>-)0pnWo#tbU^-!A~@HGp8Nyc1zP?dcZbTr%;%F$I88g7mSV=K{zA>22YHLFdXr zCdt8}g7yG7kgppc2cQfBIb0b*0uhkA^{>$J-*of;5jtYBqN0J6j{hZeS)$H1DjwvG()5-4G@48UsS`S3Oh|kdX8E z(P@`c_M0igfqES3t|t>W%LdhhE=~h7XVCY&@Fgz5d*|G0U8h6 z+#c-AP_B(6j6ZBW2giqgcZ>RhOE$l@=E;z_hTlz(TGvYSzxbM^AQ1dfW(3YLLWI~1 zNQkl(k~W42X)hG~0-A;aWPbB6${VMejT(I;M5=Lg9k99!&C_jiuE&;ib?FO0R7l@>VwlVqsT0 znX!ETh-8OZ#S(2hp>bB;F%$2py`|)JjWbJo-x)|)UQ#Iy5K}Yav?@2e++E#Amxv~| ztohE=XxtqpWvbru5Zr`+`XVwuc;!oN>{hkRl~*AgZ|$c3oofgY2ZhwLY`d!EN0P3g zQ&@b~x7uqjfA3_=#(M$9C4Pduz76e1-ECatShu7`jg|EDde61xgi1`@Mm{AM z^$g&fbhppl>cqLCo{gzEN$|*Z{b4`s6jbBITRNL&(_(x!wjw65vG{!s5-S9xJMBUV z#Tl~>bp6o}7i`{}`PY)4iL)heww{73RH2?ZvxqUfdR~8a4e_)s8uu9!Y!vi=v$bhc z@%cY^d#m6$maSX2#mvmi%*@OT7Be$h%*@P^Wic}|Gn2)#7%j4xeA{d7v+sW+?uj^0 zryfdO9od;3s*cQ>Ip;S?HOSuix22u44|xq@Ql=1o zXSS4wnxCGNP8l)owtNg4*|^(`ae;a^F&~(5rJ=xXse zwc%I!9NnIe4&WxOtakGHlsujbV zhqBz%n0qRv%_4SqcwGx9l(L&FAM_>W*QN6H>1e0nmX2C6YRpiOw|dqY>=JmVNH1$7 zVjTSc&fLWRkcL38^1lZ#b;b;ag31B}4UPUC@E^|bd4O}{$OfE1-iDp{=Pwy`jFmLx zuXIVdD*kx)Fz|>)_&l76~9G_-KA;6xlh&Qjh(KiyPgr8ZD@F%!z&E zuB7IqwP+;)vrb*2viU> zWQ7?anxnny{s6c_9xJ_RRWU0|KkH*o6J5VegKRjt*?Qr9qs!^aUy8lsEj-6EwL^A~ zkA%mOFjDi=e??3g2pzI3$>n^XfbYX2WP~r;F6L16M_>Oe z>_enE%ShwUzPHLK$0TyO@Ns)_l5FVi1$PwNAlVQfhPmIZRpyYXXvmPcys%u?Gwv8a z?R}s8t!0dApTm@u+58OZavcbWb{{O0Eqjde2oYqiE-WE^P2X*0VmQYuHO-l_#Moih zt!e1xe&8UFuO8yc-|{}UXwxCo{@IO;Y6m@{rz-0qg%@t;LaL2b zLo@9U_B3{jCL`44TXjQJ%Q_kzGhevVU$2k$u+O8E&VxpOP{rKvoUlnW765h42ik`Z zf}w|+0z?Muz1NFkZtJmoXj_yo#-`ubj-*pB7Obj`t{Xab)fWV**SO8gYVJ-bd3(h5w7d&_1m1;~*j%rpJsr0Tg7%T7T>1xROejgQ( zqjG__?=(>u)z3+niU-85!h;n<{~-q9@a5odPi=m3rZYS6VS5mnx|W;DlY1K=2x%1^ zPHpy$9eA7yCY>-pn6_`ENg^iNpB!o zJ;w33)h}a6tVgXuS&ycKQdlit76)BcJ!jgQ9>uAW;Pj_!{#(1_POzE3|q^AFDgWc6&5co@32Tz;YBODP=UG-VFMhY{s( z=j;mkAG)?QEp_vNEy%sg=%rzscEKm)x>d2Y9`nl$K4(+a zBq3Et&0WZm9>zT3weMq7xV+dq`E0GVZY_PFd1g=N*TZf%F_L+_6Tbv{7rwh_nbMW< zVA~mQ#u34crSBdWs+u@_mc`d@8PG-+6CQ-b2*`VNM!T}y;NGBWXXk{}dB||c2$}bu zzvR!Equ<|I*%J50jkgp3(!At`F~ljz_yce~pL4x@!KdHQ#;+ZlM(B1<=MkVaJW}%> zy<0yBt*KQZj5((X>P^@&?ddfbZo&g;&edVkP~{$Kk;Y$md~!n z816UZ>W|j9o{zT<3-KBBP9|8#vy=(jc_nl#KcWJ~f0oEu z{By!k34GRrQY0s4_ZUWFpJAN)Tk5OK z-N2NG#|fXU#q|N}Vq&~|BcbW%SQ`ZNzd&L8BY27t*TFIxI??RTZp725_DJ~7Cmn$) zR_W2uAAp16++cuGI%9-IVVR2BhF}bk_dMgEo9k$lcuqLw*#CVK8?s$09CPA&5}wR^ z-kj9h08DYQ#IC^7RfMmT$VvB<_&-Gq!O$y`$Bmi;aYA%cIywH*1rZ{ix%b`JrR8Xm z_evuef~(yEYzv*q5eqKP93W+F5&qp)>qUc@j_}xU+4vHd$CSq`TtPmf?UWxKrTQ|0 zZu)qk;`Axu>ll_lvioH?hsrU`z`WK}_12k&!AYCO`%T3lOR>%9V5v}5U(d>ma}7UB zcJ>%fD6PFQa1Jne!05#L1Bj3fIsVa?&N^hM9a6-bbj*?!d=pFNATdFG16)MD{PZKY zum7ORwnP~YzMP3&Ae|TXV86&#`w;p%wilb?l%@;T%qRi%!To??&5cJ^5sSpp(u-~5 zWy-!{#c1qzP+jJEVD|HLWkFH1GUNRE>Y-P^oiJ$-4HNP}w2Gjs1??n3V^Gbo&`gSm z*!L#MDb^O-HI3Hvwb2_%{l()0f&DtoF%`h5eGk%ouu|;Cay84I>_0RISG)(4!`R({ z#x%spqeFXm+8Xx<;Fu0KsIYwGx%DOS9%cATCT)2Kl?R*haDy5_8VBI6OM{nBp}t9G zkS!{_dV!WId?;o}kK)P3govXRfC*RXqOUy2oW?$eDp%a*?(nhn z>etxJU0C!}HNJGOAx1>xK+bB(=@rK%0VS76bjZ`dGQM zJ2;fY-EP~ya(l+alfVK=^BDp`_l@t_W0TL)g~~|}dG{dh-ld+8+8l!pNV5a zy5K~#U6$%7vr9TkzLF74b9(ISSP!ts(%acNa|ma9on&bcocInO_4Ine{z(4%+D^85 zy(OfdnO|7ClclzGyJoeIz3p;K& zrBjMbvA#P)goG;15iNxNj$S39`*=axqWu<79aK6Y9*N)`%#43JTUFBHB6q0bkWVMYPg~~8XDk=l zvYdi>4ZoA9XVa8|kVXEAW@&#+0n#UqB~Z|+rRi26Qjzw_Y|V(|eUvoC^wiCrL1h3djK+P}{$C zIem$Q{v9f6SGh|{M#Bhy?a(#Z0aItw->=RNoQrZ(!0 zZGszlPElMDiSfm_jr|umvd9{9q~5r2tHp*h732b^rN4yu)J)LVKL9P^+d;_?TIxwC z;eFb39K}M!_W;D-sy_9yqM!PiM?W;BdD%MxHX!jtV81)K{sRlnvz|_?5j2X9atb_d z#(2A17{oC>_UA~NW!j}%urlBB2}VU1l4r9$=@}AM7FI%>SGN(J_X?OR=uNG#0xJ#d z8;Z)pNEE~HJRdFw?p+xO{s4X*()MLort|2LX-i4E6HyE#k#&#R)ynk^Up(S!il$sH ziH{KNvzYJE*7La#Wgk3eSymH#IXwJSF%GN*Enfy4OsJqvcG(SC2x!>r$*n9}{sA~~ zKdhv=GHJ;r29&NX44@9?K{MRzh-;Rlwf69t^?9y215KZoH*dy(HqjuZbJ|0e#hgY$ zWtJK9TIoVM-RsI}&L3h1^tlx3MLXlW9Amc}8XR=X)~s~{_F?hZtJFVC3hIfTIf$Ua zzMwl-&uOV?(Rk{)G_Jd%wQd5&V9rR?)D&P9Fq6?R?PhE-roEY)1uH7qbv%-JWylTO z)9lLXFYZRn76u@=i;Lnbr7bn*T(BGMS7tV&Sk-A4y~$avzQAl4wmCX(R8Y@Q3<6mY6GNU4G zI>s79piryo#FjW{H?WkvZpufR-$|@cz~NeU=4Kf`c2iF(&RWj|bFR)MZ-n}ih)fYK z8CSF5+=T&C#A8E(Ec2Cj9u#VNA2*SJG78+NIF_*o-0}8JMM`;caF`$hfiPYTMGQNx z%%!qS1(vA_wL8iq8A;0CGHW3!>3ip7WZWblTF$mZuKW$1Wo8IjR|dUs>(U>q&3P|An+MtERh?^gL=wIN_*A(907okL>0DrNk-x#qI4 zg0i@jAt7|mpXo52;5-ScLP6D2Sos;jWdUb;Z2O@w=Sc2SJF&!}ktfgnll|s43Y9tU zzG%S`M<(rLr0j%7g4R(A>&p&(U&<4U_l_CRQMfe|j%Z0^$?7$ptJ$%dIbcwJslt)B%KZVL?}mdECrNax?~yeDwh(ZZ2?9}@sofbQ z;fBgvqG-055eBaVjwEcSu_*}We4!8`u|@K8ZXv=?UZ z5ODKDd$dCb`3!sD=YkG4l`sGt?i(b;x7naJ12KRAIyqU4KL7$tS<|$lBckpp_ZjOU zC?=8Qr=Z%C_=BaLH&>zF{ay=0h`F>{Y}i5-WGM=6 zN*Db*FS_-g?=S`Q_0(WvUhVSU_k}h!U#1_4hee857`X#e6{~)2c&f&bax5{`0b2d z<#l?WYb1I3vqiUVbr;OGSgD7+m0%><=5o5c3z_hPI9T>fVzokn1EZ6x1RQqy#Ws@& zfV=+99s#2O%8sRZwb@;U<}@mtIh22p;t;NxI>^I-n1xW$igCH=+*(U zOjK^8UzG%Drev7r3F(ToUShn1f|p{KWyr71rop{a;4<-0EfXF(uMd$5}aILkb!DxmRjAzZh#6h}=Q z(ku!WEBSiH;hN$+o$rU;+IL7bwUARzqKRl~dn7zE=)@qiT10O;v-bY3Kosg8jcWw-yh2AV~Z^DBtmsS$4#Xsh}+aMB5?ObarKA^|6 zN43-epWM%d$W@HSXx}T3-;Fz;ObJ3+{y8zl0mDBzCp16N zR+eIFR1xgW8K52zM!$6VSZ_FCKVvQ3D)CuHo?n0c2G-7FujZy(+&z59521(03D&PW z;Wx(a)2l`5zBG?_$cRmFPsA7^tNu2Ah4RE!y9~`y0!-t~>Y0T50pbz8@QHR1Y{*B* zn2P=YBIj4*? zzVSpCh|L{zAcL1b=7un!3}tQRDDpj#-gC}$?x4oE1GL%CN43;=kcM7(w)X22i*7^d#vS;n-CR;Q*@9v#Ik>gu<5l#s;`D$8FcFPsfh(FQf$Vr?}FgH73 zE}2wi2`KOA95NK_#5RLlisOY`5Po^6Tc77vLEkGDBU4T*1g;3%YJq)bLt4w8>I`+x zmFQ~EnLr~kxl|k6H%%kTMUetU_7nu07>P(3ano_bm$$b|{{X&chk+gTDyvgY`*j3z z<=@@WdfO1l;>$F@9?e@}6C1$qaa>-O!vN9h!Jq*hZS=4XCKQ3v=<&-ZWTXrz~LijC$JdeN?Ef7aDh!a_H5-W)Tyci`1KPP4kcDWdRHld4eNIrU>EVi|J z1+c-SrVLV)X}X_tRW?r5UDu4O9`aK)M48$HmqErzn_k@Dm`O#`1#&Ml2hHmhAzU|l zs8jb*P11+Bcn`%hc3f;sxN$kR?NX>SK9V6TB=*iwOquu;15y@xfy7E$kXDBYnHU~C zlAC6ccpZ&Qp44_$#a*1=4ID>lTCRbc?^+g>COouH9YrPHZ&0HR`8|M1y`xO-uSTnYWNM?R;8fW z+*RJC+E5^*knsEYW@C+J)nU1XsM{j^bGoE)P(5hwZB)f<9C|vL)#7^g3ztrm&EF`g z@X|^kZVMMc_iSv)bYQi@V0x2bgaNxY{G$y5qVCt?)?b)!-l&oktk<&Pnj&V9O-1X| z*s8ugJ8@`(8i+mvi`PIYQNnF-;+h!(*+y`uK{M`Mf+{r%?Y1&yY|s@eTTb!3?NC9S zjj-Ak&JTfnJpc0VeI3bBXDbWJhqUW{|66SaBFdMa2I#~6ZU(EiTM=YP(R?;|Fcsw| znuuq=WdoscaM`~JDuHSPSwn1EQrONmA*HX}6xH#;q~1t0tqY5Uz{0Ez<#tEvV8d%8 zqQ=}GbO%Pmo8Z-$MZ>Vrmx}KaviRyW)M2H}CL>qxX*QS;qmt=j%;}wl+PVx2T0b3C z+D$A%qcK4su{)$Gs$|5@1~>|`jL;Y=T?UA&32QSkZMRy{)C-Q=o#k00s^oKRfn>T`k zCkybKe?!|T201~g*`m%{GDE}4702C6lxR0!--bQAsg{-NYhp{wnoQWJ!Ib|xA1SSg z%t?06JIsPfg_y%J?MEhnH60k|lwI7KhFF)mQD1icahQ+|6kLOkI1B&@nAm}T0xI}e zUR`HX`eMr%nyEY+l12_+?`Ge?@b!mz&Z0ch_93UEw|({U&H+V8DxpcEVJ%+!%vJWc zA>GGu}8llYeD=|tV++EO%Pp1VA9}IPwpBfFs`kJBaUmB|$E)AT2)8EUGWV zqQzs!yr1w&rj6w+uuSHWR&9z|?;#k#PKO`BaG5(OyVV;)N_3$R^?rC1!LzrsR@69& z)~VHNo3XX5+G@#CO*F7_H~nf<*+le7WVmPjt}he>OfCHn=nzB#Pyh?f9D^rIZr8uiAvuu813ut` z0y&re9KZ*BW)>1-XXOSJryw8*ck|zbBJ!OPeraRDzO7{GDIJ9A7y}QoM@PYaFE_9FYSCPX3X7rTmB81Nnc0l7ApVpv{=+ASBEE-yf+S_IYo zK}MYpmpo7qrSJ!^#zuTpEtrlmFCx~0h=lCJehPtlKci18OS8rdEqOUtu_Rc=#?`0B z(WkQdq1f?&?dV@L>nHj8n)S~);+tCDYuM_C(l<2$KgF--7EkAvI1g;Oui_0%ZKJF@_UO;mQVc4<|^*|MqL|So38NIk*Kzg@eku${lKPr+zzX%=xd;3P-^b*@WHH|-zk;xYm z*%1SM(RG&QM$gWvEP>ffgPOPx%WW;E2wt!e-LE{tFrv=ONS0k^F|J`o`eID!1JYa>QXG=^~SSoafrE!)O_672f z98vg$f6?&<#mWAnYpy=mbf?o!>sAoCOI`Y^1O2^uDV6UJK-Nci|2QY_-RckE8vBI0 zUqH1N69qtx4b~>DQ>Nvc?km3z<9>Tnb}|rbEs8X=kua7GAn8kj@Eu?Q<4ubb58BYO z$}6!{?UMUNG?XV-`ZJV)Oo&)A#_|YDWhcUG6#r*@S-T+RL&vue8$KEb1S6$>7>zOH z^+-NoD!^rlQSsbzDw=C|&}KbA`{a z!F=wJPH68^vbqTd3NvRbb(o#Aa7riBr*flwe3L%%yAYch7;0C8XTK@(YT*T11W|}i zyk|(wd4iAemUQV@yHNa^zaTOPb0bn3(qL*<;EA)(5pu76AmT)18E@>#txE1lRiuK2 zxJGi4q-L_XddWfOAreeK8on&K)vL>#?~}%AY{7(jmfJ6DX~yg7W~^nH-`il30_?(a46uP+RwVz<4Vs zcZw8kAoFIs9hN@JGZq>@CkvVf7e}`OEgv6=30r(NAAG$+@lf{URc|9V8@T|osHCH2 z6vP-Xw&5CZ&bgoTzaDU64$eK?NhzdyB+oYr4H+@GR$m>!C(QGTPLuRJuYOELdclap*r z8wiE%zQxZ2^`7jn^!iHYkjBx$BM}hjw;4;?{LS)nV0@^RowXYKXcp3MQjyP0P$EvS=9ORN;j< z6?Y%F|6JDy@aOf<*qOf`7&gdDpQG(!#GpXejFSgwq6)!U2F@PibEk^elR$f260c%y&O%ocJlLp7H^2mV0KQnGr#MQ#aP z2#Z`Kr4E*_Vx+F_!XQ8}ao$$?MIn-mASHLw$lAd`5*F70(UKu9p_--OjIlwcSmFS- zp>|HDQt9+P5SFSji9ou^lud4)(dlbA8HJ2WO&lxD3|9H;GadD52IAlmnJ9BGr;Akv zYfg?wT;eSIdeIRKY($HMEPSq?FKnE`eDuh$M5z~?p9#53w9dwO?PFAztT`T@9yN zbm5?TB&M>kRPecc@AUX1TdHmJvnF}KxfHcvigzk(Q?rsxQJRPmu{9XZ6*M?iv`n^Z zv;4m5tlh+q_K6h(*Y8SvP;Qt&jz@we%UmdkVhX4_XKLfNiC9T`YnlR5CXM%^tzG!I zTN6v?5vtw{5izDxLY~>AI^Ou3QO_hKU5B52f88TiMV1+1NMa8va{C5O4S^A_k1P4T)>@IYb;=5QN&S>>V=1`Z z%Y5#r#lq-CsGtT+*1<^ZH}a;?3yz zV5cpoV`9Go6NPqC@hGFfrrP#=*+s??JlwEtPCiZ9YfxpGFPWU4fmXuvuE5GeDk)8{d@=nwl4s~gW(Ecn49GumW6@;_#GjlmWew(k}Zw&o)bQIO5| zp?~t)%=ZH-f5PO73ih5swZhX#>qV1`9CG|hjh8>B?h0wp>5d4CVAQw0hiwF(BEgE~ zU*tMm#H}Bo>Tu~i1p`ER>*x$oW7zP*i5o2mKn4xzh)7hk(uB;9&M_rtF0DoeZxJD1 z>3<_A#_XK0oMXKQz2k@v3bm>?>&w!yNTC0rdgO#ejlNawU`+O1yD3QI9GQ06a}@EK zu0>-CPhw}C16Re`GbWO+-3jIAx^lA!iMlWtvLXt);%yeTO<1W4U7BrXCfhVomH@2z znoL2A&E-3558(^kE==mn?O7C}J_6hSnEFSCk8|?&>RObx28& zyg;_NJJE1T(-LrZTWp~E!m1H8bbBF#N1OC|eaM$vdOldNT}eoB+z<%&kWzL42zr~g z#$~Vy8ZH*f2uwlCi|D?Fauk!xM?x_#8SdE+yS(v>918Yh-;waKI|RgU(oQ33OjQbB zK}YNmk{=6`_kDl5s9I9T1ucf#L*pGR%+1y#8_Sx8v78iqCvc>IuP#G^Zm3YH|L*Q) zV?CiD-Ukg;ULT3~O=mb`2q`k9)V{n}Q9PctvMg3Z41@Go0)$vh)))YpXk^J9l^uq_ z4wl`bd^?UM-@NG?ij&S!TFow+6gVmmmqsqCyEa9!h#>~G_H&{ew<*Pv1y69Ot_m}3 zYY`Bhx#y;lcU)9cp}*Mi`LTdXYDl4(_1VzRCGqsG6vi<-T`o8l6G4v_ z7ZHP&0x*RO(TbyoQDV3`yd}%$0<&q4(GbS}JE4k2Nkf#I&!cX^)&J_(QFf3gAkJ1D zd~4F9w3~^H5^-=ROmbYaBAisX`vFNyYi$h+Go^EgmL=vTv+CGkGGzrGry6@~V;&g2 z&^Vq|8Y`6}BLp5oigS^j^p_$gy0Q4sF)ELwx1ty|>_cDc z@eQ$la1rMrLudi+NRAbp6LQt024do#XH6z4M@h>tVn5XIoT197ollM=%4vUj9E9t# zCm3Ca#Ci~7=H-YUgW3dGU&ZW)Y|oUU{mVm~miB$MWM9n@$kdBf=jI5&Xqf*s*Kzr4 z`^Xf8JqR;5dM-1EE*QU!mNCp0Hj~{hL9KRY>D#W~oMg+Ut7K6rG>01>QHpiUl`vvmcD@O%+HFv;Ka|__l@r`STAzulw`o^+!y?mfq(+ z@CrXO5&b;qvr3^4Tu*11sRt@FJt{k+E-0=m(QfJNL)b zXGZ|=RfpHd)Q>kNq&Fy{4$r@DdVY){usBU^5nTYQ$9PA^u7Drm`Is8JVtN?(Z14Ml z^?G#j#Ps?H0G^}1fg?(rX^&5qs^CSu#IgYzI9Wf*j_)A5x$dK3k+$A2QW|1?A9}>DpYcw4>Mx6%j5$h61i_*-T_N-~K6uJ-;Ra_OQ z$S(jm)^#2fMKQ_$US#Ja1>+!+rii5zhDHpJ9ZIEx$7+Y4=)iBUzKpZ@`rTuP?o$f- z48FvK94?lnZO=IaE0ZUL5nfL&-UhW?LE@Q^70y`ddhU56q zj(|sc{CBxw&yXmu7$(*uuh{C}bo~8u%)q=0Ggmt>ZRM4A45`rnn+|_?j)i}CqC;ov zSko&l-o!LZcgx?%GBamOiM6dg-^eR1-^et}z#RD3+%ijNtL6%lCoLX$8E<0iQh$9z zXzmpiZ{ih{Z*H3T4(xAQiM46Ejx|0h4P6hupF%iNy-@2t@C#s;LOcq&3AKeM)u049 z)5L)set1i?g?g5hfLL}Kv_O_uc7i(96a{`Ck^%!vH68`tL`CT*jB4MdG|qEcWOh)L z#Bf@c+W$Y0$VvRK!{h%EkjTmQKfD})zK){SZm!DaE@F=MPL2-d4sOKU#7tt2c8)G; zPR6F@OycGq)~4oCF2-K}doxEiHXio>8)lA!061tsF321Ra98f{9@<|A#{UgQxB-Cv zH$e}?1kr^MzynEzNySe1ubTmYOn8q%0aiR^n7~Xxtl;isUyL+(KTP15o%0*K#Wbi9 zC4i^tH8#BquMyM;fT8}bznTHuqJuv{8q;_(0>Fgi1YMiz|GYZ?+tS&kv(pyM`W_9u zU*mmgr&YX#kzx|%?9SFZT*>oWdVC~)MZsh{tAnq#C z#V}+4ipO$K{1F)I-}PH)>Gll(%JRBpa6r%iqC^NZBbje_1K{k&ocjxCLz=EGmJ|c9 z->T$KTAratPJ7C$YXLN8)ouXjlJbuBL=YSY0gM8$6S}GLE07Z<+v{5e^JSp6E_aCUVw!MPCF8N)ZuP^-7ojkpF9)4SX3cOwgeY-opU!Jj7 z%4q3{W&8Ba<2Bbe{8n?Ki`O{d$g)ZAG4y+81enuTH+APumygCi~ft492~`2+S$4od5weWNaa&*)c`lnp-?JbcY1hWhc-(-v&M z0Y+TL9bKInMk?#T-2=|bc9;nfEIwfAL^=~S5CA?v4qj*kphN>e?Y|-k(R@&C0kJwLrJD~upzcBL zL#XeWKp+6XW{AJT=kyoO`+ElgAk4tq49J8D1T_L-{#)h2@GqM8S5g`P1@d=y_CFqk z=oo+5JYh^?R1#7$au!zh|Ii-5J!1&aJKQtljLwV=te60ywhkNK>&ZF3xmFsBrp?!1 ziXM-0)f8Zy;B4s3+#?k#+J40&FN8L{@r5e0jw``K8jRVluPb+FOwIuhxfzU4D}9gJ zMALoPoKaFezy-(BkX1YVwO8h$nl8+Qhx5Tq!XF^X*kg+Oy70ZOd0X!_-TtsW%)gwB zdu?q$8V2L@dnW4bMX}y9E+-5CR$J!=(-2H#w$r4amD2qo{-@S#^~h}MQ9n7xooSTm z=6Co{MJNt40!Q7aS9l%jTK8d2w`n}kNUV%2GvU!!wFux38N?-qr{?Vgv==Z{VYI%G z*bX7ycHLv^y=_(0X9<=!Z90$*@gsV2R8EoISOD1${DgXhci8?ui( zI{`F^zFCD|CBE!Lk0m|lwA#8;N#5%f$zzEgb z>2}Y&l&h+=zP&?1INCe(!5+vqG(;7FedFYbyc1t0VqDv`)A4xPDGbt_K%^i6kix9U_S6UF?o-{c){ z&01obZmy@tBV7ANQgqR{OX@J6ewAV(Ot*}#NZB-UlKspgr4C@zHWGmtOAe1BiYzz6 z#$*1N)CLbY(FWpzV3LE_co?@E_vD7DFgM8*zfzyC%>@+JD+JS7#p#&Bd`zt9oL<~RJ2M`7ycG=i(q;&s-R5~-Abi(Uy`7G zMK@Vsn`W znyvxw2oFNi1#2ZxNH}bC-tz^f;E0^}*roGaGi<`P)rCnx>GtWN&yQlnEeC=gltUKfl${gk6h+e&!H_SVQx3Y0kBBaDFZ<^}UAuz=qvFfWOPH?EeDSAYj44!T+Yr z{=eYbKipc75Wrt{Ee;j4 zJj-KDF>L%->+HMXv%Ps=)8{3vLVnVwvQ8?E|4{u0bFv*IVu*~E{rznQQH%wTn?@wh zJ=c3(FmaZC#*RX4Pm$HDcq;TS40-@=x|oHFha}=JojI$)5qMj4+XiH9cque)R2ko@ zIs102LkTx~32i-m5v9yFsO8)wNUr&wx{RwtB+JDQ*0MBFrJ1vY&Y{xxr!6kTZf(1v z!p^3$?t%+!TnSQ*CrU9(#i6Lv^GFW$)vogTB&5#A+iR%PcM2uSB2~>&vPB$Gt{_8} z5e=s0;wU4-?yb_hiIIU+>skfwihwY*0I&L2^`xEk)S6ovg2o9@XmZ7v+CuK)8o>v< z8o}Q9VW5wc0quF{r#cG-r^D9{(>>>VcT@{4v1}gY_4(f+3Ax1@&VH5Laa}7dp7?xa zkgEkA)6+B$XmbHSh&aM|J?9=uolb7*uA}hSfTY9S92HQx_d4gyqBdSdNnPR_bEn)) zrhk{y!c7=jWgB^>wlvL0+65udct65-6$NoX)Q%5V0=g>_;{QO+~gyJNVhi2FlQ zz>h!aU1rLV!C$*umHwOC2hplD`j!4k7h!2u&0Kj*;@^&B^29H{s$1Ma~#Ij`#h zE#;|c=W~Ly*Tg$t#A;jZbFIBYu3s^7*?AqMIKGd5P(L)ph<2P4a+aFnb92K!-Wx6| zSrKDFcYFfqEu=^NvsQNmhuB8p?jO101r%h+inwP^+6a5I0?&qB6Ltw}Yq7SCiQ8Wh zHPc-4B0JZf;Jvebi%NK=j)09yHuqu@g#!4!+gErlIp4d06iN&S&mREvny209+PPL; z;%=*;Q=Qxo>cdZl%ue3EZLUY>rKPdbn(Phu2<2;D;zs7Le2II;L5F9+N6J!_CTEMEHc2f>bn-^~l zD&{NwkReR=`pq0kW}Vm;@a`KMgNHSzdyVJ{&6r&DCkn;n&!Vp_$;lzKr!5NV`+G}iB^2NnV-ZE#1)dYb#1uLc@i4k zivpyIB*#}YyQC%Ob82o)?!?ZRdd?LSU-oxG6a_DhfMDGWX~L^c#B|Ntn9etpAoj1g zla1U>WC)es9|^EnPs7TgePU^!RksvY70m$K2>tk$i}TB64rkS*_q{KWF>Ty^FRng} z*i7%&@;qIvwTATgg(prUsx9!sRwUE;SxzBr7x>?v92g-c-hc5WTrRXa-oNzDA@tGF~xatAFZ$H+{NvJVaX?(UP7_O9Cwt z>LR_C{CF~w(nJ8?hK&<`G5Cm5VcN!=bs>=UQKK=~f)r4X>>x zUSU0yUfK@hiQqXAT>WBwU=vM~!=Fgihj(p$0_Ax#@;wiyt#p*2$ZBNvdk6tB#{&U0 zN6=G_$^I9hBgz+n*x24vFq1mvkB_7{6YqHVo+U}f`wz|6sr72pWpybk)z*gX82ChS z82+Iz9Rmp=YD*OB#h=k0t)BzICDTjNqcZ09wI>0MHlE5#RI5;1hCOdaO#^7^_KT6J zy7hLg;B1nKU{@2^ja-+0MQTI1vzvHA?RkBz?7`SQbibPA_UzLK2iR@FF7F4zyfYtBIe(7aWgg|HXB(d)sh#VFb zWyhPOe*oJrk3aeC2o!HGuTC5afUbEfG0S%*+loRfbL&lQu@>#-Px|hxkERS-9i7fi zZykM1CT#Y+XGky^1+M2 z;2(D2S0axm1A5wJu7SiZCou@{taC_nIn;ma>0&8$K+RRC&rIfkYD)<=sg_L$F69fz z3b6BLzs=UEX9HR)GoPq+`-ZCGekoqTXNdu7c=h^ac34qs6=KQm@P=cG4KiN#o_Z>m zU$ipu!+k+~Dgo#I9BONSGNud~P7?8KNgg!>PJh{+et2%1XvrFQCEc zm6#aLHt}L#QvL6dqCG0O4tAPU50h(rjoa(_*A9M|hFk2#!S%4aM2YBp6E31e>xx2~ z&hOWxHZV^)Ur$!zH6#RthVUicCy3HaN3Wx z#mR@JyQYzec(_hOLbEI_4DV{Hlseqd3-N#Pls$0r1OcnEzx6s>t!22D^F4S&I(14B zAx`F88;bAkRdBJ+&lU1MbROQxm6Vb#J~ep_H5H9(%`u>WReW^DW6Knl;MZPUTvT*l8m3Wd zkxHz$2{_?x?~5$0j3&}6%kyu1M0xeC?5wh29-f8b0fWQgIp*&u<}-6`-j}(v9B0a4 zHe{zj@7cf@zxnRG(rnQ z=A4$+iV~eIgFn9PiY?ZCu_ zQ)PbbKrQZFSf@1`Vv!{A`)kZ@z4Khj%D{tC37SK=STh$hpW~cAE$99E4lb8vFev6! zCdy2m1I~6Z=>`30zcJliT2YYf(lI70TFVSmK9-W8 z-?c-tWtnkfXc`iR0%S9={rk+F%l{8+=Nui$x4!$1GqG*kwr$(V#F|TD)Q8xR^6p^_NIJ8&n^5nr(PD|CZURYi;gqHg#mKL zcIC^IzLjhV?ZY_d7N$l_?$XH#*`%|ow2>I#n>p(>#`aU)RPG8`YkFZOIb@io1nV)i zZZ27LGg9>f>(~l7)fx3V++^z7A~dx>IP7p@x*2yHKU!H4Wz)RMAv<&3UlEhp*>cB| zVK|L@^DDXCMTkwms7`CRK5C8TEMr{abs3CZI5BaDDmCQE6^mrm#wJHbAX3(Tu{E&& z>V<4Joq)WLh$v4URn>TtP;9`culaG`gLWrd5p=d8km}5`Hq5D9yF9%<2qSGUH#?}Z zD1wiL*EtwUn}!+)B7BZyzSM$AP?*`D#3y4**~ zoqN(WbTs8=tYdi_)PkC=0N&Q$CAo>xs?;gp6x*?z8oy^6)J^-+qq(G)qSZ;^FsN+1 z+8eJ1PKcB)NpFVKfG#+nj4CKT!g@`wmiPBW0a2$H-g8!^p&}RuzNkNV>;3}5yV~<* zclc$cb#^v9MfDIbR}b&lmMqITtnzJR_c)&S6Z@QW_oER{W3!gj78pgD#DP&hmR5eW zNwg~sEXW-WH?o-o&~M<+VCmU$v0+22GybHPo2lV9-K+VkoB9R552*o8!pY3=KW1@?N^CJvDSHk`_i zp`tglWdde9c>-0BP2Ul!xP6DVa}wSihcIL zCLdz1Z(KdckxTOQZhx2$e36a!BfUddO6d7V(GFcMNC_%}Wf{Nrkd6m*@v4#32zTcF zy+?;Kli9_qO41ty{{pf%?C`?KBrt%Oz`X^RL{-MsT&gLV{uiRkkTVPc%9yuDiOE@2s*h1sO%qjZD(Q_MRngiCa1j`+xyRdJ+BurxMKC(J| z=@hl;$sFe^FXi!%madCNYcz`chSBL%7jTk-7Ui5JSsDyE3`4b=NoNMp&>e3gROE`U zLbX=xYB%irPC>)z$6)LkAIdYR&JGGniX%8oq4n-qw>_Yg#v?}NzsMRNq*<|ZB_E59 z2yVf~(N$FW>b3);jJZz=x?&(Z4+J<$n!=6-ingO`_MR@a(DlLKwTMVQLp{R`;*$8P4|ygZ=q7}!5^ z=l{%Z0w>e|1*HeN%*5vtF$vY({Mo&o{Xckl?{tSln6~(RA&=58-8qSxBC8C})_!!E zpz202ag4L4v+qka_Y>@AEse;F%o~DGhMD3B0|${&fj8i?LNIwTy=5wn>w`?E`nUIXEU9# zO=t4a;ZT5DfzIA8pD!O_4*gCKWl?0nsCTvAuIhu?4c=y1Q{B?fV18v#`^YDgry{>h zh`FUCbIC)gb&%o*JIn0tO;L?P?h0L$7vTBy`~WI9H0#&R>dDaqR-Deh{RIpZrM%$u z=@p7nHCg5oSI5LUN%#*zM9FEvgF}YyyY8?1BT^Y3lRJR~M5YvohOtN);c%g=boyh} zO@&J}QhUVmbrrJdiSQj}m2c`++%CsD6dJ~?g>Y+RxOOe`C;Luacg(2SUMbdE(}?h{ zpW%E)=W5nfk=gl4GAqqt2gG#v@)$jn^3!EJ?f(UkE>zC_1u*4;7cETmd5&H3!zadH zYFGRPux)`DND<~I9~8hvM>Z==f*{BDIWAvhAUI>O@`@e#Z?^hvy1+fZv@+Z9(EfatP1=m-KiQglb zr=z0F94`7+CH~{i#ZU8RO+N9a_<3A!I{7RCenrc|%UHX6j*9pOg|2G8gY@NFU*!RZ zT4(U`sRGKD=h%ArGnYp+GfyC~nN7=_Ob4LAzZp^-egNJoY(j+o`s{aAVB0JR72c&D ze2Gge(IkFbFDPuD-B(4+>=!$_#+U668#}!z#P122~v&1S*9@^W5e2 zt2Ch@3G#DQH@af-rK(F?ho*lVU8Ypre17F+4^~zx=AIRi(!iF~XRa4D-e1J7@X?Wk z_YT$xAQrpfj7NuhhDIi;{aCEPr;XOG_s0RU7QcaU@Nkg?#J|D4_o$xssQ=-(VMO_s z&^3z3#~{7;#yV0hYgtSJ88>+lQ;DWj`7N86JV^>7a8vuOS}0^wVaJ&vIv?S@_hor3 z!QYV%kcJ=Jt%K`B{r%&P#!Km2I;}O)Y8n9SQu1Pg&Y*#AoH{}SZ0y7;8^bkU^M9;w26RS$H~&U9JhK4xP9E;d&97kNGU z&3W}z)F;ocu=!#X3DV!8YQ%yJQ6DRsv>j)3&KH3oejWr60k>T+qEUi)t8cA#spR(*An zaq1R-7V~5|Vsu_mt=dpRoj!FxBb$ z3JWX%!*1Z(A;Z#t<`<^PX+_=wb@DQ4w_-FrRwU{tm0JdxcY^5#zJ?{r-Z7+{z9|>` zD+G$_p2}J!`UKX*G=fA~#mfv=ZG=Z2uR_S@lGeL|(Ytlt z2j^(6A-O-J^!f5{2w-PIyHtQqofhJV@Je2}etaB5<&__>!8JtmeZ!swX*wqQYAGUc z_SBrjVst_CsvU0PP{y>5YSxrGLVnW(BE;bOk+~c>)ZF#()=evE;2n7)(x=M84m!KS zxZm#?q2VF7(A<9dsmzpCX~#?I!3Uq1JnzzRA#O5kDRW6YV;)p~+pUJ}V)B0(!^hu~tJ!L;()Z0pC<~2A>oOQ6jaD9{Rn$P24@uV(JAKxDT z0(OS6-X8Y}5&xrI0)pazdMRQUJb=LawgWIRuISh4wtnryy1hO5D5yim`_8-B{gm9b zUDAIg80lqs7hvWb4shsg8Wp@+91kjmlaxUk`_NUGzoS=ctqhfOVFhiVE^*-h4{BE1h6m#`Jb2?7*g*d#plo7{9g(zY!4{&!Br1N@_WX# zHmGnHjEysXjpR>Zu@+j%XTL)#7NsmBHv%X_q-B=F3v4e)g!;qrQP1%`hC1g|20d)= z@i{&Gp!&mmO!5PFyc)>zPN=la^1;|WaH>m*@GB-+iNyt=fs9aaH^~M0_zKJ6c%MB^*Gnp*0ZbNPW>!(FhM` z>5f>WB?F@6gHti2|UP2U(|LX6r@V8(znVF(2Vi(Vfo>jnO77eh+2& zO!x@nv%=iyG3#->Hh(9+<=Jx^5TNYibL81`8CIQAXwAk(w>6#+msltjhXJ><7RlBR zIPiZQq@qrNhVTin2k{`FUSfNy7w9n^0K9!OYXvKHtb(aoxDNAHcnKZg{^_I0{m(IP z;}1vf%-(WUtBIEsxp`Rxk&eSRfZq|2R+GYF1fIZ@&qC0I%X%dir>zuYY=raS%-~V` zSD_d6P=G*SfEtaF?DJiL|=did9P%gZPR>lsWyyg7#5qcV%($*aZTc;fj z&#JFo()c-8u|oZt53$o?C_Y6CQ&T&ySuc~)YYR2V_EC)p{k0ynBchq}@r==E7k?Li zQ^xaAPJ0VaNSh&y>1Wd*xhwkJ4dN#>h$e3Q{4@OKV`h$>aRHZcx<6pe=5^I)96&qk z$E`J3Ra9KF3bpdg3`x~yI2Bv7peZkceADv8WD_xK;^`G!V_QQ3g){I>yH2~IVD4o! zKI#SKTYRA~{D2X@30mI{xsBlym${%!{7 zW()5jOpVn4+VTi`s1EXgnhSowPbMTU8L*?G{hk{M^j4waFK;aAh!^%2?kv>Bx0azbKFgZS~w5m9e4|D zQ95nfThc*xDa!YRh8=R8zi!R#w^s?_amHN5mH!?7-GcH2iPC!3M%dk`Ij3-o8=;;M zzkkn1tuu0qa-l~#(vq$C&yPen2$g8))GW~lgXQ$~GngD&b}R*>MeWkgRqvm|U1#PH zVrwM&Aj1otkt^LSd~KL=sb@Y4twCoVBTY>-VUM8@aU0Oo*77Fm3ck5vaX*klzNr1E zR56 zq-#@U2Eq?PT*N5NsY|56oy8%aBDPfh;T2~22A(2In{GZ%y6B_~Y8At(IdyTiZMi9v zzZfJ@HU2w4G!Wds91EU)tRChbg5NrnL-!-Lze$*OqrNT0kYyr57p-2KE=3KMJQL$P zCm4#M>-IvBw`r-+YLJWEg@8QIFXEz;bn(dTpx+C1N0{s3Z12Wm-iYDmPIP4!<3ve+ zSRZatexR2RkBa0&Xzggf)7igwWPLe-c{mYpd-~(fMNDH@^TV4+Bu=O!5oYEl=C=Ht zW*G%GB`8K;0DVgmoy-^61A&GX0ih69R1cr}YPhBlf(wbF99bx*vnO!rILR(LWI4k1 zwoY0pEok>Q1AFzC;g_K;6Mv*izQUNT1%W|i7Kd2Fap#j|C~Nd`OG9$&E7r5-qR0B# zk5NnUV-#w&+dZ1V!2te`rT8!Sg@X1ZLzSpKiaJ=XB+n$z;I}Xx5)Q&b8vJFErbja$rm$Uam5mq=8u{*hV7uoPmUlAb zPE?PunX2}->Xo{@2@zT|mzGd;GH_s9pu`qzG;<3eu$uP0lAPI?@%}HFa*V`3+8V6w zCNnYGBG{Uo`rdtHF<@GfA$<)S|8R4pRJO8p)9@ujSr@_IHvFqw>M(Vc&*aGW;Ivr9 zuLND(iScVPiCZIPeoip-X!7NosfgqyNjT)HgH0az6aBR<1b+u(kGw{tJb%SI| zq5@0y44!po;`#Q0sF3M(?`KgwMzdvu*=!-(u=FF%T0WJ-b~6*?p1Rs%oB3&gdZWDe zX&hv75^+QKrDmRP(nciG#bD7zSG`GFULu|4+5`&uW*BwS;Q2R!_bI3q^h$vsBghk| zdkzQK5!jLHk*eO9LwbD^iseTIot47}ZX*!TGY*mfI7YOuv4ss5p(1(`c%Em(=3m~# zCq(f4f!WS)G8BIyiCiQjocT|CU`ZvZ#h5qnZ4Gw(06}{uD)LFxw-oT5`v$FxD|O+r z51NSz)IX)$6rf+5O1$@u3->Kv+}h>|%KVAHF`Bq;PgNy*RWS|TiFz`CEA{)nRcm{P zC%h5{j!=?sqbxr@Umr{aXs4{61d|l}W~HPDx|0Sp&b23R9gTyOQv7&GW#wHvY8K*}!pgE@6?pak-T3vGns`+9|Q@Bn@ed^(=fGBPfL)!I9rZXTG!I> z((eixtYs3rx9d=00uUY%)5%t7zRWb8Vxk48A9;j9mQYmgRErdVuu!MCAj>y&lqQh8 zf^s%1!h($^kspDY$xRw<{&-&v`X_i!wJBU#Ih)W+_M<}9I{{`aXw=#m*#WJp@r8LA zJOTwas0!rXGA}75eisn>M1-=~V;%(|pVeRiYT(`!n@F{44;=pahxu$KM9C?-rX~O~ zO-Z;qDX#Fadwik6c#d@?TP}nGWoL^i_eJCQohwlnQ7e_cB}zOlT#A9Qt6=sOW4G8bzaskUc(7V=>DpIZXZ#o@1c4%uB{2CeHLfBe& zXq555y2)oEHZ6AYO34K>F?krsJ0Xrgy(okRd7bG((|??ab)n;H875G&FqAdi#6`%% z0X`XY)Qmzt;5ZUY01is&g8=p0Spi2UC0ccLzlLLaA&^58Q*V-SPf6n7>nl z)blt=WLo1`_d;DX1Uup*BT1e2Zk3fu+6zSohB}gbTbGE9f_3F71W~U$jHMVpV$#QM z?^l%9@?OA(z1mU)M_D3OHk*>RX*84sf96z@}^D zuZ)0|vMfPHysmo1FDoC~LM0lu7KTwo(?jlv@zcKnZfx^ylE?eODQjy>>xuY3P7)w1fye}lEI2+ zumKKA4~|0|7DM8KMNiMB-%pUQ1@9}VnAq|nifc@9Y#Vc~gex)aJVosSOwUdA#5Q_(rvVjvAsEioC zaJWZ^x=X;7L#gM&H`N*np7$Ok*yfA!IW#gpBljEbf6U=c*l7Of2B zQ<#Vy;7;unZ968tMc@kK&Pdg~Wr&?0cmocqWQRmcKNQOz2?%HSf#_x6ef1=^C9OS5 z%S~=tf;u%eB|TgFv;bJ5NgV|bE=GO8eVX$}DnC^4UsxA2wbT7kS(9OmiQzpPI0?RY z98q5y|ODT zPjL9=7KGdwYnd`k-SC^%N-#fGz{I5#G#M~A-2Zqv!Xf( zpj3#hw^*-Yuy$|O5r3(Z)PHr4q0jK`@cIZ5<*?^SuiLyAs3bVQr}bm{3$XnQ;GppR zF8NF=&^gW0a1REJ3#wN6F}AAGa{q0Ec>0KS0=Tw4Q7zbdH!%Mm{?+;y(Ch*hdxct0 z`L;Vz_0i|?wdYsuLYsS~S*F#y|8V<;HwHX>&26aRhPhwOgIDgAk<6$rs2YV#pN5aj zk%rJ7WN$Jpxow#)s77x<9k~;5xthcVRVtp`41q{yjto94Pv(eOn>JmEIbfhnPbQS5 zSjZ9eK~2G2@&BoLVq^NR=1I=n{=2g!5gRjblgj_7lq778oz2C}O&!e4|0_*$&uY?< zjwEYA>3*&mX~-W_ks5=D2wuavSQiRH9HL~rK6tKWyuRiYK~4~nF<+WU%ReoUDI-UF z+lv&pnsR;lyKWeSJ>?YfQ?|6`OE+0*nhJ-C^am38Py1Upic|8&ZbfFOKSrbF`VR zrOqA(4xVzmalayUi@5RZ(FonW3?Oq}mj$=G|L#tExPLgjJUm&w&~oT%$MH;A!+3HG z{q6aC@A~dum@_ZcBj}6U?dMjSxVs;l%Q(d0SDSM&*!p)&xUAa6r%_v~oiQx@%UMIIXBVEkyf}B~+C5NQcZjjvGruhP;b|xKM-YS5J;_uL zkA`6^fYM=#SjGf%EBm%JCN>g64~p)ybuN@Q#|7t>bqdB@;|E7&3731@N_h90BRuB$ zzNRmR(oY*l-4)`QdoF;c1V~QZHtQK)Er@PefaiYeyn9{k)I*rg^@0r0a^=DEIQ*6~ z)&)@ot;%Z1(_@1VK4sMZolhIb{-Apu{nW-_P70RJBg~c*0dCkD4}zqdDxTpjWaH-?Vb&ne*Y9ERw z6yw0$x+#qL7#FCY@CHo0;C6!w{SUCJYf_QSwarr8GV` z4R&d03BE0hIK2X-Y2h{HIWA%h@{UPlrCPX{{+4!|A&7P^9XJJ>cR(oWNU6&nj2li) z9l^w)u1SK4Mb*zFXCTl_{N2aW(>Y;=rPFJw+R_Gk7y3sd4WKmV$rmj27B9+ z`+@4-V!7X041%66BwlQ4^64(q7t%yTeJWVy>2Q*tf2v>w6=pN#@qXd;vcmN1I8>ZX&EY-QnB<3OwtN^TmF%*3U zYqO6=N8HeU(w_4Cx8Ez0!QR!T^+#U)SHnlROcK}bEK02P{Ae1ZXadY54U=X(b;um~ z%(UiF(`$i6xvp9HEopN)l2*$Xn!4kpC)9H>p7BOxs@X`wY#Z-&W4|GsLgmA(VI`Am zS;ltdo+?+dH7(j2@_&N!fq}(CpxwX(39EbpeNDrF7ur?Zbon@ zezJtF;d=RxgLJz>+aZ;)g#kjMZH&w}BFgW+6u6NzTZ2UeA~p#5YYNp;!=%U66^uDS zc7%i-R6z4Y^fy^af=DmePHnZhh5h76qH}GKE~B6)_lMsEUkiy*$&8 zNcIV=$K}(CZAH-djbu+>RZ`8G9euGySS3We91v!Yuq#>1C1g~-1f z4_A-NXa_xIZUle0mGVJncY4Xnp>O3m-X&-Wg*X|4evaXbwYy%3*@FV!I+OFC)d!cr zSM`f~8dj||qq83R|;d=5uuB@r-FY)IVGl3h+?o+ebX7C!RD|&4lMr+F1RZf zkpnVTpBv7x#m|2(B!SjonOk&Pw0A_fA;@5^Mb}yn_5gKsV6&x8Bm^v82;Pmk4(WU_qkuZU_zuc>7Glh@ItIA1bW)+_ z>Bi9dc^+b8?0j{5=DMT35&(5SKu_D85bRxB86PGp^qayyen1HZEvTxVl?i*YHMHoo z{DE3$E4X!jvtV^GAG=ky41M#O^@y)&;Y2yhT|w4}P^LVkL1J=#TsGsaBb zPXBI%<~cNZSBp^>mPN+EDuM|`B3$rx57T2&W{8=xk5}rO*+lf+ix9|3?5M_w_=Mv4 zi_G9fUNmMmPpyDkNYy-T-}*q?-3o&*8A2f+)_!K-c=fxz!sgfJ#4O`i^IEwA9E8Ky z?2f}x_qVy6=EhTSqI_dLW%M_!Ns8R0p5LLNSTJ2)%}L!dJ2_E`%N!hDZtI)pq99#R z;zQyST_)swNrnpwyJg`!KN9V)ZtC(>b#=#Zx_h5xzY6xQnuE8>j@%0T6Xj=s@%4qr zFSQfe7&U77KFOm%H6C|lIJL(%e0Wl%_>iQC$IYx@Bnu7lt}c(PP5yFvX}2t0hLC7# zkIK6VJ+7i?jPGeEBH1qGnTATGQmkd3aRaE{kY`VF`cG7~9LVFuX2uuj%mSRjC#r!~ z3=I|FWqHchYB1;39?fm*YM3(f*7{DP&tvGBdy%wvsGF&tvh8;Yd{yJxx+zQHsnxiw zH0Zx&kSl1;FVu3)K)P)!_uyQZ@aZMDwfK_urrrX%)GDaS+{(GD(tlo*qa|Hi%{k%) zPQAsjmR2*W$6+{A>nGo?MP7A}+ApL~vwdfB!D@1Y7lcewmF_OirDY!Q`l7+{-tJi` z;f!&0M&@#PTu-!>R~TH&%wrW6f!dq zdlDzip$nfiej)okYS@w-DTYVQw5Ug2>^56b3#@SgC&=q(9~(NyE7u|@SH>H|0w#G} zdR7K?x9bQaPM=tZr2%`91O^=8jZK8=MegC9RkI&pH*ZT5#@yb_$@!V4$G?eE#u+2Yw)+ zAt1oPAz+}OAfe%4;NW0kU}51AP>|pekP%>EkuZSDVKks&C>$at76uv?3K}}v-+#&3 zD?!=*D`)?gnEgK~#DA6MK|+9oL4iX5?+hpiP~@xmaH?!El@! z^N9=FP6q~G{W1Rfc;VN*QtHQ5)y-=9Y3wFci(&HEjX2!n_Hy7F_$TiA#eCJ|QPKHhkyt4Z@ zISt}5dCk6`k6C>sNaFb;tEU2CzZ4xns}>}6p;rwX|NFzJ^(ck)h+NeqhJE z89#n^z@ER5xo_dA%3rJYTjb;C$E1;V_N|p)*0N^X-nb=CdJjW)<^Ij1pZD~A`PYxl zt7F*6me!bUr$5QdZ@@Ni3d5(b!>8Ci4tm7awYuC^Eiher$9?00 z+aIR~1s(5>ybSOuk9+dv1P&k~0pkx{e(An-F>~(_Y4l5m^Xo%bP6XSzy!!szi|Gj0 zxtZmE99}*)1&{s$iVt|ZKPaAwYp4DKbU>9&dMO+ZA6_0hRFXdqzH0V0et7$BkBgpF zU~luko&l+Kl!=e8t~{|6UT@AF01P?+Kn=tQ1GE>!2z1aN!oL)>mkz=ov=?Yg{O=dp z&U3Y(i5ArG>#;}2s*e%K;f=>Tfq{Jz0Q%w<|FobuUC){2>1Q4 z-yVLGEcbu)%jC(JVm#AUoI6Yc^!rM-?w&e-Y`#Fno_~CQ6mU=i`KV#NKKm*Kd*$Lk z{qzU9yZ?OMo^DwdLh%QoA_t%(i~%nK#H1Ir_dgeD49u$2{%=I?Ke&Z|t`ZyqShWfQ ziOhrqyqAE8Ty_jHQt}_ntp8(f3ITdcG&?ZDV`$dY-E{|#$8Qr?v31tovAfy)He9Wj ztmaDlBRX}SKF$C8ol6=iGvXDF9c@UdQ`XK&FD4zp##De`UaPCByQalFz8r1EkYr}0 z7tyPnCHljemRuE7J$0Qq9s*yI00niy1s|hP_0jSd`3%L}fMUKf_)qy?dF-ogHahG= zwk+qP`yN$~mz>Mx2Urt5B2c&oceeIUgg0fEchh$fVjuA-caZhJzhs7m%U74~mh*cb zPR7$uJ6N`*ZdM-mTZa>8+HwO0&)cu>am_XHewQk%YWu>{qAX3`trfa>^Zd-kzvw}^ z$|Dpd&Y_tv9-l?wjr#t*2Y=nOSst^-6iP%gW*Lcb_omxmoF=QALDJ}<*P2(B?u$nQ zefSSsw$1PK#$v4#p;jHQ3;(LTZyDMPbq`wkdH!bmDTy&lAUd_YVnx9t3meKgRh11k z3WDG$ah6wj1wj{!@=Mf8 zhQiiXv6ME)mZ+06w4u71Te|Nt_oNS<>J?o~{HLXHgWI+9c?RF+=n`vGQ2|DK7&V5&$T6JEa}xZ> zHqhMzMe4lqB^avyk8fN*8aat{F-38O<6pS_1;hB7qvbS>a0RO{$a!;GSDYqq2X&WT zJ|zF(>MG}QO!^?4i=Nd7l;e;=2|L!2`|tg(GdI98CxTZR;+u&CGpssSS^RM4rJzLt z<=mUiwhpP{uLSOn(RE&3v%ha|lfHR&Un5tU;6VT#htv{63f?AF@BW#Cfg_vHFN4L> z*NgXJz%4~Wt&Sr&f9RAHP~JKZv|GJFFf73RP7Ec7M#TwK#U!3DbWe$G4QB4!b6gr= zej4b<{sq*|b8kHpP_RmXaZec=9u8CIrfc^71zb4Mxx2Mg?JJDa{{ng|sUI_C6$F;= z%e(pA?b~Tp?yo34rU)XD^ttbwP>^(U@Iicvo&+lk=Tik@Y(V2tZ%9U%i0{P)C#yr%euUAFaoD@fUk8IT!4*E_ju6RwH=tl=f zn|~0hTLu;ua2*nMyfhin4>iM~8jX}$DWOu`GD z^1~{VHYELXXeTEFm>J!Lw}Km40a{V zPUBXFpHsKq4j#HhLlq76W4wsuwhK9?z_e00sFQ(z%s*$O<$ak3#6A_bD5yHv)x9^# zsXj{Vyo}P&5Ng7iT&yfD@?{7ly|UHeN=Yu;<40Z&kIsqUE>XMkAKTMC+;W|mK|z#~ z`QS6&cn7Uz)>_)k8do(tQy(1}B!3JeVohD3qv_RcFjvJ$=FNtVP}f@xS3P2GuSU(z z4dSvWn%Y-p8|=0(|%#{QvvvsSHeaQ*ramo3tg#T%wWk6<}+P#%Un-|*}-ow2+q z5W9b5V5r^x(SmXIw6D#Qu@?Kg{J6ypWHS;zr~;$3B*LNDe_vN*PD7P3S)A6w#t%N0 zpzvzIg-O7@2vhYQW#O)gBC;!Z_H`_#Ng(3!nqR9E?Ie0g{=!S^a`5_k_!{k$^oN&r zsHp=MB43qe!L>z-eEs}m;whuS?eg9OKj~|HWjXCRixy*7&E_cEZoXWk_ab6El-0n) z&octCD4BXyi!t%bQ}~a-CRasq8b$2)CDKk5K68BHdvzDbenuS!(jNMbThi)B6$v(S zeUrHtj(A#vYI55X84Sqhv(1Q2S~Tas0LZzq6JsNndK&ih27~^XaZ@>+YC#Bn>BUB| z3mP}4W-n%KunTzXW6u(I{$YD68ngREp#)AVLo|gCl_}S86?n0#xhs3WWlb`+pOO^K zx`)`V-Q)M39?qLI9?8j+$}{>NTerS{0cjd$wjq6kX+PlpD7NmBMvDOHVx>FG8mppf znB2OKtFfz#4iGnnK`!SCH<)VoZY{jNo1vkk5@*<0=H`47)S?_d2JWH+#CoOAi0HD0 zG8tM8bL34%g@FQrMFyTrjBnj7_h$1g-IDnIX}u?SL5 zHW?|*_Q~`>mFS=P{YyNdUIB035z~sJN9gi48c&Y2R6^U>>15>hdAO;O)tQ?0aft&B z#b1DKES_bAos+I44@;(phg$WvJ!NG7cX@nehIVV>R9f7P%PkPzA%bq0mS8zFMMxp_ zyQ_07J46Wwb)LiY;TQL*Cw|urW<2Gnx`Ghp8K_7e7GHC^1dPJ8S6=x?$x8f9(uPDs zI+*De_Tl9Ebq^pqQTk{Y#m)nFQF&m`>a1$F>8DLGY$GEeyBFmC+bPAp6S1f*JfXo) zE2>{x;mfC(_jt@~WQQokvN3fL--0WL5)%IaNXPItdmirGAs}+4WjLHg1mfR%@Pwr? zGebaOularH%dN~kaem(wg*tr}^CIrYIIAU_E@@iE)=$3dTf_$NY*jqy=`^>fV`5nb z$Ue2LUo>N2k!ls_j|KJ*RhF=+Q`gZDbL)H7%r3Z^jPtVthX~km@|U`?t~5kCFy`)3 za6_f*mOW*WYRmL&-YU^_+e_PVSc~&Rq`Dgqb*Gf!x3O@ym30C`l9*70t;_X;eK5sK zr56I4J)qRoWfry5bn#=oA}zHRz<|60PrIDj3iCG^3ukx#W{{HX!XmP%GWW#O2|ie< z_lTr2QXH7$TuBiDmWQTHO;FyZL3-75NNn>B+s`{?Y>1TNbM3;_kBZ7#P8B?!<*5h zAEkahIFop+f4WM;f$oUs0S+rj7J#fQYD2^ z*&jR|9^BCtrBTPf6xDkapi1|-_4Ues%3?p@IS?{iI@_xhnl3T5Q>p+@@nT%Bf8bLu zPu$UV&X*zjs`MA&N0dX!wrEY)P$DUcDCJ^oWfP~mNJtdR$+#+*0(1kg`uA`2#tA(T zg4gI@+$G%l;B_>v{rN$XW9Hu^!*77%v)$i-i7OeyGEEf2Jh1mjd`ji_^4ys4*&Xoc z(}krb4jn;z-{UdP>}SOK#ANw?B*Mbb)o_Y28?;s8H>g+6Lyp z@73Y>UWQQZ#Mah;jVNs|i1COz4EU!nbpF*2f-8xHm}}hZ%QXo;JH=yaw2e+)R;ELp zIH~p>di?Fls9&AJLVuA-Vu%~6A;YsS0jAX~aRG7a$$R4iPXmUyp1^R^oKM?g>AeEYru`NwA5;a6&F8{qZZ>vHPj+2 zUD zt17eL$?}9+l9hY$Ri67ysmF`#lE9VxKMR6>*E#gGEgk?|hbI8|O@v+#KcA z+1`mKCJi{~Z}+OhyWvWp#$;*T6R?87sZ)e6m9a42Lc4VMLD~ZomX9o+EV08)oR>r6 zevru|FK#j+3gX3t+eSm$t*!17FFi=6U%s`W417xQQIoebFy1~a%3iu3$f)%c1b}&s z=g2t!D#*bm>*3HcOV8MZ$^6lTkkJO#Xb*AeV&k}ec`$pG$;a@`B+2=pf%>ZL>CRF{ z@}5Nv8_#nUsXo>&){P>L)M~6l;AW5?BVOkxO`%(O*}ap@+L=R-@0ZLeV~ULPP1yRP z^D$yS^i#93m$#1Aw)OmM=ZHW9lkU49fwcK@6|b$jYt(3CrWVzfqq?Yeb_Um+S%Qoc z7?L!u#;5Kpn~%yx2F}XQhpfr?(7HBCag&Ur7|{N}ju3(UkZ3d#sxh=5Sib$yP;9gF z*@O(`xis54ZEfYxn?0dqaWZXt@iHtqM0+8{wpXacrl;oQ4p)O_x343+ZU!^Vh5NDA zXKLF;@jtz$$*qdZe#N9D_(8$koa2blr)3xPJ1`{wHe`ix3L6$8HrQGcWb5LO)>SUMVQQ!sjw8jztVHXPEn;t= zjMIv~?+N1!-#cDb)&Z_KP7%RwAo|Qpn6w9bznv$mUgVvC;!(?_Amo6Vu5U2aeLbYI zyegqxDsC9kMSU@-$MwF}?%;(YHydEQTOU1EXkT+l_~T_^O(vebiLC`5=`X+w`7X7^ zh_nIJ(}OktDQHF#Y%y9a>UK4GPHHk83pbFN-KxB_yexw~dhI6{>I{d&;1u;itbJsm zk5Ovy-4(WP`NPB0Pc;>88gg9=+=UzdVaSwPXy+u-L(|9Z_J^`R_*{9v6Qw3q#U(Vv z0^-Ft?Ax|&E?X%5m9pMsj3-Y*eB;{z&sqP8ARdj%FrfnaEF&6{F*7B3?c=$~KaD$T z609?<*UIU=ATzkIf3}^j!N-0l8O8xVkh(3>-P%4=l~%HJO54uP|9J$kmY?5XFL{(k{I7_g8ridxyuIg>%R{q;vF z9()IPSyP`Scbj|CvrY6O-?|G{cfWG*mxg(8sNa?}V>eBs<7ZW460RBB$AeR)6yAgv zHr0o;k{*dZu5ZCV-aPZ@Xo$ECHt|hM_r{fFwFIMnaXeKGciQJ$6K_z=~Lk z8FRi*^NHpNuEa9f#-{ELb3#AvAnLU^CfH$CMwSe3Q;(Ok(XNG^-G{an4Q=?HF}3gL z{pbsJ$Lr0T@n3*)mDm0s&T*_iv7bkKv;lxMz;Agc{e*3D)zrB^L0m?2E2C<;7>*CU zmHu-6O>?{DKpVn~(c&rvtD_G0>+aHS8SLU{GD{~5m$?A>4Sy|gqBPI>$I-#@JuM-T zY#%{-mHOts8z@=|*!H=*9-XuVFaJ)OghzC4{e|s}>Qnsc)IN2yG5W<2>m{q0Ro<_v z)uZb`R-H;5Gij++qslHWL4!BYN`(DgN=^BUrM@p+tE1`ccs&sHx5a%Ef00BZifxGd z0Z-+zuHcawPIvCwc!qiN{jO~T=r>t)(us+z(*zTh=@h-)5mxew>mHSAy%_1UG*2~7 zt&k`|1{m%tb0xjg&Cs6fG5;X|ycyGDdCEI@VvKbt)tb;a!t&hL$(a-5H?C|O? z#gcZh26YDGoVI913W@!p_WEY@ihj|iN0s%b6U0Cq_Z$ZEq;x9ltfgfo4To2P^3Ryf_qflO&#LMrl1dJYAG8{m zoVVPSw}s$Nvx*9qQ&o&t?mgeTcP^#gc@ka-I7I5Y+dJ}U(7p_X79*``zb%)8bjO24 zbu8*CYL=M8)ylX})fe0=c|Y9=G5<=Gpp|ELB!VUvPq(LeYk1fH2L5M3wG`QbdZ|Wc zNZ^vu3-Z!$h8`u96-O>cenYHs$IG$w%rYqtftuEQOl3fPl49}aCKj5dyBMwn>cU8P z@TJCtfRhGJ8vD>4}(h1SnJkPWMS-saB$?JHhn z6a+X*C|yE@h_#EMR?#+pvh7;x*}bZI$M4%*B{QO*WTi1pA?=Ls>yhnLzxJ#P=;N4q!I%K9hBw`fSL~fHIoaGoYRL~yhBEk7)rbs zfa*ECA7Ru_`7~pH`>>WwVP?PgW-4b^!|}AzQ2PQ6_CEy3z2B&ofG0_lKH+{*_+T*5 z>x;U>%4WMzou{U#`d;hK^xdm~h5_|` zw!Tqx#l*Zv^dt7+Xv7*!U58U9dU}@Le!M!VKj`Vs0cBc#kPX&T=rU|1VjaYFNlBki0s$D{Pwf=fNCTn~0oe4k)Z1%(Jal{pqqOIEr+XHl#aBJ@XfQ?Ib?QMn zbltk7O>GWb(4ymH+lbeq_j5xa%cVp1SIqHX(tY>oL|4|1A^k9nf-82iYv4OOT1A=c z-S|b={AxArs%OyB$U_l-Aj;Ts_?T#mH#eW#i3s+J5=cs#BTGO+$lJ!GxOHS36!GlH z^Y%%}8?u)&Q!^RB8m=eY=)R!bBqW%YJo=uvLC z&$NnKukHe7O2kB8l&=z11pC;A5^jIB+NOr_aP(1Ynt2(7jdv`m%0WuPV3!0}N7m4z z;!4tlE?Q-61*Yk0lCd@gR){W~5(^5H1q+uFkFy)Qh3IQoM74l)IcYJVAb>!^W-|pO zjTHO^tiWu-hu+dhA9=~aw|g$O$~HYyrZNfBrCNeVctsym60<&TTe<- znmm2mAj9-yjeeLQKx)#_?XKsgkA6tKPu^D|b7FP{g+}LQ-p>o8UBKc3p|uChU%T@h z0#x$?Wcl<2Pwx1%Le3v$Vuy;8+DD|Mwpmi7$c;XcN6soj=uYPtev)66m1X4>`=`)6 zv}0(e>;-&Pfk>5?AR5|3>&$8#XkU3+KGk1kF4)`&XM&Muf@S433GI!x7^`H8nY^iJ*21P=^ z88IG>_0MbkR&B79*5_UEHhsK~MZZ7VjL+ZpuN@(s_^h<87yq>T`^9Fl3NmiFZsL;WNkq1_;2QTPD9QJ#HU< z%2yh3j7_Y-yUV2_+yMtJG@%146#UuMT?1H)6i9dQ7~oTp48Zk5=o3X*NmEWZ&To}s zbMG|6CAhWIG;BoMEGa9}uk!lctF zVfl#VW)dCR2g@`cXg~}1yU2N?j4LzDc(sf`3|R$(`}XiH%!%z{(I=);z|g@}g-;og z{9~F>)TRSfdVz@H+#kcBC>>&&r6nN z%9-(0PrUy^+rBsui5%t#yi$spE9bT}?yN#^%=l5yWA8JC^gRyf>x#;y?DKO!l7&(f zx!#M#)iCfgiq2QY&K>kRv1-ZQ6UTl0K^htA^IKar@8}lEWH8Du_ z{XZEgrwz<%X~m$JV5o-`$ZHpW9zq7OZRh$E&acsC*Gr9*_mX@$S50W@98_luzFRHS zlQS?w)}lrPBS6=0a1D1rM2#3QQS=}t4RDIazgqmp)&lL*yl<&x6IYi`DMf=r{2p`x zE+Xo~UWqy_jO8F`bw{v9^Q4{?$B8zXp$;w{VhR%y}Y1fU2)*OHU^ggH+|WTS3lTX{>wVT5Lin0GFMNS2ZlnW%f|hAJMX z{-E$D4|y?(N(u4iL0m6OG?nQZMhh?OPLG?mYY3W?ld`>xbz+54|2>0YEq=I|#WLxB zRl97>qib6C&`OR2!dO3mowzl#SR6p1PdA(m?}^G7hLSF&us8#iK!nay#y%tH$ZOcH z`9+*88C8x&Z3l~YaOu)?>Y%UT$7};x?^o8FAl}tp3~nJhu8>tnGYu6MAaBebErIU9 zkOQEn;IK;l-y=DXBA522mA-L8iMuoy_g8s4rb7P-ZEs=gjDu;Ld|m+)z(CR2%!!PAvLH|zmJM! z=NNv;jGn}U3PwG6W5Q&rzm=%5RRW(u3?hdtT9!Z;(h*;RtztDMhO&}mQxrETSV6n5 zSh80`dyp8<@SPR~n%t%CZ-cTiRG@u@1YuOMFQYKjCQ1iq&2Q4~l)8WW<0 zJ2_UCW@9?BI}P=urO0C*g0uRB11P^KBq({Q*w-PUL+oSQh}Bz*cYJKFlX7Sgk)&lcU0g{s+XyyAfC9=g;ec^+ zS=5*UloFW+y#yLGN&TS{n{72fa@KhCuaxf!kGJ|Vtq6H9t^_0nqX6}mH{QziJJYIl zM=9UB7MwJa=z!5GNfVM9z94%M#c(ZU6yY0ixfgx#)W_U^1w@nmh~K1Ep_r zD>^RakX3i7pGp#g~27YQGLWflMrExI1a zj}W7)_R_g55jK+8TJdXcQ1aa{+{9N@J*TlAYpSUa3JQ<_K%bxEO@4%{e_!6~OStCN z|8m4at|T-XE%6`3Yw=8>ce16pXN}(Te1U|~g<8q6`z|}-zj{_>p?nhJee%J+X}vDO zMFskU%Ayu3&%rLgKAPsno_=fP!q>8CXLr55X65$l=V!X}Lr3#!3!k@V&J_`FYZT(s zUx2_6Wy?aq=hew%fy!B|`%~~#258_yiP>{&%C$X4kH+f+5@X*Aok8JZD&ddtTFpVR zR?V&jf6TgP*{eBaRa_9Dv+1m7aRj>zHO6ojniRPO=Nvg4-{xd1SJW<@&;P~;|L5J| zUziH;tL%ToD;$vxfr4-i{kQYP|NYzw#0S?n`4cbb3wOl8d?|mwV%Pz6V$^Hkpezf7 zy@D-qjDMt_LshP-v{sI)=H!omFMh@Mh%X|B2~x=i&eyp=inRv z2t0@65khSmA5`tiIhqaXz9S}DyQ4`7ek7Nc>tee2is0n_8hudd7R$;#;;G19`jS~G zoEGz0+OIrOeHB6xP~^>aVxTPa;Pw0r^oK6?f5Gd2c1$ApCRG0wNZ^DAbYq07uup0j zBP{-@kQI2bx6KYG2>=GmpaW>dxCoAJO(rJ(bi&W$XmuqLS%R~uta(VFte)$3N&dWs z)5;hs2N8BNg0lmkazyaaqtZTh%z35VfNw4g08yV4u58^WM=MGUm4G;fZXKK+eX2Cc zs6jcSRl4LH>Q;ZME`}|TIfE*2R4c`%gY<}}@`FSaB*-DH=^Lrz9wYsrK`#@Ws&{H$ zvwq`>klhIt*@G_oS$su`=^-vXmXoVrk-*Y6kRs1qO0htxL=6E7{ehnwPPQAp#Dnmq zfHpgBo*@?iQFYFkozbI&$O?zsz>_Aca1OVl92FY?;Ht7yJw_Dej~eNZbDtv(U{)!B z-2{cgJ!Z(58fL>_`6{E>QJ<<#6J%556hj zk>JqLxchC30B51RnTF*< zPMPjFyDD_4MmL?BZq5fxydW#$mjdBF9@x4(b?d=5U!*cT66WdnLv9`ZRx?_dcxPlv zfsv+j<4?&3*df|kRdnx+DJvBYAl>ri5uh27ef(Q}cz?eQ0CrB|1)p&iQB_%D=?pLh zK?W5DOo$K!HPIi{)~h`Yg~{_df+fb0q?N=h-F*7}ViE=ty9aNr|c+RZ*h z++dJyTGBi$+b1@UE#?KnuZY%5Zf+jIq#F-?N3Yseb)KSyJV4B854}kiVz5PkRXxFNzyKn9gR}7ET@U)=k()=ApM;k~l^@17rHyu;i*;AY9j2!PML-v{fMZYr z?P)<8flrfWIHQW5N8p4#p^s=KSaZll3Y4q|r=sTAF+4SS+B+|g5c|D!1|yTknr#I} zA}TS61u!6AH3!+zoh|T6zv9NZE){Hmj9!Mm7k93DPmNc$Y58TVt8P_QwS^p{*0cv> z+L)Q9N?&PGqC!YJzp(*{(@fblFo+@J9$Nb3WyFsoAw37;uKhJRQBUE~+6D!A(9%uO zsdCP+tQ(|EKctE}nI}OzAAGn&6l4?T3#|aN%eSU`h!)Jh@|XfHIP# ztERhxy?hht*H`hLn>C(FxGRQ=k z$>8nmR#o7Vwiiu-+W$tC}V54_42Wk+0#_sGzI>G{2>!4ZsgJR0~6$=ol!y>S>^a!x`_MloJ{vPY?9t=Ij^y=kz{_xiY)9>S}QeC z_r$yH3_s+TunPlS69BjHVqZRLtSp1K*9#*v9vc(po@7Pl43V~;wADM(Kk`IxoH=?1 zK8B4s&8M2}zOzrh8Jx)Bw;3GD^_C&J^uPW4=f@({S$aBr_kMafe3xbVpUF3)PZqz7 zwncQahqCW-%npX>H7u@S-(7%ve=<9kF)cFjn(hr^sw4t1GLqGqjEinHBbdPe_%Qx* z8fU>oj^T+=nS5?&!3N~uQqq6Y|MaimcrHR|8QsA5mVK}9U%}>Ctn^@>+`;je)2e0H ztlBfw1yu%Ui^^t*{cPr4vycdq76(%T0Qw+M?+t_hobwRx4`SgOyad#v+Yl5WlY)}! ziSr>BKkM}EYm^2(g)=Qc6OrRjj${bQ=~<>H!xNP`tKQ=+aUKwsA8}Q9g*6LN9ew0F z@*g-39hV<{#8!bNfzRgOe;%7tm2 zfyLUROYM3@ZgVbr@|a-N+Yp_g~-y5|NFrv0j)EpPlT?c|Y1<;MuG zWr&XXGf3ZE{M2s15T67K!U6SsY0=Vx`^BA_BIR>`oRqjSG_y#0&iQe+lP`Z zBAaToiWGDHj~B0x~zvyv_; z)ch?@?LTm~>qS8gEAh}SO*8n@Nsy=%v8Ninl3k2J6bh;@%T)6-AXh5&iD@_>>u1&te95+6L%L+c_I?L5A{z7$wLAU( zo!;(YF33n)3OWXnK*MTc68;x}mjd4h0L+PllL#+=O5FyS!*KlM0#_Lst7#YqagY9C zl%XoMgaYt|rHb@Q&vXC^(!s2)6lvWezfJ%_;afOMC zfdGA_UGzHy2rQdjO@Qi$=<$(Q>G zlC-KUYIjxqZTx1!b7aB*B2{34CeTA<$x|1_WrGGp1|j^ntq885<2|Y&ur%VG!mqHZ z8{e*>GvJ<@(_9J8Gk&pouP;%tmgz-~$-#V3q4_9@bWlq0HAMZvV~_ql zaeIwQs%Axlur7T?$xhTn!M?#$2Wb|B|GyQq401Z>EmT*DE5Tx*ZG}z`vrl|LssvQt z8URudCoV}yK)b>wt4yu0O+zxKgit-8+zf>`@A+|dO=|EF7}+2K#-k~G9Og0MHFPn3}Qg-krNHwlK?dkNpO zCp>r#UV)REey@R}Wn`rJky_^n8rN;XvN4BOj=c1+b(v+bi)QBPep%v z+kb)ju~NN;35${C(B8F!!=^%Nci~B4s)$_Kf|C}@Q*9yX*UJ*yC4UXtSBZ^S)(AEf zHvT?A?YUoL+(4|Y`mJsoSo1{rDf1VQ$N^c3&wc<)0z(liZDY=;qC)A}kA}wz8;~?axVlWGN#UIY-sGi4m?;X~+ncxd(>#!*hmd zVf0&NcjA{aEjkK|<&df6Ms^C5U^EOC*f#b0s*F%QS`1Y*BBjb`Gd32vVL3U;VrAHX zpE8U_W9n$wu|`J6BuZ5&8SPP&j7FujMjVb+vHp<}8kCF}5i4etEWoM%UjQX_#?(-W zl`(5NZX?DQ1tlA9g?bZqsOV3lLglKAMht;=rfd3ZM7{oz-=D9+xle?9hd$}gLWbRw zlbI*1x5wYPm~MtXFMqVXAL-fA+qpa4n<2taj%RetQk*z_?O)@vVQoDfb>XDvPL3P^ zk1?D(s$lea@Arh*wC<*zbW)qPBV&Bq3Hljz%j zA0692ndvnpaF6KD(=)iGXZKxhaO=eU3DK|x_wsAdH~f-g{WJBNsOjfP?hIef%h!ld zLs+>tubAXX#DjBp{+i#Qe*EQ)In2(C8}5rcft&xmzv1}KVB+=3lgAcMn|((P7yq@t zG12;oGbJAv(ksr1;}Yk!$Ci*`&x{*U!_rxs-y|(@(C_)xrKx&l@2qwY{HdRDaPlFH zL!O!dt@TF^GBRc6H6YTLII>M$PL?8R(iAv*XHi8R)5`mtC_sL9au$)evVwFv03p-X z?1cVSbyV7u6cZp~(E=s9cX8%zYS-1^su@w239(Gd&?k&Lj>*On86&4RgbJhl&2&l` zol;P7FlI14$$H&11A>?MywC^6>cLVUwBI8>^2HI9$xw+cl>|VsM}bLW@Aa$N@ABTnW$Q=&>QJPPm=893~mx`*;+}ww6<<&b`K~N_jqhj+L)p1gJ7YKn=6j#Ir$#O+dwV6Pvy^k3og)3j}%^HSZvdsZ)ptsl-+;DCit( z1snm9RfL93<8lB1>4?BPKZ5s}@Iv)<>_O?cut_I}qy0qrBT6WFrc@@v0wiMtQ%PD$ zgJNJ11rx5;M}+9Wx<*UR@z#gnmqJ<$Qug zVZBa8Epy3Ju*5_<}<~Ke0&GO^{?Y8?42_={;#F}soSxagM;51ob z+pwbrl*1`Bzj%UZmTC>?Qj6(Qo42s*jb=X!+!!Fh?}W_Vh0HHM3oI1KAr!i!`P;%>-xD1=F;_t!4qUtyNr#RZ*5w0*KuOT)Pcz`p-6)06739r~&XF zhW2}L7>APcpWlMV2>?pq8t^_4YBUgLfC85DfI+VsSFdbz_QHvaxX+909|mhP99{qj zHEJL;Kn93V2Je#r0P_YJ84TKWJMhwFySd)GK5Aa{FkNBuCPQfV z0Ra3@y?5(P+4%YR>TLpeLWPwAKZ>HBkDr7=4bXr$�wMOm_?52{h9)xM&3c568#e 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�v~4f7%QzvpG{@5pH*US?oNy_zCsJhZO#;oF|hZ;wBi#bHuw8o zo}59NU!pWCV*ZoODF;i>J!+H>K{t%(I=HZ{I1wKbhRoj)5zs(Z#W2TiVoX{!rCW(nzMy#7~a`1y0qZ*IA8ej_Jlq0O^8Ab z^j-!UZOE{mqc)uSCliSq^)v&V(G-6X_(CpbZT#6IjUvstqTkr=-sfh!O}#GB>(hA4 zma(}Tv`dqAFp~@Yx!ibaLE{_drW>Fh-rqd?SeN2x8#fjy(OMn*{wE!bC=u2!;{?w_o6;u zqMDQ|jx$@>)I!0ibe|Hb5;{e!D3WOvz2XBM0Yf-|<5VjlsHuaAPyiJS;YmV9g7gM zuxi6fgXZBn*eti02&WMw13>rLnw-szuj9+`byicI`NYjx*Y~Xo4>9PwcNqObg`@v~p>g#7lqaF@LvQej?(_Qr0A5ER=%ze$tKFf3;F z1>x-r0=7fjgA@L$UHiFo@Sw#Vrb@CyGk6B&q{Emwd>gp3M`W$8Elmm7G7O zzppKs!nvJa`#QNa>kdo!Nfc!!=_%#g1 z??`-xq0NrL0ID5nr`cq)aFu%g{2(3g9cwEXPcnu1Kh4^4Yz)yqRG%caiG9tazQWdP zr0yLYbskQgDprh9q+7#fmWQn`&M(cNQSKWZEXaV1?$Z<=ss*$I{OAK-a=pNDL6ZNC zaNg^TSFeN6-_J^_rV($m1*EDg8FW};TKdT(8sORsFr&Fq3K9B0vqqgc_3Mb>%5a-h zoVODHk)*`WwcJ|!6{b^6sUbre*11pWk%MA5ryqF7H13*jQj&Q4@3`)QVW!ndB<3qN3U z-GFRqV8iVV{T}()5e_pvR1ETd2eE8$%K#LkGEjVlm^&rHXT(3mdbwV67#ixZmLcL@ zyW56b{t5VAh8~<7<;bo&itj7`cD5>R%7Lx9g{p4ck&F4J)zAcKvrEIOq}Eg#uahg7)%j%M=jjiKAY; zma84oR_bV_2)s{|%2xgRiL?=9$e5(`yDE%7M;JL0F*4FPPt@Lv%8%auiLx0+aSn zV^NWT5De8mcAyH!JfK+BDZSRG`#VN7dZV?7Bt17jz>l1HEV-4KbohhwsYM2cLwqDD zz)hMF*w-etq>b+x#QF9N1j@>99+fc%8KS?ZRp&Y0Zcac>(IhoZ0ojx^rm|ZY;e4Dg zACbd=o`vgJ0R1V0xz(Y7IQU4)7K4i}It8g^Ot32HF#h>(F=(}>tNNooBjHTMPuihoDz7I%Pq&<${t zL0915n8WU{dfvo6R3My){KN4|I%#bKM}C1q^hMtcCBSm)E7PmJHz59orS+m566`#~ zZ!7wgv}w&agrG^X3N;57TFR)QoQCp1T9tb#9-IU-*|=14m|5a90c6*hp{RPq3oG5odI zC0D}jLC*O9ELPaooSZgZOG>%PlA!sXG}qwDQpwoZFiop2_n@7M*_jD^5Sg2c;yy-^ zo6HJuA;}b0cjB*SHX9O z(fhy8Xi=i!i*aDb*|sNd#bs`|x{}=9YYh?NHz>(P=2lH;imLO6`qXpI$q?GFiQFW9 zwV3iH(a(FNuQMc8WfMlZ^qAG$K$u-50l6(gJr#~Kzjgm39s`};2JC1 zccE!{KH!(~yAr}TyYG%+XdrcH^a_%H9utt;FxytGO{2jK0G6pLd+KvHomxXz787Q^b#1)I%+veV-So`SN7`Ge40Bn|dEh$r4yqrdn~ z4mTRiLMWF`T0&f4rZ%etklUKksTN``R6YALXE_8b+E^DU4k~EZK8wX|h-&kut_9fr z>U#iOs+)jWW-xItfFz=ywN;1&Gu6ozNB?8p7V1$&?O2DDK$)GDxG*Uz*s_a-Fl)Hz zAgp#DeGJbr8MNyBZdNcA%F6w}a6&vF=9HU+!hK`PaJRa7wJ7~a=uB_ru!SPsZ*5+V z&YII4;Dl!w6`74=-}DjL`%X706Elx`Pd{12+0giBdJDr&k{J>idsi<)UT|9{TByB~ zSHpR3Ut4D$JCZi})%5%q%NZVvAhg*=?KOxeFZg_=@gS{uzG<(XEBxJa;Vh7u}gnw%n=Bw#zL=;ab#9;My$B9GOfn0~xVb;1i5+@HE$PO;O=OE{&SSBr2Zfr3Mx{|ZSZ?7*IOgYR8Q3T97l*7xAE zDpxDavql{#9``_~a@zM}(NFH8S>(&!tM+UgXq#T`#CciW{E^)+fJtn(>IMs=W##}A z4ne3Qqh)UbUp5c!w7p2A;#?MpAEK_{2DqN#oKZa&g&tM&DzwJ^lI@it(()mN01R4DQFg=O;Z%KKwFmI_N*Z7p8f%sCF;RO}w_o zNDMP2($q(YCnNVha0y8)euO8emR4sS#Lp0;@5c|Johi}dhA;pnS7>(4pjXg8{~2-U zD-IB+pd-*)jdaOw5cDc>yhghCBq;Iq1n5>8aZ1vl@p?BH>SL6u*NT54vr^VfWuuSz zpwv-slE!?FD!)#s8J*Q#Ay=*TqgwIe`vPW*5Z*HsBN7cjS@EBWJXL#S#Ei2fJ~WgQ zWvm-E-SHB(|yx5c41gZ%Rs$!09aTJ~(gZ`}yVh1s~@VvQ{qB|cE9=q7tX^;T4m89{nhtNBtFuC)BA;q z8Dr9knBhs!RRsR=7Jt6#B#3UHCN!oX1gQZA<4^csUCX@Dlb?4OoC=nF#1h_{m788` zCoy50RrKA~?$<-Fg?!?9!^y$p4CiwIz;sxt)vCFuV@ZLI1Qee8GQZGsOk>(17d3U> zThj(#x#dxmv3~Q>vdGLzD8SwEsnV&E>S6OY0tUWG^#v2eR|p29TLq(Asa*z+69G7< zb!z^iG}~Q0u`^oG(rMmQD~iyWBbL`DizFzTRBj1k;jV~NO8vDBO%&@t1Sn>GDfm20mQ^U8#<7U;kro=g zRtAHu@_v<-SG(aQyMDFvH6f)e;~dn*Cjm%X)y2ga%tRQ#Y4C ztzTr9sJu?7y_Ve#M~3p{C&7uMP)~zfI*;(QPI;A;hyU>FgB;6Ac!{H5?GKvh6ABR; zgtvrmZ`}BK0YX6VV?j^x?5;#&VL?w3()uW;eCQ{VSgihYf8HTj#7Hu3(|gCSr!e*V zRAE84%?udH(x%^AkUDZ0AOh}G-}8fg10Pa|Ai3PYyOt6n1;yYcOF?|ah4;FzQ-bkF z{b-yJ_f!Buc`^s=b< zO;iCmH1@)G7C0`SNnJ7;@Fzaw6FuX{lnc`e(dZKabpp}h%bCluHOc|Xo@Fd)`+LWO zQ2}%NpLn$H`6a@4@wP2vYg8f20@9EpaKA%-gLKSJeuMDsf9dljI$M-d%L3GpQ#{%q z$t8l}LgB(!)%<}cwxTohFsWs%QGrp45Xc^w_DB9s@(%LMKH5A(@J~CSn`Wly(LhR}-T^KQHdTbvwuzw$ z$OBZfl~Qqj65mf8*g~P&GLgZY7bsT$g-jr%TqSW5RP{azO5BH7c_Ac%hD0LBUO94Q zlUa=kFGWnTor$RnG>mf_`7?+^)#@A7YrtLh)&R>DeM^J=^xDyST>+A~=GGv02e|t9-61Yr{Z@U<4(nGviWG^vm z5n~}3k;X<}&VGFFepNQ|4J)+aA3!jQn6s#AvA{A!aKuMrx<@?+2gHudQFb~CO1atS zLU2QDdc$Mbazb!JDMmPoaOy_(+mu{iPv<5U`$D~zx(l>2RHi;xs}QfGq?EsA`~2%7 z@%l;0b_#JAAYJl0_9RF;?XTWW58{L-ZHEdGeC;QNTyKb@03mVjAo_N5)Z`oC6Pe() zwN4d*X`XNfmomUqWfacE?3Ao87y6_fQ#r;%0IF0360_B?MX+g z(d~i4xAieWYfAUwvI`?@+Vx)$z4fOe*2e9ZWN*r7%VF9ih0@G!ah1x_2fMbAL))sE z{96B8a%(F8TTENXOg_1F-*5~+|G_XaWtsuJ#pNC!$7+(U4fSwF&*bylvdtuuTla({Q~u{+NT*7j@ZDsYcZv2r z`ifqb%wp%1^7cVR6er(lSiZFTlN@<`M|LxU*VgfDYoSLS9{u-X=?*1cy<>Jkp{q6@MqWc|x-p44jvsdn(p*=#HQdkc_{RA7>**<35gjH`bhn@&r6a zaoxgvmwn4=4`B7xe@yi+){}gcUl9Hr*~FkD+(3Ez*A5mMl>{Hu+w&X&`5)3F7k4ZV z5=lI#DxPnbbP3Zy+PL*94U}E~m@NL{>`_kAIpEvTC@|xe+3sg8?L2g(=ET3wuOb9V zpb@w81pLa?a9kR7BJ9r`lmo-y~G)ee{nS!g%2NHk-$P&s{rq zHwbuP+&ns%RpmmHu+uQZWMVn;xO}fZoJ`o#{AA7GbGEc_y@Z#>uW{xUL5Z1E=p8u> zsK!%G1m-wtD?QcjYpD?_63BCrAhh9#`I=;L9OgY;m2Y;-C|#ml&&0rNqLkW|y-Q^P z96PP-_Ny|V2Y}4NjMgMz^*$%>5tOoZgGW$nH#0l`iYeEZKSX7U2oq|6Iy354VGdIM zyv9g%3#d(o%~mWJG=#yP*=#AP8!Q3LQ5EQMvty*8^0FN6-VPD`we;r)@vC9*L-*~C zpDEyG%k2)mp(Mp}kSYv;{6who-3q}lrnwEE7zlnczxo`r$+&@Pp0lwbe*OH%WVA5g z8!?v}y8268K)(Vb@p$wSfAsRgMQYKtBCjN)xG{QJ&Y>7ij*9^pL%o71t%6JlX3Ur; z!k*S(uf3f>1(e)jJIt4)RqD)p(n=*d3r!-7hDsU##SEbUm3&F0W|xY>UejC|hfqQd z(TH2Q;CQu(Idf?WY*;tF&{ujWuEMpE5n&o_XHTwADG` ztbWxBTEwaiCGfzmd|@Y}ga7#~RXexV5Gh-0*v@S{i;Sw$#*5*tJShD(EiTMwTK$E; z2;AMt0+4s3kaJ-WjUXLSK_MY0`xBhgb<@Zaunk+ejkrBbox~%bWVu@6$m2jS=Wn>I zTz#~NcT8L8O=~n{VP9;g46DS5rFW@65vo3GhiblhB~6+rzDtDF^BGH-cnC3qhv0W| zoXWM|gR>!+6o07R6B3&!={MD!1lLX=p~34?_!az+=x{HOrTRl%R}KN=S6;pO-4QSH znPc$^xB4)52DYH&S51IUUtGQ#k_sA^R1-}QoktK7Obm!A=s!sA2EoJA?vWjSDe!0N zi66Q z&1ew(NNp^bJ{ewe;(J29tH9F4aU%Um!Khzn?GiR8qDa)Dom-F?*h0=M;VerIbjKeV z>a_D_Y0_?ZBp9kJW%MBpj7^?EHVTb*OTfbh!cR|{vZ?vs}W8XL3mOfI^`2B zm{+JVORDZNv|AB%rlzSdTe#R35@B1)2Ca7ab12PMd#M%Bm#dCZaF#Fa z$(9$XMhT0!`f8@UD6+}}?Af#W#@k_L0aUYNQaSkJy{Z1N3nr^LSHb#CB@x(?r10AO zZ#R)>Y>U@r-xQ{=p_%BU9+d=9x1<35K=s}@SK$;_c$^4e&FLJCcKGL&s_;Fv)!5dF zVykehKhyb^@#c-OV>=yN$*&up0TN)I(y=Y70>I&!_E>4epPc1=XgW=T%!=6TQNh*` z`z<~5m{*M(H5btt$`!5IYTLUw06mbF2I660kYI9*-f3^Y$CWz+NP7M_{7q>a^hvtJ zTPC=6YiGcfcK!qY4c*Oue;(QsWa5NO@hDz}vxzgQ9ffFvl8=vW9(NkpXPOmA5~+`m zveMuoJkTh$5%#;nZO9Z7AKP)b@Ru9s&@RI~v3-^!tXQTnfT8twX*cXJm}ZAEnLpWm zh-@434NrM%kNMX z`13UBv3=^2yF_1}B$apsC0{Clm;EC3y*musD?NRhbxF+uDBKP2R6*=nGAkE?tCh;b z)da+S*22A&y&mo^(-tGsjx9zUZboNUWM=|Q$C06eLI2Batmdauw}^6KL;2q1OkfEs zE_wko&=%ETG!%{dN%6)SpJ%^Mx4l7)aNXB7&>c@Z!L3C5+UE1VI2OQ;EsrZ$wcm0$ zopi~OhV*Z)>^&l}G5@3!WO~|-yeS^nzE$CiS{!EKOk7=` zg-?jvI?n<|;<;|mw72ZM7(S9sfW@nKQ{?Cf%J_a@Dks0I?^rQ(pDd_QfMU(IJF3up z@CL;OZvpzhbv;p?Xy$K4L%oC`t&7A^oj$PDWbC_j00#4I@P0d54j$)ZVr*D^C%#8` z&N!2(eytOv>}=qGZfBE5RBp51opf&&GwI}#>jYO(ifD6$T`JErm2Ws%jmzr<9f6gm z&j{FN$NH5?#coDG1I#yU$^3J&pjcfF*q@V%)4)pEBo()YU^|mXmt4E^<<=gevI~Lr zIr#`Apq?!tPt+l3VmEKLZQ47B>aC%dY;Qxf;cwxP5T__;&fFR5m4$kWj#96ZwrTWt z-q-Y#_8+!~>deV<>JQ`XI9w3#b%>w~vS_+95Xgr4+6RV%A{RZQ)cGxY0`p~Ult@%~ z{L|0q@TtnEn9pmtB-OZSDA4=8ohc>Nt&h1oQ5R-CmYanB?X%7P{nK|q@xpVKMP5yD zEw!CdaYkZw%}8J*DOni?bd4;r!`BK4dC2s>(tXa>+G$nq`*vS8K+F`0iOPP*v&qFh z`Eg*(I8>8J0wMI4QAuBh3eMUQ^{od+GdBegKdq6!dcBEJy(=F(2g^SUl=#jN6PmNvIfz#yEZX zm+KSeCmzYmJX2wmcL}Uzlz{D`@7azsq7IXOA)-}Z%1#6Tixj-y8ZzDL9|COybN;WH`V>YOOXK>{ZJ9? zT#g`XuYhJfPT#+IRBnPn3iYz@Em13{#ahCTnOkg|dG3!P!lk=Y)uP03gv z(?T#KID-K($%;DcP|?{^os60^!1hxxpeJOr--RHULMG-=pkRFaPF8sFU9w_Fg%_t3 zW~NGE_z_ukS!X_57Iuu7;+D$E2VRLJPRgI7c$R5MM+bD}g?+Bc@u%=rPy3ZU zgCf_JA3$g*33E?t$sEH${sG5)KuYZ+C2e!BI_(gLppX(l?mihoWa7Rr@n@oTE@8FQ zu^Wnx1ug+e{EFOHnK`sweHz~2m-r*+0+e_TvrGueni4ciQTm=rw~3^$b6Yh2~0i#ez(!heQA#KNy)WC=ENs9s8sYrgIe#- zqJGAqk`&^5FxHhXnRxGXk^yGl;$mmiL0>ZsNtbw!lrXq?rEQ2n1;bx~N}fH3k9t zuHg#luw|`FTl#cDkszP>H#JvPU&WRl9-<{#B&XOlUcZZN)d}(j-TZG)s_?-K^U*$1 z8-ppZjcs;I<&)#}&x~SGBJ70xcI{y8XH>p^STy;E{5RxwNVk4EQ827Zi5r_Y&ykC? zn{AjmZ-yDAq@FDR&0#Vp*G*g8&qAu$T*`)-uh7dd>iNK?X~zJp!)@VLKPSlLQHTVP+`1RGw%}^~Ol86;=oti=Wt@a4m{Hnrs+t=3mL^8MdU+2efofDRz5&iB zQyJc`?P<&_rdsV;ZeIq8N6=X!0eA#4F$mrzlunm-{UcszMDC26l9|43V|7XiiiYuc zdq$Eg-uI<&yTrm>SL(R?)bB{kmXSP5Fal}XLe^oBM4lydCt=Qbpei_1 zq&m;_%7TZqpVWSU?1noQU1rD?hLji1!l4)96vp$Q^EO9 zY^YgD_2jl3A_`QzdC+nU(!M&BY8-U>b=OFC3qvFcr^BEMC0fsvSFChs$QP`0_q(Bp z)vtA5+mRyz3Ve%oR+ta1d;V@(&mhOQ#PG|`BWw8TFb{(OsuGPvq=>|`o$(`@gr47TN?m1;8~N>nr5(gQE)VF&kmIE@sqKj9KY;jzMOS@> z`ZV7-k!%?p!*&+nffk*7PNvxgSe+sNbJFouij<^X8O1`|aMO3OJ>IWp{z#_81(~G< z@|WK8oBrs_n!`oFf2BBGyeYn*-??~`E>-G)410d_7XnNOTAIOBetZcO%4`OPwr#YE z{YNi$q@}V9Ty%0eNNiitSB>7x2uKwY54YKSbTR77tfUZTmUOAtVW)X(N5$zl;lF4< zdz9RKl%Lpqv(SFF=XXbmr&!v3MTzuYfLm}+(wqrn4Kb+#mSf1NO?8~R*8t9d$W7y^ zUi&`s{fCNZ9^uIiQ4awoi^P;gY{RcGcF2X>;Vq_*2A3cIhJi!TO9Hi!;(1rY&J&W_ zl@plM$OcrPlI%Rg2v@uy=TljGb`1rs9OF zGVj+b@CJp_^j{?^XD_c&W59NZI2J^x6q9)TU`YUFHp(ZUI|5(DsCl?#zRKaA%QD)u ztVBmT&xuH{A|K9ng1ut6iQIK1o?dCY<(+4{PjdQS(S9AFL|1Diq$KgIqeY6EfVGZv zbP#W&ju4c?Kxd`B*41#nBEN~P1PPUNR!C}H4Zyn=|FhLY79f)7;)mX-CY_wBBb{Vg zRf5bX2)$8>2YHTkQV{QnMT!oO0o{v#UvMDa&H;h`5Qmrl#e5t+aBxJ$83h^ti^<9g zfFa(lfo_bV638S&0d;q;K#0G9x|c&BL>1!X;|!6P$NAr9hZK)lY9*g)5)Z65Uxp4{ zSa(Je!FeeHztfY>I>45_1Q$iXc7J{byQsR1=NoEw*%D!vJ+CQ!OQ$#U_Qm(Dfs%~K z@;I~%=$-VR$8$TMpQS#2kndyv6#hm0`7!!#*7wiTkzJE^v%HJ+X?@%B7u(#Tlpbyd zdCQ={{?fmH9%eS4Z_YQisOD|0gLk)=1#_8Tgm)ul4a! zpCem14F4xH!?d%-oK}4@hhB=vYw2D_qq52%N!77#ujJ~uYbGTGfWqnjSQ-Fun8M;&M%LYzcq+gQX#AFn?A}qu~1Jr$`1st*ZYdOJzEz9U=SQho!89;gpKn3c2PK`9gNYCu!rc{-Q z3{u=-gJP_|n`xaI9`h3<=#1$V7Xtqpvpo)*s*_UI5iA%RPhJd|So=}Pq^uh?oWdtC zO#f7DQ8T*o1{~yLx&9uN{}ckj)zkmS1}*`tsw`d>+5gN+0LurFoTCrik>Tm#H=iNuqR3*`q0yDgs#226OTkpt9KR8Ak!ZVG(OMBAK$9Fs^5ViOZ3or+@ufR?WpXvuDAQCETgu$SLD1_h z>)AXt#mE&CDS&+0@h;q}@A`4o%cbuMU@=I60f4mC7B}>X^1N1vP`g*YoiL}?{x?fleb(LI=WFqu6q7$iT1Sc6K z^WOskUSvNQ$5b`ddEc#*#NSRmovy7h@W#w0@QDQXhdwe<%Pez;6|+iusjid15$%h0 z8154nApM4!i?jH3ZSGMGXeUZ}Ay@a|f}N%;HgQ(()P-Bri{09=YGf~dJfmt=Ozxxu zH-@2t!dJCj#T1WCDL_uEw)oM(bE0b;+9qMg$xjflQv>?3s?^MFD}Z6_>w%Wr<`*j7 zLT98wg+VSUZnsc0OOCPlD>2?*>SWpiuM0WfXKY6MKqjJtAj}x%6vATkn#q)n;Ig{r z^+A9bg-}`RtG?j`kDx*1BKN%y9c6N?(Gdb-HK{u{cVveN8SN^S5wY%!^0gild*hU@ z%T1g=%qq?j@Mrcu7tTB;y!zUOez_0))4G?LBEt7!KNIhF`!#8bm`2;KO5FM`zABHB zCp+r>OZgvt$sYSCKL}7#8kPhUzDubuup)Xg6SUpsbnpS@w|Yo=tC!R`Xrq<LbF9RkJs_LW@UF%dakCxNkgPelZkX{i0C4SAS6q z_06^uCxpGvwUYX$ZR7WsJU>fZ1g6zw<)oIY`X+=W#58OV#qR&5_e|!7JroWZ4|0-NelE6%=y`LLLS5!=Zm0bU#b*>=0}gK)HW ztMUH}*!_p%{sVTxqN0-j2kuGzzu=yj;QtS}*J(YK#?nL7zixKyRp!xsh)RlXT+2E- z(D^NrF#g3BVDzQa;qG^dDPYzxTMwrYX9r`IaE#J;G6im}i_g>bV1B8<*~qL+|EWai zmz?gW>$`k~=fi7;8+>b#??tCiFN1@VX6)YfJ^kus*f=;H%=Z!a&Tky)E8(pg`|R!a zFXG{7=ID+h?C9g?h424fJ^Wx2aO@5LH&ObXYT+;9Hg`}Y^iA$huuWWu>(?j0uI|&* zTY>Ly|M~y>dwuSP$M!vkAtw0`JNv8#@obFXF|`9W@vW4q4Sw8pSy<=cbo5?cH+$wMchB1`QD|b8 zAK3nOIJ`c_eNamDzzivDoHd_zXXh{OcQ>yT5YVyM=`|VYi!-Z?3!#|BrZ8hGwoLA~ z8oU|%Hql)C;CeA168!eLL~b+RPLI@jpkU@=Z1x+WeNE*STf6c%Ct{z!I9c7k!Mko> z<+!5(Avp3nDoYifA88B!{GrAAzG{`Y`lv(I>a$jX zMt1>}mFEGT#mU9Sc}i?m)0AQxyA^s7xr$4^Tw z<~gOM;dqE*Mpsl+JuX~7m(w82d;yM5Bk7|(>Ot4QZHn6_uH{w8EX!*xvyn{bk=p`R z?<{TAtpz^>-O@T|^r$6#^1Cer8YdH~=AhPNPOvF!r18JVlX6nu@d;R9s#n!CqKdsT z45Lhz?OPblnJs>vrc~=Z`pQ;@A1?Y)pkYvi1(q)yBf<^!<$*>95eED#US{uf7LBiP z1}hyZWgEg4KaJx*ez16zD*H0rN{xB)q5pug4j+G5dFA&|#)gTE&#Rd4#bKWb!&|9e zinH?2gcbQ02wE5tNR<}{Y*Y!n%@sP_l^ZulW8tm!0W2Eyqi~CMuc3SfR+8$ z>iepLI!BeR@F~037*1C7P`E?gr%{5KcR`kgbij|@Ou+oZehlWkTv}#aXx%xE_Kaom zU+|pH(6(2(DMP^l3$YD!Xu{l4C~MppoPA%sq&1{TYpFwnt9hCDK#N_s>-|6=d#b+L zfxXOu4G9Lf&Miw&`&|Ga(S5411XCj1W*n;XO~)r?MTgjTC~+DPW~;1*n!4PAOe^8G zr!O9KkOH`YIse?bF**}n25mkE`#;Wk&wX7~KX!HrrCRn&FrP*Ikr%P3WNYkUc1Tec z-Xf?G4|wFqsX?yf)X3@*k3|O|Fz+ja{1nccn*qTrR|xTbq|$tNxxo8C(Ta0p%@ZPQ zLcWvJm@^~w3-}XD9E%A(&D)xi=(123n*mltER^>mN3-~K>`2;^(4#8Z&p=z?4W{kJPN7uBwQU9 z0WpKdPo`5Bcp)1Wwbm+k&>T0~k5x(EbmnhT4UAAcC>O}cTYcYwfbI$H)gf+|^gGp$omO!gJDoQm}ZdQMAgnU4m;7b+>R;|*+ zKQ>1%n8hEHdZb_J@Zh`8i&OWV=zxu~oTCUeX^UlE3b7M4*wLAN?fQKvILywzYWib| z#1P#+9Ff#6XhZeeDXdj>-2hW)RoxchK$yqt<29TWYcsDKNv+)768+(AT({Ay22BC3 zWH&92jo@0%O}M@YxGb$P!aFavx6gguKpcNi_*(8;H<7MN26_#aYLD?pK(1TCgHh(p zSiI0z_+;h{nP662>AyT@uZKf4Ed_VCRQ%VUrOR>-czPVu6IDY;eroW)tDynWWq}*K zLUey_wj2k%QwkqJsf<_*kIrjwH{28z{myNm-(Z%-?xO2STRZ))gRQ((;AmpK#2P=#ITRnPWX6tm3g@)$(l@< zt&ylnsr`m_*v?G&k~Q{?IzcaF`S(`M3=(em_#V616yy-FqNuv4{B~zfP{*7)&_G6~4TUk&qM>C)l_L$kHsa>DBU zMz4kOg-?X>HHS@ka|?q_J@JjV!I{4iM|IV?*|dvVDIupzF^^LvLYE3Bx%+KwERh_~ z4mlk?JC#@qzB`fgH=!`q=xPVZr?PS~vPE626OA)fgV%LTT|Pf}3DS~`b*?-jzQt~_ zbIbh%w89+*(sM4T5#+!xC_nUdx*Am{rz+=4sx62gw^JXOJGC)h<5Ui`Te~yuC&V(Y zF6^KNcizzO2Ub<#KHz^D=hR~bIi_2gP@ij!!LDHOSqOV zjE!a4SBkrNlW9y&W{x9MXdTC-ZqvdyZxvf0 z@OPk0jWZPG^{-=BPUHj?Z-*+r26-LJvJEG$k0rM`c+Qex`eF)iTJHDjsYtQO*v0E< zdFE&$LJbyYRzlmzroJ(3d*oNkXL&w%U#PliJxE)PYH*fT(rg-e#Aq0-CruHB zH*#9hy20s0uRf2r8kjbx6|FZAdLM7e`={6fykr$^_4c{o?`sNoB%P%-J)_?FlPg|M@(w|od2)6zDb>^}v(7jr0W7Otj z@A?GeNQ&LL37M`UwSfU;WvvQXqbYoMG@_-|A)qx4lKDYsq>XC*CvWs{A-3)znpro{ ziCvsEfc4AYCm79%U=1LPlvNt%aHH z6jn~KS%UC^b)QNOGRJc3HX`}AAO(gLcj#5#6VzAjQi7WSw6**%?TOAnellkAz~n(H zo5jsO7gLT@XzLS0(16@vea z?-y6HQIz${DI+9Uq>kL=(eE!7cIY7sV?fpWVPH@S&97n0Ir~1DgtEKvLob5}MulD4 z8&&l~q5Oj2bs$9HFcgq!n3xQ8lRP)yq5YKfwH0 zHFX+)f}Ii~<`D?uJ8co+?9RK%casT#9Ss&zu-cjAmP4!8Rw>$?#fT({Bm-rXnhxQ5 zC&3ZgDT}7uhgsMCT%to?Z`%Y|adw^a;yTgMIT7bpK*WLO64am!^EMZM|KGQh=D7X)?wPjJUYkEo%VpUMI^FJDa`UtVTn`!ea6cX=4(<{Id|(06}epYIJw3zx$Eye zxnI<)1hQURp4)Nz*bvNt&?4OuRGAm5*Gxj^=q3>hFTMG5-iyJ{AV_u5{1nw~h{*pH zR#w{fD@IT5u2+n;FRo+$FUH;>T9l~C*4?&k+qP|IIj4^&JsoSRaIpqD*|dR|ZOojxhtF8TeR-1k9|cy)OfJdO8Jd1CA5g z_yupWH5R$<)-p|&nZq}*!A_0Qmx{{gEZS`APLYsA{a08O2&Mu3A0o7!+(2hD$*kzv zH9*Kh{s1CJ^^z@2h{C_20tNMHnA)V`7{y{t9v8Ev829Hbb}FOFdb z!ZE->+=n=V2^jO=fdXF`JJaSa~wr2i{F;5w#Khy+nD5QJQTFO8TX){g&* zKY_a;gzL;aBTf>F=SWFuh`^iH{1n@M^lw8|Zc*63yc7L9e8j&DQ5?7fN+8Zc14O8s zI2#q`K}Z^|pNWwvi2Tb=q7bR*zwG3oWQ4y7AYLOrfb{q(l}%B85XTW2FRarj;*8OU z75K`Pkwo+ai;~RwI|^|sCOwdc|5w)k1^KTsxak5Q4L|;SK;vs!AC_GF%dkVB=p>%T zW2u59>I-+SSb6RpHv_ReLf|4%}aY(udgTPb+K%n+VSN1xCLV0cS^4yrOzW6|2u z82o!Z{f5#jn^V*pLchQB zF#ZcHJ&c?Bzi_1g!bAVzNGz-ztpClCSegDOM`Hf}!I8SPB_nCt5qn;1%Np}Nl(baI zSU{Uu*IL10`7m<3{0*#l(0{$9BOr#!i<6eO-9k()E0~nEX!NSyOVk|SZYO==77ZeH z2e5Rv4enp=CUVWe4~GM9r#9;SH9diGn=|Jb{-b)Cs=EJrS)##FN@cu zz6z~D@Lw6}|9(wy3+^e4?#eCqg8yo>*>!-k_xq^=8|PvdddH7cB# z4-qDf^@mHRc!|Sjv!1HxtByvYt~{q?FOE+Y3LM+G_BXdsdz&R8IzW(Zi8O7f@6-6U zdd~=b1heVe&M3Ymxh1NW7XXzKMCPb?OhgkA?|0#@t-v>O%Q63FoIn4u5U~U|y!<65 z!8qyHq!ZQnz9?mhN_j4c8k-maBaYb*vBZOCO@P9Sr3m3snxHr-Ean6(hTb8tzHo?E zpI3c@Ys$puJQ~Hu6Cf-5^nRyEUtZXf$W2zNstOefK*I{GC(qdhY9ZwuI#XeqG}i0G zAX@z?4dK{Hv?UZCkQBhpgQE_4Y)e_weppoPgtA4jGn^xIb^UyravRifUg`utjEDUD zBsLrLaTk-)H#y`QS3&epRP_@1 zdyp9MuDYYd&P4|F!&Y&{_Q{kN<`*?V(}ZCA*yO@Z0%f3pfQyCz2oXNHjZe9AZjpbg zHMZ|PG+O3EkF0aAk@6{nbIvLQZWEVPYCBxnayp+LrDr8ObG8>=lexYm+xA6)BZcSf zIT@=Mhf|~Y$T9*wWv%RF0d`)q+Hb?i!I-gcw=DBQ?g4NGvzwqQ|E?9-`*UVROCv{~ z*w5cZHN}bTfVLfz9Tp7%%NwR$!3CaU7)XXR8{rNz{Ly1mnAWWJ7v8z9nQC{Rr5a0@ zVT85LLUwL-$V(a7V^su^g3$B@6?l%GKao5DW;2_w}9?)Ne#ogc+g+>VcDgrC`Ok}jp^*6nOC)`9;WR>WowfWzK6 zC5f*KbQXD?Ad5n&8E23sF0Z1UnMW6B$Q<sBf zH664XBr=yZ{u?6vb)-nlF?&@2!W#}i_9kKP*`LR=z+?T*0xRL&sG9fbfAW$nY zie8(iO}=QB6pT$W#UbE83PwGgWhxCKa=usAap z+?7xDXc{Q02l;rXWU80EaI55LX-*D&zVf+}^0HuE##8m$)!TPr71VjRb@mX_x~0is z%q5#*I&gcq)1XZ1M>Mar(jMwU#ubakU0$6NP-NwKV<|HUcf?Gb`XUrcf%e^>QCU;# zRTLt{k_m#pNK@tgrx1mhh9Pt=u`$kZPLgsg(?_5b$hWqaspM*s}n zu4HV`z@4DjU@Z$lDFq@pfSp~4ru)6)%fg7R>q6;R3PbFKRWcNeFApds8&NwIz4qbgXe2-G~Y(8U0aFVgvKuoBty=$@iy@HrTezK)tkvr=r11h{+C# z%ns=Q)VJb~=wg2t%cx#%ao>4eZ>siU9emVESJdP@5CH>;Oev22nr;NyO}? z-dNw4kSb)jKBUV1XuXATxpncyDhOuTimFtaPh)5Y%9Ra60}CJ`*cJc&@Xm*06l@)e zQ023fd7$b^hI@{1?70z58lgt{}i?F51*2e zzM#o;7Ed=+T!4P+*l5CZZ!Zc5a~qcGYACK()rFh5?y;o;n}8|6TJ|a>$}Y<5O+q0( zA%E}#*tjM`+Q{H~8%fh8t-RP!u|S^YOy=gQrm{183i8Ccg$fYY3Kz?v$oh^ zu)M%@QbWlhhZigIk`Qul#8b0WlYVEOth3=@s;r|h;Yl#-1mtb%P1emUw#E$EHi;a& z#MJyNz4X+)HF)o4Wy>!ox}xpY5r^|Vn_#cOe4F7S9jg7%@5qPOWiL}z06 zsR*tyBSA;4WJwzs&dx{$;5xOIyx9Zf&J79BJm`x?{@TB!At20y97CAD9Wif`p(+pI(bRvn@HU>^=+3eZZ2Ozb?lrDzBF1J+zm_ao#eE0f5J*ZK zBB|`V%1c~rNXHsCtZ*sDquF=Mt6E|5_m6qJ9%IfJ?xI9;(Ka$cyBNMQTX`e7PU4n?TJ>&dh0lfm?&X8ue!00*UQ95r1(tY=vR8yI4;18OO253r-P)RLNW zhaPc9UfoJ98+zzui_HV=(qXV9TcBjNEZ2s)RK{(Z^7n^Ac()LuU@YhO7`Pvao@tpe-!8w8P`TtOH2ATD+Q!x(|>F$^*F`>^8LP%`%co&D_ z+(?d5&darC+NV`vwN5pOZud_TOw20DbzhE0#Far^Kif95xaJ+2Qw!qu!TW2QRfFI{ z*#=p`!^MYpBB7SZiAPYBx4D7MHX5vQglMF2MI=A$p_Ah(i3ujW zT~ZZa=BHx4om>B|)4SAYD>(?FZ%y`U7CB%oZ?0|EGN3*CP?%^zRduJgWUm1YcxMwB zcc&Y9*ODuU4m3^;NalN{)-yNb_o*&jy9$+)(AuY7olf4g`!SJY;Mg#{WO*~>V%u4j z^Ia#${;Gp6DD_Mhk&y??G4ajNmG1_t`%dk?=xcwe;n-cM{|VetDUwYX!g!9&R9*fS z!fir|xS+%9{!uhH3`$v)ovi~Y7w&hibxd_S^az|xw!ly(VZF9uA?w!u8Fqev{_t*b z*%<)X1vKA~cv0YNczBLM!DL+9xd1Opbe+jKfrfc5o)-HI%Ebn0RDU0Z;Il^1hf$h^ z#dq^deM{zu| zV&{Jvjce-Y9Ck{JJCY z2JJkLUc%#|IQ1;VVgG##i-6<0!Biyf-ysyCP#oLfQ5t6ZfZxaoYIL&{Io7je+?v_r zOFx%8xtiw^7j7ht`se)qwbn7duf}V}KVGb|MdhKX(M<0U%rjkD=OnJ6UFcvQT8ai# z!T0m@^qS&TB2l-=Z6I_;BQNiUmx>D?06SS_En`NPEF9SYP~A{Z1Yd za!K|%kLh!mV~6+3TCmTp8{zDq$Cq1W*Nd-Gp9}sei>8mKNxdDPpXKx1A2^-I*Kg-% z#{I;Pr&4^|e;p~KZXLgu|D0GhC86ft_9#U9x&ePbk8N#NZ*A|2u=j3nefhqhSjc&E zdVZhbPvubgJ$%$oXQpmXw$?Q+9alf`mtozur+vSEHd{wuTWzI{)E^B7F{D~Y&3~gF zJMpatc2hO_?<{!^=YA$oM|=B6xqZ4&D&Fvw3R`t!4VZT9%0juyZwkd_QMxP4Ja2Ls zmUrZ5;fuNHHL|Bod|K&AJNtjd#2%sAVovG>VIFf%SZ+fHx&!B`IPim|uMlm%87x zRO;eBII$W1Z>om1zsI_h)-aKrPEpU@JuZOoLs_y;hA(i}7kXD*&G-#>8|l!I#3ObW zGs}Q=_A*=Ze9eZMitf$DItJg**3EtR=*Fnfz_kb&)upP^sG_Y6fZh;C@8R8$&3{Ke z$7ZANK%^ejm+u(Arh6@v@a9=^+WSF(0*(wBb@3QLDxN5s`sax&SU7=c!@5jBJ~9rU z_H;Ed@Ol4A)Rexf=>9nd)i&dX@?+*u+m3X~NiZDey-S>=rE`8tVQX}xi6N{3<~C<% zHdFx9U|Ad{z2#q#ERM}JUZ@1Ame)7Y4;~+gF zDS~m>fE5CULr9C;nkTQ7rH&BV0S7_{A|X^R0Og6@ZZNEyXjs`#_D3gYitDRZQzxHG z42Y)+40e<{hjjCQ_S82$=WIff@|&JoG4Th|%Qrx32MGam$UQJzsCsKO-K!M2|A>HZ z1X{)LdT3Sz8AkJsOum!nCpwaTttv>C78}QKKy@^IXqQE`2d+hVghk0dsL@7Y3g}V9 zAzTcNgXjeUY`7sJl0c)K$5FVK$P2$;{*%wtR}PP{lpdiPq>Na=>-R~M823t|#(Scg zg%}l-?;?R9wdE`+O_Tt~Y3JvVFlDdOA)e`@AV+}B52)LBh5~igmbXPzZh2?#)PgYE z337_?z#d$v0%G~Pe<6V_urkV^`Ieq$-J&hw#6?+9$v}FLAE%=bUF1jfLV-KRKG$_l z1n4kB1aXm`tLr4s^0Uaja!2+TS!E> zdMFjZ#G_@*XuMJLAibPR=>-Dd7lKY~N5j3!W!sBFh!ZbFCH8B4

LXkEG2jOcZ#~|5$V{xQbDgXQk*D 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 at{T84(I^|8f`f8KwZ^G>b 2: # receive filename and additional flags from karoo_gp_server.py via argparse + data_x = np.loadtxt(filename, skiprows = 1, delimiter = ',', dtype = float); data_x = data_x[:,0:-1] # load all but the right-most column + data_y = np.loadtxt(filename, skiprows = 1, usecols = (-1,), delimiter = ',', dtype = float) # load only right-most column (class labels) + header = open(filename,'r') + self.dataset = filename + + fitt_dict = {'c':'max', 'r':'min', 'm':'max', 'p':''} + self.fitness_type = fitt_dict[self.kernel] # load fitness type + + func_dict = {'c':cwd + '/files/operators_CLASSIFY.csv', 'r':cwd + '/files/operators_REGRESS.csv', 'm':cwd + '/files/operators_MATCH.csv', 'p':cwd + '/files/operators_PLAY.csv'} + self.functions = np.loadtxt(func_dict[self.kernel], delimiter=',', skiprows=1, dtype = str) # load the user defined functions (operators) + self.terminals = header.readline().split(','); self.terminals[-1] = self.terminals[-1].replace('\n','') # load the user defined terminals (operands) + self.class_labels = len(np.unique(data_y)) # load the user defined labels for classification or solutions for regression + self.coeff = np.loadtxt(cwd + '/files/coefficients.csv', delimiter=',', skiprows=1, dtype = str) # load the user defined coefficients - NOT USED YET + + + ### 2) from the dataset, extract TRAINING and TEST data ### + + if len(data_x) < 11: # for small datasets we will not split them into TRAINING and TEST components + data_train = np.c_[data_x, data_y] + data_test = np.c_[data_x, data_y] + + else: # if larger than 10, we run the data through the SciKit Learn's 'random split' function + x_train, x_test, y_train, y_test = skcv.train_test_split(data_x, data_y, test_size = 0.2) # 80/20 TRAIN/TEST split + data_x, data_y = [], [] # clear from memory + + data_train = np.c_[x_train, y_train] # recombine each row of data with its associated label (right column) + x_train, y_train = [], [] # clear from memory + + data_test = np.c_[x_test, y_test] # recombine each row of data with its associated label (right column) + x_test, y_test = [], [] # clear from memory + + self.data_train_cols = len(data_train[0,:]) # qty count + self.data_train_rows = len(data_train[:,0]) # qty count + self.data_test_cols = len(data_test[0,:]) # qty count + self.data_test_rows = len(data_test[:,0]) # qty count + + + ### 3) load TRAINING and TEST data for TensorFlow processing - tested 2017 02/02 + + self.data_train = data_train # Store train data for processing in TF + self.data_test = data_test # Store test data for processing in TF + self.tf_device = "/gpu:0" # Set TF computation backend device (CPU or GPU) + self.tf_device_log = False # TF device usage logging (for debugging) + + + ### 4) create a unique directory and initialise all .csv files ### + + # self.datetime = datetime.datetime.now().strftime('%Y-%m-%d_%H-%M-%S') + self.datetime = datetime.now().strftime('%Y-%m-%d_%H-%M-%S') + self.path = os.path.join(cwd, 'runs/', self.datetime) # generate a unique directory name + if not os.path.isdir(self.path): os.makedirs(self.path) # make a unique directory + + self.filename = {} # a dictionary to hold .csv filenames + + self.filename.update( {'a':self.path + '/population_a.csv'} ) + target = open(self.filename['a'], 'w') # initialise the .csv file for population 'a' (foundation) + target.close() + + self.filename.update( {'b':self.path + '/population_b.csv'} ) + target = open(self.filename['b'], 'w') # initialise the .csv file for population 'b' (evolving) + target.close() + + self.filename.update( {'f':self.path + '/population_f.csv'} ) + target = open(self.filename['f'], 'w') # initialise the .csv file for the final population (test) + target.close() + + self.filename.update( {'s':self.path + '/population_s.csv'} ) + # do NOT initialise this .csv file, as it is retained for loading a previous run (recover) + + return + + + def fx_karoo_data_recover(self, population): + + ''' + This method is used to load a saved population of Trees, as invoked through the (pause) menu where population_s + replaces population_a in the /[path]/karoo_gp/runs/ directory. + + Arguments required: population size + ''' + + with open(population, 'rb') as csv_file: + target = csv.reader(csv_file, delimiter=',') + n = 0 # track row count + + for row in target: + + n = n + 1 + if n == 1: pass # skip first empty row + + elif n == 2: + self.population_a = [row] # write header to population_a + + else: + if row == []: + self.tree = np.array([[]]) # initialise Tree array + + else: + if self.tree.shape[1] == 0: + self.tree = np.append(self.tree, [row], axis = 1) # append first row to Tree + + else: + self.tree = np.append(self.tree, [row], axis = 0) # append subsequent rows to Tree + + if self.tree.shape[0] == 13: + self.population_a.append(self.tree) # append complete Tree to population list + + print self.population_a + + return + + + def fx_karoo_construct(self, tree_type, tree_depth_base): + + ''' + As used by the method 'karoo_gp', this method constructs the initial population based upon the user-defined + Tree type and initial, maximum Tree depth ('tree_depth_base'). "Ramped half/half" was defined by John Koza as + a means of building maximum diversity in the initial population. There are equal numbers of Full and Grow + methods trees, and an equal spread of Trees across depths 1 to 'tree_depth_base'. + + Arguments required: tree_type, tree_depth_base + ''' + + if self.display == 'i' or self.display == 'g': + print '\n\t Type \033[1m?\033[0;0m at any (pause) to review your options, or \033[1mENTER\033[0;0m to continue.\033[0;0m' + self.fx_karoo_pause(0) + + if tree_type == 'r': # Ramped 50/50 + + TREE_ID = 1 + for n in range(1, int((self.tree_pop_max / 2) / tree_depth_base) + 1): # split the population into equal parts + for depth in range(1, tree_depth_base + 1): # build 2 Trees ats each depth + self.fx_gen_tree_build(TREE_ID, 'f', depth) # build a Full Tree + self.fx_archive_tree_append(self.tree) # append Tree to the list 'gp.population_a' + TREE_ID = TREE_ID + 1 + + self.fx_gen_tree_build(TREE_ID, 'g', depth) # build a Grow Tree + self.fx_archive_tree_append(self.tree) # append Tree to the list 'gp.population_a' + TREE_ID = TREE_ID + 1 + + if TREE_ID < self.tree_pop_max: # eg: split 100 by 2*3 and it will produce only 96 Trees ... + for n in range(self.tree_pop_max - TREE_ID + 1): # ... so we complete the run + self.fx_gen_tree_build(TREE_ID, 'g', tree_depth_base) + self.fx_archive_tree_append(self.tree) + TREE_ID = TREE_ID + 1 + + else: pass + + else: # Full or Grow + for TREE_ID in range(1, self.tree_pop_max + 1): + self.fx_gen_tree_build(TREE_ID, tree_type, tree_depth_base) # build the 1st generation of Trees + self.fx_archive_tree_append(self.tree) + + return + + + def fx_karoo_reproduce(self): + + ''' + Through tournament selection, a single Tree from the prior generation is copied without mutation to the next + generation. This is analogous to a member of the prior generation directly entering the gene pool of the + subsequent (younger) generation. + + Arguments required: none + ''' + + if self.display != 's': + if self.display == 'i': print '' + print ' Perform', self.evolve_repro, 'Reproductions ...' + if self.display == 'i': self.fx_karoo_pause(0) + + for n in range(self.evolve_repro): # quantity of Trees to be copied without mutation + tourn_winner = self.fx_fitness_tournament(self.tourn_size) # perform tournament selection for each reproduction + tourn_winner = self.fx_evolve_fitness_wipe(tourn_winner) # wipe fitness data + self.population_b.append(tourn_winner) # append array to next generation population of Trees + + return + + + def fx_karoo_point_mutate(self): + + ''' + Through tournament selection, a copy of a Tree from the prior generation mutates before being added to the + next generation. In this method, a single point is selected for mutation while maintaining function nodes as + functions (operators) and terminal nodes as terminals (variables). The size and shape of the Tree will remain + identical. + + Arguments required: none + ''' + + if self.display != 's': + if self.display == 'i': print '' + print ' Perform', self.evolve_point, 'Point Mutations ...' + if self.display == 'i': self.fx_karoo_pause(0) + + for n in range(self.evolve_point): # quantity of Trees to be generated through mutation + tourn_winner = self.fx_fitness_tournament(self.tourn_size) # perform tournament selection for each mutation + tourn_winner, node = self.fx_evolve_point_mutate(tourn_winner) # perform point mutation; return single point for record keeping + self.population_b.append(tourn_winner) # append array to next generation population of Trees + + return + + + def fx_karoo_branch_mutate(self): + + ''' + Through tournament selection, a copy of a Tree from the prior generation mutates before being added to the + next generation. Unlike Point Mutation, in this method an entire branch is selected. If the evolutionary run is + designated as Full, the size and shape of the Tree will remain identical, each node mutated sequentially, where + functions remain functions and terminals remain terminals. If the evolutionary run is designated as Grow or + Ramped Half/Half, the size and shape of the Tree may grow smaller or larger, but it may not exceed + tree_depth_max as defined by the user. + + Arguments required: none + ''' + + if self.display != 's': + if self.display == 'i': print '' + print ' Perform', self.evolve_branch, 'Full or Grow Mutations ...' + if self.display == 'i': self.fx_karoo_pause(0) + + for n in range(self.evolve_branch): # quantity of Trees to be generated through mutation + tourn_winner = self.fx_fitness_tournament(self.tourn_size) # perform tournament selection for each mutation + branch = self.fx_evolve_branch_select(tourn_winner) # select point of mutation and all nodes beneath + + # TEST & DEBUG: comment the top or bottom to force all Full or all Grow methods + + if tourn_winner[1][1] == 'f': # perform Full method mutation on 'tourn_winner' + tourn_winner = self.fx_evolve_full_mutate(tourn_winner, branch) + + elif tourn_winner[1][1] == 'g': # perform Grow method mutation on 'tourn_winner' + tourn_winner = self.fx_evolve_grow_mutate(tourn_winner, branch) + + self.population_b.append(tourn_winner) # append array to next generation population of Trees + + return + + + def fx_karoo_crossover(self): + + ''' + Through tournament selection, two trees are selected as parents to produce two offspring. Within each parent + Tree a branch is selected. Parent A is copied, with its selected branch deleted. Parent B's branch is then + copied to the former location of Parent A's branch and inserted (grafted). The size and shape of the child + Tree may be smaller or larger than either of the parents, but may not exceed 'tree_depth_max' as defined + by the user. + + This process combines genetic code from two parent Trees, both of which were chosen by the tournament process + as having a higher fitness than the average population. Therefore, there is a chance their offspring will + provide an improvement in total fitness. In most GP applications, Crossover is the most commonly applied + evolutionary operator (~70-80%). + + For those who like to watch, select 'db' (debug mode) at the launch of Karoo GP or at any (pause). + + Arguments required: none + ''' + + if self.display != 's': + if self.display == 'i': print '' + print ' Perform', self.evolve_cross, 'Crossovers ...' + if self.display == 'i': self.fx_karoo_pause(0) + + for n in range(self.evolve_cross / 2): # quantity of Trees to be generated through Crossover, accounting for 2 children each + + parent_a = self.fx_fitness_tournament(self.tourn_size) # perform tournament selection for 'parent_a' + branch_a = self.fx_evolve_branch_select(parent_a) # select branch within 'parent_a', to copy to 'parent_b' and receive a branch from 'parent_b' + + parent_b = self.fx_fitness_tournament(self.tourn_size) # perform tournament selection for 'parent_b' + branch_b = self.fx_evolve_branch_select(parent_b) # select branch within 'parent_b', to copy to 'parent_a' and receive a branch from 'parent_a' + + parent_c = np.copy(parent_a); branch_c = np.copy(branch_a) # else the Crossover mods affect the parent Trees, due to how Python manages '=' + parent_d = np.copy(parent_b); branch_d = np.copy(branch_b) # else the Crossover mods affect the parent Trees, due to how Python manages '=' + + offspring_1 = self.fx_evolve_crossover(parent_a, branch_a, parent_b, branch_b) # perform Crossover + self.population_b.append(offspring_1) # append the 1st child to next generation of Trees + + offspring_2 = self.fx_evolve_crossover(parent_d, branch_d, parent_c, branch_c) # perform Crossover + self.population_b.append(offspring_2) # append the 2nd child to next generation of Trees + + return + + + def fx_karoo_pause(self, eol): + + ''' + Pause the program execution and output to screen until the user selects a valid option. The "eol" parameter + instructs this method to display a different screen for run-time or end-of-line, and to dive back into the + current run, or do nothing, accordingly. + + Arguments required: eol + ''' + + options = ['?','help','i','m','g','s','db','ts','min','max','bal','id','pop','dir','l','p','t','cont','load','w','q',''] + + while True: + try: + pause = raw_input('\n\t\033[36m (pause) \033[0;0m') + if pause not in options: raise ValueError() + if pause == '': + if eol == 1: self.fx_karoo_pause(1) # return to pause menu as the GP run is complete + else: break # drop back into the current GP run + + if pause == '?' or pause == 'help': + print '\n\t\033[36mSelect one of the following options:\033[0;0m' + print '\t\033[36m\033[1m i \t\033[0;0m Interactive display mode' + print '\t\033[36m\033[1m m \t\033[0;0m Minimal display mode' + print '\t\033[36m\033[1m g \t\033[0;0m Generation display mode' + print '\t\033[36m\033[1m s \t\033[0;0m Silent display mode' + print '\t\033[36m\033[1m db \t\033[0;0m De-Bug display mode' + print '' + print '\t\033[36m\033[1m ts \t\033[0;0m adjust the tournament size' + print '\t\033[36m\033[1m min \t\033[0;0m adjust the minimum number of nodes' + # print '\t\033[36m\033[1m max \t\033[0;0m adjust the maximum Tree depth' + print '\t\033[36m\033[1m bal \t\033[0;0m adjust the balance of genetic operators' + print '' + print '\t\033[36m\033[1m l \t\033[0;0m list Trees with leading fitness scores' + print '\t\033[36m\033[1m t \t\033[0;0m evaluate a single Tree against the test data' + print '' + print '\t\033[36m\033[1m p \t\033[0;0m print a single Tree to screen' + print '\t\033[36m\033[1m id \t\033[0;0m display the current generation ID' + print '\t\033[36m\033[1m pop \t\033[0;0m list all Trees in current population' + print '\t\033[36m\033[1m dir \t\033[0;0m display current working directory' + print '' + print '\t\033[36m\033[1m cont \t\033[0;0m continue evolution, starting with the current population' + print '\t\033[36m\033[1m load \t\033[0;0m load population_s (seed) to replace population_a (current)' + print '\t\033[36m\033[1m w \t\033[0;0m write the evolving population_b to disk' + print '\t\033[36m\033[1m q \t\033[0;0m quit Karoo GP without saving population_b' + print '' + + if eol == 1: print '\t\033[0;0m Remember to archive your final population before your next run!' + else: print '\t\033[36m\033[1m ENTER\033[0;0m to continue ...' + + elif pause == 'i': self.display = 'i'; print '\t Interactive display mode engaged (for control freaks)' + elif pause == 'm': self.display = 'm'; print '\t Minimal display mode engaged (for recovering control freaks)' + elif pause == 'g': self.display = 'g'; print '\t Generation display mode engaged (for GP gurus)' + elif pause == 's': self.display = 's'; print '\t Silent display mode engaged (for zen masters)' + elif pause == 'db': self.display = 'db'; print '\t De-Bug display mode engaged (for vouyers)' + + + elif pause == 'ts': # adjust the tournament size + menu = range(2,self.tree_pop_max + 1) # set to total population size only for the sake of experimentation + while True: + try: + print '\n\t The current tournament size is:', self.tourn_size + query = int(raw_input('\t Adjust the tournament size (suggest 10): ')) + if query not in menu: raise ValueError() + self.tourn_size = query; break + except ValueError: print '\n\t\033[32m Enter a number from 2 including', str(self.tree_pop_max) + ".", 'Try again ...\033[0;0m' + + + elif pause == 'min': # adjust the global, minimum number of nodes per Tree + menu = range(3,1001) # we must have at least 3 nodes, as in: x * y; 1000 is an arbitrary number + while True: + try: + print '\n\t The current minimum number of nodes is:', self.tree_depth_min + query = int(raw_input('\t Adjust the minimum number of nodes for all Trees (min 3): ')) + if query not in menu: raise ValueError() + self.tree_depth_min = query; break + except ValueError: print '\n\t\033[32m Enter a number from 3 including 1000. Try again ...\033[0;0m' + + + # NEED TO ADD: adjustable tree_depth_max + #elif pause == 'max': # adjust the global, adjusted maximum Tree depth + # + # menu = range(1,11) + # while True: + # try: + # print '\n\t The current \033[3madjusted\033[0;0m maximum Tree depth is:', self.tree_depth_max + # query = int(raw_input('\n\t Adjust the global maximum Tree depth to (1 ... 10): ')) + # if query not in menu: raise ValueError() + # if query < self.tree_depth_max: + # print '\n\t\033[32m This value is less than the current value.\033[0;0m' + # conf = raw_input('\n\t Are you ok with this? (y/n) ') + # if conf == 'n': break + # except ValueError: print '\n\t\033[32m Enter a number from 1 including 10. Try again ...\033[0;0m' + + + elif pause == 'bal': # adjust the balance of genetic operators' + print '\n\t The current balance of genetic operators is:' + print '\t\t Reproduction:', self.evolve_repro; tmp_repro = self.evolve_repro + print '\t\t Point Mutation:', self.evolve_point; tmp_point = self.evolve_point + print '\t\t Branch Mutation:', self.evolve_branch; tmp_branch = self.evolve_branch + print '\t\t Crossover:', self.evolve_cross, '\n'; tmp_cross = self.evolve_cross + + menu = range(0,1000) # 0 to 1000 expresssed as an integer + + while True: + try: + query = raw_input('\t Enter quantity of Trees to be generated by Reproduction: ') + if query not in str(menu): raise ValueError() + elif query == '': break + tmp_repro = int(float(query)); break + except ValueError: print '\n\t\033[32m Enter a number from 0 including 1000. Try again ...\033[0;0m' + + while True: + try: + query = raw_input('\t Enter quantity of Trees to be generated by Point Mutation: ') + if query not in str(menu): raise ValueError() + elif query == '': break + tmp_point = int(float(query)); break + except ValueError: print '\n\t\033[32m Enter a number from 0 including 1000. Try again ...\033[0;0m' + + while True: + try: + query = raw_input('\t Enter quantity of Trees to be generated by Branch Mutation: ') + if query not in str(menu): raise ValueError() + elif query == '': break + tmp_branch = int(float(query)); break + except ValueError: print '\n\t\033[32m Enter a number from 0 including 1000. Try again ...\033[0;0m' + + while True: + try: + query = raw_input('\t Enter quantity of Trees to be generated by Crossover: ') + if query not in str(menu): raise ValueError() + elif query == '': break + tmp_cross = int(float(query)); break + except ValueError: print '\n\t\033[32m Enter a number from 0 including 1000. Try again ...\033[0;0m' + + if tmp_repro + tmp_point + tmp_branch + tmp_cross != self.tree_pop_max: print '\n\t The sum of the above does not equal', self.tree_pop_max, 'Try again ...' + else: + print '\n\t The revised balance of genetic operators is:' + self.evolve_repro = tmp_repro; print '\t\t Reproduction:', self.evolve_repro + self.evolve_point = tmp_point; print '\t\t Point Mutation:', self.evolve_point + self.evolve_branch = tmp_branch; print '\t\t Branch Mutation:', self.evolve_branch + self.evolve_cross = tmp_cross; print '\t\t Crossover:', self.evolve_cross + + + elif pause == 'l': # display dictionary of Trees with the best fitness score + print '\n\t The leading Trees and their associated expressions are:' + for n in sorted(self.fittest_dict): print '\t ', n, ':', self.fittest_dict[n] + + + elif pause == 't': # evaluate a Tree against the TEST data + if self.generation_id > 1: + menu = range(1, len(self.population_b)) + while True: + try: + query = raw_input('\n\t Select a Tree in population_b to test: ') + if query not in str(menu) or query == '0': raise ValueError() + elif query == '': break + + self.fx_eval_poly(self.population_b[int(query)]) # generate the raw and sympified equation for the given Tree using SymPy + + # get simplified expression and process it by TF - tested 2017 02/02 + expr = str(self.algo_sym) # might change this to algo_raw for more correct expression evaluation + result = self.fx_fitness_eval(expr, self.data_test, get_labels=True) + + print '\n\t\033[36mTree', query, 'yields (raw):', self.algo_raw, '\033[0;0m' + print '\t\033[36mTree', query, 'yields (sym):\033[1m', self.algo_sym, '\033[0;0m\n' + + # test user selected Trees using TF - tested 2017 02/02 + if self.kernel == 'c': self.fx_fitness_test_classify(result); break + elif self.kernel == 'r': self.fx_fitness_test_regress(result); break + elif self.kernel == 'm': self.fx_fitness_test_match(result); break + # elif self.kernel == '[other]': self.fx_fitness_test_[other](result); break + + except ValueError: print '\n\t\033[32m Enter a number from 1 including', str(len(self.population_b) - 1) + ".", 'Try again ...\033[0;0m' + + else: print '\n\t\033[32m Karoo GP does not enable evaluation of the foundation population. Be patient ...\033[0;0m' + + + elif pause == 'p': # print a Tree to screen -- NEED TO ADD: SymPy graphical print option + if self.generation_id == 1: + menu = range(1,len(self.population_a)) + while True: + try: + query = raw_input('\n\t Select a Tree to print: ') + if query not in str(menu) or query == '0': raise ValueError() + elif query == '': break + self.fx_display_tree(self.population_a[int(query)]); break + except ValueError: print '\n\t\033[32m Enter a number from 1 including', str(len(self.population_a) - 1) + ".", 'Try again ...\033[0;0m' + + elif self.generation_id > 1: + menu = range(1,len(self.population_b)) + while True: + try: + query = raw_input('\n\t Select a Tree to print: ') + if query not in str(menu) or query == '0': raise ValueError() + elif query == '': break + self.fx_display_tree(self.population_b[int(query)]); break + except ValueError: print '\n\t\033[32m Enter a number from 1 including', str(len(self.population_b) - 1) + ".", 'Try again ...\033[0;0m' + + else: print '\n\t\033[36m There is nor forest for which to see the Trees.\033[0;0m' + + + elif pause == 'id': print '\n\t The current generation is:', self.generation_id + + + elif pause == 'pop': # list Trees in the current population + print '' + if self.generation_id == 1: + for tree_id in range(1, len(self.population_a)): + self.fx_eval_poly(self.population_a[tree_id]) # extract the expression + print '\t\033[36m Tree', self.population_a[tree_id][0][1], 'yields (sym):\033[1m', self.algo_sym, '\033[0;0m' + + elif self.generation_id > 1: + for tree_id in range(1, len(self.population_b)): + self.fx_eval_poly(self.population_b[tree_id]) # extract the expression + print '\t\033[36m Tree', self.population_b[tree_id][0][1], 'yields (sym):\033[1m', self.algo_sym, '\033[0;0m' + + else: print '\n\t\033[36m There is nor forest for which to see the Trees.\033[0;0m' + + + elif pause == 'dir': print '\n\t The current working directory is:', self.path + + + elif pause == 'cont': # continue evolution, starting with the current population + menu = range(1,101) + while True: + try: + query = raw_input('\n\t How many more generations would you like to add? (1-100): ') + if query not in str(menu) or query == '0': raise ValueError() + elif query == '': break + self.generation_max = self.generation_max + int(query) + next_gen_start = self.generation_id + 1 + self.fx_karoo_continue(next_gen_start) # continue evolving, starting with the last population + except ValueError: print '\n\t\033[32m Enter a number from 1 including 100. Try again ...\033[0;0m' + + + elif pause == 'load': # load population_s to replace population_a + while True: + try: + query = raw_input('\n\t Overwrite the current population with population_s? ') + if query not in ['y','n']: raise ValueError() + if query == 'y': self.fx_karoo_data_recover(self.filename['s']); break + elif query == 'n': break + except ValueError: print '\n\t\033[32m Enter (y)es or (n)o. Try again ...\033[0;0m' + + + elif pause == 'w': # write the evolving population_b to disk + if self.generation_id > 1: + self.fx_archive_tree_write(self.population_b, 'b') + print '\t\033[36m All current members of the evolving population_b saved to .csv\033[0;0m' + + else: print '\n\t\033[36m The evolving population_b does not yet exist\033[0;0m' + + + elif pause == 'q': + if eol == 0: # if the GP run is not at the final generation + query = raw_input('\n\t \033[32mThe current population_b will be lost!\033[0;0m\n\n\t Are you certain you want to quit? (y/n)') + if query == 'y': + self.fx_archive_params_write('Desktop') # save run-time parameters to disk + sys.exit() # quit the script without saving population_b + else: break + + else: # if the GP run is complete + query = raw_input('\n\t Are you certain you want to quit? (y/n)') + if query == 'y': + print '\n\t \033[32mYour Trees and runtime parameters are archived in karoo_gp/runs/\033[0;0m' + self.fx_archive_params_write('Desktop') # save run-time parameters to disk + sys.exit() + else: self.fx_karoo_pause(1) + + except ValueError: print '\t\033[32m Select from the options given. Try again ...\033[0;0m' + except KeyboardInterrupt: print '\n\t\033[32m Enter q to quit\033[0;0m' + + return + + + def fx_karoo_continue(self, next_gen_start): + + ''' + This method enables the launch of another full run of Karoo GP, but starting with a seed generation + instead of with a randomly generated first population. This can be used at the end of a standard run to + continue the evoluationary process, or after having recovered a set of trees from a prior run. + + Arguments required: next_gen_start + ''' + + for self.generation_id in range(next_gen_start, self.generation_max + 1): # evolve additional generations of Trees + + print '\n Evolve a population of Trees for Generation', self.generation_id, '...' + self.population_b = ['Karoo GP by Kai Staats, Evolving Generation'] # initialise population_b to host the next generation + + self.fx_fitness_gene_pool() # generate the viable gene pool (compares against gp.tree_depth_min) + self.fx_karoo_reproduce() # method 1 - Reproduction + self.fx_karoo_point_mutate() # method 2 - Point Mutation + self.fx_karoo_branch_mutate() # method 3 - Branch Mutation + self.fx_karoo_crossover() # method 4 - Crossover + self.fx_eval_generation() # evaluate all Trees in a single generation + + self.population_a = self.fx_evolve_pop_copy(self.population_b, ['GP Tree by Kai Staats, Generation ' + str(self.generation_id)]) + + # "End of line, man!" --CLU + target = open(self.filename['f'], 'w') # reset the .csv file for the final population + target.close() + + self.fx_archive_tree_write(self.population_b, 'f') # save the final generation of Trees to disk + self.fx_karoo_eol() + + return + + + def fx_karoo_eol(self): + + ''' + The very last method to run in Karoo GP. + + Arguments required: none + ''' + + print '\n\033[3m "It is not the strongest of the species that survive, nor the most intelligent,\033[0;0m' + print '\033[3m but the one most responsive to change."\033[0;0m --Charles Darwin' + print '' + print '\033[3m Congrats!\033[0;0m Your multi-generational Karoo GP run is complete.\n' + print '\033[36m Type \033[1m?\033[0;0m\033[36m to review your options or \033[1mq\033[0;0m\033[36m to quit.\033[0;0m\n' + self.fx_karoo_pause(1) + + return + + + #++++++++++++++++++++++++++++++++++++++++++ + # Methods to Generate a new Tree | + #++++++++++++++++++++++++++++++++++++++++++ + + def fx_gen_tree_initialise(self, TREE_ID, tree_type, tree_depth_base): + + ''' + Assign 13 global variables to the array 'tree'. + + Build the array 'tree' with 13 rows and initally, just 1 column of labels. This array will grow as each new + node is appended. The values of this array are stored as string characters. Numbers will be forced to integers + at the point of execution. + + This method is called by 'fx_gen_tree_build'. + + Arguments required: TREE_ID, tree_type, tree_depth_base + ''' + + self.pop_TREE_ID = TREE_ID # pos 0: a unique identifier for each tree + self.pop_tree_type = tree_type # pos 1: a global constant based upon the initial user setting + self.pop_tree_depth_base = tree_depth_base # pos 2: a global variable which conveys 'tree_depth_base' as unique to each new Tree + self.pop_NODE_ID = 1 # pos 3: unique identifier for each node; this is the INDEX KEY to this array + self.pop_node_depth = 0 # pos 4: depth of each node when committed to the array + self.pop_node_type = '' # pos 5: root, function, or terminal + self.pop_node_label = '' # pos 6: operator [+, -, *, ...] or terminal [a, b, c, ...] + self.pop_node_parent = '' # pos 7: parent node + self.pop_node_arity = '' # pos 8: number of nodes attached to each non-terminal node + self.pop_node_c1 = '' # pos 9: child node 1 + self.pop_node_c2 = '' # pos 10: child node 2 + self.pop_node_c3 = '' # pos 11: child node 3 (assumed max of 3 with boolean operator 'if') + self.pop_fitness = '' # pos 12: fitness score following Tree evaluation + + self.tree = np.array([ ['TREE_ID'],['tree_type'],['tree_depth_base'],['NODE_ID'],['node_depth'],['node_type'],['node_label'],['node_parent'],['node_arity'],['node_c1'],['node_c2'],['node_c3'],['fitness'] ]) + + return + + + ### Root Node ### + + def fx_gen_root_node_build(self): + + ''' + Build the Root node for the initial population. + + This method is called by 'fx_gen_tree_build'. + + Arguments required: none + ''' + + self.fx_gen_function_select() # select the operator for root + + if self.pop_node_arity == 1: # 1 child + self.pop_node_c1 = 2 + self.pop_node_c2 = '' + self.pop_node_c3 = '' + + elif self.pop_node_arity == 2: # 2 children + self.pop_node_c1 = 2 + self.pop_node_c2 = 3 + self.pop_node_c3 = '' + + elif self.pop_node_arity == 3: # 3 children + self.pop_node_c1 = 2 + self.pop_node_c2 = 3 + self.pop_node_c3 = 4 + + else: print '\n\t\033[31m ERROR! In fx_gen_root_node_build: pop_node_arity =', self.pop_node_arity, '\033[0;0m'; self.fx_karoo_pause(0) + + self.pop_node_type = 'root' + + self.fx_gen_node_commit() + + return + + + ### Function Nodes ### + + def fx_gen_function_node_build(self): + + ''' + Build the Function nodes for the intial population. + + This method is called by 'fx_gen_tree_build'. + + Arguments required: none + ''' + + for i in range(1, self.pop_tree_depth_base): # increment depth, from 1 through 'tree_depth_base' - 1 + + self.pop_node_depth = i # increment 'node_depth' + + parent_arity_sum = 0 + prior_sibling_arity = 0 # reset for 'c_buffer' in 'children_link' + prior_siblings = 0 # reset for 'c_buffer' in 'children_link' + + for j in range(1, len(self.tree[3])): # increment through all nodes (exclude 0) in array 'tree' + + if int(self.tree[4][j]) == self.pop_node_depth - 1: # find parent nodes which reside at the prior depth + parent_arity_sum = parent_arity_sum + int(self.tree[8][j]) # sum arities of all parent nodes at the prior depth + + # (do *not* merge these 2 "j" loops or it gets all kinds of messed up) + + for j in range(1, len(self.tree[3])): # increment through all nodes (exclude 0) in array 'tree' + + if int(self.tree[4][j]) == self.pop_node_depth - 1: # find parent nodes which reside at the prior depth + + for k in range(1, int(self.tree[8][j]) + 1): # increment through each degree of arity for each parent node + self.pop_node_parent = int(self.tree[3][j]) # set the parent 'NODE_ID' ... + prior_sibling_arity = self.fx_gen_function_gen(parent_arity_sum, prior_sibling_arity, prior_siblings) # ... generate a Function ndoe + prior_siblings = prior_siblings + 1 # sum sibling nodes (current depth) who will spawn their own children (cousins? :) + + return + + + def fx_gen_function_gen(self, parent_arity_sum, prior_sibling_arity, prior_siblings): + + ''' + Generate a single Function node for the initial population. + + This method is called by 'fx_gen_function_node_build'. + + Arguments required: parent_arity_sum, prior_sibling_arity, prior_siblings + ''' + + if self.pop_tree_type == 'f': # user defined as (f)ull + self.fx_gen_function_select() # retrieve a function + self.fx_gen_child_link(parent_arity_sum, prior_sibling_arity, prior_siblings) # establish links to children + + elif self.pop_tree_type == 'g': # user defined as (g)row + rnd = np.random.randint(2) + + if rnd == 0: # randomly selected as Function + self.fx_gen_function_select() # retrieve a function + self.fx_gen_child_link(parent_arity_sum, prior_sibling_arity, prior_siblings) # establish links to children + + elif rnd == 1: # randomly selected as Terminal + self.fx_gen_terminal_select() # retrieve a terminal + self.pop_node_c1 = '' + self.pop_node_c2 = '' + self.pop_node_c3 = '' + + self.fx_gen_node_commit() # commit new node to array + prior_sibling_arity = prior_sibling_arity + self.pop_node_arity # sum the arity of prior siblings + + return prior_sibling_arity + + + def fx_gen_function_select(self): + + ''' + Define a single Function (operator extracted from the associated functions.csv) for the initial population. + + This method is called by 'fx_gen_function_gen' and 'fx_gen_root_node_build'. + + Arguments required: none + ''' + + self.pop_node_type = 'func' + rnd = np.random.randint(0, len(self.functions[:,0])) # call the previously loaded .csv which contains all operators + self.pop_node_label = self.functions[rnd][0] + self.pop_node_arity = int(self.functions[rnd][1]) + + return + + + ### Terminal Nodes ### + + def fx_gen_terminal_node_build(self): + + ''' + Build the Terminal nodes for the intial population. + + This method is called by 'fx_gen_tree_build'. + + Arguments required: none + ''' + + self.pop_node_depth = self.pop_tree_depth_base # set the final node_depth (same as 'gp.pop_node_depth' + 1) + + for j in range(1, len(self.tree[3]) ): # increment through all nodes (exclude 0) in array 'tree' + + if int(self.tree[4][j]) == self.pop_node_depth - 1: # find parent nodes which reside at the prior depth + + for k in range(1,(int(self.tree[8][j]) + 1)): # increment through each degree of arity for each parent node + self.pop_node_parent = int(self.tree[3][j]) # set the parent 'NODE_ID' ... + self.fx_gen_terminal_gen() # ... generate a Terminal node + + return + + + def fx_gen_terminal_gen(self): + + ''' + Generate a single Terminal node for the initial population. + + This method is called by 'fx_gen_terminal_node_build'. + + Arguments required: none + ''' + + self.fx_gen_terminal_select() # retrieve a terminal + self.pop_node_c1 = '' + self.pop_node_c2 = '' + self.pop_node_c3 = '' + + self.fx_gen_node_commit() # commit new node to array + + return + + + def fx_gen_terminal_select(self): + + ''' + Define a single Terminal (variable extracted from the top row of the associated TRAINING data) + + This method is called by 'fx_gen_terminal_gen' and 'fx_gen_function_gen'. + + Arguments required: none + ''' + + self.pop_node_type = 'term' + rnd = np.random.randint(0, len(self.terminals) - 1) # call the previously loaded .csv which contains all terminals + self.pop_node_label = self.terminals[rnd] + self.pop_node_arity = 0 + + return + + + ### The Lovely Children ### + + def fx_gen_child_link(self, parent_arity_sum, prior_sibling_arity, prior_siblings): + + ''' + Link each parent node to its children in the intial population. + + This method is called by 'fx_gen_function_gen'. + + Arguments required: parent_arity_sum, prior_sibling_arity, prior_siblings + ''' + + c_buffer = 0 + + for n in range(1, len(self.tree[3]) ): # increment through all nodes (exclude 0) in array 'tree' + + if int(self.tree[4][n]) == self.pop_node_depth - 1: # find all nodes that reside at the prior (parent) 'node_depth' + + c_buffer = self.pop_NODE_ID + (parent_arity_sum + prior_sibling_arity - prior_siblings) # One algo to rule the world! + + if self.pop_node_arity == 0: # terminal in a Grow Tree + self.pop_node_c1 = '' + self.pop_node_c2 = '' + self.pop_node_c3 = '' + + elif self.pop_node_arity == 1: # 1 child + self.pop_node_c1 = c_buffer + self.pop_node_c2 = '' + self.pop_node_c3 = '' + + elif self.pop_node_arity == 2: # 2 children + self.pop_node_c1 = c_buffer + self.pop_node_c2 = c_buffer + 1 + self.pop_node_c3 = '' + + elif self.pop_node_arity == 3: # 3 children + self.pop_node_c1 = c_buffer + self.pop_node_c2 = c_buffer + 1 + self.pop_node_c3 = c_buffer + 2 + + else: print '\n\t\033[31m ERROR! In fx_gen_child_link: pop_node_arity =', self.pop_node_arity, '\033[0;0m'; self.fx_karoo_pause(0) + + return + + + def fx_gen_node_commit(self): + + ''' + Commit the values of a new node (root, function, or terminal) to the array 'tree'. + + This method is called by 'fx_gen_root_node_build' and 'fx_gen_function_gen' and 'fx_gen_terminal_gen'. + + Arguments required: none + ''' + + self.tree = np.append(self.tree, [ [self.pop_TREE_ID],[self.pop_tree_type],[self.pop_tree_depth_base],[self.pop_NODE_ID],[self.pop_node_depth],[self.pop_node_type],[self.pop_node_label],[self.pop_node_parent],[self.pop_node_arity],[self.pop_node_c1],[self.pop_node_c2],[self.pop_node_c3],[self.pop_fitness] ], 1) + + self.pop_NODE_ID = self.pop_NODE_ID + 1 + + return + + + def fx_gen_tree_build(self, TREE_ID, tree_type, tree_depth_base): + + ''' + This method combines 4 sub-methods into a single method for ease of deployment. It is designed to executed + within a loop such that an entire population is built. However, it may also be run from the command line, + passing a single TREE_ID to the method. + + 'tree_type' is either (f)ull or (g)row. Note, however, that when the user selects 'ramped 50/50' at launch, + it is still (f) or (g) which are passed to this method. + + This method is called by a 'fx_evolve_crossover' and 'fx_evolve_grow_mutate' and 'fx_karoo_construct'. + + Arguments required: TREE_ID, tree_type, tree_depth_base + ''' + + self.fx_gen_tree_initialise(TREE_ID, tree_type, tree_depth_base) # initialise a new Tree + self.fx_gen_root_node_build() # build the Root node + self.fx_gen_function_node_build() # build the Function nodes + self.fx_gen_terminal_node_build() # build the Terminal nodes + + return # each Tree is written to 'gp.tree' + + + #++++++++++++++++++++++++++++++++++++++++++ + # Methods to Evaluate a Tree | + #++++++++++++++++++++++++++++++++++++++++++ + + def fx_eval_poly(self, tree): + + ''' + Evaluate a Tree and generate its multivariate expression (both raw and Sympified). + + We need to extract the variables from the expression. However, these variables are no longer correlated + to the original variables listed across the top of each column of data.csv. Therefore, we must re-assign + the respective values for each subsequent row in the data .csv, for each Tree's unique expression. + + Arguments required: tree + ''' + + self.algo_raw = self.fx_eval_label(tree, 1) # pass the root 'node_id', then flatten the Tree to a string + self.algo_sym = sympify(self.algo_raw) # convert string to a functional expression (the coolest line in Karoo! :) + + return + + + def fx_eval_label(self, tree, node_id): + + ''' + Evaluate all or part of a Tree (starting at node_id) and return a raw mutivariate expression ('algo_raw'). + + In the main code, this method is called once per Tree, but may be called at any time to prepare an expression + for any full or partial (branch) Tree contained in 'population'. + + Pass the starting node for recursion via the local variable 'node_id' where the local variable 'tree' is a + copy of the Tree you desire to evaluate. + + Arguments required: tree, node_id + ''' + + # if tree[6, node_id] == 'not': tree[6, node_id] = ', not' # temp until this can be fixed at data_load + + node_id = int(node_id) + + if tree[8, node_id] == '0': # arity of 0 for the pattern '[term]' + return '(' + tree[6, node_id] + ')' # 'node_label' (function or terminal) + + else: + if tree[8, node_id] == '1': # arity of 1 for the explicit pattern 'not [term]' + return self.fx_eval_label(tree, tree[9, node_id]) + tree[6, node_id] # original code + + elif tree[8, node_id] == '2': # arity of 2 for the pattern '[func] [term] [func]' + return self.fx_eval_label(tree, tree[9, node_id]) + tree[6, node_id] + self.fx_eval_label(tree, tree[10, node_id]) + + elif tree[8, node_id] == '3': # arity of 3 for the explicit pattern 'if [term] then [term] else [term]' + return tree[6, node_id] + self.fx_eval_label(tree, tree[9, node_id]) + ' then ' + self.fx_eval_label(tree, tree[10, node_id]) + ' else ' + self.fx_eval_label(tree, tree[11, node_id]) + + + def fx_eval_id(self, tree, node_id): + + ''' + Evaluate all or part of a Tree and return a list of all 'NODE_ID's. + + This method generates a list of all 'NODE_ID's from the given Node and below. It is used primarily to generate + 'branch' for the multi-generational mutation of Trees. + + Pass the starting node for recursion via the local variable 'node_id' where the local variable 'tree' is a copy + of the Tree you desire to evaluate. + + Arguments required: tree, node_id + ''' + + node_id = int(node_id) + + if tree[8, node_id] == '0': # arity of 0 for the pattern '[NODE_ID]' + return tree[3, node_id] # 'NODE_ID' + + else: + if tree[8, node_id] == '1': # arity of 1 for the pattern '[NODE_ID], [NODE_ID]' + return tree[3, node_id] + ', ' + self.fx_eval_id(tree, tree[9, node_id]) + + elif tree[8, node_id] == '2': # arity of 2 for the pattern '[NODE_ID], [NODE_ID], [NODE_ID]' + return tree[3, node_id] + ', ' + self.fx_eval_id(tree, tree[9, node_id]) + ', ' + self.fx_eval_id(tree, tree[10, node_id]) + + elif tree[8, node_id] == '3': # arity of 3 for the pattern '[NODE_ID], [NODE_ID], [NODE_ID], [NODE_ID]' + return tree[3, node_id] + ', ' + self.fx_eval_id(tree, tree[9, node_id]) + ', ' + self.fx_eval_id(tree, tree[10, node_id]) + ', ' + self.fx_eval_id(tree, tree[11, node_id]) + + + def fx_eval_generation(self): + + ''' + This method invokes the evaluation of an entire generation of Trees, as engaged by karoo_gp_server.py and the + 'cont' function of karoo_go_main.py. It automatically evaluates population_b before invoking the copy of _b to _a. + + Arguments required: none + ''' + + if self.display != 's': + if self.display == 'i': print '' + print '\n Evaluate all Trees in Generation', self.generation_id + if self.display == 'i': self.fx_karoo_pause(0) + + self.fx_evolve_tree_renum(self.population_b) # population renumber + self.fx_fitness_gym(self.population_b) # run 'fx_eval', 'fx_fitness', 'fx_fitness_store', and fitness record + self.fx_archive_tree_write(self.population_b, 'a') # archive current population as foundation for next generation + + if self.display != 's': + print '\n Copy gp.population_b to gp.population_a\n' + + return + + + #++++++++++++++++++++++++++++++++++++++++++ + # Methods to Train and Test a Tree | + #++++++++++++++++++++++++++++++++++++++++++ + + def fx_fitness_gym(self, population): + + ''' + Part 1 evaluates each expression against the data, line for line. This is the most time consuming and + computationally expensive part of genetic programming. When GPUs are available, the performance can increase + by many orders of magnitude. + + Part 2 evaluates every Tree in each generation to determine which have the best, overall fitness score. This + could be the highest or lowest depending upon if the fitness function is maximising (higher is better) or + minimising (lower is better). The total fitness score is then saved with each Tree in the external .csv file. + + Part 3 compares the fitness of each Tree to the prior best fit in order to track those that improve with each + comparison. For matching functions, all the Trees will have the same fitness score, but they may present more + than one solution. For minimisation and maximisation functions, the final Tree should present the best overall + fitness for that generation. It is important to note that Part 3 does *not* in any way influence the Tournament + Selection which is a stand-alone process. + + Arguments required: population + ''' + + fitness_best = 0 + self.fittest_dict = {} + time_sum = 0 + + for tree_id in range(1, len(population)): + + ### PART 1 - GENERATE MULTIVARIATE EXPRESSION FOR EACH TREE ### + self.fx_eval_poly(population[tree_id]) # extract the expression + if self.display not in ('s'): print '\t\033[36mTree', population[tree_id][0][1], 'yields (sym):\033[1m', self.algo_sym, '\033[0;0m' + + + ### PART 2 - EVALUATE FITNESS FOR EACH TREE AGAINST TRAINING DATA ### + fitness = 0 + + expr = str(self.algo_sym) # get sympified expression and process it with TF - tested 2017 02/02 + result = self.fx_fitness_eval(expr, self.data_train) + fitness = result['fitness'] # extract fitness score + + if self.display == 'i': + print '\t \033[36m with fitness sum:\033[1m', fitness, '\033[0;0m\n' + + self.fx_fitness_store(population[tree_id], fitness) # store Fitness with each Tree + + + ### PART 3 - COMPARE FITNESS OF ALL TREES IN CURRENT GENERATION ### + if self.kernel == 'c': # display best fit Trees for the CLASSIFY kernel + if fitness >= fitness_best: # find the Tree with Maximum fitness score + fitness_best = fitness # set best fitness score + self.fittest_dict.update({tree_id:self.algo_sym}) # add to dictionary if fitness >= prior + + elif self.kernel == 'r': # display best fit Trees for the REGRESSION kernel + if fitness_best == 0: fitness_best = fitness # set the baseline first time through + if fitness <= fitness_best: # find the Tree with Minimum fitness score + fitness_best = fitness # set best fitness score + self.fittest_dict.update({tree_id:self.algo_sym}) # add to dictionary if fitness <= prior + + elif self.kernel == 'm': # display best fit Trees for the MATCH kernel + if fitness == self.data_train_rows: # find the Tree with a perfect match for all data rows + fitness_best = fitness # set best fitness score + self.fittest_dict.update({tree_id:self.algo_sym}) # add to dictionary if all rows match + + # elif self.kernel == '[other]': # display best fit Trees for the [other] kernel + # if fitness [>=, <=] fitness_best: # find the Tree with [Maximum or Minimum] fitness score + # fitness_best = fitness # set best fitness score + # self.fittest_dict.update({tree_id:self.algo_sym}) # add to dictionary + + print '\n\033[36m ', len(self.fittest_dict.keys()), 'trees\033[1m', np.sort(self.fittest_dict.keys()), '\033[0;0m\033[36moffer the highest fitness scores.\033[0;0m' + if self.display == 'g': self.fx_karoo_pause(0) + + return + + + def fx_fitness_eval(self, expr, data, get_labels = False): # used to be fx_fitness_eval + + ''' + Computes tree expression using TensorFlow (TF) returning results and fitness scores. + + This method orchestrates most of the TF routines by parsing input string expression and converting it into TF + operation graph which then is processed in an isolated TF session to compute the results and corresponding fitness + values. + + 'self.tf_device' - controls which device will be used for computations (CPU or GPU). + 'self.tf_device_log' - controls device placement logging (debug only). + + Args: + 'expr' - a string containing math expression to be computed on the data. Variable names should match corresponding + terminal names in 'self.terminals'. Only algebraic operations are currently supported (+, -, *, /, **). + + 'data' - an 'n by m' matrix of the data points containing n observations and m features each. Variable order should + match corresponding order of terminals in 'self.terminals'. + + 'get_labels' - a boolean flag which controls whether classification labels should be extracted from the results. + This is applied only to the CLASSIFY kernel and defaults to 'False'. + + Returns: + A dict mapping keys to the following outputs: + 'result' - an array of the results of applying given expression to the data + 'labels' - an array of the labels extracted from the results; defined only for CLASSIFY kernel, None otherwise + 'solution' - an array of the solution values extracted from the data (variable 's' in the dataset) + 'pairwise_fitness' - an array of the element-wise results of applying corresponding fitness kernel function + 'fitness' - aggregated scalar fitness score + + Arguments required: expr, data + ''' + + # Initialize TensorFlow session + tf.reset_default_graph() # Reset TF internal state and cache (after previous processing) + config = tf.ConfigProto(log_device_placement=self.tf_device_log, allow_soft_placement=True) + config.gpu_options.allow_growth = True + + with tf.Session(config=config) as sess: + with sess.graph.device(self.tf_device): + + # Load data into TF + tensors = {} + for i in range(len(self.terminals)): + var = self.terminals[i] + tensors[var] = tf.constant(data[:, i], dtype=tf.float32) + + # Transform string expression into TF operation graph + result = self.fx_fitness_expr_parse(expr, tensors) + + labels = tf.no_op() # a placeholder, applies only to CLASSIFY kernel + solution = tensors['s'] # solution value is assumed to be stored in 's' terminal + + # Add fitness computation into TF graph + if self.kernel == 'c': # CLASSIFY kernels + if get_labels: labels = tf.map_fn(self.fx_fitness_labels_map, result, dtype=[tf.int32, tf.string], swap_memory=True) + pairwise_fitness = self.fx_fitness_train_classify(result, tf.cast(solution, tf.float32)) + + elif self.kernel == 'r': # REGRESSION kernel + pairwise_fitness = self.fx_fitness_train_regress(result, tf.cast(solution, tf.float32)) + + elif self.kernel == 'm': # MATCH kernel + pairwise_fitness = self.fx_fitness_train_match(result, solution) + + # elif self.kernel == '[other]': # [OTHER] kernel + # pairwise_fitness = self.fx_fitness_train_[other](result ?, solution ?) + + else: raise Exception('Kernel type is wrong or missing. You entered {}'.format(self.kernel)) + + fitness = tf.reduce_sum(pairwise_fitness) + + # Process TF graph and collect the results + result, labels, solution, fitness, pairwise_fitness = sess.run([result, labels, solution, fitness, pairwise_fitness]) + + return {'result': result, 'labels': labels, 'solution': solution, 'fitness': float(fitness), 'pairwise_fitness': pairwise_fitness} + + + def fx_fitness_expr_parse(self, expr, tensors): + + ''' + Extract expression tree from the string algo_sym and transform into TensorFlow (TF) graph. + + Arguments required: expr, tensors + ''' + + tree = ast.parse(expr, mode='eval').body + + return self.fx_fitness_node_parse(tree, tensors) + + + def fx_fitness_node_parse(self, node, tensors): + + ''' + Recursively transforms parsed expression tree into TensorFlow (TF) graph. + + Arguments required: node, tensors + ''' + + if isinstance(node, ast.Name): # + return tensors[node.id] + + elif isinstance(node, ast.Num): # + shape = tensors[tensors.keys()[0]].get_shape() + return tf.constant(node.n, shape=shape, dtype=tf.float32) + + elif isinstance(node, ast.BinOp): # + return operators[type(node.op)](self.fx_fitness_node_parse(node.left, tensors), self.fx_fitness_node_parse(node.right, tensors)) + + elif isinstance(node, ast.UnaryOp): # e.g., -1 + return operators[type(node.op)](self.fx_fitness_node_parse(node.operand, tensors)) + + else: raise TypeError(node) + + + def fx_fitness_labels_map(self, result): + + ''' + Creates label extraction TensorFlow (TF) sub-graph for CLASSIFY kernel defined as a sequence of boolean conditions. + Outputs an array of tuples containing label extracted from the result and corresponding boolean condition triggered. + + The original (pre-TensorFlow) code is as follows: + + skew = (self.class_labels / 2) - 1 # '-1' keeps a binary classification splitting over the origin + if solution == 0 and result <= 0 - skew; fitness = 1: # check for first class (the left-most bin) + elif solution == self.class_labels - 1 and result > solution - 1 - skew; fitness = 1: # check for last class (the right-most bin) + elif solution - 1 - skew < result <= solution - skew; fitness = 1: # check for class bins between first and last + else: fitness = 0 # no class match + + See 'fx_fitness_train_classify' for a description of the multi-class classifier. + + Arguments required: result + ''' + + skew = (self.class_labels / 2) - 1 + label_rules = {self.class_labels - 1: (tf.constant(self.class_labels - 1), tf.constant(' > {}'.format(self.class_labels - 2 - skew)))} + + for class_label in range(self.class_labels - 2, 0, -1): + cond = (class_label - 1 - skew < result) & (result <= class_label - skew) + label_rules[class_label] = tf.cond(cond, lambda: (tf.constant(class_label), tf.constant(' <= {}'.format(class_label - skew))), lambda: label_rules[class_label + 1]) + + zero_rule = tf.cond(result <= 0 - skew, lambda: (tf.constant(0), tf.constant(' <= {}'.format(0 - skew))), lambda: label_rules[1]) + + return zero_rule + + + def fx_fitness_train_classify(self, result, solution): # CLASSIFICATION kernel + + ''' + Creates element-wise fitness computation TensorFlow (TF) sub-graph for CLASSIFY kernel. + + This method uses the 'sympified' (SymPy) expression ('algo_sym') created in 'fx_eval_poly' and the data set + loaded at run-time to evaluate the fitness of the selected kernel. + + This multiclass classifer compares each row of a given Tree to the known solution, comparing estimated values + (labels) generated by Karoo GP against the correct labels. This method is able to work with any number of class + labels, from 2 to n. The left-most bin includes -inf. The right-most bin includes +inf. Those inbetween are + by default confined to the spacing of 1.0 each, as defined by: + + (solution - 1) < result <= solution + + The skew adjusts the boundaries of the bins such that they fall on both the negative and positive sides of the + origin. At the time of this writing, an odd number of class labels will generate an extra bin on the positive + side of origin as it has not yet been determined the effect of enabling the middle bin to include both a + negative and positive space. + + Arguments required: result, solution + ''' + + skew = (self.class_labels / 2) - 1 + rule11 = tf.equal(solution, 0) + rule12 = tf.less_equal(result, 0 - skew) + rule13 = tf.logical_and(rule11, rule12) + rule21 = tf.equal(solution, self.class_labels - 1) + rule22 = tf.greater(result, solution - 1 - skew) + rule23 = tf.logical_and(rule21, rule22) + rule31 = tf.less(solution - 1 - skew, result) + rule32 = tf.less_equal(result, solution - skew) + rule33 = tf.logical_and(rule31, rule32) + + return tf.cast(tf.logical_or(tf.logical_or(rule13, rule23), rule33), tf.int32) + + + def fx_fitness_train_regress(self, result, solution): # REGRESSION kernel + + ''' + Creates element-wise fitness computation TensorFlow (TF) sub-graph for REGRESSION kernel. + + This is a minimisation function which seeks a result which is closest to the solution. + + [need to write more] + + Arguments required: result, solution + ''' + + return tf.abs(solution - result) + + + def fx_fitness_train_match(self, result, solution): # MATCH kernel + + ''' + Creates element-wise fitness computation TensorFlow (TF) sub-graph for MATCH kernel. + + This is a maximization function which seeks an exact solution (a perfect match). + + [need to write more] + + Arguments required: result, solution + ''' + + return tf.cast(tf.equal(solution, result), tf.int32) + + + # def fx_fitness_train_[other](self, result, solution): # [OTHER] kernel + + # ''' + # Creates element-wise fitness computation TensorFlow (TF) sub-graph for [other] kernel. + + # This is a [minimisation or maximization] function which [insert description]. + + # return tf.[?]([insert formula]) + # ''' + + + def fx_fitness_store(self, tree, fitness): + + ''' + Records the fitness and length of the raw algorithm (multivariate expression) to the Numpy array. Parsimony can + be used to apply pressure to the evolutionary process to select from a set of trees with the same fitness function + the one(s) with the simplest (shortest) multivariate expression. + + Arguments required: tree, fitness + ''' + + fitness = float(fitness) + fitness = round(fitness, self.precision) + + tree[12][1] = fitness # store the fitness with each tree + tree[12][2] = len(str(self.algo_raw)) # store the length of the raw algo for parsimony + # if len(tree[3]) > 4: # if the Tree array is wide enough -- SEE SCRATCHPAD + + return + + + def fx_fitness_tournament(self, tourn_size): + + ''' + Select one Tree by means of a Tournament in which 'tourn_size' contenders are randomly selected and then + compared for their respective fitness (as determined in 'fx_fitness_gym'). The tournament is engaged for each + of the four types of inter-generational evolution: reproduction, point mutation, branch (full and grow) + mutation, and crossover (sexual reproduction). + + The original Tournament Selection drew directly from the foundation generation (gp.generation_a). However, + with the introduction of a minimum number of nodes as defined by the user ('gp.tree_depth_min'), + 'gp.gene_pool' provides only from those Trees which meet all criteria. + + With upper (max depth) and lower (min nodes) invoked, one may enjoy interesting results. Stronger boundary + parameters (a reduced gap between the min and max number of nodes) may invoke more compact solutions, but also + runs the risk of elitism, even total population die-off where a healthy population once existed. + + Arguments required: tourn_size + ''' + + tourn_test = 0 + # short_test = 0 # an incomplete parsimony test (seeking shortest solution) + + if self.display == 'i': print '\n\tEnter the tournament ...' + + for n in range(tourn_size): + # tree_id = np.random.randint(1, self.tree_pop_max + 1) # former method of selection from the unfiltered population + rnd = np.random.randint(len(self.gene_pool)) # select one Tree at random from the gene pool + tree_id = int(self.gene_pool[rnd]) + + fitness = float(self.population_a[tree_id][12][1]) # extract the fitness from the array + fitness = round(fitness, self.precision) # force 'result' and 'solution' to the same number of floating points + + if self.fitness_type == 'max': # if the fitness function is Maximising + + # first time through, 'tourn_test' will be initialised below + + if fitness > tourn_test: # if the current Tree's 'fitness' is greater than the priors' + if self.display == 'i': print '\t\033[36m Tree', tree_id, 'has fitness', fitness, '>', tourn_test, 'and leads\033[0;0m' + tourn_lead = tree_id # set 'TREE_ID' for the new leader + tourn_test = fitness # set 'fitness' of the new leader + # short_test = int(self.population_a[tree_id][12][2]) # set len(algo_raw) of new leader + + elif fitness == tourn_test: # if the current Tree's 'fitness' is equal to the priors' + if self.display == 'i': print '\t\033[36m Tree', tree_id, 'has fitness', fitness, '=', tourn_test, 'and leads\033[0;0m' + tourn_lead = tree_id # in case there is no variance in this tournament + # tourn_test remains unchanged + + # NEED TO ADD: option for parsimony + # if int(self.population_a[tree_id][12][2]) < short_test: + # short_test = int(self.population_a[tree_id][12][2]) # set len(algo_raw) of new leader + # print '\t\033[36m with improved parsimony score of:\033[1m', short_test, '\033[0;0m' + + elif fitness < tourn_test: # if the current Tree's 'fitness' is less than the priors' + if self.display == 'i': print '\t\033[36m Tree', tree_id, 'has fitness', fitness, '<', tourn_test, 'and is ignored\033[0;0m' + # tourn_lead remains unchanged + # tourn_test remains unchanged + + else: print '\n\t\033[31m ERROR! In fx_fitness_tournament: fitness =', fitness, 'and tourn_test =', tourn_test, '\033[0;0m'; self.fx_karoo_pause(0) + + + elif self.fitness_type == 'min': # if the fitness function is Minimising + + if tourn_test == 0: # first time through, 'tourn_test' is given a baseline value + tourn_test = fitness + + if fitness < tourn_test: # if the current Tree's 'fitness' is less than the priors' + if self.display == 'i': print '\t\033[36m Tree', tree_id, 'has fitness', fitness, '<', tourn_test, 'and leads\033[0;0m' + tourn_lead = tree_id # set 'TREE_ID' for the new leader + tourn_test = fitness # set 'fitness' of the new leader + + elif fitness == tourn_test: # if the current Tree's 'fitness' is equal to the priors' + if self.display == 'i': print '\t\033[36m Tree', tree_id, 'has fitness', fitness, '=', tourn_test, 'and leads\033[0;0m' + tourn_lead = tree_id # in case there is no variance in this tournament + # tourn_test remains unchanged + + elif fitness > tourn_test: # if the current Tree's 'fitness' is greater than the priors' + if self.display == 'i': print '\t\033[36m Tree', tree_id, 'has fitness', fitness, '>', tourn_test, 'and is ignored\033[0;0m' + # tourn_lead remains unchanged + # tourn_test remains unchanged + + else: print '\n\t\033[31m ERROR! In fx_fitness_tournament: fitness =', fitness, 'and tourn_test =', tourn_test, '\033[0;0m'; self.fx_karoo_pause(0) + + + tourn_winner = np.copy(self.population_a[tourn_lead]) # copy full Tree so as to not inadvertantly modify the original tree + + if self.display == 'i': print '\n\t\033[36mThe winner of the tournament is Tree:\033[1m', tourn_winner[0][1], '\033[0;0m' + + return tourn_winner + + + def fx_fitness_gene_pool(self): + + ''' + With the introduction of the minimum number of nodes parameter (gp.tree_depth_min), the means by which the + lower node count is enforced is through the creation of a gene pool from those Trees which contain equal or + greater nodes to the user defined limit. + + When the minimum node count is human guided, it can help keep the solution from defaulting to a local minimum, + as with 't/t' in the Kepler problem. However, the ramification of this limitation on the evolutionary process + has not been fully studied. + + This method is automatically invoked with every Tournament Selection ('fx_fitness_tournament'). + + At this time, the gene pool does *not* limit the number of times any given Tree may be selected for mutation or + reproduction nor does it take into account parsimony (seeking the simplest multivariate expression). + + Arguments required: none + ''' + + self.gene_pool = [] + if self.display == 'i': print '\n Prepare a viable gene pool ...'; self.fx_karoo_pause(0) + + for tree_id in range(1, len(self.population_a)): + + self.fx_eval_poly(self.population_a[tree_id]) # extract the expression + + if len(self.population_a[tree_id][3])-1 >= self.tree_depth_min and self.algo_sym != 1: # check if Tree meets the requirements + if self.display == 'i': print '\t\033[36m Tree', tree_id, 'has >=', self.tree_depth_min, 'nodes and is added to the gene pool\033[0;0m' + self.gene_pool.append(self.population_a[tree_id][0][1]) + + if len(self.gene_pool) > 0 and self.display == 'i': print '\n\t The total population of the gene pool is', len(self.gene_pool); self.fx_karoo_pause(0) + + elif len(self.gene_pool) <= 0: # the evolutionary constraints were too tight, killing off the entire population + # self.generation_id = self.generation_id - 1 # revert the increment of the 'generation_id' + # self.generation_max = self.generation_id # catch the unused "cont" values in the 'fx_karoo_pause' method + print "\n\t\033[31m\033[3m 'They're dead Jim. They're all dead!'\033[0;0m There are no Trees in the gene pool. You should archive your populations and (q)uit."; self.fx_karoo_pause(0) + + return + + + def fx_fitness_test_classify(self, result): + + ''' + Print the Precision-Recall and Confusion Matrix for a CLASSIFICATION run against the test data. + + From scikit-learn.org/stable/auto_examples/model_selection/plot_precision_recall.html + Precision (P) = true_pos / true_pos + false_pos + Recall (R) = true_pos / true_pos + false_neg + harmonic mean of Precision and Recall (F1) = 2(P x R) / (P + R) + + From scikit-learn.org/stable/modules/generated/sklearn.metrics.classification_report.html + y_pred = result, the estimated target values (labels) generated by Karoo GP + y_true = solution, the correct target values (labels) associated with the data + + Arguments required: result + ''' + + for i in range(len(result['result'])): + print '\t\033[36m Data row {} predicts class:\033[1m {} ({} label) as {:.2f}{}\033[0;0m'.format(i, int(result['labels'][0][i]), int(result['solution'][i]), result['result'][i], result['labels'][1][i]) + + print '\n Fitness score: {}'.format(result['fitness']) + print '\n Precision-Recall report:\n', skm.classification_report(result['solution'], result['labels'][0]) + print ' Confusion matrix:\n', skm.confusion_matrix(result['solution'], result['labels'][0]) + + return + + + def fx_fitness_test_regress(self, result): + + ''' + Print the Fitness score and Mean Squared Error for a REGRESSION run against the test data. + ''' + + for i in range(len(result['result'])): + print '\t\033[36m Data row {} predicts value:\033[1m {:.2f} ({:.2f} True)\033[0;0m'.format(i, result['result'][i], result[ 'solution'][i]) + + MSE, fitness = skm.mean_squared_error(result['result'], result['solution']), result['fitness'] + print '\n\t Regression fitness score: {}'.format(fitness) + print '\t Mean Squared Error: {}'.format(MSE) + + return + + + def fx_fitness_test_match(self, result): + + ''' + Print the accuracy for a MATCH kernel run against the test data. + ''' + + for i in range(len(result['result'])): + print '\t\033[36m Data row {} predicts value:\033[1m {} ({} label)\033[0;0m'.format(i, int(result['result'][i]), int(result['solution'][i])) + + print '\n\tMatching fitness score: {}'.format(result['fitness']) + + return + + + # def fx_fitness_test_[other](self, result): + + # ''' + # Print the [statistical measure] for a [OTHER] kernel run against the test data. + # ''' + + # for i in range(len(result['result'])): + # print '\t\033[36m Data row {} predicts value:\033[1m {} ({} label)\033[0;0m'.format(i, int(result['result'][i]), int(result['solution'][i])) + + # print '\n\tFitness score: {}'.format(result['fitness']) + + # return + + + #++++++++++++++++++++++++++++++++++++++++++ + # Methods to Evolve a Population | + #++++++++++++++++++++++++++++++++++++++++++ + + def fx_evolve_point_mutate(self, tree): + + ''' + Mutate a single point in any Tree (Grow or Full). + + Arguments required: tree + ''' + + node = np.random.randint(1, len(tree[3])) # randomly select a point in the Tree (including root) + if self.display == 'i': print '\t\033[36m with', tree[5][node], 'node\033[1m', tree[3][node], '\033[0;0m\033[36mchosen for mutation\n\033[0;0m' + elif self.display == 'db': print '\n\n\033[33m *** Point Mutation *** \033[0;0m\n\n\033[36m This is the unaltered tourn_winner:\033[0;0m\n', tree + + if tree[5][node] == 'root': + rnd = np.random.randint(0, len(self.functions[:,0])) # call the previously loaded .csv which contains all operators + tree[6][node] = self.functions[rnd][0] # replace function (operator) + + elif tree[5][node] == 'func': + rnd = np.random.randint(0, len(self.functions[:,0])) # call the previously loaded .csv which contains all operators + tree[6][node] = self.functions[rnd][0] # replace function (operator) + + elif tree[5][node] == 'term': + rnd = np.random.randint(0, len(self.terminals) - 1) # call the previously loaded .csv which contains all terminals + tree[6][node] = self.terminals[rnd] # replace terminal (variable) + + else: print '\n\t\033[31m ERROR! In fx_evolve_point_mutate, node_type =', tree[5][node], '\033[0;0m'; self.fx_karoo_pause(0) + + tree = self.fx_evolve_fitness_wipe(tree) # wipe fitness data + + if self.display == 'db': print '\n\033[36m This is tourn_winner after node\033[1m', node, '\033[0;0m\033[36mmutation and updates:\033[0;0m\n', tree; self.fx_karoo_pause(0) + + return tree, node # 'node' is returned only to be assigned to the 'tourn_trees' record keeping + + + def fx_evolve_full_mutate(self, tree, branch): + + ''' + Mutate a branch of a Full method Tree. + + The full mutate method is straight-forward. A branch was generated and passed to this method. As the size and + shape of the Tree must remain identical, each node is mutated sequentially (copied from the new Tree to replace + the old, node for node), where functions remain functions and terminals remain terminals. + + Arguments required: tree, branch + ''' + + if self.display == 'db': print '\n\n\033[33m *** Full Mutation: function to function *** \033[0;0m\n\n\033[36m This is the unaltered tourn_winner:\033[0;0m\n', tree + + for n in range(len(branch)): + + # 'root' is not made available for Full mutation as this would build an entirely new Tree + + if tree[5][branch[n]] == 'func': + if self.display == 'i': print '\t\033[36m from\033[1m', tree[5][branch[n]], '\033[0;0m\033[36mto\033[1m func \033[0;0m' + + rnd = np.random.randint(0, len(self.functions[:,0])) # call the previously loaded .csv which contains all operators + tree[6][branch[n]] = self.functions[rnd][0] # replace function (operator) + + elif tree[5][branch[n]] == 'term': + if self.display == 'i': print '\t\033[36m from\033[1m', tree[5][branch[n]], '\033[0;0m\033[36mto\033[1m term \033[0;0m' + + rnd = np.random.randint(0, len(self.terminals) - 1) # call the previously loaded .csv which contains all terminals + tree[6][branch[n]] = self.terminals[rnd] # replace terminal (variable) + + tree = self.fx_evolve_fitness_wipe(tree) # wipe fitness data + + if self.display == 'db': print '\n\033[36m This is tourn_winner after nodes\033[1m', branch, '\033[0;0m\033[36mwere mutated and updated:\033[0;0m\n', tree; self.fx_karoo_pause(0) + + return tree + + + def fx_evolve_grow_mutate(self, tree, branch): + + ''' + Mutate a branch of a Grow method Tree. + + A branch is selected within a given tree. + + If the point of mutation ('branch_top') resides at 'tree_depth_max', we do not need to grow a new tree. As the + methods for building trees always assume root (node 0) to be a function, we need only mutate this terminal node + to another terminal node, and this branch mutate method is complete. + + If the top of that branch is a terminal which does not reside at 'tree_depth_max', then it may either remain a + terminal (in which case a new value is randomly assigned) or it may mutate into a function. If it becomes a + function, a new branch (mini-tree) is generated to be appended to that nodes current location. The same is true + for function-to-function mutation. Either way, the new branch will be only as deep as allowed by the distance + from it's branch_top to the bottom of the tree. + + If however a function mutates into a terminal, the entire branch beneath the function is deleted from the array + and the entire array is updated, to fix parent/child links, associated arities, and node IDs. + + Arguments required: tree, branch + ''' + + branch_top = int(branch[0]) # replaces 2 instances, below; tested 2016 07/09 + branch_depth = self.tree_depth_max - int(tree[4][branch_top]) # 'tree_depth_max' - depth at 'branch_top' to set max potential size of new branch - 2016 07/10 + + if branch_depth < 0: # this has never occured ... yet + print '\n\t\033[31m ERROR! In fx_evolve_grow_mutate: branch_depth < 0\033[0;0m' + print '\t branch_depth =', branch_depth; self.fx_karoo_pause(0) + + elif branch_depth == 0: # the point of mutation ('branch_top') chosen resides at the maximum allowable depth, so mutate term to term + + if self.display == 'i': print '\t\033[36m max depth branch node\033[1m', tree[3][branch_top], '\033[0;0m\033[36mmutates from \033[1mterm\033[0;0m \033[36mto \033[1mterm\033[0;0m\n' + if self.display == 'db': print '\n\n\033[33m *** Grow Mutation: terminal to terminal *** \033[0;0m\n\n\033[36m This is the unaltered tourn_winner:\033[0;0m\n', tree + + rnd = np.random.randint(0, len(self.terminals) - 1) # call the previously loaded .csv which contains all terminals + tree[6][branch_top] = self.terminals[rnd] # replace terminal (variable) + + if self.display == 'db': print '\n\033[36m This is tourn_winner after terminal\033[1m', branch_top, '\033[0;0m\033[36mmutation, branch deletion, and updates:\033[0;0m\n', tree; self.fx_karoo_pause(0) + + else: # the point of mutation ('branch_top') chosen is at least one degree of depth from the maximum allowed + + # type_mod = '[func or term]' # TEST & DEBUG: force to 'func' or 'term' and comment the next 3 lines + rnd = np.random.randint(2) + if rnd == 0: type_mod = 'func' # randomly selected as Function + elif rnd == 1: type_mod = 'term' # randomly selected as Terminal + + if type_mod == 'term': # mutate 'branch_top' to a terminal and delete all nodes beneath (no subsequent nodes are added to this branch) + + if self.display == 'i': print '\t\033[36m branch node\033[1m', tree[3][branch_top], '\033[0;0m\033[36mmutates from\033[1m', tree[5][branch_top], '\033[0;0m\033[36mto\033[1m term \n\033[0;0m' + if self.display == 'db': print '\n\n\033[33m *** Grow Mutation: branch_top to terminal *** \033[0;0m\n\n\033[36m This is the unaltered tourn_winner:\033[0;0m\n', tree + + rnd = np.random.randint(0, len(self.terminals) - 1) # call the previously loaded .csv which contains all terminals + tree[5][branch_top] = 'term' # replace type ('func' to 'term' or 'term' to 'term') + tree[6][branch_top] = self.terminals[rnd] # replace label + + tree = np.delete(tree, branch[1:], axis = 1) # delete all nodes beneath point of mutation ('branch_top') + tree = self.fx_evolve_node_arity_fix(tree) # fix all node arities + tree = self.fx_evolve_child_link_fix(tree) # fix all child links + tree = self.fx_evolve_node_renum(tree) # renumber all 'NODE_ID's + + if self.display == 'db': print '\n\033[36m This is tourn_winner after terminal\033[1m', branch_top, '\033[0;0m\033[36mmutation, branch deletion, and updates:\033[0;0m\n', tree; self.fx_karoo_pause(0) + + + if type_mod == 'func': # mutate 'branch_top' to a function (a new 'gp.tree' will be copied, node by node, into 'tourn_winner') + + if self.display == 'i': print '\t\033[36m branch node\033[1m', tree[3][branch_top], '\033[0;0m\033[36mmutates from\033[1m', tree[5][branch_top], '\033[0;0m\033[36mto\033[1m func \n\033[0;0m' + if self.display == 'db': print '\n\n\033[33m *** Grow Mutation: branch_top to function *** \033[0;0m\n\n\033[36m This is the unaltered tourn_winner:\033[0;0m\n', tree + + self.fx_gen_tree_build('mutant', self.pop_tree_type, branch_depth) # build new Tree ('gp.tree') with a maximum depth which matches 'branch' + + if self.display == 'db': print '\n\033[36m This is the new Tree to be inserted at node\033[1m', branch_top, '\033[0;0m\033[36min tourn_winner:\033[0;0m\n', self.tree; self.fx_karoo_pause(0) + + # because we already know the maximum depth to which this branch can grow, there is no need to prune after insertion + tree = self.fx_evolve_branch_top_copy(tree, branch) # copy root of new 'gp.tree' to point of mutation ('branch_top') in 'tree' ('tourn_winner') + tree = self.fx_evolve_branch_body_copy(tree) # copy remaining nodes in new 'gp.tree' to 'tree' ('tourn_winner') + + tree = self.fx_evolve_fitness_wipe(tree) # wipe fitness data + + return tree + + + def fx_evolve_crossover(self, parent, branch_x, offspring, branch_y): + + ''' + Refer to the method 'fx_karoo_crossover' for a full description of the genetic operator Crossover. + + This method is called twice to produce 2 offspring per pair of parent Trees. Note that in the method + 'karoo_fx_crossover' the parent/branch relationships are swapped from the first run to the second, such that + this method receives swapped components to produce the alternative offspring. Therefore 'parent_b' is first + passed to 'offspring' which will receive 'branch_a'. With the second run, 'parent_a' is passed to 'offspring' which + will receive 'branch_b'. + + Arguments required: parent, branch_x, offspring, branch_y (parents_a / _b, branch_a / _b from 'fx_karoo_crossover') + ''' + + crossover = int(branch_x[0]) # pointer to the top of the 1st parent branch passed from 'fx_karoo_crossover' + branch_top = int(branch_y[0]) # pointer to the top of the 2nd parent branch passed from 'fx_karoo_crossover' + + if self.display == 'db': print '\n\n\033[33m *** Crossover *** \033[0;0m' + + if len(branch_x) == 1: # if the branch from the parent contains only one node (terminal) + + if self.display == 'i': print '\t\033[36m terminal crossover from \033[1mparent', parent[0][1], '\033[0;0m\033[36mto \033[1moffspring', offspring[0][1], '\033[0;0m\033[36mat node\033[1m', branch_top, '\033[0;0m' + + if self.display == 'db': + print '\n\033[36m In a copy of one parent:\033[0;0m\n', offspring + print '\n\033[36m ... we remove nodes\033[1m', branch_y, '\033[0;0m\033[36mand replace node\033[1m', branch_top, '\033[0;0m\033[36mwith a terminal from branch_x\033[0;0m'; self.fx_karoo_pause(0) + + offspring[5][branch_top] = 'term' # replace type + offspring[6][branch_top] = parent[6][crossover] # replace label with that of a particular node in 'branch_x' + offspring[8][branch_top] = 0 # set terminal arity + + offspring = np.delete(offspring, branch_y[1:], axis = 1) # delete all nodes beneath point of mutation ('branch_top') + offspring = self.fx_evolve_child_link_fix(offspring) # fix all child links + offspring = self.fx_evolve_node_renum(offspring) # renumber all 'NODE_ID's + + if self.display == 'db': print '\n\033[36m This is the resulting offspring:\033[0;0m\n', offspring; self.fx_karoo_pause(0) + + + else: # we are working with a branch from 'parent' >= depth 1 (min 3 nodes) + + if self.display == 'i': print '\t\033[36m branch crossover from \033[1mparent', parent[0][1], '\033[0;0m\033[36mto \033[1moffspring', offspring[0][1], '\033[0;0m\033[36mat node\033[1m', branch_top, '\033[0;0m' + + # self.fx_gen_tree_build('test', 'f', 2) # TEST & DEBUG: disable the next 'self.tree ...' line + self.tree = self.fx_evolve_branch_copy(parent, branch_x) # generate stand-alone 'gp.tree' with properties of 'branch_x' + + if self.display == 'db': + print '\n\033[36m From one parent:\033[0;0m\n', parent + print '\n\033[36m ... we copy branch_x\033[1m', branch_x, '\033[0;0m\033[36mas a new, sub-tree:\033[0;0m\n', self.tree; self.fx_karoo_pause(0) + + if self.display == 'db': + print '\n\033[36m ... and insert it into a copy of the second parent in place of the selected branch\033[1m', branch_y,':\033[0;0m\n', offspring; self.fx_karoo_pause(0) + + offspring = self.fx_evolve_branch_top_copy(offspring, branch_y) # copy root of 'branch_y' ('gp.tree') to 'offspring' + offspring = self.fx_evolve_branch_body_copy(offspring) # copy remaining nodes in 'branch_y' ('gp.tree') to 'offspring' + offspring = self.fx_evolve_tree_prune(offspring, self.tree_depth_max) # prune to the max Tree depth + adjustment - tested 2016 07/10 + + offspring = self.fx_evolve_fitness_wipe(offspring) # wipe fitness data + + return offspring + + + def fx_evolve_branch_select(self, tree): + + ''' + Select all nodes in the 'tourn_winner' Tree at and below the randomly selected starting point. + + While Grow mutation uses this method to select a region of the 'tourn_winner' to delete, Crossover uses this + method to select a region of the 'tourn_winner' which is then converted to a stand-alone tree. As such, it is + imperative that the nodes be in the correct order, else all kinds of bad things happen. + + Arguments required: tree + ''' + + branch = np.array([]) # the array is necessary in order to len(branch) when 'branch' has only one element + branch_top = np.random.randint(2, len(tree[3])) # randomly select a non-root node + branch_eval = self.fx_eval_id(tree, branch_top) # generate tuple of 'branch_top' and subseqent nodes + branch_symp = sympify(branch_eval) # convert string into something useful + branch = np.append(branch, branch_symp) # append list to array + + branch = np.sort(branch) # sort nodes in branch for Crossover. + + if self.display == 'i': print '\t \033[36mwith nodes\033[1m', branch, '\033[0;0m\033[36mchosen for mutation\033[0;0m' + + return branch + + + def fx_evolve_branch_top_copy(self, tree, branch): + + ''' + Copy the point of mutation ('branch_top') from 'gp.tree' to 'tree'. + + This method works with 3 inputs: local 'tree' is being modified; local 'branch' is a section of 'tree' which + will be removed; and global 'gp.tree' (recycling from initial population generation) is the new Tree to be + copied into 'tree', replacing 'branch'. + + This method is used in both Grow Mutation and Crossover. + + Arguments required: tree, branch + ''' + + branch_top = int(branch[0]) + + tree[5][branch_top] = 'func' # update type ('func' to 'term' or 'term' to 'term'); this modifies gp.tree[5[1] from 'root' to 'func' + tree[6][branch_top] = self.tree[6][1] # copy node_label from new tree + tree[8][branch_top] = self.tree[8][1] # copy node_arity from new tree + + tree = np.delete(tree, branch[1:], axis = 1) # delete all nodes beneath point of mutation ('branch_top') + + c_buffer = self.fx_evolve_c_buffer(tree, branch_top) # generate c_buffer for point of mutation ('branch_top') + tree = self.fx_evolve_child_insert(tree, branch_top, c_buffer) # insert new nodes + tree = self.fx_evolve_node_renum(tree) # renumber all 'NODE_ID's + + if self.display == 'db': + print '\n\t ... inserted node 1 of', len(self.tree[3])-1 + print '\n\033[36m This is the Tree after a new node is inserted:\033[0;0m\n', tree; self.fx_karoo_pause(0) + + return tree + + + def fx_evolve_branch_body_copy(self, tree): + + ''' + Copy the body of 'gp.tree' to 'tree', one node at a time. + + This method works with 3 inputs: local 'tree' is being modified; local 'branch' is a section of 'tree' which + will be removed; and global 'gp.tree' (recycling from initial population generation) is the new Tree to be + copied into 'tree', replacing 'branch'. + + This method is used in both Grow Mutation and Crossover. + + Arguments required: tree + ''' + + node_count = 2 # set node count for 'gp.tree' to 2 as the new root has already replaced 'branch_top' in 'fx_evolve_branch_top_copy' + + while node_count < len(self.tree[3]): # increment through all nodes in the new Tree ('gp.tree'), starting with node 2 + + for j in range(1, len(tree[3])): # increment through all nodes in tourn_winner ('tree') + + if self.display == 'db': print '\tScanning tourn_winner node_id:', j + + if tree[5][j] == '': + tree[5][j] = self.tree[5][node_count] # copy 'node_type' from branch to tree + tree[6][j] = self.tree[6][node_count] # copy 'node_label' from branch to tree + tree[8][j] = self.tree[8][node_count] # copy 'node_arity' from branch to tree + + if tree[5][j] == 'term': + tree = self.fx_evolve_child_link_fix(tree) # fix all child links + tree = self.fx_evolve_node_renum(tree) # renumber all 'NODE_ID's + + if tree[5][j] == 'func': + c_buffer = self.fx_evolve_c_buffer(tree, j) # generate 'c_buffer' for point of mutation ('branch_top') + tree = self.fx_evolve_child_insert(tree, j, c_buffer) # insert new nodes + tree = self.fx_evolve_child_link_fix(tree) # fix all child links + tree = self.fx_evolve_node_renum(tree) # renumber all 'NODE_ID's + + if self.display == 'db': + print '\n\t ... inserted node', node_count, 'of', len(self.tree[3])-1 + print '\n\033[36m This is the Tree after a new node is inserted:\033[0;0m\n', tree; self.fx_karoo_pause(0) + + node_count = node_count + 1 # exit loop when 'node_count' reaches the number of columns in the array 'gp.tree' + + return tree + + + def fx_evolve_branch_copy(self, tree, branch): + + ''' + This method prepares a stand-alone Tree as a copy of the given branch. + + This method is used with Crossover. + + Arguments required: tree, branch + ''' + + new_tree = np.array([ ['TREE_ID'],['tree_type'],['tree_depth_base'],['NODE_ID'],['node_depth'],['node_type'],['node_label'],['node_parent'],['node_arity'],['node_c1'],['node_c2'],['node_c3'],['fitness'] ]) + + # tested 2015 06/08 + for n in range(len(branch)): + + node = branch[n] + branch_top = int(branch[0]) + + TREE_ID = 'copy' + tree_type = tree[1][1] + tree_depth_base = int(tree[4][branch[-1]]) - int(tree[4][branch_top]) # subtract depth of 'branch_top' from the last in 'branch' + NODE_ID = tree[3][node] + node_depth = int(tree[4][node]) - int(tree[4][branch_top]) # subtract the depth of 'branch_top' from the current node depth + node_type = tree[5][node] + node_label = tree[6][node] + node_parent = '' # updated by 'fx_evolve_parent_link_fix', below + node_arity = tree[8][node] + node_c1 = '' # updated by 'fx_evolve_child_link_fix', below + node_c2 = '' + node_c3 = '' + fitness = '' + + new_tree = np.append(new_tree, [ [TREE_ID],[tree_type],[tree_depth_base],[NODE_ID],[node_depth],[node_type],[node_label],[node_parent],[node_arity],[node_c1],[node_c2],[node_c3],[fitness] ], 1) + + new_tree = self.fx_evolve_node_renum(new_tree) + new_tree = self.fx_evolve_child_link_fix(new_tree) + new_tree = self.fx_evolve_parent_link_fix(new_tree) + new_tree = self.fx_archive_tree_clean(new_tree) + + return new_tree + + + def fx_evolve_c_buffer(self, tree, node): + + ''' + This method serves the very important function of determining the links from parent to child for any given + node. The single, simple formula [parent_arity_sum + prior_sibling_arity - prior_siblings] perfectly determines + the correct position of the child node, already in place or to be inserted, no matter the depth nor complexity + of the tree. + + This method is currently called from the evolution methods, but will soon (I hope) be called from the first + generation Tree generation methods (above) such that the same method may be used repeatedly. + + Arguments required: tree, node + ''' + + parent_arity_sum = 0 + prior_sibling_arity = 0 + prior_siblings = 0 + + for n in range(1, len(tree[3])): # increment through all nodes (exclude 0) in array 'tree' + + if int(tree[4][n]) == int(tree[4][node])-1: # find parent nodes at the prior depth + if tree[8][n] != '': parent_arity_sum = parent_arity_sum + int(tree[8][n]) # sum arities of all parent nodes at the prior depth + + if int(tree[4][n]) == int(tree[4][node]) and int(tree[3][n]) < int(tree[3][node]): # find prior siblings at the current depth + if tree[8][n] != '': prior_sibling_arity = prior_sibling_arity + int(tree[8][n]) # sum prior sibling arity + prior_siblings = prior_siblings + 1 # sum quantity of prior siblings + + c_buffer = node + (parent_arity_sum + prior_sibling_arity - prior_siblings) # One algo to rule the world! + + return c_buffer + + + def fx_evolve_child_link(self, tree, node, c_buffer): + + ''' + Link each parent node to its children. + + Arguments required: tree, node, c_buffer + ''' + + if int(tree[3][node]) == 1: c_buffer = c_buffer + 1 # if root (node 1) is passed through this method + + if tree[8][node] != '': + + if int(tree[8][node]) == 0: # if arity = 0 + tree[9][node] = '' + tree[10][node] = '' + tree[11][node] = '' + + elif int(tree[8][node]) == 1: # if arity = 1 + tree[9][node] = c_buffer + tree[10][node] = '' + tree[11][node] = '' + + elif int(tree[8][node]) == 2: # if arity = 2 + tree[9][node] = c_buffer + tree[10][node] = c_buffer + 1 + tree[11][node] = '' + + elif int(tree[8][node]) == 3: # if arity = 3 + tree[9][node] = c_buffer + tree[10][node] = c_buffer + 1 + tree[11][node] = c_buffer + 2 + + else: print '\n\t\033[31m ERROR! In fx_evolve_child_link: node', node, 'has arity', tree[8][node]; self.fx_karoo_pause(0) + + return tree + + + def fx_evolve_child_link_fix(self, tree): + + ''' + In a given Tree, fix 'node_c1', 'node_c2', 'node_c3' for all nodes. + + This is required anytime the size of the array 'gp.tree' has been modified, as with both Grow and Full mutation. + + Arguments required: tree + ''' + + # tested 2015 06/04 + for node in range(1, len(tree[3])): + + c_buffer = self.fx_evolve_c_buffer(tree, node) # generate c_buffer for each node + tree = self.fx_evolve_child_link(tree, node, c_buffer) # update child links for each node + + return tree + + + def fx_evolve_child_insert(self, tree, node, c_buffer): + + ''' + Insert child nodes. + + Arguments required: tree, node, c_buffer + ''' + + if int(tree[8][node]) == 0: # if arity = 0 + print '\n\t\033[31m ERROR! In fx_evolve_child_insert: node', node, 'has arity 0\033[0;0m'; self.fx_karoo_pause(0) + + elif int(tree[8][node]) == 1: # if arity = 1 + tree = np.insert(tree, c_buffer, '', axis=1) # insert node for 'node_c1' + tree[3][c_buffer] = c_buffer # node ID + tree[4][c_buffer] = int(tree[4][node]) + 1 # node_depth + tree[7][c_buffer] = int(tree[3][node]) # parent ID + + elif int(tree[8][node]) == 2: # if arity = 2 + tree = np.insert(tree, c_buffer, '', axis=1) # insert node for 'node_c1' + tree[3][c_buffer] = c_buffer # node ID + tree[4][c_buffer] = int(tree[4][node]) + 1 # node_depth + tree[7][c_buffer] = int(tree[3][node]) # parent ID + + tree = np.insert(tree, c_buffer + 1, '', axis=1) # insert node for 'node_c2' + tree[3][c_buffer + 1] = c_buffer + 1 # node ID + tree[4][c_buffer + 1] = int(tree[4][node]) + 1 # node_depth + tree[7][c_buffer + 1] = int(tree[3][node]) # parent ID + + elif int(tree[8][node]) == 3: # if arity = 3 + tree = np.insert(tree, c_buffer, '', axis=1) # insert node for 'node_c1' + tree[3][c_buffer] = c_buffer # node ID + tree[4][c_buffer] = int(tree[4][node]) + 1 # node_depth + tree[7][c_buffer] = int(tree[3][node]) # parent ID + + tree = np.insert(tree, c_buffer + 1, '', axis=1) # insert node for 'node_c2' + tree[3][c_buffer + 1] = c_buffer + 1 # node ID + tree[4][c_buffer + 1] = int(tree[4][node]) + 1 # node_depth + tree[7][c_buffer + 1] = int(tree[3][node]) # parent ID + + tree = np.insert(tree, c_buffer + 2, '', axis=1) # insert node for 'node_c3' + tree[3][c_buffer + 2] = c_buffer + 2 # node ID + tree[4][c_buffer + 2] = int(tree[4][node]) + 1 # node_depth + tree[7][c_buffer + 2] = int(tree[3][node]) # parent ID + + else: print '\n\t\033[31m ERROR! In fx_evolve_child_insert: node', node, 'arity > 3\033[0;0m'; self.fx_karoo_pause(0) + + return tree + + + def fx_evolve_parent_link_fix(self, tree): + + ''' + In a given Tree, fix 'parent_id' for all nodes. + + This is automatically handled in all mutations except with Crossover due to the need to copy branches 'a' and + 'b' to their own trees before inserting them into copies of the parents. + + Technically speaking, the 'node_parent' value is not used by any methods. The parent ID can be completely out + of whack and the expression will work perfectly. This is maintained for the sole purpose of granting the user + a friendly, makes-sense interface which can be read in both directions. + + Arguments required: tree + ''' + + ### THIS METHOD MAY NOT BE REQUIRED AS SORTING 'branch' SEEMS TO HAVE FIXED 'parent_id' ### + + # tested 2015 06/05 + for node in range(1, len(tree[3])): + + if tree[9][node] != '': + child = int(tree[9][node]) + tree[7][child] = node + + if tree[10][node] != '': + child = int(tree[10][node]) + tree[7][child] = node + + if tree[11][node] != '': + child = int(tree[11][node]) + tree[7][child] = node + + return tree + + + def fx_evolve_node_arity_fix(self, tree): + + ''' + In a given Tree, fix 'node_arity' for all nodes labeled 'term' but with arity 2. + + This is required after a function has been replaced by a terminal, as may occur with both Grow mutation and + Crossover. + + Arguments required: tree + ''' + + # tested 2015 05/31 + for n in range(1, len(tree[3])): # increment through all nodes (exclude 0) in array 'tree' + + if tree[5][n] == 'term': # check for discrepency + tree[8][n] = '0' # set arity to 0 + tree[9][n] = '' # wipe 'node_c1' + tree[10][n] = '' # wipe 'node_c2' + tree[11][n] = '' # wipe 'node_c3' + + return tree + + + def fx_evolve_node_renum(self, tree): + + ''' + Renumber all 'NODE_ID' in a given tree. + + This is required after a new generation is evolved as the NODE_ID numbers are carried forward from the previous + generation but are no longer in order. + + Arguments required: tree + ''' + + for n in range(1, len(tree[3])): + + tree[3][n] = n # renumber all Trees in given population + + return tree + + + def fx_evolve_fitness_wipe(self, tree): + + ''' + Remove all fitness data from a given tree. + + This is required after a new generation is evolved as the fitness of the same Tree prior to its mutation will + no longer apply. + + Arguments required: tree + ''' + + tree[12][1:] = '' # wipe fitness data + + return tree + + + def fx_evolve_tree_prune(self, tree, depth): + + ''' + This method reduces the depth of a Tree. Used with Crossover, the input value 'branch' can be a partial Tree + (branch) or a full tree, and it will operate correctly. The input value 'depth' becomes the new maximum depth, + where depth is defined as the local maximum + the user defined adjustment. + + Arguments required: tree, depth + ''' + + nodes = [] + + # tested 2015 06/08 + for n in range(1, len(tree[3])): + + if int(tree[4][n]) == depth and tree[5][n] == 'func': + rnd = np.random.randint(0, len(self.terminals) - 1) # call the previously loaded .csv which contains all terminals + tree[5][n] = 'term' # mutate type 'func' to 'term' + tree[6][n] = self.terminals[rnd] # replace label + + elif int(tree[4][n]) > depth: # record nodes deeper than the maximum allowed Tree depth + nodes.append(n) + + else: pass # as int(tree[4][n]) < depth and will remain untouched + + tree = np.delete(tree, nodes, axis = 1) # delete nodes deeper than the maximum allowed Tree depth + tree = self.fx_evolve_node_arity_fix(tree) # fix all node arities + + return tree + + + def fx_evolve_tree_renum(self, population): + + ''' + Renumber all 'TREE_ID' in a given population. + + This is required after a new generation is evolved as the TREE_ID numbers are carried forward from the previous + generation but are no longer in order. + + Arguments required: population + ''' + + for tree_id in range(1, len(population)): + + population[tree_id][0][1] = tree_id # renumber all Trees in given population + + return population + + + def fx_evolve_pop_copy(self, pop_a, title): + + ''' + Copy one population to another. + + Simply copying a list of arrays generates a pointer to the original list. Therefore we must append each array + to a new, empty array and then build a list of those new arrays. + + Arguments required: pop_a, title + ''' + + pop_b = [title] # an empty list stores a copy of the prior generation + + for tree in range(1, len(pop_a)): # increment through each Tree in the current population + + tree_copy = np.copy(pop_a[tree]) # copy each array in the current population + pop_b.append(tree_copy) # add each copied Tree to the new population list + + return pop_b + + + #++++++++++++++++++++++++++++++++++++++++++ + # Methods to Display a Tree | + #++++++++++++++++++++++++++++++++++++++++++ + + def fx_display_tree(self, tree): + + ''' + Display all or part of a Tree on-screen. + + This method displays all sequential node_ids from 'start' node through bottom, within the given tree. + + Arguments required: tree + ''' + + ind = '' + print '\n\033[1m\033[36m Tree ID', int(tree[0][1]), '\033[0;0m' + + for depth in range(0, self.tree_depth_max + 1): # increment through all possible Tree depths - tested 2016 07/09 + print '\n', ind,'\033[36m Tree Depth:', depth, 'of', tree[2][1], '\033[0;0m' + + for node in range(1, len(tree[3])): # increment through all nodes (redundant, I know) + if int(tree[4][node]) == depth: + print '' + print ind,'\033[1m\033[36m NODE:', tree[3][node], '\033[0;0m' + print ind,' type:', tree[5][node] + print ind,' label:', tree[6][node], '\tparent node:', tree[7][node] + print ind,' arity:', tree[8][node], '\tchild node(s):', tree[9][node], tree[10][node], tree[11][node] + + ind = ind + '\t' + + print '' + self.fx_eval_poly(tree) # generate the raw and sympified equation for the entire Tree + print '\t\033[36mTree', tree[0][1], 'yields (raw):', self.algo_raw, '\033[0;0m' + print '\t\033[36mTree', tree[0][1], 'yields (sym):\033[1m', self.algo_sym, '\033[0;0m' + + return + + + def fx_display_branch(self, tree, start): + + ''' + Display a Tree branch on-screen. + + This method displays all sequential node_ids from 'start' node through bottom, within the given branch. + + This method is not used by Karoo GP at this time. + + Arguments required: tree, start + ''' + + branch = np.array([]) # the array is necessary in order to len(branch) when 'branch' has only one element + branch_eval = self.fx_eval_id(tree, start) # generate tuple of given 'branch' + branch_symp = sympify(branch_eval) # convert string from tuple to list + branch = np.append(branch, branch_symp) # append list to array + ind = '' + + # for depth in range(int(tree[4][start]), int(tree[2][1]) + self.tree_depth_max + 1): # increment through all Tree depths - tested 2016 07/09 + for depth in range(int(tree[4][start]), self.tree_depth_max + 1): # increment through all Tree depths - tested 2016 07/09 + print '\n', ind,'\033[36m Tree Depth:', depth, 'of', tree[2][1], '\033[0;0m' + + for n in range(0, len(branch)): # increment through all nodes listed in the branch + node = branch[n] + + if int(tree[4][node]) == depth: + print '' + print ind,'\033[1m\033[36m NODE:', node, '\033[0;0m' + print ind,' type:', tree[5][node] + print ind,' label:', tree[6][node], '\tparent node:', tree[7][node] + print ind,' arity:', tree[8][node], '\tchild node(s):', tree[9][node], tree[10][node], tree[11][node] + + ind = ind + '\t' + + print '' + self.fx_eval_poly(tree) # generate the raw and sympified equation for the entire Tree + print '\t\033[36mTree', tree[0][1], 'yields (raw):', self.algo_raw, '\033[0;0m' + print '\t\033[36mTree', tree[0][1], 'yields (sym):\033[1m', self.algo_sym, '\033[0;0m' + + return + + + #++++++++++++++++++++++++++++++++++++++++++ + # Methods to Archive | + #++++++++++++++++++++++++++++++++++++++++++ + + def fx_archive_tree_clean(self, tree): + + ''' + This method aesthetically cleans the Tree array, removing redundant data. + + Arguments required: tree + ''' + + tree[0][2:] = '' # A little clean-up to make things look pretty :) + tree[1][2:] = '' # Ignore the man behind the curtain! + tree[2][2:] = '' # Yes, I am a bit OCD ... but you *know* you appreciate clean arrays. + + return tree + + + def fx_archive_tree_append(self, tree): + + ''' + Append Tree array to the foundation Population. + + Arguments required: tree + ''' + + self.fx_archive_tree_clean(tree) # clean 'tree' prior to storing + self.population_a.append(tree) # append 'tree' to population list + + return + + + def fx_archive_tree_write(self, population, key): + + ''' + Save population_* to disk. + + Arguments required: population, key + ''' + + with open(self.filename[key], 'a') as csv_file: + target = csv.writer(csv_file, delimiter=',') + if self.generation_id != 1: target.writerows(['']) # empty row before each generation + target.writerows([['Karoo GP by Kai Staats', 'Generation:', str(self.generation_id)]]) + + for tree in range(1, len(population)): + target.writerows(['']) # empty row before each Tree + for row in range(0, 13): # increment through each row in the array Tree + target.writerows([population[tree][row]]) + + + def fx_archive_params_write(self, app): # tested 2017 02/13 + + ''' + Save run-time configuration parameters to disk. + + Arguments required: none + ''' + + file = open(self.path + '/log_config.txt', 'w') + file.write('Karoo GP ' + app) + file.write('\n launched: ' + str(self.datetime)) + file.write('\n dataset: ' + str(self.dataset)) + file.write('\n') + file.write('\n kernel: ' + str(self.kernel)) + file.write('\n precision: ' + str(self.precision)) + file.write('\n') + # file.write('tree type: ' + tree_type) + # file.write('tree depth base: ' + str(tree_depth_base)) + file.write('\n tree depth max: ' + str(self.tree_depth_max)) + file.write('\n min node count: ' + str(self.tree_depth_min)) + file.write('\n') + file.write('\n genetic operator Reproduction: ' + str(self.evolve_repro)) + file.write('\n genetic operator Point Mutation: ' + str(self.evolve_point)) + file.write('\n genetic operator Branch Mutation: ' + str(self.evolve_branch)) + file.write('\n genetic operator Crossover: ' + str(self.evolve_cross)) + file.write('\n') + file.write('\n tournament size: ' + str(self.tourn_size)) + file.write('\n population: ' + str(self.tree_pop_max)) + file.write('\n number of generations: ' + str(self.generation_id)) + file.write('\n\n') + file.close() + + + file = open(self.path + '/log_test.txt', 'w') + file.write('Karoo GP ' + app) + file.write('\n launched: ' + str(self.datetime)) + file.write('\n dataset: ' + str(self.dataset)) + file.write('\n') + + if len(self.fittest_dict) > 0: + + fitness_best = 0 + fittest_tree = 0 + + # original method, using pre-built fittest_dict + # file.write('\n The leading Trees and their associated expressions are:') + # for n in sorted(self.fittest_dict): + # file.write('\n\t ' + str(n) + ' : ' + str(self.fittest_dict[n])) + + # revised method, re-evaluating all Trees from stored fitness score + for tree_id in range(1, len(self.population_b)): + + fitness = float(self.population_b[tree_id][12][1]) + + if self.kernel == 'c': # display best fit Trees for the CLASSIFY kernel + if fitness >= fitness_best: # find the Tree with Maximum fitness score + fitness_best = fitness; fittest_tree = tree_id # set best fitness Tree + + elif self.kernel == 'r': # display best fit Trees for the REGRESSION kernel + if fitness_best == 0: fitness_best = fitness # set the baseline first time through + if fitness <= fitness_best: # find the Tree with Minimum fitness score + fitness_best = fitness; fittest_tree = tree_id # set best fitness Tree + + elif self.kernel == 'm': # display best fit Trees for the MATCH kernel + if fitness == self.data_train_rows: # find the Tree with a perfect match for all data rows + fitness_best = fitness; fittest_tree = tree_id # set best fitness Tree + + # elif self.kernel == '[other]': # display best fit Trees for the [other] kernel + # if fitness [>=, <=] fitness_best: # find the Tree with [Maximum or Minimum] fitness score + # fitness_best = fitness; fittest_tree = tree_id # set best fitness Tree + + # print 'fitness_best:', fitness_best, 'fittest_tree:', fittest_tree + + + # test the most fit Tree and write to the .txt log + self.fx_eval_poly(self.population_b[int(fittest_tree)]) # generate the raw and sympified equation for the given Tree using SymPy + expr = str(self.algo_sym) # get simplified expression and process it by TF - tested 2017 02/02 + result = self.fx_fitness_eval(expr, self.data_test, get_labels=True) + + file.write('\n\n Tree ' + str(fittest_tree) + ' is the most fit, with expression:') + file.write('\n\n ' + str(self.algo_sym)) + + if self.kernel == 'c': + file.write('\n\n Classification fitness score: {}'.format(result['fitness'])) + file.write('\n\n Precision-Recall report:\n {}'.format(skm.classification_report(result['solution'], result['labels'][0]))) + file.write('\n Confusion matrix:\n {}'.format(skm.confusion_matrix(result['solution'], result['labels'][0]))) + + elif self.kernel == 'r': + MSE, fitness = skm.mean_squared_error(result['result'], result['solution']), result['fitness'] + file.write('\n\n Regression fitness score: {}'.format(fitness)) + file.write('\n Mean Squared Error: {}'.format(MSE)) + + elif self.kernel == 'm': + file.write('\n\n Matching fitness score: {}'.format(result['fitness'])) + + # elif self.kernel == '[other]': + # file.write( ... ) + + else: file.write('\n\n There were no evolved solutions generated in this run... your species has gone extinct!') + + file.write('\n\n') + file.close() + + return + + diff --git a/karoo_gp/karoo_gp_main.py b/karoo_gp/karoo_gp_main.py new file mode 100644 index 0000000..bd176a4 --- /dev/null +++ b/karoo_gp/karoo_gp_main.py @@ -0,0 +1,257 @@ +# Karoo GP Main (desktop) +# Use Genetic Programming for Classification and Symbolic Regression +# by Kai Staats, MSc; see LICENSE.md +# Thanks to Emmanuel Dufourq and Arun Kumar for support during 2014-15 devel; TensorFlow support provided by Iurii Milovanov +# version 1.0.3 + +''' +A word to the newbie, expert, and brave-- +Even if you are highly experienced in Genetic Programming, it is recommended that you review the 'Karoo User Guide' +before running this application. While your computer will not burst into flames nor will the sun collapse into a black +hole if you do not, you will likely find more enjoyment of this particular flavour of GP with a little understanding +of its intent and design. + +KAROO GP DESKTOP +This is the Karoo GP desktop application. It presents a simple yet functional user interface for configuring each +Karoo GP run. While this can be launched on a remote server, you may find that once you get the hang of using Karoo, +and are in more of a production mode than one of experimentation, using karoo_gp_server.py is more to your liking as +it provides both a scripted and/or command-line launch vehicle. + +To launch Karoo GP desktop: + + $ python karoo_gp_main.py + + (or from iPython) + + $ run karoo_gp_main.py + + +If you include the path to an external dataset, it will auto-load at launch: + + $ python karoo_gp_main.py /[path]/[to_your]/[filename].csv +''' + +import sys # sys.path.append('modules/') to add the directory 'modules' to the current path +import karoo_gp_base_class; gp = karoo_gp_base_class.Base_GP() +import time + +#++++++++++++++++++++++++++++++++++++++++++ +# User Defined Configuration | +#++++++++++++++++++++++++++++++++++++++++++ + +''' +Karoo GP queries the user for key parameters, some of which may be adjusted during run-time +at user invoked pauses. See the User Guide for meaning and value of each of the following parameters. + +Future versions will enable all of these parameters to be configured via an external configuration file and/or +command-line arguments passed at launch. +''' + +gp.karoo_banner() + +print '' + +menu = ['c','r','m','p',''] +while True: + try: + gp.kernel = raw_input('\t Select (c)lassification, (r)egression, (m)atching, or (p)lay (default m): ') + if gp.kernel not in menu: raise ValueError() + gp.kernel = gp.kernel or 'm'; break + except ValueError: print '\t\033[32m Select from the options given. Try again ...\n\033[0;0m' + except KeyboardInterrupt: sys.exit() + +if gp.kernel == 'p': + + menu = ['f','g',''] + while True: + try: + tree_type = raw_input('\t Select (f)ull or (g)row method (default f): ') + if tree_type not in menu: raise ValueError() + tree_type = tree_type or 'f'; break + except ValueError: print '\t\033[32m Select from the options given. Try again ...\n\033[0;0m' + except KeyboardInterrupt: sys.exit() + +else: + + menu = ['f','g','r',''] + while True: + try: + tree_type = raw_input('\t Select (f)ull, (g)row, or (r)amped 50/50 method (default r): ') + if tree_type not in menu: raise ValueError() + tree_type = tree_type or 'r'; break + except ValueError: print '\t\033[32m Select from the options given. Try again ...\n\033[0;0m' + except KeyboardInterrupt: sys.exit() + +menu = range(1,11) +while True: + try: + tree_depth_base = raw_input('\t Enter depth of the \033[3minitial\033[0;0m population of Trees (default 3): ') + if tree_depth_base not in str(menu) or tree_depth_base == '0': raise ValueError() + tree_depth_base = tree_depth_base or 3; tree_depth_base = int(tree_depth_base); break + except ValueError: print '\t\033[32m Enter a number from 1 including 10. Try again ...\n\033[0;0m' + except KeyboardInterrupt: sys.exit() + + + +if gp.kernel == 'p': # if the Play kernel is selected + gp.tree_depth_max = tree_depth_base + gp.tree_pop_max = 1 + gp.display = 'm' + +else: # if any other kernel is selected + + if tree_type == 'f': gp.tree_depth_max = tree_depth_base + else: # if type is Full, the maximum Tree depth for the full run is equal to the initial population + + menu = range(tree_depth_base,11) + while True: + try: + gp.tree_depth_max = raw_input('\t Enter maximum Tree depth (default matches \033[3minitial\033[0;0m): ') + if gp.tree_depth_max not in str(menu) or gp.tree_depth_max == '0': raise ValueError() + gp.tree_depth_max = gp.tree_depth_max or tree_depth_base; gp.tree_depth_max = int(gp.tree_depth_max); break + # gp.tree_depth_max = int(gp.tree_depth_max) - tree_depth_base; break + except ValueError: print '\t\033[32m Enter a number >= the maximum Tree depth. Try again ...\n\033[0;0m' + except KeyboardInterrupt: sys.exit() + + menu = range(3,101) + while True: + try: + gp.tree_depth_min = raw_input('\t Enter minimum number of nodes for any given Tree (default 3): ') + if gp.tree_depth_min not in str(menu) or gp.tree_depth_min == '0': raise ValueError() + gp.tree_depth_min = gp.tree_depth_min or 3; gp.tree_depth_min = int(gp.tree_depth_min); break + except ValueError: print '\t\033[32m Enter a number from 3 to 2^(depth + 1) - 1 including 100. Try again ...\n\033[0;0m' + except KeyboardInterrupt: sys.exit() + + menu = range(10,1001) + while True: + try: + gp.tree_pop_max = raw_input('\t Enter number of Trees in each population (default 100): ') + if gp.tree_pop_max not in str(menu) or gp.tree_pop_max == '0': raise ValueError() + gp.tree_pop_max = gp.tree_pop_max or 100; gp.tree_pop_max = int(gp.tree_pop_max); break + except ValueError: print '\t\033[32m Enter a number from 10 including 1000. Try again ...\n\033[0;0m' + except KeyboardInterrupt: sys.exit() + + menu = range(1,101) + while True: + try: + gp.generation_max = raw_input('\t Enter max number of generations (default 10): ') + if gp.generation_max not in str(menu) or gp.generation_max == '0': raise ValueError() + gp.generation_max = gp.generation_max or 10; gp.generation_max = int(gp.generation_max); break + except ValueError: print '\t\033[32m Enter a number from 1 including 100. Try again ...\n\033[0;0m' + except KeyboardInterrupt: sys.exit() + + menu = ['i','g','m','s','db',''] + while True: + try: + gp.display = raw_input('\t Display (i)nteractive, (g)eneration, (m)iminal, (s)ilent, or (d)e(b)ug (default m): ') + if gp.display not in menu: raise ValueError() + gp.display = gp.display or 'm'; break + except ValueError: print '\t\033[32m Select from the options given. Try again ...\n\033[0;0m' + except KeyboardInterrupt: sys.exit() + + +# define the ratio between types of mutation, where all sum to 1.0; can be adjusted in 'i'nteractive mode +gp.evolve_repro = int(0.1 * gp.tree_pop_max) # quantity of a population generated through Reproduction +gp.evolve_point = int(0.0 * gp.tree_pop_max) # quantity of a population generated through Point Mutation +gp.evolve_branch = int(0.2 * gp.tree_pop_max) # quantity of a population generated through Branch Mutation +gp.evolve_cross = int(0.7 * gp.tree_pop_max) # quantity of a population generated through Crossover + +gp.tourn_size = 10 # qty of individuals entered into each tournament (standard 10); can be adjusted in 'i'nteractive mode +gp.precision = 10 # the number of floating points for the round function in 'fx_fitness_eval'; hard coded + + +#++++++++++++++++++++++++++++++++++++++++++ +# Construct First Generation of Trees | +#++++++++++++++++++++++++++++++++++++++++++ + +''' +Karoo GP constructs the first generation of Trees. All subsequent generations evolve from priors, with no new Trees +constructed from scratch. All parameters which define the Trees were set by the user in the previous section. + +If the user has selected 'Play' mode, this is the only generation to be constructed, and then GP Karoo terminates. +''' + +start = time.time() # start the clock for the timer + +filename = '' # temp place holder +gp.fx_karoo_data_load(tree_type, tree_depth_base, filename) +gp.generation_id = 1 # set initial generation ID + +gp.population_a = ['Karoo GP by Kai Staats, Generation ' + str(gp.generation_id)] # an empty list which will store all Tree arrays, one generation at a time + +gp.fx_karoo_construct(tree_type, tree_depth_base) # construct the first population of Trees + +if gp.kernel != 'p': print '\n We have constructed a population of', gp.tree_pop_max,'Trees for Generation 1\n' + +else: # EOL for Play mode + gp.fx_display_tree(gp.tree) # print the current Tree + gp.fx_archive_tree_write(gp.population_a, 'a') # save this one Tree to disk + sys.exit() + + +#++++++++++++++++++++++++++++++++++++++++++ +# Evaluate First Generation of Trees | +#++++++++++++++++++++++++++++++++++++++++++ + +''' +Karoo GP evaluates the first generation of Trees. This process flattens each GP Tree into a standard +equation by means of a recursive algorithm and subsequent processing by the SymPy library which +simultaneously evaluates the Tree for its results, returns null for divide by zero, reorganises +and then rewrites the expression in its simplest form. + +If the user has defined only 1 generation, then this is the end of the run. Else, Karoo GP +continues into multi-generational evolution. +''' + +if gp.display != 's': + print ' Evaluate the first generation of Trees ...' + if gp.display == 'i': gp.fx_karoo_pause(0) + +gp.fx_fitness_gym(gp.population_a) # generate expression, evaluate fitness, compare fitness +gp.fx_archive_tree_write(gp.population_a, 'a') # save the first generation of Trees to disk + +# no need to continue if only 1 generation or fewer than 10 Trees were designated by the user +if gp.tree_pop_max < 10 or gp.generation_max == 1: + gp.fx_archive_params_write('Desktop') # save run-time parameters to disk + gp.fx_karoo_eol() + sys.exit() + + +#++++++++++++++++++++++++++++++++++++++++++ +# Evolve Multiple Generations | +#++++++++++++++++++++++++++++++++++++++++++ + +''' +Karoo GP moves into multi-generational evolution. + +In the following four evolutionary methods, the global list of arrays 'gp.population_a' is repeatedly recycled as +the prior generation from which the local list of arrays 'gp.population_b' is created, one array at a time. The ratio of +invocation of the four evolutionary processes for each generation is set by the parameters in the 'User Defined +Configuration' (top). +''' + +for gp.generation_id in range(2, gp.generation_max + 1): # loop through 'generation_max' + + print '\n Evolve a population of Trees for Generation', gp.generation_id, '...' + gp.population_b = ['GP Tree by Kai Staats, Evolving Generation'] # initialise population_b to host the next generation + + gp.fx_fitness_gene_pool() # generate the viable gene pool (compares against gp.tree_depth_min) + gp.fx_karoo_reproduce() # method 1 - Reproduction + gp.fx_karoo_point_mutate() # method 2 - Point Mutation + gp.fx_karoo_branch_mutate() # method 3 - Branch Mutation + gp.fx_karoo_crossover() # method 4 - Crossover Reproduction + gp.fx_eval_generation() # evaluate all Trees in a single generation + + gp.population_a = gp.fx_evolve_pop_copy(gp.population_b, ['GP Tree by Kai Staats, Generation ' + str(gp.generation_id)]) + + +#++++++++++++++++++++++++++++++++++++++++++ +# "End of line, man!" --CLU | +#++++++++++++++++++++++++++++++++++++++++++ + +print '\n \033[36m Karoo GP has an ellapsed time of \033[0;0m\033[31m%f\033[0;0m' % (time.time() - start), '\033[0;0m' + +gp.fx_archive_tree_write(gp.population_b, 'f') # save the final generation of Trees to disk +gp.fx_karoo_eol() + + diff --git a/karoo_gp/karoo_gp_server.py b/karoo_gp/karoo_gp_server.py new file mode 100644 index 0000000..671b8ce --- /dev/null +++ b/karoo_gp/karoo_gp_server.py @@ -0,0 +1,89 @@ +# Karoo GP Server +# Use Genetic Programming for Classification and Symbolic Regression +# by Kai Staats, MSc; see LICENSE.md +# Thanks to Emmanuel Dufourq and Arun Kumar for support during 2014-15 devel; TensorFlow support provided by Iurii Milovanov +# version 1.0.3 + +''' +A word to the newbie, expert, and brave-- +Even if you are highly experienced in Genetic Programming, it is recommended that you review the 'Karoo User Guide' +before running this application. While your computer will not burst into flames nor will the sun collapse into a black +hole if you do not, you will likely find more enjoyment of this particular flavour of GP with a little understanding +of its intent and design. + +KAROO GP SERVER +This is the Karoo GP server application. It can be internally scripted, fully command-line configured, or a combination +of both. If this is your first time using Karoo GP, please run the desktop application karoo_gp_main.py first in order +that you come to understand the full functionality of this particular Genetic Programming platform. + +To launch Karoo GP server: + + $ python karoo_gp_server.py + + (or from iPython) + + $ run karoo_gp_server.py + + +Without any arguments, Karoo GP relies entirely upon the scripted settings and the datasets located in karoo_gp/files/. + +If you include the path to an external dataset, it will auto-load at launch: + + $ python karoo_gp_server.py /[path]/[to_your]/[filename].csv + + +You can include a number of additional arguments which override the default values, as follows: + + -ker [r,c,m] fitness function: (r)egression, (c)lassification, or (m)atching + -typ [f,g,r] Tree type: (f)ull, (g)row, or (r)amped half/half + -bas [3...10] maximum Tree depth for the initial population + -max [3...10] maximum Tree depth for the entire run + -min [3...100] minimum number of nodes + -pop [10...1000] maximum population + -gen [1...100] number of generations + +Note that if you include any of the above flags, then you must also include a flag to load an external dataset: + + $ python karoo_gp_server.py -ker c -typ r -bas 4 -fil /[path]/[to_your]/[filename].csv +''' + +import sys # sys.path.append('modules/') to add the directory 'modules' to the current path +import argparse +import karoo_gp_base_class; gp = karoo_gp_base_class.Base_GP() + +ap = argparse.ArgumentParser(description = 'Karoo GP Server') +ap.add_argument('-ker', action = 'store', dest = 'kernel', default = 'm', help = '[c,r,m] fitness function: (r)egression, (c)lassification, or (m)atching') +ap.add_argument('-typ', action = 'store', dest = 'type', default = 'r', help = '[f,g,r] Tree type: (f)ull, (g)row, or (r)amped half/half') +ap.add_argument('-bas', action = 'store', dest = 'depth_base', default = 5, help = '[3...10] maximum Tree depth for the initial population') +ap.add_argument('-max', action = 'store', dest = 'depth_max', default = 5, help = '[3...10] maximum Tree depth for the entire run') +ap.add_argument('-min', action = 'store', dest = 'depth_min', default = 3, help = '[3...100] minimum number of nodes') +ap.add_argument('-pop', action = 'store', dest = 'pop_max', default = 100, help = '[10...1000] maximum population') +ap.add_argument('-gen', action = 'store', dest = 'gen_max', default = 30, help = '[1...100] number of generations') +ap.add_argument('-tor', action = 'store', dest = 'tor_size', default = 10, help = '[1...max pop] tournament size') +ap.add_argument('-fil', action = 'store', dest = 'filename', default = 'files/data_MATCH.csv', help = '/path/to_your/[data].csv') + +args = ap.parse_args() + +# pass the argparse defaults and/or user inputs to the required variables +gp.kernel = str(args.kernel) +tree_type = str(args.type) +tree_depth_base = int(args.depth_base) +gp.tree_depth_max = int(args.depth_max) +gp.tree_depth_min = int(args.depth_min) +gp.tree_pop_max = int(args.pop_max) +gp.generation_max = int(args.gen_max) +filename = str(args.filename) + +gp.display = 's' # display mode is set to (s)ilent +gp.evolve_repro = int(0.1 * gp.tree_pop_max) # quantity of a population generated through Reproduction +gp.evolve_point = int(0.0 * gp.tree_pop_max) # quantity of a population generated through Point Mutation +gp.evolve_branch = int(0.2 * gp.tree_pop_max) # quantity of a population generated through Branch Mutation +gp.evolve_cross = int(0.7 * gp.tree_pop_max) # quantity of a population generated through Crossover + +gp.tourn_size = int(args.tor_size) # qty of individuals entered into each tournament; can be adjusted in 'i'nteractive mode +gp.precision = 4 # the number of floating points for the round function in 'fx_fitness_eval' + +# run Karoo GP +gp.karoo_gp(tree_type, tree_depth_base, filename) + +