From bb407008965896480fd2e412e01577a7a0fb009c Mon Sep 17 00:00:00 2001 From: Jeff Peng Date: Tue, 3 Nov 2026 07:06:29 +0800 Subject: [PATCH 1/2] fix: isolate native webhook jobs from HTTP scopes and reconcile recovery --- docs/alert_automation_plugin.md | 13 ++++ .../files/agent-documentation.tar.gz | Bin 53269 -> 53538 bytes .../extensions/alert-automation/core.ts | 35 ++++++++--- .../tests/alert-automation.test.mjs | 59 +++++++++++++++++- 4 files changed, 97 insertions(+), 10 deletions(-) diff --git a/docs/alert_automation_plugin.md b/docs/alert_automation_plugin.md index a25f830..9b60339 100644 --- a/docs/alert_automation_plugin.md +++ b/docs/alert_automation_plugin.md @@ -182,6 +182,19 @@ JSON/body limits and full-batch intake are enforced before acknowledgement. Repeated deliveries share the same incident key. `both` mode can reconcile source state through polling while using webhook events for prompt intake. +The authenticated HTTP handler validates and persists the batch, then wakes +work under the context owned by the native service lifecycle. It does not run +the Agent under the inbound HTTP client's Gateway scopes, and it does not grant +that client `operator.write`. This separation is required for native subagent +dispatch from a plugin-authenticated Webhook route. + +In Webhook-only mode, source recovery also clears the confirmed imported alert +from the Mosaic UI. The service retries that reconciliation on its maintenance +timer without fetching Alertmanager. A newer unresolved occurrence with the +same fingerprint prevents an older recovery from clearing its UI entry. +`pollSeconds` still controls periodic queue/recovery maintenance in this mode; +new Webhooks wake the service immediately and do not wait for a source poll. + ## Task state, report integrity and shutdown The queue uses fingerprint **and** alert start time, matching the legacy worker. diff --git a/helm/mosaic-stack/files/agent-documentation.tar.gz b/helm/mosaic-stack/files/agent-documentation.tar.gz index 284573e04b0690bbd0372eaac4937fa8e0bb8811..e6d0f3f5eae3dc01bf771d1010bcc0d91a0a23b5 100644 GIT binary patch delta 52776 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 diff --git a/helm/mosaic-stack/files/openclaw-seed/extensions/alert-automation/core.ts b/helm/mosaic-stack/files/openclaw-seed/extensions/alert-automation/core.ts index ab1df76..9899dfa 100644 --- a/helm/mosaic-stack/files/openclaw-seed/extensions/alert-automation/core.ts +++ b/helm/mosaic-stack/files/openclaw-seed/extensions/alert-automation/core.ts @@ -2,6 +2,7 @@ // SPDX-License-Identifier: Apache-2.0 import { createHash } from "node:crypto"; +import { AsyncResource } from "node:async_hooks"; import { mkdirSync, readFileSync, @@ -598,6 +599,9 @@ export class AlertService { timer: ReturnType | undefined; polling = false; processing: Promise | undefined; + // Created by the native service lifecycle, before any inbound HTTP request. + // Background work must retain service ownership rather than a webhook caller's scopes. + workContext = new AsyncResource("mosaic-alert-automation-service"); logger: { info: (text: string) => void; error: (text: string) => void }; constructor( config: Config, @@ -630,20 +634,24 @@ export class AlertService { } start() { if (this.timer) return; - const tick = () => { + this.timer = setInterval(() => this.wake(), this.config.pollSeconds * 1000); + this.timer.unref(); + this.wake(); + } + wake() { + if (this.controller.signal.aborted) return; + this.workContext.runInAsyncScope(() => { void this.tick().catch((error) => this.logger.error(`alert-automation tick: ${error.name}`), ); - }; - this.timer = setInterval(tick, this.config.pollSeconds * 1000); - this.timer.unref(); - tick(); + }); } async tick() { if (this.polling || this.controller.signal.aborted) return; this.polling = true; try { if (this.config.sourceMode !== "webhook") await this.poll(); + else await this.reconcileResolvedUi(); this.kick(); } finally { this.polling = false; @@ -681,12 +689,24 @@ export class AlertService { at: now(), selected: selected.length, }); + await this.reconcileResolvedUi(new Set(matching.map((a) => a.fingerprint))); + } + async reconcileResolvedUi(presentFingerprints?: Set) { + const config = this.config; + const present = + presentFingerprints ?? + new Set( + this.store + .rows() + .filter((row) => !row.resolved_at) + .map((row) => row.fingerprint), + ); if (config.mosaicUrl) for (const row of this.store.rows()) { if ( !row.resolved_at || row.ui_cleared_at || - matching.some((a) => a.fingerprint === row.fingerprint) + present.has(row.fingerprint) ) continue; if ( @@ -749,7 +769,7 @@ export class AlertService { ), { at: now(), payload: body }, ); - this.kick(); + this.wake(); return { accepted: selected.length }; } kick() { @@ -1024,6 +1044,7 @@ export class AlertService { this.controller.abort(); if (this.timer) clearInterval(this.timer); this.timer = undefined; + this.workContext.emitDestroy(); // Native Agent runs may outlive shutdown. No new investigation or send is permitted afterwards. if (this.processing) void this.processing.finally(() => this.store.close()); else this.store.close(); diff --git a/helm/mosaic-stack/tests/alert-automation.test.mjs b/helm/mosaic-stack/tests/alert-automation.test.mjs index 107fe19..24dad80 100644 --- a/helm/mosaic-stack/tests/alert-automation.test.mjs +++ b/helm/mosaic-stack/tests/alert-automation.test.mjs @@ -2,8 +2,9 @@ // SPDX-License-Identifier: Apache-2.0 import assert from "node:assert/strict"; +import { AsyncLocalStorage } from "node:async_hooks"; import { execFileSync } from "node:child_process"; -import { mkdtempSync, readFileSync, rmSync, writeFileSync } from "node:fs"; +import { existsSync, mkdtempSync, readFileSync, rmSync, writeFileSync } from "node:fs"; import http from "node:http"; import { tmpdir } from "node:os"; import { join } from "node:path"; @@ -605,9 +606,10 @@ test("HTTP transport records complete responses but never follows a credential-b ); }); -test("native plugin enforces webhook auth and restores full context on multiple turns and service restart", async (t) => { +test("native plugin owns webhook jobs independently of HTTP scope and restores report context", async (t) => { const root = directory(t), token = "unit-test-webhook-bearer-token-only"; + const requestScope = new AsyncLocalStorage(); const previous = process.env.MOSAIC_ALERT_WEBHOOK_TOKEN; process.env.MOSAIC_ALERT_WEBHOOK_TOKEN = token; t.after(() => { @@ -642,6 +644,8 @@ test("native plugin enforces webhook auth and restores full context on multiple runtime: { subagent: { async run(p) { + if (requestScope.getStore()?.httpClient) + throw new Error("missing scope: operator.write"); prompt = p.message; return { runId: "native" }; }, @@ -679,7 +683,9 @@ test("native plugin enforces webhook auth and restores full context on multiple lifecycle.start({ stateDir: root, config: api.config, logger }); t.after(() => lifecycle.stop()); const endpoint = await server(t, (req, res) => { - void route.handler(req, res); + requestScope.run({ httpClient: true, scopes: [] }, () => { + void route.handler(req, res); + }); }); const body = JSON.stringify({ alerts: [alert({ status: "firing" })] }); const response = await fetch(endpoint + route.path, { @@ -734,3 +740,50 @@ test("native plugin enforces webhook auth and restores full context on multiple await new Promise((resolve) => setTimeout(resolve, 30)); assert.equal(messages.length, 1); }); + +test("webhook-only recovery clears the imported UI alert without polling Alertmanager", async (t) => { + const root = directory(t); + let deleted = 0; + const ui = await server(t, (req, res) => { + if (req.method === "DELETE") { + deleted++; + assert.equal( + req.url, + "/api/alerts?id=alertmanager%3A1234567890abcdef", + ); + } + res.setHeader("content-type", "application/json"); + res.end(JSON.stringify({ success: true })); + }); + const env = { + MOSAIC_ALERT_WEBHOOK_TOKEN: "test-only-webhook-token-not-a-real-credential", + MOSAIC_UI_MACHINE_TOKEN: "test-only-ui-token", + }; + const cfg = normalizeConfig({ + sourceMode: "webhook", + mosaicUrl: ui, + delivery: { + channel: "slack", + target: "channel:C_TEST", + sessionKey: "agent:default:slack:channel:c_test", + }, + }, env); + const rt = runtime(); + const service = new AlertService(cfg, root, rt, logger, env); + t.after(() => service.stop()); + service.start(); + const source = alert({ status: "firing" }); + service.ingestWebhook({ alerts: [source] }); + const id = incidentKey(source); + for (let i = 0; i < 100 && service.store.get(id)?.state !== "sent"; i++) + await new Promise((resolve) => setTimeout(resolve, 5)); + assert.equal(service.store.get(id).state, "sent"); + service.ingestWebhook({ alerts: [{ ...source, status: "resolved" }] }); + for (let i = 0; i < 100 && !service.store.get(id)?.ui_cleared_at; i++) + await new Promise((resolve) => setTimeout(resolve, 5)); + assert.ok(service.store.get(id).resolved_at); + assert.ok(service.store.get(id).ui_cleared_at); + assert.equal(deleted, 1); + assert.deepEqual(rt.counters(), { runs: 1, sends: 1 }); + assert.equal(existsSync(join(root, "last-poll.json")), false); +}); From 85503b27164df30ba5d1969d884ff1ef83898926 Mon Sep 17 00:00:00 2001 From: Jeff Peng Date: Tue, 3 Nov 2026 07:59:15 +0800 Subject: [PATCH 2/2] fix: restore report context from durable state in agent hooks --- docs/alert_automation_plugin.md | 8 +++ .../files/agent-documentation.tar.gz | Bin 53538 -> 53713 bytes .../extensions/alert-automation/core.ts | 68 +++++++++++++----- .../extensions/alert-automation/plugin.ts | 59 +++++++++------ .../tests/alert-automation.test.mjs | 64 ++++++++++++++++- 5 files changed, 159 insertions(+), 40 deletions(-) diff --git a/docs/alert_automation_plugin.md b/docs/alert_automation_plugin.md index 9b60339..c9df858 100644 --- a/docs/alert_automation_plugin.md +++ b/docs/alert_automation_plugin.md @@ -197,6 +197,14 @@ new Webhooks wake the service immediately and do not wait for a source poll. ## Task state, report integrity and shutdown +The recipient prompt hook reads its report binding and integrity-checked full +report from the durable state directory. Agent hook registries can be created +without starting the Gateway service; follow-up context must not depend on a +service instance held in one plugin registration's memory. Each applied context +has a witness with the actual input prompt, receiving session, incident and full +report hash/context. If a native channel turn does not expose a run ID, the +witness has a separate generated identifier and a null native run ID. + The queue uses fingerprint **and** alert start time, matching the legacy worker. An alert firing again later is a new occurrence. Polling silence/inhibition does not imply resolution. Webhook `resolved` events and complete polling snapshots diff --git a/helm/mosaic-stack/files/agent-documentation.tar.gz b/helm/mosaic-stack/files/agent-documentation.tar.gz index e6d0f3f5eae3dc01bf771d1010bcc0d91a0a23b5..04ce464bae01034beff826ddde2a4b1be427530d 100644 GIT binary patch literal 53713 zcmV(wK{^Y$@QCmrJrxli?H)lUGnIn^cCnXPEcP-BEOxMiotFXjZC?kNoj=p)%e?Jh*z=u> znYl-hQr2y1wo`>lk`eCa=4Qvv^*iSr@9#c)z26=We)jwOw@UvuH#Ybu{cHSO+jzLP zX`kumkJcYN_*uOAvp>MUc{NK*dgRakasK-v-aUw)r~O$`UdM;itW0NlF{$F+^K3GU zqG#E3R9wf^H0$T-DE}@S;QAC_R`INe^T}ma&GPefmc{)Mtz}lmc~#A`Do!VZxSEw& zIv(YdEIuzTvvMN$5A}J4dtN(=zW5?Oq)RUI>?(?W8Nd6JH;1SD@9DSGi@c&iX}~!9 zmhQ;M^z?KTm)R&wtE?R#@lX1Dn3dV2pT+M^-X0wt9-k6fzrWk=_`mMO(=sngnK^Cz zXvB}Fr{A&)`s_Df9XvbOjeDbcMuX7DLmFtn>yuB;Wp=Y{Qsuo-CM%TpgEx$aWjfBT zit21_9~mwo?ev2 z{QSag7hO6Z9o(|IK42w$h&C9sBnuNQYO)m4Ym|)ki z&nNTgv?yovntr@|La#B%wxTGBkF#`;6qC_){N=odIn0QdaOtQ>2eKGOXcN$-Y+w=} zmBl!t3CxA`zRL0RJbj(b%Di92e?8Ce>ipe{G99LqG#;eYMXyLp8j|SL209td%W?co z(c`sCWbNqk(RGz$8;fyV^)Ir)e59K*D$d=uV1UCZh9U~pi6&#Z`#c*nElp0+W-AY&4=XRDgUdCC`z*%EC*xgI#aMMXw@`koNLXKD%zo z&Is{7#fjh3yI=GA(q{Dg8664i*SNs`B+R&mbPzEP?LZiXky=gJf^HyemJSa1%p?o*-+KGmQyUWkI&DzR!hSYukwiq>pI1JQhFDlfCqIKE7Y`7zlZ(?p36 zZ`F3I`+@%G&qiI@BEIDTu736E^%e*j?fGcCYOX^B(6TQ7>JygfG}aR7!1`u>5LTOa^!XqdeaC7ujrv z4^K#Sp;<=JDP2D(`g4|y%sZ+a5`fmcm#MrN6@8L-*TTT?fb%&WhDzux2MtaOx{LS* z38RdJ=u^6lpFL}i{{AlgS#^4P0R$^e>_FCzgbqDLk0Qy~^Q+6ZEfi%B_sC)BbkM26pN#D5Mj=Ph~e%a28E;uv29&xS--hhV2 z;UxY<3qG9_SCWC-@oB*iB~`|r)yrrfGSd?1C0p@3(CvswogZCHSaM)}=*qF@rueIB zpO3Q6toUkoeNsIC?z@L?kJr!3hxf4gIO?PLo#UX_iB}SYi~dv3h2P)B)w5#j^De*F zj(=6mMJA7`LYB5ai?54$X$lOzAlM9xZ`!rDRi@;oFBd9CLL*F)JVd}kSXRH&F<+C; zhs*cqd1W!GjiJOc8TZd>Iu{WQMp(+oYjXgDD(16*)foNt$2Q8B`DC!{sUPU`rH|dC z6G-Qv_8`na&Y9!>;aCg9;3&SWXu_mE4rh&Nx3Fqg&@HgKw+ZF92gXcjO}pK0kF=6V zS!tX=DpV;+FepuljagmxJMwul&*KMVHErQPxLu@f+yy-nIr6b5;Wgt6y0qha7e%3) z4sE0)y2?btjMEt@HkHr=y$G?@DEb&5xU1y%$pGpKe@~zAo`c9f(xpj~#I^s@XC^D@ zJ?Uy?@j}E!S?QPxQl;~Sgspqs^*^KnzSt`@&$}V-|y;nRnR)%n?XqoAps8Fa6^PZ5b2d|Q;fXk(m z+iB*Z|E{hMwKzVXRsXUyhoshmvi<2xHu$yF%SA7`NpE}NZNQkbg54bkucdVYUV1Wi{ z)(Ou76e!2B4XOMZnoIU=3ML>-P!wTSGz(T>No{?%OsL%?>XI0GLZ4){yOXS}GycHe z7JhWkS<=UQyWTfrcUSo8tn8=$?(ier{nAddEM{OiyFq?~E&Odbf*M`yZmQxxi;s(R zFixl9wGbzi@-v#@-pk!LFZN#@zTk(3f8phhM(JdtJ`gyVz&$=>1LuEv_adLYocGk3 z=C#XnVkGk(8|b2Yb;zJndP+P!B}`8px%-}24J@ehp7<7CK(T{kjtxgPBt#6p+dF)7 zdVKKo?dicAoqGL)doY8Z7b6nAOnmQf;9;uK_;48DhG+X{htJRG#%FK$PVJtP{9Jrw zCHqE#*^tRjI)%utch9oRY=q5-_p)*Z;~g44jel6?q|Lv-`)u#fhGY|kDV$8xe2}Vc z9vT=h?Vtnn#EvyX*DVBVxN26h&nty`ZW3FG#NAR(T*Mxb`sHoT<@a|-P@9puy>92Sq!5^5#Gx1%((iLN^Z?0U(u}UAn zc49eGOH`eCcon{bF>il;`HlCz8HiYVRxF6Sz`CZ z>+RL|cV8Xs?Y}wM$1<2*%l^E)93)d(=<7J01^k8Gw0i%Hco2P3@`A%{%Z%aOo5NEY z^Zi}>-r;kY<*s$%{w=?(j`o}bv|NP=VEDTe!~;*^AjJosq5B{Tbiw-;38* z*Eh|Hw0C$+oO}25;P4H}%H8MB4_+PYp6;Kt<6Uq^+yg%zd))`^I7xmP`6uZ?P7c^7 zKFs00l{22u+2)I*FXA^TI|P_ELpxb$Q!K&4ys=%rEb*6hW8;N-gZbo1)yAb`3mM># zsuh6>W@3C#^BIt2^fY{gy_w%)N0@6dzcC$^x=pMs(MXp5^KJgkFK3dBS?SFn12yXsD#-rRS}> zgYXS$-@Kd%AVB@e;W9s%AtY3JiU1|IH`{BgbWd0O##yP;?6z!os(DW=k5Ymiv>5YQ z4=)vQz%whI&sp}qD^BAxdA&1sk9YYk+cC|-IiSb1n!{^19ok=#Me4dSkG9gm+XHcm zx7nb^>O?j2y~=vLiuCvnwo3MZ9WJDC!Ea4AZ}Q7{FfTcxa`Kn2a`y4|5w4uUsGP%> z9h*)-q%+Qv>1AK;TR0ErMGE&WZQ@sXb|rDz;BczjjBbwkelu&aQI!jlwq!3sT?0@Y zyPNDN9~|!<9x?AgEK8>0j#|Ms00;k>WJJx@c~VC>U-q-b=Z!mrGbh zy;qKsh)LwrTq0z2^2>@}%O>F>g1RJnY8_p~N*8kd9EWJgh7z5aExRcs{))8YQJyvU ziHs#P6_0~IUw711(6WcO%%M+%lWsiGyG(W`yIAjmb6}IP)yZu?#NOH&cw0mwEP8g`+1cVlqmIw5 zcvj9c{-i4AWj}ijuNt3e{xA)gz}u3{E*HyZdDd3%59{#ZwR|(X`Cp~IY*fiZSGCp%#@tS_d z-1UIoRTooUm$p57MslSuew3zQm(h3&v!gN_=HG4^v($^=_GYC)PY`a9Utgt@^Eur| zR_f#&;!fW%5b=8=gJ>02^u__Pm9Ka&$$EXyAHs7&%;DNrPl=M&hRI$(mE*X@j_$3Z ze|Efo^lEo+|Lp67)0bzbyT>o~PtW#V?w;!9KH{(?E3>7`vL&N#4R}$uig|sc?ZGTg_%ldxB+YR2=*0)NMZ>nPAWuAU~e6(lUCMj&jXWPVi z2VGXJET%Mr-<&lYR{dJSO-Q{5TcY2`QxQYTKOmM`F22kp#~6+wV*{9n^hj3&;0Lpr zSEOD(rYJ1$B5Ud=to=gKrj0JfI3N~GsJ0^(_Lmt0k4#zkkX^@D#e6hi0i9M= z(a+7fsv49#gHUtsKrg4Y31`C_!>>$&rdXnD@!Pi9?U%-M8!SOT1xRzuO_jQQA{vM8 z9LZgIH?Lv@+K(H9WP2*Uo=Ai;d)g5FuImxlCxoz6Y&sL*WCT_)rrn-v#9Z__wlTa~ zG{9m`REj%MA4&-)Au5a*)r13ou~%p62p7EBe-+&(7I>&F8=!wi8$+LDXV{rD{aB8Y zn$oXxKt_w6A61wLq(DLAf6b{DjUqDc1rdNT7@o)10$z zHgNQVMamUWy6vL|S=zr~5_Xojg-n9^x*!(GBs$_8WvB#-RWXrYu}&+V%dR1|8mtZo z421dx!SykICc8<$Ju3V@)%Iy z{4cGzt3tlZc7L~5%r3feV?*D>O&M7+*Yxvk#Y{OwYPOq~Z)3}_A?f6rK^i^8${+_7 zk>E8_p3nC`;0H`qKt+l3ryR;4U79}G)<*-WHD#-k4wP` z-L!HZXHCX=oqn5-=i_)PU)2Ysc_M6)z{S$XrkD!?A+HZ?C$Y@vf0z_kM6AGD3JIAQ zq~Dc=;dk2<6@Gl~iC0&u--WMIH*9N?PpG?QI`D%Q-GU$ELx2J8su&uc9$q}rq&trl zTn77*_W$UsJzcrb0^vv9YJ`O3tO9h(x5{XB^Mr>}3x#jg&n@Z%NV0)AW!03*7wwqv zpgQPkfCfPDn|9Q(V49Q!OT~*);em*UvXf3cGB#sx7x8@Gy~mH;!64VCh<;-Jtlar} z8EFbZ#mGnl!L!B?BDI!|K>M)7xuFV0eUv~E zTQ-tvE6b_0rJ9gBo`MrmdxSIKmTsQCrU~B#_6!TJUAM574zvJ6Hz2M-ert}#9_>AR z!qAa#c%~U|Ob+}BogRL<|3()>nMxZX zg2!8CX$t!QmD#Cf$EP~_%Rs)^aG_DE9FOhNkn8=$$>AHi^_tU7de@9>Ut3+@AO@;e zuhs{>d96KxL7bX!?TBEdQ{XszI#&$(qKwtWRMCh3Z8;3S!ZIV zjTg3|YldDeib52g4-Jk!RotP*A-v9+_DB@dqTmu%M-k63B{5=@DHBBEmxI*nIVXoy zvdE5KkGw(^&RMf$q5%1wT&88tu2S}n)H%T^mVbY8sYFsESA5)#lt$GjqP8Kua`1$X zUXvSLkwFG6FYX!?3n?aeD!n9$Em2J9Bhkr4Yk!?iHLK(z1GFlkX9PZ3QSiU6DK8OC z4z^IJC~uj9)Ac%WOY+6UBJ`(NXKjHwAm-tKE@_iO&$mM^x0G-dOK42Y@vjnA2`@Ao z!y!Kwv-$MZiO{#dhiH*=oKiTDSyeCzOspOcX5x;N%-AsiibTquGNFb$!yRam=WJ1J z!y9KhLnLIw33k_s*mN~NKhh+{bM9WT@eES?GdhtaHia~Z@O`jCsd%h0t{8OA17fOU zD5)B!%Cbj=?dYh(GCc>OZEHYxnKM!F&vuJMV)^k^VB@>5VdN)#Ahy)UmDKdH(1&^^ zQ*_SvB%X&Ze07n9F8rI_tT9KN$@Z^`(Pb@efPWZLpSI;bj9ri|^;Oo8IaU-hC-GO=a9#pV37asQpo$m+>+xO+ z1Be5UopWX=K$_NdnDwvwbUbR2b&`;gw~G9b=KbM0N;(6baA)iFi>W0=2aHV;#Ui#y z<(|Ozd{vS)*KJF3x`rSX)>npFUjs`J5ht874M?<7<$Y3LN|Q>=ZX~l#Kazm^m~%CB zJF&m&0YSzWlD;jTOy|BF!zVY^jBAmZ&Ukz+KK{1{qVd?`mPlR9T-K?OPp$_+>|kIp z$Zi83HWJ5%DMG_cS#@1p?UMYtqRZwJV^wj{@6SuoO3axYF+C6I_N`?8aQt|8rvt|b#HsykxDCEu6iw8{fom=ko|fWb?-tVk^Nc0_Zx9jKUS z)srpjm5*tW;U9+%1+={YY2kTM@vK{gNr~QZia-S)#FkTr8Q%_%3cIi`=Cc8v06A&i zo($0g2qcL3ZlD^(;i%^@{*Ja~)5voe8mddif0 zcdRVq$6+Ac(dMv#xO^?`HjUhJLJngOF0v7W0yrbeKwLZ(lhNaB%#+=R`&L3O1A9nx zk%H^f6ema`aPbNkP?*kbIa?}{0=IR`b5&#Bwsth`MaQs8@c{%u!v(?lV2+JQa0=pL z4z~oezR0E}lXMscE8Z{&944v*O%RmQ2gyjvhDDx9j3+ob_wUnv_wTD4igzd$7?abc zupFc8JndhzPD{!H@FvpEGVijq z0EoUoM}6kKWSEmvm7UgkoXIihz$wU%TXF64N%|PS&Qf-zq(ec9$qqDp`|P(npOEAq zoMnM~`j}r6;xDZ@O=DZUs_Mv;OzxogiuzcY6b9nWxRyQNrac>``G_rntge&_yiBln zaGEm%`RlHXLS} z(Td^Osl&ilofl(8FVf2($Rfe1FtW@JecN|4IdLTXva}Q6s<$_G23bRv#%=)z+uZ+XB4REf(>Z-0bDAn2804M zAkGWP`D#9*C(I`dz$7w{B-~>7U0O`;= zDmrwmVian}zde1PJmypgnh$L~QR_E__`3IjGIU} zSNV5Y2P-H7jE@f_W9Fjx5yJw@OoMIkypjA-LhKmf$(mP77@%@1V!Ka;=mOr*3bE4I zl%=3;b0tUwz^Pf0AqePRfy}n!!-*1>2t$_f1}XGP1FhB~&NCA4r&_#>E(tN7{MJF~ znZKSFQgua+OXrx0-%zw-knngmz&2~gC`OT%*ACkuB8z1_EHQ_D6^~9jYoIkCL0KlF zW|!9~nXXwdhxlF5Yf!TX+9T)a!mr3xjp9T0oP?uSt|AVz#2VULO{h63fA9&Uk@tgD zE-evCrqpO+96@zGp=SUe-msTtTR2)ZLgAMPf*#406R86r_LK3vc$}9d8FTSVP-(z9 z%j_ElEXz@KSX}r$=>6W9wwI3v3E9ykz8Y^!N)Xu?Gp&aeAVr9#L0;k2cid95L{d^p z;KOGkNm0@SX48n}{4@if5P8;)G|ZQXi(MktQ_Z_DpK(Wr?AT)z&Ld9elUXsHnlflA zcpv&VEG5;yn3)x2FK2M@HOyHF4K@-aB2E;X$T?P|Q(`52YB+MpbJA9cd&B^W!3to0 zwk-~F6Z}!`MUkSrDlc@{a8NR-Iqk(;%=UW~?+@}>2LOyHfQq#1V$(r}#HDR$AE)aD z5cl(WS`JzfiDqJTA2KPLhHaMo1bRA<@vP3q`A`D>R@|aSB$cK{lI>{8hp+Quw*V(hL!$mw&-E1U@x+N zm)7GF_CmDA0Bxugp*f+zJu5RODgr1+S7O1tMydsge|l^b;A`9QUOJswmOJxJllo!+ zbOaI73K3W#0<0aaw_{LvI5(?*AyFYUe3bILZBlaCBaC%yf&kzGuDL=vlAtA&Kmv|l zOtz!?ibb@lAXM=7z)HD9?80@&jsaOXlJM5B<**3lp(AjSrK8!!bvt?>kpRi{Ay%RZ z9!S6;dmB(2NI3R32H|#4Ps$jaelfjPXB>XTZ1S0}jpmC2sp{qzgO!O{n3w=N$a@el z)ak<9L)Fji2Ym+gk)tvV9*ITR|B{%w$k7jj)k2WqDZnF<@trPyBpUePl(&d)7q zK{L~Agc}mRwgqr^UEd`cf!V^~+#T(dA@IhHVa{+m##N^I7d0~yu3o3rF&}704{^jf zL6@y)spLl^L#Obr0ISy5NEq_P_H3Hr30KnNp*+}gK2a5@o4TntFjg7&l3NN!I{E|G^?fP&yi*A(Mr`Ee1mkl zvY$h5yvgA%rTySXmsmh6VxJYMV(R_sEI~21Y-e>Xgk2>87m|vAQs*%W^0kO%&I7RL zaPF*dbHN3UQ!cSGCL=GO;^=VACJx&Pr8rx*qr2o4L5^E+l{YnyCV8I&C~O5jE29=A6rGw6PFuZG9yFWSJ<(-AY3^{1 zu3MT$WR7~J1~qI%OQ@TMU{OT8zP`bhuWn!r(MmA-QUl0lZ(E8&JIy-^@9tEC4@sfb zg**9VSf&mLajzAGMh|bb6zr*SU1VbgHuNCV|*$)t*&&;?gY6M%6ic z;M5hEL;(e#u}`bn5!0?yyR-8}J)vDV1{f4K2z1Pkj!#L?jl$z{&=daTzn0RE`kM;R?SR-}Kg;79f?w1IfFPlaJy6nJ8lKCb!lk zcz^fiLK^qf&oPDDD^!A)OZb*)35FGtz#>cPkjF-5^lKVDyXjPpNjLdE>dt5R zsOl`UgQnMA3z#&f7xVNuTouS?XlNF><5)ag23o6q2|A~x@rKF(^{h|}bWWr!7u{nw zqpmXRaN*8#3c8gYRM5C+#`wh5|0CN+uuiIvaMeq(90tC=fF`0F(76>mcT%llI84~l zoKxG?Hk=^0NZre$qL_;RLG?3p!7TV3;ej@@m|e^f>%XRQSG89O{6W-KsJpaLqQRxCSwj8-%vbD{mZUQ)PxE;q#IgQy+#xp^V&=uLKIm%-%tkX;L`Wm&M+hiRqA zLU7W=vX4w>h8E_+?rBi+Q%TST5ZEGeo*eT5ie(4m;7IC&n42%KgniA4{pDxblZd7^ zgrpK_35ehobZURTP=-S6RlCD7Dfs-;F}BZPeY)c` zDAe0&MyIlYg+T^cpYdo{7m}1Lbt`h#!vRCXC|m->dn?Q{Z!e@fV*L)RSO%~DRx?y# zHw9e5!$O?R6`Vs(XJgcvLzqnGZW#3+1Rfsxa@)s2ooVE%9ylZ@jHO~YbZ_AbFobCo zsCVm%%GjljjX7I`m2CRv7LK8&mc@*seV!J}$69R=^W|7=HlR9CKfO{OZo4gJ)E8)- zz;zz+ZqlrTC2rlJ9o5rn&c+N0USTlTO4op;t{Oxj1FCtCv40E5gNOy#V%1*WuK?gd zB2GNyJZ!0{Ro;Ol6$T?(;TbR;lR?UUIhUsc*F_6H#R-#&e(It_4C*6`c7_8_mqaQR zb3|}lU8VZl_bsc)6)tJ!5{bx_rA(NmcTomUBF^sq76-w3LT5H1b^5u_{cTk@B0|7H zQX@9VQZgMto)vV)ICa_qysEAMs~7LV_%-;cFX`%BS5aR}W^+Y#$Z$RFoJJt$T|B&M z*kbA7H7L)yXg>XFpRoxPZ1)QRhk-&Cb5wQuL z4DVP4XxxlZvf?^o2dcI%5e{A#)OaDSmEbbm%|P)*GQ?K-g((h6KKP}9aKqyDW_v^n zal5z?w{w9%FNQ60*USls7+|YWyQ&u0b0J0>u3Ap-5>M7c%;*zY9BDma?N7$@nd^!b z0!L(fYL4kTdeEG;u9UIjxuLJSLlx)`LCJ(#hnlas5I{5M@$3VtPx#vfVWF=mnlcC4 zhgsRMdzv^A$8Xa}%_#Hf3juTkbVasY;b~$Q(wW=qzBwvoJ9#L;EN@Y5EZ$|#NAR1- zzO8Mg7uf+6N$fd*aZx>C)>b4^*E%>w&I)ITH75l?m@JFoI9-kN3uv~c)dH?6Oq(m( zNyttT|5YcbmGq0-?e^!DWPyPYCBQeKC~680lEiSmQi!Q5iKWv1O(;nytro>-vlnUskW^=SPC*goV0}3v53Om%t^`p~ z^39(E81vjyLi;Dk68n`UDHEA>X1gj9gjC5&TXTW=>YYj%VKJqk+J+_X1Czs-Ly2Ke~NzS#(Ilat=|SQ>|s z@U9mef>}zxm64@fHePNlv3t752Ua+bPmTACbqch5s-#y7_(Uxu-GxG@^OBM1ix}i* z4KJVcP5MZhsDmuD!bP`zVg9CdMjy1-*8W^WwCvr{dZV%VmhhncMgnhOK75S7rq{xE zp$pHkW=D?5*bRg7JZ{a2g_Pir+(*#f9@+NX_~mk4E97;zz4lbgZLeH=LK9NmT9*3L z{oUhwvihz7?6Z-8%##>dVrz_~SQ6$a8gj56;F;d&uJOWc z^P4zJ)hWwYN*CUC^PmFfH?Rg}6#zeM$k#RQd{!sGrH)k8YVqiYu*#68(+jt&orN1J zlCXWR6L+z6MS$BgN~iY>GFIG(nCyL;sb*m|8AINQf*YmK_!5KUhf#vI>!BK)w_12t z5SZJ5J%d8 zNK!10)Z>E{Vs=Vej%5;d|9Pj)S9kd8Wx)k!_uONGLZ#M>v{hFhit;?2SU6rL0v9Md z%%U->sPgmyp)aTNsu91(TzGrJ)ND2D{L3nYHwtR5I&Ul-S$7VECL5MKXFMdd?}O4tN_fDVKO(qh`r!ZCOr; zfX!sOk?V)(nQTyYu({+Nd1t*T0K>R?k#ZdxJkX$8=W*dnd(iRzR|orF?>{>`-v7(D z`zNPo2hVD?A@_jR3jJHUky`rkx<#AE?{+ZQpYRv6I81~ zx>>p!4khH2>x3Ib6Af0+i3}kc5=@~bZH67W2%BY&$ZQ+}J*ZR3Uq||yE(yB)|MH$MjLB{lIRA&k=^d-Zs~?Wo96uM@`RiPTK}GyH>zn4!S@J3pcp+H2FhSN!N#1I;oacM8KF3qK8;W z=lX1%A2>hy+TK+2P10HDtil&YY`RvmJ=(gJ;pCoqMgGC33s$hf9}PMWb%T4*2EZ)G zsclPd0e#Vl?| z{Dh|cGhuL2OIULYmiSD(2S9a40fXayzEZwM%=duLTiGNZKC&8~o)04lnFPg`Z=dd? zi_q!*U!CrtIclP1M(hHu74>HK_5R7x?%w{6=uM5U-yWRpzCC?;cCx>BynnjmI+1c6 zgT}RZWZFE)`W zvA4QT1neS43-KQ4Ih;yb5QpmGwY#;Z@kpnzN?Z(E$p!(3nX((`L7c?D_{E*0U)`}% zYXGZkZnR=(Z={C-Y&Gv`QyM8n0(a^t?^!DP5&anzReL^8s}FZqi`7Su?nP)z67TSL zZTx=sUgT3zc4Gdz6R+HQbmTj_8dGVri{mZ^yu0$r-IZG%6T$#1_t@$_gZX>+-aQ?? zJ)a_scz2=j{@J`7?a*84g1%d6GQ5@dE#Cm)j9zYs)Wy5*#Xfbo@3kVE!@CtTnpWP| z=A%rvHjO%$wn?a2U%N7t9d?~_PA?nN2@$(moKZU~+!0|V{_{Azsm{&aYWUdG&XTJG zK8`!?MU^!w-Mg{(}bz>Q3Ot>`@wot)hrJ!I|P=Efj{HF;MCCrU_X>B{?eD|+s^Jm1Ru zdu_e!UX%}6QR`c)JMIIsO(`pz@Nu8O1f>FI>jv=#j9f%CO0PGmP@|nHwAQ+-X0wBWgfhd(70zgsufd#sxY3P$ zm2tVOuQ}3fO$0nLTtg$Y&|-+X!o>zv_5oEl$*5;V_8}sBnE;>UwcQK^jd};9mxI{N zg^CckmO+x`h7Nd%g%~Y7CqBIumD3nV21g818x7*jQOC&~cs}G_i_5c~5+okjXQE~}ln^V9 zO}OT%E3eVDPDqR~Q1A)723i5-I#%R%>QSIIG*2zS(#vL7nHD|?z307R<_u)-(SnZ6 zF!`=NKhpZ^;@1uepu_*DAfX(k$%gf~4$7!hLhIsV66{m794><;u{?iQpreK@uCzgI zub5kfj%qt{G$jxg_Rx5|y)P~1viWLrbd3~|o&Peuv|jZyAfae0JB~85(h0Et|q3$j6E`auAuTOv7i)sr<)c(xfwWL)&Bp=G1+$ ze;RWtUXo7ps*{g9munrprs{mJzn$fSAG(}1{93AUBGW&UT9L&KD@Dve+<)-$PH2R# zt8Gwn%>@j{^o{S@l5uOuo?vHqqI~VrxncmCsE+dkLVW!Dm^*f8Go83QU7vP2_5U=} zDh(dAYOoCFC$?e^a{7K@uxfx>3_piu#iYa=x{!$JrI*hQ1!OGnpz1QUYDwNfk4DM# zY!qsRbC=Gx!|;Tu+LokU%dtP~IjoMl#U|GBLP#bA_E?#laCRzFc>_M-_NjS#XpNpr zAxEw)r|ij|HkW>Q%SYr(!SvjKFOCo29(BF9m$Lw5L?pvjc1B#}OE_gaWAJIc~#=?6SW_MGT->sB>-oF7#F0aZ%KOdZZab2{f6=@&)4D z^9mYvRE4{iIt%IrnXX_wB@)UH#hcDQY_L_6O||mls0YIFV$^!AWuiQJ9ey zz)$Z~OPcMv_=#zgEmaS(x;JBR^Cp%UQ8`{BUH>p2g>9Xt{>71KU#mw#{xrq=_YqvW zM(xqQ6-8$3v?6=}*)xqVZ1H6UR@IuhWSh*F9^!h7X-Rwyi*g(mZr7G$USzc*o_(13 zq{7DEi%g-elY2B;j}Mj8JqgffJw2=rFtDQ)?re+_wM zpkjg3Sc;Xv_8bTV0@P7#BGt>J0Exz}5^0%$8lY)~@KidPIW47%nuXAG0cX-w$OYRp z;<}CeBdythOHsQT$H{stH)47KaP5}E zr`f@4`FcDsS2;yVVM)Fmj%4eEg~$!(902__7aSC~BvZomjF+O+(L{{gbmZ0!+7l9z zT8jLUqtq3UJU6jmArzb;1Vq?;hEnff)W`!94|5=-My7!{ESRLri6MRB<#Iivy{2JB z(W1H*W^ya$>V_nV=tfcJM{pcq0m`Uu9m!=CX<&GMr-LgO)@fKFRJK~2;sGcD#3m2X zab?<`>A{uqdv$Fkomi_-1N1lSSy?jHrxgdowe6&DZzHGK#FottMkYHhkT6j10UFjY zAhWOP2Kj_m&N66Rs(n!F`anIQUsozzWxu-;N@I-E_lOnh46Bu`_}%y7Y}STh@B`9( zG;*-QE(rSUdreVZQQI4ri4me#(pRV+iAz`D+rR}fU3hYH8Mk5ito*>Y;=ezmx+Yui6A8h65yj0To!>ZfXjWhFU*BaAU zCmKcc2dElJi*=w&BkKB?<~DFRqr6$#<4zSV!xlBnJDU^%n3i4UK>bsS*R2i(6x;%(@pW7TsaDr{+ zOmqIINr_bxf@Cf&%!wv&8vscw$Jj54-f~ZRc~l;s-nu=9lQk=@GGN`D5Fqe9kNqtI zVssvkFa^NU3dwR$Ef>DVKMnBT85QTTl2o)CQ~+6)tnIpKFexecUXnDKIP6Nu!>GF8 zX3{XIq#=g%IT*zpmmRQ|nQJ4CGDv{VRJe!L{xX9G>Jp1uQ(4AYTFoVNQ8}{qi4m>^ zv9_x`yVQP_phgCwVmYI*0QU^wz%kTWfhIVs$!ZnXTx%o760%>tiVu!1HzHcmDVY#R zs(o?vHh%k-OI$;C%0nWSLm)l`ZTu`zgsuf5Nigg~r!5;=_PV5OOJ=Z2-tamv}Qs%TLJ?4ErCFcmPs^K^)p~moiI>| zj`mz7Hi{HslccnM*WaNkA3K%RXZ_nka(+96kz9#%O`X*sMgMD3?r|0uzt)VgBq4p8 zpZqDr(JfD399;|c-gXZsh2a(=pewm+<>xHn;$#ZABTBfil!F@ObCAU)LU(iWB|DmW zMKNo+?(r@|Ofc6Y9*JFZ2g9f<1Mf_VZcAJMGnZ&m1GDS;h~ z7m`~Od9b~dk5Ioo2$B9$OP+aLcWwPqdzJpTwzc-)!Rl(a?wN9pU%0d~Tk(!R)GT0E zsNLzCgL?B3Ur!1OE(*YsIfNdenRQZ1 ztXMAhh=QV4`7+p{$d>?%d&MBvGM#n|4Ja$Y7)cV;ivP|Z7Sz;?r24cgHtgz3b;7nk zOFW09=IF#*d=Xtfo>nbi2PE*Q1#cy+pP!cau0D!Ik5A!_mjft5BTBVef+Sl?Ls)hx zsZF`q2ZX!uszD|NbmXmlu1c-WxzV;1d}hjxJ|h9F;})}1D=E?GZXuWUIVTj9u2Xls zZ^85>U3_?4@yLXoY+QC*Ekjk_Q5uPBvq;81w(qNITKhC{U02-rnv^x4R?=f!ye)Na zW;0WMu}L@{_c1<^zDEI^#T6*>zAj72bx&9vEm7BwjJnt8s0rMs1mTvvsfL>y8EGl?1F4?2k{|s_&H_q`pyV zJGyir_0LJ^3eB$aDm7P}=vdvN=D@o2{AFW%lni(QaH6H&P2#{YrV3koCSH44o?RKRo0n-ZJ>zOW-P$UL#hilW zwowv|9lGV%4IAM&qBB!RdrrCHL9*XV3k!YDEQUA{_5FUHhlwJg(Q8|;d})wb<+%3j z+gW&~TWl&MXa~iXg6^R+PIv%kI^8fx!?sfYo$q=lCYyj`ys$*C0AN~ek(ocb3gB*$ zt;|u!KLqWFDr@OfuZ=n($`FS=swdN5Y6(e>+HjPf>%KG{@&agcPkqjzQE@4m?Z2#^ zlC%&cTld@=)HesNW&@I)B)`s8Am9^XDe}o8cLkI}ea=hAQ-?yL{`t0LqRGtV2}U`K zLab3)2Z7BbEK6g3M;7YtEUPET#bkmyJH86f(wQ%fdGO?{6WK!OL=29Ab#RSxbMx0i zKesQI9-AM#89v034j7VQ75+l-=R(28+vieC=XdlLAP}6-RK0S6H*K+k(6;Zy87O!z zcoUXocl27DUvoE((z2>!hB%&TBH0yNm%ee9IT>AW(RTejH3B#*HJ7wnTy~DpH~>pPw7-&$!v2s})6mP@MvzZ- zlIIC*>SS&a^;$g`iN0`@udA=)AjV?Nimjn7d3_k%K{Nnl=>a*KX*Cost=%lA!rei* ztfIh?YQ8idw_R}DH41yucYfR5=(9`D7#5^~^l071U z==LgTJr$Hv>!n;W@fFL)ge#?S?V+BKs?*)Hb))vnWi3IYhK%7KYH7TN;D!I40bP7_ zMCSuRU6tuH&>7>`dq<*_09xUh*Pisk>(*$&0uEXULs)J`hhQWbX=drvDbO$%@YL_FX_KNH3z*W!aN*Jxkb zf3rrw>dMjM%>`9G-uv2NU(Mm8#itfp--eety{LlTUrh8FKZYqU5YWK;Rro2wtbmhB_mhlHXs74bL3hLt4Z!u zW@j#@frhm$IJs^O%)teB>jgTSwg*b~a^Nb^7$rg`?QCRtUuYwSo~a2 z@TXH0S#!&fT2tdXh0_M4lh12(Y&C0(lHVxk6S?g>V21jKcO2RzeEEEptF9yUvZlz6 z`86IVo>K-7Vlrr@#5?6%C9AR=c1vdF?+h24CUE-5a3G!6U{;3Pl0NJoxtI~DK^@SH z**jX2%7gP+B1uImRf+;oP}u!F3OX<~>BNPeLs&kC%#$nnsJOB>RCtl5cW^x;k#`1s ztign=XBCc$6n`bVoEvu!kY54xX;dQn2J&~C^NAQ5R0FO`23zlXmL=jb=xZ-VSAo_y zZL$ZVGOFC?Jsv$NVk<4tX`!8lj0+!#om`}boQP?G$oX>1h< zH>pz@DA@oerk6$Tq06n>I@jH_bp)^)2(`{=QBY!25a9-Hqbojej8{n98iWL`$5^!Q zI-2n@c}^cvbUbGZSe+B*;Sw|(bQJtS`iVyBt}`oA-5sUXEI}fn=!Ba2-FtkaSqLv}|veYJMDxz4N9Jy{3>8*>=$!TbX zc}+q%oZg`Yhq@h7%DBE$pudL7aLv;n1Y`a4Sdb7f-XwwyJ#sCO95)*Q*MrJOa>sMVX~-o~Piw4_04rTJejf3DSZ zsaELo?rlq7FjCA;Oc{0OIj1Fbr&~>U>*Fj884+*E@N#;Wu7lH(WCa3E=2HtLsVl-l zmkMfyy8G;_`}Z3Oc%THI18VdT@O0Ng-1Rfp0#62=S}4E=d@v^; zIEJqUyy6D2`hXhwYs^f&WhL^DZ${ zk``JwJ9>y72iqp;S2ctNUC3y3OKFueENx`Dzf%<^PV(%+H{pb3ImB*=8{L9z(7*vk z>L9!|wyjGOIBJ>F+;x(6R$&Ti?pz) zo<^)W9HNrQ8DPwYD@Aw3V@QsPXb#6_;RKi!-&`xci?)Hu+FG)@ey`beN7FP&snz^; zKU3cEE6JLGkI%Kk=3RCD>Lq~an&AlAw52&}i#>0wDDRR$D~3GP8sVbqmf4bTyI$viS#Qyy|}JeZM`6JyU8KS-Z!Y&>}Qh&CwA9zGuS zHq%FgjR*aQ>#L7eA8lm)wY6UQaQ(@8wwd+@8;|=BHXdZd-h(F(2V^fllMB{qebQZH5KgJuawe=_T)n;pT^FjRf^m+1_EyrrR39V(1ulWuJPVg9hD`O6vW$t%ldJ zHz%epcIAtF_Hy2f_YUG|%7W^ngsp%EP&t4jdF$g}AthP9vIhj|73$_i@Dtm;v^Y z4F!!Gi78i38IuTXitHK3b9k&wP1)@mTo*i(nzuo0*KANPtS`_+UP^D=hEw7Kc8$i zak1hhs9I&p3gC;`nrPz3G}h)l`}MdW5mh4_#>e6+RrEp_l}REm3qwHGR{W&3vH7Gf z{BEucz%wwQ)mFT=)_StJX}6J-2t*&pV;8eV0*UDCnvadv0OG-Rfej|`FuJkOKg!8R zcUKoR40iy#ujRa|+r4J)Ij{E;??_FG*4(PG`&`FcG`P*NJQn^fuEFgP8~$lQoH`dt zrzVr7&jc8R_i}T~ibb>w!V{S!h<#f#sbx3C)P}T%lW@v`hykNIXiIA>#4RoWlYZIE zojs|ogGz4pq|7eLEHh{f3-)TUOqn(iRGj1fl5~fUoZdjwxXdeGuI4hEs4tDUWaZ`k zcC99rcBcw_t~G^0j)WSNzJ^RltuDt;ta8i^B+ysL%glGk!bG-(YD0_v+3VPu`{pqa z=ec5qbQ*~w7qsF>ZnfsQQ3^Lb5mR0(n9u}K_Kj`-xJ03sAg$OJf0FhzcN`2>{Q*+@ zns$0V(P;`x1Mg!OMMvBdX5Wf=AJiESJQ@qW4=tSq5m0@|r&FhunxECz)%P(5dY_`^ zWpEv(5S=u)?RGHFX>C1%9+T1!K&sA&kr$m3_cZvGLs}8x@#Hl47qHDO4fk4VLIXk+ zErQ=M%Q3JlfQJRm0M*J?OUsR?h7C)UsD|*6bW0vj-lkuiPatSm&&$iu4p`dNIMOhv z<2M#xsktgNxx^zP?U=GE>>Za5uoWP3q|BEu#so$pve7^;F&np{#+2E)R>_Q5=N253 zDyk5%W2}eu8x^O2QM#~&SQ~;RRlrWIMyRxC_02rAq>JXuFwnjx{{$1;0tpA0JBH-Q zL3jKX3M^+h-H;<)*Z-q;Q}Ju_rubCgb7Hph9*Wd={vsO=kFv=*JThfx_aJ$ma#Ch; zXqj=9fM`1ys_iYhJ?hhn?bFRXOm3sjFjbY+eVFDWr7Ub7TzPmyTEq9ikIQ17z? z1j814UR{`U;DQje9wN6}Wco<xiQ-Ft~!geuguxbz%fug45J#gRW%z-VPv9uE%EPV*YX*^!5~)% znxj^4FA1Hp)bg&j8`_~ZnxOLWlQyW@{xpJ?U({Jub-@{tyMD)Dcu0L68kiU|+rdT8 zQbL>}BzB)ZAqcggEEh>-F5SVEJ7KDns)+gOJ*qzl+9g`(or)=m^Hy6Cf%AF8Yk8*( z&`&lRZiVhmX99?KXwd>t&Fy2{)sRWu$+-IX;l}Ffcjia*4#@|-)z!xvz2TG9bogkv z`eb$O$=dppwZ~o6qes4R-}Ase=+dD&(~9Zcnu)M2`FNh2hQ00}djeg(6{|@YPq`e( z8k668-EUP-o`~1hTWgOu>)N_`ZF_^qz0J+dCu^JiG|iqoSj$#>o7vjhll9fr{=?q- z>Vx5MFdRI2yz%(a!+y5@INMy`+<2V9i~D%}(W7py0bSrGTia-DK6<$Pp@Yrg;L*cj zZ*zU^an|ppPx?>RAFU6257YI*>Tvzx6S4u;A3s=o)Zgs&R|ikB9{uOhqpVM_G3Y%` z)m6OAll9Rezum{_lLv$J(Ub1>!bx%Nu0`1$DsKyk0Co4<+Q!D_JZW-thJ5il#;9rFcrY)m0lXOj&AOG)v{rA8A_y6$k|K;EQyI=q9zx(h1?!Wz4fB)b8 z5C8D5{;R+L7ytI}{^x)3cmLD>_W%Ar|L5QQ`d?dVz1$Ntt)KA=KIAT78!~*FDQ;mUP{uT5S6V)YoV(CDpAsd{4JTDmt&x!qQzqKcZ?Vj4LMR2tUYU2rVuE9v}(Ee(igk@GngL-r>%18BLX zrJs<(uaFNerDH@LQ~_8h!JwVXZYZ+Q$W;GC0S3t%59$=&P^Dv;Q<%G$lD(pV&Poa; zL=J$pq_CJqzqKwvt5Jx#6?9MaJgADefApet+^7;>s}rYXSdo2DaCBaQ(gn&D`s#Ab zxZ2Ure){*v{Es`|^!nrWc<_6B2C3?+n;RSalm0b+u0JH9X`kumj~;EV{VZPnLoC1? z@{=CrY)=bLyjCxuHo6n3^0fvfeA{1$88lm;Bj&E|rz+k(h}Fi8y^X6D z2h7%`k7Dl%v6?|9c=n~!aqLdKlr&V>f>`QXvG5W{9WZPaS2aj@;4e|g-^yTVdp`eI z4uvw9wF(jlmd-=lYQo(Sot(UE%gDZep$|=vY+5z~N#SmPoP2PzPpWJ-pLQ8lHQ{Vi zDSDyZW66F%$7F3ino4XIp`S)=wknfyzweZpvk#TG=l$J0*h@O*+RAXP-E1BYeTn6A zP?U?NTNcHvYpb?&RoqgxU4z7DMgId@aA18}Qn2QMVuH=2QYV?>Y?m)Lb|&p##I~;e z>!60ufS+N-Y9sE}V1HcT{oOb6MEe^RVYoSL)E|@Cn)Ks4(k*hEYl7X;8i&<~_?qmv z_{~=b&klA4W7OxQJK8JLfofH~a6OsJBgRaL-Tdao9^JtZ^xIBHHysvfqN1CO%`6=^ zOM6K{H`MeJsJ6;vnu*3cVE{x5HqR$kUOsjGxVgbPJA!0D10E}wKOZ`TA5A(kf2?nI z61%Zk<(oJp_JrROMm`sdLx6$n@0Z0mdWWx0K;rQ)`I|4Z>!AH+QJ%La=lwRl1}Sgs zHskZqNvC;&8hrPxT!)aiHT*u-#V~(@7L|9<#?-0_2A#;~+PBkkkD}(v#>fVds;t&& zAf4FjwBoKcXy|z7Xw_xxI@(sZqSPTLxPg*`?Xs$lxbp4+XGzk2LC1Xc>b2!ql52wdzzFbiSoKbXS=LxkCSB zc;sBpIO>wdOSklj85GiPy!V=B;hgu@(ttCrz(%=(Aw1n)p|lQ$>C6$C`O}p5y)=bh z4#(5idy1~oip91fct{nruO;S+Ywa|`J05ndigzd1WR{}$0p`w|gz7$NRb3SZ8C9T) zZXWPUHZU zhyRB0onD!fxw7-8l?CqT*MBy-6R-R{nBO4?bsqBpyz zhQlVi-8b*6oa{3A8bN!I389f+09h#Sm1KAl?|4QZ(kx)_c~+y((m>6pz?4#PF` zu9M`6NbPpjJiNw=Z5T*eV2qd+5n_3R3Pl1@UW2E_6$vD$R@3vudsoHp+-uXC=@tb* zIWM>?yRJy-4aGR4%tp`TrUT*kt+#%3cSTYia=!dAhyKK0| z3}f!6G=nhVFEMECX%!M0W%HDBT-^#t{{BS*(sKC~QFAu(&9a#cuekL3@%~@z@163S zLde>;7?u9*?(OX#oyv@kkZ>@&nbny3!|qsEM{KV`8(c7Lfh!b7!E7FHcpWWSOXhsx zApb@++iW=0?E-0lcm{7iMMq8o?pll^1Blm=zX;RZPtfpb;tkKnO9|}>g5wZ zrTFKEN2dpeZ%!CBBCq-N5-!GKL@9p#iFCl?DxLZnPot)}4}1zpX7xSc?drg*-KE@vv-BHGBeEW*0n-SK?NFm@o_<+86WDQb z6(?k5zlw!tB&env|FT0`b7ul0Z2gyiwibWT;8d@eIL$cmy;z2*& ze?{urv)2B}>F(242PZH0pT)^HdY0%h{*m-FIP;f0=%DtXwcqGb%U|H|?dj3m(>N)b zs^;(YZS<*YzoX|yZj+?_yleSa7hy_(wI;3B6u>kPpSdUm9Tf;LG81#2glj!9{+O9$ z;w%ErFR1&C%+?oO-TCuK_l+gG)3EC}tslh$-TG;~v0Zc{vkXD#`{4e87* zw$Ip(*>U*Gonv;cVCGh$R#W&BI-L{5qEKIg6u}*~?A%~nhQ=O|$jc@I)=H9c949$` z%3OBdaDO5xhn$Z|jO_I1<%oZ)I{0<#aeM7ydzHTCtMHLjPKGDJW)MH5&&KJu{CB)Y ze^nO9d)j% zFexi&C+Ktzl2dqAV$V|BR$69@%PN!NIFf~8wcLg?64*Jn?6PxjB=9>3bT^BJUgXXy~H51;MR{c>ez zLVSa0Ymz)@KTN9mG%J(KQ9^{(OVYLVo*QEC)!P#qQE;{+(Eb9-d)ICaDzwf==JwDyJQ}lCs%gJTG zZ0AL1^~uKL&5Z|-HlI9LU0;8++6jHqc3kMR^*`K+&|Pm3CuKE_@4&;WPSUOT4t&99 z^d}~?9cTTEBD~fWO@i|?xT&^^^}88HO1G0VyY0PKq6)tJ{8N{KT|I?9kDARWRU#~_ zh)+1%>t#{RzRa#!&Y^j^=wb=bmWuakQ?M8-@yGZ=knQSj z=Jo@zF2C|-=a{_n^8($gxd7!I{n9*@v z55>o#{_DWCR9QVxhb#5m`U@!r3-L^fMmBQwbm1>T6CW#)s>l~>{K_~}5zt9u!9Vt% zLat8DNn@QfBxtCCSLjK)d`fLAKM%R5qYj=B|L*8gyG}55CjL~)#|S^1kBVM8Y8xjA z`pM7 z5b~=TKx^ycD3TaraLktKFCq+x6K}SC*Yu?fa+lRyvaXx)>$**Q8-T!CxLHAIGIOjD z7wVj7er5Ctc#Bnqmwv9CMPQ{f3|Qmh!esx{L&1T1ZITf!z%l)5iSWjEB&_JQji68W zPfpK{jt^fSk#5?tkfeCvIRgiU+Lq26P6V=sS3(%aidZOyL!u8#j6_aQ> zDVk*0c{4b#5`|_b$zRX&EHH>Ui)BI&zRhTk__{|HN9a~b)KKIsyD9dF!xGX z7i;Vg39iXf%?x$Gh4yk%E34oncoyz;u~sT1Cuf$u>HiHA5Y@t_Dty zS_y6)5|~$J{GmD}oC!O3zHcMxy=`{b4|hn>hbFYS!O9+dS!$U6E*@iA+bxfg5DTcN z3%>*z?Dgez(7a&Nh;|W4_d#!0MXQRG+L>B)+pN!)wfh8!#^DhabU4Y8w~aEN5_aH6 zzVn5rkF&uLWvxO>VgY*ig_A#Yw)y&dKLN!581Ubk>;8KJf!~h*UVZpreWQ;5Mn2!_ zPx$XY#J^ws3CZA-qi27WpxfPEF}*I~n>{6~Yb$nt#&`SoV&t|N8g}pS_~`I>7ctWK z&*I(Z&ktT5?2_PZOM5HaBSpcG(b*=R_RGjW=@n^Sq(UbLuG!O8ygNlDnq-|r5Wghp z89%iG3=0j0MVi;^F#*FYh(?(q>LhdFCPsc_>Zd@Z0(g3}C=wzlmk+POc_;JZu7 z(M!TE)T|C;axNS9<>~8JlC^|NzmWd?0@l9s5~Tzq^T@oLUpCrDr_dxu?dqa4zwD48 z!QhEj9_fT^v~#Z&zX8_z8}Y#dTivp!Oj8X5BQtvDVbg#$NT7m!93D;`OYup3T66Js zc>WnIO5T%B49HX#s)Io?r5nNkWne*>%|7ivAoG zTu!~>y-Z}b$=CD+)RN@9z#b&M7|JGlTVR&gXiohuLf^i76!H-uT zg9v?o*1~9uGMRm3Fs`?7w>Aio*>bxalt?NeYf%wg>-vSA2zw=W8gdl_eM7i*{KDx# zOk)tEs09 zHsLwQn{l}Z94R}c99qr>N_`Fu%vUpl0SC@%H3ZGH`;C`bM9D#mk_tGp%+ya$ph|p3 zsa$hnE(J1tJ;Nq}##J%O(Dj<#h2d-HocJx;zLHbj#zy~c?o^4wlw@Om;NmF0;F|l@GbtEAOYE;Zd@YL%L#8EfPeBJ)`Ud zy(qBy!IRp{7^quwo^Tb1^(`t_m#kKbKr2f~8J&2PN?+u-3*EAd$-B~0RYRF)J+&`P zn|3oKNG)m0esZa%!PV8OZb;fFIuP)ZdYNI?aK+Tup3wL2p9n{-xcs&}2fuk19TfV& z7gAwq%VxGK*^>9~>(X)S8D!(WJ${9w(luVLK|(D9k{7qu{UA2+mS}pU6JmgtU`?f5 zeK02u9%lmvz!Op7u^iUq=1^RveSrc{)YCI>ZbfA+SVBXJ>wD7B0XJ_}Is^erlYsLY zZ_*-&vLu{wBnO}IPPOK~#u&8xoR_}#NUnRKh_*qb&}LA7MN82uzC{HW1jHHfJh{Pr zC20heQKmvaqwewk?z7kXq}*~JB=>A-aNT9@-mUk_*6NN{Zh$7AI$R6C<1)!LDQeQC zBe!K|{BCC~<)_z*qdBl18P3ogVC%QP1V*SoNpbw)o7+xWDX?hg0i&*WyS4JL78itIl0_!JX-+7zM&s z@mm@!lfs3nqehGxE z*{kj>dsV&Wc1X&PdAr4kyUUbuh2=CG(|Vo+t)Bw)s50Td`St%^S@RLp*}0d0OP?QD6e_R5D>Zt>*GkN3fk!J9q9=fdY7ryJ~felX9 zZ{b$&R)~grfE@g4X-R+<(@qU=4P)Qc7HDZ9P1uL7Gyz*`^T{6_!1=dC{{FEeQh&#Q zL2UdTh4?XRJ|fO6_^s;Q>iahH+vSY=&QCbM-wx;ZhlRR@@WGp|`8+7zkHNxyHo)%p z2%5VYCDL%xjwc?KqnAPWTqmGDxdnVVNn;#FeA};7NkKzX1=0mzH zptO#!%#5Q9u1{YmV#5*J@k^0x{%cnofTawvS(-(TD1z&G8Y}~`$#x72Q>2BMd)?)H z-Bt+99Lh(UD>Lt^Ls@HI23;}3GC8h93(7+}=>tOnCJ(GY?q6;RK%58PzTG9@;s?N0 zkp)AC{wx~~xh2Jf^b$=$cbv-ff=b?5yR2wUEsnE@G0mb|^wXBOn?YRcGnE*gs%(Ko zyaZbjS2=ShX2pCF%1F-=)KP%#k$kvH%kwI}^ZkmD{~2nwAQ@z3i_gIiRv>C95O(JI zV2do^bx#}b)8f+j5>;+$EIdSM9Y?i}5%=Z7{=9o23BQn^6K+CB8qR}+jACY(^3gq0 zPe>g)!r-BH!YDH+eR2S*2C?dbHIyEwOG0^cl_A+@th(dDkS%hvUoX)2k@w36_U{go z{cQEo^19osSebJ}yyJr$bjwFP`9+*h5Vr9Ak<-*oFYbphyHL3~Ls_3^2gf@e|D17(f>MCC*2Z?(wwS8N& zSSZ59x_ysGdn9WgTR!Dk=v*E_{0|L?QQCrxqENHsIf zRn)!YO{l=~Fv(Z1puj#&cGuRQCd`fQx$cn4iI8T&RL&$+0C1$PAz!!hdvOsNAMvd~ih zf>Cq*=iF`mpvT6HS?G2k)TDTKrA^<}ql9TBGHNZ`op{*S@RSMj;OZ05FZ~9|_PDO; zLH#I=e{<3Z0uc4yquR7dJNV__Wtv?h-hl3{T%{Y2QcJ4Q78gO8NI}oA5b7>9VY=H^ ziP4F6aZadrl1sDuTlL{&_Hu z9SJCjCU@BMl$%XLmxCW;a3*uyoIHF8Tl3+=o)oIUDEDHm5($HeXG2G^^Me2T^a20+ z0LlT+tkedKFW2lN)l7kIqLU_jfNxt|g1AITm22j8;a>smwTbBVpj7NU7NgI917o2m zk5aT`%|<6g!?-3`jy7UR!43HAgk8>P=R@?#nIL|1i%H0bTory2>SJ!dZ3?hZ{s4i8 zyf+71I!>=O+d$^Xr$*LrZPOncih`x*2?0X0HZRTkFeI4#R&bd`lB=- z$7Xt$>{+R@#ljKpDb)qN;fLCLh>rQ6LZy;z-1teQ`bnkwgh~az?~Bf$ zPMzi-X`hm*bf^d{Hk0+{z$=MXNGv#CRVqg{C~W9@;5xP?MPt;@cZ$9|A0XXJ74cQw zJ!b8ITbQ4J5FJ5c$ud8M5xQufe-V@z86D|86^Y}00I1y{UNYe1sz{B*VnhZjIGHTP z!82l_uVs2g(Er7561mKb+(u_WLgYlUeaw|mi5CxfHD+FtL;BQ;C7*^NsDo#bENt$x zI$Sukxedg26baImhHfdk!ioOmpU^c7hUo}C0&X!mIHV%&Tc%Yp_!;nd1xanfCw)Cm zxJ~_o@DYNAnsOO}U(pH&i_8ump<#J%R|+p<_AMaEN+Pj9OXy@U{^W9t z^I{XJWSzAFVFgTqIQEI zM8e{&0Z?)engf}rN&qR=&6QOI(GvIQk2o)9jB|djzvRT6YpsaLtSkVOWwzZL7`6yh zWkyEEWyQMADPH$Z1Q4&^ifjqP*hz}P(jYDk@_~Jy)W7%c^sR*AIQoia(N^*XHqzVZ zbG6=nWJc0fa_8Qi&9Co9-#c^e5N2MvmHhtB9~9d&wZ-I&n2DjSdzxKLA$samI2p_| zpwt-nb+qbRkk2c|I_-K{YbfmQ;?+}=wwMx8%motK0tP+-%Y3_$2R@&-QbRbPVx~z? zF9c0&3%u63meXb-0-|EupFP3+ky=`x!R6ENl`7ZE?gw#6mMLwPk>J;OtL~F8O~Mk- z+8;Pwl#zK#gjgO(mPizl@H`?OlhM>$X4BJrYH7qmcVA@tf*@r1ykoL=DFp+ZY@4?A zvQWJJpDV3L=ttsoZ5i1I)LwQ8}H)Ul-W8hZ>+DKrlwzlDTS z#9r2)Z}G{8;l+MuiHB9gXbOFWY)u+0)k117&lCuNC!@TjnoIx=^!vV7lK?4fu#n{A z*H-j8`c#~D7!nx!m0o$n5R0c=9BYx1@&AQV9vRM-AI_Hsf9=~U#p0Wjh**=4umBTZ z??DlO7lRw5I{nI?I*^cJrkKutTy5BBqq#rc=a$E`6z~!akTx*G8c~*OrN{&s!#-O$ zphLGKB@VwGI9q5ahq61KIwxQ)e{-H6C!!C(z4bfyM@RnHh+z@c4a8L0sA8s)D-?>C z-c%xXQLL^K?^8EYCF1uQ^W^SX;9q6y;b*I2j(NeUtLAvMc^K)yuvBjeqv6wFBQ`f< z*oa3LW{0*T>1HS~tlp|(Afyqnna?sV#eJcj^h_M8FmVoP5M=NgVRYR2)J>k{P?X~2 zx%rugQc$-?^-FDl=UXZzfe(cF+!iP%lo_NV5^PK<31z{D>a}|LlxL$)vi@uWYWd)6 zsGwO`Rte0w|smNlmt8e z`=lOo(>51F?=p9xTVqatD1GJzD=3*y7r^ z&|O*J3>lEBpZs(jWy9xzR)?;Bznf`mQ;fwzeVhI#Av04SxY%3j?T+19m*<#>{ir4I z!E5J(5>RRCVFG4L#O@rzZy9Y;{A{NLfsQ+0&_@2DKsSo)IreqG^m+1BrP8W{XzK5D zW=ZN(Dlk&+Om^?$(~kT(qO?FH#(pHfyREis_NZOIOpYD(@)tj8*zcXt3yFhAA4EOu zI%(gvsjBhePF zYVr4XdU9cJvlreBPjO;c{Ke^J8s+J@#h8&EnG=w$>I#rFMd3#2scZSeMGGj##Rs8o z1zSUktSh8isTUpiQ@e*xcV8bMHH+?ZQM6U-UC!05-XTf4zsVe~SG~W#GCLJM^}Ooo zyV^C{3}bo8E_t~2MRgq3E>A1;j>LdO^lb93zzJJ2ieySr&% z->YU#qwUzE@OM7GL-&r|1&7w&Tu(1ruQ&gA`*8c<O-J{ogj~}jwMlQSb z@ZVnTUV1IKT3&2FcNa1DvQlVb?{DfSicIXjSK9{%Kfc_5{3{Dg^erPuziNSrFN$0H zqTbWBrt6~uxq1)(`f`-N%`sGuX{$?DIrpO=FB(T2WC<(6W8#-*LEy(=$zy2xhmjGoV6bx*=! z<(&k?*OTW*0Zi=>WQ#06eHSdq@Z=f^YTK3#=(#* zo*Za{qxCl2VmuV$A4DF6DG44ee+x`@aH>k6t)78V;<_%D5$17kz|@O@V8XelX_=L_ zj>6*6VjizjdCu`-KKIcMw`H@YhcJ$q59~RTx1lfYT0292$psbhOI0|X)yL1vc5>=| zpUSVC8@Eh=xeOt!;XlMJi(!t%!x@^-k?l1QL=R2)KrXLV6UA=UU?$g~lfw0ixYZHb z51&RwkgKXYR@YTGgjL-3bBi2NyZYV7lLg{j&eW1D^INTgd4j`18LULkf#LNcx zbT@gw~mq}sI`k-%i+$cPz+nyzPslMFkex@+C%Tqtxdr$N}H?OLj|yAZpylJ&R$ zXnUva0rLZBc{@I+(J7V^T8oMqz>ugYbFS^2A`78Dh7g=``{pW?6Q{B+X5esVfbi`t z`}>H06Y<3;aUmk{IKHZrNqiHL>Ce@9{Cww?MWHJRSWY5p;MxN1b|ujCE0AHjzf87p zL9{}?5qFw-^EJk9@ON61CJ>HpskoIs?`Sa#(*xTrnmw^1w4~NBv z+ttu-m^aPlk!X93FW$|C5V$Gv>#!IV241APRTKg5M#q_qVgQyG3uEXSz% z+|o=AylTi934n)N0k9@E#r5~js6X{L$>41vL+tMTueM^|&i)`j`P9EH*=2TGZY6Kl zpkJs!S$pf>$e}i{C@YvaspEHvX>sMTp;aTc=618lLYLx#D@WY1?@ms7yoG-v&E%EM9-y-;Xac+j>`*{dJ zhnac|AWa}CDxA-6xGbDxKF43m>S;`cTbUw?*B|pdRv4n+|8^AJ;{e9+2 ztLOIYYzs;TSQqPIxd(BA9%EmczL%u^tlP&kRk`5ZB;P_LPdYI`c-g9;5in@Q@jEo) zRyXwg6gxn|nXuyJ@YTcP*w730pUJ& zJ0Dj`BO&L##ilFEGL7?%iZK8wOU?e#1OXo$48&sApO&zu9J?`{FXjR^>2tdD;n_SS z_UM73U_q)z7^giBnAWk+6wuH}Si9ZYlEo^G0dM3OWLXkCKqdX9Et9@N6<=m2c{tBO zA`cCs7!RC|GyozpFJK$YFy$=z?cnB;|B8EVF|L`^k#c&H6~j({h)(EPxw{;5tsI+* zk!F^JKNn+f9d7WO%`5>qVOg|;^SM>2A9%fI)n3Mv9_<*NrzoLS62m0fC7;%pbKI3B z3cAQTv+#2DJo6k8B7+uj?j=@bd^XvcDzj3alGwxuW>#acAP3rKHrTSj#3PZL$+Ku01qwiuq57L z&#?Nv#T1zN@UV!S>Y6M{wp|_3U-@`f-2T;MGS~>tT~iKsRIJ^u90k~JZynB|z zB!61I2_LnzN!u+Zkg1!=uO08D1M0e=FE^)-U#+S-%P%V~Q&cM|-~Q_t+f7OzTWL`H zh#wbj=Vq;>aWCE2!yP@qr;kec7UBN+q(2$K*&+93s4uQ9EF;F#K;FX_X;h^DG2omR-%Kl zD2>@S=p;3yP5Zfwb^DP2-yFVBrAL!0= z*AktbTES{McRk@nskh)L5)Q6mJ})a3^chOZl$;&pUgze)WkwhLxA20ZOXC?xK9sbTEMu}S+>G7ysH#-!}mo7dkmaY>}9&qMqx{4s8-=Qa28Ei;BQRjVd`ab8xF}*oXHFM{dGul`oFSVbv_K9r;-$E;mJIlhj*o=vWfIec;@|TyZYYhK& zn|nd)o>|4?d5d6N3e?@tXP_>F&@S1{=CNZg+99f4PQ~PzW~8ub5X5ql*--hI z4hwjQUe92K57%g1fq@Jav`CZ<6WvW-ViM9PyNB?$wUF8$&~@VlgpGi_i_w3-}%2Voh-#BIz72ckf*l9E*E zqHF-R1z%Gik+xfINB}-S!M`YR{U>hZgFJ~o-F=@&_hBfVq|6_=<%Yi=6_c`O%vSQS zR{Dbw!98~xW#*1mSw=|Lwz@_ z(x#B~NMQgO7UOpm)fo>aQWQyVN&$c%vtz*VbLRri9F>_)l)uz7~xi_(M929A7m_2qIzSaQwqnNj)lw!mDGL+T)U36D%^5-Z{y0=II&m- z64jv<9&y8Y5<5{_@gN56`C-5umyu+}jmH*e%1lea$7Qx=(?zL8hI8e3j5Mg2aY2A= zmzpL00>7(aeydTwx4-@Jm3`%mxm$4Sl%>-c&;e)6e@O1#-B`2BgLZcKsSxGifk)sp zeSKhte}B{yw5wh*%O=x~y!HC^je5DwroSQmvpN7^NvM3VcF8?_Q@e5Z`K!Z!Yr42T zij}|rUVQ~ixHKzZd;E1e!d;n#I*g4u2<&pM|1RgIEA~@29#dI8@hcrJftg?4BvuI> z3Xr@q=<&*0yH-AEbtP1{LrB1@+M-IsSG7+$*yR<@wb&X?>u!%UHZu)2$2-~07b)RI zWrb~glG@M_;)jRdtrP?o^D-3vR?;!{=0@=QI6q#vQyG54vGQ-&u5(WtUN{w|`&liz zCg7#3ExIt1Kl<|XRxA7tmE-npONt3m9%LxG!8k46=dqtBgp?yMQhJ^rA4zknMB#&z ze2%~AH*Rau`r}3a9sd7hVu~|rqG5M=)*<+p4J-W6Ki5{+Na8({kvr8qOfufpz?&<) zl0hfXG~_l5h}r~(mFy;fDkwNd^obzG;#C$?2_Ys2K*v(I66%dWubcD<1MPnK)81pP z$(0yX6l>Gs?>;PKj%mNJ@^vzMvbwYo!-48)>8tm1bNQfX+`Xi^quhAzy|OJu+t95` z_tf#i9fGq`V{URNP)VZlr6!k8FHC8m$^?kNB$q@aSdUKgd58a>P6V2s`mRD;v;XlN z&$Ix&!fj&-cH@Z+u*5#CnQA`_>^s05xUL{u8jzgQEh?DUx^N^`nry?s%+E7mE=*EhnDCimOL&vmy@RMH-BI>oU$n*87{2c`Sc4!<@4zxH&F^W~$e0TvplF*@ z7Gbf~Rx7M{`YI=k+lII-_*g%<8w#%3;g&21RQ7}$0T&KJWKUfgafG}7O-`IjUkGm( zRnKFrwlf6gEIWA0DsjyPhAU#y?`Ng5yCui&f$y}(WCGQ6WY+w+MmxuzSXGcr3V~%O zoI$3XztkC3q^Rj@q0Pq%ljUnrkU{iNpB-hav-7c30~c*u zfHX=Pmc^(^r-H39PDI-d*+#@q{JerZEV?GNyDKu{f5(icM>C*P9H;~rP|8-T`f0gh z`Y3~B*Q0`|7-(yrWlqUr3FqyWHL~p8n2W0#EXQd6_HE=Y0aOIYu3y~eqQBGL+}sR! zuR@-x6(#Nx*A{_Lh&dv@rIE9A&de{%ZmgHGS}Ep@&NZKnaM%X=zpOd}I6I8*&h`Ec za{qJ(9^*QQuuvw_^zBAhTMWIYVnFbR8P^G%a&XWCze55I+3^DOZ+G36Ssa)BS#j*? zF6!f?K>)=Zu(M9%=x_9IlzxOxT+=fKUfR5eTq?m z%poeh)z)+vTCFb)6RE z!0c!B$LWE_`_*+F1J)UyT!TI)kl*lrtgxdN=o;xycH=4!|S$eTL@mlJ_>AdL{qt%W;xzwUBA1i!3y-QLmj?VYE4FLtHU z0N%z=!O7wvH(+JOXi80ZSsQCDjbR^z*>{~LI)J@l57bn)8Z`U*U%t6zJhj!t*hCXr z|GE70cs**f_JV60(%#c#U7gvT`NcHfij&ZKcpb&v9)Jo9Rj$+d+SXdRaP#gSnS18W z*p=g!l;nk6thLwFJ^g)t;qJ3HS~L2rz43cDGzz)Vf5*JZoo9QogD4=#iTJ$|Fb(Bq zDgz_rx=x2L;(2w=ZSI%R^OMJJ98*6PFJo_e zucNQh39r%-uco`Y)d#5B%1c@X|Kb+P|L!Rs#BnhWpO2EwukYVa7V~0Q+O!}&+?|k> zJEHHD-j`YN0?NkmfJHdINJ5U%74m~X9WZB|<^%Yq9mylH!RgDV?s>$gj0J4oAV#VX zXu2sce*-?-J@i96AYl3cxWf&W_8;a50Y& zWgvy*CDBCdjqA*jC45T%-nOirhsj#+Y%?w=XHMZvqX;MP#?tHATM}eYPq2VSVOOTS2!iPmlYlDPbc)J!~S&qF?I0$-m_=j z(IB8lCx3~E9QTX~u zzD9|yz8;mv{50!dL>f7xDoKH1@lNni{67|DS)n1S-HJv;x`xqo)296iUmr==kjUe7 z>r-P9+`ytO%9bDUdZ+BH^06YH9u})wZO>KOs^B6GvtuaB#ZcG|8LX;g!YG{UGMI59 z1K#>BFUqq;>Zp;xH)g6UEwf9jl~f*f2UKQ+Fo2SgUpRS^%Ri}RjLcE7Apnz zVCh+k@1X1nco6AW1vdbGb#=do$0I>XQeM-ZJ4yhdm+}uEWtTrmb0WXy^M3qi2**1$ zwUlpgjeP5j6tvm<$(^Tefv53#`2Bqu}PSvpY&k(hu!m?pC0P9Xxxz|NLmz zsgb)cc6N{UU%otixNh^r@%${aa9v_S|#eONrs62Miv`szD=A9DRZ zeDmkEFB)F?&ueeju3H?y#iyO9ri9`=N!8ufoXm~`k@pkH0=U`w%I!;48VdEs7Jq#9 zyb>#RYd;y~^9=TD8%n_hDY!ze;w;ZuND1eMbt(fZD9}>BNQ(War(82uM-f8E%ZpQM zh8t&*WlBg`NLf~{_iDy(fY4!5xs7?C+irGpT~)56l}$1cmKU$?pU;~`{wr2J*4VW| zS#h1A6op<6dKpU6@@PF(^iQYSIvH}LMtd3pfXF+Zyc045f%q`P-WehwZV>S_2IvIS z2iz~S?4qsV_e|{w)r~bdP^xbY*QZVQfd`{$(@~kIqmuD6b%-*&+lG?nr0ry^H_zNF zuuoK6aPCcQW5i@af)MGexeeE#G$*sOHpjw#s4uvL9#dmGXUbuzQSzXCYp#Iqvf!kM zLZ=~DBw{3poY|^aZ(B0Q9)%D%K6&fIz9KIkUEFo1jG;&vc<?i8@{{V3dy^_MqhS z=98X(rRXLZsr>*St}|us;hUe=F#2m-Yqfz~Yp;b- zkrCL>Pu8|pT_24hZl%9f|NQvz?fNx!lbFsXaGk|cMXK%g=9U?4rMs0SD`~;ryrxvq zq$gG{Yi3kef-NSSSVuy{6fA9g5w@L-RFT#-GXzUWxg@Qm z#&K{F97B<0QbJBiAoGqYyxlO@C`OQVk5yFnFCxRRJQHX?<`PBZGCd=24QY@pow4RLc!{LCDP(&&Q4qAncxq^I13@oV5iKYpM)W7W zOT#inom1HpH;>){Le@~h7{Y&KN`hGy)MX-~g>{uuwX_;VwbQ_*>IGk0f!jO?Cl&38rByQb z@oee8G7|d66)lcqb)Z(Ac1H^4x{SG1QeM>+qC1EgErCimtqpq|SNn_@p^Yze-E^qK zIIh#M9}JVC{;oUwk9|pq&Qvsu|KsN8H~yikH(p>zWIS^!#c1$bJ!8}TeD&p*{MY@| z|GoRwSNH69`TWkkFYn#|AIawD7=Q&bAKc^r51s$tRq`(qo%~iyQ?3}GsuGKFdm0a# zQ_L-OKf;EVw!B5QV}9E=f#WqGMb5mIPrvQkTX7>`dAQRN^|RyTM#s0%K{dR!(2*84 z;#@vK!7*F~5Aw)-ghYc7-p^eXvBCMCyfN7tv$iewQLl2H>R6kd_?ivPO$_WrjjTjF zuU@<3X#06v>EGdHDav=A5~%{e8hC7CZoVHxjDvX4G#COrM5*_QCaL`AfBZjXIN5lN zx(O>zkYm|R9($5t5#M?fla|@}VBjKcSyGteL?Jv6#;PtQfk77dR0(5L;uN=U6S_Nu z!>Y1Dz+GY?}qiEB|?xoqtTu=A&Wjn?dnD0l|Pi*F$co zOkDf+oACsh#MAk=>ZkZ)_C7n{Cm0}eu!DpMnij*bR$m#jRnSoMSbzqRlA*A| zNw~^r_|Qo}Kbw>umqJLVk~;toj39$NqG<9MDCVy7XtON`_dUfL2>$gQ;SG>t4omn! z<%vZiBP(*i2JMJ%K_2)&Xkq$q)HP^nuAPo#^@!28?Nk*iBwF{)0EU}*AvaYI0HDU zBDw@3OQe}u!HrCzHE7Ho=Oj@_v6VS<(P=Al!5|wcxV6o*eH_)9;0BE{41LiFPwO}M z>HxZM@-4slKEEhK(aB_X+8v+vyW$#RA|DlJR->@o#PBI(xRvER**9&w;^kE&dJSi-EOrg)~# zC{niD@53Xi<%g-E8KvawW})9OE0x;z_~NqVEiZR3)?;@fC2!k3()%BaTtWKZ=)S}7 z?__fjgM@WMwIp6O*MmstiN3fIoQ|3R;{#n`3d!FJ&#t88akDR9HJ_YHk}dsa5}%Tp zW`VJ8sA!gJSqHm+Is~cKvm>_{JkDs~s56nAcTsc^z3=-w>y1r(B4WgEQ*01}WVr1f z<6=D7sexid*LoOWY=r2h$_rKRZdtbYKbOb~kD6a2HrjAh&+XUOQP-X)^Ff3aB zWys^cWJ|ZgO8ze?HR+f~;@A3#)eRFSHTa58hm+%M*tLZei7Lb8Xl9DLj+)fn3n6+FZk1 zK>J_$bpKX1<`wq;mv_JXs%HOh-udd@js5?5?0>Q>3j&;9%(5FIVhLIpNpO1F#vo5~ z1NZi2-aD+e4ldGVzO%&e%y=o=@+^2&zG#IFS6Ka!?IIk{>t&>PP`_-cn;h3^p#i-R zni?LV;X55cYmm2+_jkC*w)6ol%Z&u|yFkA4Rq$rySV*F58ry$ipM|#8vF( zSpyYoWoq2na8(=9k-fn~4!``>DF!m^FGs~Z?!LS@?f)u|d13X`VlT@{FtNL()mFHh zuN#xl$0ga4yc*G>OMF1O;MTaBnJvOel*}Lw>nRo2MY?LVDi?oG79{CT*%~nLQ^rpd zAajoJO5_Slx{xyz;SBC>_=E^WD=&+E4@VZ64`>j!LC_wtv!CEt6P$4IM2xbzq)igp zLlKlf;g0_kp3uEo%M)%Alc_+a61nG%X06pp{_{Wn-yaEV<@xH)fOUXp1+Uou`p^IP z|K!>Ow9izah#tNK)8YbY2_99s&KU0-cvFPPc4qo;i)eY2C}e@+=UlJAmWL-x@b@ zhLDwa0L)e3mukqk9v^p~50kTnPglPgP zrH&nh*jR>WXre!{OyohRsH(bLe9a<2CA`?u5VR%AR(Z5O*Pd8s zVm>^Jo2K6YnKV|;QDJ9(5NVI$TB!(dPva0di;D@pJyl(;?T+tcw|sxPfdhTdM)4P? zB4Mz9Np?j|N_b%Ms9bTR+jP2*)FI)SVEnXtB7wHCKd{Co%(iIjp{aFh=a7|-+rcii}_rnNk zE#v^O=ur2Wkv)f~y{6Jd(Yi`*Zmi4W2JoT2Z z+z3iWZSaLfrQ6qz-5zFr_vyw^DO>2;Z>yJU~~o0@&K$XY^{R zWRzhiMaB6sXHqn-HXbRJ|Ie1;>cx`K>xrF5-9!%#;6R;gsx zS|dIoIBG_MYw5-VZ!QRsgvg(eLJWkJ5DN}YA158%&Ye>snBee8E4b^_u=N^Rr7O}c2Ng7C;56wU-6aB?gld}G zaqjl}?c1VQC>)T7SBlSTKLQT~5E)cemj6Y8Zffu&ag8}6cK{ELhL@rmG;J_C5O^3s zb5X5Ep{EIk4k;8JDU!w{X%oInPFhl-vf5_Vk67ccWzm|kMq(4U+nyjpnv%pcn^=vG zNdlUm+SC9Aoe=l;n`YrLf2@TmAj92kKZp)b)$(~_63I+J*cU8) zBNYoh*_L5br}Q%;p-$S9kue6iQ~*{1NP53ClmO~K(C}t?Fft;WsBP@SOpd5J@@0W& zjPLbc*Q?3dU{s7D%Of)he$>U7j-;sINg2nT8dK7}vnWG1P!p{UF>BwdN%0mxJl9$@ zpRR>P=w@4J%-n;dMZYdvYX6T%{l8)Q?-lm{mtSq(uiO83?|;2{WB-31`~SuBo!=n+ zcWgPIgtKv?Gr23EgnK*)d|Zh0?@{HH7gA% zB{L$lSnMH-i@Q#pgpordvOq!mk^H*5qn3aOdC`+eErs!oGM(4fZU5>uzj`%IX&-qw7C= z=3X#08RTF0Mc{?)Ooe#HTeCcT>}_MEQDN4P-F-QLYJ?|xGEkKgzqsePrq_iPmO$m% z+^ImLidLNUXA?B(<{ptXuaV9t{fW{{S)pbP3^BYZ;VJ@KUz9S@j!IC;ujBO0LaXH( zU)B033(02|DE6Ll$vl2>5Ch^osDZVa-b_!VW_U!kB~b!@h`E&>tP;JDu1TG#@ByZ7 zD34yfe73jqZ({qURT!SsX^oxAERu;+35I6|( zD>?*{kc8XwQohyNO4h#kIZ{Hl{?|b*zf_o+qLh9)V3zA<*qx7S(qxk&BW*W*<9C%D zND+TfV|%6mH8f~nePWB$ni`tp=a;snz9hf!9)9t2{i7|dxcS&xUc&D3sFZb z`h{!mTa)3P_sLIxiAOVm;12yedbWoJe2XK5+0n$%N~^jLjbADD3|FqJyfvu-gg3*z zs@&z z?$H#t`C z!(X$+;z(`N5;MW-=B_@}jRe?HRakv!e%1W`!&Ks}5`uqsWqFEt>ATaFjM;}jul;*A zJL%%2q3yo5wN{*tC$oI*Arg2pI-4T zmm3b3Y>-XiZ(dq5dLjJMPu)q>aL{;-er>sZ99{?InLA45wO&BptvJy@?-DWwc;Q(ok)a`+miyS=lwk}>uLYY1a(U61_1qdR(LnQ81 zVW-vi)C`TU^G2@fm+~ly%-CtvcpHMh$|)-h9oA075Lt%u6V2UM99xt5SH>|aply=# zCy8{1q32Qj=QVl?^Ea;o@3*WXbNEe8Sn$!Ykuxy;h}NV^F277IFPO1#`$Xi}5lM{) z_9!PhVo_X3f+RxiU7^PG{^dHK<}#T%=PzQPh8wBIKn*6X^jfsd-eYMCJ3DqqJ!v-= zb*5$<`-|B)V!{TxF4cgU);Wg3TTbB$tgHwtYQ9Ir^+mobMkGxM2-GnMNsRMz2}lUz zVtSP?imz4%UR;b*JxKS>0GMyX^4r!o!f)fM@+|GMU4vOvDZGUy}h8B+4Qg zzUkRLt=4u@F1XZA7DLyi$vbzMuKN(G^W`F%+ky#pPv~mMgARJqk_W!j9XCkslD7S# zw5sOy_sgahXb>N}-NQx4!X0kcg;fXPJL5gmnwvcwM04S)v4q^E6BU-ey4{3y5f zhvqnBT+DU1TfLpP_1)YL03_rW9i_CqDPPA9jaYL>sR3mP+nViE7HCnH3qDq2eU(s@v=NswM+|FwCsj8- zb~MX-+XBtVg%*Gz1vejw6+Ax`s@nZo)YhtCVFj!PZt*z3povW2lRUmxSeg;PCpnHQ z9G`COF`a=M_5GLes?)=5S*QI?A2=9x-C}cVR2K82$=u_vl_sTl#AqrV;wcatsliPR zkjnyw&-_E*3Bnv{xF#QznOUNhh*n6dy^(Kg?d=RT6+{x<8`oi5x!S!rvlkyMW=f1U zBWYR+QrfNL)>j*Dby`k{En?CthWBIyDmA!FL!R@XyCTrg*TrlFy+qTPo5Z^6I#zl# z5MILu^8F2`BmbbFV3fq&`nL z5c&r|zzOzY$S#louny328fe@nOn}^jmJ+B!c zlczCl$=7{_0}`_haSESJYB>aBTb-E#B39BOP+vUvMCpO`meEGvTb5xv?Q%JpCQ6EW zS4`2|o29&?x3_+0^Nsv@ekRZo#83<+1<|`9H-r)}6Orh-?0CRWCnf3*E~-&jMX@hQ zV-J6h1cO2{`~zhT^*Li+#s+E#870ZHNdC=@0aP9q3U9}iGsrfp47V&#&9NKgJdG78 zSW<^@hvt$>w@sse^Fk5Ll6&3z$pH|}k{_N~wpa*?pDj+Y+CcB+G;u?RlP7jw#HeU& zqw~WvprSqMY~Q*2sPp27?_PbmVb+uoK|KMO_3x9NSFfGY{?(Vslj4ySq>o%<2!XQS z_cu5BO+?YzM-jH0IG$B=PfgMXt32Fuc-5#4Wtpg=PGdX|Bqex6pgnrc4duS zh)Hy^zoG(#yf{762FF5x2A`Cvs3D1_O=)Mi7Q`JEd)6ty^sbshNGY!AWQk>YiT+A~ z;=_SJx&~O?mtWo!!Gi2vL8i`;0zn~*;uG<|rhXyD`Sx`R;ZoT&&L+Spj*(CFm4Hm5 zM${G_nIl?+5qv?!6G)^F2%PXJ@Q>{3CV>ry;M1@Su8!!kj{CxL{0ZIYWlXfx-5WXc zq*Oq86FwGBr*fVVL>;#=X(57tX2Fz7R_Y`Yf*%fjVx!XEaw9hHSSHum3h4MFvsxi~ z4aFR96NC3P%Gqn8_^pg7R%OtykH^&7X?E&YFIwr;|IOn@tK8?cPIr3^V%Z$%O`o15 zjhkk*yX@{+@Rpf?b?c{D#8N1>5i%_Xneur;Fh08LWS-QAe3%Z-UAbZM^PC)2yP@M zE*sE`?ixP^G6LRO);jM^ZquS7*{8tnC}-4Wa+ zJIYZjak6V_ZtaM&kP9BA$j@?$VzQp>cR;dNK7a}KSgIih57Mmf* zSd4;Wtb1-%;C2QJB9=0xu5+qdG4hmI==pczg+hVb+*g&DC@VGBm!GoKw-$nP>t?%{ zsWYB1^y0*YZpNc#R1lp?l=PVKV&9v~0C0dot@b_3^S<%bKJ;?&;@fhgYeZ38` zA&$aQk@uvDwy4=?fI8v}XBkTwyocRM9#`^oN$!)ncaswFt)JAgE_0x`YuLFL92 zdb=;{2}P8_FNL)$^$KqMgoW5UUE*;Lchu%&IvKQMF(YZ;UiHHMwD<*+V|^^yJ2!a< ztO$BllXjbpN#u@JJjFlD2!!YY^VA#q?nT%~b@X?NRsLk9SB2Lf_8{Y(utKMcc?Sru z4^To3;%B?rN#pl#?!4`4QrfNFpL<{Q+V064AD4MI+R4wZ_sGYY47QTBS4dZB zGYdAOGbs6ayNXGhDkkk0KfB(2boZ}8r3a|bp?m8!*G2?t)I;Le+D9~aJQ-YUC4W44 z`JyXoT5)o5>u2f&TS=wsci*;^l?{r|o1dK+%w4l^ovbO1@ObV%0H=i3QgCB+*FNIT z?86aLvE9A*?ta|Bvr*2NxyNiDJN@r~e{}WuyLIO-3e4SQA2(!(-P4@HeR?b1i_T@Y z1GWT?@r$2r2D-rUT9hACccW7|Z~c@1V)Aaozmi*F?ji1yrS%%}(He8j#9n%ZW*}c_ zr?3aE!=B(IvS8I|qPkI8DshohADXb{$x0AU)|$682JU3&RTNrwO7(mgMmw55Ax;^a=up!|I; z(t_1Q1@vtj+_7XgsSyxLtrUHVUL~i$oSews3PrO{ANIa3?n2Y;f_nvOaOxD9auN}- zhn!|7T0%0wQjCo=9g37%E!|{)g3@+E zyo5dL5wjUTkoVEjMI9p3U2r5gD|%K+OlGKZtC+?1&;wB>i6hRETobb15~=dE>N8~6 zuT*~}>SgXgDJG7+MRAHqtp4sLNp4^^fPHwPQ;d_xZua0yvw7BG^SBS14HVYa zsg<%K^3j%SmMoTah|KlKVp(6ZSk|S7NzH1(XCF84-P;Y0>Q$y6=JBH&V>cup)uc<3 zZnvwW)3!-!U(Xc6(;w(#y*Z@KUup&=$u$h2kF7r*$gYO7#9WW2t}G!Pndd0lvf_~_ zs!@>0<=^#&5+#sg)M_3|&iXB+-jtH$HFNJyDT06mJ&f%oDiz2MAz2BhNDv%VJS(z# zg21948LH%M%JzP}2f-OBM##r95#)xu%T6g-gwFyCS!%JbT)Xc5x*=)IjTWmFKy3ND0HuPBXjYTC?U#EAI;mmjR9@2Dv_&4BJsYm114zf*d%^ zE?Bd{XIA6S#fb2~k{Y9B0+86pM2dmR=0qSZun^=?4A~1ot$Q32a+Sx%DQ#9pln;uz zRS>0izR(s-rJksoSs5kwT6C+Ch8!=~Si^ARxfZCgA6>!IFXaB{7ULD8CDz5~c4Ekwk(BpbGUKFl`%|3p{@Td;1GCSIx4j z{{CnPCiDR>KC^)r5*T7hWSh*)e7VyYznr)B)cdZp2H=K@d%jz7nWpjoCj5FA|v4z z6rQ2APUDO#O=Rf$3` z4+528C7A}tmxPR&yH6kJ9uZh9eNnxH^AnZ4VsIHMR`|;0rJ-et6(^fbycWROR?VY$ zxn~%crL`Cn0#!Q3PPlD1D&~p`sbzv}2oXU;0iHNZM_L?Flo75tUz8Fgrsn{5Abbm6L=&ITL_q!l;T-SZpPjx}8XtWxZOzy9FR|7OVl`#T8BitN>jOk_I5_K?*~jXH!okbKv1N zAID(dk2AM3#|K;mQOcG3>yKoiVKwS(GM2wsSztXuCQAxeX%AzMWU6ss{ej~xkR`yg zj+Zg1QP6EOLiEyyX%PgCb25xjp-GEqGvmfuHy^9 ze?$vJkkHx6WM*c!<=jesq?09$%1SI%4$mU?8IjA?t~a&-o4F=;bO9Asiv=+xvgWuy zI@0xj1jw*R;0*GCdJ!8R6FTOXC%zu%R&_#8gN;bH>0!F#+wx5|7#z7_%hSM2awNiE zK29VJaal4ncCSfB9GWg{+fNUpw(n-=R8je({T))zZEJ&dVfm5kWi8~Su+t5z2qXb; zz_|Xc)>w6#C*w!}g>BN&m{weX5pah?INHi7GJwDa5<5*1@b>seg`BRQ1QeHp!1EKg43 zD(cdRIn?XtP5@wZYMg=P(P4T8V?bBsDbA6J4ZEGy36j;w;lPAl^JEd3BK^YIWA5HG zDp`W6OjerD0wuzGBcTnpq!GidbOhDwe5P@2ADh1c6iD?NDH zYCRLwVxGfD6Q}ZJFtJl=B;tQS73zVgZ)%Qu=_#@jqOrYltB2cl!Ix52YA^X9?ssy! zfPNNoShJbn+=h1#^l9=&?p3|XEh@wU8-UH{k|RAii6$Yc*Z0-vJ6()&QQ#BC=~z}YiYOu5 zrk9UT6;ooFLr@@cG-4T1jkC=8jP(zaW7{c51J|@l`Vl?)6MXiQ+Z9elhUMY@ zDxJ_=`182bd|YD8r(IJ|YEFoNZY=vedSxmmZM6YBGiIB4(R>X{)0Rzc@bZge*Y12F zpN?}HX>RGdUd@gRcSO!EBtDysbgRD`2ZI%P9K-CC`mh;oO1@SW*O?QsCzx-`ihmBSx1yrI4cT}2|lRQ`BG-{B)p)| zhPvxHhhgovSsB}op{Ak{>BxcxvLQwx3f?gMUCB0;6(xnbDD!Y{qY&&BdnDL3-or>6 zOn8~2^$|g6xgl_CRIE)mK%oo}hMFkOD0lF4E6YV^xGSc%Y~kPzyHbQYMZICitEoZL zT?MRpE{-K1y1wnO0Al95ZW4%GnSdO443V)j?_esN8hE;-gOkG2$wF2en6SZ7H-p+_ z?uKo%Dj~12@|^A#F*7W=(?k|`Cj03yox!M_4Gq2sUIKpg4d)48)w>@HU0#7KZh=X$3`-CJ z%npH~%S}xkjF>u|DVSyTxdvF7CYe2vabeY&WA(Cj=Ck7TG@nHZ00qP-o4u1=pZNzx zN+HQ7yx2A~mZbIR*hT+Bhvjk;CAsUZ^?j(kjY{Kat{z>l*=d;kb*k;)yz+{1Oup}jKORK z0<=s+O-f`@niwL7aUe+TsexB-07wbnnNTJximb(vFgiO=+$a@OO^+uSQv^5 zRRX#qW37vszZahMFSq-kJEC~oowc}23%}jtWzh$SsMxu+Vl!CXP1`SjLZ7$&XjOI# z9kyo^9s>q?!HQS)>nQ&dQ5}7y;C!M^^T=WB*4wOKP>w>H#%_RMcZb|4Cjf%LlUMKF zBoX}m#s2{}S@yD`b0X2*Fl(h$Wp|8ct#|PK-m_<)mLhOP{Qv&_dv~hw|GS&_H^01z z|9_63PN&lv6Qt!jv)_^w-l^pKA*1WEi~th@2-%rUe>|IOJ!)epnVJy4ReVVz;RXsOqe6bf9ibar0LFNdNBju&td*yzLoetlUx0b_O=gq0e0z5T;9Xna;CR+Gpc>==t`})4dnFM~5%J-+hrr_z!RVVh|28vuWSn z>UMkXe|5M9yPS5xhCm_u=j=aY$j!2PU5jmfEoa=|P0o3+%`PI6D~&cqnZ3ZrOFAdz z0TO#d(_0+{*uHc3>n?HNx9&Mv_7Nm@K5@5a{kLKh$<$2#<(pep>R3yu)r{JIF8@4U z4=8x`AzRysDLj~MDFyeDRuz&}#CYyF-Q*m;Ck1=7P2%h9qhV`KY*y_0N@L~wegu+; z5#TTw!boWIVdHRxOwqHyQn&#i2iLG-g9L(3w@k(B ze6i+-1lYTp;wurYP6tbo^W)zW+1r-bB#BG$>Ic|lyQm~-Rpwgc0>wfY za_)YwIw3Lrx8M0}?`g8Gndhtk*h-dC>gBpYvi|d$&hq#9#oE@I^=_@bCZ>`5?AnX- z<9dL@@(Jr6FgI1$NqAT_W1h}d|9Jf6&W$|)ou>IPo0j?Dd6`-$Vg}z9u$1j?EUReZ zwo9l0@^mT-(Lo=hO2|6XOb4$y9M6iuX-)(Y`&DJu?VMe^-`_`aTh;rZ=(z26U1fo#S03&(kt zYZ{0RvNL{5DvJn=sh|Rih58+kOkTXlZcpLZ3MZx^8&ry60@m_XF?2%cj!ljBms8B6 z2}yK`6>UAAXYpN(Q#hJw9P%G^$Rn5!oZw9ZPW6we9S00YhX=q+ug@rrV7Zeu;UL1yhXRvZ840}uJwoW#2QUt9@P zWCQ3UPUb91NfRX7zoJ#mz4n4FTiz>*a855UUP8r$0OX|&i@^kB|D+|V(D3lGxv7c82xXB`hsj?)16iAc7a z)9YS-Kx=7!LnX(bGNd}Vjy9Ouw0@v1{M5oHchW*VH@rZYDu9u?UY+IyQr&q2|J3*Tz9UY4MQ{Ax;6Y0l|0v2ciVaQ z2&B1AI$@#u*8yc0zJZt6PIt+i{a&({T6J-?fDXzD7|4pTRE<1aSr7bJH}9L-9@hGx z_WS8dcJ0`J3ME8QROcg(1yo@1pZK?#ulEt8-1JGEW8;Vx*@|CrvqOR-%}4q_nx_@@ zc|?5z*mAv4oYsbVRM3REZO(b~sKR62!)E%bcQ2zUjAzA3{JZ!J#IVL{43kjKTP^F5 zNB_igZNCIR^+`}TU+Q?E1+H>2#6pQyT1IU#GR>f45s`B(EWgZn7ZXzoMNh@#S7b)1 zTL421xiL<&>Y>c5VVzHTQj5M(wa{tn)@pWM1CBalTlB z;A!d=}AGhqFK96ej3>uR767K8Me*0_X=z zk2>~HF+8;CMy})h>PM!etV?3G58zg@az#0i(uHcq!m)oMa7XtUqDhH`o4-~lVovL5bRkL8&HcLB0tA1d)gCC zk;7$3Wnv+94+@txJxU099UcUfG~Z^S1-SClMah2m&+nIuwQ+w<&&@gb`MKSGr-m*? ztdvI3*si6vZ2*FMo#)xwQK9Z6nKbgb`g{uDsi)*`^VQ9#$)9-r$6uiaE7nSz5;@#O zw0x|C)dXY2`$bUm`$=3KPI*BY5YTQj(t&Nn{uNlY5nOY`An=SWVYij;1JLl5@5mF( z3;WK8V@+l&;v`x?&;>Vh-hNZRl;MJ5t3YaKhhO!MyM~53^KuT=i0;vuDap!#1nM%L zh0rEMadW;h3NF1o%JR0Edzq{InYSp%YU71kBrF$1ed++8tj6qUO7WEa8Pezw`kTu5 z$7N|c3O|Q)AC3m#zOHuL)!p^_2jdTluW&mxcg*LXTy3|sdoY|O`J`Ke+F!StCx>m5 z)ETOrpg`4;$X9gRIPTO0CMMvlmURrjf}42k$Lz z>K*4ef8f)8BM_F(L=9x+1(?bG-~E9-JAcQWEh4tjCEE{z5MwV|4h6pbRkYMK5djEx zp)wt{)BM0U@Z?5o90TMns#lYH7n=WSn4Uypm42>HafwFXv^(PuBvqVFH#ziWqI0ymd+|`bHZvVjY+3 zAh$}z=WAC<$xA%v2{-(xzQ|FEElLfGoUgO>g}BR_a};$x*;`5yY++FMMCg`Ujx4V(k#=bX>7vC zwnjv3L6qv1oS5IEm7FHl#HTE?D zmcySP+|{6sMQK1+W;dD+@?&nf*&Cg<<K&H>+56xcnDS1)LC9>Ch|}yETH>GOE|O@96(+> zsZg?KMHx!faH_&j0y?TLMaMdN<@3he`yj`8$4qJLIW$zN{g>Sjx~aIKV|p@IM1*{A z1%C;Pn_MVohRFhlHl?{_zycesn}9U5;#ch*%tLtTr!Q{g|DK2V%u7t9LlBkl($iI zjCbMuFeQi!-0JCH#ByEm<|JcQ8P|5+>k)kMlPZy{#f9n~TEF&qax=^%B8#rbRh>05 zyG7v^Pb{I=DViQ6SLffXYYqt0*YEz~*R^U8wJ;eSR%bVz3jaB&z4T@%OkoL&6 za`FI8zDY~b{a9aIqTI>ax&!u_IBSDn1R+gSIg5}_+h-^^m|S8t1H#45-ATeG~z;9n@2;NUOq$jpCttOY*31i@w0EH zy&A4HbMGe8CCz2NAG;wml`@Zp3l3PfrN5c#xqi)G8?yJ9bgoMd{&c&ONrWMLy^+CIT`N9L5s2JyvPZ&seV7YBhw!mtrqDG`)GG+X6S9 zKe{NK+E|-sP@68=H;$Lb$Fs^*o*9YpLtu}W1F=2ln6p5)r;)nF$xY$4z@kWYr+W@G zqkI^gKA-`Vl!)BCcKeM=ZJIc7JVoLiRmqcY!GB;bXNyufS(9SP#s=>+$;A}-BKMam zaEOH1AA1e=Nz0s;u|n?F-+>ls{QWNV=hTPy73a!5pjly_zn)1EEALev#9yL zf(eKO5JV6mpQP}n!8*Gd`{WRdxVk%H`)c<8%Y9J-`)^UDKu75`y*#w3uT4? zZRj{HeWes0Zdz7(flD%rp2u-@yWZ zl4e4W@3~px75NEO>lWmQuh;sgtQdECIf^#V(EX9l_I)Q_{DK0s9`IWssvGe`At0ks*HKOg;s8sLMx{ z94BmRg7DXN&IrQoK$zBJQM30VI|D4y+6-~Mp&>ZAZ!?OR^uP1uVvt7#5Ac5i?8UWm zcptS4S@4WRe{dZZ>oFjOB$@Hq|JpCUIq*7NFj3#=b?DGRFY+i7>gnY*<8EK)&{2nd1vsn^iZ*Xa-(Uar z_}$%{!mdGW2vOV`%OletU95i%o=zjS2bu^+flUKq=mXl|x4R3-*O|aiEjHx{)box$ z-1V~?v%D#|sj8u5>74##O@d8uZDm-SkPs+9m+MOQzSJr`cj9u$TG$nnNqu(u1A~*r zhh4@QUS@`mp$7c)u4TW=<>2SBro0N3KNF(DJC&MsBrUfNw?zAD_c}Z)KWsZyw1Mr{ z>#LYkX%=5H!KdB4!!96#z z5`+jZWq|M%z;TqRI3+%O(Xp#6cAVD^_98qo72J~RnDPYzTUgwQnioqXw}@G?1)cE2 z`3X49koHd&o^rUOpqYnS1q$aY-Doxfwde10GTdw=`GK{evgyt7)yy9?lUmg~%AMZ8 zBDDRytnmI-m<^zW#V59iACR)oU}dL$lVAH7(nZo6)j?*c!1#lv1DC1U8jIP3tjX${ z7h9UfL=!OKYG-LaBwC;cL`pcE{4u9eg4NTeZ-pvOCAZ;b?M;23l$?@HKa9M69EmP1s%$xz(M+oPqh!Xeb#)rWV9 zG=Lau-uecH5M$_SW!;W)2CGo#(FdcHd4`|6CKj&~(PAMjEsPBvO!Jas%h3B=&hz`T zbnlr{N(QoC%BkV!lI;fOixOhp#wMua`nU#M9<#ZIiRxhuG1tT4Rq_b~a&HZLG2^(P z9HL!EV&*+Xd*QOuxldF1V~NF!Dtc5M(=zmy+V6TWKaJT+9#ffUdE3Q?pW*+$I<2Yf z7Q$C=9|;EN;ny05M~q-dhGV0=86&aQ(DL=_`1)leCDeCl#vCvrh=`1M#+@R5sENPImX^lNUW`t*Dv@xVg)ULuCY7;%MH!! z9AB)*WMyU+rP$3ioJmR>k??RE!ezdNsbDWimXX{0Yo}N8_7ct&OxWib`Uwa=kY-0) zd&jjZVSlB)2vauPOcX1762&CXWz0tRxMJsMT8)>^{=>m?ZexmHzl)XuL29-@cS+0{ zKLpvi_wv`_Z29UDK2!;G*m6G4LUcm@u)~nQ^~yc~90Zdyyo;+ncwcEq|EmD%LhD-9ZjbPh{7C@HVS9og?Q8Lh!vK{3|McBX-_dH5^^XzE H+#~oO-%H+3 literal 53538 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 g8cU@avSlPHznYW(|H;) { ); } +function reportContextFromDatabase( + db: DatabaseSync, + root: string, + sessionKey: string, + prompt = "", +) { + const records = db + .prepare( + "SELECT * FROM report_contexts WHERE session_key=? OR substr(?,1,length(session_key)+1)=session_key||':' ORDER BY created_at DESC", + ) + .all(sessionKey, sessionKey) as Json[]; + const selected = + records.find( + (r) => prompt.includes(r.incident_id) || prompt.includes(r.run_id), + ) ?? records[0]; + if (!selected) return undefined; + const report = readFileSync( + path.join(root, "incidents", selected.incident_id, "published-report.txt"), + "utf8", + ); + if (sha256(report) !== selected.report_sha256) + throw new Error("Stored report context integrity mismatch"); + return { ...selected, report }; +} + +/** Agent hook registries need not own a started Gateway service instance. */ +export function readStoredReportContext( + root: string, + sessionKey: string, + prompt = "", +) { + const filename = path.join(root, "state.sqlite3"); + if (!existsSync(filename)) return undefined; + const db = new DatabaseSync(filename, { readOnly: true }); + try { + db.exec("PRAGMA busy_timeout=5000"); + if ( + !db + .prepare( + "SELECT name FROM sqlite_schema WHERE type='table' AND name='report_contexts'", + ) + .get() + ) + return undefined; + return reportContextFromDatabase(db, root, sessionKey, prompt); + } finally { + db.close(); + } +} + /** Same incident/event schema as the legacy worker, permitting an explicit stopped-worker migration. */ export class Store { root: string; @@ -415,23 +465,7 @@ export class Store { .run(id, sessionKey, runId, sha256(report), now()); } reportContext(sessionKey: string, prompt = "") { - const records = this.db - .prepare( - "SELECT * FROM report_contexts WHERE session_key=? OR substr(?,1,length(session_key)+1)=session_key||':' ORDER BY created_at DESC", - ) - .all(sessionKey, sessionKey) as Json[]; - const selected = - records.find( - (r) => prompt.includes(r.incident_id) || prompt.includes(r.run_id), - ) ?? records[0]; - if (!selected) return undefined; - const report = readFileSync( - path.join(this.directory(selected.incident_id), "published-report.txt"), - "utf8", - ); - if (sha256(report) !== selected.report_sha256) - throw new Error("Stored report context integrity mismatch"); - return { ...selected, report }; + return reportContextFromDatabase(this.db, this.root, sessionKey, prompt); } close() { this.db.close(); diff --git a/helm/mosaic-stack/files/openclaw-seed/extensions/alert-automation/plugin.ts b/helm/mosaic-stack/files/openclaw-seed/extensions/alert-automation/plugin.ts index a7318e3..41a2821 100644 --- a/helm/mosaic-stack/files/openclaw-seed/extensions/alert-automation/plugin.ts +++ b/helm/mosaic-stack/files/openclaw-seed/extensions/alert-automation/plugin.ts @@ -1,10 +1,15 @@ // SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved. // SPDX-License-Identifier: Apache-2.0 -import { timingSafeEqual } from "node:crypto"; +import { randomUUID, timingSafeEqual } from "node:crypto"; import path from "node:path"; import type { OpenClawPluginApi } from "openclaw/plugin-sdk"; -import { AlertService, normalizeConfig, save } from "./core.ts"; +import { + AlertService, + normalizeConfig, + readStoredReportContext, + save, +} from "./core.ts"; import { nativeRuntime } from "./runtime.ts"; export function registerAlertAutomation(api: OpenClawPluginApi) { @@ -35,8 +40,12 @@ export function registerAlertAutomation(api: OpenClawPluginApi) { // This restores the complete report on every human follow-up, rather than // relying on a transcript-only delivery mirror or an extra synthetic ACK turn. api.on("before_prompt_build", (event, ctx) => { - if (!service || !ctx.sessionKey) return; - const binding = service.store.reportContext( + if (!ctx.sessionKey) return; + const root = + service?.store.root ?? + path.join(api.runtime.state.resolveStateDir(), config.stateDirectory); + const binding = readStoredReportContext( + root, ctx.sessionKey, event.prompt ?? "", ); @@ -49,24 +58,30 @@ export function registerAlertAutomation(api: OpenClawPluginApi) { `Incident: ${binding.incident_id}\nRun ID: ${binding.run_id}\nReport SHA256: ${binding.report_sha256}\n\n` + binding.report + "\n[End MOSAIC automated alert report context]"; - if (ctx.runId) - save( - path.join( - service.store.directory(binding.incident_id), - "context-use", - ctx.runId.replace(/[^a-zA-Z0-9_-]/g, "_") + ".json", - ), - { - at: new Date().toISOString(), - sessionKey: ctx.sessionKey, - runId: ctx.runId, - reportIncidentId: binding.incident_id, - completeReportSha256: binding.report_sha256, - completeReportChars: binding.report.length, - mechanism: "before_prompt_build.prependContext", - completeContext: prependContext, - }, - ); + const witnessId = ctx.runId ?? randomUUID(); + save( + path.join( + root, + "incidents", + binding.incident_id, + "context-use", + witnessId.replace(/[^a-zA-Z0-9_-]/g, "_") + ".json", + ), + { + at: new Date().toISOString(), + sessionKey: ctx.sessionKey, + runId: ctx.runId ?? null, + witnessId, + inputPrompt: event.prompt ?? "", + serviceStartedInThisRegistration: Boolean(service), + lookupMode: "durable-readonly", + reportIncidentId: binding.incident_id, + completeReportSha256: binding.report_sha256, + completeReportChars: binding.report.length, + mechanism: "before_prompt_build.prependContext", + completeContext: prependContext, + }, + ); return { prependContext }; }); api.registerGatewayMethod( diff --git a/helm/mosaic-stack/tests/alert-automation.test.mjs b/helm/mosaic-stack/tests/alert-automation.test.mjs index 24dad80..b40f126 100644 --- a/helm/mosaic-stack/tests/alert-automation.test.mjs +++ b/helm/mosaic-stack/tests/alert-automation.test.mjs @@ -4,7 +4,14 @@ import assert from "node:assert/strict"; import { AsyncLocalStorage } from "node:async_hooks"; import { execFileSync } from "node:child_process"; -import { existsSync, mkdtempSync, readFileSync, rmSync, writeFileSync } from "node:fs"; +import { + existsSync, + mkdtempSync, + readFileSync, + readdirSync, + rmSync, + writeFileSync, +} from "node:fs"; import http from "node:http"; import { tmpdir } from "node:os"; import { join } from "node:path"; @@ -18,6 +25,7 @@ import { sha256, requestJson, completedReport, + save, } from "../files/openclaw-seed/extensions/alert-automation/core.ts"; import { nativeRuntime, @@ -787,3 +795,57 @@ test("webhook-only recovery clears the imported UI alert without polling Alertma assert.deepEqual(rt.counters(), { runs: 1, sends: 1 }); assert.equal(existsSync(join(root, "last-poll.json")), false); }); + +test("an agent-only hook registration reads the latest durable report without starting the Gateway service", (t) => { + const root = directory(t); + const cfg = config(); + const state = join(root, cfg.stateDirectory); + const store = new Store(state); + const source = alert(); + const id = incidentKey(source); + store.ingest([source], cfg); + const report = + "FRESH REPORT: evidence belongs to fresh-report-run, not the old conversation."; + // The real publisher has already persisted this file and binding. + save(join(store.directory(id), "published-report.txt"), report); + store.bindReport(id, cfg.delivery.sessionKey, "fresh-report-run", report); + store.close(); + let hook; + const api = { + pluginConfig: { alertmanagerUrl: cfg.alertmanagerUrl, delivery: cfg.delivery }, + config: {}, + logger, + runtime: { state: { resolveStateDir: () => root } }, + registerService() {}, + registerGatewayMethod() {}, + on(name, handler) { + assert.equal(name, "before_prompt_build"); + hook = handler; + }, + }; + registerAlertAutomation(api); + // Native Agent hook registries do not run the Gateway service lifecycle. + // Native channel turns can also omit ctx.runId. + const result = hook( + { prompt: "What is the report Run ID?" }, + { sessionKey: cfg.delivery.sessionKey }, + ); + assert.ok(result?.prependContext.includes(report)); + assert.ok(result.prependContext.includes("Run ID: fresh-report-run")); + const paths = readdirSync(join(state, "incidents", id, "context-use")); + assert.equal(paths.length, 1); + const witness = JSON.parse( + readFileSync(join(state, "incidents", id, "context-use", paths[0]), "utf8"), + ); + assert.equal(witness.runId, null); + assert.equal(witness.reportIncidentId, id); + assert.equal(witness.inputPrompt, "What is the report Run ID?"); + assert.equal(witness.completeReportSha256, sha256(report)); + assert.equal( + hook( + { prompt: "Same Run ID?" }, + { sessionKey: "agent:other:slack:channel:c_test" }, + ), + undefined, + ); +});