From c57bfd75fbd6b8cd4272ca6b494b89fb7c9b414d Mon Sep 17 00:00:00 2001 From: liyunze <50455574+liyunze-coding@users.noreply.github.com> Date: Mon, 20 Jul 2026 23:27:37 +1000 Subject: [PATCH] fixed sync issues --- Code.cs | 37 +- widgets/horizontal/README.md | 2 +- widgets/horizontal/index.html | 8 +- widgets/horizontal/scripts/emotes.js | 273 -------- widgets/horizontal/scripts/streamerbot.js | 200 ------ widgets/horizontal/scripts/tasklist-view.js | 591 ------------------ .../images/websocket.png | Bin .../lib/streamerbot-client.js | 0 .../{vertical => shared}/scripts/emotes.js | 0 .../scripts/streamerbot.js | 118 ++-- .../scripts/tasklist-view.js | 0 widgets/streamer-only/README.md | 2 +- widgets/streamer-only/images/websocket.png | Bin 82494 -> 0 bytes widgets/streamer-only/index.html | 6 +- .../streamer-only/lib/streamerbot-client.js | 1 - widgets/streamer-only/scripts/emotes.js | 273 -------- widgets/streamer-only/scripts/streamerbot.js | 201 ------ widgets/vertical/README.md | 2 +- widgets/vertical/images/websocket.png | Bin 82494 -> 0 bytes widgets/vertical/index.html | 8 +- widgets/vertical/lib/streamerbot-client.js | 1 - 21 files changed, 101 insertions(+), 1622 deletions(-) delete mode 100644 widgets/horizontal/scripts/emotes.js delete mode 100644 widgets/horizontal/scripts/streamerbot.js delete mode 100644 widgets/horizontal/scripts/tasklist-view.js rename widgets/{horizontal => shared}/images/websocket.png (100%) rename widgets/{horizontal => shared}/lib/streamerbot-client.js (100%) rename widgets/{vertical => shared}/scripts/emotes.js (100%) rename widgets/{vertical => shared}/scripts/streamerbot.js (67%) rename widgets/{vertical => shared}/scripts/tasklist-view.js (100%) delete mode 100644 widgets/streamer-only/images/websocket.png delete mode 100644 widgets/streamer-only/lib/streamerbot-client.js delete mode 100644 widgets/streamer-only/scripts/emotes.js delete mode 100644 widgets/streamer-only/scripts/streamerbot.js delete mode 100644 widgets/vertical/images/websocket.png delete mode 100644 widgets/vertical/lib/streamerbot-client.js diff --git a/Code.cs b/Code.cs index ef9bbd2..c6a2d66 100644 --- a/Code.cs +++ b/Code.cs @@ -464,7 +464,7 @@ public class TaskOperations } int newIndex = taskData[key].Tasks.Count - 1; - broadcast(new { mode = "refresh", task = taskName, completed = completed, focused = focused }, null); + broadcast(new { mode = "add", task = taskName, completed = completed, focused = focused }, null); return new Response<(int, string)>(true, (newIndex, taskName), null); } @@ -481,7 +481,7 @@ public class TaskOperations string oldName = userTasks[index].Name; userTasks[index].Name = newTask; SaveIntoTasks(userTasks); - broadcast(new { mode = "refresh", index = index, task = newTask }, null); + broadcast(new { mode = "edit", index = index, task = newTask }, null); return new Response<(string, string)>(true, (oldName, newTask), null); } @@ -502,7 +502,7 @@ public class TaskOperations UnfocusAll(tasks); tasks[n].Focused = true; SaveIntoTasks(tasks); - broadcast(new { mode = "refresh", index = n }, null); + broadcast(new { mode = "focus", index = n }, null); return new Response<(int, string)>(true, (n, tasks[n].Name), null); } else if (indexByName > -1) @@ -513,7 +513,7 @@ public class TaskOperations UnfocusAll(tasks); tasks[n].Focused = true; SaveIntoTasks(tasks); - broadcast(new { mode = "refresh", index = n }, null); + broadcast(new { mode = "focus", index = n }, null); return new Response<(int, string)>(true, (n, tasks[n].Name), null); } else @@ -521,7 +521,7 @@ public class TaskOperations var response = AddTask(rawInput, false, true); if (response.Success) { - broadcast(new { mode = "refresh", index = response.Data.Item1 }, null); + broadcast(new { mode = "focus", index = response.Data.Item1 }, null); return new Response<(int, string)>(true, response.Data, null); } @@ -846,9 +846,9 @@ public class CPHInline string completedTaskName = userTasks[focusedTaskIndex].Name; userTasks[focusedTaskIndex].Completed = true; userTasks[focusedTaskIndex].Focused = false; - Broadcast(new { mode = "refresh", index = focusedTaskIndex }, null); operations.SaveIntoTasks(userTasks); SaveTasks(); + Broadcast(new { mode = "done", index = focusedTaskIndex }, null); Respond(BotResponses.NextSuccess(completedTaskName, focusResponse.Data.Item1 + 1, focusResponse.Data.Item2)); return true; } @@ -997,12 +997,15 @@ public class CPHInline foreach (int i in taskIndices.OrderByDescending(n => n)) { userTasks.RemoveAt(i); - Broadcast(new { mode = "refresh", index = i }, null); } operations.SaveIntoTasks(userTasks); operations.Cleanup(true); SaveTasks(); + foreach (int i in taskIndices.OrderByDescending(n => n)) + { + Broadcast(new { mode = "remove", index = i }, null); + } Respond(MessageBuilder.BuildRemoveMessage(tasksRemoved, tasksFailedToRemove, allTasks)); return true; } @@ -1024,7 +1027,7 @@ public class CPHInline operations.RemoveUser(key); SaveTasks(); Respond(BotResponses.AdminDeleteSuccess); - Broadcast(new { mode = "refresh", id = key }, null); + Broadcast(new { mode = "admindelete", id = key }, null); return true; } @@ -1081,12 +1084,15 @@ public class CPHInline { userTasks[i].Completed = true; userTasks[i].Focused = false; - Broadcast(new { mode = "refresh", index = i }, null); } IncrementDoneCount(taskIndices.Count); operations.SaveIntoTasks(userTasks); SaveTasks(); + foreach (int i in taskIndices) + { + Broadcast(new { mode = "done", index = i }, null); + } Respond(MessageBuilder.BuildCompletedMessage(tasksCompleted, tasksFailedToComplete, allTasks)); return true; } @@ -1096,7 +1102,7 @@ public class CPHInline operations.Unfocus(); SaveTasks(); Respond(BotResponses.Unfocused); - Broadcast(new { mode = "refresh" }, null); + Broadcast(new { mode = "unfocus" }, null); return true; } @@ -1144,11 +1150,14 @@ public class CPHInline { userTasks[i].Completed = false; userTasks[i].Focused = false; - Broadcast(new { mode = "refresh", index = i }, null); } operations.SaveIntoTasks(userTasks); SaveTasks(); + foreach (int i in taskIndices) + { + Broadcast(new { mode = "undone", index = i }, null); + } Respond(MessageBuilder.BuildUndoneMessage(tasksCompleted, tasksFailedToComplete)); return true; } @@ -1169,7 +1178,7 @@ public class CPHInline operations.ClearUserCompletedTasks(key); operations.Cleanup(false); SaveTasks(); - Broadcast(new { mode = "refresh" }, null); + Broadcast(new { mode = "clearmydone" }, null); Respond(BotResponses.ClearMyDone); return true; } @@ -1179,7 +1188,7 @@ public class CPHInline operations.ClearCompletedTasks(); operations.Cleanup(false); SaveTasks(); - Broadcast(new { mode = "refresh" }, null); + Broadcast(new { mode = "cleardone" }, null); Respond(BotResponses.ClearDone); return true; } @@ -1189,7 +1198,7 @@ public class CPHInline operations.FilterToStreamers(GetStreamerUsernames()); operations.Cleanup(false); SaveTasks(); - Broadcast(new { mode = "refresh" }, null); + Broadcast(new { mode = "clearns" }, null); Respond(BotResponses.ClearNotStreamer); return true; } diff --git a/widgets/horizontal/README.md b/widgets/horizontal/README.md index f49b08a..c8eb6d8 100644 --- a/widgets/horizontal/README.md +++ b/widgets/horizontal/README.md @@ -6,7 +6,7 @@ Websocket server running is required for browser source to work. ->  +>  1. Streamer.Bot -> Servers/Clients -> Websocket Server 2. Auto Start: `ON`; Click on `Start Server` diff --git a/widgets/horizontal/index.html b/widgets/horizontal/index.html index 6fc7ee0..318dfcf 100644 --- a/widgets/horizontal/index.html +++ b/widgets/horizontal/index.html @@ -3,11 +3,11 @@
- + - - - + + + diff --git a/widgets/horizontal/scripts/emotes.js b/widgets/horizontal/scripts/emotes.js deleted file mode 100644 index c6eafb9..0000000 --- a/widgets/horizontal/scripts/emotes.js +++ /dev/null @@ -1,273 +0,0 @@ -"use strict"; - -class EmoteManager { - #emotes = new Map(); - #channelName = ""; - #channelId = ""; - #providers = ["7tv", "bttv", "ffz"]; - #size = "1x"; - #loaded = false; - #cacheTTL = 24 * 60 * 60 * 1000; - #CACHE_KEY = "emote-cache-v1"; - #pattern = null; - #patternSize = 0; - - constructor(config = {}) { - this.#channelName = config.channelName; - this.#channelId = config.channelId; - if (config.providers) this.#providers = config.providers; - if (config.size) this.#size = config.size; - } - - get loaded() { - return this.#loaded; - } - - get emoteCount() { - return this.#emotes.size; - } - - get providers() { - return [...this.#providers]; - } - - getEmote(name) { - return this.#emotes.get(name) || null; - } - - #buildPattern() { - if (this.#emotes.size === 0) { - this.#pattern = null; - this.#patternSize = 0; - return; - } - - if (this.#pattern && this.#emotes.size === this.#patternSize) return; - - const sorted = [...this.#emotes.keys()].sort( - (a, b) => b.length - a.length, - ); - const escaped = sorted.map((n) => - n.replace(/[.*+?^${}()|[\]\\]/g, "\\$&"), - ); - this.#pattern = new RegExp( - `(? { - const emote = this.#emotes.get(match); - if (!emote) return match; - console.log(emote); - return `L1m2K%1AT`VnWV| zB$4TlJ3_DM-ws>M7ehNt45E=wMCn z;mv8XH2vMj^yu@d!N$kbS|?^t?jM9zV46voijQy~Q(+W#%Fyk$Ys8!tXw`NjDORi~ zDr?5(+Ya;YO^_JvF3cUOeb*VssCxaz4dae1<5Vri-$T~_aN~;OL^h$ae `^gN!5h!T1}0O x-dWhCZya z;VIwz&k`dx*W#Jp2F5f*OY#Y9z!$(?ua=7|ueaY=TgJk@h0 86!vNp)+bEWFVNiMtZkEsPK*W62Z%{yXNCkti$&&sya zJ9ZtOecSn9v@zDFr}Oyn<1~C0Z=+u_cUxD```FH{u49)6gY3&s8lGckmo|KB{Y1-s zS-;}4o}M1c#~%o(rk9*&^$IU4bPs& r0a#syJ-Ne_^hVrS{?w&m)N|kUQv! zQCNzFsoq|9dST0S0x?@#N?u0BN4NU`t~%VyWE@Z1Rc6`#K|hq=`n|(MhknrD;GpqP zb;v>ijc0P}_3PIY^72%eZoa4ocoNf+tZWJ)qF}a?&3+2MDEO%y(%RtAkYG+w3@mra z{Zto?j`$R4Z~z1vffU=KZi#O(;jGWg c|0h8~z=!vN}uT`z!Tw%F|$F`3s-QD_cJ75xJbJNv5ox{JG# zxBWo~uoFhQt*Kgg!GX(JanX~5AOG56ztC>jNkmtJ#TpP4WEeEjku7!ftW2{cqnln( zzD64BVtsRohX;&+l-R~nG( ya)HLIhif>msI9#HNbo=*)90x@l~*lrdO% z3Iv*5L{6VRJz&*Xnq%3^U~^7~XL1T6o^`-M8t$)|7R!*5Qvmj+VJr=$HaFIJJT_cK zAXpo`nSl7Jn68B%CxwR6yrktzYmc;9nIDz@w5U_|M4)vlf0#j%-*8t3Ew7nX7S46L zl)PXpDY^Q`tF(f#3;KF`ZA21@6e?hA@YSu?dH9`=?J5AU`EgvGV24VaY(!d8(gl}p z*B(K2$u6lm$-QjKX$PD&o7>6+Rcz~mS%B`q1V9S%6ZxA2s3&wjbORzRJy9vx u9m)&)5@YBReb?S!otnL##=@Yu-5Puk>j+m9(o()yEjct1OOw&SmvA78wAAampX z=PcYD?JGJq5<*Q&OB|thX;n3BPbU(Iq_0fAZN#CRQW3Wn{ DzMY8rE!#^OX6s2^!tjX;awI(TWs<*XhdD}l+rX# zelU!7Mzd#)`=0jYEnCY02`>uzF_le7&|wE@7AwxjzkP4q6emy#fU4EZ$TYlDXsW1R zg>Tnltpi*|$RQ=V7)L*X7lv7(CsK;7W$22u4b_BY8`d$nh@3zFO^)%l)L)tU0H1y8 zdLR_^4yce*(2Y37 sXgYv z4SnZv33{?m-E&9Z!X8RWK5se{>~RTYYwJ@U$_55;3^1*bX6odE{QTa#OyLP~2H~bw zoUMU7DGe_&(Q)q>UF`Mf&Fo {c>dxAx3?Jt z5nX>qIqu )|gUPI_j(Qh%4~S(_QW7tx!3oE61H;3_P}4Ny zE6uQd!-*=EoF% u?h$&I~(@MOWfj_K#`>s-cCL2Xf}KC+N=~x zs+F)AqLb4KD&<=J#DMTiPbx}PMQqHUwWapD<1!iRESk#BPP%AmWOT_}ZT<_jc3Zlx zuC9HPG#|##B7cxdl2YAPbog#-x;AVkbv49HCqG5S#g$+DB~n-&Iy}8yoYJuNwU9~k zImuh5wN11aozAt!#QdBJ9mf*5l~wyoI6f0A%FjMl?fOALFM~8}p6R-IU}ZzAm!+j4 z!TOMZR|>XDWPTEqf;^||Ru?YfLjuTOfpw97%b)peEe&!$&c!gSnrJ{#*WI1vz*$2S zbr@HvSSg(cbRpC#`QpTBj3A)&@edGso~&7y1IVB!!u;8%?D#nYBRyz`dvSSbGXR~B zUQ7^>wakzeTW`*^SQt0uxU{+zS>xY1s3qeq7QLM5SZzl%0V1eGh < z6|Y7!O~pEQr{@pRz&&$AevzDV@vVpkC{W?c6}q~1oQg`Y)mLo8=^bzopDVu>O*b{l zeOA80vrn16&N>PEU~R*D?hj3;w_d6-(J?aQsXa|2+-nSID3C+5<3TX6lKA0pmo#ZS zD>)@YifKB&^ _^Y7La3uBav4-x z9oW{Ltej3&M*^bR5_#2goV2on6@kR#!)qWO6c7+ISQW%qSQoKAZivz=VEqehY&?dw zbQN5$;Z@);f*qK~6jdDE1f 6CiMO=2B8p zBtQoOmCWBJ987_6tW=0?L^<}lDZ@188PvW_4B;{ygH%K)oGMN(Dk@^N9Sfby1Jug9 z_fx9vJ08=(CzOm9jJ+^Ran}9i0v+z4c1ZhJ0*;r)Dn(d*+N*}gW~1op5)q_@O@x3P zw>&pYgyd|OW%&(PCz`BZ6(~?CFE5XTI)O@1qEaB_2vpYc_a6W>r*<#yjvP?s<`ZKw zaOYKl>`g$DyMMgu8oKlqr~sZ-=550FGB4BGw*p&Kk7V8;w`jBV{WB2c2N9j%w*GNl z=oCcKhJf?;=0P$vhSyVf$4}_*&MUQ*vg|F!f3rPWePG<*&u<=xn+aS@u>S?u_$*wR zh#tSdo;VKxtLySkp`Xk8VcPkNz;Q}1f(}LZm-xrSp$>r+3@#T3rVC ^Hti @ z{ kSw>Hni-B*l3q7GB6>A<_>A|*|rauUC&B^hkl6On@jesFE~*Yx6*q&S&(CR9Sz z5n{cE_vJoz-h|Naa_!n9d~wO*uiPeH@t&NMjBa-*?G?gXUA|+s6xvd-dezaLBl#wT zm?a<@A-f6BTJwW7-08>OibGjZu$72UXf2G6Ox|uR*&wC!GWyeaMZ3>@p_bVFC=eFd zD1`Wc-YLH1(1i4K0x*cMgN`k2TuXjZ9L9~FIRfU++D#zxW}6Z?B-?{8>)L^O&`x~w z=1oE0qx}j>N<&5jzd$VHW`br%u4RO3mj%5WC!bkcq-k1y+_&kPnnbv4Zm+v3m1D3y zu{GpIQgX6s)7?sfrlV$91O|~fOWfSbujDZz2;sQz(ljW|keVwmwyrJD)x2j#@&oP` zBw-6{qv89AZXkLCJ4!`SQPJm8T3VV6?CXXKMvoN4`YNldn*j#WcY1-`6FpZartMA5 zspRaOkC!d!O@AlkXac~OhSw}um!j#ufPjD?>}DRz9$|CfDCmNRQh*)7KRQ0>d&70& zAt~Q$ikEd9X9^f?iYFq;0jUv5Ai-SbOYfahhD#%<70DT)!p ws!fYN{e!9Mo8pfsy=X+f3dGsM~#GE`kV{+F>Uih*C$stzp>qjr;Gcw}$>O(@mp= z@%D~lHy3|#Y;Um}ydIBkP}6nhi}aK3$y-CN-%Q32(v5lTk5Z}A1M&rL@6Y3PFVRMi zon`Eg!f2DM*t_ujpSx3>@8h8wC~(lHoDTh^hm(odiBoF*%1Q8_5muPHKfgwXo$A~5 z=eLIzkN&B4kdYPag`oWB=l_53zcDy_q%aucOZ!1Hmppaou9;biYM0I!kx0M!XRzN@ z4X!vcsuN4-U&5GEMAaT}0`}HYUmux}aPF~}7u&^))n ;RAkK{nl4_ MepjSEo<4T` zI7?7f%lD>pM-U2xs?XJbze+_F2Wkjz>ERYe)Fu71M7)%oocKjx0i{MSa{T^Ak)wcg z{`~wusf+y|7u5b6A3PlB=ht|j%E1s4OOpFsSnmi(!hy^aUHSL;x~x2blZ^91SV9`h zF)Aunh*@vgl*cSRR>QXcC0-v+7C8sS&oAZWp 9Pc5>6`t|+$cZ1`<2a5kG%qIk( zL5IScBnP6Lh!au`*) gqeF@L<-edyJY|>ZMMaF%)O~Vg?5EaJPY5`o&OdIhCgD`?k;fPjGrzcEfj{Q=#V< zZ|dZPgj)>06)9tvL3rWV^*Fz@v9Xc){J^rIp5CpOgkQNAZc+T+&LXdeEfPGScEG!V zyVDP;eZb+~1P2=}7Vy-Goj?DK;a9LkZ{NSisqmp puIrb4J!KbNts1mYSVsXIFgi;C;VH%IRQ9AG-6Hf*;S>#s%5dvY$BS z4D}z>dQ{g*Bz4%bdI^T#ons6eHqF^ rkM;mqQ|T;c726V(uy!8(qo9NsZ9uf0k|i^D9hQ|Wwq1&nudoQUJn-!Wjw0s zi+T#+E#UQQow}CfNU}zn#{5_TS3 Ef`(tys6kf5U*uoOnJ(Rkfo;C({SN+&dw5locj< eh_(L5hpflwAfrN*-Qq^Q7Ex^a(pyCLJ7oNpc+iMo#sK3H*b!COmh#w z6>}oco=_pjwAK{WCOzgyK1lT*gW5nn0DnED-^-;wrR+i 0OfPpRn$dGlV^9Nki+;Z=83jU38>CEXhJ~< ztvIYNoj~K^hp-JaMI$%|ii%5N1x^rYU0si|-mx058=m9IXV|x|7l*@z?QCyd`-TQL zgk_0gn@9+WX*Ut)I+hrJ0SpR8Euu)E|IyzM6w^S7J_9I#rYAXNAhUT_o}6xlPYVoN z8UO&z&8f|GF%WsHEQE~ePrY;KFn-q)y$C?02~hmhp0MAeWK^SbblM%5-|bts>Y=b~ z#)(L?*RG@NAp*8>BA=&V4tdNwvRJ<-)D7FFs7p|hdnHkss aJYhM%lp3du+y0&?PN&{d3nFvQc@G4@N)XIWV< z2ne*B{kX4rbZ#Z|8a}9Q7`N#0<+$=!7>@QjAV|!*8-0D@wc@f44L7Jq6QX_mdZ!59 zoW%*^ry`-;eG`%6_N=PRPu*i BBlE#?+RPW93gf&1e-sO-xtcs?-Z=hwUd%X zKp FLp}vcSTOdI#quq9iLnT8T zk0pIrw5=5wZkt={v8iH5f&hAXv_)Avo0uZE6Rm#Rf|+vK3AbNEOLnLd){g^Ut45Z2 zgIeV1+%nzV@NUjh+j5x*(Qc01Pc`>J9DZ}wsJP=U-pzB@BDV}$HV>2)6rkFaib?P6 zI~`xckd-=`kYQipLqEIhDxDUT{rA4nzrruFvfhMRu3rr3ItqTkSy(YNSM;9hekH9d z0zZH`2ip#RYjScj3+C)wt4CU{GdJFW%J}^G^G2|RD8PFFImO1uo5B;PE=+pB;~-NC zxRcfwa!XpE>T~SM2_PY@@a}OE$V))-kdFoGRFE0#L70vNN&f~!9^kI6p!iZ{#c$ev zV+k7hd{kCJMJ4#tr%wvX%JFa~Ev>D${UCk26_-x^S$5}k7HI|?KlNnnq#-Fh`-wo# zqsE~uCC2AGV%F1lKL_qT%KDW^%ArX(XVlgYYYxeLV<`;9QA3+Ns(4p*oPHHmAz}Kj zk%V ^~ot{5rKr1fkQP84t=yQhK^F1Vlt7ZT)$}fWjaVf;=2*RrS-~%XmOk z!!)ih_NJrqGjP992!i10iNn WF7?qO+c52svt)GSLyg5qo_vo&6kbHlY?@V$$|Gs z0CUj>kw{Mjs-l%&zt#f~Ndfs-8x f7K1(wH+_kZ{O7uQ$PlkRZY@~S zYor;0EwrF@^>ud~( fGHMO}uAGxUpVgES~P+XfoyliTjf2*MYw9 z5AE&kG-B>Wunxu#ISqV$4W=ZsD=D*(hnO+GqALkUjvk$`mjbjze?Qb-DWeGDH@G_Z zMpKDkZfRD}0oz1)c~oRgPhM+5KBsBIP@hgD6ryBSv%icD(sfxtPMXEyp%4_u^!A`A zAtzYWt-w`O+uzwsLUVtg)%}BKHMF$Spd5O~WX(O}TKkT@PU<$Wtr8$_`Ne$tbS+gQ zzcI~a_S@MBT>+?p9H*x@Cp?D2WBN#=6sIE4y0NjbW8kBMs+KBe(exu!NyItd0zI!D zqQ>xvo=p%$?g5Vgt?+@aF8u_{D3pHW-Q72?hWxfxkrgB{ojGEs6ftMl^sI@Ld~~YS zgTXCRhX2QP(lbG|hVRmwIUNn}%XC}Ljv2kP`uvQhXK}dT`&q}4xTEpJ6w%?)r%!j{ zoP%1UxA$~(s6qMC8de2gvYH)ifOC+!3mqn|BvT{;vo;0h>9cHW2rAhPZz|(YfA96l zQF=-vtetW^ltZhijX{k+PZVPP A6RPZmtXm560$n8j+ zDN5CeOkG?>`jQ?aaR0zuYb_1S`l63al0FJ@a<4&$Gq#Kf49w{*yFf`V*lb v+ zoZF4{EA=Ed-2#wM*Xy{dZ*QMnyfVg?n7L>IB|!R4`@f+g50H6z-5oM#XbTt ^+1G2MlZ#GsP3SVSNk_ >;&c|Z1HRkrab0EhUh z6+!-Ki#eoyskio68 )rwsq zN1(vim2W$-Y-XAFeK%qcNr{OK;7m#cF9WNQY$J$*+{TT}6WxW%s;a8yG^(fCJk|*w zqo72+0{aD2VxpjucW?Nut&c%nID2kqYI1t98pwPOt03QLf%nY>+?&$UFOh))C~LCE z<_6Ra9aj6?c1Fl%1g0JSl{V&&NnU3jS-F~ e4(wd@O zZ({fzi^>lKCj{iBiSbziRbd&09oztsn+HlNU~jt(3(2Ra&@apC`!!8Ko`{j5;N9)9 zx&C({*`ZH2s5N7veFSg&&4XHrj4#rGu%2)GLE^OshYQ9Jik-|D$kUBr#h6%MC#8ER zLJYt&RDzGdq(m# @Gio3+03l*tF?TmICcjNyI0&z_+r($3u0!wBy;XJDZD zHHiiOb3Vm)D!zo@r(!%7;hHNWdu&s>MDy|u0!P7}66e8^d6kBBtVflQ!M#rF%(F)G z*2-*G)_OhoCX=wupi0$u+mTL(Mu6gZkX}#$h8d~Y$YF+i#!)zar5i#WL>xj#wy8b% zw=Mu005GHM>RJRP_0~a~L{Ja2v$MgGY;xr~j>ityQe0G|5v1u5f=Dh%dKDB8p!63H z>0anu4@iP(P_KcdP3Q?41(b{|T{RCn;XAh$F_K8`+<5`z?L+`iF6V|o_gjaWXs(y$ z!s r{;QR;pB8qM1qcSFQPzF-D9F;u1qEs-89RX85xJZtC95EU<(90c zf*Mq#dCQN%sc)N0@E|-$q2wgmwcs^MPD!}~!}Z+9M+sI8=!Vf?$CHNTuJ8Rljb^xZ z9U>qd-gVu*1XfTs_y8a!cG?4b4;Aw$X1dh_rkx(QMNNPM;>aM *l;w%Jh+-l-P#j+Fk^!oZe)11L}^(iH&z?{Q=qg(v`Kig&S~`__bTRmc(K y`dx0~e %MOtOj=a9@6-9V3&$M99zSFbldC$Li*g!6RwRJIDwVAcX-0@s(RO-JZ-iHi7 zV7QR!3f7OY5|5mmToj;B$#&Rp@jre%KsE=#_4%ewo&Z}Xm5Lg^PNm+>yqb$9{<0<7 zmf&jkc`>F-Wq aoCGcfkUBA_%s@AxcEo5p?8dvv5vG-}8|F5% z4H7kHFpZQvh1KslJpZLE^WTB>U4aD`wC=jU?1qTsM1540XZ_s^>tdns@x0H+V1Pn9 zC-1(MPzMR}*A^oq6Zwp42QV+-CncnqoH>6!QCdP^D&1UBz52b(B4b6kK2`R&nP&{R zTY}gB *jFOJ#8Gr9!2i;hqmSbL-Y6!4p; zs9waZtQ`7}xAC=%QVd?`XWTSWYIk2JYF80SV umy%+z!V}<6|RkJWk zN`W99g1ggH$=+poc^Qo70ToBFX^(S0q`l6L0E $S~%*ICkpf5q01-v>nDJK41U0obU9XK=#nh)QVc_*kCE$JIb zAlhdUlb{4dI31; 39qVZ(Rl`Z_ z)l)wWRSy?vxC~y%h^^aI_<>oD7q>&l_Nzg%a5FFa-ez)zr3tQ;oG~`sSme@jr1nVK zYv&c0)+?!b8xkUJgUKuF%Q*YxS9|w4J`Ss4!SpJ*#ePu_uP+vVquLUSdO|w%0H`8v z4I1Pv{+)JmfVB|c^rRFWIae|m2qyHO3;bj0w7q^vpt B+}sIt z0wNfBS_FpQMuT(#eH6q%^{u+Cz9n^$7*FwHhE7@NI2U{)KpcmB=5B{hb67rLc_~2d zlXb9$HM);8E#XrOIxPyNK~uEWyr!88QZ(uum?@?rcBQVWfCtnt+__wi6| YYISdp-Kab?_p}kgm)=nMhRq&sFd1ab{tDk*V$DQN z|7D`*V?kx2V75XKEY$gVJEV^x=?rd)`~F8V;M$$TX@}|zr{|1BWX0B|CH#j|b8>RN z;WM#ZVHF@x4CM7Fg+bjq2|S|4#>NXSyL)MOiSPy9T};c$YAy~(R+l=pOGKxA`}T!u zSk8s342wF?4zLoe$C?w_wOmdT -$&&`yG`690<+ z2AEH7?7R^`3M4_*P*j=i63^{+2y@c_Tq56}xiiQ`IGp!jG|gB6e1!?P_fGE!?cG?& z1!?g^x-?KaNS)kJorNwLQ&^b@tI{9gajXpl!=x$D9`pxD+dbp%j{r5x= 6oi9tk;@_H46K*E1zyBTfolr8D;{g2~d}&dr8B* z{X^`xOFxi-_xW+Qn8?0{j$W9Bd7x`w8hWrjX+^V@tc!68316)l!J?P|n*&@3o#rrF zS-KSzE^ciZI%=5@9>W->@|d>rPfAbwZof(Hw);^;BHT3_u;MgXkSAtOW&%G1Iq1UK zv+ OQlge{EH3b5(%rRoE;yw&cL*W4U*A3U&|%pVq9nEAMa zl7Hw6g*$KR+=pw+L&eFDP}~RhzTo(jv|ish%*D!DZhfaTg8F1cow`N-jc5s1S=9=o z3B&&KmkSFM4ISA(Gx5kRh|u$koKu8kb!uW~Qk(}tK%qEwcC01UoAj01V=}-h7l$IB zT0nSs8ek2f1QkeUfFJF9oQFfC7o{LGAt4GG+Z W@!``U>5BLBw%Fvru|$F *eU0z4>!zkHb;LC?cbC@}5>_{aY~ z;e+#>K}EjWY5eh(& KUj98OES>gH8iH@I|2wdBc)gmd?%bh0+{+gsuwY*HazP<% z#_f`6>qXep6^3yTRP{1wtGm4H@u`b@M0aD x*_?IfH8 zO6z2Itp`6|%hEsctAe6pi%CW%L~>AMk}@*tFIQWcexMn?l>I5}F63^*DIq6*LSQg~ zosUl$Y$AKxZI%3T%-Y{W(-*=iDJDu%!(D- -T zB7k!dMWO{RVD1%jI-(LvdFGE5N&!JL_{>0QvS@JP?flX2*2Ea ;zFZ zwyHEPFHuVw+X%Mgv-3MBh5MZ9pmZ*|)YF))@O17K!1oQ25^oa2&}Ee U)#mFZ=dlauO)U)PQEZ6Q^-aRmx2NV4JcjcE1MJV@j%$d$m{6n_ C5KSq-?LcoCBQ!0LDGo z;6OQ<(h12xU(NwcfOYSq6=<$=aG17;o3CPW16tk!MP4j#JbA>fxe6GwqQ0?pt$@6; zLmOPq+)IC%Oyck*2+B0PEEA&6X_OL#WdXC7;Z>OP &VuDr0cMc)h7#|t7N_;&Gi@w$8_2r Djnx7|#xI zD;6Lvo2Y1U`+Wfg*{-D}CtSi_qS{Z9D$*3%mdUt@W69|jSGrQbWyrqZ`c_HB^zlIm zThQUklk-Z~N!e7ZwRe5e(ZLNM+Z8UZ><3?-N2V^+f$&d<_Xfxqc0f6${FJ~kQ=g_x z-HMLYTe7kQ$W5)x0kt(X=5vQ?pkS9Xg8Jze3X*2lx47Wl3L3h7Ii$A|#!`80^7YiW zLE47;!w~=E+S=Ny;fBV1wYmP?iz79al_r^dIGTu5sJEat&;}{NX0EdssK8|C;&~v- zzwVr9J!$w>r?(6&70|GC4*L8o@ua|f3{ELUC91huLGmsjy-qVLLTE}#3TxSJuNAsn zsu&pBMX*Snh;xIsw*}(D9#X!4jDYPB_iEX09ttT2*B79+Y$Z$*tT~|p%Sn-PU&da& zp25H;&-fxr??y!ReE|GfQPfbf(vlu}prPw+U!BBscE*!ymNK9}^h=(ODn6=Kp!5@Y zjdX-=RvjYi%iz2J@u7j&VW@(CD63_W3QR~zsSbA}z4zv5gq2P=0hxdWG!n3Yc5Vyc zIgrXTkK=hU`q$0_ID;BgQxT~fgP{*Splr75RZWe)05pJ@cjnaeR6v(kmU$=ds&K0F zHGhBqMboDSJX*PVd3jV4<9>ceD%Rq`Jy8HGVw|jU->%dsolcwDsNmJTU-qq3NBOH? zfizKJkC A~{YGFo~gsZI(bs?1d{J->ockS}qc?O3KQRG1@y9r+T$ZmTN4> zv2!@hHvTMUtEt7iy^5vC6I)$f{feM`T2y)K!?w^xfeFJZg!SG75a}}&6Ijd^4_P!q zLZ{#H(XwXCZ;T>NIR3xnOWFBeCnx|^ZE=yqZQDPV2EbAp@M8Kkr(kRSM~`msq$Ydl zX#~q@wY%!*&v%fK?MH?u^3o#bIj9RJz)mm%7GS{h`(^V_TP{4*?f&aWgj$08mzN#> z@=@nsrwaV {liO#oVBvptBIsz{HP3Ct3Xb z5$9`$(hxNM-bH#KDl5uG-^?}^K&DK`NeyJ)CG4WsxIg)!OhqR-e_(JhL|RDN!C~R5 zhwSfbkde{HOYSOyu9uDs9Zx{(HAz&6b0S?Ayt&DOe-nr;;6Q+`b2=#~0JYCY;vO0P z^Jz_OP}w~ZIRwqG1^O8cmFN|~3Kc{kzNzTHoXicidub>{U!3Gd T~0u3fvJe%So=HB-%nKc6IPvlQX& ztEsALf~Y*+lZ2FO_vI>WUR4tllWJ+9JFpkRymYjn`l19~;K9j!!6#+B8r5iRDYPv6 z>l<2$eFb-IcmJ~h__MHPAK5Snnw2m~J*sOTCP57&;zdsiMMfzsT>R z1sNHg8r(h}Fz_G=OBxp2RP~!j-PO>6oe>nI?XD_GZyx}ZVji_TqaIb%Yi`R&u9)!s zt!2R|D~NT{(7w!p>o|7oSerSd)94zIG&{Ro+7P*hm)W80$HC?MkEr^wl%Tt#2T9I= z2vFZN^LgMtaxl(Qrj0R}0??A|N_SC@K;up}s!vFUdDaZih1>w?3k!zs8sxB9eGA?( z@YL3@uC}=Fx4|d`1P3R8St~^GpP8YEVxXNy=KF$?_ulj1o`qu=z;FR;v%Lx_oZuf( z;UH{kK0+-IKq&WhNUf^kwIKoDSK>(qV^n7NyLapuC?LD~FI$1ng5F#Z>9rHzLu$T9 z{%Z&YVF*RQ8=v*y%f5GR3+)DPYTnv9LM2JMk^+{kB6MD!9bN+*kf=2*G- bKYIkm z)6fwLAW@Be+Rv!~@kiC%8|q8wyaIn2K@1>Fp8_zwn9L4*Ln(oNklX}ZatlTIr74G6 z_nCpe&NypnQMi!Hu+}aBI+; $}X6%I+;GTjBQ1!U3m*LtVo)H0hggaax |6{|qmlk)+)QeIIJrU*r+rp>jwO}i!6 zBC
x&S8<{-vf}zM{{0r^j!% `X|=Y?Sy~~ z^lh?!+3^NQuwF`ryNXN>IBRkQ!MzCCjr_80kdf6Ft*l^? sogW$^RUi6KOd5w(Z34yMxPp|5xFH?7#M=KSLGv-MB+! zR#rQI*=*_Kii>+@w0~c(9{QX;7BjOqIvY^C!lAM1Ex+`^g9jnj%L5ApKTkF5?{`P; zK&Jv7+5?A;D2>Iu3i@fv-iJ)tAb5diLptMkc>8!d!?ITt9^2mOYiFj*4l+6$=oE&^ zHxzY${m@;5It%=TUi9S|)CMLF$3p!3Rap9<0blZ_L`NyjUsC$Vp>JgbYqAMYN4?-b zXA#wN{kshEf9-Uk|Ara*|I&Fz|BY|_Wxrn73GGEGGW_3nqVq~12pD8Pp`cF!tC!o- zcQ4qm0K4dp0c3+SFAQe3&8)6N%0SiIKcNt6pn+9`ew`Ca;Nem|NasL9Lo=|rimdiv z0!xgF>i^O7Z;=$M_p$JP>2?(4p?(4hx*lqc?}0C1 |!6!mE%S96 ryz z25jRm`g0-_zsjewvg1dOGC^A!+Ast{nDoOkbW>1v2V*~M{lUf6 z8rF$xA3Jv=M~IEBE$rtwsJ2{3CnmrVAjsT>1^}9n6(P=}PGv}Mj>w^l_`y4mjpcWZ z{(M40>JTgg>V}(8ha>yc0VO99n}J)neIHNX{Cy%--~DIa-u^V3PxeG6qNBUEdJXP? z1B1TNKbLEJ4+9_hl&r_fJqR>osOSwTGy!_}v^j#RDENE@hEBj+M}34Q>ygzAnZFQx z0F#vN }M!U60ENvI4($oS|uVfjxo(0A4q8eua>F1#mTY zS@3=5sDA{t?LVi5g|%qj^xf|Sz{~~e-KGHA{9+)d3t%%R+HsPQB%0uu0~pch=H}+e zRH0Vr?q<$zv~_^^4-lfVww5=UEVAk(92Nq5J ETn{xLcvo?zFi;!;ga@7)Wsv)eV(FLx-v+Y4iCWx zH*Ul8q@uLc!ipB72G)1oRpjh~% Mf7NDy=AjVsMyAPZ=1&@GSQ08hh7Bu2@ z|CL|(*zbsJ=f`kzS`8%EB+yIN0aRT|jw#o9ZE9k|4ehVEq$+SW-vcJBdXZ +2A9{$AWjYHm*> zsJAiT-yH=6*91)^>XN?w=(5n92B0n+Ujn^;g6?Zq;Lr_r-~gg&V0FBetd!aaP|_^- zH^%6@KbpDC5{jRwA^|ORW9c62$*QSv4v!XenQVOrI@l&f^uCf+C^Qi$@w^77Jf&lY zlG2_|t=9VLp|t|g?i|99DqY6KwaH=S1Q1RR0wMD#7|-7@LomR++?KHX?ilPwWD7%X z3V;d7vkOrbn%qX q@Z25$WqVW#0aw2 uD1d9S+0uQE zR;cgSxfo=9_s3puvxF0BY6XcGQRKpoM0r)4z zpHdvmNGyq%kE=})8w!3|Pz(VVod>Qe!g=T D?DLnlUjIaX^h4x@MO@Q(>AT_@jbSxO8={GbU;&Wi1l=54c>}JC}hl9jG zWELr!17;HqHJPd&zTb0CF6Dc`$ph&57&x7qe%k;0AcJjgSiZBVJdgP0n}~?11fmg$ z1g&rcML yOZ-GBR@8%6E0Y?n{BJdq23;#9j{QAM#F|yDilKC04^3D3jHo9=emS} zkc0V9)^}gYh{nvLlYBn~wDLwP`^gB7GDBC1DU`$fwodr~kKPobv;a}A!XXvSvx8Mz z2M2*now-PY^V&?n# CuiRaOg_;f$tI(Y0Q?V4mo*@ zTdoGGNHln 1D`6P1`~r+znki4X4w=h5=wQUE_QoO5BhSWCj @?`aHOPhtg^n%-k#+PrTiRU!d102ti2(HEL1KKCRyZjriE`k19v($l_!(XfJ-rL4 z>(8QS=4RsMhZGEf8>lA>SU<=iU{*B@%4LO6g-&}wr%3|O(zI_;+&X!u=GAG5d9dq2 zA3g@rTzfcwOK9w8gnpQI;q>XNK(`jM^vOc0q4DzT*IN@k_|B9L%YVy|q^}G`-QNJy z!ITZmIPG!VW+#Bm9zKF&=P-@vkOJt~=Tn8Vn$BTv%gD5X$B7x!QDC3k%ztMV{G7&9 zQ}E4%y=ULvPgh^ab(4a$bQW_PP6hx;abiyaoWY?}S0&^$eZSj%b;7|7s_&xUlE5IE z1fpSD$p%(Zwj0Xq$ZzbYw`lTDh=GGz$+%Gm4y3{$aOXl)sWwTpo}3mxbqZR!7L(RN zYSV6MZbmM0u$6m3A6GOaFF0!{tq~5H)17=!(wRGe!X#9-MJy+wRUjKnGC_z9lIB9f zUW6}!@u#CRyOw7M5!6QN+s}Lq#!Zlz&^cdfID?mvV$o;eFKE+%@=z}HTXESsC5Y@a zWSDa>sebd|*CIj&;|aU GJLZO>!8h$|y zAv=IqC>lYC2Lv<^5#1Ob&@Tp=mnUC_K|+AaBEU-7&7}%4Bv1mzMWGlOkk6bsV+S_M z3s ?Uo&qe&}}#ZvDD_Ib9KSRNRG55O~^}3xfj#=T4t4 z)#?S>k0jm185Pj-9;pez8br;W2ALBOW0k=dKS6?SJ9Rh>(kAQj%M+Kc!TA}P1W(_1 z9-vO4mvkPXBO1UTT$^%}vbklr?;to8);tVOllAq%DZL}p`5M55;gsI +u`g;7E9TtKml!3{R5^qBkFj3kn$S3qlospC9&^2&AOWkw!c@bDq}w&iy= z`TFYg3M4f&BSH(t`EZ5=%A-JjKKD3+$OQo(oh%zt6I*WOINeu@dSJ(2Zvr|S?>GJ* z m_daz(a)I^O`HDas?h#*B2MMZ3&h)TzxbT}YQK@cpEL !YX;ZOvm z7$Rt-DRAh;p!B9R>31#=H2?Sg?|1(@#vS91aT&hjH3H{6=Xv&Cd#$ A={F2X!If99mVJx z@{lC|KX~1>8W|E_TWiw^mYgX(O^Atu^WM?!enKZYw~Cqvpz4P4>jNm!%F~!zEviB( zm_RDD#kZ31bQpHwCjS{Rja&K~f@i!EoH*fd7UnMK5L*7ubO)SJS^JPgVb$MLHzQj~ zc#Zn>aB@om(;FBW{V7X~2@6+X<}IbsfgxI6s4}r`eA@cq{{p0nh|K~Y?vg K0MF>H9l?K_aNFpn$k%v#H=OpGj%??rvJ z ue)M@EpG1zKU%p%pql3E)u#ABt%=6a5@y1te=wWirQ( *Q{o!GLvPEOrRxxne*gV<1F=HkZ|_#tb!-ii zEFnY^y@^%v4!@*^GJX5lur({}S8&R1o-)T%D#pS>vdG$xlmOE1@#j-D_iANP>km@J z-ym6qE1}vUZHakxN k$UBe)Td$lmA3cKkRt zFr=8Tj&R$|0>bFBl(gaKo_Va^v7^?Ey&7IvreK2^Sfzd;aFWSTZ=LB!m`66lXlBb+ zxfKK#AWu>^6ZdRY!G*^~?>UfDwMZj1gB|<6p}|LO_VW}SVL3$v+Q>xXykG|%1t)uf zj)J|Wfx#nU%$jF6OTqHn@V@_#-i=oW(?we^-D?Q&tux=1rW;e&xvo3S_xqOQ`D){* zfe|%oaZeF-4b;9zOlc{4>`6g@wcmul;XKM}Ua_CA2pNM;M8Pi~{*kG9u+gO_Ostx@ zKK=G^Z#!Dgp9(Tq5!Q9P&NIX)bPYzx&!~I|3YRxz8yh`cn+LdAkQ(s@LHKGvL+!U) z1|J$5?f0*!()z_xvsWb?L3|<)fYb6bPA=mV+Z=)p2_Mv!xqtcT3AyH&UD*s`$#9BoL&Tb8ILS3 z`yV!Gg#z8nJz`M))Jp$WKL_{2|BC8 0}k{^vUws+6AG4gnFG$w>9C(^??oj; zewNq>Ku(AmNz8>%*2$ryC}ltxEIF^pMD(EV0N#qTP{&dL%&5@Ey`{Ebo1laRQ~NRa zerwU6v&zeJdWPIV25-?;AJdVA q8ul;gul6YryLMPPqL+5;D6>kj$jPoTu^SbAx3!-DAid-BG%VK!(;HWu7T e7qED?Z3|oSoqFXJULEl-Jk@axlMtCj z ^?G5#n6KY@%L5MZ&u-y|(s`k=jGm9DCFqtRw}M{OjpA)7v5*fqb? z$HymZ$%f-bh=mTYU4>k$x# FlWcmnwE<7CYby(Wv(jzxrgiJy z!1?JIw5V8$MmB|oWr+T^7osBc=a+ 9(xx2<@D4N*xFc6|l9(>1S2V*@Gu6O+U{ePdwl1l3 z`y8#ozy;rT^R?AVsBn*&o16QN6@U(Pfz>&Yw--`ViJ@`l)~yh{nxmM)FT@({YXy{v ztVO!zGRR!y0#1C zjzG;-;>IXeQ(M{3Z=-~pyK_dZl`sK>$Xy&q0HxlA1;Pv`fOmQ?gB32ji<`er?kJ1R zawg!tG8(kE_O8 (Z=Fmed8St~Le$-BO#8p})O4|7k|>7JH9J0B48JfwXmI z)~*JXm;<}Ggf(?^EObM_-T~GC>T^Xe2 jEki>>^ZDo=oR4~9-mY2}Z_ zEaG}#Yf1MB><{fWH3mF-cIbS3g=S#&$ax*j?@V@pNMv%hT~puL{`|H8ZpXusBQq|J z(ZMEmdWbL%P;r69ZQ(g9_0%x5x5|5GL;|x_dQN&DF_0!mwbyS}&PbYLn^!TYUB%-J z@K$obISyHZ3G^K+TQ&5Zk`nirnYB6ReG$SI-l4on<4kV^>u%kSXS3X0@7^7??D%+& zpg^KJ1(QiNl+7Kp*H={5ua^oHClZ5%M9HGhASg$?sGt7 suKnI zGF_mV^@@vztUc~F1UwXwwTu6JdEQlTh4O97RYM(G9pZb>n;)_sdJ-C17QL`wxC0AH zpwCZZXwK;NwHW4rvqs?NCiS@8s00Tg(ToJ@@zanmj{Ev#lS84V-{lSq5)rfye#+(} zn>zL#FK7d0=nB8HdiH`J`%ZK%kkR ~D7#7E0-er2Op-!)WS3~-oal7I)^EY=5 zoAr!3yG>d`N3Oj6y}-Du-!)-I|2A%0-H0IZbLZY;;jz>o%X-(oz^UjXrte0Ah>>CM z9ly+8eQaT^7d~fOsr^J#SKgkIf2mMFBw*lH4Cf4xuKSG%Guz|#oja@1f+wDX!JXn| zdiNFn)JWSaOo*e~ibMzQ#0Qa$GH9 ^)NQ>k2E%zBU=kPtjA z`>xRH)d{j%=J>306P63q#j4A+NLRzO4MotkG;LN~9F=@{PzMpM`bJ_ejWt}#_b9I7 zkDt|@DkUeU4HS^*`s|<2@wLoa^i!)f&xLBuxo!%*gWGTF{5es_Xme1WS~PRk4Yr^E zIEmjJ`RJ(}2hBF7)TulXo^3sru#j_Ju&3&{!A;zh56k{2Z)uh$2lh6KQ>(bZHa&`B zO+aCm=kgsj&eeYGe2LEvvu0UB%;V8-a$uiXY{MKZ+K5#~{9v(Mv%W8Bc(HSQ10Wxk z-9`M+A=@uh%+Rfs?s1@dpkl!5?k7%V$Tn<9s~dTyHOHR^-;wBV#YuVQo_c|1*R$y0 z85fsYTU#&T<4dizW@uInJqxpXsdpf>v2 m4`#Z=B?qE8a9(XwSen8 z#51D#=19OOWgbsv!e4WLn|HZkz92mN(da6CWX*kCOUsN&r1ol T( zdh%I!d~j`TVRSu~lXJSSz)tzd3qL@W!|nf=?f3n&n3xzP7k*S{pqJ#>1$*~{ {gX-*FLp#MK3bwW5PG@9t$ykP74+#D}fUJGghJ?Y&h>JUl0U{A5 zTb;wG>d0KVZk=(4 yfQ-;WE0Cb%Rxw1FLpg;$czp99(4e))2U z%AbAiK8PMuU;oej7Qc{TVj@AA-FPqDiN^|UDNb&FqoqkmHi#}If|hBpg1b)%H@X@~ z9?4$=)$j@>LQ_#x@K-vd)r?iH{RIq6B0v6fbBN(`camB2f5X7eR9B|*<%hH2hQ*s2 zGeyZ F>Uiq!x!95vV_jPd8|4MspIxDlW z&Iv}iJ>Z`;k!2W?#|4VoIPZa?q3jd*;2#Y87wT};^ X z$|zdwe5a#(jZD~J>GUSf2+Mvnz)Fc>K}r3UuWYE-vUM({un013K8Viv%Et1%moIPP zd4NF(hrn{|7LNWIoR(cP-BXV nX}3>rzon_|HWK09LsHS)Y94} z2$tNegc+7k=Pc>an0 |d9{Th`N_fQMv`vFqLh!*Va`)vdjI~G~FaS2~{em0F za0(3k^M0OO=`IRUxNq_+VsxWrEAi<*bPte&-GY*;H)-}fpLiyJj* G6jnf?#xML@hsbUDSK=HETh&=DBiIyAinLd+%y ztxcsnc{nF0)G*>VE}Z@HLrdAdME!nFM$>oyEq4#)ko*Guk?)K^J^jW^av#tP@bpXH z$&JSp_=$R7E 7k`4ADa<3(IhY84 z2-k??bL=M9yVMNw_l3Vd_k#1Xc1#8qVS2jGw<8H%6xJdq!t{l#$47)PXiyMn=B24Y zgZS>ojR(=-1j`H(8yCTBdWc`XxFZ4U!McK>q1ZXKI2?ZZ8two8V!Zn&9L;%icVXvF zPA2^CsJ4aryWwJj)1uvud~PE+D & z1Loh^;(tJzU;sdLC&UbLOf^VQfLaE7AGSLW5DWKtf!~jbKtef*I??@Ol5_v*b&w!_ zoz(m72N7AwBy6d$#sfqh-x7w*qN$D17KlUS$wy|eyyBPM6q(7XtCz2oJ1@JcuKkF0 z*LJYVV0gDL^&WUSKB;XBadN<$g?LEf;(31 m{4xiTJwNoVApj2WwR<{3C zwdXO7(}bb`v_kad)T__*gu0YM)Zy6#D3@F>kEy5xiKKttg%B6tx*WbSz`5~< M8=G2G6dlMUMoL4uwpBO1}WGZ~^@R_U6w9ntp1-&XAre=dM z&x@z_EwqxDtWyYCQ`;a+0P;EpWWZHI3#260NpS< c*0?|NGOpGpV<=l#B#mx?#sObaUZc7=bjD^dSkL@#C;zr6}~Y zmMT+f0v(sk`$>L O zSj!M2^vNj5PmehUPzjR{N}{w=g B-#Ysa1bl{iSCgzc@p(0zmcPH-EM zkuHw)Urf?y>>kL~wp(lc`Td5dr@N4sk>PrL>w27(c|QWqB2WGo3~p6qeg?n0aq$3o zTG|Ybk$rBdBZi@E*u44e8$0UZ!!Cpn$kdJ$j1AdC{%khDI!*8`GD|ZVo81U{MQr6{ zre*mQADMZgA3p~&&YOT7N#MLBOek-25n8hb{wqE&KpzLnP)z(XlGF(q7l$4h9I73Q z0?Y~b2s$vys2vlbND&_v6tv>K1e7+)jp5>LoSEhf-s#<0|XDR2cR^llFASh^5|8GbVrlE;Fw{9 zQHd=y83v~l!lVtXg1l2zaaq0SM7N;-Qc8BNaAqLmvH#9~(b{_QadGp>ZLXW&QB4My zI03;ZKH!Cz*Iw!cW;6cLG}=B9eRgeda0y%l!WzEdCHjl0JvR#&DM{deI==h>VdTsD zkNdm;n)IM=ZS>DyzhdE?K&KNdoJbHW94kRbP^@+8_b*?Tc5j$(p|v%q%puCog0t z*wViK{*mO- QMLjEB+ z1PY)@&I@}mUU2LoI6ZidN^eok!glIsizt8(2fQfVT2Ev4Xv*AIH*7BQ!X|1ogc^1t zppQw|m;aZ14#{2n8SqA+mg0T4$>lJhyO9GJ>6Ua4a8p@U-Ym?@%e^&u#LKUlGvVo; z8UnhF=C~2gvszr@BV>A5^M&hx8@&{a{NmU*?)9yfx()mXjCGA6kRCkhvWUb(_c!lB zT}s}z;5$Uq5St_DG!$%Dy?PG_xoD!@5)z(p^BV*&4)m#dBN3(l>cM9)DMobv9hj%1 z!{HznIw$KuB>{m!GQ3aoUy8q MT!F>sPkLnGs~ zX!1-% gWUcBhe!|Kbiv7FyNXRlj-j2(ed0D ztpmD4PSl@l^tW&8rNIlJ3FNUgv3$mP*9c3S9N~wafGMnw)m8V@J)=Ux`|DQYt|^4d zPRV-;)ohMsn$C cSIioVaULToMl$?}Vaf%bfF(pP+0apM%&1*HCu_cYvq@ zMbIxl4ecr|ESauD=5JrVGEbe!^%fI$OPw=k4mA&`e@Z=uajQsET(%5cL)-1pQO5yn zAy#z*qmRJ{jkj$*o|@Bv7FYs^)j8=diQn)iGEc1n_W>`se%(5;a5E~Hv9Ga(`9F|g za)LLqS_$z18SVN_o9yD}EydsBwvPKgPd6v6&X+HjtZX8l^$#sD8m)xvbiWtTUV!tK zrCm^X0;@c)0N{l}M@x*8zbu@|ss*_dL2|T%5B7sv6kdY}~$r&b8~;Z@+%Q#7y+@ zubz!yR*{6`qw@gFEpfL*!H$9x-3AO&Ma3`E;H}>S9{vF@5H?mr#)f6310&M7q(g@e zsbM+}@mFXNBU$|rHiP3_nMPElA;>#4qw9H>cX|!*PxM8J@B%Nbdvqv)x~@hmRDZ0A z7kL eHZ2|G9BKrkO?x84c|>U3 zMhWqeOmisAj1S<&0KfQq7ZJ+H&8rlH3 zq*|M;#v-yxh*c#(so87Tkr>b!Q9K6nA5Nv4X4y+p`K8UUu*UV0Y`AMWK^ z6lx~u9i6jpV@^!GUAqQ`LmPq8;9>5{p32)9(9gpZ>j@s&{TD~|3u=f{Q#L_=A_5FK z6jOhn2t1Ovgor j)TY- zfT&7@zd3}_p;*2u=!qDpJqFc7=T>JR8kUqo8i&Wl#kIA|{=-ieWveshMGh5LC748R z|15Jg<#=Stcqv^daI(8S09 2&GGSyW2aUe?b%r(3XU} z5Vte*!Gqmi$1o`g6}_S_e8EW4ZO7EpyLbhK$` }d0+zwO;;9F>+ZxLD%ak3T&f=$N&kCHKxcnSYGd&gTC-Du$w{wO3}=`<$IuElOX1 zuvKpyxDZf!e&nC0^Xvr+4E?a#{Io|t;asB`+knIKqjbck-9(ZooysW$pAZ^!3oXwB zs!>`7i8@J!)Y8M=#lEJRC=*~!ykzlWsZ O= zM`_Mo^w0qZKEX`coWP`X)b&U8^+N`#C2w}h)PF{aCghn@-`0U1+D1G%6OefTj$?5X zn<%eS$?zgjQ{aPn&W*O4qY}hw$~&tjU>e0;KzKDYHA~9T>uv>gxR8FMG&-%%N7yV6 z)CPQeU=ZGAtgETV*|Glq{-o;FU2Un`=N_^_NN6|mb*gY#;RW!PN2{OOqiro)*JGxN zeBq)#y%;EAXizP}pL5A$cNT)YVNr}1+P8SX-Hl8%n1O<99g{hS)CDp)(V=;B=TZcN z4b)*Tn(U5xPJ9MLG&C|s{h=&;Z)g=}pnrzynyezmB~Y0v f9T{DG!v&iUKd z7~Tn(c1)hH(IloOJYX kn|^-p{QT}j9oa@}vv$_;{S5#tcPO%ls(c%@wM*IO#@-G3`udK~ z0>^~7*jm=(sEo}CHGGY%cU2ijKCFMW?L=c*r&7?|nvOxgoS(In4O6W|Fthonrel!d zqsM_frZbtCx|Q$9-;`{(eH9#`&bQ^awk{6+t!z+0uxY4jFaXOI8})OwLcNS^baIME z?SSBTu;)}2-EhveLj@qyGByeun~yJk*np}BSSuC)vYzVIN;FUa_Yg(hW4I)0KCLV( zGfFqa-5UHLa?!Yw3CbH$*|pDqxa0i19C;rFiiQRQZO8V6M7@ l~~MkqT85C{%!>tQ8k8;yQy+r(W4>EvTwXXESJw4Y3hg$wwn2 zBfa$hJ`o}!Cnr~D$dl8yEgDgj93L=AE ;uYxLyKb&=Xy|di9Gqdt+o*#Kd2G#qikOx_pQB>#Z7yB?vCoW7)R0+pnRM z+8}{UrU*UE;ehat0DJXI*7eq>=k#13#jALakm3rwo|<-+A>8N;9VM@i{2 w@!OSZpla(6^@oicmd)esB~OGB}D`I#1w9m_Ms*@94LhIT-aCP7)M0 z8q-lr4M;u--!EDCvA1tfgXq%agMG#t-l!OL9Zl@^M~~KT*%F_#zJbQBfKmL68*l|0 zYbB%#Q+kUdcG~Ed{JicZrGWg$A^Cw6z{nzh;d^+oh>fK}nuc63(HXYD8!0WpUXZAy z6a=SArA;_|1~?R0S;iI?lKtAMs^}u bHoj`V8s(8|3&87^*3}rSVCDcYJ)- zLk^JY=5hN99JFNCjv09CCkZ)v`J&|WjThf!ayz-+LN?2ZFqs36b8J( zb|w$UsA{| kRLwg{N@Y}n$f^9sf=NVtHA>udgA2U3$3J?B# z^$lm!ghq^mEUK4QM+2eULs`4D?7Tk;i(GwCXXinggtPY7JAFpCJ!bb>Kof}G(`7p? zHz==sN-;2}E~X$!jTs%ShId5%Mjcy%%wRss229hz-;gut?}R$p7z>%?_ux~;+cdw; z+D iWT&6Dj=Q-N94bJ+4S+;620of`hTn2s>P%1uN+)$jNWbH!bgwmTdv`_ za~T3!( rhN~iH%Vr(eLH!?CmJS;TsKi^{0Iq1Xh=ww-F4UPS+j#@{at2% zF|Y_HhxIetzq|F$K?Dg&ZoF9L@)!Jvb)%xyumxxWfb)qR@R-5fF;8-hdH&P`i=SXo z!;NGr2rzYl ^A!eJHk4Gk>8$%*?sDoF>mN z&HTH~r=pB!A5T$_MpAl263^P)Hct}!uuOd_pmC{q^kYYXQ#B-qJX<_?#P_0wYoIF{ z@FpOCXy44Aag;eX-ZZ{HZOAfs@ZF5LF`l;xFYw3^DKJK3k)%kzZmGe+&!x@eudjQ3 zV_h*MaQ6krZVKH@*U@d=QXhA$zZO-h`+WD+>kyxg-?un+7wieuxn1rXCO(D~%~xb7 z-iD{mhS{F++1c4y$9sDBLh-?~vAs59N8Of~%L&KNpsuJb&Ta|&rESya`8NF3SGS;Y zR|82@xR7UG!owp^O#P!YwC|)Ls8(|Z$*JQ2rZ|q&2%5IOp>&KhH37*m1;}Zh?fxYX z4C7O~kC%={7Af!nPE@&EJ2>c&@ta;a4&jV-!H%zI&-1_IpQhd@vF!Sjzi${93=R4n z#uy$*n t`%$5mb|6PE{RoN;Zk>dk| z9%-)lNebymF3fix#7YqsZTnT+Y|dZ2p~#;|41#&m_sZ`gQ~>L$ )8TkTsaT 8%!D^??9t>)j4pU0e!AfGYu2GR7oG;*?>L#!ij{0$+F<$a34al@zju&V zHInb5-^$namlxHs+3bowJ-_nv02op6+KmxWy `J#0f4R%*9wpx(BS{B9kX1|SHnvu)SaRz1Y$1QMZhj+hFHz(9aQ z?bd>hZDLPaeMT{pGp5=xsj~eCAB#4F`Q q;OlWStzjbs)rpz7di&4?t$*AyXNXvNvzoCPN z4wVotpT46|ToZ|hU{d$crmb5``<%vAiJ89_mY1I|Q;%?QojYfam85{`E|?KjHk)Bs zE)P-x90vIf9L7v0*f0~dP*Vu(>$2P)Pdq(_haWPV!z)*=G+{FB?KpOR4>?F-p^6hw z)cmOJ-2)fU5++F=E4=pe_friZ2G<%G~+$ fMeCX=t7Xv@*T+uq*Z(k9fh%X0Vb-L#)bufokQ zRoB*W@45Fl^~HmxqECD^rK0^wk}@>YhBqzV`L27QxS|3!H9rZ+*t{&SX5xB8bH7&n zq8H}x&3w%}MSWl}M0bDvF6ccA|K&HL@GsjCu0`K`I{f05>jJWgMdeb9sVfK(w2fqc zISn_$gaa904n3967q%nik@21N03Qo25$rVUsjjfgDli|g_>>^v$&Yg8ljP{6dDS;> zF0{3=kxF%d8`u8v;c7HL1wZf#cG !2SkY>pEPVWd=gPsU-yF|%WF^<`k34Hl-i+(=)oO{XQJepOMj~vCB2@0iE z$L6)@V}dX4pC<{_DF2bg1RK6G5qT?ON|y6sdyJJM3GdCDbxF{q^;lf~P(z9rY-qo{ z$(Ls^28~Y6eC9@8A|!1E2Jsl|H-et1&y_a{jyJjh_|rsA12kB~@nQ^WNTf;9zK8a% zZS8gN*G`kfC}~^({E8LP=gjZOnlL<3&fKqy@ego|0}v%WWq$)n%Fe9KbtBM%KY;eJ zHE(O}F`P@I{TIhhpiVFt1ALU%QcTkKK&QU@?IX{RYie#ts;oBel7SB$ebNtSrBet0 z^4@zMYRdd5L7tKX*GK0ht1ga>q=oICf=(Ht=iJU@4$-V%8pPOx21-k?yWm?S@^A)u z&u{ma8H_Pnema*|Pyky0<{T~@sx()dm8^(I=k9;$JX}c<_rC`P%B2$z7owOWc6N!< z*&oi{FWRO$^Xq`kp4ym+E+25Een&o|ndZuP>eHiGzIX5bgy)Q2C9e1(TtW*P-`yC_@?EciPC6JY{5Ldf;&J zImQWRbMot;vxft>f$WZlDy$y&mt@CDc3D}|B&3hmw7kL$Upfx@)-a>!AGbBEC4u z?vTXb)=Z1KQTaU{GJ4O3tiUT*uIL>4@b%8 %mW9m4b&n}X=!Uarl{yH^aP3GFjEO( z@Pw&p_<%!98pgO|_dv0H1U_OcM|t>(u%p)n-sp8jHRZ4U2oeqG&y474_JQ_P*@}{( z()8;MdoI3ldJVqe)ah7@acY=qH|RO`c|qFP=#bX~YG#sgi%>K4yCpFB>p}KWQM1Dv zZkIn|5^A`cKq!9KTB8B;$YoL;&!7>AtEs?dW4*5G2kkOXa@B4fsDjGx1_myV`R-|K z?3=_s(W$q08O4+C#Q2yXNJyh=D>0eSFO`2Wav+ZIQ;r)@SHab}ipT}
w-??oZ(@!&=mzI||e|?}?@-NZ-cHc8M z#;knv4Gg0!uQCMcUkZtPvl*ugg=e^+wVDau^zh(D`xOiCZTXb+(jy4i4dV7bk@AlCsUc>qJQb5=WaYm)>P+!e gnWHr1(aU^I6=% zQnTSHhS4&uy>CkNmgth#*pV$|QwTj{nGWX~$*+NdF+%_ZW=-_0ahDX|rfE8gz#Z zS25~db`4x0=WWSZhj5+k7bn>cnRRpLkJ#Uc{Fw24>cVivv|iy1L`{V6zWaxN>fT%m zWwBIo;^XtbU2*jp4lK*X^N(j%zIj9XKUf-lKXo517stoPhek#UH?3q^g7+oWg6+GQ zmv{fyiOff6YHA@GTp}U+a96TacJH3?Zfg9p;*ov(enDC0mp6XTvaTQb%1iQyLZwI8 zqPt@6)GuWHYhLqzzBB&^=kUL8>Ho)mQE_#h9NMhC;BTVamH&0MgP66Kc8je4jS&g! zhJ)05rS6Cj`NYr|7Eo&2_`{G}7(tafi0M54v`uq~<^rD C5~JRiG< }>7q!X7@{ #}} z*m#UV$UBMZG%mAzLmG85Z$xx0f)~sa$`8qo3bI8wH *ItW8ap+#Km~bZNZ2Vfp!of#im#rBzEm(B)iJH@{+WUQ*TBYcyDs z*zJ^Ss;b_yNNtx)gY=Y;V<9CBM)V;6eWkY$phglCN@wsfTsjcG%FS5lLn05zE3b;g zp^?>LEs6`vh -kh1eZC2H$x4X yWg({eN^M~>M-g9Zu zC&AaRS8xi~RVP~;X3njE$b#C2UN&H-f#kB^3-lq|uDYE$O{1_KtLBVD5(By`(P>z% zp`iU7M=}aB4qn-1RVW&TxTg+4Fa5OB>@a|`6%qWzo;@#O=A=&qHqmWYFt_irguSay zb5ql2lNryb8HlMGQRMWCWEo{x5k$hFplq}vvGNk4L3YIP5>moK4F=~#z_B?4URB5D ziXLK#$#uht=(MSQl(i;E8m*lc^L0Y1Q`C7>h53BD&-tO|#9;B(6Umj|HyTQnF3q3d zDIwviJ*j{ty-hp#X=Qt2FP~GK)|%Gy{2jcEoH)u{p()Qd@CDLJ7RC7u(d0Wx)>+P# zvD-$RbhVrZJ`iMvlAb;(*)Eyt4poTB*?uXK(tURA+Eq-4B np=pPw%vZ!o2|G%y8r!DF^<568$j1s`E6eOT6_Al`QX zDj%BrS0ew;irNFVeH8Tu;fK5QIxljRN66M$(P(yo1TE+G43Epi%*;m89-i4{+p|J7 zxEIGoO_+!@NFmX1dyX|9J2RE-#DiZpNaQPpw}Sb8W#uHN^jJ^IYld9)-(WgtFb4PL zbb88gp%^Bqu}zMEz0}wI+ao1t=Cg4ZCMbPcF+rl3P(NH5nmFas2f^AZ1 zILP-kxo0s7L60IF~a#h=A>-$SJNdEMZxB 1sEBG% z>9O%$KPLJHZ$S^hm=WfEQ_c+h|6m@|IfQ(Kvo-peO|PY?6AdkB5VDiiN}%n;*N#pm zFUvwfJg1lq^n3VGYr6%sp+zJ$Cv#;CDO%v*5_c+#^VMcrG}eGv+7ra`|DL_;#&5ch zarg_CeuUv1X6AfsjgF2+nG%=KdjdsVl4`I6;%Bd*f1^4;c_sLrB_!DAEMto1i`|re zCu12g7nJ7?PGukhC=_imH5|?GLtf;Y2LUmj#VdY$%u*z@iYO!{$Ue~gL8q=IeW;_= z%KS1GXSG9Xq|E5&`jWSA|G;5IV=FU0zYrk~sD~{4j;TvXQ)0+770Dg9fXo9Lv;620 zCMA{GZIf%xlcrPT;lmdfl<|FCzR8<1T_VV(pFDohTQV=|?Te>=$O&!RJJwrw*84pw zmzJ|;Ue1$8wd~-xzua50oX6zx x5=bA_YY{MZ=8l*VAl8fs4Z*aTt=5GpL*6 z>UUBi0wI5dJ_Is@+{Dg~o(4ZOWJ73#6krCgo~-4gDj1lQC@{&>V$coQ3Mx$W{`fVh zgpkBtVM&KZ+ vXz}{ z0x#@(%D3B{Ti`8DkCKXt^-9#}djfXPge#uXTUgTDU^aL-(oc{RDp-b|#cDHCVPn#r z=6V5)0-A(_%tJ_t1k<^l{eZ5a+A)SXhs?nHTdS4$wptX!fcoe3vHpy)G^oa=E4`(? zNCv^tvT4$5CLgcI6|8vx70tH2AgtjY46h#56PwluY@xCzH}2R2P9L{&Z+3EOW(rE; zoS;6-k!p4DOM#q_ezomW5o*w_^I6Z^?d)ZptYdm?Jn}^amaRuid dQ3f3ve zKg>!Zl3`9vQj+hx$ET>-Q3_6!c%}cv3oO&pO~|P#Dk8Rze%2SSl6Z#l>S*b)zkx$h zsfdkHQCXP)o=oM*aXT!bbvWOl5zM#P@xOi++9>= z9(~00psN|}YZ+f5rR{+QTH=#(F_(9G@*JIDESiqITX0bYEOoNl9>GpXym}RtBhhwy z(KCGlcJsy0S<8FCs;x-$e6Dvajx)@Nh`wMYN8muP_OF7aI*b~6VmO)+w@27z37hk) zD|P^f$+#)K5K}8aWy%<71UepebGp-B@F)O%8I@~x@-*@{U6?k >*f6a z)Yrqh$*k2^+S#8&=VxZAl+Kq zP0C6vbLaBN+L`rt>-D`wt=t2ILyK6G= -PxE~ay---Jj~8wW z_BlGHV*lrM{^N@A@Q-b16nA?1_PX1-ZlG$K;s(oD*13R_1EnytkHR{>;EGa8$13Xk z7I+&R!RDkTMU8U$X{4Q_peG=tDtYw)-fo3M6stW1JDpHFgpv(PgT!Ei=fyfC+c;Jv z?{SM}Z 60Ln^fewbQ#?#GF3 zmidOvae)5|-cy|3#RSR=1|8Ra*P9?+;mh;tAt#BTxjI=OebI}Ln`s_C3@rfu97oHL z2HEggJavVL#qBAQbsU02<`7QUamz(ueH!DQdp!^@*hYM95U=Y>^O z5%8O%!i#Po*kyx;U!qvfZv;VtvCYCF;WzxjW#{7C>wGvEBjStE6F5G@XV({cs(dF` z_ToH(h@>wIiuzqx{pcI|<_SeufgQ$FF|xu$0e1OYM=B?;yLSo0Ps6C%|MI=FSf6w* z *8Q;Ja4(;%8DnVx-Q?ov_O|zUqwYA$7B3Z*?H68ZQlcfX0BZ!qRb6}{yvlQo< zpEkpT@fBKT^z8rll_}2t_Dxnp93LDUOv*jHoX5g%fAMbs!C{zGF6+y|zjLafWH6*6 z=#G*99MTxpyv#+U#BO4P@Dz^DDQ6Y774_%wcR07m);b(~1+FhvSO{8 W`Z`)(=)356;VUOKeYNB3d(0Lo%U$+vgEST&MPzJhT2&8FKfw* zXCOtnzk@H^`mf&c3P!I<7DlV_7ss42@%(l9%(~gcfUq$IJ%v=Rpn_CXRDktjmcD7j z25auI{lrUv7Xaxy3{NDXVBqFE$-Q@3WE5jFrg@c{L2kY!bfp$@U ?>{0#Y+vJPKo5=t_MGy7K*Hm%t;2-{G(MY`GoB@!{9u+4oZ ze;QwG^0maf0L{MGFwm(1&-4lzo4Bm{2O4K^D2p(lGdB?ocMvkb#wfp}8&X~W(c65w z7^r{foHv0zE?Nm%%i{Qvi6F^k4;&CppAyhqJLvVUPV_+_MBEH&8K}+vdDGt_)IxcL z3qhX$9tXJ^{4XNUZUxm2(Z>P%suzh$;czbccomme;M$OaBieuDu-uJ{Sk1(5g{|ng z`!UGFW+krKRy;J9=fI}q-CL_|Zl! zF4}MiFXW_2**5O|>YVK`7|pGpA1^XfsuQdraQs%(edKlGY>eeC{p-B&;<`a X{1jVgFLMwbS4Cs^cqQMdF* z?u!M8)jP2pO9uJ*`cFZL;IsM6Z=n5+I9pur=PRu|r;M?M10#!?&PAG^9oAajaSr)9 zS)HcWK24w7bzxRY^zr=qnC*(L0SWT80^=)y{~C@*By9j*(sOp97f7SFX)-r9i%hEP zsWtzZ9XQ?Y8$K3@D>mqV`a12kJbmz*CZ^mXCTCPO8##(^M;1%x&ye`$&ABbgs|w=| zuaN^S@b#KuO)zVa?wS?#!rU{fp>c-KTYGS$ Goi<1k^ zfEI?Gs>7_Q`ta}7zC+rWv_!O_DC-q~tSQE08s~oTs)UYITozU{>QuQJYs_@{k-FsD z5;0G*s!jaQGa<^_IVM2RAAy!e^UUGrs)7zs>2#JnDf9@)3u zZ!G(v+W$2K={Pj$d^w}>$fhIjBm8h$V17?CMNsXHFFkeA`cS2to{^kf-lwBrQkqi1 zHf_G(vA9m1HR?CMUq!V9ww+U 9BUcsknSZWN?KRc-WNBl7+j5%t$3KJU~SFnNbA?>?j >AUcQR8+Wm`d~M(v~Ri2Wslqe zAy!}0ot6XgStt|lw>z -S^i7c)GY+*WF> zO|B%(jahmY+#=-az3^Q^TkQZ=hVu?Sj2u{cR_1YPN4R|Bcl(&0kHME4&YD?oSe}v| z*XzlfGV~1I900~DqRzl-Khsg- tZkc5cju{cxyQFb!EZw;O?dZr*UR@d5hVP8g^CMzPAh^D#QWIUHM({oJ=n}Qn zDKNc +wifhc#vN1=Ky)FVa?6L2jzcd6F>Wcwp bdBir8?al9isAb<5uSHS}Ev?`ad?S=fsT-8ywx4~0k;@Vw8 z$Z12=h|>3g3+Xz_OR7pgy0+D3=%S6DnAj1f6nTCBYhYVGcYO1MHmP)-+Xxqx6WZF^ zp2018O`Rj8b_6?9!g=_dHLrpCBj#ws)(qq0x5L6O#qCh7^H?VKN6yWn&@L=}yTif) zFUb}dk %KZB!fFf$G*xRaApMwlWDG-;%!HoSu=Z1LPBRHvo(`9It4 z$zM9ZjU01uP$8w54l8MJt&B5D)XEQZO|;Qm^yiE}i)E%S#%W5S!|?B(yDX;1_QDFZ z4`KE!IUQ3lj%8$?@IuC7e&+&V_}JqZ*_4#?`>k8zbqR`&-)Hwq6mFiTs-J;Wfa9@I z$EMw^me=vmtF<3zRY#xDIsd|Mu#7j8S9O-Bpj^fABPJ2aCTZYvswb9`mJ!b^w-mpb zSO*X}FkXNLeB#Z}b6~fhKiQcSYtaF?%e>Ov+MJE!9{MO_V%_vcg@ql32DW_=fuTZY zc}D<7Z)Y`J !-?21nCb?i@IDU-eUL{ w-0w#V>~j}*3?+YW`iV2`-{ul(K_RYjVD*w9_lu2%SyJ0PU$;S zl?Aq&W|Qf&6L+8dZHOM)&uhUy*}bt*@CO4X>xfy>ZrUBF-P@0UGW%ndrbO95OU~ zyi4KNt1dOO|3~JMt{VTSGLm2fklf5K5o1{g4n?V}SFVJjpHx0Gb0vgAs4d9e-(TAa zqVli3u8)r=-J= Gxvr>`~MNm;+d@ z`0d+&+GGqw_lPt2_Yi++{Ht!?uj5mGj-vL*DN<6dw0p)$2mt;^=8_`OsYq@JK*HI5 z_DPV1P)NeDM+qp~S-XBdtS&C`uLTg7?&U>Yahy}_=>Ms+{D0I2b-oHuUvvi6%F0%L z)1lOxJ=-L62!xK4G=B_D@(B}o;wVrOMLam*9e&I?GWFJxm6lvv hFyjNb z*}-qnVzFcLwlWwVay#doV^UuaODYA(#JJ3suvugv_(NoU0+48qAU4PCd-obIII1iw z0Zj9-!7#Pj0)mpp!j&RK6xjmUi-i{7wz>fkbUi-hui79h>sZFwHuZLyZ(yw1Z=W&b zPd4&$fEfW~m%usg5hYy2e8F3i$R8oZ3B9W#4E7B&jY>99S-;mX*Lx+nHJGScR)ImE zVIbL*SGc8s+ksOC+l(_MzZ;!4e;TE2%0dR17_{tj80H%lfdS_El4}xAVoac~xL|V4 zhxZj3AEXJUAhVRy_eObi4p zhNf5X1%L2lpxACyVYn}X1rdPIrt9MQh0q0mb=t`kV*;zg4H*A~WZ^sBQ-vjtj7`%` z@&qObhL}I;y^%~~-~rgvZ0a8ncZ%ASaQ ;*yg3f9qd B{xzNMIEb*^GYC0btH*rOG5`DfDc@j=WO(ygwTj zHqk&JNZ7npc` bd|?+t?)+39ql=&sRZpTy&q)X}TW)ML4&W-tB#>ej0FQ{ stw47NXm DP4cGFsp zPVj)kH7%0&z{F4mkN`?sTLKUPn|M87Ua03o1bjn%GO%;=yu}nCwaBlY@dC)T`OfHs zPg{T-q2n)dFk-x4^~sdA`O*qg71OqYI=fW!k_65Pu9&88_cC5SKJz6pu2MTh%KTgt zf^lTVU17C^-L^v?betSlo?Uj&TEnz%pE{a+H5bR6G8(H0ODAR)4YK-5C#nmbw?EVL ziW6=lnM8!)`m{6?&BQj?t@`oD#qe4nBn;rA*8_0Ab962d)NAnJ$s#RY)fIe2Kk;b> zB{ Zb%)ycaES!AN@QkRaH_Zisl2FFi9N?U7{f(`lo=!$UG-GFA z%`nr|$;seMx*$Sc0O?hB?+yhhNp9URL>5v)S-Vr$z4Vo|xg}C^q;Sc7;nuQ#XmkP; zf+`vlz}2Z=a4c)@o+w*$_0|SI3+bD9%&^h%HDzmrYuzZYK0d19X&iK2rSg1R_R`!Z z!8e?EInFBIc|CbC492K%C`WWoee9vMVW3(xQ`74Kto(JUDLgjXIkw;Hux$GlnqkyX z_Wbn0BrO 5-mmnPFmlvK2OYk(32LL52sF!Yv|Nf *>LHs3@TE&|*dC5nuQhVRZPj-8(tF$cYL)PHB9 z5{!qVtw%~RLtMw*hf-d2!`n-{aP9cqmF#A W$&+G=$?E8I+a!0RtLrY_hJQgIG<(!jS{!_d$WE<`i^zT=Z0Lmx@Tck(V}ii(DE zbkbZE 8;;4c7Gtsym!U{U-9x2eDI+C{3=LxNqEuvtel2iqj1va8q_3hJX |;cerHDLsf|K^s8wC|0$5nz|*^NS^-RR*`_l(Q1s&x z2ccFBhG87_gE4D2%6i$fm*5xS4d|jWdhI#5;H3A3kS_LTH9*LkuNj9&5QI;ha_{HY z1f sv}^7!gj#$dS3{s!1)Ec@{rl{iE1m)X>3ddynH zusl6U6u irnH`KK^HK`!g{I@09T 0hEkhQ=J5%HiZpi4WI9r|^Gh9aEOmMy{Dh^!EYuU*4m{}1nsA+-H~ zqQDpXJLLvLR33aH(8$n#DnhHquUc|y5q+y_n7ng!v*DKWRkE;4Utb^C9!(s9gWl{* zpc|m3B-S&~o(oBndB020oQHqTV{m#d>Y4l}#*FEv;Crs9Utm1>+VU~LcQRMtV^99e z^Id2~Onv=l&A|UFT*be{e&`BV=>K4O;E=emOsAl~puHPwiVwkHfO(e>F5h9p`Zu?& zvu$O@u3QsRDj9P)@Gx+gE&bpG*;yihwg5~eO9d9uf2k{n5*hZLjcuGRLF4t*Aupl- z#6DzL&H!r-O@wvZwpEpvFmtprQ!o58_PG8>k9$J4Hg-m@bfc`fr6a`ir4*FqdT&G3 z5rnS03r7cRT0)g>{nT7=ag;?Vs^M0~j3p?5zI^G*>Hg}Hv?B6lpG>rgYr8EoLMKfF zp(&*;?zK%_CWm2CGw78Bqu;rI{|TIxWK!L)5S`J>hDKhcdW2!NsRA8$OE)$RjZAl2 z^>t&WJAi>G*TAlu@1}ZKdJjxKywKwWnGI6P;Y6J0m}9XAy* ca(do{7)9StG=K5ilKfK&cde=;EA_MwFch<4xS@u@ zn8?%#2`G0uXql|#fQdNqCM97ZOCv;J zhx2&E)w;TaOe 4 VshTSGjHOQ%r&f1**yZx~E*9_ok zB-bB`T=IDDXVZh78(%Mek c!2UNQwL<^2Ma zM?_l(c=aQ4>V`MAIwYg=*}5TeLDCp#XP8rIk0EeRO$Wc2(#G6yM7}tj{VGnRRa&}K zItqgA{vqwu%@y$^Mpq&H-Dt6uz HC~3cIq>d-7nXFBkLHPMR^9IBiJ4Tw7%~e%$FgA0Sj{a{A zcQ%|DOsj3de4Rq{BF%=Vg|DlU46|?|ZfPc2w3j#}Q3;1NLvzfm2b;0CpZBSQGF3|5 z%gmw_W&MNp{}*|09!}-@z7Nx++J^StwKJ6ljVkOihh}M(%yWuZhQvZ-Xj1K>(xi~) z$(>DH==}Gc1xaEtX^|EZ*}HwLjnA_xQZW@4xpr-u~FfPAqFZ&;8u@b)DBa@N(#Z zgs&Z P#1is+`eO(zg*y#tU7Ws~~MI5bH)$<`-U!tf7Wo(4fX?5UzIygOFxM zpj;J+5B0I5+3ADq^xW9&@34&rWdm3QQ3$aqfjpAng{nBH{lXoZiVhR2yfATTh9{Iv zFPJ`vDiyN9;A4cC*bQqR3U(-T%9*jiAfP+MIsd#Q;Kls*PBKc C*`m&_dsPFqgPJx%H#Phqx-%!9G-=WHItADk`arg&BVI zFqa+HZVLS&7InB) dZ}uOX bNLDv#IRz+v$M}PFMPm>*B#Gi7*{?~h@Kpyeu{H^Q-n+S ze$5UBGxkFKky1r@>s8{f#2i!VrgPr>A*wRA*k`aaY^QJhDNhEDTdU8}zjqn-m%L@P z7#FzFV!%$a44x=)dGEtI(yc?8m$ABRd&D9Nd@~idn?C^0+WQ7N5L0MQJ>ZdeCn~HR z1vWNH_T#t9oYU@>lb9TIF$1Uu0`EYbu?Eb_GHCql>cQ`P0utcXP-Ptu5E>*-u7jKj zid^wHm*$;xH>7>OpI-Lt(;r^F$+e}#jzpnCUWAn9WuG1hIQdq)cW?4Fgh!BpHx4oS zDF9t*k~Sb9(ASY#?4ub->EHAoz>t<1+LuF#lZ1}~yzU08p5Cc8MjiC4K$^IExCcw1 z8;`Ng*H5phaZ2m(cWerEt2r-8d^lwoedIB|0>Ry6QVZ(o_A(qyc|Hmu5#_s)wvq%R zRic^>Q_~0PC5X9;Zm#8Cu)~2g9m+8WFQ55t{dA%W5-PWhQa^k8-A0PxjM%xTs!7JO z4L1=Au$`#eZEb9bn~hv9J|=v#thCO6^9*azd*m9ie!g&!g~XS8ckhyN-BAV0DReF0 zdS-cL3{K_0*KVDANN({VS`v9JhCbyJ2hW(@Fe*R5Ld&ijWo%Q0qzo7}MSPW8yghXG z9=9`=D#qhmu+ pPl6$ 8Yu95J Maj0$E_Di=m=sb!QjOl!z zR9vhUN!vUISL2M2g4YL*V#?u!tm8SUdv`6Cnpj@qA??4aW@1jMPB+8k!uup8si4C* zKjFBN^$CE1jOy}}b`B0@I3edSb*>rS*PO|ZnaN|FxAF=K{a%hD#Tz9M_uAm`INK`1 zOl;we0TiG1(dn2|SFr~bKVQ_o6V*O*?nTZv%(+P aCrB`g~6LSS1Drq8AdFa zU7$ZHCeuT =j5ZR$y-%p z=)ZKcz7W3xQ75s@m*~6}Teu>A+l50*_SxIR|9H| lX+X?k1DfH=Qf}iBNV+0b5dZ%L*_}QEWA^gMxxgxAWCXY;doFtS)S@>puBl z)&8|FuLAt$w)qPdxFu)5puHYByW!yIl9w*dbt3B!eUQ=BbH!;XE^(f%sgz}9pJm6; zmyrspDfG{6imQphiiPy-&UI}trZC98544?*7*YojQOdmvd}!b(@uM7!@1 uHT ;(HWpl^23rNu<4|rlzbx z?>|+4Q-UONg6^EDdwN5LVs1Sjj4oOf-7@q%t%imd&}h0;?7h%MVeq+HX5hYDfy!HET#xg=mEq^grciy}RZ +tqt07kEO-(%_^VJ?+QoFl7lgG0TiG=V1bE17cCW713~ju?oB| zmw=3 EZd=mA?u!g*RsyL?&DkO?bnU;{Cbd&gFz~Stv zQ(C|ki77@t^MuKCE=^4UE`TLKiXmKP0Jf@8vHeFS23A4XNNpskh5!6>E^r45?WW{% zI6M-KpIm8h1nJ==X@X7 8@qek=~N}?3NQlPQlOD&h0vJR-%}%#wR+nQV&wRa*U0c zl{WXUUfQJl3tladPUPiJx@q`RIIpp3yH4zeOAPeb@crYo3jT9*S0)>h$7-h>axltY z21@i|RaI8SA^l FHrWv z?pg4kbCvIY10`qZ)}!~HJySA2Y$d}2L7z5-w0>5*a`M2s4I5g}w3bK=e&K^UdeIUD zXC245V~R0r>*i{lpSTxLvAejqEJVw2^JY$U?U#|lYE|N3r}~gK@v^`!Zf^~g40Wxv zA;JcYX)&>B23b=V!{))h^7Lz#Gy+9~RI%h6%tVWSl!b3h5$BL_Bm?uLM@U-