From f3d769fc1967042954585b31141402c2cb690754 Mon Sep 17 00:00:00 2001 From: Agitator <1482084534@qq.com> Date: Sat, 26 Sep 2026 16:02:33 +0800 Subject: [PATCH] =?UTF-8?q?Add=20plugin=20=E8=AE=A1=E7=AE=97=E8=8D=89?= =?UTF-8?q?=E7=A8=BF=20v1.0.0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - feat: expression parser with #ref extraction and display tokenizer - fix: correct jsep operator precedence for ^ and % - feat: evaluator with topo sort, cycle detection, functions, formatNumber - feat: draft state model with stable seq and palette - feat: plugin wiring with calc route and empty shell - chore: gitignore agent tool configs and purge from index - feat: row list with evaluation, copy cells, spotlight - fix: stop number click bubbling, color refs by target seq, clear spotlight on escape - feat: page tabs, row actions, drag reorder, shortcuts - fix: clear spotlight state on row delete and page switch; stop rename keydown bubbling - docs: align readme with calc-draft features - feat: complete CalcDraft with shortcuts, page management, and polish - optimize: CHANGELOG.md - chore: set version to 1.0.0 - optimize: 优化字体优化打包体积 --- plugins/calc-draft/.gitignore | 21 + plugins/calc-draft/CHANGELOG.md | 10 + plugins/calc-draft/README.md | 78 + plugins/calc-draft/docs/basic-usage.gif | Bin 0 -> 2956607 bytes plugins/calc-draft/docs/more-usage-2.gif | Bin 0 -> 4888218 bytes plugins/calc-draft/docs/more-usage.gif | Bin 0 -> 4810544 bytes plugins/calc-draft/docs/snapshot-1.png | Bin 0 -> 47923 bytes .../plans/2026-09-23-calc-draft.md | 2241 +++++++++++++++++ .../specs/2026-09-23-calc-draft-design.md | 216 ++ plugins/calc-draft/index.html | 11 + plugins/calc-draft/package-lock.json | 2177 ++++++++++++++++ plugins/calc-draft/package.json | 26 + plugins/calc-draft/src-ztools/logo.png | Bin 0 -> 1766561 bytes plugins/calc-draft/src-ztools/plugin.json | 26 + .../src-ztools/preload/package.json | 3 + .../calc-draft/src-ztools/preload/services.js | 2 + plugins/calc-draft/src/App.tsx | 24 + .../src/CalcDraft/components/CalcRow.tsx | 534 ++++ .../CalcDraft/components/ConfirmDialog.tsx | 69 + .../src/CalcDraft/components/NumberCell.tsx | 24 + .../src/CalcDraft/components/PageTabs.tsx | 71 + .../src/CalcDraft/components/Toast.tsx | 4 + .../src/CalcDraft/components/WorkspaceBar.tsx | 160 ++ .../src/CalcDraft/engine/evaluator.test.ts | 158 ++ .../src/CalcDraft/engine/evaluator.ts | 308 +++ .../src/CalcDraft/engine/parser.test.ts | 77 + .../calc-draft/src/CalcDraft/engine/parser.ts | 76 + plugins/calc-draft/src/CalcDraft/index.css | 1162 +++++++++ plugins/calc-draft/src/CalcDraft/index.tsx | 701 ++++++ plugins/calc-draft/src/CalcDraft/palette.ts | 36 + .../calc-draft/src/CalcDraft/state.test.ts | 315 +++ plugins/calc-draft/src/CalcDraft/state.ts | 448 ++++ plugins/calc-draft/src/env.d.ts | 10 + plugins/calc-draft/src/main.css | 61 + plugins/calc-draft/src/main.tsx | 6 + plugins/calc-draft/tsconfig.json | 19 + plugins/calc-draft/vite.config.js | 12 + plugins/calc-draft/vitest.config.ts | 8 + 38 files changed, 9094 insertions(+) create mode 100644 plugins/calc-draft/.gitignore create mode 100644 plugins/calc-draft/CHANGELOG.md create mode 100644 plugins/calc-draft/README.md create mode 100644 plugins/calc-draft/docs/basic-usage.gif create mode 100644 plugins/calc-draft/docs/more-usage-2.gif create mode 100644 plugins/calc-draft/docs/more-usage.gif create mode 100644 plugins/calc-draft/docs/snapshot-1.png create mode 100644 plugins/calc-draft/docs/superpowers/plans/2026-09-23-calc-draft.md create mode 100644 plugins/calc-draft/docs/superpowers/specs/2026-09-23-calc-draft-design.md create mode 100644 plugins/calc-draft/index.html create mode 100644 plugins/calc-draft/package-lock.json create mode 100644 plugins/calc-draft/package.json create mode 100644 plugins/calc-draft/src-ztools/logo.png create mode 100644 plugins/calc-draft/src-ztools/plugin.json create mode 100644 plugins/calc-draft/src-ztools/preload/package.json create mode 100644 plugins/calc-draft/src-ztools/preload/services.js create mode 100644 plugins/calc-draft/src/App.tsx create mode 100644 plugins/calc-draft/src/CalcDraft/components/CalcRow.tsx create mode 100644 plugins/calc-draft/src/CalcDraft/components/ConfirmDialog.tsx create mode 100644 plugins/calc-draft/src/CalcDraft/components/NumberCell.tsx create mode 100644 plugins/calc-draft/src/CalcDraft/components/PageTabs.tsx create mode 100644 plugins/calc-draft/src/CalcDraft/components/Toast.tsx create mode 100644 plugins/calc-draft/src/CalcDraft/components/WorkspaceBar.tsx create mode 100644 plugins/calc-draft/src/CalcDraft/engine/evaluator.test.ts create mode 100644 plugins/calc-draft/src/CalcDraft/engine/evaluator.ts create mode 100644 plugins/calc-draft/src/CalcDraft/engine/parser.test.ts create mode 100644 plugins/calc-draft/src/CalcDraft/engine/parser.ts create mode 100644 plugins/calc-draft/src/CalcDraft/index.css create mode 100644 plugins/calc-draft/src/CalcDraft/index.tsx create mode 100644 plugins/calc-draft/src/CalcDraft/palette.ts create mode 100644 plugins/calc-draft/src/CalcDraft/state.test.ts create mode 100644 plugins/calc-draft/src/CalcDraft/state.ts create mode 100644 plugins/calc-draft/src/env.d.ts create mode 100644 plugins/calc-draft/src/main.css create mode 100644 plugins/calc-draft/src/main.tsx create mode 100644 plugins/calc-draft/tsconfig.json create mode 100644 plugins/calc-draft/vite.config.js create mode 100644 plugins/calc-draft/vitest.config.ts diff --git a/plugins/calc-draft/.gitignore b/plugins/calc-draft/.gitignore new file mode 100644 index 000000000..253e77f73 --- /dev/null +++ b/plugins/calc-draft/.gitignore @@ -0,0 +1,21 @@ +node_modules/ +src-ztools/dist/ +.idea +.DS_Store +*.local + +# agent/tool process artifacts +.catpaw/ +.claude/ +.codeium/ +.codex/ +.copilot/ +.dsh/ +.gemini/ +.opencode/ +.qoder/ +.trae-cn/ +.zcode/ +.superpowers/ +.zcodeignore + diff --git a/plugins/calc-draft/CHANGELOG.md b/plugins/calc-draft/CHANGELOG.md new file mode 100644 index 000000000..cc30bb13e --- /dev/null +++ b/plugins/calc-draft/CHANGELOG.md @@ -0,0 +1,10 @@ +# Changelog + +## 1.0.0 - 2026-09-26 + +- **插件定位**: 类似`计算稿纸`插件,提供更加现代化的UI和交互设计以及更多的高级特性 +- **公式行引用**: 编写计算公式时可以通过`#id`引用公式行,动态联动 +- **跨草稿引用**: 可以通过`@id#id`引用其他草稿中的公式行,动态联动 +- **多步计算**: 每行写一个表达式,自动出结果。支持四则运算、幂、取模、常用函数(sqrt/sin/cos/log/abs/round 等)和常量(pi/e) +- **快捷操作**: 几乎所有操作都可以通过键盘来编辑,例如`Ctrl + 单击`跳转引用位置符合`JB家族 Coder`的使用习惯 +- **自动补全**: 草稿引用/公式引用都可以自动补全,并且支持备注搜索,拼音搜索,非常丝滑 diff --git a/plugins/calc-draft/README.md b/plugins/calc-draft/README.md new file mode 100644 index 000000000..e85e4a3bc --- /dev/null +++ b/plugins/calc-draft/README.md @@ -0,0 +1,78 @@ +# Calc-Draft + +

基本用法
+ | 跨草稿公式引用
+ |
科学计算
+ | 明亮模式
+ |
{24tQ2~%n(1$(QY^}3+cAUd&L`H|ly1d1 zMR)UufAl6e%J4P@R8I0P{{r@*_1xad3iZ+*08zh;2lAuG(m;YhcM|)ovVdq9n+Xy7 z`hPNr`SVWm;6MKokf}i7PD%<=9CwAHW={ceKzN5cWi`Xjf<#&vj)i2jNzH%#61D$s zl=Q|uYNI6M+3(ei;+0iaWl>P?)y?wZ>XBcc(+@PP>K9e8)fH$8s5HT0th3tlDE0#U zh04oxTqil~)NXr;TrwV~jSpMyr|tc#&M$Wlf1HOG6K5R>D>3x~6g|FtQN(w7)DIy` zax(~{Yg)k++m?1SjN+qI&@;xQSOGbO->Ge~ZJdi@5;)sG8K+oAxF052Ha(eWvu-8- ziTAvJG8OQ@VAF~d!cJZG^LoQFGsBVCH!m?x^sp!^PlDiERMm4921Q9dKUMS3L-2QJ8j_2a?%WWpS@lF;q(6TpzA$Lap?s^p7U!Wn2yFB z;5bbH{D;h4_5)VZZy}%fjowWdRYlI9V1FBv6cHjw6ma>QjC@B8Jwy<0iP5~7PQOU& zv5&(GLl>B{18eQpkAEl^%(tJ5;Poi_P+JqIPHONavW1 t`MGqQMuAvsx5(~3BIk$j}3ks-n6qXc)7e3avvKH)i{2>+pc zv?r=QcIv<3Mp%Uye{v%dG$1|$r9!N?kx}aRCjdY~AuPVYh=Rc#C{0vnc2vIm%)8tr z5TKBdPi{<;?hI0Lu(dBYGN#iu?+_YLNUAR|X0Udb(mGT~Zr?v(RDJ^K!7HZplOHlg zx=$!k)~B>6nXtt^Nt;P1rcD)?aDdIhRuB`#^!0rcuFh0xE@D>E4Dw{ETvb+ul1rRZ zBU8T3CmDkQ#jL9gQ-O1L* *)RL1Ki{5Yec_dIU nu*g`$VZqc ~XWWpi``N=0m&B4BF| z#f-xQRK9~_++WX%Iq=FQq7)YLkse9~l**;N#ukeCS4t%k%4KRf7RtqAa1|!X<(iEa zs;$q;H9E=_h7^|SlNxXhE^?KEX*g1w&nhiV%2keqmfGhYsvU>Q)t(2Ix^K_R-7c~j z)Sr$MCRTgyW0h*X7EU!9uhd2)R3LT6e?^QLEa4|iRO-_YtV{)7)MtY3>+&hA&B2}; z#YIVV<;K?V+9*BsLn=-6&Sz5Ao|+rGa?R}r*0!HsG`DxL;QJ|T>?1w3_9>I4$Bk_q zGhej+N~pHY7uq;idTOKf^e9@RP)Q@FclC!2{Ep-|wAJ<8T51yRJjJs1+ `LpIB+XF*s_xsXK50*+T2*t$CfBZ%7Ktin#qsT6B(oG-L zRIQ)j&@NcuRUh4!3uDu3)Kw9HOdr?W_i4!1W0gP`cUW!czR=#wa%1=HP;J=!z&_gR zb?*^QeFUD;AvUr?kDMwsS_)!f6`yIfgCvPJrU-AJSozDC-c)_O<_k-xwt)d%S&R|< zH-l8d34`zLkArL`w`rTNCLF`+Q;tpcne!cn{1Dk`Pk4vy;8#;282K50N~c^jFB37U zv@ux|r+mWBF91o6x%eWdLI!ISX;Y2)^h2j&^QWK`U!D#xylM-~$V0yV*2!`ej!f;h zlhGlKrFt3XEbB>Atrxt-_IvAUFE0x{rsvsy%6rmCuQQUOAdGPx&JvDRAZ(D*M1a(p zo!_LTMswQY`VwbFXQs7XaQjm8lyj@ImyH!fWAn7jr9J%3#*IvK>sF>oJ!SJuE`GkI zGllbI#LC)L)?(w&p$nuJ$=lAJ>eu$ZNlWW&rVV?&=I$pPmktIQ+X&N+E$LP+k_>GF zuWZu=OKN8e>Mpwg0<8lY)7C!uExX|1*By*(w@F#=+wdbTCH$kOp~boDXdj+^DjAj@ z+xHurYOP}i)3)(gbjQ@`jKeR@?u+(Sjuj7Dr-Do F=)ejoWuN-(6b9 zwQrn?e{EiSKlPgE+ 3h6w{_3>IA27jKd z_I_B@dz)%QdnqXN!iN%myP|sk?9UBZAF}n_IMR9ODE7JZv3=OK)p >8$4lCIC@O=rR1~ zQ+oF^pYTh2_p4^_n_ D?1ck6K}tkX|a ztDXtkK9Ys9V@Dy1iXQUsedmfj1nmM}>4m?E^ saYE#0 zqNHbnC<8rTIz;FvL>Tr(q|W-7Hd;Gi`k9TIxV1vN2?PdcJCX5NzE6A-;SN;e?#GM! zo^$0NrkC+DOK?{wDm;_Q|4)=8Lj+Cf=ReT_G$S!UMX7d%AO@^N)?B~fnXsN!w=w+? zAYlMlFaYWh!x|Wn-Vl@7;FJB{UmGf{(*vjSz5Sp(hLapt91#`|BUC^r(7prb8pbaj z0PC^P!&i_#+&5Ta(POaDe`+`+E *B)ule zg7^XY>_0>H`!g20{LTgge+_xV4j4v!UxpbYg6%dd7zt|_2_G1VSQv@i2P7aC&glc= zFhwu>;B=sR?0yZ)(+`(h!K#$PM$?75V2*oy8Ply8?F{WpZyOzZ20mCy=!gMyl}3o2 z#`X6Fb35omzJq+UK%p6c;$NVW2vBLpSlKV>op14(UmB9G0CN98HJHF&!$?sxSP3&& z&d2b^1rYqppk_pxRLp2e>FBRlDRh3&&xKJOPmz8liTns~pH<(o)4&|*ST4IrzttFI zKxtyoXky4odPG{Ld}GY!Y^*wgb5g0RfoD{{WGX>vJdqt*uYOc;LGs#D;37e=GXSRf zU+=@Z`1bxJX+~eSv}{m@(4P))yO_kz_o-d>sXZ~7GNq{lrIe|Ow9oYu_8wEek$_F) zjTYe;5^8c-c#}7Ez>40%OZIO4g7M7=S;6mO!e=l!T0_h0qvB!!zl6y)CxHLI$?Xc+ zmk!z23E8&|+4nQq1i-fxjG5>@>A(DPaZ+-D<^hNQa+Q%L&tLt^H2OH9WO5qh{z=ag zJ58eglDKmmSYel-IT(K+2i+7Xj9W-NE6rjV&tf~z;snm(Cd!l7$@lfmLZgjCVvTT^ zEXBKj2^nMnOXU 6&ivaOWdw@>8YTq_XZQvcncftb(G*z-=UKIt*qlRTZzZnf z6t7rkIK?9g{Jx}pZAKE9SQF)!Wl$2OkP!nbi5n{^S}RE&jO~t3$d@cU`Ic_fL90_t z$-FISz%9yQEs7E FSj+JV${J8_+R%5VMV<}eSIMfpg)fVJd z#|PB>ywp=7)veOi(<;@|BULgc)iXEMvktzvcCJKVY2?SZ1aPe7i?5|?YZO^)ggUPk zgBO1gu5d)ku#=D5G_I8ou2n3qRUWKW-D%XIt;-BF>l?2!vuXN>t~VGrHyW=uIj=Vd zuD2wvw-#zvU#))1T&q8Cc%jqiLDT9b)aql<>KD)&sGKd)R?lHrS6N)?@`9cv)Sf$6 zqa#;Z0Bes{ittHkEZ@ 0rc z*$3+!Xm5pWZe$0_XwJ;Wd4^shv7b&ZECn_`tm|By>s-F+T%qY+zimY`=-z6p`~&OW zMQWc}>ppntK1S+3W$Hdx>ONKKyiV%AZR) q6diq0sd{5$Qo+=*G!y5S(kpq746y zRE@)}fePDxOWhtV*f#g0K%LS<+tNe7(EI$Zhk?F>)}{BAQ6EK6A5%sjOGh8uMjvMj zA2&)LFH0Z4N}r%h|NE3a;g&wph5nB&eQ}X(cI9nM3%!}i4F)y=3LOJV6G19(1L`OP zfcS21r2$>nZn@LeAcH1Zkp}Jit~B%>C6OU3qamBkR&AmNgfU5n2+NSq-4GaN$dhHr zTV=@CWyn8eC@^Focwu<6iz$R|Bur!^!e}HaXe1_MBrd4OAfxx!*igaAuxry0RAnU9 zWh6aibhv3GbFnY}ZX}0pEKg*tV1h)#iAjnb6mzyal(-M{Hl_?QR?jlls4~{ 1?reZk^IHd!}GT>4Z1gi*k+l9Q=$h4nRy8A%F8oFz9!-M zp%b+y1jK~7^XwrCq0mu>)F9=b?Lx;D{SD7DF991)ZJIH0VzJ@EriT6I^Zf$aOP|7p z$>9uxU%_YGo%t>tuAD|pQAD>xd=hVhj-IhR(D?Z*&%6>nJVM1J!^T*z)sMch)U5%B zw6mscZf^9~u^{zky~Jtfr!A=8mDidy?hE6Iq_U|eqKUgLo$AvmamSS=f2*bft0_%u zA3xqS2kdaHq^Brk^z<|>_@~%}-H8lH#h%gP4yg@_mLbn VSf6 zLS6>{F_-YU`=z{#_!b#P`jF1`G8^iwi!a+fL(@D5vH60)?08ZJ=sw8o~ z^THfp*)t|%y;)JZ+eUPMdPaI@c146l6 T#yx7HDFur1l9fA>_;fE zAy>Z6ZaKq{=ARz|Eh4c_yYw`=*pdFUwZrB`!a16rJWlAjQosmQD1jvr|H6rj8V 2{#D{uAnV$V{rGYyU-H2gW(WE)$l7+_M&QqF=#&!g^I=2BI=Sw)w~j-N4U)8) zRVbog9N?cggx^20C)>~QE3Sj=5B#hIw1@Wi3%09I)lT1{$(la)9BIB5NAnd4p?~B{ zL7%OxvNF_?@6?OslM$ULhR?s21e}lu%Dcf{BEhMd83JPmk(migIg#0G?3I6>b2MYF ztY7fBMP2kNSsmTOB_ub$n~O9IL$D-88g?HN*77)`8yqDcd>LUq0`QYKZ!{5FwV0B% zU0tcD|B1Iakm&{3j0WhMo_)SV#u#7_RkN?KLC3Z&Yf(B)*I*{xCd_!ajKm2=O$4j{ zxNfV-eo=XLC%Bd@mX1<2EB!eyL9}}#VMZn!D m366;{`S`c=@F`+J4u@#hU>SG&$^H1j?dD_H!g5qlz zj@5jysmsqa@2tR@;;Yp^UXU#=;|1BnxX+{U%Wqpu-g`LfWU70>&bN&p|Mq;m_p0AI z2E7u3y-)u*9^-hQP`#gCzLQRSdlPscJ$T K0Yr9Az0Ajt7D51sjNo*zwX8oEt9B!f2CSdgE5cKq{QTMIQx4|HWEWB z8Aoq^Lq3*3t6FDud_ysj!fHBKVSY m6kYV%UOEC*yNu7 zDij)VSGO3f9+`Is!f+sLUFi>|a$Vx%q=Q&1du#EEoQ@Y~Pi%i@@+9LKt)JOX7RprX zZO)%L&Q|J7=c}w=I4?HZTyGgS7peAZNQW7v?zzl0Cj7y5JbSM^|NhPuD^}aQ@!p@U zH9KBjyzxC=?GDE?*}n5X|2tW(x4nFSbB>OF2+QPnYB|^^WaH}Ef&BFSgv?F+8xG%% z*bj-eh1egB_mMc@3y7N}5KF_2BnZ! G4cclDSKhm(`I#jhpBj)J9ug z+4f9ZQ9H& G8tQvJ=L~*m{uW$=G&W*3Q^|-uA-SaXrSz)Ook&dD%Ygx4$3adEYvl zy^PGy+zUtWi@9$KTJlfTTN (widxA5 zAi+fcg0~fj?zJNo} z`DN}Mnt)?T-Lli!M^SOWzPeA1kY(98-HUTg)m`Ar3SDzWgP3%&0N1ATy7k=J*T&A< zMc0=%u5Irl0l9`>@r2yFp>*hX+jM6P_v>Cvf; ?N12}9H+?t>2~Uhf zm#(` ZTD$}4_1=6Jt<49#XZn`jyd!NWKl!h@u8CgGie5rJt|$2* z{2;dgBGQJ=_DcSq3DItWhfS%5U{!r)b%C31rXL*-$K|>mk9(Id9#0MJsQeSB>pniu zIX$wF)Th<_=$}w9YW#2NvMz6@srRrYJ#ckVzSsRk(2(ICBn3MM^!@BtA(B>PhZ_Ii z?Zn {!WPpOTHdN*pDP}(PAdNySB`g2-+*h}LY`fZUomW!ae(E8XxY`I4elq;| zk|B<|+DMyUWZ(Cwhk52|qg*=3i1Zx>3nFHGC^ihRU}#2!zt+VB@spE&D;*JMWi@?4 z(f>jAC@I8Q9+%WXPRUj}YIy#|Pd$N{f{SKMKCUjIh@WDeNIe2i;wC K7$@J`MO`v>=`xlaTWb zah!P~H+}1slDnT~%08|>9p5PefB%Q zDY#;Fti_xqL4ccD zWNj>|{YwLn!a5T+Qdz3fS*E06AzI }#xYHZJEpFI#RGyem-vTj)H{t~Bf_$N3A;t3N!dCX+VRN-Ljf^`ESaeqAhC z)}+^_DPK*|a0vt$pP7iJ&rQkDVf%7am?^d^%w3E& erJQXg95~alm@jGHOldm`@;d6tvqo*LiVYVyS)R;OgtuN$*fT zzJ3v>>b6E`>ps8Ub6Hi_SnOQrvB$?R+hc(3jdtmBQ2u9ZcDc*J%SP{kPH+0|p$kgl z-1nPRD>USxQ^>2(kIae-zFE~9A*eclErJ`l{-*Eq5_1S-NdMuGYv7TW1rnxMv5QsT zGRWv%t9D|khoIP)Ln#3r !gi0TgD#!5zl< `lZL?9{>;+^D$216SeeHx7k@BU-V8^z3 z<4ULCO07ldczlbGwuFOJ=CE>o+hUbBM};B7srvl0Sq>$OhqA!2_HEm8*L$Ok41 y7RVAJGOxVaHqyUCc0bA3LTO@G{P#XpI&iDoHOQ}t =v$ z3*`l#C*S797EQA}+NSF~-^MkgYx`-X?LY-V$I{eY7fe=)cYOQWVNgxaHyvERVBSB- zJ}sKKQK!bD9lK7kZq1);t|M&&*Qy@_`gs^{O87mu$bRyuf{64I>c7*`O4^MZ>Lex` zsvUAppU@fEtN*fmJrwjon*8~Co4ZH;mqU tYjkxu%caG$?a~|K z32fZ5tApvf3i`>v`>p!1>uB@D)rWtdjOl4qvFj$OoBxpHj~k> k@^J0D1U6qf(nIY55>U`IIQ@6l{WA)4Cp7xcmJ@1hK`RmTN?#H2@f;aKi zuLo@1Pg6dE{|brjD^K6f%SfT`>#N_+9lKw)AcBwmOz+q6-LHo~e?HGwzu(n&zg_tJ zeBEP$Jk58%-*^9f58m?>Y}?!?vWJ24i~fg7{0Tef6A>{qWezkWF$`x8j36 ! zR1ICUs!g tX6- z4qWSEVeep}lYAA_pLEV$Hr7YBA;ApG#gQSg{+&CMOR^M8g0Y)JfKK?GGWYvb?(`xF z0TE%}j{f*@E?!XXkFSKpyj#SyS|sp)NJO+qX?IA&w8*x0$nvxZoBXJ7cgar(sEBhZ z3=Ame)+vYje4O)0y?46;cd2y@XwnQiKR&)fBcS0Wr6VP!D$Apv%Ij%02p-HM-z6nm zGT>CtWzxuCRM2O3*kM-DV$r~5LN;U-++elXVaeKIqa|aOF(gpg8xkj@Uo&8`$fwjH z Q`A)XkYe+vr z#&NT^OGqxV6(IDrfcX6n0e=CMM1hzLxwuM!xDL65Nr8k7xui>hq&GPrr~nW}4ooTl zW|4!63P4rlQcVR?UF6ah1xO~D)LjPrE`C%J*)kX8viAkD@8ojug>vWza*X6MRe8cE zY4V3g= Pdy_Sri&Yg&I{9 znoWh83g2dq_xLG|+ZZSm<|s;64;XeS>W__iZ;TtB4g{eon~)B*z7{p$nFy1bG|`xd zvK}_`m~e_vwg4%AC=|7;Q}W!Cm?Yu%zHJFPK%f;}4!yBbz(I#*aYesU4;jM_wabcp zYbniG_l^2YbelxLO(qs=Chnt@Y;A`+Hzom3CdhM##>l4iUrf0!C>;!v9aPfoZA=_L z8WdBMcJBvHv@4Ezhn6O$uGR$fa@tN&X|5KyZed5x=qBzKR5p23j#X6lnMdYP#kIYr zext=UF2!D~INlmZo)<^fcSpAGRK9&lzSyQ7L?*whOgyJd{TL7Zl1%&$P3 zSW!t>Rf&`ywUgjqLqD_1N$SX@lE|%+y%1_Y zo%E!;)aZBW82Hi{bedS~(pVyzILgvEe8{mhdO(zkS>TOtf(%WfN@=1FO_E7zk_}C= zOKGw kqe=~V^3cAVyhEDLOXe(JuDsO&N9hP}C(z-lb*nTSa zK(_oPcpM&7R=b5&*CkTTNay;c+)sqg21pm6P;RSk8DVf*dvOv~M%&z%*kohTVq#e@ zXxWOr+(Km9#<<)DGHq`=ZME>L`{@6xcG9`8m7DEYdY#afPg!<8mn&nDRnO72AfI*C z_0hR4HMi0BbtO_#)Ax&**9e~Jh@bU|$n?Tj45DKV$yn79Sq*b84qI6DtDKF5l@FxR z4`N%6iO^0ARcuvMRNz -kjSWP<6&v91H z3o M$&sR4&;tEW1=Ldo!#ARjx!?&%T`vg;~WFRIXJqtT$DzcQI@X zRc=f%Y%W!9-Vm*)oR79yMKAsS^UkmhU$u?SxPx7_L&UgCS+&c^xW`$wC&;)jQME6_ zc%V{spu>1*Qgvv %{+x;Q V0J&UDXNeeZ$wz{>Q;`|@_n=3m%lLmZQS>g8SDWn)>jX5i&@-zD1U<-fUV;Z@uF z-D;WR>W7<4g{R9$=&SoW+Xr;!Pw^F>+Ao_Zuhfw2o_Vi&7_VMI%m~6)FB*2AOwZ=F zs^POS;JL04Y?()zY~iA>paYp(^O%w9&z`cFQA`J6CYaHdYta5MqaW3vUowAwsQC=J zg3W*mC}D0NVjd*!qiuosePv?###Q_6Ckv)zEv76BmTE0#bsvS5Fh+C_N(Stg{_-!1 zsC2}>Pzkko*({$5YVoUC2%2jNx>>#t*M6U7A^hP> J@`II>iuHTC2sE(}s-69h_yL?FOJdzWFfGvd2)>lItW>UbR6eZK!FANptTf3t zRBUyh&T462SP&E$h*cd_^y)~bSs9jZ=<{!A_cniAGSSZm(x &Px!pQ^-Gs8erX#Kr|9#FOnv<5|zx z>~Q>E&AklAlV8t24Pm1yXQNBL`XqV9M<&6KbNdO(4;s^#PRozSrw+QHj~Js)#PSBF z=l_Vir|8U@zg^U^)k(*lj;)Su+qP}nww;b`CmpL}TOHeGKl|x^zxP}JwZ~d(ud`jF zPUcC~NsT#b*1UgL^?_2{3-LA4A~*6#-O~NI;~f{_i@F6R@E4 )-@D`*v4y2=S zpxpo?g6QS@0Y)1hh+5k(0|=CKyCvA@r=RJkcYa`1yBGI&5-l}Xv125dd7wfWpx=JL zvtyJ>YSKd+plt#MkDB!61-0}5u2jeU^dMj$WdYO#4jRi%U=#Pcc8p*f&Vq$5+Q^Uc zmHY~gPB)C#aAvFK5CnElEp`A_d+1hsWHtxPRtJ1GNAgxjdNwDvRwq6-XR%giIW`xy zRu?@sS2Q=nMpxoiX8GD1H9$XUx}X+7P@}R>h*(f_o`t}_pLT;;AncwN0Zdb`g^nQ5 z(yIY8&kZE6nGnJS8?8kg>(L;pCIEib)#(;=`(8GSiNK$gdZwSWEs&|sMU6NRHL6uC zs-Hf%C1~2s2p2erpl^_)L~WpOkfYEY8zsDZ5>_*>SatL?dyLT>DfC_7ykHP9h>qSP z`4@j`6mTN$UN^orDL2490YSZf6tfT406kV1VR9R}9vI_s+ZVkDx7KItWmeuj*H4(w zJY?)vOziFheL+7TsVD|e8`)|3gP1zonP`G2%j$6^*uwBZh>iu5&-yK$7%9F5r3c+p z{CMu}b%zS#h^ Oi=H{*@#+eBSEDmBz?0J%+_OFEoNjhq$^adj;3rGt0 zEINDf?P2zZ2g$dKt~g??#1E~Mdqx#v)%EKqjjyjRb%;Om#1R8ChJMlOd7wpMPGaid zkb5>E_KG{Y_xlduv?=Ydp{GZX^OC0Npulg!8EHzXWT>)pp(uOkjd}zZZo%<;5I6Ja zhxcsc^O_TVOWS*6ce)cBXK9mT#y0kDjA9%_t{n_w7@`mDHgo)$#m!^IQQ_w_qI5g* z<~a7#d(4kp4CQ%Tt#jh&eRTd^bme{Wu5s!+_ZTwIY#8ITpUgP*-E@!0D74QkAJ2l< zd+NMb+OM~{QsH?np9Q;*C48T)r8oGV+r=K?B`cog?;jvVU2BzH%hNO~S#>LMK2it` ztMFYjtzAjoKD_uH8+IZ3>pW}F-P@R5czpMrjh$Ow?ITYgLpIHOe7yT&-TQL92Ws61 zdc225zSj7F-<)bb8%)0U+ K)&^_1Cev-9cFP48pl6SEX13td+-QlL)hTYvA$=%EOL38vxz@t2x z@qyUzJ+b*c`1v`7^gL6?Kc(?KkasT@@@;1Gy*b6b_3+&f_Plc;e=Gw)68L^sPJdkW zc%1YA+~fdHQ2fE4*yHsDf}lT Yz;GMFy3B^Zgt;R}R*KCu^( zNFrA#QPxmIt5o|L__CHVzEq`Nr|zO@fjURVCF2TJ%$RJhP$-r_rqYpYp;RiDFPg%c zVyRLIP^&jx>`1XvtJUiZMdwPjR?0V1Y4OH(GM&ug2&y@GL8FC$cC*`G{E=p-*W(8Y zjlrF6Z!i${iCnca-NEQ*9HCe$cZQ?Mcp8J*Qm03;W;&zA+F&`;v38!z#pz0Yri;~b zt-;S!o-9|J^;U @cpwgu+iekMr4|_yPCGoFF 7 RR+LXg2 zFK2V(^nD0Q6AYs?^Ak+7(n>OPE_I5Wpa#N;lN={i^HW?m6H3!OFX!{qe4vQRGXk)* z&hl*F-u0Xv2sR6|VuUfua}t!*3v*Ho&7Wt98kH@^r3DaG78E3C7Z;QiWLSR4)JG>N zs2IekENNI&FD_}3o1jmL)DA2z>jfaHt{6mAE31jbc{i_^WY{dNn&m@2suMRSGp$+G zPpYolv@bfX$tt}ztvig;E^jzReJm~N&e|+*y6wcUDY|&1EN^+;OseUfAIqd}`T#(Y z)VBj#FIqKCU}e>JLa<8~_2sHf1a>1RYgTrn7^c+sVmK~W_TmJPH1-oD=vMcW6l66H zQZ#H=57G=`H4ZZ@SYLMRiERaray%|qkG=;WX&&cC(5)R8Cdg`@6ld73os{OsYMz#t z*Q}jZ)=z1kRkz!|nkElkXr9-P(ygC2&dO?CG_TsOU$hqgel4ows9eANaWkcL)%9|@ ze$@kttZhHCe@J Sz7K(TtSA;IX^aOYB74{AfJBLWbex4{Xq1Yl+30|i#UZepYhAlk+U0c+NF zII#pj#l{Dhy%6+ErVFCi)CG~hW5OF?31Od(hcGqmAUdqn;2g$>@!aP(x;_gLA|-@3 z!Wn)_NEas6Jq?#~-bKrYDI*h2h*W7Rh-ROSRR1i51tYxFr|T}l5StK9Gi&JVo=~QQ zQU_DfhYdH5CC0(YfKtS6gxS>=DJq>GgA%m&1r%ExpH&dOHXafOZ7~v{P&XTA@Oht@ zaI~M((g9;+y8u%!0ZmlbKZ!9sh=hMdLLqi8rkL4;L@q*7CDBnUKwgT5Dq@7FTJUoW z0fd0^0F3kqC<6O+F`VkCqydyu`cO0xenQ3sFI{6w48af;g$2CSE<+4mpa_|Y0Gxt< zU{?O~AREtYgng`1_5t$|2S @UGB&I5g+9z z`2eKkyrgf(0-rMFL+I{5A-Wt35#lIBa0V8jHy?|TM=FR|Cl}&99E%CyC?>=v7m?Zw zN+@J1rqm=C)3TgM8JsF+3@4YcG?$AyWX?xlGNbZ5oX7>>DCZ*qQpzA%EO`?$mHp{b z%HN$&mDaIU$_tVzl<>$YW%J?EupBYwl1&mc`yy40nJP_&PBmsTRhw;-s%>1(w03Zo zZKqOdwn>h3Zs1h91Xap?cuw^|$7c$VQcFV?Ph>u2sSiyh*T=Y=8xj6cAC-NqOCdcs zfy~mFv|Xx|d8ksUgj?%~UCJtExv)^k(wwhJX|7&8RjplJG?s1@Swg5(AB}`-ylna0 z^>ASqu&%i?rqVn_df{-9xzS0-)-<_!W|qIc+UtnX7}|X4Qg5YkVVm|NS;yL~FH7ep zwzXp+r^a~}ck?K6seM9)&T&Ud`vpm@t*@EhF28(e#q*&O(BM99<5Z~ydY9S@*zV#@Z-gTy8=gHu$duN+Iu>Wu!Ch*1ZlUw>A>C$xsledAF;z}27 zs(rA*x&G@^TQ@W-@O-Q)ayitcr%gSS(OgSreV4UYWa=it&f5rwKBG^@^)~1TcMtPN z`Ve|cU1WW>A#Gv$xXxokMBlp!gI&gi$Y=$aTt@&OYi7Z66QVx=pF%-X&+_99^!~b67Se0|ot~TtNzejQ>x{6_B_BLRUPb zR2-BvEOZQ t93ou268u7v!Xo0LqW_IsiT^8GDT)D|GoW_$rvX8#e`PCi*+0UW zgxFu=3aC>3CvgQtsQxNfe>5y0T?Hhr{?oStQdXjW9V;MW1@x 2A}y;1M69G0fR2@@jF|X;IaYGY ze-W#H_$mXSRQDIIQu%9FY5wJ_bp8>n XzAH%>zNzs8JX$on_JkLTRB-+SX)|JS=l&Po0|ifG+S*Qpn(UZtQ>T7 zfsB=dqqCEfv$L@&(0Fq(FmiDP8dm>>SOI-I@4tqXpPzp~KtK>s?Tbhc2?+@ePY4SO z3lEPBk4}k+O-e{e`RiC^W@P4N=j7$&761XZf`URIWmN`j<&8iPuDqhYqN1w0rna{6 zM_ofpeSJei^N$uFJ=gXRXw}ix+0olK)CctLfCAg#&`?`Bkg^&X866uNpPK^;R!fV^ zn=4(pt83d^n_DNltJi0H&-d3KuTTHK8dm?`lLM8jB-qd4Rr-BK!>Cj=!}jTQ|D{|N z3`O-Z{-a#QVW&m>t6WuR|5dIi0!FhX{wh~?9TR_)tMB|k0lz lpQYv34 znG;!Gp%Mv?{#A%|CQl$(15da3wW(aAM0mbJ=dH4Oy|sH6s9d$y{Fic-miFskZwn5@VoSS<%ae!_T)K)DhQPRh_%)=X$NoGnKijpxdErTtN^ z&bIzluJC0$-7fwpS7DQ#9%qXp3Z)y*9Qo!!1|hUbQI$WQuC@oF0Qhp<@6~t5^Obtj zTd9APtL03fa^<7>e0TP1x~Jz~1*2cmNF9U*+m}`~R(6!D9TEa^*vkO7Sa#qGV+& zlBVT&*R7l8Zbq;$B{kl)BX3uNG@gBTFODCIaz9=eV|6b<9A|U{s9c@wCq)Val`CaI z3zHOe(?80UV*4DSekf&0dS=WY<*EdzT!o1r9cI}z{86r!R!vQvaTX79y>)@xN?)LI zl^3j=QAA#Hj5=Xf7}7jJopC=q44+)0e^Q)oT5(d6?W%cFnj1<*1^Gw0Dl5yaIISpe zfjh0N8V10fRW)@`omICTYM#|}KAxV{_Cirt)eQbot_Fy*s;aq}|0q|C)HY2EvQ{>g z9>%wk(FiP-IJ61Y^;He~s#cfn%LQ4s?dLU>H9xM0-!41vm#nV3p2sS$x?djG>3RTQ z=U3IH{0$dEx)~S~bh+`fy=`D(G&h5v)vRxZu*|A%hW{#8<(adibl3)FYlQ*)2)AQ2 zt>?Gn-+t2EO)xKKQxR5-sK@vBffz;NQLWS5&j@4M+|P=WS38dsf)FDxazA~EY(u8E zd0138tA1G0cC(?T=z%cWv*`4n8>n)X29u<)ZoPP1x4*&?>(yPhdD?V8s%D$Wy$1AG z_pfIlS`jv26;AAglh-`&hT#@U;+tL3{#CAC4qhKW+=Tk9OQW{)9(Tt1qtk3VXpxL+ zUQer9FFiLi@6J62W-=4tPD+wm(AC @Ox>BAoP%rI9fhwu 9x8xuTx$AWv zZNO_+F#S6Sw0JKVPPJVx$i~OF6uu)oaG&?2EdWXw54h%aAl8Kb5K39E9tE=BYgFEA zg_;0j=5=uIcu NWSh;BCyRY7w%mZTnGWYrS8lpPg^GM|xa zzb{O4e+_M*6%Tn1DXhKG@LsYskk|ASrI-Ms*q${~@xb77xxY5P`OObALPf=Jh_zL? zfRSX6U5r@&LQJ+%2|14f `iD-PAVW zkl6GCSPkB@cqiP&FSv?7aV2L1JhKTvKElhTV2m(Bj{67$1)`)h`myAhpuQz0$Y>`E znyqeR?CAzf?k6B%!-FqlaE(qOgbFGq6(nP~$cM{pQzI3?kbNsQ0YE8?Frq1-ihwMS z*7DZP#lRGkG|IbDaz*dP7T}aT8yiXkEmsGX1%n5qv;cH#DzwhJ(rC+@I$n2M?80xM zG=iTHltp7PdMOHNoNpw>^O`>6Ifl@$k1FNjI3%WiGom1HnD*BE>|A3xKxs_bV6MCS z8G^QqU(Q6{f)*Sz(3wJ!SW;+zRY3_;<_m<&h!BnEXC+&CgRi^s)n*mV$hBB90_KvS z0x)|(b5OkPD+_{JwjiOrm9ZT3*^pAC;HP` FEslHCq6Q%{ zh*5CqIz_!*INC*P6_t1Nxr$oOqInqDaHK+0UU|HIj0(+I^^x9sCFfxLKKC654{=r6iWdT9g_k z0hh_O_rWf;2b&}vZcXJ>wBT~owBqMr= $L6G!1d9)ioFYoxC?%AB?xjoNQD*;M^(2y z7A6(-5?(49L%kwF_slYpXYG$dp};mb?vvCT58VA+$WK$Jtu?WN^W5X9{R_OO0ig!P zUCAb3L!26N#~SPrL(}(=VweU_`?FALa&L+Hegoc3;xk|pn`R}}-Ck0Ty9Ih21QKme zD-sXA0EO;%RV7J+k$|zGEf0pH@+PSsB?d>smGYp$4lWhh6J~G}u}m_4+Ycj}y-0S7 zy5hCK2ypnIqEw diGV4X{v6YsXksYE; zjNb#r7Mjed+zF$N&F?IRwnM1K-Z8B)m_FCGiF`Xmyi_xX#_GLn?uUheLoaxSgr*bz z+JeK#v>}MWV4YvoDRrba%%B@JVM19JWn*C5KdcClADosqIjJ?oabStmr}q> rqAVMGQvbApj+~j-Ebn4cc83EM{0HyoRs)x Q*W7^Pz9Vsxg3!?r<>OgVHkqF0=5*{8{04iSW@ltrb=W45k`c zaKHuPdjH;L$Sd{IX*iSH=4pJK9zK6U#FxTs4J2LWcM__^mhg4th_f*P0`|L;3)y+K z{j$|klk<1YNR+g=&hyq%OL+ AJV} zP-;t{eLD`|`d|zAUsk5O7d@^#$b+^vO1}RFxF9Kd?^yxfk9+8z_I5vx5^@g}51ZZ( zdIr`T2tJ;t`N)?6FMx!@`4e#8Ps*xe{s;v2ey?f%aN&aQN5&3$@KNCU4q{GBYM!S9 zykpmJ&~5%-Rsx_F{5eadzmYqEiu(_5dwxw1q*~!2cvhI)<30!th#`j6Zw+L159*x{ zgmDKy4~2ok#Nb!Qg9{K14+|1?4^C%d+!hsM3V@d-vy>12qg)LZ2EQ-*D5r;Lvh%5q z1gp1&=wpSh&W8*x1j|wUQLa*jLebDMWy?bCvBHuELTe8~%_zd$)5Fw+!iF9~J)gt; z+nBx0L-Ti`W8xtcD8M4y!lSXmV*$_MZ;aut>fvGO;W6$J@#ztn6tsyW@V+aQq4E*L z{9r}l5hZOAW$BT>Ttjl*!?>{`jr1c*%Oac9qtfOgzK>AWQA9PGM|HPFv>iw4)kPJm zM|QbK_oPR=V?`%pMU6a1k732wk3{DRM$e2y&85fai^t?0+boyGY-5FOltpb}#U7?d z?6m=>i#=M2^-qt@Y>1tDj=5BiQ-X=hAd2G_k9%B+V-Jr@FNk|Tj)N!<1o5B*e^hk24f(e6Wl&Fj(z zPplD+l99-m;fsr%#1$UH1jtAt9uD Bvjrw@4!T2D7~+j;o3gu@A1YM`>#h*A%bk2BK4y z2W8V9r<;)>Y$4FNkl}ffk%ygGz>!%rnpU!!)~TAJMv1}ml9bb*qCf#%Iiu#Z4Ix(t z-82ks1xy#~r%nh%_|L#0FsShNLYK)SR1!ej)n$*vrdgs$XGRDXu;dg= 2~ND^Y-8tc13c&}VABI%G7r+B#W7(5>R=ipMC(A{v-VI1(Y2JXp^JKHd%h`K z2f@9*u<@B>Ci7dN>PM4(hFmYt*=o;2Sj$6t&4V4w8M=dtNQB48{9KD7^PrepC7}>- zl9>&bWyS*Mp@K)WgF?grfAa!Y{>=z29&A_@j>XwDTOKZIE}yu*fVKkC%mgX`1a1Qi zo>@MRT!TBGk~x_y1(lQAz8MOLM?v8fD^h{Wb+GpJ=i8*G5Oh!yd4gj5e=kBQDf*T* zzz>(!3tJbj@3&oK7U9p!4qpNSKQapK-3yyffLhrLS4mI;yBwZi5C6R$PS`UkJEKT> z88kezEV8348n9MY;!z~U$sLdvAXgEeVn(mNmWbbx!tess0|nctFYI53kWU5oy%$y_ z9JI4MtB61AlYCy~H&lj@f}m{>{B5vhH84tk34;!VSf*mAA_z?osJw`xc%1USJLvk} z)Yel_^6RShwW_(-6vAzd(h~{4)%=b6;>@|?G;El4hk~9uJi{Fzx>cpe0eQ{=1Lb5| z4m7svpoQ2FiaPXPR4ZHHsxuA>yQ#{csj95Xi-un_M%FmTPK#r4s%h)$f;FoLPpUqp zRBLpU2T>*$JVG^o3%1EGs6(k7vB=PaRbycJ9ytno-vQ$y4^_ O;dHF-OXh4|o!)C_U z9~{u|b0RQBDrWL4bCCxJl-9DYR|SBS{ibTf5^kK~XklfNvxslxw5l6lYfOEu6Um|! zJIg=9F34G{5LCy@z6L)uY>0h=;FkxtkLRa|EPalwwDzi`_iAB!%f@b{3zDyN8Ph-? zgm7$!E!)l-!s>A5>acid0s2-I1C6|1z^bh#SKRtaj(V^0Vpdq-g0G>(`F<-=D yPq%ybjt61ZH#`HY>h@2Bn>Wt9{a=^-~>`yM34S48&{{q&-1ZWID7X zApU!rKdiZPyOR)vqkl;OL9NGdZk0)w8%kH ^_0vL>2U(!lzpgGur{DDy|2xK$@M#u-!%vg iQT^{gdk7b_B4r4NAC4iV)Z&%v*#iE7>ihaEoOfOil|6(|XHWU? zSVwCFXbdz>XOsQRY}i{x%qYEK9yBHVM9&0Bn>I9P^qlIqA{hc`BX7tq0DO;uJajuZ zM8P=Cm~~$$ZnIt9sC4i6oBAw!J8YBvq_|c+f_0wdHEfAJtp9dvwtp8<7Zi&2yy|*| z>^M|QmYHA~Y~x9vpYez}Zk3k*biEiA8TX>f 5}?Fuk&qqMJtQ6dNqx94K!y3 z6bZ7ZYp&%Sl38c0uwf1Ibv{I9!H0Rh$%azAdLdV={ R|K)eka7(>W}-Jn8!&FqKg#3$DHWsFKufL*xb3~m`>E}c|6kLiH#plAlsxe2XjO_ z_5^*OydhBacc^Ffm%P{E&&6D*95d~Ot6zK7FIR&ki{h`_GXdGV)Kjny+}R9UL#8<` z7Kp!Wbec;DmMUj95w16*?S=DDDkXH`4=R5Qoy|~=ZMkpB%h{IE;!Wt~MzZl7%U2xe z`>!2GL555X8ePtT(LvRE&K2YwOw*iYde5cet&eiIM!-Sx%A5xwP1xq1{xVu$t0?x8 zU3V;pMc6Ur@`=#NJD#u^s07&zq}fZ*-LtYu=BVlHt nx+|S0Bywx$PlR+&Iki{8&wo zi2Mx*(rTmcj%oJM;^mGv{I1zYqwC~Fc_(PxTe=g@ZY&_p%=;Uvo93nd5ZoLuf0FGU z%sP!+p62f=*cK$1bdZCd+)`Ir*rxa^3WN+9Kh-?#F%UUgSKHWPp6lnmv!So!sCO&9 z=i8I8LyA@tpJ;yt=dQHHUhjH5)a(u+f7?d#o5Sw8gOR>yh+5}vn+*C`r1^ErWezO^ z&k^t&+HC^XuhG%V3^p%n$mKK9uiDEJT)^o<_D*Z~(~9>+ifhBnikxs6SQJPp z>(=s~r+Jq1bfRB^Oj;2uZN`+ o&%-hoOtu$mk+WBX0&V@F2kAO*q7 zAGto(s*%?8dGZ$e6YZN3?om+uWg;H;6yVh#8RgU0cLD|b;68XPMjB!9zWm6~pJ+*< z2@7|HqdA#X)n{i5g(F-qs}u$x#Sx>pm3h5qQTKt$mC00*#{8j7HiygQ{_6aZTpoTf zk`73MiF^@Zvg0wq?)H2fBD?6&?7~TOrKr#E2oZ%dM4)mtJV+u5u9BGn{9GrSxM MZw1#n^n$ zOW0v0D~o{2l@EGez%-^Cod=`Iaqrkr9J$`syT@!@DXLj*!TIXWH-|G r0R&Y)}qH zkt8`vRxp-d428>kpYi^>&x+vNNmO=}UQEA}{>IR3 zH sG*w5D=K6uWlH{@>jWX)iBO# zY*I5XOu<;wY&V`&z;w%TU7wkN5Js~fKzGx29A|mbcAj6{M4|t?MjA~ z7C(qtnvf#6f70^@$8gt&2IWwam48riHwevfel|cm=~~=Mzg}!H(Cu?KMC5)1**A(8 z!tgLolwy4`PCl^TLvUko1u9qNMJ%nG))x&!-^8Ld7W7`OU(E7?Fg%e9qF7(ei;`41 zk6q_y+75CGQ$3F~18x8&hS_&H9kPt-v4xHK0~lV`4daKzaV6hPtqZHyUA49 Wvbp-%I0U9)QacwEm%(s9}HT9&7MRZf1x(4Yt% z-5vCKx>h2Kwa {cL^P3%E12`-!#`vKS>w_Y?^H-6`2OxsVfZsgvLyO7>q6x2D61nw( z8h#7fxcz<&;trtKv9O0GCLwf}ZtMNZ&L2W;OsK^8AZXerAIel@fM^2)`UR+5$>$Tm z0hOyONQH1AWxY>vj>3PHD{cd{9CM&@rC_SGpn+bk4n||D5T(^=h}i{Hu0j=}jS!|~ zIL&EyvEdx?Mz#JbSDv!5PR!bP0nTFFYqJ_T^G5g|z|t(Jf0QeL=?FKGVnS4r5i#D2 z_@%I7VqmZ_se_w@w5eiJR+BL~&&w!#;6KWhjEAIBYCV}*(;75&Nu~6@;6KV$1m-`= zl?lDii_|~Ll_^7vhqN)7QpUKkDO1ir%GEqjxvKU6Dpy2In8RA6lfT_KQA+5<_DIYk zU>s$?%<|^|m8(x1FS72O0=aiZW<0g_ay0uu zpMRArD%pp_?3}t=Z%c$c7}}9uSJ9MWrDA;XYMfare&tH71533=pmG)Zk8)LSxkOW> zQax>CrB!;ZdfpCHu4F89E>0CY51YgODpxo{RA3ktL8R6Oh+gW0!=m+3Ce}uHZ~rJ) zNyXMCq;JjrHUSa0Hzm-0FOm+D43a{LmXP@3Y6~?iuDT{RRyt9tE5naf4b_%5dvIzS zhpMeDK;`Nol6@OWt<4XpTuA|yD>zoaLK$nPv_Hz#Q|NywSLd3Ljpp-JvdO1odm-{o zaxu12N?hxU7|LB|CRbJ#Z@TyWPo1qF+CCRjD(^t$s^q}VFYHYZ1YY2;a)s#qN4e^N zH?<8)In#!@lkZ0ZDp!qOf0e8GP1``n+s)}vwkBDVI=?G6y~UEYE^1Q;PaPVda-}v* zQDPTk)2a34Nd4!Vi7rsNG9t)Q9}yyBM2Yd ysXoV- zAZu !`7xe z$Xv>wye)abH5cPeT`FN?(1eZx5W-cN(=u>mK~td?u@aj~s6Wo6-ZWRT$y{rB5G{?P zJQqq#T^rqUPF2LX3~EXqD-%%9H0&@)2u$y*1+uJkzH_b)LAkaE@mM=2t*`w2>h>e0 z%i8Sc+v;6tOVfppjknehvXzntwjVj&Vp{H7XR@t;c0^tK;L5D+b62;4oez7Dd9B^2 zlINzo>Z^rot#$G>M{1#W)cp{z?M+;Z{%Ie_ !YwX1V9QMBVr#PmJE=c{eG;!Xm}JVY~5x77yMbbW;bFoQrey1PfmO;o&}%# zMDn#0wb-Z5pSo8*PhJ-QI`<9aE$)!kh~+-OZzntI+;fxG#!|kk$HmHz+v3_FEcIHC z XMjW-h3>oHr;j2qO81uO;t|7w@GM?<7+fv@*_A z7LerV_A=xzTJ6UA!Ih}R_vplj=FRt<#fM(Rw_n%O#NHVP4jXj>t`We@L;<1D2Ek;X z)KHj!|Lu$OEyDMDVlT#?YbL>yApR*SK?Lo77-^m(r(UEY{wpE=)5czsZ2m >=C4-3TL9r0zj{AUG%3{ok$! zVi?kilm%f2`)MZx$*cGe)_IY<1yQ&MiH-Zutp;z;`Vp0T=^+NbeHLP*5t57MV@4Qa zj?QLDhW$0(! r<&2dDP>rGU`Y!l2ClpzOPFBa@K)=OKmn2-wji z#r-PHGGr}q_N) SNRWtty^$so)5L2 a@q7?C>fD5l5VS}Rn8=|)7qIU11_Md+`ko #Sdt^$ zqQdw5p~4h}!h%%U()(88fR?$Da^v9vn#^Ef+3`;4i3#b+4e6=-iRt?k-W8E}k02a4 znOG$$W#&ox8}REdQA_(0JzoN8urfR{CztCd_h_Vxw56B5#KZ18&1eP(g$GBIMNON8 zBeI7NjHeErr;dWBYLllZ3ERF=I^P8ME(Qdv-BSyU1s*Hd8)(Na;hQBiANP)}LZAf4B2 zUL1H{V437oL{|hVS9;Z|3h=51c&di9OKKsDMj}hbI;sxEd}bFN+UP0-I?8qC3l_zy zRv{eLld3kGs h&14c^DF{)zl>~5qiBUx%5#mk;7OaBdBrC%>^ zaj5}Xl$ROwmtASqxw+JXWz<7-)V=;dS1aKu>hOIk{#`3N53sQ!Dz0zp@rW7;cp8bc z8YUqtNg}Ihc`I*0s?m!pF*)<@cPqR(f1#@`jenr4 oMXJ5Wv$Y9S zt`>C;ZFG-(bdN #uU ZbawR(7MXLTsx%%C3BO=vY z4T;jdiTl-%NR)t>*N{Zk@Q-pOJ1+#TqV~K)!264ctgyGkkY>t|cFU0N(vbf5E*_E* z!&f6&N+Tv-BW7760E?~>tE~}`#d1n9RQvWTZykfA?XPmRWdu~N_ TMQ+AP1Ixm zDp$G(ivOit9ppZ2vlj2wHy(gs1C=XN1KvY2SyK~TQ`0RrJtTE~AYzqkYAHML6+?z2 z_VB}M-SX1ZZt1(#)|4{Ft{qUhQq8e9ov~IuaI!UXi_LVF1(gclbtnO*j?BDMGu?BK zT*!{RZB6}un+1H0@hLe%R)uWQ;pUW}{wai3KPW-W1q$UA4aoE~IB%kfzT98LGq 6@RxN(H@}?u5`=7@3Dd#-B45V5?!_stEG+g%=HcBYDa^ z7Rhq(+C09+tcGDKfPlw@QZDm%cy#2*)d+3Yum!x+$#+$w&4*4{5ArDG@;Gr}=d}o) zUH;Q{<9rPB0$pYeeskB{2;kcqN@|rN2Ru4+z9lQAtWB{j_Oy9EoVy6z-O)Vo+f-17 zMF~vy-Z&DSdr;nuV6ZxWZ>MN#!wwqfi6i4# n6FWe0>Za}?GS zbzcdMCoC#P6!o!bexgit^M }YOQJrR+Yg% Z<%8iD0~@Y`KG_QFWsfB4!UlGpNrCdexQ<0|!naAm7Jt1Z>s2D>ze=$_^#vY0 zYJ)qi753Xk9^WWFwup5X=bSjejmw_?GQHWG3IgPTf>XL3D*awAs4)Vq8Woj?0Glpo zz`F1komrp`G krM{C6kMw zB21aJV>()P^W=gKWH}J+1ccsY5d@2dOVQWDQTI8aZ6Wafl%Y@y=PZ7Zi9 Y*4Jqw2))lE?PKc6|{` zYe>+0&(?bLBD2JYR8(mTZYeoe#D4rfeHWDW$Vk4&0_`Ci<~@12KB{LmZf85E=d;wK z65-bu$NMqX^S)H;vwn53Y&NiRgbEN9@>%Qg*|zf;J@Ofo^NB+C-52}4^JKTj_OS2w zdtdMOfvvASP`QHkJt@`srS@@l<;yhvd+WQ;B~ZEIbDAgreZlwp7FhBD1=t1nJjMas zTmkoPzArt1i4wmXHNSW0@Xuh-s5Iu+1pUEqn2grP*Mx)NsN{-O<~Kyc(Ku|5!RF-1 zBiyFC*Y4({DOLL8sUN!`;~2CW6?C-P5o8iSvpL;v&rj~iXYvHYP-!jiDHQYZg<@$= zu8k#AY4wJ)HJnx_BLrI ?k%VK3uIZ{HV zPyumhg{hK}S_3c*X$yhhA4w!vs 88E9Y_5{~xD1L0PqiW697bLjnH z|AGEr{%@44=4Fg`WtGc;2qjuob2N8*tlOjcS~~#m@AucIyQ{1Jt#TEv@6no*wq@H@ z|D@$j l zUh$7|by}8%6ro!xW}9woRPeivy0+`}mAbAEj_a>-WgXYRs0>@JIO#!M)_%%K+q|gh zMf;C(g-iJZr4h?>%%JsuC|3) DH@kJ60sG z1Rh_1d>cUIdjB@~)}4itFonZS-~P#}li??x*Smul8nLoNAG8?);}~USC*$}>q&EO% zRMar~ERlBIn`w&U%z9xQYUrJ&ABwV*X;uW+hj|X>L3?I;Z!Vj8K|zYA`KJ`xg0r;q z5-!!Ej@Jjv%8@1y$`X^9meYzwWf$wZKn$(?swVk_%eu?D58KvPP-!Sglp(~6rMW{M z_MMR04_7$(YUV{+4RGGp?NBM8awS6i^>UYv#nyG(T D(TG z4`dXRZ{cRz50sk#EQ+o7(nro`M~VP~7^?$v>dG3mlK_fOtndEQzALseD2xzA|EI*d zU@~q(IHj_F^oBa1az%(>L@|IpR~O3KN%)U)bxn>-qyLNZsqY5me^#!tN04z>`W_JL z!&EzoFdEB-XdVAmt`aC7>BB233$o_^XXWa*tlu$s0XAM6C-Yo=obNj^!C&QS&f7H^ z9~ydBfb1kMA=aCOgqU(vLb2gr |StjJ1(+A}5|9ZhM^=-;Ln^Qn}g?XFI{13P5GHNM6w$rJ@)N z1S(e?T2O)}sUx`21_?+&<%$hTVV=~v0KM8oRESE^&&JuWCY@A-mUAwp!C5E$>{w#l zyf1aGspQ17T-eBxKkK%sbiSXG$c0M&J8E+o9@wd;{Oc? njSbA{?8 zjH1DAS9#!lh3 +_>>A8rM1OF#V4Q9m`lY?&CQG0tB&piI``6}&E3$}&c&=jCj(EoN#FU- zOLTls70}JA?$+*ts4MSLt6v{2NIj<}wO?PT^*3JF$_60o%$vEkA(3l(8?@ t^ZpPHcs)PTfa%D;hjh%Y?VHb=`V8$@_AIeqxwD0db5n=6h z_N=z}P~N}F6$e~LD;6Dd(ZJF%I2z83Tqko0Q}tivD)%>YSr+>Vksa$?DlbcgQuV3I zyvITkOGCL4B5Qa_e^HTbZI#mpi{|?4V(}77UE$%WB=nCJilo7K{BtX9+#jpLLXTMy zo#!B2Kh`*cTx%n2E^L?()?s;0s>=bB7Y_Jbs~EYifuq%zaUNQ0Yr1Tmi;K1 mAZ*h z8{f5N5gB$Eze!*k-9!1sHmY=qmSpthfXdH9R^4_d9{I~5D I>``MHi zopZtamkj}Y&N&C$NM&vBLpnLmg|nvnlCwX`l_zxR@0&uSt}{$ZPbz*}ms(&gnxP-_ zszB9ab7R*90V~(?JW}Of<*LW4Vw=~s^R5f1TybrK(?9p2bzes=ypGP&xwSHN-^2nd z?(b`!hvdrsDpyRkFMvs{GU7yfh65qmzsi-|J9m|k-9O4zEzGH(k1=CgzT3ab)m`^f zH-P6li2i@2TouxPoGA6YE $^_aeUPNbw>nF2`#hlc z8?MyvW4%_T&jmOOAIJP3?!P}#g? z6@5i)eSm>}pGBUPLmq_Z_GG}eb_Bt3!uDduwralqX}SKwRIEmW0yy}>#245c6zi6rhjVnA`?XOeY zxZV2ru^afg`UFec1gN_hb3243dPHM8M5hMCQ@@C*3a~oz*%S;(UkymW49T{BkvVD; z2CjdFGo `l~_PhW A}J%0&+Jz=syH@ZV)oEN_E=($)IyG2 zV$PC6&OgdkAy+ps_i!Qi6fw_V<%*d1u#oqXnD4QWFV*NV0r6Ww;5SYphVHL|WJQ99 z!HlRROt(7%{aQj8MP#BRjDM6XlFx`FB7p@WyM$uAMU=iIsG&u)iADZ0MdC=rk`-B! zxyDj!%TlaH(uZr(g2pnO>oT#%va0K{4aRb>MG|wy@`7t}IK~QrI~3XdV7Y=~4Tg%b z>m)QLO1#C+5!%XYBr1kP3Z})uGNek5q_UnSRRJa{qF~aACQcc}>bFIjsRyc-Mrz%p ze)YxLv7|bg={lEsD;g%Q2c)>eq >>bFR5+uiE=`kAtpp^d5Cr^*hFMUpKiy*OI W2o7fTAG}iXf#!ts-)Zq$G b%UV@nG9 zydo>dMN4f{t0_}Gpml|5YP@S|bV~7KtjLZ--R38So&KSHn}&lhg(HQT2mO&L;gJnb zF{661%PWF?1cmz4im+?3n=hsN&tmr&GhtyfYYyVyr2(E*lwM86UR{*lL&e@xl)%9+ zpG`{N!(!h{O25ZqKcH^~RpO6C6@Xb1Ku8rxQ4+{t?hQq@Zd~k4O8&JIHAKB6M4#%X zX~|Dps!-RGP+zJr(_iu_N49WBF8?Z5RFR*g<}63f%EjVSRM8Y)gVT=L4@+V$seV0{ z0F^8JICFc3q8*I?Qmz;P)bVN4(Wun1;-&v8SMsH?mS&Tq$F3$8!Rlnmq=)g3rYS7R z$-CyMLklS!W@%|BX+!4eZ6}f9lxahy8ky7ys}?3Z)TyVX);HAYuNJnTG#PNGIbEf} zxMdl>8A&vj?kJXdJT&$~G%3=j1*DdR+GVy%WfGQU4h}S`o~I50r)svPCEA#!p9iHe zG)1nbWuF%1KTpdEPcyR2vZpM+7h0O_o@NbMmfoHgy_S`MSy`W)nxmfmz&UdzwTkAj zil!+q)whV3r)^X(Z`7x4YMWIurKvY9Z>BhDYO`#XrfsFsZW%jm;VEw`J8S*4Y;z>+ z7%K0WI=g}aoK<-a;_R1qUD9?xmUn;B_CQtiAkp<=R`e3m^-)yxG0^pMRP+nb4Tx6^ z$kPp~R}AXY4VhL9K~)6pCUz2@(Tw?z#L$f g zOsCS~mWzED^R_mi9H&b_7CEUB7~ET0q+ZR7TaB?#W=us%+V< z)H=C9*sR %KfyNwQ zo8wp|=fQA{S#}&_yOUL=7FV@fcBxW(xz|>HR%LrSWvkN5u(rye%mngZ%2o9>65|bK z^$j88t)>6%5b~vZ)ukmou|F8KEaQWE^@Bd+qiOY{E#s4G^^>g~6)+;i2lCP-d1rfh zS0qCP1fv?N-?|t<2CCnu7(W)Pfw=VNVfE)FBY@DKLJ$;1(jUe>L?pxRxag{_0t~c= z5uCFI{2LR5L=A)j6C`I11#u53%r(f8)gFcIIT9@xuPil8k90x}Y&H{IaSdEG6R>6& zzWW+({0b7Q2dX^`G~E`a9G+VBKgw0jmuV&lgj&QUTcoFPn0`RbzseP($Qzsk; `~Va6I~ zL~pK!Yqukezn0!+2DxV@YG#J-zQLZ3#~G(5II}1Ay7?%&em``89j+#Zt|LTqB!Txw z|9Xqh=!nZ%hleLfK;{n;+ehqw3rh(?c@7Hub|cLsh=VN%I&up-UkBR4LXlrXGVCBi z=D6i~+ZM&dAaYAK$MVKe2a*6v7u!b&B0|+rNB$KAeCC=a77SC;2@Jo71-*xK0*p-b zin5}QhRz8rhY8Uu0NWk(t?in8xP~J1h6Kw2!wg`12IeGwdCinv1H#lp2om_sDv&A# zjG9UCE1n>y#1)gb@HcQ_g5Vp >Cc>$~tRZ$C5T^xe^7J%4;Qfrz8H#+|e~8>OHSEUO^<87SR*pLnV;xd9U$ zT|ZYm7@hUK(h?|0SOB#Zm 0me53HsiL>z{cO?vQ7 z6h_yes&~vPb)brUEP{a)viBNu0od3*8jOH`a&u>3ucdf(A2lT_-FdG_f1o9JpPCsv zx*aRJ^&<-(8?Bim2n>ssT^(Qk1BP40|3kTQ8{Tz-Z@x9E2BUs*Ai!^=ishh22(tXr z00Po?ukK3k)F+)F^j_C%G509)1&qvqUFNFS+KN@??#@)_mN1!}kx_+&kw;Fmwaf!tAEsR>G#)!B)SXxUPh( zzdI#d-FTyU;=mU{TY2P}4df{}z7c|$z%|JG1(q;^71ncuAiHP8zYt%)QX+FHN3y2J zKM|sXygAlWm$;UGWA~@!WvzZiy}FgbYm=RBYn^XX*RYoaFrphhzXjG)6tt5I0$(nA z zd7g$H?3e00;VN2r$9kFXN8kSRj~!LZDF% zntM06R&Ta &^e*=0TRqVzxD{Bz`wBNJs#@)hqrp^4Pqpqb2;4yg7#)5-)HfO zr6LG#Y20?rE|OZ%X#=QSeY@URds^)G-a3Pm{vxo)`B{nO8==ED9b~;rq}B#huFSd) zfyZ!1Ze2%y0>`1g$9pYWSZ({XJ_kfNX>%-pm8))n^Wm=ZX#pT*b&dvth-I^X#RoL7 zgoBwcfy&jFZ#P)oH$>lVDZ6hOyKjx|#0fu>e|KCF#WK2m+*2w(+ YZ8%MrPE;CsT^`TPbCGQQ((~fNdc>nB^`#z?ul-pTqu*u;qr=ZsamR1 zs@~{{VWnQF)9U*0iear;Yc!hVLW5qZn9OAIry*R0Qaf94Zc)zx%TB-3>*ev`4a?r3 zHwYGs!yDVda4-^w)Ab$O(RehTS_9~2)$2{tE&)$#?@XsMg^!>%5JV&_7s|DoT|aPL ztyk(TmYRI<+-x`6J)Ryv@Z9Zp`opm}eepdU55~E>@6S1$b^m;m%Qkf&@N&IaYju12 zB=B~>*&9vf^dt1~d^lTab^{RldcWMAEH(QP`S~Vht_A+&O)LIW@#fzHhRBE93xS~< z+Y3eDjob%Ao)OyzN8f?mkH8LCkL^d|e@7lb7Q>GlK$WwOshr+Km18)Cx(6A;Hpz$^ z!nNr@8OC>6j~gcRc}E!`4#EFDLK@A7I!czP`+Jlk(;Ib+s&IX}^;128K@jUZU)(rD z=R4{I(;$BQ1j{5J+9caTneyN wu1!8>yDEE{wHlaGst9Z=M5jMP4|P$W+j)}U= t z$E`p_0qmV%B}8}a5CUK9-7xaas2|#tUD$h3?1#;UuAHCP`>|raO-A1RYM=)RYWk@M zNqW9GhbbmmsfTGcT{uS>E}N-GSw5dQ$2lQ{X~%id0=OpyiJPtahIf+)rzM41X{TkC zUASizjhks_Rh71$+r^!P>F0Hm0(ch<3;O97O^_ycb1rhWOBZbyU3ga=51Z*%T}!ge zmtL6yT0wn?-|%k+FurHp3=#O@-;R)HXWWj_cjMnpuy1ADP4NTp?`On_GVlM$ebc*X z>yf9Hm(uhgcw9CCWM@9E+H?~ ?eNDdO6JWBYZtJ z`c(i5$EHJ2$aRGr{C3$1Abh_bB+7ojo%}}hali0A`{QxLkLdIHAUpf>^`e^y@cyus z4fy ?Xxx_7(|R(`6i=>K0lh4c>o@CMN(pFCWcWd zgb~4`P*IRH4xFwR8?{$b&i6Jt7yW>WNNP+u@HXMTu3uY`c~rWMlqaV}l=!wLL;*Js z#VE{(MrlPx|MfP?3;mGkMRUSEjsz*VC7(?1CQ_phl_58_keo^h)`}rNEk1UDtfp1Y z&KE5s4*7^{R7+km11 3{heHMGVMInSx 0$xpB+>Ub)f-q&(My z6VoGYRVO6X%3KV3Z7CgX89I^jQnd>Wm2zN{!CdLIteAWrjavC8M|t_AjjhtScJ8 zLoddqxyZPB3n5l()`hh~>bTbAB70q8;kk3Ej^3HRM&0tlrE4p#UXu7z>yFK(W2m-1 z;J|XOWuWoUGn7~Ti4dcu>*2!oByw%74YR3Q^CzoY0KBl63VKsvna`Pw0XP;H8nMq+ z;M$tOLlt|$D1WubD6jre1Xgj%!nI`k+K(@OE&X_y4hGD+hG;q|t!PP1oL}D!u;7z( zZWC*5Euyx;x7>SF2d}8p%Dx*Y{*g{XsIhX=HU3J3Gt5 okC(FO<= )ZA%-f}nSmzExOq5&Ip_JYfs} zh~mrRh=;Fzb`btCni x{jOLpUvsmr6Yc zI~@p!e|RiJkb(cfW06q IN-6!HDi#pQ`kyM6*gr6qloXJ|l9K)V0mQKW zK2G}YR!UY{O70&dOA4rD{o`cG{^MjRNX!0%Wc`J)WMyQ4LKYCl0&dl1fOwXis;q>B ztfYjjtb(kZ(mzO+#y=RAx}2hhoRZEz7?zT}f{MI?n!M8gz_64I6vQR|Vpz)B3d#nG zipq-0+J6Bo6)hzdePvPc|1em}O6tnW8p^6aRMa$8)D2ZtH2z_*zN>2d_{(5v>S^d$ zYHFKmY3XR`{Lt3X)z-7t)3-4CZe(KaXl`z8ZsqtN{mRnP+DcE~+Q!}nXkyvg+5I)J z?Cl-hfB=@$cY}WbEE5-JXIDdGSD=9P*T8ZIE>BO-zXq0 $o$fy0U;h7J!ur2jSwJ2u1Qs2; z!hp%3$Cp}FvVw$JANi|vhGZ>}$7=sC9;;0_;vXJMmrCVd9*fDS%vrL&NJN**>2&>H z9_zM2O10!)9;=~ru2?)=I#XMvXrWxQK5Kofk#?lopx+RmH)**q1SSBH%$#YbFVuL@ zGqYTcRxM5O?zD5Txq7R+2@IZ4wk7F5JeF+vKRlL9mTYS6!B`5b)#gNN{n2!eNF8 ztMksBze>6Oq^I3{d(F*aCNTWAQV+AzB=(#{dXZ2Y-b%QM+js)xvEuaw%3JS_>hff= z iva(CQs_I gB%f#W|s76~o7y7^8BwrR=E&obwKd8{z9q_8m{k5#h!504eeG(@!*#kOd^ z7tM88vKPbmc>I^gI>`$c#k3#`m82-$|Bc3=IW7YBsk|)&Exa#HmBM5QL!#??a*zz< zu?|yok}N1v0}FsWmUR>CNV@$Hb#c1$l*Lh|`(bHuhTF@|QMNxAuC9FmrsZ*N7)4nL zQ4q)Jaek~gO{qwvx+RduV&SonOXg`iD$ZHNIW5Tp@>r!MiyjmdSq*uSBFdM5MLgyr zNzza(mVL{<|H)$^0eP%1WaZ~|BOK#E9*c+8rgmQ3%BFGIl=q@>-Sw=pY5OPbWy^jN zkjL68D!*(y&s(c%Uppnf0`gdRSDlZCkyl+)hBxA5MLpWYcHKQ8aHN_&Z !-GWGZ}hqm;=Ll~_Mh0#TXkK2hUnlgxAd`>2m9?xy&j z&hMrLq3QqSu|Bj(Wh9yV$s-83zS2L;t7`l=kHsq!N+pX%=Oo_Z{zrUXuekDY^*=n; z@WvHI%Qb0}XoLCh>q*Baz{S&+KQzPhcCcM~IDK1-8q;R#y}u1!ghAfueu9SW%K^~; zaoovpyL>sy3H4>Cs1v0|VXiaStpyoMeBQU8-T2gC5vnHbg7xUZt^#9Y <{(F#lBZ3W=%KVLwAAuVjG|Y5bzciVep*h{q=*r&AB-qJ z?rm&Hd_U #>5J*|7Kd5d! zV9aDcV7L_nVUO~_Dg94mq&8(x26{}PL>_-C`0r*M4=8sqp~!hoDm#t50+T>EU951w zV?*8-zPj%K-~{e_zO*YsR^yY9hinUD_fl!na>YezQWp@zp@f|IJHSI;kYcyT4)&@x zO~fcGp>3Y$5mt>>u~~yxnVsXQY4*NpqqJW0Y!@okfUEd=1>rohXu%cHdumv$&RMDlL`!DzD1C2_8WRj8oK zAe1ZDhQ XU9%A%i~5P(IsGcDmQT*MkeU2pDL&D+qINYM%OmO#gH z#(qVaq8BhOYVs1&sp*@x Xuux zn@`FCK=R-Mw;{*{P$rWtU2NCq*P3Ks!;A|_P^;!a$pc_Dtu1d_r#CQv_^@wer1c^H zRw=Fb*X|!yZuStD+kwk>*TM+~Gi@^nNr1V9uWw}_4|oYNm&<{E8InRD=qaGor`-CU z)0ffVe_;)6Eh(XC81L0dPljeH*D4)ZL l_WyDo3gjFi8skPz?1dA-SMvC6SjpK3m5cP*!D#sW9CId|5sS=8Q{(fn8E^vPp7s zqE+AE*`lr0S-f+_X-EE6@9qj6R{@~YjQ!L@uIz?GNCNFu(6<0Z&WmNFsM~-G9wm dK!4CCUeeirQI6tj M@lvgOBM5f02#azD)YUYHT))>2+!6m%Y7J2k$t 5$XCP(=0C|W} zkpW>o9BeK|Xe7cU7gnW47>g46z{}yr*7XhlXX*?YF-NH+e+THy#5`$8M;IfwU{z(> zdgF+_#Z;MwPiD6X81cl=QRpxF-C@F!o pVeJ~J_1u1uMSk+`UksN}Q{(gZV_>V1PH?}wDx{lI0-)UG&qj&BEm6VI zTsO#c{K`k3Kc_ZtmLX-3D*Z*_@qG3_Zr}UkV3-;=XGrW&NwFw7#SUO+k%zE8pYR)s z$jGb@y-qYwap%27O_9t6s|x9jm)vu?FRkaA4O-yJIS)@1y|=vp{!8kOfYCg{wf*Kk z%oq~^V<8;}ECs*w1Oh0eD!|9 gS`SkOG#%
m((D zS%Cva0_OgnM`5x8v}OP%wh3&B?^eh+L~~aFbO7?R#|@<)wS54Ed!R*PK*o~y-h)Se zu{AghZ|@8!dDveb%dQ~s9opPt8xB1bc~-+!m`f|z7>+G0NHQf@v>?cr4Ls0ap*H>- zBUSJ_T0s9bJY`X^c1sAsK(M3+WQxJJsjsekMj`!7?gxV*mMuR|_Cor0p&6Vo9l1gs zsqk}{tgKT)J-PU8TS9%GLsdj!E12L&0%;lRRoa7@)wC1H;X8Hj;Lvg2$BrX=A!dpf>DkA zNmCQqu^dU16IqKL)#uJ!(c;%gMc14XNsJ6OaU41I9Mz8<{U?lZ5a#=^yJrhb)J#kC z+;a3L72U#d*m6nK X3SAa%q`ciFEufV?h&f7QLEU$?w5bf zn*UmYp?h5hxf=QP=^hK TjBpc=3}^!PI!>)_75m1o_f%sn$5zmq@Xf1ohGorP6pRsYH#H#L$#Pnbt(LlSE^W zKm+Oo749UH)+FeW@XBR;p%+?_(M0QTZ DHp?Wxxt+@FQ#yX9q(}t; zZlO*5!Aj?$@@rI(Kv*2@9U~4>e->D^rJ8rVfOoy5_uypoac2x@WpsLE
tDJ@!JQ;k{Y+z^)* z8P_=3x8WK0sTr}{X<5q|+AkS2+fW5F@P$243fB-$Ai&NISce`+%UHMeQc!Uw=)xIf zutTUEkQ^{iD2v!!L~V#41|BD)LMtynNO|%uwDKrC^QhAD9$NDrQw4Mra+z@RS$Oi9 zPMODXP+u(4+5^+ TjIXeyDQ|)0=4UB4Y z3S8!ptKBl9405tSeyNa|(ZK03Y8RP$7MZ6NS+?cUuL@Ys&{QKA*Dw`3YZtp(78lN# z;5+3Pl;+d>ry;m#v&9v3#ultQ!G&qV RD_;1g$Hag|CCVBy1g;5Lg= z^$nmy`#m8nM6XW33SM*lJjx2C^GH^U&Vyu(h(V kcf!+|pkmf5?*W!l4G;zB3d!#YXB&9A~Pt~zyv!K8|p6xf6Ja9hrr zlp!!x?Q2&ZdR85$Rh^cVm5-I3-m%xdCdUbyMPj6elxF`Jjkg4W^|OarJb`h^fe|l* zO;&_;Z^?m`E(IOS72Ga&8p8^KgZI3S>ocy5U9F^h6()yc+fhZsyRLm7ty(>)Iun5| zL9Ql?ts}3g!{`BJc&lTA&m?53#%Y(x19(*Xrlrh?LpxiR)Y`*`;5KB|a7rvgcq~<; z@D$|x=g=*{r+6Cm Zt$yt zGM<4Qu!l3qiRLSBbixxcmTsIwZQ6aUHTTLmSgEp#6tIZ|wexBfj%{;<&x|!_9+7 z4X8HPf sw0Z zoXqXvVNi<;h#Sq)!CbH5l4!xU+l5GJI#KhX^`I(8*##xH(|?1&!AHq%zNN9R=B%Z2 z{93A`n(I7kOC_XZM5OE*mG0^XYxhjA_U7&S77ME_T^vqR(dl2=^$ampR+x}O?&4n( z%LL6g(Vu8Qn{nR_%GZOd+A|B@+?|(WT{9q|2%c7+v%AlT4hJ6t0xJ^HQ*8-htq5BN zqD&`S(TXMydpZzNDy@;;iRs;|Ro__Enu%tuSL9VCz%=ZvJ3J*>|21l0+r8d{w%swc zi)5mOf4%=t1iTYdIj%iS5&*Y$3bzoEyaXX2GwrQT_`E}R4T8XPpa%>(KBon897e+c zT#yMmJ|Bu@2s&F3u57zO%L`8I6h ++kB;Je*eA8Cuq@Si zMzKt>Sn(A(S#cs)dPvtEE;O=49$u|R5H2fr8q+J&7KAR*YE;B{U`s|Aa;@5r2{ySW z?ai`McYDB+c)ZLWzM%p()EnH43AT{9G&QzV$PJVm88%x`y{%*XB6S#CZr~&g0y|>D z!CPw>VM0f6Xm6fY8W1(9NDRr938IS(J%|ft-ZRO!4PinI1v@s-Pd8?{4Mi&lrKsDv zkO3;KSRu>5po%z8PSw}{v$?v@gOaa(np+KF1-VKWE`qjyQc|&DyS#8_w7{QdGGcmB zx&i gy{3WpGZEAM%pU~g~39Q|W22!(X|$DDXI@4WJ>9<%60O9ek9mgSt%%xX#JfD`dr zdkbWY&K%g7k^(=ZG9m m;TxRPyEukp;}ZCDVQQs#^`!B`NO z9>{P-==zU#I6!(%vOkX|B<(ft(#Jckn_Lqp{h*KD& rDMc z2B<9vY Spwk%I8F#*+A{ z(+YT1y6(ux_N`2iok}=!f=a|en8VDUCz(sa_qw!*(JuZoFw#%~ddu?GTV?mqO@eUo zB5<|a>$r+J^6>pp9X(K8E3lj6LLX)GyuWr@p`7`Q)NEF5Gnl1%=9b=%sxo&730H~a zCmL 4M{*K^*At X@;MK9+FzO#j4w8+^^< tJ%aPGG<@`fO`_RAZ_FTMkY)21K6$1}YoYm=L~Dv7mP5y2=}lyW_mpzjS&N zViq9qM~WXR6<<``egarLJi9zkaoKASd)b3{$(_H(OR&a+co~LN9*MNOW;=^JH5YO@ zPgRvlV>=8J`+#J7^m5roUa_8bdBrIZ7q3_nnsa?sk@DmETGcv-P#8{L{^pqf?6h+e z8?e+qwF*7C5!$(B>TeN7Q_)~pnPn|O=XaYCTEhJ84*HUo-R~|wswR|S5@GX~Hs1ri zPn+=cAD+9pm5F04npI_{o$ATCWBuL1j3d#H`w+E EKohv<}E%bolUJU0@w@U>LK{9ToKQ6*=bcMZ7jPElMDu`Iq@SqnrRa zo }QVomSJA95KY z3U1-m`#wmC3{rk+;e}JIYQ46wmAr#83>qmOUeq&{FzlEN#lohZRA6Tk6hVXM_E_(k z1~&72EUEg~WVl?n!Q>9JgABRmfUl=A+Co0Qge&ogd(QmT_nrXAFBH1VjF`c;eI?H` z%T=PBcvwZpuldkMsYV }<(KqeE&%{7Y)}0{d22)>y)0^f<+K z$OgNcRyI4&HrckmL5 CKO;9evXvYRdRs9Lou@Sk~gA#a+xG- zP>mC_<&pl_ sW$Wc_KsI?0rr>mr5>V^6=S4<2>FO)0DJY5?u8MPh(wvqQB-~z= zQgbW!$BNMCItbw+=H|n#9mk%t46Q$ld|^!k@>qSs)-eO9*-;}i4<+b;-y#I*RCyd! z7}w0og0zkI%Cf8kNRylxiEMHT0rj`i^fDXaGK##fsNa~MXjO_?!4ojL6cZaB7KOWI z)Kv5%(Va!{QIK7MJQjc4%okvwYD_=f
046JRLWuCQl_MCSd`kTCWaLz4`T91Vw!nbc@tpOQ1FCGO2el8lMYp` z12f!Aw<8*RF+61G#j@#!&2vW-Wl*~}@vP|$qU27$$p*+{@oEU}VT;A_!*jmd55OPo zt7*HCu2~O>M5tYK(|!+>XBvvFbui}besh{RTU?tZv2A#Fo>w87f)y9WIdEAv0`gc( zv?oz_wRl6-=UU!L*ydwu-MDvwb&{{og{hae9*5~}pB~5gUw+(ohBSYAp0oROJlXk4 zcwU@;P%t{Nou=%2-_L3I`8=+<0eqe*Q@@^G19>dpo{+Uow}yaFJn#3(DEAl`tx*Jb zK?n-P0C-sgf)cYfkiR_E#D-5`AMa ~h@MV_3gofKjBq9;2RQiRBCU*#7D~*;w2T!Uwbu>tSRaHA{BJ_N z_W$Lv>VAD8n;t)RmlVxAi^l3O+!w6t<)Nrk4!h~Yx;+;8hsW9n@>rvz1cNiNzsXFf z=^ICM4Pr4gGx7nl)PmBkvPt#xy7V?4GTMjA$?d^A?&2@f22gh*C934KL{btzh7f*9 z8vMg!=?kl*%@q`pkAIc^4xms;U*kh!#(Sy9cbp4)&y(Yx^qA5wLi@{O@h+rJN=B$; zh2NXvYn+Vy5@hjv+y5UtmbuVgIAJh_YA!svnF!9SVi?bT4jQ|;n2Wnol&R`JJQn|} zQY?_iBB?CK|8+7}G uOa9?R!V zXM2;Qr4PtsMFV*(B+k}x6I-XuzdV*k+gxFlW2KJXxv56`+JUWG=bPU3PtN9N<7LYo zbLHi{d;POXVJ}8U$mb!At~(z)AdmGO$Ya610eP&Cx9@=vn*Z=vx%Pi~tX^q%;UI!{ z0~m>vUeux*3_8A@17pp8yhHoY%DW%Pp_&6 u(jS|frKj&af6#$=RQqcVSatjza)(r%3O03~{>NU6<2Vpdxm z;%u*nw*&all^z3%I~OKzQ|7-smbg>; V(vu z38HY$Mf5q&r)Vp>Hg?V@_&64m(Ej6??_5alV `%dwx8Y%JOsO+F{%KO5 z`C)Ait+qNB 19&eIY~MJceaB~G0- zR<+-z6#HCMR=rFe=|5$E@wt)!RIC0;*MBah^u39$_C%}MT(1i4uwqB|T9MdzY<10B zFV1%CxYB=PI_kXY1iWnnn-Pa8{a)hiun)}EJ8ay#+JLFBv+*=JlN#T5hi;#Dr|!3{ zqi@gs-+V#XzU83x+~LLCgGV`8B^G*hHG6fxdi6|{^9q~CuaygasTV{T=sF+&hIIbz z%Y8QhUJ!+>M~qqsjZX-jPLPyaaM*|!GPo1Uxks;#mpO<38!^Ode;5K=Yhsw7-Z%{6 zdJocj^A|c{WQ5*KJRww7VGKT0OuFiNPoW|!&|mFkjBV98_q}E9z4!@?$urf21r(4$ z-~=6vDacGLY&E7lc`vBKfDb(3uTlM9MTIFU`pK<@1wDid{UNZ}(y1$i>053#*m^i$Og5M=~PIQMe~i*UaWa2JU1cJwO^^drrR z44;Tx1_+Jrp}#u$D+nPAc?))oiRx4c(KR%~CIoR4e-*P9p <{>p2?x?iX7Wj9$&Peujl9leW@!mN1(nf~LGV0-V>>W%_5?@q4KoD|b77Oj zWyF*gNGF#_QyIkb363Ve50+F6*XV}pzmJin#H4ftHaN3BqmJu#NCgaxW~@sEolCWM zj8m*L_kxW5G9QU%g_NWk%ccq9QiPDUhmb;sAg~xK=HreD21ktmPZcFa;puN&AEfv# z3uZN1t4r$qE>_RS>Zck$9x2n3A=6eN)1fPujsIIFA}XI2p=%vhMKPosLH78KXpA@; zucNonnXy L4*5*DqE%^W^*Q^f0C}srXNU)T5$Amc7C|IF{chtbX z^~_mAAYhhF5ppoB@m-ksU5WT&iWuV$3BB^y53GHh62uEds*NwyABv?ra{BLbM3%wg z?&Z;B^1tp!o`n@b8(}~e1~{Up2*hgG24_vqhe0z%5o8p3DphzpRrn@V_%~FXM-?-l z=O|6S<&mkPN0HNs&3bsr61a#Ol8rK@cSF2Mb7!g~L{8yP&f}g-h}+b&6R7 `YdoLsZi)(u^)L!xTC{WR@6yN!_-8>&1caqTEpW4Ph)UtNhQSRK^*5@BO pVZ2gB$ccX4op<45XZl9d)H2-R! z+WJf`-XDUEL6d|b8~)J2HR=$guEF*3jb0K2-QJIN;Zxl;0$q6WKRk3B_wRau;+u_a z{*B$1HSMrJ9f{frA$o^CdhF{{x `2p%UvDwy_sQ2v#kTHEworAx zLlkjh@^Y_|Gd v*K8K%Cl_s7^K@+6MhEdmw9VQr&D?y=fH72$EHlrlBex=2? Sd4jimN_8elk~3RxU}@(P^ZnQ zs85$dKO1 =B7o~qZUP_ z#;}hva7@YBwQ;8tyFlJDU*EFG*0R{wvLwc`RNb !Kz-sssRc%1#> (HS4sp%BsD~ssqZZbJMB|Q@{Just3usm(aS8 z!Mb0-dO-fXSJNtn!tz(qNmrKDXqI(bk@a|&^~99* U9I+GY)_ylcEllff1aOA* S72-w{Z5#9d0 zxWBXj1|gpxV;_>#Qc$qq)4#tWCarmtpdQ=t7?n+~Q1=R^;iHD(>iA#9*g;aJy D4is0C%*0MUS{)w0KK z);SOt%zYG5qOv<@z-35^LHHu#_hOF)TjOD!6(t#ms?d^E*CNIH-Q)la@o<+wEtTM+ z7egbq`1(3baM23v68p*#m=EqmL;@@a@rA7w`p5!6g9s6!9q4~CM}_4YMj8BYVNSgL z3a%GMOO(g$2Culm7z#r5#^8u`rNYSQybt1ZK!7B$4IwuIA&(v0VVWR5FT_)v#7UW$ z!4)R >P5k}~HHTw~ww`juGmU}d%Kot!x>NkTM_WKKQXHX>c#S#?5 z8VIQpvOi2tOX~#)MlQ|Nq?Bg @#Y}^fKpJHIwS29 ?nrwLHO-4 zxNmT-`H{5QON;0Mci)SvdXqBwnXLu|Aj^|rOmOc9_JpnZ{%Q06OmRP$^?plZHh%Rw zMjR~ZAAEcSPT?LQ&h=J&?SaGjIQvT!PsN)Q#P160HAMQMohS^_fwp(Jp>z79cp7PA z_%Q-m4RJ=zPvYHl&N &x#T)1Kc3-H%`pB+x