From 7087b43d390dc369a7519c2089b0800a9de970eb Mon Sep 17 00:00:00 2001 From: wanglin2 <1013335014@qq.com> Date: Wed, 8 Mar 2023 09:38:46 +0800 Subject: [PATCH 001/163] =?UTF-8?q?Fix=EF=BC=9A=E4=BF=AE=E5=A4=8D=E5=89=8D?= =?UTF-8?q?=E8=BF=9B=E5=90=8E=E9=80=80=E6=B2=A1=E6=9C=89=E8=A7=A6=E5=8F=91?= =?UTF-8?q?data=5Fchange=E4=BA=8B=E4=BB=B6=E7=9A=84=E9=97=AE=E9=A2=98?= =?UTF-8?q?=EF=BC=9BFeature=EF=BC=9A=E9=BC=A0=E6=A0=87=E6=BB=9A=E8=BD=AE?= =?UTF-8?q?=E4=BA=8B=E4=BB=B6=E6=94=AF=E6=8C=81=E8=87=AA=E5=AE=9A=E4=B9=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- simple-mind-map/index.js | 9 ++++- simple-mind-map/src/Command.js | 8 +++-- simple-mind-map/src/View.js | 23 ++++++++++--- web/src/lang/en_us.js | 5 ++- web/src/lang/zh_cn.js | 5 ++- web/src/pages/Edit/components/BaseStyle.vue | 37 ++++++++++++++++++--- 6 files changed, 73 insertions(+), 14 deletions(-) diff --git a/simple-mind-map/index.js b/simple-mind-map/index.js index 1505df69..5e0bed02 100644 --- a/simple-mind-map/index.js +++ b/simple-mind-map/index.js @@ -61,7 +61,14 @@ const defaultOpt = { } }, // 达到该宽度文本自动换行 - textAutoWrapWidth: 500 + textAutoWrapWidth: 500, + // 自定义鼠标滚轮事件处理 + // 可以传一个函数,回调参数为事件对象 + customHandleMousewheel: null, + // 鼠标滚动的行为,如果customHandleMousewheel传了自定义函数,这个属性不生效 + mousewheelAction: 'zoom',// zoom(放大缩小)、move(上下移动) + // 当mousewheelAction设为move时,可以通过该属性控制鼠标滚动一下视图移动的步长,单位px + mousewheelMoveStep: 100 } // 思维导图 diff --git a/simple-mind-map/src/Command.js b/simple-mind-map/src/Command.js index f7d85b15..25ad3f33 100644 --- a/simple-mind-map/src/Command.js +++ b/simple-mind-map/src/Command.js @@ -98,7 +98,9 @@ class Command { this.activeHistoryIndex, this.history.length ) - return simpleDeepClone(this.history[this.activeHistoryIndex]) + let data = simpleDeepClone(this.history[this.activeHistoryIndex]) + this.mindMap.emit('data_change', data) + return data } } @@ -111,7 +113,9 @@ class Command { if (this.activeHistoryIndex + step <= len - 1) { this.activeHistoryIndex += step this.mindMap.emit('back_forward', this.activeHistoryIndex) - return simpleDeepClone(this.history[this.activeHistoryIndex]) + let data = simpleDeepClone(this.history[this.activeHistoryIndex]) + this.mindMap.emit('data_change', data) + return data } } diff --git a/simple-mind-map/src/View.js b/simple-mind-map/src/View.js index 244293a4..d2110c79 100644 --- a/simple-mind-map/src/View.js +++ b/simple-mind-map/src/View.js @@ -55,12 +55,25 @@ class View { }) // 放大缩小视图 this.mindMap.event.on('mousewheel', (e, dir) => { - // // 放大 - if (dir === 'down') { - this.enlarge() + if (this.mindMap.opt.customHandleMousewheel && typeof this.mindMap.opt.customHandleMousewheel === 'function') { + return this.mindMap.opt.customHandleMousewheel(e) + } + if (this.mindMap.opt.mousewheelAction === 'zoom') { + // 放大 + if (dir === 'down') { + this.enlarge() + } else { + // 缩小 + this.narrow() + } } else { - // 缩小 - this.narrow() + // 上移 + if (dir === 'down') { + this.translateY(-this.mindMap.opt.mousewheelMoveStep) + } else { + // 下移 + this.translateY(this.mindMap.opt.mousewheelMoveStep) + } } }) } diff --git a/web/src/lang/en_us.js b/web/src/lang/en_us.js index fe0f116f..5c3427f2 100644 --- a/web/src/lang/en_us.js +++ b/web/src/lang/en_us.js @@ -35,7 +35,10 @@ export default { watermarkAngle: 'Angle', watermarkTextOpacity: 'Text opacity', watermarkTextFontSize: 'Font size', - isEnableNodeRichText: 'Enable node rich text editing' + isEnableNodeRichText: 'Enable node rich text editing', + mousewheelAction: 'Mouse wheel behavior', + zoomView: 'Zoom view', + moveViewUpDown: 'Move view up and down' }, color: { moreColor: 'More color' diff --git a/web/src/lang/zh_cn.js b/web/src/lang/zh_cn.js index 9596aefb..cbd64437 100644 --- a/web/src/lang/zh_cn.js +++ b/web/src/lang/zh_cn.js @@ -35,7 +35,10 @@ export default { watermarkAngle: '旋转角度', watermarkTextOpacity: '文字透明度', watermarkTextFontSize: '文字字号', - isEnableNodeRichText: '是否开启节点富文本编辑' + isEnableNodeRichText: '是否开启节点富文本编辑', + mousewheelAction: '鼠标滚轮行为', + zoomView: '缩放视图', + moveViewUpDown: '上下移动视图' }, color: { moreColor: '更多颜色' diff --git a/web/src/pages/Edit/components/BaseStyle.vue b/web/src/pages/Edit/components/BaseStyle.vue index 7177a3f8..4156585e 100644 --- a/web/src/pages/Edit/components/BaseStyle.vue +++ b/web/src/pages/Edit/components/BaseStyle.vue @@ -431,7 +431,26 @@
Fix: No trigger after forward and backward data_ Change event.
New: Support user-defined mouse wheel events; The mouse wheel is adjusted to support zooming and moving the view up and down.
New: The setText method of the Node class adds a second parameter to support setting rich text content.
zoom(Zoom in and out)、move(Move up and down). If customHandleMousewheel passes a custom function, this property will not take effectmousewheelAction is set to move, you can use this attribute to control the step length of the view movement when the mouse scrolls. The unit is px修复:前进回退后没有触发data_change事件的问题。
新增:支持自定义鼠标滚轮事件;鼠标滚轮调整为支持缩放视图和上下移动视图。
新增:Node类的setText方法增加第二个参数,以支持设置富文本内容。
zoom(放大缩小)、move(上下移动)。如果customHandleMousewheel传了自定义函数,这个属性不生效mousewheelAction设为move时,可以通过该属性控制鼠标滚动一下视图移动的步长,单位pxNew: 1.Support horizontal scrolling in response to the mouse.
Fix: No trigger after forward and backward data_ Change event.
New: Support user-defined mouse wheel events; The mouse wheel is adjusted to support zooming and moving the view up and down.
diff --git a/web/src/pages/Doc/zh/changelog/index.md b/web/src/pages/Doc/zh/changelog/index.md index 0748ce2f..9fb2b7c5 100644 --- a/web/src/pages/Doc/zh/changelog/index.md +++ b/web/src/pages/Doc/zh/changelog/index.md @@ -1,5 +1,9 @@ # Changelog +## 0.4.4 + +新增:1.支持响应鼠标的横向滚动。 + ## 0.4.3 修复:前进回退后没有触发`data_change`事件的问题。 diff --git a/web/src/pages/Doc/zh/changelog/index.vue b/web/src/pages/Doc/zh/changelog/index.vue index 20e4d540..8b365fde 100644 --- a/web/src/pages/Doc/zh/changelog/index.vue +++ b/web/src/pages/Doc/zh/changelog/index.vue @@ -1,6 +1,8 @@新增:1.支持响应鼠标的横向滚动。
修复:前进回退后没有触发data_change事件的问题。
新增:支持自定义鼠标滚轮事件;鼠标滚轮调整为支持缩放视图和上下移动视图。
From c265e3e437b13898ad319e903d2102abda490c16 Mon Sep 17 00:00:00 2001 From: wanglin2 <1013335014@qq.com> Date: Tue, 14 Mar 2023 09:45:27 +0800 Subject: [PATCH 005/163] =?UTF-8?q?=E6=89=93=E5=8C=850.4.4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 3 ++- index.html | 2 +- qrcode.jpg | Bin 50040 -> 50204 bytes web/src/pages/Doc/en/changelog/index.md | 2 +- web/src/pages/Doc/en/changelog/index.vue | 2 +- web/src/pages/Doc/zh/changelog/index.md | 2 +- web/src/pages/Doc/zh/changelog/index.vue | 2 +- 7 files changed, 7 insertions(+), 6 deletions(-) diff --git a/.gitignore b/.gitignore index 28f1ba75..cf78998b 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ node_modules -.DS_Store \ No newline at end of file +.DS_Store +dist_electron \ No newline at end of file diff --git a/index.html b/index.html index 0c4e2eb5..4f881bb5 100644 --- a/index.html +++ b/index.html @@ -1 +1 @@ -Xbw)Ml z8CG_#lXY})0hba!=rf+J`0NYpYd#>$<+G|4&wkZY9O8QSugsX)qfnW2{|nSx#og?S zY4@sqDF-g7-_pClmVFV8)m%yp>V5y>J$u<^tkwKi7t^%R7`6i?p_Tj*JGC`+TK2As zfEENP-Vx6vb9^t2Yx>#{9QYgX)Yi~5sdxL z$lR3m{AFhv;h`ur@J$f^>5Q>&{2Y+@%Zz+H9r|fi`7=tM?!e+47_S&IGy0ySt$Ko0 zym}5yls|QFFrZ;6JqNn)>vx>+(vAE${#}0#pw0oS0rDM|ZwP$*9qs-k?637X(1t7r z0^Z^bFR dl3XC9|N1qZkSjB8LjL+5YXN6Efz2A$(f;IAwfr}5Xs&D2T8k-s z)rbm_#1Xh`4)3|?Z7MHt6D8nHMY=!l)-JzJyxo+TcPW5)O!qt@kvG0e(OloAF28VY z;K|;Xw8YA&_;oZeUm5FI6MH2Jb??V+>TBay{58V7FWY#Q4~j*QH=c;{qE%zS@rUw7 zwVJmYYa~8PPSY@hGV*2~u(Ur}vt*ogxbzc`Zfxc6+L&MNll11)+)$j NT9vz($qaB;*q@!05aXP>+j0pynG=HU!vlNQa2rq;%~~C8Yl|^UXzz+irkY0 z?=p-$fK#>c(_F+N8_MP!C&KdHblY}nb)Sv~gz3Dt7bi9c!yu L!r+{G1k*(BCBkTlz9(@#>QO z&}@c_3L|r3!xP_ZFmc(COr?zn*^Rh+ZZlbWaD(+zvKrh)ifhgJ5;XDy13-NnW^qb0 ziZ(*mx=f v^+!I7GKpFO6jk^D^VHxJCqSM^ zdsy~e`hWDo Ofw%G?P%&D i6npNR+osuyf*#k+^X z-S}m!9I3>QnhFR^jK%w&@l0oZlzQ`sW4I>1pbl$()}NhPsRHrIS_?5(3`UkJNloOA z{Qg?6fjL}TM{gHpUsA>m?$7M{% ~1x}n>h&;dWWMH+WRC8kryHw0^i~0g5cPZ-`o4%bAOAQTq`^(V5@)X zM10Pcl=Tit#8oJ_+D3`yZz}(~)QrtJ^*8*c$rR#>LsY_pa@+oELBUyTomS&dcNLUo zK8;t{+a1&^ ml9quK6~^b8mVe>ZSdPNVRg_K{*SFIKmt5O6SgM~a>G1jQa9 zcQF!e5S$8^uJNa@NAf|gieZ6eyhU^5{3p`<7jeU8A)w2xX3S@veflf>VQ&Hr4K$lB z)I8 jXYxYltSa-J|s^e 4+{T||xj%A6`Vf_*a0bd5 ze-g67xE~*`qd%2?wY8oV@%uPjuS8>{U+%VU&NNFp!EyDoVTNdwVQb+Dn?Acu3a*pC zZ#U_u9R2#QAc{XGF4QDg5ZN_YBFKM_v*R=RxZ<_!5bA Q7 zttAv_%J+<-F-=taNT+BiLAQ4xQd|&Rp3^X0tFw~vxd+9z;1DD;bz>Hlxric bZ527G;8h_C-!B5>mO zgiB$(IjmV&n9oVX@D-Rh{WzPR^@`QBmG=5&VXQ`lNAIXucEUDH2N`(3Z6PXi{;&u) z %&mEaIFtNlp3Dqhj} mR{wqNJ)zh zxpE_Kj~<)%bM0O5PR}7~wZreDX3+PT%c^bP0Twz>hKV AAtsCT_n z{|mML%Un%`dHyp|L+s~mM}J)fYema$cNl{T;hS0My-lOK8eH!?xR+~$%2k<+QuPlt z4mk(hiB_wMp2G5$H;oF}?d{;^qHEaI8`74faJPmCvBz%LdF1i|#HsgOvyHcP;C+)l z#!$q3>4PvYq|fEoPVA3~`jCn7I-IY&Ksq}X1UZ`!xt$;WUbZFc35*9;4rql3`_%gj zTbEw;(-IKaE3Vkt{@k7x=sg_6zIDk*h;wE1*`z@72=$<%N*9u24ELzE1uJ0YP=XRu z#Ll@ $QHyc0ln+BU|WPV@lqouAm5P=3!3#gqhigA`#OUeFWuLz;oC#*Q8c C0bf)CeXNvFM%KLrib@8r8|!1O&cMx|ne?tNz?_|yh*_6Z9MqLT!t2@tXYA6D0D zl5SzBd~zpVmTfzD534iBV@9m(Izriy9a-=28s%1ef+C@GKv7e8Dm32FK()Ix5yxHa z$`>ioEaG hLl*bX;Q|yR_UhR8zzi8{W;lxAB%gf^3 zryP+RJDk!?y6IOV&_KqplMz<(5+z3kOJdojRW&v 99|zO$QdnU-lu(bWr%*|Y!*e$7 z&-pR5*}8E>hLaTeIj9>Af!GUNF$*PH+_n8vb2GKG9(5ae=@b{be{U8g$t20XIu+;n zEAx&zmh!4d`&6Plu!xdaZLLGHGU`@AB-R8nJ+=4EJuO@EFqeV5S#};8L))1T_>b7- z2`u`?x=@=%m$-YwaoJb4Cs5ZzkjzORbVY9T?JQ&_FP6I &zl!Bai}KwE_ygLk>}Y>6kEL+v7O0;?*PDz zqZiA)?p#}ybxQ^o5;Twyj%_zEz0t^ObGq(TK~9zS0S*3mDN79>_F!J7(52MxZrKd6 zcl49`LJ}k9u$kj!>Z;5&7|A>Xn(N%DlpCMiUVdwqQwkR@2}^r2 UM zV@l2c?Zrr$$2D``5Z*kmUII@ ^m)g%9A&uWtG`|EIf3p0cXNBEwS^mrp5`H zodEB8V{!%Q=E|qmL3`~jpsf?m >b@o+Eoj3Kh0f(l92(7kz&>kpS#iODs+E7Rr@{U1)Yp}+%gg(= zEC>#z{C+ugEtpWVX3x?{Qz(F+H0$o JxGCAAszfW}< z))=OEWkzNQE7k;VM6F8qu1)!2?95#E`c-k!IF*4w*_XpJYX5{wvzL9rDFON}0K*)L zLnFNq4`iPfniFgw6E4-1qccU(I+v$;!Y`T*d;9PtX{69m0IMhkA+qJlhieo1n?vq? z#|1I6EgW>}-b)lY`XQoM=oqID%Y0Ijnvpp6u7VF ;$RBx$nDfDFy* zs`)ZxLyf)7@`~m?bz_4FK05j{TepjF#O%Vp-iX(ZV>6Q$yD6~uB%9_zjtxOlQNi2n zKTnwzm}{f!x0fr%h9e>dzuAg1gP5-*zt?<4>;x;Tn$#-ZzT;?uL7A+jj*z7{C0*=L zpWz(HIR=C=AO;>3TAT#C3m`MDZufjn&rB}w`!#PZ&x>(>xnQnXFm0<5nxMrgg!k7Z zz*HDGTzBjK 18Z q6Fvx8HrG<2LY&4VDvkG~@*B`XAV>H} zG_Z=VS+&-@8Dhu~R%NjO+3&O&-hM``l1onT;d%Ok2d2Da=xH`eyea-ZypgE%Qzyq- zA9&lJFX!DAUQPLzyvoCU;%3G5Btmdp>KsUOZC=O+nvL5kfP(?Wu$qQ&@?tQTsTSFF zw1shX WwAfH$GQvZz3Vthq)QgsQz~Ng!(^_NF`OgeBu8&oYy~$M;<)*}4Rs%Q$Kc zR%F0o=Y}z{zDh6%;HK8Zk2LE1QD0Q7kCpwVM{RO_O@-?sPRi;bQOhxxZ=B0Ri?`O8 zlcf&@Uym}uAL EK zwCl>BiVR^Fs0}n1JqmNbg#k>p)@}a8AamijNa|;P1R6TBw=$NX$!$^9;fn;to5Kl( zyz%Q+Z=X|$tE&P29A3v%D<@Nn{7PEO0VPM~tkgR %)D!kuOl5A6{nVb z81>ojPTHATJVx=(7u#!kdo3sMfY`PP0?eSn^{aZvC1qQxG&~7m=C(E;Gm2();42L_ zEJ^?ub(o2SCu_N6jBsQdjJpOjX=qcsS{lMK7O$>i3Wb=wYsw$fx$p-3^zk6q01!~C z_a{SS#fk57tD0K=Y+tbVDpEJL{pDg!=nxHifxe=>dj3>YdZgC2>BWJ`bp7PB`q0cq z{MOCey+t%r<~)I(71DKAcaZ_)H`yvppL9-=d&$c}$^C+P;DJeV 8u#kitI9;e6$uEgd)+n&+1WMA5NaZIg_22! z14Y&edEOECArldDd7dC5DXGuGHPG4ChrJ6B-XoCqfhZ=G0^B8QQMDWvuBr)Jbgc zqi~P_uW%KC%P}~Pq|J!b4zh@)U-vm?|>%?+KJcxU>(_#qg1O;b{9 zA>u|vgMd_E(Hk#zu^-vusKdB6k@qPR9wIp3!QdyU!E%=)zt4u}26^9pqJhwF8N(ZG zJhW{v<8fA9S78`)ZQ#}*c1Ya58{e~OZ6(!nE7R!~61x-`E_A@BPwC$c63IR|WYI8b zO6sK)cVL=YSK$~lm+>yK)$&zrr0mMZD(T&p{$sQgRuf}HR~HsWZh<}iC5v)@OIU(9 zrk7TUQNHB065+^L_J};WrS=bnO>SCQwQfxiUvbY~*5_3wmbsf>3ij!8VB~}_T(SZN zhCEkNcDQU)-noRxuib1ydz4hn0pYjD0CV2b0R_9N(hmRwpt)@uh)~FUe^<_hZzdXC zL{l+=5}F ?@aKV)fBg^B+|h3BmvOzd+8SA6)o*WtsDaWgex{&|N)57yE0 zZ4oD}{2LZg&D 9I!&smfz;dEXRYg7?O$kO z1#dm?)=xzOL qFn z)g^w>vUWIu6qwa7TAvPM2Gx_PBWmxzIU+$9)B0RLDj09wi9Yc97Q_PWLYN%B+_vwN zV@mEOic6*HDs7c*+nK(t+F|E|WzHH<_hWfu^OTsco|y4*kOm|lI(F?*BQifl+hg}e zej)E(k>D#HWLx+-U(}w%C&gD_6m%Jm3CO0e$e-$7)p(O6e>bz%Zr? KExb363~ zljAbB1Hlnfq;y;%l#mY?eQc;?^{1&9X &Yf2UqAF $ zC-08DnLvC!RM~3XJMr4Q%*!2vT$(Whs@p43T6NqeAyk!^<9mk;9G`U|RcyT{NY7?= zqKB=OVsQO+x415_p9-1B$t@&V_TtnSI{WaK*vLKLwbbs$3 HOn=lUy|N~NJaxnUNhTT^*{O2YSc zHFSzeNOAmsh^TVKCu%Li6v*^www`R-U7zT5Zn*7i1U6B7&`4L6G`B>O#ZB^HV+zNa zXlieMI}+32am~tiStrjXDnt;hLNDZP9D=1m#n)1t86r&{N$$z>#~(DaL%N6e^z``? zM2&jgDK*alDL+Zt_lMSOvt5JT(7PN!-`HvucFpO7uS0G|Co<6 ^M z@L^4H1AMn>*bb288vvnY45uGhZ*hDv`>+k1UF_&4 -nmUN2kE?KK5 UCrJ?!Q z+jl#K6C~o%Q|VIoH(C-3uO|Y6N&JeYV_A>J5<5uNHm{4`Bq5g=FDzhVn$ZAEizEDq z{t%ko9TA+wssHq+O;;`DZUFn0lpw6iV7Z!TEjfD#uhc!LN{s5j{*4Z)GHDfVm+0^V(42kc*pYvdgA+|TrvYhMrAC=ymvT` z)UQ-h{!rmZAr-0PFH`hWhwHj}m<@(|mHMdOsGh7aw0L(k$*+iv$MOOTuGF;$7R%_N zSIl^uxJwWR14=8iEV#RHk1Vx1HKS(`n!NNO<0q_Um6<=fh8DKF<)NFVSGAk2N!}0I zb)jT9HP=xiPxI_D5T1U{X@ECxRAz0%tykFbK!G77hj*Jxq?( z7cIEPPoQLFbhLb7n3=dB+}8=5c2#P(<|G?u<=0V}dpJn^^v!O%^vp{W8O6ChFyzgy z3wQnQ<)FmM;u}AU3rwxX>0I%CPu9_-K>p0E=)@u>*VAA1A8k~BpG+GqF({Jp$4}vf zddEfzRgbYD4wuO7v-;zDEdO#z1fkYnA-cB1PW!VgPn{}|DO^@#rehJ`#l}PVj2UEZ zQj@etr3p{;+BdB!rGKr(wc3X4ZfhU#A 4#> z?7HQkfx)ruyym*SoUW~?0q1FVa|!mR1G!I~Y2=qDwa5kiM5^wrxkL|-K}lO?xDb7; zB*O2P)5@zA)aJHrv>(|p`B(Ml8vD2j6DY+1+oF;%Kv=+{CSiqF5NYBqunP$!<8Ed( z4ll>#45%J_I?@gc-G6O=lp7hbPkO(U_k}j~Z 5$eilj`gxYg@U54RCT~$T;|HB9iVtqzOL?FFN^ip9(tDXNGgh;& zlh1+wiZS7ow1Aw~e(0s@NS2i#*xqCmFScg+xSbQ;LqHg471)SnR!SJO_d(JbpKMwm zmGpQsHFQt{f8ds>vqpVBkust&YmlRCI C4mbwpQ;0w1 @@-TLwvdV zIQ{qAV+LT$acUcs(y#ZHyf)6Xyrd6-Q~7cK6yQUo4!<2B=<>>0^0tBY5-*ojD)1GT z$;685cnU!ZgRL7fFA3gXkxE~}CYPUnnGlO@h<)gGR`m>??ue3l+|r~FKy-3!e+$l3 z58XHVerzr|x0R&sOnM?9{k@hV;KaTc E!&$4Bfm;xqix=8C z+V;se{STwJ;J~r%8Q(l+>62&A&s+PlPfQ;Yh|Ffpp>~aw^U*TUUokdU3@g dCWkr#*9Ox^iNOS6wluA&>snzvB&M`U>7s6xU=XD=90a?wdD8u6&C{ zn$y9%|0OA4-ILcc)k4%X$1$&glDq^i4ldQFyFXmA`j7#Eo2Zzw;krLn`}uYUjBVlg zyBqjg*WP+ggD5XoWr8Fk>d|P0SmvH|h-CznCw)>&96dtPa*S1HP6wf$)kYP5t)9z! zW}?%KDOnhzF||o54i4nnBtS4F5=a!IqH&f@lO-)(n(BJg=srF%JJN_-a~!J>cM(u6 z)ZCla;CmsW+M{gMtjR1$mkR_?6nn7hyL&lfD5k+=E m!2%PxugYR5h*S=q-ZMIg^XM`#@tbJdJD0A}(eue?P)qG=5*4eGU@w=G{T zsj5Ov0T8;4a<07ESF m0DY38<)%k8UbYLTY$Wh7d819zgQE$1a)ZPsMl2C zrF7x|mIG$`3R`2j)t%+L1(ZtOfBG*)S#dov=#?*}cN276zX&i2PyHHn4v5ORk~6v+ zMd(^>bIP|T69R&?d<% (@jeY_Kc9!C`3hm#eS0r-$&RbEx1R0{y zSMwj*4Az(A74migqr%8|)ey*nG`6ow!Ddk`8mTdoJ9c<`Yt15uKC+Q-jA_Fkc`vj2 zu3Ntip0;}_^DXd)X*DEMEwK*;VwcCqG?pr<{eCs8!SNP|%>|BDGhn4QHnt*?CEu!t zuFTx40Syn^WKW7=l1XXgkeFpNc1&s=XdUg~z>gCQ^nJ |*=s(qlPN@_ z#&P^jG^?6TcQe-C<0#8N5J?{-M^|_e1B?3lKAXXlo?L()YYx=i>=1z7%=thTWOrh| z3)Kfzd6tPhaYB|T3t|#r7`fHj;@!w=%G&^N086ePTdsb*^*H9PEB0gJ%#B+hB~84# zw^npV7C&!{lDWW}(AMx$8|%T9hou-WQQt5Xz>$L*=yG(g4-qa-cx0GkqYr)iXys_T zD`Yb@a?=RmN?Fb!feQ*|h^WU3t-cBJF;WwJRTH(x08T%`>EXF>gT)-kp62oQHOXz= z{VME)R+CSSl?{>X1saOg^)!^QC_|5=iNPQ{ooIC)XH9_ Rx=7SIAXRn}80DLV2=Wr%Kt% bGqOnxW?3|ycy!174E1nCi70QelPzR8l%Qnz$Z$!M=lu8C_ z%go|W45Bb=Syoy*+uJX%HW-DP#0|214vG8VydJMY&*v%PeHBy6z>!Ox= > zk;&dF%AZ|8f)YH+%#UzTtUL%dWI!Xm=WYk*mzQXs#MagZmUehbpmHUEfa5ars_K1o zTK;vp_lJk;W`V-iu1#Y9u(>!@rAiV?I)6MH&9+J+3{Xa_qa!`fboy9B4C_ik*pqGD za8aLf2McFPp1Vs?neLprI-cyjsSeG_TvJPEB=AP(?;x3p<@5W;#NG{Fx4Pnf&9A$v z$kAlk>9|Bex3wjh;U|%g+z?SB6}}e%WoO&>g>M0|#LzpxCZhf1s%j?v6_HQgw82$a zXKY#ogqSZqGD3RKp99q=W=hPU%0KmCe+O4Ij^=jHloMgYDxBA6f Mw+q-mCwmZad}n zGz&D39wrX;s@{uY2EC)MrQ8>}!R7;{L3^dnUg<>+Z^3Go?go|32 MZ{9|$vhxn_o!#H63X(@)&K)n&E#OMK1u)LHgO zLJl%Bfk(3*OcaycsV9tuyJ<-pU@kYX bVu#= -a+>k4kHs6Qi096c$R<_@+gj!F)u` z=5q1fTmz#dwFDaY $~ht6_wyO4#S Hl@!j;-Ek`H$^lDr4@B8gkZC87O<_n zbz|@B^-`Sz^7K1c4`=VgjuU3&z->9OA_Ya#>KU+-2wOE~P+w=k-0KUD&Y GOK zn^TVjH5ALU6Rbv}g5$Y=uelLJ*H~l#|09w&$;w830}Qpz #LjP{9~}0SzDPybItXc z1`(e1hz=NPjxDH5;5+Njqg(Tmp6SLfB|IdR`0HsL;A4*AHSb&yHA`HcxY28d;oP9j z!BJ-5c*GY|c%fa%U&8E=OLot*E{Sh8k8$Y(A#_79n=a^zQfnR(uG0Y;Ttpap1ntd| z*uJrQMWF{KpFi)cVUk}Ty=y|c45v(s00)zgR0O2amwMtv`f9v+i >@o5MY13o-*x`_Cy&>)NV@X0L}W!LT8-11km Vu zmE~RfVs{<^MpW10{^%fWjc0zg8W Wxka=C&Vsw@vo8NHk?r2iZpm5I(N zi#&ipyydegqqIL-4yTBNDfBd8dM%@OoSG6I{@1>Kd*bn&2A0oe#2$n%y(#nnhChz_ zEbl$7y;vt>9I5c8+|xa1Z^r5b!64xXpC~8oTpOk#Zb!*)rkfmqjE)2{Cy<)CE6H#R zg`l*MizFQ(Z&RY4MuDQau^Ir6()_e9@d5Tvdx00p+N&pPuRM}bqp&s5#DL~baKT)Q zxRBtjs|=D*`N7c95$}T9h@{7n1L>|xrHXcz4Dkz04a$$kTN$9W-U|_*Fn_2351X!$ znI5J ApjpFsHTY?7 zx39&*5||k@WoY9)GVmwMgVuL((B4j2dw9r9rD}%$$8alMLox#7Sgb{a@y9rIt)q z`f`wIL==?mpnO2VU7#9ksb{f9MqrI}+`ScjlVo5UYKEU${|;y_MNl(7*#fdJ9Lg`( z*SOz=dPSu6j`-pWoAy@2drinGLw{Sj#-fj}QrMdZR!Kf;)P%OiaeR(XC``;|#5QcU zY9ER@J&Z$@sQ`?qNtjJ6?%b&vSvG2FY9fRIwJ~o1 (WphKFMA^mqAT2_z@f(9?g{KLu zeKY`sVPR5BrbTMuQAFja%>7^1)0TDJZ;N?Xwo`#Y@?+!09wF|1t3hUlm*(SL^;%!H zL_0hbimv)NSA29jTdfx_?fJq1Iv5Ik-y9TEp6vPi^Kany!2idk0CbJ?CU4li(a(28 zkom5Y&bbeHt1iv;2%H#Dr^E9!nZ#K%RD}4N>l2JApkfN>N{hPF`|ZI;u_p#v;7|7o zP_iY}b2CT{!H8KJa$V*)yH2sVyUqFI0wpFi)PTArKCcKCM{PXDu_!|?<$RA=6k@z> z>-FwvxUQ{pW|(^E)XXl=`QvkupgoF0o;dP3f__7zyGCE&Hxo}WCINsUIb@H!UEd&g z(qX4&hYsKW_bb3`XfsAyuI%rw#Iqn@E~o!gxj62N&u*4@xMBioJ1)>KvMt9j34cqk z)1!gjH9i!cO7i2NMASg)?Lx|R)aqNSVl!{iNkwl-5ST&n)bIZv`gUJ`qyk^qd_{ZZ zZB%>tVND&GH;cVrZ-}i?bN2@OqGgOnc?_t~%Xefrzcj@&-Dg2spa8DY3cU8w5ld6N zZj%HJWo98WXw+I!%NO!y{O#4lo7IP}Q_8a+(0hwa3H&HIwyL(KO%m+l7N0#D^uUIz zxqPt9kG6O>6E%uG08!z|Pjk$$n}DWEpkasRjn>jP`ZC>i5-CrQdh=+k?p-CPXC#jr zU3Q!T hQjv %f-%tbWK($dzX~$ zRg$%4Nd-q-E&$6n{In-h_9I^Swu5YD%3(G`GuQp?37PQSW+$~6l?61q)z7M>>RF zSe6!AO49uz$JBD4@)2H7@y&yiiIyO ^L3vs`MEa>y~E`0!*c98Fa-a7|+s{<8pC2V!O#L9s> zAlJ3WYsIH6yAre;)-Gl;hLG3I12AW2=bPO&xtFzeGp9 }ns?C_0cs4Enykg;Xj+?4kI zb3COh@%)dP@(CQv-TU###)79`Y96}Zv{{y(Y>!Y~+p6sYym};U?l)+jS(kYzR=XX1 z5g$sqI?m?S7_nr{L+Ni4c;Vri%4KvYZpsF}4rNnkd%EzXHQX?GUZ8g&%r)VT^hkb` z8T2`E0i1i_UXA($vi8x%`GY|xg7R)&W3767;@ioaUiQA_JYOP^3i$u~=nrKJ*%&zg zd1v*`SOgbtTr)*Eu43oK^WVD(SY^pydx%G1>gpZ&(rSdFm0;EIFteW8I!hqH$w8zK zm>C?&aKU*+d%6cm!6fx8U)jKr1>M@m&v%ID8fh40t~>`QDS*cYeH44KcauF(bw2w( zWgT$QCFB)}PfWjsJtCOCqQvGQk$axGGmVifx$$<-QE#8)alF{?GYNY?<9SZ@x8s&} zRoQ*iZDu$a&ipmHq*9NSW)*;)#_K1v$gT@vuN6m))PE?h-chs2AwQ43v-&5!K_Mii z(~01pS^#3B<1a0m@=as!5e*P?CvRD_5NrRscYu`K@&o7CXS<^c!+i`pvcK-@HZ?@U z`017sm8p9F1xoHqept)ba3kt3lK!L=Ql`74xzaDOgtd!19UdO$${m*V8&C=yRSPT8 zK?tDuZM?vKM8!eleui%^&tUX5|7GI*CxuizvtCY-2V`s9{c6yoDby#^rZxnNHwjS) zJF-A~tZBMsag-9lohdwgNVXbMd3n)nN^0#UmiXl#LtK #dli&PluVsXWn z98q?(AX=ElpEXH?H>!_GW388nSzOF%AIpx$ulqV}4KecE(h%i;rjdwE<~y^A9e!tF zt}-60W5b7ij<4Q!e^@^mKdd-7&PIBZXz<(cJc4~oy4cmxZ}L<`3JyA=o`6I5I}Q6H z*fKGT>f0Z~er%gaPnKO^mC$^D{5qJn_pRsaVzEvMwKhrRg*9xlLyjGAk{@rEF@i%% zAQBcg(mIRvDiv>a7?~&j7kFcpKDPSxXnDC4JjEAwbAXi?lYE(sJMFz(CY2rqF0${o z)uRrWmgZ$V=5G3Ur=U^A%vJ3rL}9k2b4ubc?=*;}7J~}nBC9R@-9S<{NRhSe^UaEG zggpKF=~{By7W>vA_C-fiYLq5d1A7DufUZji89VkXmyj58BTz@U(uYN>7)+~aPN6pY z_ZF?W`gQpBy91eF^t1DdZ 8Je z{^21Pg3{S8a#eB?B(fo=g;$EF-`uaF)Qo|iR 9Gdnw`s2jw2CM!P+T4@bd zMwkT(x-ix!egu?2dSBFT!M4$tB%yiXJthdrm0Sx(c3eW9S*~mz3_NwDpIBt@)QVrP zGsK)!n?QywEmmrRAq0*_XN|C&Wc|91q(iwU!&MlRXK9y6Gb(M6Q%}OCEL)`iT%zq2 ze}0$)c=-!QqQK973x4()Y|OKZjm!<=DQ6mExleJwBbQ^%EZy0Ya@$Fp7A(rdO97|t zQ#rT8%mkdHGcy4_RoF27jbVq+?G;5gDx6fm2rg_Z?!w~*8zNNTa1j(}2j3KA(}7`0 z3rc#uK1HR(Oyj@xg69eY!&KVX+DoQgi~+f@^P?x3ejWX)W+do+!)5m~tRJUEENLuB z!1}ZZZ`SI4;<^#a!_eT00~d_VP^Nuw{uVd|%j&V1)i(fYygcw>(XZZ@Hls0NUz#0x z`b*o_Txy% rKUtFg z=5B_AECy7z1p3XRef$LYmDM~fmhL}PjHBGb`B{b%1~ay6Q!}=1X#?+&tfQ_xehGC@ zimgWUnBOb4*+go%)#ur)^u^^Ln7EzGQR=!(th4o;!ACMOSRwV>I0CM;;FrowhIg%^|{B9iZmJSjj*lJ2rK^!+e zeR93UhgFtt;OPmLJL0M|WI(gpjyVn0Dmv|k>#oYzB5S*Hu%~pwHFG@|N7&t->R ?Z>jmpkj{(7(riT6H`!u$(p1H<7~-?g=b zdjs&ob $=hhfziHES*~I+|_}C!9afK&E9I$BXzo*3 zqLE}0V}E^^{9!3ll3>zd{gT22_;5WfNM=&AZ1ElkO8)!E;CjKX%}L+vtJbIZsC&@7 z53b)quZ65g+(0WCMpcO>=RQZFa5slTo+_Qp)ttG}^;dv~VkpK;7KB4bU~r1m#{7r? z=6&nX=Y4F&jYFHaZ{2=yWYHctnyYu$dQVYbG2U0 uvn-Q(!Q-A1x8>P|YK0EV$Wq4j_cwa46SzeJzY>cg@u?il$)iS99g z_^6`4mMXjb@aOdw=HH d~fhFHwuT)kJ=!=p84Crx#)#HYJvA|1-GbIDH{H- zHLf?AzOB<)H+2ziT&FR6eGdv}1{sW>6bJ>5<#mA*emcnA0eu~|K8w1ifrL^wn$$Rl z5mrHGd(|DaHG}#-&i4v+ryLVxLSGF !KW%=%q!m|*fDQmJGoTln|50| zr^RrAC{e!OU|Dmvr2DE)J=u}mp|3 oB+6MF$ezSzWoloWLY zPSQh1RKXCs+jTVnFN--0cdMWBE^LQ8A@THjPr%z&PTj%rtAj16Z$j40Oyk-M6?lu3 z&nqUsQUr*}{>+UramKh?1`&~gY+{p-mX1^OpN|`d%j*tBv-?(GHF>-vC@% m;WzNw%3nI@n!KLng?S>FX|H!D+~r<|!{Y4aox>C#`QSWP;O>fd9XL zW47POx6HB~bEm!QUvP-n^7;dE$j$a$V!aAzR4S`_VNfMb4j5MeIF&DKa{JfYgKkL- zE)~3ySuht=NenttthAB(tFNjIyry`!P7xZ-M)qXioHIx9)rUH0B`(--dOf7~rK)V? z5tLmXo2S6g(x{acql8J) *HqY z#gQV4wR6XoHZ?&crfnA-!?CHr#a2~+L@da=^nloQu$cjJ#}m4 b`grt}BKaF3`NQZug4EB>78}(LMj&sB^9e9(eTel{R zlBC`yO-mkY+tuaTVa?h=yP3k2CP>|1PpeG)Dt~kY{oVF$*OmmIm{)zJ#4&|jEnk@0 zmSKO>#i&)pR1dLhv;%hRY<#FA=x;q)`!1o%Aj4PJ9>ZLcRsmaz#GL;ycKd-Z((=Nz z@pupRD+{If=W*7z=x(R2p!6Us<77Cu)8xnXQj*Pw ??+|c|y&tSA*I4jbyv9X=e@aD}3D6JOv zYusww7oXc=eKUpHYvde&786;7qDSxC=M0PD!?b3mEn*ogu~ZMM98U%RZd^_TjMdsY z)!DyHmNaUOCd${}UAn_Ft<%hHQI!g%26nfKBILDd4n7Q1>RoxXaDF}?tnSyIxH7e> zRn09x4iKppQX_}!PAW<>X76iTyd;SnXOcmO2M2JsaA~j>ldKW=lABhL&fkt$gL7M8 zTTJ6tKtqw5lCjnlx4=@82B-;Z8vUAib402HHzvD<&PUkt0`!AB&GWZI4^kThiAjjU zOa*WIkks6NbC&$ ?3r&w*7|aQ9KdI%B|-Io*K1*ZJW^!G_VI?EF+)~u$|>bSu=t;?*ZaBWVHb!*6FPx zll6%Sk{Sxhq1Is?#pTNqsj)__Jcp7Yn*}AdHt;84Gz{!~!U`#5Pc!d+QTjjt18IAn zZAGmeyB(z+>1Jkt1i0Ych164V>w(ugN)KfRN3znBkkpd;c4^8h^QR7XvKA$2Fh>bs z+C{yBd&pHt )$(BfOlu lYpuXg?=bbQzQdJsBa3 zES-9j?}?_lZ(xF{==oAQO{nW=MhOs{jWqT!1>T-_m-Lz&k&-up9hv#1A)#%oT^j1` zsrL=@YCt*Gj{&RQ>eP-*T}C6a=pjn~dyZh!#rw>xHL} q06h z*4Cb@UXvZs3E_>Vqqq4kfe9C87%^|p-{wpao0DHN+n-GIDv_crG)~>OIVcdz_ny$a zDSWd>G!>**C~q*VI@)Z3{FS>MlapeJy5o+jj3^xtK?(?T(`y>Gh3Pno*fR`5f6bnc z&)`WL`9AB2X%asNHG^dy=14|FR@pU>21`osvYE?OjvD?(_qe9QnrAC=4y%UklOAEr z==JMI?5fg<$>g?fJ(&=jbsz^ll=>hAq{daFrYgXiA3FCUM>nlrI-y*|-`D*J6p~T0 zsKbb%P+tMadHBeRRm~K@grZiinBkK>MQImG0F>+)jLCO3wnn6bKn$IU+&%>!mZ!r< zrh5KEm8sqNXe5A3qW^Uy$P*@cmf;+AGkW*$w8y45V`vd4)rPw%opJfrfSwd6*L)pb zp_OUGktEef5NT5~na4k`>Ul*_ET%f5B&eiQ9k=_orzkzJR!Ui5u6$EE{l4cdA1r~s zr=PL5kV;qVGZN<&TwnDWBoVILrMn!sv^0mLIaLgfI;(}dyW8`|$Wqwgq{g1T({Atz zqpqk|9aJ6Q$S;Zzu-KWGV}w&i1~r46L{;o8&rwT=Vffy~YUug=J+e#?ugQ>6eEA?} z>m&YQUIFiqj$f Q>}SKdHrrgs=&V?V88UAs~1A{Lq*{tZ+!i z7y4{9NK8oKRT^4}COUy*V!EMqiMxl9s4D$+A*(q5C`QSILgUsj#~ffwR3^UC+cEb2 zz6-DxI_)xtn+jIH77Z>@+K6BPA&^N6BjJ7Z@ew}TPb~ZN<;pcQI1We(`=QF{)8v`O zM}z!8M^$( B((vy>buvhg?9zMzu?*; zR(ie~!CbPO+qw>?0Z4p77HQ@geN9Rq^GCO;@CbU%k>)9{Rf`!y!qL#4kg% $&=u#B7{^I|wNBW`x3DS#BkEmUcxR6`E z=0e-h)jca!+=7y3;Enc7g_vkjd-8CWlPjooaCB#UqcqOSC9s647`O*|M{!XN#f?qV z=?C1#?=eUD LUs%F#*S4>W@dl?su3cttkS&9a{U})Zb kmi(&|Er@w`@QWSDN&U%%0G+zZsV#wdj7?8XTY<^9b za*xlyRViS6uENT#e>E_>bOp?p-I`0}>))I+M+H()todI*1VcGOnEBI;ZyTc=RNGO= zbn9iQgoJsiitQEza;0%n!1-}7ap6EHupG9lHR%)rnExuDE6lc^^-A!C_iM_3)ogOM z*>2JG^p1nL^-xMGV$QHsTyvfl1!I7>O53(74c-kDFu98I?SD0nOlqQk`|431ujD!> zm 35=W+8OJBU@ zwHJL8@{b}L6OMML+BaF#Dh`BGUTSw*PWwj?Q|9$H0q! zwe0+ZjwI$ebqZThPXo3-W~`zy2V8Ng7ROB7Kj)<%?>*fMuL%DJ8l>#f z9rdTZzjVNz4Cwv!IZjWj2H;&sevOXG!Poyq0=9tl3>M42pRW^<;FpfqlRw3};Y3BS z4w`B7+|PG^n(4hRv(pbc{O~%xE=hGi>A1zpYub9LC_-D1#EH6G`75#SLo22SU({-$ zH@_X1iH>3qm2M27hSg4b2wjeRxq%n?-`9M^m?)DX9Jh_#6~bq+y*difpev4@FcpDh z^D1KEhv(S5fb~mE|0o-I&CKgg(n<;MS4OgYB^F!**KQM}A@9i_iIKRvF$wAGm%1(K zx;r{ExvLptWEJv%n^NiPb+ooizJHw-xlCPP<%D-$vQ(q35Q(mr1dVf3Z8=lt!>aWW z#mtWblv``|W#?vWZnAZ!Hm63E1R~F;?v>e=ru`6yU~pub-*bX8%a?lsc+>t~Gv@{* zscv>Q)ts4}TJi(s1S@|JSwmP79C$QipVMWNx0xQsJA=}Q_zPzhQde5q-V+?;=9sQx zeS#O@PHeA=KthZSNEpTAv)GCJS{-H5U5j(Aqw`8uT9h2wo`6buB&bbe2vP}BnNc}A z(|_|ud)s+NWDNm!ym~8o?hLo3maP74#kY>zf^)ZdvnDFZOKygj5*r00Zs`I726wrx z-q_F@ls>O^Wwpi+&}ETo%D8efgR>UsWNgus*#7St&zj=Bin1<`aWt%(=}%K9m?w63 zBYN&(Ca@{%lja0vr*iTLIz`zsqSm-?$b+9+HCpmeddw6;8cWXIWib=5Tj{Md*v(PF zrutQ4H9|&ov$3ur*2=&HeBgD0s)DG^Ybg(?nW&p0{mNEk(mOpMPAjRYzcpooH5>A0 zv|Iq6egL*zppON-4AF*-k}QOiR~vF4gX)-=2>5m?afO8s&>Oy?7f))u(3A;KB)O@& z!`FGKWles}Qgdp;ueq9!MvQ@f^>Kg>I8icY9fF&|5DUlS^bYfeU7lI9B|K7q+A&{z zm&On8Qj<$whIoPn*yW()NKipEx+){$a*873-zTkDs@-{2gLT>Td{TU9?e5?YzG7R? z^fo2DhVWk^Z(Gt?n~cb~yR}S@|ClN_T`XDIbihO+gV0O-bnY!@{wp>9T9#T$w;tsH zBXNSiPkveleO}mt;r_H{od^?z(1IH;*{b?3F4luln$T!dJ%A1(+m4c+Oeev8>V;LG zbG74dtR-UzDp~ZoVaT9Zh^CO0_yF6er#mC miGfDv3iXzcpKFJq5>1Z`sH^ O1-pv`p9|AYUtnAfwe8LJbW znx0OS6J)ZlP)O`F?G@W{l|1#pz)^R`7OCZ|P5+U`OX{bPn)X02ak }cWqhgp-> zrWD_X &F9Rac zV2OBcZmbH`D2A4u8kr`Kf-g_FMoLkK>v=t7i1|{496tJs?O-gYsaZEsdziVqS8?i3 z7Xy9JAL&r}>7}gyiy_4@)8Wc6?p}AERE)SC72uDz@sIxsMsZw~g8EF{a7ssq&HJk_ zkucCYF@NT7rwK(dm<@7V2xAMuVlsrs 8M5yMqxbF$U(a$)TG?&GAyq~UI>Rbb*Dp`%vx);5;n`N-`V`_D 4w_l9fuQ zSazmD#Ru*fTZ9H)EThv=cY8gdw+sY`tHC-uT>GS4bqaM2(43ifS4D!JyGz%dDinw# zjNKCUUipf^%p*ZK>f>%DH=Nl(d+kEXlmYfHP;cSob5cmi2UBb;d!T~G`YxQ|^AL&H zcrT282E-QW2X<+Oec*Vl?g9D*bJ41Yw)dV)_Hmj5zA9-DyB+X1H0-OH5rRU`|Bmud zRU@4@N^m!&cE>z*baUW)1e9?GZ0H
=Xy+8_ZO!Q zsG&_nPC~?Nr%Y@}L IZuG!F(8sDi6-_fcvbepTwu8&%;93)Bb`^T&c-~geHBnyY^OCPYEx>3i> zT0@FDhlAEQ-Q28K#)`L=12lyU_9a3Li*4uDNUbp2k(fg%TDw_4HLNNy5MovQ$0s;M zHL7(ieCGr(WiX3ud6fp;lK*CNak1wfg#2os7>99w$=6;r+&U$S<8{xf6`dz>1Od9h zlVb<@tC6h!WItp4^4}M*mpq#O{k6zc#buc~Pbx=7;P{^hhPs>1=EU9#VVh-*jdh)M zhefM5R6=$OHl`w&eX5l|7>CqVE=1QV+;TJx__eUQe?yHWgCGQ>FKZ9XOOtF9F-4}u z3~jM5)QsNwCAIIq5z_I?yI<-b1Cr|%8hoOsZhy|ol|3s^b9l#19hSNQBjHTsUb6hw z=j<-Jf&&W7S@sg3-@ufv?KX$|9uG>FKxt;47)&%%+9twR-X)VyY>u+F#5k54&p` zc&Fha<)S=jIk{tA8iFo=$QdGw?0#i>&H2fgqA|9qvMi4)z(x_$j~JEH|MPL>cIKw* z2y7*};}cVb=$-mMv+Uz?|0RA3shitI&Gxz4Xc`4MDPWJ#qXB`r!DZH~@XbLBS&1HS z?*s$l {W8{tL3HIl85frSgQR1{@Fi z2hZ1GXX3mF4&}^`hWY}U4|rRWRAplfd=*Wv9*0?OfU5%*?izQ}-3M6uSo-rW%@ROy z#j0`|*L{P&T +G%iSauBD+6<-v%I{QdTIMlRyhYU0U zuI}>{XKu)-D-+EcCjRocvNkWpUvhuf;Aj7yBly-vjI$zNe7T#j=J<1hluG-AyW`16 znl>BC+94&Eyx?%A<`$K^vK#y)z956Rq67Y4pRJINf5w&_%e&mDRK`y6w53rMKSQ>D z6q0XC)qIz*m{Z11hO$iLeemsk;Z0FOm?wITY;1@dqV#iGUq>73Z~VNzc`;fZJPnQp zZ###x+G-T7$}BGoLKCLFZxa}=|4C- P=5W<1nIl{<_Di*@}eT%Q{T9wnE0@U6r*l#!{Vr`CigJAr82r IdbY8)_Z_9i{=#^(M4!!b zou)=dagk?6Fy)S8I><{OBy+3&v0J}|KRLHd(5_Vu>&sXgt$Rrbd?hG6bOr^AKiifi zFpkRY2x}>~(}v+`344q6HDm%(2$+n~SD?#eS}i2(8clPnCo)KXErcA?o&Rl?ZuECa zpxLeV$KU!HukPNow&}bQcb9<90S7}ax1K%3`Q_h9cip+O_|6k4H~OhRh`>D11z5Gs zZo~=L-f&T0MwmA)4Rl491X7sR^{Ig;L72}qLHnv!yO4n{yGCSV+?W*9k^_U8AVH6; zzds}>(t$lKih0YNuouyjz5`H~7H_3@T>6R!UW#?wHlxX>u6V-X@0CSDkOTaz;IhR+}2+WZ>5w!wjzutBGShsNK< zuqU6&D}z4l`i_*in>L{T^j{!a9bA*g;F4hSIwbx%DMc5i&mxDWrO)bCZJ#p^=zGk8 z&10d)%#1o1oX7OhLQaEC;-7*L-er{LUswn5@L)kaY}dV30r4B(!k0Hh28=kg& Z^_wQG^1a>N1Xha1<1Gb`X;)O1T#OtV2*2)RfeTIG#P2? z?0ma)8LW`ucun~Lyp?jX@~D*l^Z}tG3C=B4 # z*KN3o`@_t^xcMa|KsOMOsMAJKTq%8CjI8M8IrUe+F#@#@zakBhHaDA=9V{_Z_NB7G zS?hpPnjg;T6cyy?V_aE;Fg(QbW*SP}j7?3({zkVX=J~`tcX;`#@^VsYhS}pN;qoSp zIK2F)s4B?$mk1G4&(;skQyL%X=yyUX8cc6HhG2P;Br=4%3n|$YE)T-Z{tbVmZ wLCdG&bjY}#^)mh(+K<3 zb(eT$g&$(Y!3kB>MDWux8}}BhVtNAT2Y+(lMqKHc>uF!7!&M0c%IN)>{-rIyN^T?O z8wQ;-D}EHr^SStLuR}tzfiOZhMoVN0rorUOz2inCD%-PXdRFVO9)LW>^0TH?61eGh zoZ_rx4QHYRh*2%IuWb0l9OWN%D`CtZoMqIt!FdgOD@Oe%+*_&@7!o3wXrJu4pS1@P zK-nL&vkMQ+H&wPLoDtk9?jF~i-1Z5H{|FV{ssP1Ym&;8*zWViWdAafH4zc6&oUdRj z?X)&GEZ_xZpJ~+MQcw`{nIr|y45s~=k8v*j!!qrO(H|bGjX~DGwCj|(dzB=@L@tLx zS#{IjXbAvSv_2>0(RanvT(Gb -Rrw%xK1YLi6(~(p#|Lt+R^Yew5 zt3C0A@@8az6Y3oc e}uSc>^uB z3doE(EBl+L&Ni(asr{rDZ)d)7b)W>6g(|z5Zp}ro;X31$>}eT&K4WHmBz^W0Hr~zs zIv)6E-q4dX9}jcd8NOPTgZ NZZy`N<|{giR9g$FvLFg$-D90*R=%E`P~5kAs@S_&L@rO0hdax6Ha|QB3yi zS@a9`H?Gn_2JMvo1ss}qS~$DHpIiuXg@CV^8=Sd+W#bELX3xr%GMZzwd|5fb&0vr^ zD2F325oEw>SC}c%lbKg86&OA157}RBtdS9}WHIC>TVfSo1M$Y!jkCAeccg Hu`_c~-yrnaW+u%yDZh z0tQ 6-aq6D}uYodEGJU$RUiRKNmC#g-p0MnY}daa-WeR0@dTx z#}Kk&o}yC&%eQCH)5;TmjOg1 bEpv4Gz`&! Tb;_vg>-;I8+p5R~70HF3F zJUnsciOblJ<@5P4o2M+;UA@Sx8y1%gRQP6P7~4#0|C$geln*K--%aLPE+mOw{Ku8A zN!lf-o^ @TDC ;sgXb+x z2nC&CpJLWnDCp4Nx$TU6BI=ZJr?WV&XSzwa4L2odLH~FwLeaGeaJtHWH1Kh$B^0wI zgD?$IKYs2 L&)HANQdjnMlV~6_d5U z0>p)dq?bXTd~h{sym+V)$#w!0RvMPUC=>erP*= 2| z=8Ygna;Dt^{nG!mX_)?Q>t$asjnqd5y0v(}@rFK+T6#6UVW7#7xrO6>>P<*eIG>sS zvAwzf5hd>s0yu% -RGy0K}705&p5f `<{SX$nr3yU=>d;|TG zq24kl`c{L3Y&S{m)}MBuyhPteB&qH$m;9L8m?pvcB;CuAI*Wa+joSx?+!Orn(VR*9 zDkX1pnk#}w!7Da=lM{vb^wX4e#RhL9eT{v;bsZD9*&@vKO)G8(0rM}dOFb^UQa-0t z!Ih Gn!CzC-M=a&T&Z?!{Z;VhHe0#J(1UVU1lZnRW#g~jNSw@b* z#=QlIM1{gE%iU1Gi^?q|&w4O)t}!$)O^-*b`_Z7%oJNKSSN3|GhDZf`Sz;h`GTy8q zM?Drk0;NnkhP*@syNEfFElB*8}*z2UcIC&&huo6k^3m 5rA0THSk0-Q%F`(CQYqNwcMELZFiC>+@+bPO#I4OwZsjAqek|Lubs+K=#Zq z-9_L7AqlaXC$o}%f@yQ0@#{#^RC?A3DJWaUH;v7-T+z-~<1e49z8CD|&B##b{8BL) zdLB@%@Hq5I+ed#X+35%k@^{;&kK!MIlur7e@BNzZut1PZYK4c(uxYHZA2)1F*skGr z uD=!?gG=xB&@`t! z(9-QpRfYb^LwL-)ReIAT`7Xr{u%EPC KTo#tOx{+1Is`}?>RyzyVbg9?s*(>b<&!DQu;eT# zkNreC+4pHuNGexNxu3RV7>ejE8S}9JKKT;C*U+wOCdi$m1Oe05(An0 IB-|wv4Pj%vy{>3~zQYuNx4fb?Y^0MO1J2E6kDZ&la|)S}jOW zU2?-J>2veEVeEOQmDh$pxA+5tV3;l+`DbS$L=oG&Dc;M^L|*u%EZHat-{Tx}qp;1k zjW7?Z2)uIqFR=VA_2ogg4dq4{i)OO^pE0#f+0iX>@cyLA;5bXWgGY$iaBVTKZB}j1 z%VL9GWqfAZqP!|kSk0JHzOy&a>f}I?_#xqjqT`RU?YiwR`; dQtP?sF6jggg}PpB_HgrsI-ofsy1(eX|8+xOXi@#=KUtn~xtQN!gMD zh {jDDihX!&)QXG)H!)c*Bso2LWv(7==bTc6yr$hndsA$`{dodC|A zv~Ag+@LG~cT H%2EZI4tOvG>x1g;2i=$`GIhYNeX2a0lSVS{ z6&;vcufC_>q7YtZ9b=d=hUosPkkjOn$W{ZQA#_ASNez?@R#hKLU-@c5G4>OrL(O*9 zLv&^@Qgb*KLbtEA@|zg3{5*pvrNwOpvK(E(tMA@fzS}+bt=)@@x|Dicw#|IC8^E zLp~?$r_SoX<}jz{P5hkxG7StTA0^#UXsfcaRVFBCd@P~7A+ 6fpU+NQinC!2U?;3hc!ez28(&`4~LHz(&8m-vruOc;;iiHm`CuK`+ zpkY>1I2~VewdeS^z$Dh2tNpgf !(PChG)kebH0^gN$z zI$zh_-4ITNDycGAM`GB!-0>KH9cM0$YZ3#*3vs}}bPbDQ-loM8#S^okb%*MEW%8|t zn;(38ixEA?BMuLO8n8*`cc+J7P`dOvsmCcNPuq+1A-LbD~zLbxz@d4b-Ag3Gfi#%zcN3ws( z-xrIXs%8`Yz5h1gVc4y({I_ZQvQyi)9fM=j)nGi1O{TJPZ{69APmT#kh19cKF;dN% zrYbKYEs<7vFIxIx9M0Y3l_xb=y{YYQwo|gs@;$`L(E*`Pedsan9KDc1X^6F6la~tl zuX_SR<96g JDK vKw7tE7ugdN!AU47_63OZ-cEUo@zLHl zXI0%wN-uY1s%z9L4 D?s0;qG{zn|JH84a&6oH56Q$*GY?=*|emA9zSB)zEt=ziA!7j3Jkx4 z)TI3&Ckukp<4vY5^_`3~oBT|Vz|jdy_(|Th?eNH7S@~cO_*v&+E$CQoR>x~cP*=7- z#b09X(#J7!8ulCY*V*$taIakhRy7tDn?F?fN<}FgW3gO 8KYs03YXME82WvcjC`M&4x9vdClYvMa=w+B8KpedP_LZm#u5P|DWp ztzrzW%Y_Ht`W0JqN!-B14bQCFhIZ4|6;`pYe;0J_HTZYy!R#VuNIjg14y+kzw>MqP z9!TAsIr}YKBH4T8Dt8qon8RdtXlJfP(oSlCRWe0fb=(8k#=E88Yp5`uK#98#acRkE z^t`Nq;mkJ2zAmsX2_(kaE&@&on7DUE*5g;wK1PFH@h96k!0M%74ML1IBw_tu`@8BR zJ%G<#9UW4FM>cuAZ70XoEQzDTtAo|t05w1oxBEhZY?%fzFV9@+=74CMgoAJhuyOmq z`+m?rsWFa!+04deu*c?o#H!*gmG75uaz1-ucc|k|%VWar{p?XrOPTKJh>^4D=U3g( zAY}p2QntC?=ldWbs9$Snj7mxu+1BQ{Fk9kqwTA?aZx4%VZl2Pi72t&T%gaPQs?Y(w z--du=5+fP7lhCC`dEei?NaD&0*hMF2PuEb)EdaxAA0NL2phwTY**bD*iSMxPNSVkm zKO1nd;<3|W;!X;$Aik#C)^=M!Qp$mkn_np@oiu%RsN)qgG-~YzTnTy8{P;q{+#PbC z^>UBHfC^C=L8~1ZK_<#>-&Um`s`TDCTr|kR62Oh}QYU8fv^O_gRC$~)@cGm*WzQ<{ z_X7wn^p0u`mD#zL*nRB^RRjNCesEAdRf4kSalh(_9y*^(H<)(yj8{*MAWt12j(ev{ z<$sq};Y;fiv4h0-NEdV1Be2Br9q`CFX2xl-896GTQV)BJj)qPOso%FHdWR5N)e{#r zmcRRr>GE#A38ea%s@W)np%#9|)?%P3QdLs_d~i%km9Ej _$ zNbn~5l9nvkunK+lS|rn*l?zyeie1; 0Nr({xXm{w*41I 2 zKgSqhc;yjQE7$YgNFz{D*1lZd=beu vggQfp;0MX*w`5>91V`HU_ifS_Z| zCyy2bTP2BoidJaCX(8!6e~zG|#Y)-@eR6t3Z*OG%VrTz&4jE!hBEM;J2`S#uoMf2} zf0UnHb)NRgvGJpJXDt(VvRxV^yGUOtle%6}d@)}yWDu9%mP@5!c9Zs%tcH!fW2$b$ z?7?PRlAvt5 nIe7xvuo`FqQ*l!O(pM6e>DJ{S+wFh=9T9@>Lx!~sA zrA+xkvK47hFK%r)4&&5a5ayJL>`;S>)F4A?7khB1CojHt@~nyXd-Ba|Fih8M+Af9k zOI)}S`(JJh&~PFbDSEZlXg9T+P=Iwa)mbtOfxKv5RU4m*kdXdaa}8ck+nRtzV=8up zx-fXZ_5=~itB<0r<&|5pI<{ EIzxzd1*K8* t(fftj-o-$-bzf7=w>e53Gbu~OW}8Lz#Z{T!Xd|ACQqc@jk( zwQ@rvdqcs91l8Nr$9B^4qSMOovkH#cN1c|21P&nvZrC83$H{(S=kp=amK3#J%hPjh ztE+Z!e`X4Ff<2PGybEx()Gg1gc&|F#*UH=Qd?{|%6II__$7q<=wtUZts>JC+*ZXa` zBWo63PpxO|@>F&+wa(QN>%NH#I^Lppx}l*N8uex8ngL7DQb##*LzQ0J+FkaWh?ZY} z$oeTgeSS?QI)sw~b(I{pt%Fd`J4uVsdBHSd|2@pl1SviEn9%l#t^btb3EuqY1i6ky zFw2bZgNdKc%@|kt>e$MKj#qPf@b1gceYCo?kXw0edEa4?+g<*Sp(;zJLTAt~@#vPq zXRX~bc01>Dn?o)+T-|ShF>%eVdq^Lrr+H_r5=_J!D=7->0%2jd_tqaaKJ6HyYN