From a178061d045febb3c28ab688d186e171af891a2e Mon Sep 17 00:00:00 2001 From: Nillo Date: Thu, 18 Jun 2026 11:46:28 +0200 Subject: [PATCH 1/2] =?UTF-8?q?docs(promo):=20add=20Claude=E2=86=94Codex?= =?UTF-8?q?=20demo=20GIFs=20to=20README=20+=20docs=20site?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Two short demos rendered from asciinema casts that are generated deterministically from real `ctxrelay` output (no live capture; sanitized paths/ids; representative token-refresh review scenario): - contextrelay-pair.gif: `ctxrelay status` shows both agents attached to one ledger. - contextrelay-handoff.gif: a Claude->Codex review handoff via `ledger list`/`show`. Embeds: pair GIF as the README hero + docs intro hero; handoff GIF in the README "See a Handoff" section and after the docs launch commands. Includes the generator (scripts/gen-demo-casts.mjs) and source .cast files so the demos are reproducible and reviewable. Verified: `bun run check` green; `docusaurus build` succeeds (image paths resolve). Co-Authored-By: Claude Opus 4.8 --- README.md | 4 + docs/assets/contextrelay-handoff.cast | 63 ++++++++++++ docs/assets/contextrelay-handoff.gif | Bin 0 -> 89176 bytes docs/assets/contextrelay-pair.cast | 47 +++++++++ docs/assets/contextrelay-pair.gif | Bin 0 -> 55774 bytes scripts/gen-demo-casts.mjs | 100 ++++++++++++++++++++ website/docs/introduction/index.md | 6 ++ website/static/img/contextrelay-handoff.gif | Bin 0 -> 89176 bytes website/static/img/contextrelay-pair.gif | Bin 0 -> 55774 bytes 9 files changed, 220 insertions(+) create mode 100644 docs/assets/contextrelay-handoff.cast create mode 100644 docs/assets/contextrelay-handoff.gif create mode 100644 docs/assets/contextrelay-pair.cast create mode 100644 docs/assets/contextrelay-pair.gif create mode 100644 scripts/gen-demo-casts.mjs create mode 100644 website/static/img/contextrelay-handoff.gif create mode 100644 website/static/img/contextrelay-pair.gif diff --git a/README.md b/README.md index 462499f..eec7aa2 100644 --- a/README.md +++ b/README.md @@ -10,6 +10,8 @@ > A **Claude Code plugin** + an **MCP server** for Codex. With Bun, Claude Code, and Codex installed, one `npm install` wires two agents into one shared, auditable ledger. +![ContextRelay running Claude Code and Codex as one pair, with a live shared ledger](docs/assets/contextrelay-pair.gif) + ContextRelay wires Claude Code and Codex into one repository through a loopback daemon, so they exchange live messages, hand off work, and debate decisions — with every message, handoff, note, and decision written to a shared, auditable @@ -82,6 +84,8 @@ The terminal-native management tab sits alongside those dashboard views: A typical session: Claude implements, hands the risky part to Codex for an independent review, and every move lands in the shared ledger. +![A Claude-to-Codex review handoff recorded in the ContextRelay ledger](docs/assets/contextrelay-handoff.gif) + ```text Claude → /contextrelay:handoff reason: finished the token-refresh change; want a second opinion before merge diff --git a/docs/assets/contextrelay-handoff.cast b/docs/assets/contextrelay-handoff.cast new file mode 100644 index 0000000..25e5e76 --- /dev/null +++ b/docs/assets/contextrelay-handoff.cast @@ -0,0 +1,63 @@ +{"version":2,"width":90,"height":26,"timestamp":1718000000,"title":"ContextRelay — a real Claude → Codex handoff","env":{"SHELL":"/bin/zsh","TERM":"xterm-256color"}} +[0,"o","\u001b[1;32m~/code/acme-api\u001b[0m \u001b[36m$\u001b[0m "] +[1.278,"o","\u001b[2m# Claude finished a token-refresh change — wants a second pair of eyes.\u001b[0m"] +[1.778,"o","\r\n"] +[2.878,"o","\u001b[1;32m~/code/acme-api\u001b[0m \u001b[36m$\u001b[0m "] +[2.923,"o","c"] +[2.985,"o","t"] +[3.032,"o","x"] +[3.07,"o","r"] +[3.13,"o","e"] +[3.19,"o","l"] +[3.244,"o","a"] +[3.286,"o","y"] +[3.339,"o"," "] +[3.383,"o","l"] +[3.436,"o","e"] +[3.482,"o","d"] +[3.539,"o","g"] +[3.598,"o","e"] +[3.656,"o","r"] +[3.695,"o"," "] +[3.736,"o","l"] +[3.776,"o","i"] +[3.837,"o","s"] +[3.898,"o","t"] +[4.148,"o","\r\n"] +[4.598,"o","2026-06-18T10:22:14.512Z \u001b[33mhandoff\u001b[0m claude->codex 7c1a9e02\r\n review src/auth/refresh.ts for races + token-leak paths before merge\r\n2026-06-18T10:23:48.901Z \u001b[36mmessage\u001b[0m codex->claude b2e6f4a1\r\n My independent view: refresh() is unguarded — two concurrent 401s double-refresh\r\n2026-06-18T10:24:31.770Z \u001b[36mmessage\u001b[0m codex->claude c4f0a7d5\r\n ...and the old token lingers in memory after rotation. Neither path is tested.\r\n"] +[6.598,"o","\u001b[1;32m~/code/acme-api\u001b[0m \u001b[36m$\u001b[0m "] +[6.643,"o","c"] +[6.689,"o","t"] +[6.748,"o","x"] +[6.804,"o","r"] +[6.854,"o","e"] +[6.897,"o","l"] +[6.949,"o","a"] +[7.009,"o","y"] +[7.049,"o"," "] +[7.095,"o","l"] +[7.139,"o","e"] +[7.199,"o","d"] +[7.251,"o","g"] +[7.295,"o","e"] +[7.36,"o","r"] +[7.396,"o"," "] +[7.452,"o","s"] +[7.492,"o","h"] +[7.53,"o","o"] +[7.586,"o","w"] +[7.635,"o"," "] +[7.694,"o","7"] +[7.734,"o","c"] +[7.797,"o","1"] +[7.842,"o","a"] +[7.893,"o","9"] +[7.939,"o","e"] +[7.995,"o","0"] +[8.04,"o","2"] +[8.29,"o","\r\n"] +[8.74,"o","7c1a9e02 (handoff)\r\nsession: session_8f3c2d1b\r\ntime: 2026-06-18T10:22:14.512Z\r\nsource: claude -> codex\r\n\r\nreason: finished the token-refresh change; want a second opinion before merge\r\nask: review src/auth/refresh.ts for races and token-leak paths\r\nfiles: src/auth/refresh.ts, src/auth/refresh.test.ts\r\n"] +[10.74,"o","\u001b[1;32m~/code/acme-api\u001b[0m \u001b[36m$\u001b[0m "] +[11.91,"o","\u001b[2m# Independent cross-vendor review — durable, replayable evidence.\u001b[0m"] +[12.41,"o","\r\n"] +[16.21,"o",""] diff --git a/docs/assets/contextrelay-handoff.gif b/docs/assets/contextrelay-handoff.gif new file mode 100644 index 0000000000000000000000000000000000000000..ebe9ee3d5b97fef106c75ce91e9da90d51ab48ab GIT binary patch literal 89176 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 C&#X!S literal 0 HcmV?d00001 diff --git a/docs/assets/contextrelay-pair.cast b/docs/assets/contextrelay-pair.cast new file mode 100644 index 0000000..b60e79b --- /dev/null +++ b/docs/assets/contextrelay-pair.cast @@ -0,0 +1,47 @@ +{"version":2,"width":90,"height":26,"timestamp":1718000000,"title":"ContextRelay — two agents, one ledger","env":{"SHELL":"/bin/zsh","TERM":"xterm-256color"}} +[0,"o","\u001b[1;32m~/code/acme-api\u001b[0m \u001b[36m$\u001b[0m "] +[0.882,"o","\u001b[2m# Run Claude Code and Codex as one auditable pair\u001b[0m"] +[1.382,"o","\r\n"] +[2.382,"o","\u001b[1;32m~/code/acme-api\u001b[0m \u001b[36m$\u001b[0m "] +[2.447,"o","c"] +[2.493,"o","t"] +[2.532,"o","x"] +[2.568,"o","r"] +[2.63,"o","e"] +[2.673,"o","l"] +[2.733,"o","a"] +[2.786,"o","y"] +[2.827,"o"," "] +[2.876,"o","-"] +[2.921,"o","-"] +[2.979,"o","v"] +[3.031,"o","e"] +[3.082,"o","r"] +[3.12,"o","s"] +[3.184,"o","i"] +[3.219,"o","o"] +[3.265,"o","n"] +[3.515,"o","\r\n"] +[3.965,"o","contextrelay v3.4.0\r\n"] +[5.065,"o","\u001b[1;32m~/code/acme-api\u001b[0m \u001b[36m$\u001b[0m "] +[5.126,"o","c"] +[5.166,"o","t"] +[5.201,"o","x"] +[5.246,"o","r"] +[5.285,"o","e"] +[5.334,"o","l"] +[5.391,"o","a"] +[5.432,"o","y"] +[5.485,"o"," "] +[5.524,"o","s"] +[5.589,"o","t"] +[5.652,"o","a"] +[5.69,"o","t"] +[5.736,"o","u"] +[5.784,"o","s"] +[6.034,"o","\r\n"] +[6.484,"o","{\r\n \"instanceId\": \"ctx_9a2f10\",\r\n \"bridgeReady\": true,\r\n \"claudeState\": \"idle\",\r\n \"codexState\": \"idle\",\r\n \"claudeAttachmentStatus\": \"live_attached\",\r\n \"claudeConnected\": true,\r\n \"tuiConnected\": true,\r\n \"deliveryMode\": \"push\",\r\n \"queuedMessageCount\": 0,\r\n \"ledgerEntries\": 12,\r\n \"latestActiveHandoff\": null\r\n}\r\n"] +[8.284,"o","\u001b[1;32m~/code/acme-api\u001b[0m \u001b[36m$\u001b[0m "] +[9.526,"o","\u001b[2m# Both agents attached — every message + handoff lands in the ledger.\u001b[0m"] +[10.026,"o","\r\n"] +[13.626,"o",""] diff --git a/docs/assets/contextrelay-pair.gif b/docs/assets/contextrelay-pair.gif new file mode 100644 index 0000000000000000000000000000000000000000..d899a7ade8b4021cccfccb7270f965a47b0bf839 GIT binary patch literal 55774 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 literal 0 HcmV?d00001 diff --git a/scripts/gen-demo-casts.mjs b/scripts/gen-demo-casts.mjs new file mode 100644 index 0000000..3ad7ebd --- /dev/null +++ b/scripts/gen-demo-casts.mjs @@ -0,0 +1,100 @@ +// Deterministic asciicast v2 generator for ContextRelay demos. +// Every command + output line mirrors real `ctxrelay` output (captured live), +// with sanitized/representative values. No live capture, no secrets, no abs paths. +import { writeFileSync } from "node:fs"; + +const GREEN = "\x1b[1;32m"; +const DIM = "\x1b[2m"; +const CYAN = "\x1b[36m"; +const YEL = "\x1b[33m"; +const RST = "\x1b[0m"; +const PROMPT = `${GREEN}~/code/acme-api${RST} ${CYAN}$${RST} `; + +function build(steps, { width = 90, height = 26, title }) { + let t = 0.0; + const ev = []; + const out = (s) => ev.push([round(t), "o", s]); + const wait = (s) => { t += s; }; + const nl = "\r\n"; + + const type = (cmd) => { + out(PROMPT); + for (const ch of cmd) { wait(0.035 + Math.random() * 0.03); out(ch); } + wait(0.25); + out(nl); + }; + const comment = (text) => { + out(PROMPT); + const s = `${DIM}# ${text}${RST}`; + for (const ch of `# ${text}`) { wait(0.018); } + out(s); + wait(0.5); + out(nl); + }; + const print = (block) => { wait(0.45); out(block.replace(/\n/g, nl) + nl); }; + + const round = (x) => Math.round(x * 1000) / 1000; + + for (const step of steps) { + if (step.comment) { comment(step.comment); wait(step.pause ?? 0.9); } + else if (step.cmd) { + type(step.cmd); + if (step.out != null) print(step.out); + wait(step.pause ?? 1.4); + } else if (step.blank) { out(nl); wait(step.pause ?? 0.4); } + } + // tail hold so a looped GIF rests on the final frame + wait(2.2); out(""); + + const header = { version: 2, width, height, timestamp: 1718000000, title, + env: { SHELL: "/bin/zsh", TERM: "xterm-256color" } }; + return [JSON.stringify(header), ...ev.map((e) => JSON.stringify(e))].join("\n") + "\n"; +} + +// ---- Cast 1: the pair is live, recording to one ledger ------------------- +const pair = build([ + { comment: "Run Claude Code and Codex as one auditable pair", pause: 1.0 }, + { cmd: "ctxrelay --version", out: "contextrelay v3.4.0", pause: 1.1 }, + { cmd: "ctxrelay status", out: +`{ + "instanceId": "ctx_9a2f10", + "bridgeReady": true, + "claudeState": "idle", + "codexState": "idle", + "claudeAttachmentStatus": "live_attached", + "claudeConnected": true, + "tuiConnected": true, + "deliveryMode": "push", + "queuedMessageCount": 0, + "ledgerEntries": 12, + "latestActiveHandoff": null +}`, pause: 1.8 }, + { comment: "Both agents attached — every message + handoff lands in the ledger.", pause: 1.4 }, +], { title: "ContextRelay — two agents, one ledger" }); + +// ---- Cast 2: a real handoff, captured as evidence ------------------------ +const handoff = build([ + { comment: "Claude finished a token-refresh change — wants a second pair of eyes.", pause: 1.1 }, + { cmd: "ctxrelay ledger list", out: +`2026-06-18T10:22:14.512Z ${YEL}handoff${RST} claude->codex 7c1a9e02 + review src/auth/refresh.ts for races + token-leak paths before merge +2026-06-18T10:23:48.901Z ${CYAN}message${RST} codex->claude b2e6f4a1 + My independent view: refresh() is unguarded — two concurrent 401s double-refresh +2026-06-18T10:24:31.770Z ${CYAN}message${RST} codex->claude c4f0a7d5 + ...and the old token lingers in memory after rotation. Neither path is tested.`, pause: 2.0 }, + { cmd: "ctxrelay ledger show 7c1a9e02", out: +`7c1a9e02 (handoff) +session: session_8f3c2d1b +time: 2026-06-18T10:22:14.512Z +source: claude -> codex + +reason: finished the token-refresh change; want a second opinion before merge +ask: review src/auth/refresh.ts for races and token-leak paths +files: src/auth/refresh.ts, src/auth/refresh.test.ts`, pause: 2.0 }, + { comment: "Independent cross-vendor review — durable, replayable evidence.", pause: 1.6 }, +], { title: "ContextRelay — a real Claude → Codex handoff" }); + +const dir = process.argv[2] || "."; +writeFileSync(`${dir}/contextrelay-pair.cast`, pair); +writeFileSync(`${dir}/contextrelay-handoff.cast`, handoff); +console.log("wrote contextrelay-pair.cast and contextrelay-handoff.cast to", dir); diff --git a/website/docs/introduction/index.md b/website/docs/introduction/index.md index 575ebb5..a27db7c 100644 --- a/website/docs/introduction/index.md +++ b/website/docs/introduction/index.md @@ -13,6 +13,8 @@ ContextRelay is a local, provider-neutral coordination control-plane. It wires C Reach for ContextRelay when **one agent should implement while the other reviews**, when **a risky decision needs a second opinion**, or when you want an **auditable record of what the agents did before you ship**. +![ContextRelay running Claude Code and Codex as one pair, with a live shared ledger](/img/contextrelay-pair.gif) + :::info Current version These docs describe **ContextRelay 3.4.0**, the current release on [npm](https://www.npmjs.com/package/@proofofwork-agency/contextrelay). After upgrading the package, run [`ctxrelay upgrade`](../getting-started/upgrading-contextrelay.md) to reconcile your local setup. ::: @@ -49,6 +51,10 @@ ctxrelay claude # start Claude Code wired into the daemon ctxrelay codex # start the Codex TUI wired into the daemon ``` +Once they're paired, a handoff looks like this — Claude asks Codex for an independent review, and every message lands in the shared ledger: + +![A Claude-to-Codex review handoff recorded in the ContextRelay ledger](/img/contextrelay-handoff.gif) + :::tip Three names, one CLI `contextrelay`, `ctxrelay`, and `context-relay` are the **same binary** - use whichever you prefer. This site uses `ctxrelay` for brevity. ::: diff --git a/website/static/img/contextrelay-handoff.gif b/website/static/img/contextrelay-handoff.gif new file mode 100644 index 0000000000000000000000000000000000000000..ebe9ee3d5b97fef106c75ce91e9da90d51ab48ab GIT binary patch literal 89176 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 C&#X!S literal 0 HcmV?d00001 diff --git a/website/static/img/contextrelay-pair.gif b/website/static/img/contextrelay-pair.gif new file mode 100644 index 0000000000000000000000000000000000000000..d899a7ade8b4021cccfccb7270f965a47b0bf839 GIT binary patch literal 55774 zcmeF4cTkl1miM0yG)-=zNV2<0O%yPpGTIGDk}MJw6%Y{w9Yj>b)ZJtdXp$fx0s@jm za#U;(5Kxk$qM`z#V8#eW-hDF9hp=j-{thbW7WEItXv(o+yTJ8g_jGLN~wdx7&8k&nKmfMt887po% zsAB7-ywXrnONVOjt+FFj^+>*&SD5Oq6RL;v)weTM_nxH1b2XwHHPZVvlRGt1uWMMj zDK9lp+!Ua)d<|8531zLN((<)bnmR?Fq3C`@b?ItF6DK9N!zvc8%9=XVgQwMYgs8I5 zt7i>qCbnyy>eGyC(KvBY{q!xZm?n*^JDSWAHJ1Pt-4)c;CW>0R)Kx}`ww}tm`c$*6 zPRo8%G%!_k_E%ZKP_)~jZ0fAM(NB5XVHFK+igWN@H4TcPqm7ZB(xGgcCrfn;Gw5)x zns=nCe=;p7TWwz&?QovjR@Nb}_=t#V^^?~$Q+qU$uWE!`P>*faICEDkqDJHNvxk`z z!|CJq);Zf7tT#5YSF-WluC+wVX^--zeJZO>6*mOl~Eyjn}BsD88{Y52nh2 zOto#HM?Bf8f$3_$C(;h(s0Edt4b0CBE-yG-S#-3zIP11nWSx3qhemXR2CGyprb(Su zrXE$Vo^(~?>_e@DHjVfejqocC*{>fb-s#DBI-EKAAmhpX*#3@?=9-B1rmPnutV@;b zOV!a`mw`WR;P7AUU&L7iLzFWs&u$4JimSVJmgiiFASqg8npNbs$4D>PHQZTo_G&!Y zC|b_EGOsI%wxQUyt1|yus?PTAO!KOOo(%nc&xgCJ&h?$4hw#f=R2L4MHA_<8(p_D2 z^PKHji_;c0#kWeFt9Cu;t|_^5!R<=4{QBC`yH(ydi?>{>J%7K>|8e)}^>t+rnu6Xx ze{ikt!lTPfoPdI5efj8>NO6s=*MrV6uW}SuWLY*;KDj2M=qtr+sG8`@=KcMoTx0dK zn}sn_L=qF}9N=uYmSvSu9D(pJjV8JwW3Pryoa*BAM-7dJ;(ax?^=5ht6N!QE!)FYF z{co31teN}d4jB=8uEfkP+GgKDB*`9}KH#lz$#LEF$b}ioJ1GIZ@=Mk0= zo@7XJF~)S_>|E1E!{t?!s8K4pw0;ccL%AtMgia-4O5G<&$`Kz}QSx5>9%l|32~DM> zSh09TPtx~xC8jQ8bv<%fS6+@~2>WxCe07P&MtEOg(FYRdmE@K{q`JZjQ7oj}p4us# z+>s?3M7B*o+|f_vDbN@1Thc%2atYV^ukOPJ!OpGBCSi7V9yO{s{)9eF>~y=qX-BtFZ)?SYNWATdON}2uM%G!bX7e4r29Gw;{QUc zek`%Xw(&*nS8arD!NH3g;W=D-Ygjr*sa4ZM-DrAQa!HxoLAgy5nB;7R)-J@&T+)IV zir`mDj2j_qr5$j-^2Biq4oxO7_y5=4)d8kwZk|bqFuL)YIs+=7#IK<%27fixsA4 zw+wb1b82sq6euLIh}L-7C^|phb_wGMo*Tl*EO!j2r{Me7(@H5s?&6yjjM_W6Wk2fa z>pApKR}kYhp9kx6NK66bB8iL5O|rru+mnt)JwIG2>?wl%O^i+o5Sifccy;Psr*vB8 z+IFybrY4Dq8L8~*MLrm85i8Z*OPU!I4<-0IIJjX% zgpK5xgE*fAtf%Sf`;y2p4Cjo|>jlhjuPz+-^_4}OMG-e88xH}sI5n}+h-Y?uPLu&L zTVs7mF*e@+8)NiiK>)u)V2gkm$xIwOg%2rZEz>Wg^RFo{4S#~gQbkdUQSJj1T)GyG*_Z1jik9N zA?8#flW)+LjSP>n+jOm$c#JZd&riiOHG8lMNN9-uh)9%Jr_iSl%*mG&a~bck;AZ-A zLBx#{rrC)NEiX{1e9egxBV(>XQnn4SIceFcvYL-Uc6YbRN9gihPea3oT12wy=_)cg zg7zQwE?uVUZWGEU=@D!h#;T4H#rk7Ixo*7FCPNVeUZ(h@Ax_MUD~hLvJJHFc73Cay zBp0JWCkyZ+IOODA%aG6<{w>^A-nRBth{2Ndn-a{X4aPv=V&d@EDCuCb7ejjno-p4Q@aNX9vT-}#}+%B z+a*?L|FPJ)r`WNs`&L=-#}YT866dQHw=2^>mU>&2Y`W8ZySDM;dH>iF*9nU|jrTs5 z1@)9{o$kKV{N>{XrckLH@A{!unNQ`BR;3;bt_^jp`c%P*E%j7gf46(nr^>XRQm+-) z?)C&8R?`^vN-i`E6)rD5)cR5|Vcf0XZO?m8jzn$yv-*5s^-zc3M7`xj)mP-&+xP@cLtguQONa!j+r|%WqQ3caw{vgh$-3)Lv=4v2<|bT~cGdE!UdHF^-quy=cdkEO-t>94$3LzrbHZ|B z)&0-CLA_O3)7K}~eErPk)9S^h`(JL?_tumh?0K>E z>z6xR;o9;DtCt?KUxzxaYb#TGUV5$mdbdBWw)&jat6iJF-W%$zt*z^Mwde5H`y;}2 z^;fN42V{I5p0uuOywmggK-1R;Q*m_{C#>EC-~ak>rnjzny64TYuU{V_BK2He>nXPE zw-KUEed~hWsqod`MoIDYZK~F9qc?vWlkThUSke17?(nzAWRZqWQ|ot$8Q;cfvo;Og zPQC9=Hhp`d6W?%sr}g{v``@1G_cin$?0uj0_1gqpq_IE3`a`bl_enFG#v7@<9|~4~ ze`XusIC#$bWAWzi&z<`kZ`bvHEIa)Dg_}sz&{gYCl^Ne(dfPPJyVLurw(0vT|M;fi z3G3;```=#&^))@5?wxM_`uz=4>Q4xgyO|5jNk(WM^kOZJOVu_I-Q0diHaFeDjBMHs7Cbp8Yb^*Zirj@B8b+ zvtLI1b{3Il zV)dDLXC@(tNlat%*E0o&n8Gtmk~B+9pC#eUk_uu;r?F(}S#m=xg&7uEnoZSbD><`O zg4nb)wt78VbBL`y!`6`w(bErE>Kw8>C`3OkWL15L!BEJWnGm{ksG)wSv2&@40VnS4~leMK$hQyK42)?Vj5#txb1&d+grh zZEa(&p{ZhOX2>u!IB>w5g8R7b0Rh_o|BN6l$>%hHSJV-M&{|PGub(3aC!L!p@o>-lG5{K7s@Lt ztEy|t3+i!2VYQcV#*r8-E>tp7LFb#qRH9j;ikz99M!Ls;;?u|{6SYf>48LO9wC5$n#Vk<~B$K;zHzPwkb7^SlN3upVa zv}KEAgb%-__GXE{{Umgx@x}9xh+JK)EE3Hd!Au^>J`(usCLzGsc7PI;_v-SiwU;v& z4$O>mG^exn#V-`Q>xtMp4O5n6?~_6B*&)4au*-LLG7K-$xkPCiHk~q?GEEc`&CG7a ztju&A4H4S)o=k{&MGg@pA|pAk>YIkoB6rqIFb?G<&M}{ewASzHV?;v zxm9ry)|N|R;ER`^B4RTULn3c!3IlJMPHIbzGwX^Z;LZGT1Z}|`#59k@uA8TP z%J{lcT=qO0PPAHch?uqgjc%k+&aWEshBXIcwf#0oR9$5iVbg%*$#*|>Py{s8LQppg_r zNE-V&(7I)i@o@^M4f)AVnq?UU)HNVoe{Ti{+AS; zDE3zb!;|~I+}e9Z=U~HXO%jtNA#Kdj2Y*iH`r7Yv#qxz`n=FkM-MEX3F~c&?w}l-p z5k*P_McFlGMETkcZ8&iXZg3$RS)~(75E)<`JYp+Lu?)qldAD@v+J?#E=>m&%4ULmY zqBK00f8}J$f?7e71JP}Qm+g!Y9Wu`v3r2#%+bc$R(GX&A4&o6RsqAQrEHJQ73@$ItCLa;8LM`xm4rL|{s%-u!Hj(jkj6`CRqt-_1M z4PseQZ+D*<;>t>5SjQXOa1m~%u2P30O{~3UH{_LEEmEhLn;2Z!Fn~j7J164o?8g#M z`8~!a<#l%+{e4F??FrSIk3D%l@nE?B6Dpa5l^UdpmE$8d2gKM5`k#wlJfR>JvT&uj z(#@#K@jQxw%Qf4v#WWv0ciFN-6inWQbfi#;8oDxSM&9GtSX-Xn<9An$xRF`m^`Z{_ z`3QmNuNXm0`+;yV`()U>aW7L8u`0FIi4kbk*jyZ{sLiS_n& zHM7;#@aZGTJfR^5oA{#kXrAD=QtRK0<%U>MA_nnb z6BTG93|U(ifsWvKI`uGf+ViMnf$@1BUd>4sA3d8TKk{)^!s$|L2ux-z&#m+GlY{J= z?%i%)E_&*L-_9MM2e%Cf7gpqJ?q2V<+5Cx=bJIpG-z_m#U05zo!h5UsvTH7V>@bY% zkRL$-Q8F9+wDCZ&`mX#J_f7G2O=pD8dpK<$P6_KH86PciYFO=Bsd8=8ef#kpA{7rG z+8;EY-QnntnR@u+*v+i{JuhZ;v2-ji9>J)Mgt={3OOmu5L1;AEcF8Y9X#=vt+I@5( zysacjpN`RVMpg=qx|3ptNJo_8{0y=YtnCPPTK#R*$AK<>Qa0hiO5?Z|997|~bZ5N3 z?ui|i!yW3Uu&WA+sFo+jsEby1;oJ3+GKL>7+RnxE>x>FHWZyP1TiLNB9D{eBVhed6 z6xGtvOZ>Qfhu+$iohO2pq&#zZOuFgYC4fbSwx$tzJL$5INFPp!U~!T(5#AVE-I(uw zPkmB4Z>Skwiy8gqq9rqy#m+2WHra|61718)TN!npZD=v@`)|HZgTV`$&|+ZQhepZE z*6S)#7tK`zvNByJ?NvXkfeguk+fy|^s{vWjV|@6Zn$2@gv+;vwi^pmqVW?&U!3MGo zI@!xtERK!|Gd7_I1qXU~Zq?RN1qtWuvccNcLR~{~cYt3~hlclVudr|?2(|;KY0y`O zR&GR%`my7OOr4cZ-_o?*p`0_U1?}g|$%m*$;tY2G^E49AESVhV>67JMT;}(p*-JFyfz`rLwEi>&*L`wEq zPfq@sg1qA21(Dnm&`^n)Syjas>exk%prQ6Oa1V-AwA(~oweMbY{JQ@|>pr92y{%V@ zh0hNSKX_?e>36mns&?T!-~e?YY@-;QjNSsDsc^)%c24u#^Uc6e)gib!mOYW0w<))@Pki(|d9)4dc># zyL@}-AJ~Q=1I$mLVGrXJ zn4cKh&J8zU*aFiA$KA?X*}+?mAB0}Mk&`XExf&)RMjMo1HUbkB7<=Z{C z9zGn%W*>EN*#MOhR6T)#zyBjH289Cxg+tiCS2#p%&&@A5S6Ed1N8wQ5#mTFzt8ZxV zJae%zw)yg<*0y$}I=;4Ju5gIxP9Hdb^Te&bJIQy8??*m3cjr;`SXbZEiOIGWcIUGb zFRs20nR@l^W&6iZU%r0({v&(p$GUD+m?CW9?c>ojvA%71gzt|jf&>2dWf$kB2uEet zT6EL?ZHnOYE=M~t+_iF-YSo4wo29@1cF`sBoXVLTW;j(XIlpsR2S?_Tw@RLNercxm ze>_E)9VMi#Pu(+YgM0V{1ztawnPh9{B{ z{>rW0*+!eQd<$6!AzhzHN4l2oI(lk_>5cN7go%qe`_?PSb2)gNxc!Cj53BY4dNL_K z*&bhOUr$6HS`fTL{dE&dtmwrFN?41{GEqn{bVj4PjDu;9)8>7w2cSLoH8OR92sHq^2qqR zv7?sGxP^-I=Q0sxH-v@LAR02gI#=qoiLbMDZgMWw%R;Vd6J z(w~{AjbDI?6_C)8LyT!^Tnt&*emo&WKj#TXNH8%kQOPZh<>kxI4JEs%cRitcbi1e^ z8mqF$#gOY}ic!(hAh@cRO}KC(%OtrxJT%03dq}1~S0EIha~CIW$)pD?B4)SZ>Er$~ z5&}dLs~~;HbO@r8r-LD2U(zGk5up(#dl#ALQG}%JvOvQ5`pHZjjgGL$CAD96 zmBtLGzbIQ+OrvA0hDX>4pP-m*c9b`%gA}G`zcqI<>j?{4q{+D=grVoK1=*HvOnlfB zR7T;%oV%x0i8`%f=>r1H!qN)vQ;ZFNx!soq2zL&VAt8T1YnR6IfgqY2&TedvWP|WlQr9EhkLi+1|k5hC8zk(c>A(+@p zCgQNeDdJdT=hz%?+Lq1{pTm3uAGF!;D>$N(EHXRT^ZaIpuDL93AL~m$^ z@1fdm4I6H4;+_l6*i7sKy|{5}aB6&mUZPR7`{|=#)+#Y`)Il{GAva#_7zhgK{AhDmMHpxsZ^=uK(_1V*~ znv8fA=F6y1BUZ~PWX08}B7wVhd^Zmj&D9ANl5P>OsW;@M;99k<*R5JoilO?CgdDKT z#=GN?W5vlx2!nzlkVq`N9ZsB1!wV9vrA2gclH**=0%i(Nm$%7M>;Tj4>{)psrs-p) z-1y^yd15>fEd7qoC=GGCgeWGA>OAU7G#z0})p<)VP7hGN@r*9umeUfV&@X}0yy4o%hFBRiclO6?2&V3f~RYc8>wU%~5lwjbe@l3weRZrj6 zG<8wZTC5zLs|HDN@lpz;UJuW0X}ucIN`rnJ^x&Wq2R*nrt_HN>_NUXJ4Ywyj)yCcu zGWU|D+R$Z-ZkWrp$z2*7e3YI2m7%Q$=@xbgp!F7Bt{vsLwAPNQCsX|<*7Ckbhb6=|neQu*IeopeQkmkTCeJ6gEWpJoRiVVCtznl6 zjLpqc1ZwpPvvW;&(~UNr7-)93O!_%CFUWCB`h2~6%CK_(Nm~vo#Y15hh@wqxv#GAh2-&>ja2Ae*VR?;C~>4ZR@YUG*~E!h znRwQTxAm}$Vibg`_o-CS*RN_eZ>)K7r+hoi&6{dp-LK#G;$cry-J3_;5P?P37wg|X z?o5KY`Nf9!6OK5uGuB&}A79+b@qN_$+wzZZFy%3CteY<$Djq3`={weZ>Fe~<8#dee z6q>((o!QrwYW*nq$1Fk!>OMC5QFVkxRB?`!jwKD9LHJE*6l7gcWjn=^W}ib{;FajE zEFV4Au6T1Dw}r^(r^8@JwOQI6bL|`mA?Uvx0xO1JNkwbuzntS6QT?u0l!a7Mf@a$52t8p=Oi9%DiOh~C%S7cC52u->Bd+D=ILEviw?wYT z-ZKl!;umXG&BT(_sb{mW`Rb0?Y;OKzAN7*Gp;Go?>NTqZeC@YsQn&D~7Ar^a^gSzI zR8)Gs%`d8=X>=BeU~~uzJ(2A23m8u~7O#?$4jsqnh<;f=Ui;K7<4Hlu9>M~ zu(z}e-rn|ov+jNL;Wy3Ss7Z?td?#q?ES|l+VycB$WnX@rZ^a2q^3MYBk5EKGx{(D) z#C!qR(|fh_{5kMl2s{v7G&EJAQ4ekK@$pBuZuRA!Jza1v2V%*G53kWhCvbGo=b+Mm zU3UU~KDWp8U~a_;R-ZtVgE)tEp+7Wviv|dFbngi^oG|XAjn~x3D%up zF9y^*s>VUF!_pH(4pDif;7LGYu?O|bU_YfvEjVgCqre;{1J-V^LM zfrbYG59>}4lOVFf$`V9t*jj>>CD>^K4G$|zP&mL=5tPHOTb!U+fQSyE9TYx{4E0 zC9r}7TT8Ie1o;7?AnYi?E)pbxx&0JZ?RIf9}cx#GeErCOd+)SvcH{YTMc3 z%s<*KDIF@pxQu&tPtth-B54%Ihdt&zQ_fgRrKsJ&kwut}yB0}navh#*j))X`w=S)K z;+m_lIYKkIKhCt5yt5rsexT$&Yl}p{?J*L}9D_JOwY_lOz4TQ$NE-T;TWaopgNtH)Jm`m>(Q*>NNa@b`U`B-tQ8Bz-3 z?Bih=-t*B;ZPCI82`Ah}J&u&fY0e1a1QAbE@s$}j^1!mL+9vZgG;pjB@;jtt3A{Z; zIyT0~Z?7do=tpq!1$q5jY*r;d+=1s&Cn*r@Op6#4;k+W_ReLw}A0mdS_ZQYYIM^S_ ze<;a>4>?8rU}l{0(rW-iQp)BgcvC&q4H@+^1f*EO_#8cTY-4}i6@}_E^g=N&%}TzF zDXDRSRs!@I-07X_#|SOy{jvoT@9ngSQ;wooVNEj0r$xb`(-|3#xnSz@GQ+{f?2E>f z#dqN&DfSrIQk}~J8vCFAE?}yuYb>m4@U~rgRwJo>;lU$&+dl?t23#R7kwk~9KjZWz zgaW^QjngnMotzwlAPu1!4bl)8ARd6nqmB+92`;#6mnX=(eSv#GnJrzm7!)2TFav|- zUOU|#9qpizP+eVizO3-!!@H-mQv3S4nwuLgTqw%QI(4ovr>pDA*w}*y4~8-`Q|js} z?%%)lq0Q2Ghza01>?f?6+ zA4CBf`#~DahyQ<4>?fqtnf_*Sgt*Q;w=O@aGp%_``%C$=`-*OKw@KBQ?YZNN-_Y(9 zFnGecq-STvrXggdlqsGrHqnd0h^i}K2=a2KyN{dV5FABKGRix~R8>P$+&y`pnG~{U zbHHf~?;<4)nT)f)W2pEAe3}cBNV zR{y@6n}+KAZVV5)GJeV`!d!(n2+k@F?)t|r1XOqy>(_zDf`5XJN=e~>$3ig&?&rB< z+m0P>sc8upFV%H-x1r7eJ_cS5ZU)i|yc(1S$P6G16a~09swhw=2Sou<0QdlJ2SmW( zK_UE=&x0@kCjQFvK?6XdhvW{{g%ALl{r?&TAlIXT01`dK0iw4Z%qk5m86^>RM~yEfjsYv7ei{ZlvhfPt0%!octmU%Yq%28M49 zUmT2$#$5=y5OE>CqA?XL4W_zyu@*ib*c+^6Wo@RtSPe?)btZJMO4UzeT)x~`S6|W6 zda<&yw4W{{|8EU)XKuO-FmyY)oWS6c(0U!a1SQNpUII zgtVmSlksVs^q9;OujqBo)g2L1bA(6Zaipt_V=X0xT7UJcldBj8sm6s#P zc!5Yh75=Vn3?3IPA#(FFfwQR6au6?^e!m)nqdX}az2crfud@t~;aEI2FJ73={f2YZ{CG8l~2 zd3k4GL8-B^dOl#FV1b#z_VY-gJ`G?&AOVwu?ZN7Q4>E`%Xx)G^0l1)8%#$|{2O#(> z9DpMl7=GmgxCBH1O%z0k3cx5zCmI`o*MC`D2+mwc9}?2>rn!1dKkb;F@eR^e>c|kL z+Cs@YV&nGd^+NG=151VsKIER>t(T+~c%i}QjDaSZD*U^du^vq0U{N#2O~>UGFlkB9Ya5EJTC_S8rA>Jg=23eYJzk)jlX_!j3Xp6rzkstdpVPk8Z{7!YQpIiR?VK zOIDRf91-Abb;ICk{JcS@oHH;~iXyK^f|ZG+A+b1p7e-o`Z%bwAIw@p9{n=eS3X4Q9 z+q;nw+(M@YYxn(){Uv>_1GgN#QBHW~l;lU?g!&hp%v%kB0ehj$pfO}lCcJuzS`e^# z^X3^K1mu9lA!48w1hl}2fDjlFEeio8up_Vpb_ARt@&Hj_M}P{oBQO9_2uul#fi(d$ zu;x5zpdo<}h)X~bP=|&KU=Nr9`$CccXn{j8F`$T=7&Y!ZmJq&xYJl^fZR>yJZjQ%k zZo_0@rnh>j=H_Nkb>7`VkE%8`O=p~4y>;=YvphUT8{S4*#zl9ywW+c7if%m-6)4|R z@sPaYqO5QG$i9`|n=1G1QNQ~stNrx*lMUZfN}e4%;?43mrTi%>--E5S|H9U=x;#Do z7CiJlpw=6^uVUCjIv~Lw9etkBwwM z9q)RU*EBS7{^jY{gHu@6pCu#)LqXI5hCf%cz|&o~I75N}7=QtAYVc*S^1K)SRXTvp zcHjrR6@tUOw}OX)9U=asrUY!jh!7m+viYm0f0Zx(zj!5&`_I)ZETg#0@I~{^BV~b8 z580*h%VL_Ew%B~c5q4a0sMv3;lG^a}Wka%cgl&nMPsuLx;g_kVTGky@LqD=f#HH8o zM6`kzJfp1?{{76&uZNEZuQ(E-!*=%H&J2zG%@%c`pW%`MUu~}N{`0GWdq6%jUPp%* z2hk0(6clLg9yi#N$&wu& zvNS%?!MBdM-2QSzC+#eY*Nr@$M*3ZK+(Fb!bMsD&j4VbN!L$4^qWcyo2}E0C1eF&_ zC>S|ojTEI3-gH+(engxvm+f@6q}V27OZleC^D#A6za$-vKfdCh?F+OBfiH&&1Ne#% zl+X_Yp9H=HsDk<81SA2Jv!Em)u*_GqP@DjAXzGXP0ofmvBqV)E_j76M->O^qegNcO z84YX&A9dbb@O8mr@PYpwqoL+PZG}o=)K>q9P5%4ut_j{ifj*QgX1QWr611qfa^*Mc zqKy;FN=^ra@%9$B>EfFu* zDWaG(-!_aeRILjaNThC!-JF}V(P?MiiGs5w`F5!Be=5_ZV0?+c$U;9$QCF}$T1J4i z!K0w?M2iV1AkbD8=tlqqNC7%PJc13uCBU92CSYM8WgZi7$a(z;Zi(`O8X2fT-4g5! z`26aeAT+=^A%KB@qCkO{0#o3qP@SN82`x~-Z=obYDFDR&CxY-t?<(y%vuP;hAS+2f zG4pfIbBo#=$kGURgQA7FPCE$!9!>Ig?{K}Vb~WoY_ZuUlYWJ*+Z12{zo!Fy%#mPxf z*~w+Qt@G)J)oAbPXES2W-*`8C?)lyoYF#iP7#KAz7yv>eWE}X)Xyn_xc_XMqSp9%) z5s&R#^_FPEMHQS-fx#d>p-Bh2Q_wYlP66muRD52!(%gFG5;T@BUaSFafA8KPzyXM$ zcmZ304$2MmGJvglZXinhhv-0X0B+Et6~Y1pawuJY#RY;7%F2HT3WSUQo>)Qf|NAjM z0GBT2uGH;U!opydmMOv?6o$M6BbdAGFvaILD=d| zR8ruR6r*v>`2`ngs;SDJaoH5KrKEV9(*>LJ<*e#oy<8U{n3ETOhIsgPkQSjBIC+u- zCYc8UtO9ldEYPMA>fGS*zz1-Hh6J!8@PWnyaB<+{*JLoy3V1n+3*-hMW=?nhga-BU zd31m_)Og_NC`M@J_|?l%uuxw|@d8{>!XQ}#WN1bK)X;hozy;+e>^@rT(?7J1&aq}*m&t~1bA5}Rt_87wxaphUVt4D7J-{wx; zY8Xv@jLdxM|Nj1Um!c%`r}F%%q4WU_&A&hc7D50GfC6=J_}(Bpp}>S#d^#&_Xy^v2 zjILd4hXeqE6O6WU)e;EnaKdS4ZwZ%`&|`+-B7|dTCquah)IhKX#GrAB?xq1^03hTT zl(KogAQS*iKqWu~=>2WXL6rcC4Aen@A%qy?5{41d{_LFlB(C z0n3W^8?4~^*V4)qy#DId7T^Qm12|Cl02JU4hy;3oNB|C^5U>c?0Zc!`McO=$Kq1ic zQ~%E$A*0=md5nNgG#ve;O$E(i0P8$bfGHpa?4ncw!2lM3`?p{L*#H*6J?bea((HV3+y5(mmMCb?@yJ#`0my29&lsW_}s0RRfmg( z+a~UDN6O6{WJm}6f&y`fI6+u~pY0WDAB>2Ziz0-B@n+#fa}h)^?bNzpUJD)spOd@& zZ~@F#ki4>@kc!fL^K&&`E9wlZ8ZXpd-d|qQ(N@A))pLT!0dkn0Z#f@L+Yo1*HKD4={n@Ar1i+sNsPaFg(BnU_s;ns{>VF zY+z-cEif|>0|o|S(BK5LfoTCRuq9xJ+7h6I>JAJEvF$&!C1LiD58avf>#@<0-!ks2 z;F_PuMj3sRfdkis3m;9@AF;l$`Tn-1V|{PF&YA~pVg9_k*uZv;nmgDIj@gqicd+e{ zbP5i(Pi35e@zwF1eCRanJXZn-+ji$Gs%vViY8x60>zkS{r(NP+X^U)a@9gr@v%1>d z*T1WGVDOgP&D(eHRmR+Z_$d0p$m4O=*ptc0p=U4qldw~7-@f|r=-u?k&v&Qaefcr) z?df;fNKLWSMfBtu4V^|M5D2(|~cvp!ObX#LHu zAy^x{48Am28*B^T8yXy+K26On82_{_SP3rkL5F~p1Sr5t;LD&0p#lJn57ve-0@ef5 zftA2RK>)xk90uxu0E!O;89)QXCFlw$J|`wd0Uzj-0zN1>5OBcYAYGuD0^tIck{};J zfj}aGVq$dkK6G24ja5>Tk18L43&=vV8t?*)z?==8(?bEg=XW1;l!9s-=$b*90&)ei z5hxSrv%tI@G%M6VprHY02zMxw0OS1hc77BDX%Dm$jQ?Tw53N{G*dTD>X#?oJLV|>Z z2ci~QIiq94pnPuM?hg-VL3cGLCli|f5bi)(K|dE{F&bUrWdta{z%!s>1g%~e3PTeR z=6+}g5PG|iO`%~lw+Q%imH-_l)+`e;r>IX`A2%PzxM3@2mM8`YltJt>64g$`&!z%5d4y@f4r8q*h@(o zy>s%AQ?vc~TAG6AUHby75MlgeroXs5M?yd_Z6^EN7zQImeK_KVw2G1uZ^D$B8@;nw zMP%xw&y*4Wl3*%5(rCb%Cy(@b3K{U|k~6ULv9IA5^EE&3y5JZodtGjbpkMzQzxUaT zIjclW1o8XmMv-#Pg2HdJbFdg&UNthQl5vH#mREFAPAfZ%A+fjEGjjW=TRu+$hU`wq zF}-i(i>Q#u<3f0%nsBaT&nn8+P`ZSqt}TNt6mnQ^oKD-xxl-kBZ3D}T@ySx%l}BfsHC5G2#v7!g$E?}z^{A~%eoOVoM7kj5g0 zk}d|3^xXtWE*)bx-f}hU+YTC&$bb5j3Zhur@W4^9h{B{0q9|N4L6?mPh%hJx3{_9t zWCm%{m}#8#k~Ew^QX`K`@P43h1u#k&gkR=VzkDDzldFv5{X9$IN(HLqG4Vu~T&&?K z&nc!f&+VcN#F`f9Th?@vILX+f$!YP{maFDEo@63+iwKq;{a7h#o+)Ovvw*0iv~kBX zqdJwhTp2_MF-2k#F586E$+YD)^^f8*l!S|Qz^e!-CxDD~$-g6S^m$dbH9 zb>wh$@f*hXAL|RsH<}HQNW9J-bbmy(I-`S6`4uOMaEsB-SmtT)IQ_Ry=>e+8v21P( zUl0AIk*|SYyAhS>)~v`8UEf0W zGvzXZKe~B1^$~$MD?}gRReOtw5py^!VVlVcV_}Cy_Dzhv&K0Ui_mai?CwkT{`u@Q| zHqe}B1sTsL7*$R0;2**1gd&0`77pN76Ls1c)HXN9BA$^JtRahZR~LVPU=XPqL}qFF zk815@go;Tq5sf1w>$GWDti)89ji=W(=KBQ!o(Se+TKG<}LIkVB3{gS2SV^;!7Y{Hs zLJ(G{ik#zTl3s{JS$Wu+#5R|QN8CtjEZuk(PBHErAR^NKOezlv!ISI>*ibrcmHsG0 ztdNA~=k8xoAA)h5O0F+gTI`)kq)3xOmWCUv?>V7p^obN!*EOK%fAOrsvKA&!5F=i` zOOecLZWcqVLUA+zrg%_0Avl!htVb48Yw0Tnxai09*{fQ4pL9z`-uu3c!sooD0C2FYNonDFAx5 z3#S8cG=Sa;z`-uu3c!f~Tn51102~d#CBe^~QboAOg>`k4^j(y>n02U+RCYXIe9k%k}qyP>AVBa5( z0N@$`E(72o0PXL-9RuwQM7O09?)U1LlzQp?0-;}{g-+s z_1E(PQ4+nG8wG=JZ7rDQEAXVL- zd8@>!Xx9_{YkKS*J0JMUKAD8^cvyCrN4nH@#BiiVTy3+7>-1}5K5x0TajyLlEFm(Fc$~LP&2Z%5 zZlY*_iRG26-qTVaIBq-)UC!>e{&m?{!KFbeo%ieZ z30g@@%x3$KADkL(Uxc6W-;PaQE|l$XIqT?QLz$8Gq(zZrBwR;usZJ;zKX}WcHxpC zo$j)shkSI}#T2DUSn;i`@V*U3X}#?N41P1G3gbz!mB5VX7;fpn(6L^L_k3IE(!K_^ ze4h&Vk*f+Kd0E&ch1Xt-X`P!1xb(@3u`hc0bVN%$W>}}(Lu|Kur<~{TTY^zNgC4eV zk#r|}pRk)dsiA{f;)k#<3Y@P-^zEDkc?U=b7&?PBAv+|qS7}%9yqX=}M|eTV4!w`z z%G*7_3=7d8n)8ksQM8b=R7Ygfg^ut`a!C2HuRJbn zQN8Nb8JLlyD}oh9hVt>q%f;)yua89d3Rl=EchT2l&s<8sLR#$45D}fiDUcF)KQx3b z{kjih=uO9Ow!+|G?^A$A&*h=V5CmulF^DeDa$w-bPBF1T#wS}txOD!N-UxoilP=Xr z3g;Je#bKuA-l?R_y;G@CxKwzOBZM7ri`Gx$tdM9Gb}YwIo^#8^pA&eM>-pr)-Z-Ng ziC?-gK+$!pc+#qe6}px8TsO@S#n;}zugIh1QTfSpxL7_Fz#9damGp@jw+0*YNIBHzD%2}QZ?aw?n=yB|}5Gh#^j`V1;`?4Xo~r#8@g zVrb>KdALGigJ<;Mq!=18@Q&YFOGPOCtE$cy7Un`p3WvpTReY(rUQ>qxq5+PH9sHEx zm>81o?@2TmN+36_j)#+CD5jw|00IJTi#G?VY;d%N!WWtW(65F^ z0-^AQdj`0kgPvkb%iQbQq1;+%V#Bp@9Aw7`7ChVm7jsZv!}A@Gq+u-zDq2{=hlC1s z?LXt}INp^LBAoQ|fj%T9WA1^z+_Ryl;p{lPpr|yy^4Z z%3C8Yaj#~kCKfeR^(3F_JF~p=*6rwyJNKfmWw(_+x<7WOCi}_bq-_(EX)j*BnR@$f z?7{m_(=(rczOw=KC;uO>b-&_qhGfKyAW>8@y^C_%5z!^~!;_P_S5AnnjJ6z4pmcH+ zH;Ab>OpP0*=$MhuKI~KVi+TWdrhbS1-Z#zOW zv$Mdblt)eC3w7eLf=K^}hxPiE(tM(U`TdTLJ_kkCq)9;WCFtcFAit1|L--FRSVtdz zrbW4sLtJaqGA#ed;9(p;zGjvm+w*;Lb;1-%0(4c}=BdE7|u;GjzmK(4K$zRr{Z>I$f~_ffWUu)cJuF1k@2 z8baV%KsX$+0`u1HO3BG_uwex~FhCtdC$yjddz5)_Rqzq$Fah&G_52Mz=*TTwonZMh zH0(IqRtL_Z^8}Cs;lMfcz0i~T;KPB?#{${`_1@l2;2iJ<&js55alHSZG~)m51V7p_ z@h={$Oq7H-XL9Av{o9)}bB|U2Ji$*a%9n0JE|;{%FXf^q_&*=3ym52z*6lk(ckkWC zJb3sJJ399G{*#lBCLce?K7GZReDq@c^@o_Lk$0mXzeY|!`21ytPi{Px%M3zz)ir}i z+nOCU$t{TF+krN3jDoZ}!Z~fo5)@tYt#fgn(IKVv2bR#pc60};%qkBLjw+X@VOHJC zo3LtOpM0U-E7n+*REH;#^f@cv^|x=giQy0KXS>zm1Z9Y0`Wv1vKfbalxQF04;k%xgRazpnucDDq}VLXo*#oJKN7J z6wRV+@>jcg&M-FDn7^iYWB5HpQ2mp=`i&GP**%r3mY*wOce<`3VOWfIJVLYlZvKI@ zvB_OjINf{1oyjLc$LmkET(K*rq$tbfaw@FX5#{4wUKzA+i^d^>(iLN^qi1RaSEbMd zxs{x==5gIkq&v$pr8Y>r*|n&Sg?ot^s?=+^=cG2s|A@OAv)?dA8VSudugj*LP8MCG zI^#`#JVHLZqEve-xV2Jgx;Csdk{rs1lk;0~oOa5sik&0BoO<`i=#j^Z&x)3svFQXJ zO}{A@s~Jh}5yJ*e2_^wCvrXWqIqNK7Ep9(J5{5hFVPSepvl_uDI}dXC^mlF>VHN?25+W0*L722aHvwiTb6X*Q|F#hwnEdZyb4QI3ryc2(SQbmo)DUeKzYEh3KW`gFWu+I$&)qgk;rUdB<%Ir|w~c=t56}x05G$ZdV1^2#S*Wz2)`STnObubT z4yL@o5by+4p+zBRnt7gpFyIWRf?+%@a|3CZ)_&wloP zzn||04jRxNfJYCM|IcS_FqU#KvHu;y5lDn%N-`PesK3j~3%R~*Zjoj!p>*Rj1 zjiL|{u#J*Rcr$UpHp(apVZrMSzt~3Ezp;(5ycIuS8>L8MSm9r6<5~g^FZj>d#@`0x zPe3I9FW5$4009gO&~*3N{FESO6YA;E)1dUtkOe{yeaXIivvS>cGee z`Z;L+fBc(ZO8Dd71m7wD*fzlh1IGglY)XH({wcxB{Tm4jyklTj`ol|trUZ;>;Gz%s z3;#;Oaxhq6AN$uZl3bO4GZi!b?l({Uo8LV8x8J;g<2Nrt0JC}aFShY=Sw&V|N*u2| zntP38O^J46ESMo>P(&%&o98<^1)+5rwfAy`RTadt{t z1YyI-Ph~2c0Ic783Ieh1f8rJXT-X8`02P6&TF#vj*O!NnM`zk#9y zfq{wx)d5|BJpw2V)Eevyz^Dt<1>9;tV4R|J&aE7O9MBubH4IAsM|gi!2M}qFYZxd2 z$d5x@f@z0ip!-AO10?`Ka>M|>qySk0u>o!Wv8DrIaOg{5A_m&{<4)&jBH8%CN;?N<1WA4#0PhM#l)7r^tu*isfb6tHF|pf#>?@LQ*Sjzst!b0 z+60HtBh8~iy<(ZB@iE@I$!AZb>`Tu;M2BT%+u(T4xnx^ebFTp&rSJ>ZT)YI+Ge=7O zX_wQRu2y@twfNsmZcXZJ?`C#+bKJwfCsJu3jDLR}0hacky&n9-U{Q1W2@nAI&q3Wm zO92aoX)dh(V;}yp6LaPl)X+X%jCYiX&0PuAc*9duLh_kjy0u+IL7gVQa*dIcf?ixmik zvjl-4fMPhc2P^MS!vMYHuRR0Q@=q0kZa5_bJp+8Z1Je0x=KuoYG!Ja@?+(h1>M3zx z2O1^W7lnugyJ7~_j)ficDSqlT{7o+=#nb1>$!(s)4~~mzs7s`x*#$hy=!-WC(#3w#KKPI*s6gc&)HSQR#dl{4h?Sa*uvGf}6l4 zxaP{PT;J@QO&)0_Ayv1#i;uS7y4#b}PDcg*6!>|Zj`!C!@z(|MkL~VHm;2M=ID8(^HD^cz1qR<_L4`nd0X76G z&GGDm8iNvYY6B_?iU-QWDLE+NpT-W#&sl{)1Yi|{QUNJ|YJmcSAq@-(oUfgm{^ zK!!?5Jt9>&L}S5*ATXWLaayFlzj;#Q&NM{Tq(64cY>5oWGNypbVVl@}~@- zJU{`U7(fBwmX6alK}mo({<{Bxl5l1zuogKRArQ@9rzlV%fDC|38L%CKBK?ubpH>M9 z#^Dh-ixRA`KcWH312qGS49JlqAW%HcHVND(K#o96pnm@~H_QK>L*IXZ6S??P@4WKi zyj_%gf4Exg_uECy?&a_AefZLL`fN?aSMVwmBg*QuTlBB@AAMpGNx$BIjET(v?>|PK z{ber+%r6AP{m$ZFpVUpuFW1)P*3@5ZOuW+6(t7e*+fDYN8|_`)X1vy$ws+pTd#~)= z{Radzu)=jNtAw7*-N|J1tpZt3gQ&+k`$R(&7( zAs(ty07c@=L~VP5A9lpR${Q1{QU<%?iTFMJJt_BZC6hj!9kfEPy&ew*X27eF9*3V7CU(fdZohc+3+Rk3s(cf&iicP7QGX2buv;3D7YRC{Pt> zT0mi-i-1oTV6O!_o|$>sfA?3c_0rM@kRAYf5|BI4D7be7(*W4KLHhxM14BJurR=-BWNvP<$&8taEl41 zesEj>-@(AT0+I!HnP3fY#0|cVfW8ZkCY&owplPtiz;XgK5m-6kb`xA)0=owwkw7B^ zhZS(F0o@ujW3Y0-dIKj;uucFJ1o|Q{MgfKgY)?5k>0r(P-4Vb%U_pXK2+k$I=mgp% zxS~%@O9Ds|@KV*)Rf3TPn5RI$1edI!or6&ZtiaOJg4;dqU~~lw7#yd5d4}Vofad@# zW8g>_9vK9_FtAGkYzf@30v{Pz#$bs8Gs|zA@iTxtfrSbV&EPH;L;?VxS6X^9I4A>l z2n3sTb=?H6F5piAM=oHz0$9|A3poI7QrA!dFTnzG2{^L=%LL#hVCDiGRChNUJSO4i z@0pUC2zaEeTP*?L1Y9s+Zv=KN(4h_m2mFis_dndQ{9hrJ{)12Bc~*7c(>T$B`Ztcq zEdJLcVZcGr8vjRA@vk?+DqSRvM*1=i4AoFO z-_O}NS3PO)+m-q*r}6UBCh^vwjzt6+-yHh!t=)*z*?6TUi8)DIV$d!;sZC^WKQVBZ zn2wPCd0WG`FMHfn4~$n`sT9*qHB69tccgNyEo2*|aJNOzj*B1in(Q39`tGSlQ)UH% z-4`&%X2j0fM0OsU>`B|zcG4ZZ9zkf`FFh#HvNQ{|2>914=`4SE-Ws|3qJXXO<>Sz> z^OpPLSHnMmY5nwimm8-(fA}z~Xm{o&cx@T0G(kg)`2Bi5Vgwu~a1a@VP@}>Kge}Wa z9^qByp@Q85vmvC`G$~5JS?&dczy1m&Bf=_*UCXm$-b{peWuTLi#qyv)EF79Cp@b$= zD1x;#@DL)KxSyevSw=NgOf~R`CW;2rY-JKztXL8f_KsK3R`xb?4nkW)8=Ds}+{Kz* z;9X}ZgwDN_SYj$>gRI4J%Xmr4QQ}#VX82vK7ro?tMqj5WamkK8w!4GAPNvF6TJI?K z+8Z~xE`aA~3`Sq=sHHNBznxr$+5yuD=#3t+JQm+q4Pg}#@UYHWqg!PEv;b*=AD27T_n!*dxROLWeI?X*2}4S&ycD-ED=|IdUx7zMb3HMSB46 zqFabuBT5ufrs$D&KsZTTvB1)JF_?Cd*F(kr+MA2U2d|3my<>?3Zwg^h+tof%q)?~$ z$frb^>BjbS#-D26j{R0l>mILb+cL5#pLG6LVN@W$x}|T2smdEBrmCpT51l<^J1$3d=8cUoU1F1$%L2ya;RK6m+qwUS{ z%G81n{XdcYEcPzn>&J#s(i`o0#6GQhoa0K-{6xt|?pBK>+vvR0eS|IC0mY(tVK#;< z+jfB43?i8!HlPQ(@33$2?6~_JON}8P>j_wp#Lb)<5JOZ+FU~+Eo8&M&x*;$hcN@u` z2V-tK(1xr-bdY7ITkXe)lhqNkArJc@L=LGCXLjcMq(5ZbCKW*m)f`Zur0xu2y+WOu z$3sqJmJPIl`JR8KOIs6`LJUaTV@2HSW5uzD^U2{bQrOQ5ztp<#Cp5u;@+L^@ddA3B zEJh@}22x^PAO{q*rRmPo2h6P09I1$Hx+O58AX4TA#6b3YkkGo+7+@(AXG#;2m8`z1 zD5}!U2e@RYlBm`13Y(J$KKNjWJ*X@>7J)@W@YtIXlSMW{Mg|19STba269~xGkhXl&}U~^3mlE#FLVtY>smV1)K z{iWShqYS}|q%roGg6EZF*lzw5ULq;V+%Z~zXOTk&QVYU*`LZO>*Tg~-WT*?mL25E#gOvAyrehntgiR-WrWk3;jbhjl1!}Mw*G74hJ&ZUWCH5Jq+h2DiHwi5Z%4W*SxIHWu>x#qE2g`mbvBW}^N55KtwoM+D~ObvF5ulYf{@_~ zp~x2W@*eDbL&=IwIsa3)EL5;(tEUZY>n;SDz>E(w!yx)qU3-aZXyM(f3wQZ`j@x9_WQ&A%q<5 zN&2iPw6H^zFnI8+Oti;KHDb4uDb;H$hP($s=8nqWNfKmrG|o@Ko6+P5I`1I|SC}Tm z{M=>{hCspeam9QsGjoGJDI`00dGzy*FL!HBf4=kl=gQ}s5MM2g%a)43SD{o2diV() zrSVK@GYmOODx@a`tLo*0xp#*yXp({v?CKEYNAW^b{7$6;VM&CRsisNFULONxalW{C zS(z7fwhRtp&{}$ZzO>D0WGgSu zUaEBrQ)89vLW19>kQ={Ohk6Hkj_of=-)F2$E-P4#KvB$|Xqr5YwkLQDBgv`jYo`=y zLN1NV9XUrIOGW9B3EG-yE~~;4xis<`(H^oua75RY%jy+-!bkY`P9RaoXAXFXyFG#I zUsABt_#9O3NRMShsopz(&3fIZV?*+rLknU=3c7EE9@9OwspMR8%#{+4l8330;g5?I zj@m6oH|<7KtHb#qE`bp9m(Lou>Oxs3TDw~7kn8vBEqAQdrNz*Xeml|r@%&tsI&11! zoFKy9B7i{NvUg=vnw{B5iN9NN1U2!rZ|`wvR1+40wR)WkmK6}JcKU<^>FUwu8!}cf zcWR5Pd9B4t3;{|2Z%K1`HLI`FV8LA%UmC0ir%UqRICNJ#?uFp@gKX~y^prkJL8P^| z`I?Zf4SeY2J&V`KdkbrHF4o;TNQ%NWYr@5A1QJ{wO9v3pC%O;?Lt{zsnx%foKXd05 zU&uOK6j8gS|Xa^}I|U21C_0-#z5ZrYoKn}T=XJok^W@_7o8@y2_3W}V z+@WOqNWw|-K65=4hYXvygD5I?|3K*K^4T0m^Tx*)4KVDFg*FEwOOg;QFROgf`p08B z`$%-SohVTkBdqEF{ps309r`Dg=+s~`H)a4|;}sUC?}C$sFL(P~n?mikhtAAv8EL{r z7OoegU5{}=QVufWF0Pm4;XB^DvoQ2(3-3A%w3Us7waySGU0A|U*u@Ae0xM;YaG)Y> zbt5IM;Bm}eG*LK%dPE1o&127HOWFI{Dav*dYfy_l7|dlAY@>(3<&dzpg?r~P(RL|F zS9{2cg)cD`yeNP)Y!v$Fw2%5FCYTr-Vi0@OCH8n|Y-m<&cysK@kyzXVPfVeTXh?{1 zqv!i!{5ldo2j)^mF!@&7_e(8%q{%Q5Wag2Ns_`MQ$$l_QjT6`M#O}cHkht_=R58oG zM2KqnSj`t z7{>HKGcni#;9!2RSjN-K#cE|4j3_H>rYwKP~^H(V=g{Qb4v z92R=70RLRY1{)P%c;>mRsiy7C@hJYZu$>l$*+Gk+lSS&NdSPkuGjUs#O;n%2>!wn_ z5Y43Z(~yI~hlk}g6=5kZXkRT#4u&SO;xY6L9mjO+LWZQ`5tTZsJ3h3|J2gl&bLTbq zh*t)NVzpz~!W9qg+;t2h9Y+t6iJh64$#XGB!;oHChw%vv<%ILN?67ROH41i}h&#yz zDL03r21Ca`osjz+%Dn@Dr)8oBvz3`CSdX0bb<~n4lw9yj!m@cMx8d875?oLP7gTkd zj2MWpoeIwzmS=B)Ls*J$UwI+v5$J{7_OE$Uj&SeS12(()2|jrno>1ES^B3j#QL7`d z&KO72(mW;D`^{(PJ?Uq@4WF^Sa+-jrz50BLG!JExP`U+3`w0h4`JKAar_b#=gQi>< zJC|;%%ui6bAg2tI1-!92pJrwpW0+;k#4-V|x2hy- zo!TDiifP=JFDY#?xd%sKpK#M+m-tI%IbSjhFe#T3i&9ezV4daETqE{}Sn@N0)Ou}0ug=t7Em^!t+6?4vx8Tdi9n!F!1J3c0H zr6l9ck|c_K8Uq-fLlxg}`cJNvWpqX3urO~cm1oM6#Lhxt`Va{xLPhDx>`=Yv|$5jl;6A@sqU8qUi)mdPaO2;@cssYbNcZ91wKBcKGOPXJ08z+|3#vX+uf8gMPWD_K+M_|j7>?Kt zi;=gB1n)`1%dq0MghyrXvuJSY%8EsoWyT2*oUdTCl6Ht+%(jL}s`Wo~b4ek&s7cIC zA=^vYIqNI0x=d&HzcHfT5vb2@P^DeHuk6@N{;ZI#D3hTD_*Op!8`0U(Wg2qESw`?h7*ZM#Fj^Au%V8#12__qr^%L8()_QMCX%`%%uH!k|UjfGl@C&NJwgu4h z&RW4Zeg#_rq+EQ7U;Nj;E1PcJP;svjXy31XvP^MsYsVK@UxHsLvAlY^3pdyyywGvu z36~NJe@wSpxUNe^nw+|lK+91krgVJjD}zYgn)EJm73}VQG0pT=M^4;*Kh5pC;a6Fe z!_(GFRwY$^$tVwOr3|7sCRz4~dTaRF6M;$SRju1^ks3WkYDj6roO#3XMeXc0DdGqL{q+uJ%! zpEsd>FLC{End-00d{BZF*q1#oQmfj=j#sSQvOlSOFJ2Fk?c_TbC+yFP?%sy~T1_yl zK^7hjqDdE!J9pbw$9q;go828y(KCLilOh3yz&K1Ww4R1lK9MROrepZ=p3}$LNtG1v zSoX}x6yMz2<7iz|GhNHhvxS1!v>D|VZNa*=VNftPqSkq(|MDZ}YV5ntH;MN|vK8;E zu-@D1p%C{V)@2g%Hvi$89sT7pA(37>AcJOXX<3`y% z2(}Ru-WR1AAnx|43}uH*uib=ChYrGg5d%+o{2tskViE4}YYlGb$zpx~llMil3wT>dgXD5%7A^2AoiqyzyZP-^2QB$eILioj7&y-Oy=u zIO2!;vMl_icyp?!G}pXonWhayZ7?V%uN-+CZIKK=0lB6GdJxJ%mc(CI(~W zxvFzFjs(ZSrI#N!^FpORM(}b^2)a+vlZWZ~!zv36C*Q?wtF)n8UyU}@_MhVJ5yA@x z4_&)H;*36)6bD}aJr?8i1X>LSqbu5dWDJ*PSswVTwdo2neQfZRQTd#?y_|(c`{?WA zCW5spc5lWA?c?O@<0C(=K()_s>hS*CV;U(}vC>VI*^L)^Lv5$7A`y)Sn%aBc?62<3 z>4};^y?-{LKF-f~0&{rWng=QidrTZ3A4KKcoweR1V3TuKfLkhc2X>3lJa!#R@n{09 zIR4z}%FB*xH1i}DG|&kD6gUw9XXZBZJho_4gm1jDOHar-#lxE$jwNP=104?#T(}zI-S)yGo`i(o`^a`<>j~5cquxH z-ZFsv6m^Yz;niU2YiPCLb&Lk=v1!8hG`wRR78>Qxi#X5N+7>8WFo%cU_n!Ir#*Qcc z)GfEu6|6xt1>Z}6nrAP#%fnYA!ZOD7T&-VEZXCZ9Fgt&esadz{yDx2R z8BlD)Yt2a3wGmxQ#BFXWxZGH$0!xoF&O2W3J952_4N=JO#^3-C)f-`%#jVGR`)|MJ zdh*Qi!Q@L`=xxOKbcFh|Z$(;0#mIFZ`lE}{n{O;_DvHf;NpL!}+<1$ib#veA8=}Zd zVpMoJ7sjsJ!@q9cXf=M}b?dvv=)&@`#V^~&u=JaJ5~Oe6KCVvQG(9BvK^XFl6-Ky! zvVHz(+v+F#bxRJLmmF8wgLx`qG7p6)-FgKWA_e%5EdG{aAQQxu+u3s+ zq+(rJaavk0aFpd;>&kY8FS}k?HrWgxWnCn38~svbPrbCK`Qny{&D%x7{^)&H9QzRHUwMP{9vk=qrP_d~FqM z0p9BQ`Rtq;>zLYuQHdbm`*Y0yJBcZmNbB7eXrOdR?iu7l7VHbXwXYBp?;AM||P zE%B{C@BTcXdg%})$OS?`v5{*bs7qre!#m10F(SL^k0_Y!bIP;Q*RQo$rKWsA1=<%07 zjPNV-pMM>M*(?>VV*gfpN3oS%jq{I@h_A8tWmkNxo=bnJZw-6t>!*H;I2u&=Uglwq zA!e;tZF`aum88sc$vPmt#zsdec5ai3mGK7yl1CxGhWP%NSTv3u6&*<&pvjBKkZ2h% z%+#x!rV^^UVoB-qh03nMR$F4pLJQhgkXd(&);;b^mgeI%>M)jGhm?UFB)YV>s)r?D z7-EqUJ?DLE>u%V%%=aBp!JX?lb+KpwA)9pz@n$2@);nab`B-P`@c`nQ< zx3YXZN<@>%#~;}2!4SFPGJQ+TyFT4uGeS7sp3(9hykNYxs3THcY*crEBHF5Re`8W! z4Ax6z(iUIj)TBYFZ?djM# zEV`4yU831;4B5IALa>ph0}gMm#AZkrx%9-tDzGe`%!4kZt&w?B@?bLXyS_H`$a{EC zD6h@&CqAN!`_a5a9Hhm-1%2Mb=+RrdXLW!6Qc=vhP+4LW^JVS<98`jmR=-|4SEQi~`D6FI{X2sI0kV zbl`H+>y`sGH?hWnzixH|8}3_z8{1)@)`LyYV_J*RF9JxA<%jqM+n9g>BuY!5S^q6T zBiHR>%ZFs+g>nMd#C!~NMd?sXs$Ws^hW-KMVNdCse)G?WC&o1H2`gTw47@vS(wqE( zTHw!ci3gbhHWn80_Y}~2A-v?vx*AM2nCHh)7PDa04FW8f$HlCXm|iH>m=H=x0SC+zM*soo%^sK<7txYxe0ay3FHq&(UWCHl6B~#G*>W$JPaI zCgX(ySIaCnsyL)Au02^lUFoEbcBBdjmfJ>GY%cHHdHI3h1>K5m$0K5D;iZPojc;@ zgoP6GE3?Hje9hm#y;&wURjKG^)u+~24>j9XuAYq!WCUe4^f(XIx8X+zG+KAx8};_D zo(=S~Fm`>AIdtWc#lZllR@b4%p{q5~2Lrv0-A0Fo8k@WeP?Dy`arPvghrOi>B3*Q- z#6wyQ2k~omJY`NFm%aBap_GW+GbWbMg7tWBZn+3&sW4IN=4q55dxWr3(~&dz8vOS| z_Ow}@ke<6-ojH=bCob@_w?tVaS2Y)w&yU?EQg{gUShWf9x%>K6)!>ttb0@_5@7J`3 z?L$iLfBxC$Rw$(wQY9i0TczOB+N)=;w0>&ESs1x{;5?c&SN zJa%i#W(9%dL^+)k_XFWgSNI`Gd-|gLbt^-W2hw>snhK9Y91kb$R|(?MM)B-O;Z99EgFhq<}V zNtd(PqC5hTR%%n}MebYORwV=?+gT77*6_FjkhK@Hy{#<@q2@41`` z1&hm}M4G###wJ9{A)3nUhEeS!o|#@7O2&Oes>v$`bcozwaM_SASjqt{44GEx7#%0Q zo?ym&3z06-V)h{la&r&7HX!7nu*7;~suw@BmV`hN3t}{@GJ2I1bBvYG3!d6wZd9Lq z&0A?cW{qFloHSO%EQrO@n7Ve~!H=1^PHN$U?e}MgV#6WbpLFodobihmFK&~989Q02 zIg?f;NSm7$Zxm(fcZeyU6C5SN^pVaucVtYo2(L^+=$|;mOw8xCEU4VQ=z}XeD@z+e#)*-CXGy;#->FIN8A#9oW5>HB9 zF^`=x13oi2cDKqC1H^fYutx5g$wKf6)F+8i~arC|@WT zQs#ZJ4uzu~icuX(=^e@?9V%BkRJ%IV9(AZsbu`k~?_ZF3p{>CnSFetW-dGT4d$3m5 zS26Ka1kV6O8fezYyMkt9YogaL$gJ0?678##=)Wd;eL`YG9?pVcZZSBR)r%GGW~qQGZlAtF*0z)l3ir$vO&DO1G?DsY-D=!A zTMo3JOw@s_bfp({$b!0ir*3P_UfE8#x&uXHp!Iez_!UN=^#zbF4YBI`1c^0>TpNr? zA4!UI$L$SZnzkzQb(HdHUlpuZK$uy4H@qF|f;i8jBWvl9!NwD9xXnZnh!zbsZ*i~K zu(7Y`LX@6!ZX?2=(aUYaULhMp0sW8z%!?&VJseFBg2b!@GM^-s>f+W+%edK;5$TO; z+D+P~`fi1qd^(u(fs}+hcR~eAkBgs;a%+xZH0?&x z&JwPrxZyg5uB95p^}FEfBAVJu5-tmI2fx+4A$TX%_*%MSa{fGmpQMkSW?bvSIn0|t ztiJQ+C7Edod0Sf^K1?bQH);z z65Eixe20%0x?iVr|7#%bP<{V03;yuwR%5`nHj;)`^EnF~?f8{#@jVEl3p4+u1%T@r z&_=F|)KoEn;X6vWK*f*o*JBJK$B!`iuEIPBh}VOsGElFtcpyfpOxPpw@y;^Ql!2e- za!^*8s>7Waax|obX3#*Gm<0oO1LcjAhUvDU^zg1bOS2h8E5b_&X_>AL+h&xZ`5Ozi z8$Tj9e`aj{TD%z=c4 zqx(|*jw@a`eG&#AiqLT}kHI-e@4;D-(av6&HZ&w)E_&TnZHt|nRgx-?uFYcqfc4T% zh89K0v3+Fvk&t_Pbgf9>V5Y(XLQ9FZ*?<8JAnc-5W0Wex@p*V#Rf4YCA%v=El6-4O zR`n=b{2&w0iuAT+7@nk zHs%TqL?X$NwqF#kdYA@#4V2>TX*KH&1jy3BhzV z&8>U`NE0ZEU{6;rb3wZGx;$h;tqIOoZzSIph>m6|)}lm}kPRk`qw1z2CwC_{k7!p~ zel5K4jCKpjvXr%UH59KyAfa6KCM0zG9sic)lu@Y26|E{Y{juAX$I|npuG&KhzAEO0 z>$_w8oOUaXMxE*k|JWn?P1-^yA)&t~sV%W3L&xZV%=%i_SWRm|oBXp#cVou2=y|so z+nxqHy(6DoVySLSG6QK9-TW>g{9&Kp0X;!IT-8xoi~0?Q+*)QKPe(&(S~7QzMiiVi zeRlTQ)dzaGvVPpvQfA*VoC%e-x?^DME=J?J1Yw~c-_yo3$*V-w#%LGS%$Gz53=anv+HF|qmD)w1-HG(Q!s2WWKhTb0xBE6mwkMu@Ur}FWvkt| zBj4QBN@p^{cW&=>gVyL!b+&mz(c{zXKJT5YrcCRat}ARgurT+eY?{u*2siF8s+FC zg4#JQ9j4=+$Ihpm)RUd$ET6BA&YM&cy7zTgViedzq?gyZA8+R!>fM8L@Jo6?qm43K zy{_(84|9GPKeXAIb>Qw0xUU;raW>rxhv@A(s(1OA_muU;DVxTrt+%FZhoOwy&s|-V{m$YPzyh&#fb;=C! z#D-|nx{s7~bg3;6>HO;MPEFoo{jKq?M>gP&E=PK~-}31?ukz5<&3!a_z*2l?@le*Q zw4ucG;~HbvN2}yLvX2?=8-INbqk*JZ#g+6JM&;dFx)S4PMG}`Yg%SE?Q4oZQVHS#3 z6pHWP_vEt8u&0jxN4LaVJRdt|n0Y<%iSYtPdaXlaE{5#b3 zI@R}QXU-~?_?A~u@3}MYUEOm`OipjQSTIzcQBeF1rd` zF35nd`yGrfe!kwcdh%)0>9l_P3PPo&FJy4=_FPH%M9Jj4HH?wg!${iQ4F~wQ^4Xcb zufQD)y!eJ#rT^TVr<-Zq6SuGG>D@7*w=u!d3UN`~1A3l)2eJ2Nvm@SIJd%`c|LVww z_3yFUZuJz+U*{>-!M!>eG&2;4c*9%gzHjg}bMD^FpWg3-o{2mTnuzwk-|3B$DC70B zxilQ}w$x0vv9hvBFz91N@@!AC8j||@hV7e}pnip5RHyt;UE_T|!Ae~dmxXo+sC%64 zn}~-7C46yievvau7@i(fdoqiuIoW+G^X_b$XNt?UcTAJ_Xt`i+CP# zubQbAKNwSXIEMIfRk6*3LEO3Fa9XqRe);hSntCq^wQ){g8lwxM^1dtYh&$po_%4RJ z=}o7H@^uv@E}HK8oj-1sN>-P@OL(tw=##9#P?oa;-ROw6mY{Oi{s862fnoE}#43Zm zRfbYdF&-}km>4V$88c0XNFSmKRUNoQyFxwhYO-Sn*mY$e5;xS?ZFVxhuw$!5CHKjr z8nH)>8;z__W%~8*ha8VT{W;|uyX<#v+5ggVK-2Pp+slE&%Lm^aej*l)z zYBN6^Zc4oHqUV^WzqgO{<@WR-hS) zFT(+!8E4e7nl91%)T7*JQAQ_15BbstvO42#e@PtvlJw?F^5-vSxx$``T};P)?GyV7 zDShoR`kEeFmEjw9IppiP=a;h1g#{FS&AC*Xd;6>9gRl8DMdv?%#UNJ-hVu&*!yjm^ z6mQQf*%jXGv2yW5?xoo9#*~%vUAYxa;aA#Ms`PU&zX`8jSgBc?Te~)*_HO};r#Qys zNGKH{@!OaT9LFH4>rdM8{xgat6Y3!C7$h9~#wr#)Q|AO8gS2C^oh-;U22saX10!=|Q|-dS+hfOrff*Ta8o*f$9NfW&4}jQXkbewNG;nqUKR7T=1FLmfS~9SE1BW;;hMzeT1}xja3=R@1fiWByy+Puhp^+}| zZUf6RuuK1cX*B-N(u4n#G1*U3p!46-jxAzEbOQbulX;YV|5wK3bH{?-=4BuGWlZ+Y zpMwQcZxSh45MFJp4> z%f9@rP1Vm@fid~nou-=SH)$w>lx=hEWG7Qlb#H%j-OJl7*{$bouhqZ0lcfWU$-^pd z?jIR^E5zG!W#(bo+RwIkTeN3}YCZ3qw`*;D7hQAU^^Lp6WxmXtGuRJyZOscWd(u?* z-D?BJx%Y2~lgnnyKKYx#7aq3Da|Mm|@3b{+~}dTDu> z&(YW2Vo1K285TL@lVfnX1Z#CB*=gGCl*~~ji-hWoGW+0--0Q4T1sW9#x}D<7olkI= zl!xW_Eh*a<4mk#RU%Hq6_F`4z+qadqw^mhVtF8?VBr022i~15w0WA|I9xRRutxEik(%wxy$9Z3o4#22zGbd) z_I>O8E!CRnv3m)^&C9Q6_g`Bnaz1nu`sQ?yjoxAq+>X1y@}cGVML7+Z?+R)QT|&D8 z7rKeQRSUNyPRuRbCdH~PW^mOAEnFeUW-RuoRl4u&Rlgl5-fust+HhO*eE);KcFU>; z^UcrIJ`I?!J@{$RO7Zfi2e$f`h3{|M>2>6htkZ5=s2$yBUv&Wv5p zCzqDAi?@l9yesJIt1RE@udnk?y#M;9;AZRb?qUMEaf{z(-LPq_#l7&1OS!sBR&BR# z*uUM|vMJ;J^xp8b@0S;)4$Va1_X(SJb!L9wa_8pz?;i)YtpD-p(XK;3mPUMQek_lj z*cbM3Ja+xhFH`3Z{roz8spe-Z;>w2`-yZOiR=C~N^0w|QzmiF<&?+XcrvNHB$TYooA26G*dy zBH_9+3p|dB)+>VqdRUNLSxQonSC7PO=xq~jGy*w5TPwzbU|bZ$6(wzs^@vjSq7Yo5 zPJx3=v+ul7+yqSuWdo}h#Z4iZ8IVt=Pefu;@vL2f&K%{J%^Ckq8)juV^HUuLNY}|T6g+CM~AoRq< zDfA2*ag@xGkkG`f`$9wPw_3#_$df38W;*&(EriG-U*JOT=S2r2l~1x!$PtRk8*5k` znnXDG(TP8m;0SK$!ipSiT_=n}$W8F_`q9WDqXV&)N2Nu&%Pb9B><|V8cpWkwB5J~X z$vdU_r%`JMdSQk0I6Ts&9T}v_fNa~jbm1N@Za{v`lOcIcCO2Q%T|OKQwcUW~h#(CR z;wQ4XSf!Aoic^J16jsv;(#4R`ba%Z<^ukM`>%0@xOokwXN{GZ7LRIKSUN@QGnot?G z9lCmPAI!v{X|(eJi_#lMOohJGa>*w<M=@O;e{P%SlD-cAjT?Qk9DmP5zAQiiCiPw8KFAWpub9l{JSCYD2*nRavH ztfyOFnL3~z3Xyr$p0+co9{f?7NYcFmxH!iTxy|o6P8-kAGJ?3V*D9T_slYW@(^^k; zRVXKzEh=Ho{aKyK!{5^FGK+X;Ye%S z?A^m9T8LJ?axQ&a;0385c9b&C3yEaXDJG*6BDSO$BX1=6h+&Mf5E+unLM9*kibQBq zFdGNj*F*-tlvrzCyP1W=Cs(;konhaW$)HA`Y3)|nY}mKc8JBsr|J9aJ$5phB3mxj9 z?OzkA$$utP%Wvxxn`@bbpp$#}!oS);BL(O1R)uSWo_LWWNp(^X`vPhYORA(G!_FB* zA78iS{+!Vdg&timn-6dG6zkA?=c8~_`At{+4r$j~1_+F~=}6x;To9O%#$m1$`kEjX4NrD_$QId9w^4nMy?DeZ zrmXRxaM8h_2=T|ym>3c$)L)#m9IK%c^!YIh#x z&b!ZdGOb7;t7_DhA^*n5Mue1+Y9Y^#N!MU~_;W15*~j&HyS0CN3}m0@@59ZUCVJh!_Cl z0OSW4GQiIPfDF)GfHnhs7{JRw6f!{l0NDnBFfbVc2oFq*fD!|^9)Q9D6$dalK<@#1 z41i*Qbp!Ampxij`TY)hWU}peU1Hc@I>jz*NVDi8a3m`K9p8+BbylnN0NOiCUU>RTs z0dfcMGQiRS`VBB@06_!X9^m8vX9hq(fc>ecDgaiGgVO=L4gi0ERs_>22rB`I;q&LC0CBt1-wmGh z0;4Iw4FSA(yQc$iiU4r~`6GZz1T%l=1*M!pwSWZ0f~RUAff|r}TKY1cbj7%4l`XsF zz*&QOQemgRyd4z;vdiX8kLzuc0Xga55CL8n0cQ|74V1(I5mJ1 z0XQRof&WBhk)7{85F70jC=Vv;T|x5yJ?{ReP`}@Uu~4W_!9TwI1&F=B495RQ#9l+d zv%cShac8{b*2Z7N-aj9V^N#WUM}u)c2t~SIV3r_d_j@qjS-JOa%hlQ8e;bUSHXoTC zzuVgM;W?W@ShtNc7(Y~>9*9~5gRxGO?DdvoS7Q*gnH~ulap=i)pVjB5ueXKOKRb7E z^Zgqe_q|c;6#wxa=39FG{^RT$8>!iq^FQ7x{vr0ts38bTx##v9ap>ofe;bUI9x%-G z%KqJ8e6j3ByjtV*iv-PEN-q<2hx}e98N4ognQXE={qigs8}{sssfd4xwYgOJRH}r0 z?^K$-&6JnL^TRmk6v3_>PI)QmSh~~I^7mjolbx~N4tG8~uztGG>`;KPZ|+gP-EZ<0 z_s6|CFJ06-kcTbDPn(|RD^c9eSS+7*;Sag^x`pJZ) zKDhMQ#rN{kko$>uOT*My_2m(-a|f57_+7fZJQ~>a4j5Z*t2cE>>pLz|^o^AU9y#1t zbv&_q;OCx{2@(FV&trP8?xw%MXeWPhvJiJXW|gAvbj>Mw&CxLPT*mii*OL#Uyr-j5 zg3@L#R2qf7t!mno)3U8lDr-&$(b6)z>Dc(tJHeUch=jJYV&6Y>tv&R8p+~Xi`(nTT zhkqE1y#?QE*WodI4zE!^PJG!ub!5BiiX`s^{%>#3Uc2_qa&X;h+Lc}A5kIvS&H!eV zrvTc8G|rl}=R)Blm^P?K&Sx>@UFT_q6kc&of9og}5zN9RfM? zQA)Oj+`Ihb@b&jkP6%>;ckvVFcJ_+V{eF)3h}9+3hVC;aJVo$o>=%P|3SP0Y2pN8} zm*j5U!*PQY8S4^Uw~FgRyi0$PNK;R@M)*Pkm8Y0^+v=8f&O)N!7(d^`o?9CnrcOdG z#kXxb>WE_I$w6wvcNTGCD);IXPEW})?2Eb*g&bI1MeC&adwVRUw4`Ix#VnT%_zMlS zJ-4?_c_3$+j`}aA74VcQZL#kAZAP&zRoT_s=iIWG;p!%*=IeheMf6_s8tHw{l&s;n z;M7dj6?x4AvbHf^AzAJ8bNqV*taEe)vyBWDbT3)ojaB;S|KaUEy@*b-|MBkJr?z%l zc;dZ~iqvzjZ7&%O_uf0+@-crt@e-JI?}v|mJdbb5Q(Nd=y?^9cs@e3|n=Rn9g4t}o@G95E6NE~=6J__BPj##{A5SHEIQI~6w5CN)OJshqN? z?1=I#y|itq!sTv-b5q~r>hPsXDsQFBZJVL`oTVy1yGqyLzM;mJrOUxdmF{nBhFeCL zszdKq?)}_19K|`_P9(ZP?_Mv0#!al?lp zB;SLvyt2=7A1tg+>O9yRZ+k+2>0Qq$@eaf~rIMS1apa>*1h*-b6S5zLtxoI7P!r~w zvpOAEw5%%NXWIv$<#X)KEm+)6i$Tx{#E^7FIkdTrXp~MGqe~jmo8o zauwVX@UPwC^<6-)b413d@esY-?O8(T25AOFmQt#pVt(?F-g4e5O?uHQ56Z-<63I9v zcyvB_7fI?y2RVKMfw5;JjEKyj*sZS05P9_~-j9xi3+SH(d8Tc))#jv=JgTWDizRH>8O)(>E9dOA2^7ynOO#Wv_0Pq&mw@kTe{*>BKe3 z5XR*3@aICl%rex359?0Lz>U>ptInHAi=Mm2o}0b@cmc&bA4-sWf_FLIATBVOO_fpD z?Ar%r1_MtDgb*bi6gL0%O2}~%mHi%pP=TX)uaLV?3x}~}7E)4k63J&s?*Q` zm?8T%w(Lbj)`;xO$WChNDqAW`*_r#(>D>2y?sGrRxz6MKa{qGw5wkp=ulMKm`gVz> zhVwWQWE6(Ls58|&o3yNfKqaIcMV2#?YDSWYs8oraQe5FVEHjM?}{=@ZS zt`}#98>7|lt*r-V=?#3_olIrF(wy7QEAAB+{FQBep6B|gUc7>Sj}=+%fV*#93u)yAqW!HMh9!442I{Q_sV7+5dLmbh-T5scR=l0rND!Ow0TVyu_f#O)8izI0J6*9DoaNYm~ z(U=A%Lm(&=#s{+!!q`iLAt(q<2rB(_pNhS+UWvGP1_p#8j(p+fD&d}aA?iZ`C-@*W zNn|wyY0SIv#O|7IUeMF&peo=9c4pZsc-CnLjf4n7%cXwL@JnrB;cYJKxerV{L%iA| zn1aLLjIdDSkar1A4_1+5wp@3p_k^sl@`R|JsDK@=p+N}#E)&LF35_Dd$_a?z^8Mpf z$VQ8)Spv~Tpnal&bFnCNAA}MOW@|*_=iRfJFz^B@$=FqW5^h&Ugo!8*UJCaNnMEFr zDS=r;?K!O|eEiUE`(V}#YvN(^-3%!V%Fh%le@9|eQq&%t%|bjh3gid-KF6y`MT?JO zaF7U|4xvjQ!txJA5-`||--VIrI8RIP?Ff<4mZxJO%UJ35=mXl9WJaS|Tx0mFD4O>l zmTJTqRUurKE=@bH;oir<1d8=^oPtU8ZLjE4{PF6+WOON+gEc}q4r#*TWmq7;e2OnC zbVmx&uy<5G=G_L}7k2!TiLES4kK7@n5i9 zvRM3GguCW2SCR{|tc9P6L+-kv&k!La2%Y%M>aqkvq+$dTlcFXsD;~BkJd|Mb90>|V zUz@aI5k*i2w;=|CQ4fwsmB82CQ{%iM21m_=$+vXq&K#ww6a3J-(KJbWQkG&CO8wnrwlP0v*!%tu1JJmZ&nGeqp}qABQLJLiL=v7J9+tys~J zWd=lszVSl~_J{;7eGxpiI-L1IJFQeBa|iwoXP-IdOen4)b<;k5#y*-!It}MwCL)@e zrkM)OCp;cbIQ;1Df!QpTjx?+^qJ9LC3CmnuL(Mx>G+D^bsd#ZTuau~=pNhJ!A6 zKT^P@S$k(xm{|CexDT{(omR>fF|_J@CfGj#*G^u`wu z|2BzmcjD20R!l?|9t6`VMeb&W@S@f`=m9XrTnGmpqQM0YPuLi0uvT@*igqMKi@0eF zKddf*<;ys%;90M-!=Lli&z51;%31u&s#jB`K(Cug+1vFpRurmuUnDezXNSsh3y=g2 z)?9za)>wE*o0(TM?d6#wF^7t7*K+?GsRlBUN5kEYvsLbN1%JvPLk5+{Iv*DnJgc@d z+dm#IRFEBE|9A%q&Rwh2-bh`;L4lpmSgp$Or8zO55xtF^!h%Zf_s>~S)y#%f{sLyI zpUWUp^)rtWw4ryXM>3Ium9sJ_m$`M4h(XiP{Gv?z!Vxq-6NBFuYN%QCaAR2jpZS0^ z$1`-aG;rBkZDk2TND zAm7cNToic8q56{33f9tTylmcNu-QZ`s|usY2){Y%yC56z!D)5VGJF{cp%*KsH}=A9D#|O zgc77;-bf==8@7y@pn$7rfRMxnNOQXVSZBMqGNSDV;Yjcygvy5M$kgdL(-~2o5|^y% z0MR?M%sZfYG@b;hi>4)qql)G_N}M{>U0fLwT(94BJgE&D;)O)~ka3;vw{Kcl7GO~b zFQi%|BAZ#*)jcSSRHk&+L^wPz>WmHTYG5zO?ZV`5I`_ZnCdgNT2YJap9egYZDAAP5`uWPdOoTm z0>`dwZT3RG9KB|CJN0*3@p2}}}LB@jHIbD;7Lz#V`@ppHN+0o(z=1ZgrrOB$^M2;r}q zF~EsHHPg}(el?AOOc~%L;7#D1!1O?f4B!#;jRBdpj}W1y=HASBRKV3?p+43v`r zDFxMEKs$k&O3R3Y^*bQ0pk@p#JAzR#P&@|K!GLoDwEVT~2r9?q6vdjF>%sIL7`;1Z zw-?+$fK_BLdIz@dl-0z*ju@awFmwk{^w+GN;!!bh^8i>9Y})x3OPRPz9M#y9GBp8A zQeNdJQU2@$JF^F{Bv`Nmrv>-w%R^gg!Av7KO900P>0dtR*;|2Q18{NxWD?u}fO~*n z(f|JwXB0`ac0lsgLASyX-$wv?KsX>L|?sko?C6z?@ zMh-JMe*wu9_t}2|B&*4o>YpIlz$`OY(!9%YuCz^}aPDcB(&xD{nx@Q`@&O~qFV9A< z7JjLCV{N3NQ|o?qrt$*-NlSr*hhM861aIu(5U%R{TKj#-@mt;M;@-yUwc{#H<_xjG zpbHwVi|zv@r1>3tzcn3|N7T`af98wz(iD>|Ra<&i(7zZ7`zq@l?9AFlyOKFiy@_76eQ zVtinK-~PWQ^-*pNi^O-nG0NZ71Cj@C(N73Rs#v=J=G-^Pdsgw#M-9XJ)xS;ZLk_G@ zXUAV#pUKO8ygpkba(-1K?&5&w=knoe8(*@&o#mxJZwgjC^+cIx(>QEJcz8a0=XF)n zvVA-o>fLOCOG|2oFE;-(ssFaMLjRkjUO)54>{OeN#y2@$#zbG!`4`RWH*VeC*j)L> zV1y>7dx0mGIij3iht)(+@;oOM5{Y}7eCWClSCnvLZTGguM4*u=l@OXvz@dIDOV-5` z5v~SO`y$?`k@#MQWS966BQn@+wVHO1%?GP=W$f^1YZ6|c4iK5!m|SR<($u~$-I%FCw9_cCE0r^!vp%KBrx98w?#}(Y7QY8PDH;lk6!Q6WLXbjx z^mzpoK2Fa3$99diKPSY_ix5!!>$2jU)Hn$su z3v)RGqLN+KyO$E$QnZLM+9|pUlkr`(_YXdUyU$N9K2)xn)GX)kzUIA@OlQwkY1Qtz zk+hUDjS&;;Z||-;e=rsMey^%jd6!p`O)5uuuGU*^Mx6U>zx?**l=`X^?cQt0Bwm7~ zkcA~*AeS=%H<%^BrqJh{Ccj6nIhTc_qc8GIL7MRY21#pN_JQJXO}s*X!r1pmDm!^~ zZklS9oO+n+zGkoRjGyM;Ri1}16`YHg&PrAIk#F#z;C$|x!2(kNk`sh;WjKM{x6Ort zMN$`#8H2|^LGl8Zar!~6lW{+axuqOUeZ&T+ZLwMX0a$GR2&Gu*)sveXMV2gQM_%q; zE(z5wvgYj^X*sf7N`6puW#8G+4%6kQ3Ef3kl{-g!yqC+U9Qzf}q_Nj=M&;+^iyaIF zb`B=(QgVcH9rZVoMi_T)R%8biYj?Te34HiU6fKf_9c!L8;=adcq|KEOZT`sM{hp== z9XFY*1H0#U?d@kGxv@r1d`a6|tvPc|J&Ba?;dN`Jk=k{;0U564UCnjB`+qb1IL@~u zron+e96*{RlMl^Tibtq~-aY;FO~`pMvEkUxZ#!b>F|w-!P6@5R+qV20vmZIx@tBkI zGFxO4qCx(uQi(Dx^WomAnN_#GPux{agsrCB|%&M$t z3+4X8z#kORdt$G#f?F!o#@!rtFfxf-W9EE-H~PZf!_l|F4_*?m*)^|VY3@kBGt^3r>4 zz#p0c;+Wrw5s(fLcpTqxTxvbPLSZgDw1 zH|lyPk??`LP4Y$SS{g<-o%)_iNxg%qO4!)7taaToG?0{>cLG1@(l}d|6=E8%r>_3Dr zvbL$~Ek-AAew2KxU)6E3XECm3^Aj@byDQSFjQl+=5$D?N{ZDVta#92)X(fgh$ zur;lvU;R41=li3hTQdex)dN34-E3>txVL(!vggNRpRLc9oHZk@ddp9fx905hYsQ9q zmMdzuzPLoyyqVHlsUF|@>e*ZKcBN;feq-yKA7?F{MSu0B!1jEoe(eX|-qn_)+Y98V z+K>D6*E-C$7ZZAGCzX5GdVIE*sGN1vr}fugCvShx)32Mo*t24 literal 0 HcmV?d00001 From 53df450cdf9202d39495d24d18883a6c83004a69 Mon Sep 17 00:00:00 2001 From: Nillo Date: Thu, 18 Jun 2026 11:52:49 +0200 Subject: [PATCH 2/2] =?UTF-8?q?docs(promo):=20address=20Codex=20#145=20rev?= =?UTF-8?q?iew=20=E2=80=94=20deterministic=20generator=20+=20honest=20fram?= =?UTF-8?q?ing?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Codex cross-review (artifact 367bd776), P2/P3 honesty + reproducibility: - gen-demo-casts.mjs: seed the typing jitter (mulberry32) so regeneration is byte-identical (verified: two regens produce matching SHA-256). Drop the "captured live" claim; rename cast 2 from "real" to "representative" handoff. - Regenerate the .cast files + GIFs from the now-deterministic generator. - Add a "scripted demo, sanitized values" caption under each GIF in the README and the docs intro, so the authenticity posture is explicit. Verified: bun run check green; docusaurus build succeeds. Co-Authored-By: Claude Opus 4.8 --- README.md | 4 + docs/assets/contextrelay-handoff.cast | 118 ++++++++++---------- docs/assets/contextrelay-handoff.gif | Bin 89176 -> 89176 bytes docs/assets/contextrelay-pair.cast | 84 +++++++------- docs/assets/contextrelay-pair.gif | Bin 55774 -> 55774 bytes scripts/gen-demo-casts.mjs | 24 +++- website/docs/introduction/index.md | 4 + website/static/img/contextrelay-handoff.gif | Bin 89176 -> 89176 bytes website/static/img/contextrelay-pair.gif | Bin 55774 -> 55774 bytes 9 files changed, 127 insertions(+), 107 deletions(-) diff --git a/README.md b/README.md index eec7aa2..61cded0 100644 --- a/README.md +++ b/README.md @@ -12,6 +12,8 @@ ![ContextRelay running Claude Code and Codex as one pair, with a live shared ledger](docs/assets/contextrelay-pair.gif) +*Scripted demo using real `ctxrelay` output format — paths, IDs, and timestamps are sanitized.* + ContextRelay wires Claude Code and Codex into one repository through a loopback daemon, so they exchange live messages, hand off work, and debate decisions — with every message, handoff, note, and decision written to a shared, auditable @@ -86,6 +88,8 @@ independent review, and every move lands in the shared ledger. ![A Claude-to-Codex review handoff recorded in the ContextRelay ledger](docs/assets/contextrelay-handoff.gif) +*Scripted from the real `ctxrelay ledger` format; the scenario is representative.* + ```text Claude → /contextrelay:handoff reason: finished the token-refresh change; want a second opinion before merge diff --git a/docs/assets/contextrelay-handoff.cast b/docs/assets/contextrelay-handoff.cast index 25e5e76..ff99146 100644 --- a/docs/assets/contextrelay-handoff.cast +++ b/docs/assets/contextrelay-handoff.cast @@ -1,63 +1,63 @@ -{"version":2,"width":90,"height":26,"timestamp":1718000000,"title":"ContextRelay — a real Claude → Codex handoff","env":{"SHELL":"/bin/zsh","TERM":"xterm-256color"}} +{"version":2,"width":90,"height":26,"timestamp":1718000000,"title":"ContextRelay — a representative Claude → Codex handoff","env":{"SHELL":"/bin/zsh","TERM":"xterm-256color"}} [0,"o","\u001b[1;32m~/code/acme-api\u001b[0m \u001b[36m$\u001b[0m "] [1.278,"o","\u001b[2m# Claude finished a token-refresh change — wants a second pair of eyes.\u001b[0m"] [1.778,"o","\r\n"] [2.878,"o","\u001b[1;32m~/code/acme-api\u001b[0m \u001b[36m$\u001b[0m "] -[2.923,"o","c"] -[2.985,"o","t"] -[3.032,"o","x"] -[3.07,"o","r"] -[3.13,"o","e"] -[3.19,"o","l"] -[3.244,"o","a"] -[3.286,"o","y"] -[3.339,"o"," "] -[3.383,"o","l"] -[3.436,"o","e"] -[3.482,"o","d"] -[3.539,"o","g"] -[3.598,"o","e"] -[3.656,"o","r"] -[3.695,"o"," "] -[3.736,"o","l"] -[3.776,"o","i"] -[3.837,"o","s"] -[3.898,"o","t"] -[4.148,"o","\r\n"] -[4.598,"o","2026-06-18T10:22:14.512Z \u001b[33mhandoff\u001b[0m claude->codex 7c1a9e02\r\n review src/auth/refresh.ts for races + token-leak paths before merge\r\n2026-06-18T10:23:48.901Z \u001b[36mmessage\u001b[0m codex->claude b2e6f4a1\r\n My independent view: refresh() is unguarded — two concurrent 401s double-refresh\r\n2026-06-18T10:24:31.770Z \u001b[36mmessage\u001b[0m codex->claude c4f0a7d5\r\n ...and the old token lingers in memory after rotation. Neither path is tested.\r\n"] -[6.598,"o","\u001b[1;32m~/code/acme-api\u001b[0m \u001b[36m$\u001b[0m "] -[6.643,"o","c"] -[6.689,"o","t"] -[6.748,"o","x"] -[6.804,"o","r"] -[6.854,"o","e"] -[6.897,"o","l"] -[6.949,"o","a"] -[7.009,"o","y"] -[7.049,"o"," "] -[7.095,"o","l"] -[7.139,"o","e"] -[7.199,"o","d"] -[7.251,"o","g"] -[7.295,"o","e"] -[7.36,"o","r"] -[7.396,"o"," "] -[7.452,"o","s"] -[7.492,"o","h"] -[7.53,"o","o"] -[7.586,"o","w"] -[7.635,"o"," "] -[7.694,"o","7"] -[7.734,"o","c"] -[7.797,"o","1"] -[7.842,"o","a"] -[7.893,"o","9"] -[7.939,"o","e"] -[7.995,"o","0"] -[8.04,"o","2"] -[8.29,"o","\r\n"] -[8.74,"o","7c1a9e02 (handoff)\r\nsession: session_8f3c2d1b\r\ntime: 2026-06-18T10:22:14.512Z\r\nsource: claude -> codex\r\n\r\nreason: finished the token-refresh change; want a second opinion before merge\r\nask: review src/auth/refresh.ts for races and token-leak paths\r\nfiles: src/auth/refresh.ts, src/auth/refresh.test.ts\r\n"] -[10.74,"o","\u001b[1;32m~/code/acme-api\u001b[0m \u001b[36m$\u001b[0m "] -[11.91,"o","\u001b[2m# Independent cross-vendor review — durable, replayable evidence.\u001b[0m"] -[12.41,"o","\r\n"] -[16.21,"o",""] +[2.924,"o","c"] +[2.962,"o","t"] +[3.017,"o","x"] +[3.08,"o","r"] +[3.118,"o","e"] +[3.162,"o","l"] +[3.198,"o","a"] +[3.247,"o","y"] +[3.295,"o"," "] +[3.346,"o","l"] +[3.396,"o","e"] +[3.44,"o","d"] +[3.502,"o","g"] +[3.548,"o","e"] +[3.586,"o","r"] +[3.628,"o"," "] +[3.671,"o","l"] +[3.731,"o","i"] +[3.772,"o","s"] +[3.827,"o","t"] +[4.077,"o","\r\n"] +[4.527,"o","2026-06-18T10:22:14.512Z \u001b[33mhandoff\u001b[0m claude->codex 7c1a9e02\r\n review src/auth/refresh.ts for races + token-leak paths before merge\r\n2026-06-18T10:23:48.901Z \u001b[36mmessage\u001b[0m codex->claude b2e6f4a1\r\n My independent view: refresh() is unguarded — two concurrent 401s double-refresh\r\n2026-06-18T10:24:31.770Z \u001b[36mmessage\u001b[0m codex->claude c4f0a7d5\r\n ...and the old token lingers in memory after rotation. Neither path is tested.\r\n"] +[6.527,"o","\u001b[1;32m~/code/acme-api\u001b[0m \u001b[36m$\u001b[0m "] +[6.591,"o","c"] +[6.649,"o","t"] +[6.708,"o","x"] +[6.77,"o","r"] +[6.832,"o","e"] +[6.883,"o","l"] +[6.925,"o","a"] +[6.97,"o","y"] +[7.034,"o"," "] +[7.089,"o","l"] +[7.149,"o","e"] +[7.207,"o","d"] +[7.256,"o","g"] +[7.296,"o","e"] +[7.353,"o","r"] +[7.39,"o"," "] +[7.435,"o","s"] +[7.495,"o","h"] +[7.559,"o","o"] +[7.619,"o","w"] +[7.656,"o"," "] +[7.703,"o","7"] +[7.746,"o","c"] +[7.8,"o","1"] +[7.836,"o","a"] +[7.9,"o","9"] +[7.945,"o","e"] +[7.985,"o","0"] +[8.038,"o","2"] +[8.288,"o","\r\n"] +[8.738,"o","7c1a9e02 (handoff)\r\nsession: session_8f3c2d1b\r\ntime: 2026-06-18T10:22:14.512Z\r\nsource: claude -> codex\r\n\r\nreason: finished the token-refresh change; want a second opinion before merge\r\nask: review src/auth/refresh.ts for races and token-leak paths\r\nfiles: src/auth/refresh.ts, src/auth/refresh.test.ts\r\n"] +[10.738,"o","\u001b[1;32m~/code/acme-api\u001b[0m \u001b[36m$\u001b[0m "] +[11.908,"o","\u001b[2m# Independent cross-vendor review — durable, replayable evidence.\u001b[0m"] +[12.408,"o","\r\n"] +[16.208,"o",""] diff --git a/docs/assets/contextrelay-handoff.gif b/docs/assets/contextrelay-handoff.gif index ebe9ee3d5b97fef106c75ce91e9da90d51ab48ab..6f2885535d068bc4bd45e2962f00c83ce145a7d3 100644 GIT binary patch delta 288 zcmcbygZ0J^)(sIVj4YcYRTxbgnQcPCkEJV)G)SgN#6B zDJFVM5Q*muikt7Be#*GH-olrKk#+M~o7aq!|6XR_yx%U54anDXO$E;f*pz5=C{CO ALjV8( delta 290 zcmcbygZ0J^)(sIVjBJ}DRTx8FgF>n(g)fLhMlyk?yI_cHtD{dRe5K$Uu~+)O~q%3X*J zDC_I10Mef47vcxx9iCIf546l|%}+5PWpH>p3y?Z-{0}P^*v_X6`xxXWKl~&-d5#6o z=C^16Faq_wI3^?}Z){kkWn41QIlOYsAFJzB&1Q2{Tae#-|n*p!V4Bx*)mk HpJ$T*Z~0?L diff --git a/docs/assets/contextrelay-pair.cast b/docs/assets/contextrelay-pair.cast index b60e79b..bfa211c 100644 --- a/docs/assets/contextrelay-pair.cast +++ b/docs/assets/contextrelay-pair.cast @@ -3,45 +3,45 @@ [0.882,"o","\u001b[2m# Run Claude Code and Codex as one auditable pair\u001b[0m"] [1.382,"o","\r\n"] [2.382,"o","\u001b[1;32m~/code/acme-api\u001b[0m \u001b[36m$\u001b[0m "] -[2.447,"o","c"] -[2.493,"o","t"] -[2.532,"o","x"] -[2.568,"o","r"] -[2.63,"o","e"] -[2.673,"o","l"] -[2.733,"o","a"] -[2.786,"o","y"] -[2.827,"o"," "] -[2.876,"o","-"] -[2.921,"o","-"] -[2.979,"o","v"] -[3.031,"o","e"] -[3.082,"o","r"] -[3.12,"o","s"] -[3.184,"o","i"] -[3.219,"o","o"] -[3.265,"o","n"] -[3.515,"o","\r\n"] -[3.965,"o","contextrelay v3.4.0\r\n"] -[5.065,"o","\u001b[1;32m~/code/acme-api\u001b[0m \u001b[36m$\u001b[0m "] -[5.126,"o","c"] -[5.166,"o","t"] -[5.201,"o","x"] -[5.246,"o","r"] -[5.285,"o","e"] -[5.334,"o","l"] -[5.391,"o","a"] -[5.432,"o","y"] -[5.485,"o"," "] -[5.524,"o","s"] -[5.589,"o","t"] -[5.652,"o","a"] -[5.69,"o","t"] -[5.736,"o","u"] -[5.784,"o","s"] -[6.034,"o","\r\n"] -[6.484,"o","{\r\n \"instanceId\": \"ctx_9a2f10\",\r\n \"bridgeReady\": true,\r\n \"claudeState\": \"idle\",\r\n \"codexState\": \"idle\",\r\n \"claudeAttachmentStatus\": \"live_attached\",\r\n \"claudeConnected\": true,\r\n \"tuiConnected\": true,\r\n \"deliveryMode\": \"push\",\r\n \"queuedMessageCount\": 0,\r\n \"ledgerEntries\": 12,\r\n \"latestActiveHandoff\": null\r\n}\r\n"] -[8.284,"o","\u001b[1;32m~/code/acme-api\u001b[0m \u001b[36m$\u001b[0m "] -[9.526,"o","\u001b[2m# Both agents attached — every message + handoff lands in the ledger.\u001b[0m"] -[10.026,"o","\r\n"] -[13.626,"o",""] +[2.428,"o","c"] +[2.466,"o","t"] +[2.521,"o","x"] +[2.584,"o","r"] +[2.622,"o","e"] +[2.666,"o","l"] +[2.702,"o","a"] +[2.751,"o","y"] +[2.799,"o"," "] +[2.85,"o","-"] +[2.9,"o","-"] +[2.944,"o","v"] +[3.006,"o","e"] +[3.052,"o","r"] +[3.09,"o","s"] +[3.132,"o","i"] +[3.175,"o","o"] +[3.235,"o","n"] +[3.485,"o","\r\n"] +[3.935,"o","contextrelay v3.4.0\r\n"] +[5.035,"o","\u001b[1;32m~/code/acme-api\u001b[0m \u001b[36m$\u001b[0m "] +[5.076,"o","c"] +[5.131,"o","t"] +[5.195,"o","x"] +[5.253,"o","r"] +[5.312,"o","e"] +[5.374,"o","l"] +[5.436,"o","a"] +[5.487,"o","y"] +[5.529,"o"," "] +[5.574,"o","s"] +[5.638,"o","t"] +[5.693,"o","a"] +[5.753,"o","t"] +[5.811,"o","u"] +[5.86,"o","s"] +[6.11,"o","\r\n"] +[6.56,"o","{\r\n \"instanceId\": \"ctx_9a2f10\",\r\n \"bridgeReady\": true,\r\n \"claudeState\": \"idle\",\r\n \"codexState\": \"idle\",\r\n \"claudeAttachmentStatus\": \"live_attached\",\r\n \"claudeConnected\": true,\r\n \"tuiConnected\": true,\r\n \"deliveryMode\": \"push\",\r\n \"queuedMessageCount\": 0,\r\n \"ledgerEntries\": 12,\r\n \"latestActiveHandoff\": null\r\n}\r\n"] +[8.36,"o","\u001b[1;32m~/code/acme-api\u001b[0m \u001b[36m$\u001b[0m "] +[9.602,"o","\u001b[2m# Both agents attached — every message + handoff lands in the ledger.\u001b[0m"] +[10.102,"o","\r\n"] +[13.702,"o",""] diff --git a/docs/assets/contextrelay-pair.gif b/docs/assets/contextrelay-pair.gif index d899a7ade8b4021cccfccb7270f965a47b0bf839..aa8774bdcb2328dd9ec153ee0b279933099d7fa8 100644 GIT binary patch delta 226 zcmcb&nfcyk<_*=7jI5h$B&)fB)DM;Atc+}%7ig_xW@OpyulIlvC}?1y$Hd6IIo{|E zi05OX!UUuW&4gKiRI3#a6Hw(O8&gI`_RS}3T^WHqKKr{M?Qfh|Kq^1Fbg?n&ZLaaY z#R(J)5A9(G3OKxjovT< zDIXIRCZJ%UnJ^2GYPI44$xX5`Wn^UCe8SchMDf|*1!;fd!~# identical +// .cast (seeded jitter), so the committed casts regenerate byte-for-byte. import { writeFileSync } from "node:fs"; +// Seeded PRNG (mulberry32) so typing jitter is reproducible — not Math.random(). +let _seed = 0x9e3779b9; +function rng() { + _seed = (_seed + 0x6d2b79f5) | 0; + let t = Math.imul(_seed ^ (_seed >>> 15), 1 | _seed); + t = (t + Math.imul(t ^ (t >>> 7), 61 | t)) ^ t; + return ((t ^ (t >>> 14)) >>> 0) / 4294967296; +} + const GREEN = "\x1b[1;32m"; const DIM = "\x1b[2m"; const CYAN = "\x1b[36m"; @@ -11,6 +22,7 @@ const RST = "\x1b[0m"; const PROMPT = `${GREEN}~/code/acme-api${RST} ${CYAN}$${RST} `; function build(steps, { width = 90, height = 26, title }) { + _seed = 0x9e3779b9; // reset per cast so each regenerates identically let t = 0.0; const ev = []; const out = (s) => ev.push([round(t), "o", s]); @@ -19,7 +31,7 @@ function build(steps, { width = 90, height = 26, title }) { const type = (cmd) => { out(PROMPT); - for (const ch of cmd) { wait(0.035 + Math.random() * 0.03); out(ch); } + for (const ch of cmd) { wait(0.035 + rng() * 0.03); out(ch); } wait(0.25); out(nl); }; @@ -72,7 +84,7 @@ const pair = build([ { comment: "Both agents attached — every message + handoff lands in the ledger.", pause: 1.4 }, ], { title: "ContextRelay — two agents, one ledger" }); -// ---- Cast 2: a real handoff, captured as evidence ------------------------ +// ---- Cast 2: a representative handoff, in real ctxrelay ledger format ----- const handoff = build([ { comment: "Claude finished a token-refresh change — wants a second pair of eyes.", pause: 1.1 }, { cmd: "ctxrelay ledger list", out: @@ -92,7 +104,7 @@ reason: finished the token-refresh change; want a second opinion before merge ask: review src/auth/refresh.ts for races and token-leak paths files: src/auth/refresh.ts, src/auth/refresh.test.ts`, pause: 2.0 }, { comment: "Independent cross-vendor review — durable, replayable evidence.", pause: 1.6 }, -], { title: "ContextRelay — a real Claude → Codex handoff" }); +], { title: "ContextRelay — a representative Claude → Codex handoff" }); const dir = process.argv[2] || "."; writeFileSync(`${dir}/contextrelay-pair.cast`, pair); diff --git a/website/docs/introduction/index.md b/website/docs/introduction/index.md index a27db7c..3ef3c72 100644 --- a/website/docs/introduction/index.md +++ b/website/docs/introduction/index.md @@ -15,6 +15,8 @@ Reach for ContextRelay when **one agent should implement while the other reviews ![ContextRelay running Claude Code and Codex as one pair, with a live shared ledger](/img/contextrelay-pair.gif) +*Scripted demo using real `ctxrelay` output format — paths, IDs, and timestamps are sanitized.* + :::info Current version These docs describe **ContextRelay 3.4.0**, the current release on [npm](https://www.npmjs.com/package/@proofofwork-agency/contextrelay). After upgrading the package, run [`ctxrelay upgrade`](../getting-started/upgrading-contextrelay.md) to reconcile your local setup. ::: @@ -55,6 +57,8 @@ Once they're paired, a handoff looks like this — Claude asks Codex for an inde ![A Claude-to-Codex review handoff recorded in the ContextRelay ledger](/img/contextrelay-handoff.gif) +*Scripted from the real `ctxrelay ledger` format; the scenario is representative.* + :::tip Three names, one CLI `contextrelay`, `ctxrelay`, and `context-relay` are the **same binary** - use whichever you prefer. This site uses `ctxrelay` for brevity. ::: diff --git a/website/static/img/contextrelay-handoff.gif b/website/static/img/contextrelay-handoff.gif index ebe9ee3d5b97fef106c75ce91e9da90d51ab48ab..6f2885535d068bc4bd45e2962f00c83ce145a7d3 100644 GIT binary patch delta 288 zcmcbygZ0J^)(sIVj4YcYRTxbgnQcPCkEJV)G)SgN#6B zDJFVM5Q*muikt7Be#*GH-olrKk#+M~o7aq!|6XR_yx%U54anDXO$E;f*pz5=C{CO ALjV8( delta 290 zcmcbygZ0J^)(sIVjBJ}DRTx8FgF>n(g)fLhMlyk?yI_cHtD{dRe5K$Uu~+)O~q%3X*J zDC_I10Mef47vcxx9iCIf546l|%}+5PWpH>p3y?Z-{0}P^*v_X6`xxXWKl~&-d5#6o z=C^16Faq_wI3^?}Z){kkWn41QIlOYsAFJzB&1Q2{Tae#-|n*p!V4Bx*)mk HpJ$T*Z~0?L diff --git a/website/static/img/contextrelay-pair.gif b/website/static/img/contextrelay-pair.gif index d899a7ade8b4021cccfccb7270f965a47b0bf839..aa8774bdcb2328dd9ec153ee0b279933099d7fa8 100644 GIT binary patch delta 226 zcmcb&nfcyk<_*=7jI5h$B&)fB)DM;Atc+}%7ig_xW@OpyulIlvC}?1y$Hd6IIo{|E zi05OX!UUuW&4gKiRI3#a6Hw(O8&gI`_RS}3T^WHqKKr{M?Qfh|Kq^1Fbg?n&ZLaaY z#R(J)5A9(G3OKxjovT< zDIXIRCZJ%UnJ^2GYPI44$xX5`Wn^UCe8SchMDf|*1!;fd!~#